[libimage-exiftool-perl] 01/05: New upstream version 10.31

gregor herrmann gregoa at debian.org
Sat Oct 29 20:50:48 UTC 2016


This is an automated email from the git hooks/post-receive script.

gregoa pushed a commit to branch master
in repository libimage-exiftool-perl.

commit 04d994ee6eae6fb8e04bd1b100c9e0f5fd3edf40
Author: gregor herrmann <gregoa at debian.org>
Date:   Sat Oct 29 22:27:14 2016 +0200

    New upstream version 10.31
---
 Changes                              |  121 +-
 MANIFEST                             |   16 +
 META.json                            |   51 +
 META.yml                             |   51 +-
 Makefile.PL                          |    8 +-
 README                               |   85 +-
 arg_files/xmp2exif.args              |   14 +-
 config_files/bibble.config           |  520 ++
 config_files/fotoware.config         |  114 +
 config_files/photoshop_paths.config  |   59 +-
 config_files/time_zone.config        |   56 +
 exiftool                             |  331 +-
 html/ExifTool.html                   |   83 +-
 html/Shift.html                      |   40 +-
 html/TagNames/Apple.html             |   18 +-
 html/TagNames/Canon.html             |  233 +-
 html/TagNames/Composite.html         |   31 +-
 html/TagNames/DarwinCore.html        |    5 +-
 html/TagNames/EXIF.html              |  332 +-
 html/TagNames/Extra.html             |    6 +-
 html/TagNames/FLAC.html              |  152 +-
 html/TagNames/FLIF.html              |   79 +
 html/TagNames/FLIR.html              |   14 +-
 html/TagNames/FujiFilm.html          |   80 +-
 html/TagNames/Jpeg2000.html          |    6 +-
 html/TagNames/Kodak.html             | 1584 +++---
 html/TagNames/MWG.html               |   27 +-
 html/TagNames/Matroska.html          |   97 +-
 html/TagNames/Microsoft.html         |   15 +-
 html/TagNames/Minolta.html           |   83 +-
 html/TagNames/Nikon.html             |  146 +-
 html/TagNames/NikonCustom.html       | 1386 ++++-
 html/TagNames/Olympus.html           |  258 +-
 html/TagNames/PLUS.html              |    5 +-
 html/TagNames/PNG.html               |   77 +-
 html/TagNames/Pentax.html            |    3 +-
 html/TagNames/PhotoMechanic.html     |    7 +-
 html/TagNames/QuickTime.html         |  132 +-
 html/TagNames/Samsung.html           |   71 +-
 html/TagNames/Sigma.html             |    7 +-
 html/TagNames/Sony.html              |  261 +-
 html/TagNames/Vorbis.html            |   76 +-
 html/TagNames/XMP.html               |  575 ++-
 html/TagNames/index.html             |   10 +-
 html/ancient_history.html            |   24 +-
 html/canon_raw.html                  |    5 +-
 html/data_members.html               |    3 +-
 html/exiftool_pod.html               |  166 +-
 html/faq.html                        |   20 +-
 html/filename.html                   |   46 +-
 html/geotag.html                     |    7 +-
 html/history.html                    |  103 +
 html/index.html                      |   49 +-
 html/install.html                    |   22 +-
 html/standards.html                  |    8 +-
 html/struct.html                     |   12 +-
 lib/Image/ExifTool.pm                |   70 +-
 lib/Image/ExifTool.pod               |  140 +-
 lib/Image/ExifTool/Apple.pm          |   44 +-
 lib/Image/ExifTool/BuildTagLookup.pm |  112 +-
 lib/Image/ExifTool/Canon.pm          |  228 +-
 lib/Image/ExifTool/CanonCustom.pm    |   18 +-
 lib/Image/ExifTool/Exif.pm           |  208 +-
 lib/Image/ExifTool/FLIF.pm           |  345 ++
 lib/Image/ExifTool/FLIR.pm           |   14 +-
 lib/Image/ExifTool/FujiFilm.pm       |   20 +
 lib/Image/ExifTool/Geotag.pm         |   74 +-
 lib/Image/ExifTool/HtmlDump.pm       |    3 +-
 lib/Image/ExifTool/ICC_Profile.pm    |   13 +
 lib/Image/ExifTool/Jpeg2000.pm       |   30 +-
 lib/Image/ExifTool/M2TS.pm           |    4 +-
 lib/Image/ExifTool/MIE.pm            |    4 +-
 lib/Image/ExifTool/MWG.pm            |   16 +-
 lib/Image/ExifTool/Matroska.pm       |   44 +-
 lib/Image/ExifTool/Microsoft.pm      |    6 +-
 lib/Image/ExifTool/Minolta.pm        |   95 +-
 lib/Image/ExifTool/MinoltaRaw.pm     |    5 +-
 lib/Image/ExifTool/Nikon.pm          |  250 +-
 lib/Image/ExifTool/NikonCustom.pm    | 1385 ++++-
 lib/Image/ExifTool/Olympus.pm        |    6 +-
 lib/Image/ExifTool/PNG.pm            |   36 +-
 lib/Image/ExifTool/Pentax.pm         |   15 +-
 lib/Image/ExifTool/PhotoMechanic.pm  |    4 +-
 lib/Image/ExifTool/QuickTime.pm      |   98 +-
 lib/Image/ExifTool/README            |   14 +-
 lib/Image/ExifTool/Samsung.pm        |  114 +-
 lib/Image/ExifTool/Shift.pl          |   33 +-
 lib/Image/ExifTool/Sigma.pm          |   16 +-
 lib/Image/ExifTool/Sony.pm           |   90 +-
 lib/Image/ExifTool/TagLookup.pm      | 9446 +++++++++++++++++-----------------
 lib/Image/ExifTool/TagNames.pod      |  917 +++-
 lib/Image/ExifTool/WriteExif.pl      |   16 +-
 lib/Image/ExifTool/WriteXMP.pl       |    1 +
 lib/Image/ExifTool/Writer.pl         |   47 +-
 lib/Image/ExifTool/XMP.pm            |   36 +-
 lib/Image/ExifTool/XMP2.pl           |   41 +-
 perl-Image-ExifTool.spec             |   74 +-
 t/Apple.t                            |   29 +
 t/Apple_2.out                        |   79 +
 t/FLIF.t                             |  132 +
 t/FLIF_2.out                         |   50 +
 t/FLIF_3.out                         |    5 +
 t/FLIF_4.out                         |   17 +
 t/FLIF_5.out                         |    4 +
 t/FLIF_6.out                         |    4 +
 t/FLIR_2.out                         |   12 +-
 t/Geotag.t                           |   14 +-
 t/Jpeg2000_2.out                     |   18 +-
 t/Jpeg2000_3.out                     |   11 +-
 t/Writer_11.out                      |   12 +-
 t/Writer_13.out                      |   12 +-
 t/Writer_19.out                      |   10 +-
 t/Writer_25.out                      |   10 +-
 t/Writer_46.out                      |   16 +-
 t/Writer_53.out                      |   12 +-
 t/images/Apple.jpg                   |  Bin 0 -> 2355 bytes
 t/images/FLIF.flif                   |  Bin 0 -> 674 bytes
 t/images/Jpeg2000.jp2                |  Bin 1954 -> 2028 bytes
 118 files changed, 14855 insertions(+), 7514 deletions(-)

diff --git a/Changes b/Changes
index 58782bd..2aba4d8 100644
--- a/Changes
+++ b/Changes
@@ -7,6 +7,103 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
 Note: The most recent production release is Version 10.20. (Other versions are
 considered development releases, and are not uploaded to CPAN.)
 
+Oct. 19, 2016 - Version 10.31
+
+  - Added write support for FLIF images
+  - Added support for animated PNG images
+  - Added a few new SamsungModelID values
+  - Added a new Canon LensType
+  - Added a new Sony/Minolta LensType (thanks Jos Roost)
+  - Decode more Samsung tags (thanks Klaus Homeister and Sreerag Raghavan)
+  - Decode more Nikon tags (thanks Warren Hatch)
+  - Changed "TAG does not exist" warning when writing to "TAG is not supported"
+  - Fixed problem importing information from CSV or JSON databases for files
+    with special characters in their name
+
+Oct. 13, 2016 - Version 10.30
+
+  - Added read support for FLIF images
+  - Added a couple of new Minolta/Sony LensType values (thanks Jos Roost)
+  - Added a new SonyModelID (thanks LibRaw and Jos Roost)
+  - Added a new digiKam XMP tag
+  - Decode a new Apple tag (thanks Neal Krawetz)
+  - Decode a few new FujiFilm tags (thanks Chris Schucker)
+  - Decode more Nikon D5 custom settings (thanks Warren Hatch)
+  - Decode a couple more Samsung tags (thanks Klaus Homeister)
+  - Improved decoding of Nikon D500/D5 ShotInfo information
+  - Enhanced -ver option to output system information when -v is added
+  - Minor change to parsing of -@ argfile (comment lines may may no longer have
+    spaces before the "#")
+  - Patched Jpeg2000 reader to read bad UUID-EXIF boxes
+  - Lowered priority of unknown XMP tags when reading
+  - Fixed problem in new xmp2exif.args date/time arguments introduced in 10.28
+  - Fixed potential "Use of uninitialized value" warning when decoding
+    compressed PNG iTXt chunk
+
+Oct. 5, 2016 - Version 10.29
+
+  - Added a couple of new Sony LensType values (thanks LibRaw)
+  - Decode a few new Sony tags
+  - Decode a few new FLIR tags
+  - Decode some new Nikon D5 tags (thanks Warren Hatch)
+  - Decode a new Apple tag
+  - Enhanced -geotag option to allow tagging from KML placemarks with a TimeSpan
+  - Enhanced -d option (and API DateFormat option) to perform inverse date/time
+    conversion when writing if the POSIX::strptime module is available.  If
+    POSIX::strptime is not available then the behaviour is like older versions
+    (ie. the date/time is not converted) unless the API StrictDate option is set
+    in which case a warning is issued and the tag is not written
+
+Sept. 27, 2016 - Version 10.28 - "EXIF 2.31"
+
+  - Added support for new EXIF 2.31 tags
+  - Added some new Canon LensType values (thanks Norbert Wasser for one)
+  - Added a new Olympus LensType (thanks LibRaw and Niels Kristian Bech Jensen)
+  - Added a new Sony LensType and SonyModelID (thanks Jos Roost)
+  - Added a new Pentax LensType
+  - Added fotoware.config and bibble.config files to the distribution
+  - Made Composite SubSecDateTimeOriginal, SubSecCreateDate and SubSecModifyDate
+    tags writable, and expanded to include new EXIF 2.31 time zone tags
+  - Fixed problem writing user-defined structured tag elements with a dot (.) in
+    their tag ID
+
+Sept. 23, 2016 - Version 10.27
+
+  - Added a new CanonModelID (thanks LibRaw)
+  - Added a new Sony LensType (thanks Jos Roost)
+  - Added a few new NikonLensID's (thanks Yang You and Robert Rottmerhusen)
+  - Added a couple of new Olympus LensType values (thanks LibRaw and Niels
+    Kristian Bech Jensen)
+  - Added a new Olympus CameraType
+  - Decode some Canon 80D, 750D, 760D and 1200D CameraInfo tags
+  - Changed writing of some ExposureTime and ExposureCompensation tags to allow
+    the exact numerator and denominator of the stored rational value to be
+    specified
+  - Fixed Timecode printout in -v3 output for M2TS videos (thanks Ken Neighbors)
+  - Fixed some problems with the new "-progress:TITLE" feature
+  - Fixed problem where "_exiftool_tmp" file could be left around after a failed
+    write attempt
+  - Fixed potential "isn't numeric" runtime error when reading a PDF file with
+    the -ee option
+
+Sept. 15, 2016 - Version 10.26
+
+  - Added read support for GSpherical metadata in MP4 videos
+  - Added a few new XMP-xmpMM tags and a new XMP-crs tag
+  - Added some new Minolta/Sony lenses (thanks Jos Roost)
+  - Added two new CanonModelID's (thanks Norbert Wasser and Laurent Clevy)
+  - Added two new Canon LensType's (thanks Norbert Wasser)
+  - Decode a number of Nikon D610 custom settings (thanks Tor)
+  - Removed a questionable Samsung tag
+  - Marked TestName tag as "Unsafe" for writing
+  - Enhanced -progress option with ability to set console window title
+  - Changed behaviour of %C to increment for each processed file as documented
+    (was incrementing for each output file created)
+  - Patched to recreate XMP in the standard location of PNG images when deleting
+    certain non-standard XMP as a group and recreating in one step
+  - Fixed runtime warning when writing 0 to MinoltaRaw ISOSetting
+  - Fixed problem writing SRW images from some newer Samsung models
+
 Aug. 3, 2016 - Version 10.25
 
   - Added a new Pentax PictureMode (thanks Louis Granboulan)
@@ -250,7 +347,7 @@ Dec. 22, 2015 - Version 10.08
   - Fixed bug in HtmlDump feature that could cause a "substr outside of string"
     error
   - API Changes:
-      - Changed QuickTimeUTC API option to also enforce proper time zero
+      - Changed API QuickTimeUTC option to also enforce proper time zero
 
 Nov. 26, 2015 - Version 10.07
 
@@ -356,7 +453,7 @@ July 23, 2015 - Version 9.99
   - Added two new SonyModelID's (thanks Jos Roost for one)
   - Added two new Sony LensType2 values (thanks Jos Roost)
   - Added a new Pentax LensType
-  - Extract a number of new File System tags when SystemTags API option is set
+  - Extract a number of new File System tags when API SystemTags option is set
   - Decode a new FujiFilm tag (thanks TonyB)
   - Decode a number of new Sony tags (thanks Jos Roost)
   - Disabled writing of XMP to PostScript-format Adobe Illustrator files
@@ -677,7 +774,7 @@ Nov. 15, 2014 - Version 9.76 (production release)
   - Improved warning message if "DIR" or "FILE" is used literally on the command
     line
   - Improved "-j -b" output to encode any non-UTF8 values as Base64
-  - Enhanced -fast option (FastScan API option) to allow file processing to be
+  - Enhanced -fast option (API FastScan option) to allow file processing to be
     bypassed entirely
   - Changed conversions for a couple of Nikon 1 AF tags for consistency
   - Changed reported FileType for LNK, KEY, KTH, NUMBERS, NMBTEMPLATE and PAGES
@@ -5734,7 +5831,7 @@ Jan. 6, 2006 - Version 5.90
   - Made Photoshop:XResolution and Photoshop:YResolution writable
   - Fixed problem with processing some RIFF files
   - Added a new Canon LensType
-  - API changes:
+  - API Changes:
       - SetNewValue() now accepts an ARRAY reference for setting list-type tags
         such as Keywords, or a SCALAR reference for binary data, so it may now
         be called directly with any value returned by GetValue().
@@ -5800,7 +5897,7 @@ Dec. 12, 2005 - Version 5.83
     and David Buret)
   - Decode PrintIM information in Casio QV-4000
   - Fixed Decoding of Canon EOS D60 serial numbers to agree with Canon utilities
-  - API changes:
+  - API Changes:
       - Added HtmlDump and TextOut options
 
 Nov. 26, 2005 - Version 5.82
@@ -7201,7 +7298,7 @@ Mar. 1, 2004 - Version 3.15
   - Improvements to TIFF processing
   - Set value to "Undefined" if PrintConv evaluates to undefined value
   - Added -G option
-  - API changes:
+  - API Changes:
       - Changed all option names: shortened and changed to mixed case (sorry!)
   - Internal changes:
       - Standardized arguments to all processing procedures
@@ -7233,7 +7330,7 @@ Feb. 25, 2004 - Version 3.11
   - Improve XMP parsing for 'Bag' elements
   - Capitalize first letter of XMP tag descriptions
   - Patch problem with APP13 resource written by older Photoshop versions
-  - API changes:
+  - API Changes:
       - Added EXCLUDE and GROUP# options
       - Change default value of SAVE_DUPLICATES option to 1
 
@@ -7241,7 +7338,7 @@ Feb. 20, 2004 - Version 3.10
 
   - Restructuring only -- the behaviour of the exiftool script was not changed
   - Moved html documentation to new html directory
-  - API changes:
+  - API Changes:
       - Conform to standard Perl module mechanics:
           - Changed ExifTool package name to Image::ExifTool
           - Added Makefile.PL and other standard files
@@ -7268,7 +7365,7 @@ Feb. 17, 2004 - Version 3.03
     File::RandomAccessFile)
   - Added IxusAFPoint tag to Canon maker notes
   - Avoid scanning past end of Canon binary data blocks
-  - API changes:
+  - API Changes:
       - GetFoundTags() and GetRequestedTags() now return list instead of list
         reference
 
@@ -7278,7 +7375,7 @@ Feb. 16, 2004 - Version 3.02
 
 Feb. 15, 2004 - Version 3.01
 
-  - API changes:
+  - API Changes:
       - Added GetValue() function
       - Completed API documentation
 
@@ -7287,7 +7384,7 @@ Feb. 13, 2004 - Version 3.00
   - Removed -all option (it is now the default -- specify -common for previous
     default behaviour)
   - Added -a option to allow printout of duplicate tag values
-  - API changes:
+  - API Changes:
       - I am finally happy with the API, so future major changes are less likely
         (hence the major version number)
       - No longer return ARRAY reference for list of tags (Instead, tag values
@@ -7300,7 +7397,7 @@ Feb. 13, 2004 - Version 3.00
 Feb. 12, 2004 - Version 2.71
 
   - Still more playing with Pentax maker notes
-  - More API changes:
+  - More API Changes:
       - Added RandomAccessFile.pm
       - All image file i/o now done through a RandomAccessFile object
         --> allows proper piping and use of string i/o
diff --git a/MANIFEST b/MANIFEST
index fdc5e22..3d60cad 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,5 +1,6 @@
 Changes
 MANIFEST
+META.json
 META.yml
 Makefile.PL
 README
@@ -14,11 +15,14 @@ arg_files/xmp2exif.args
 arg_files/xmp2gps.args
 arg_files/xmp2iptc.args
 arg_files/xmp2pdf.args
+config_files/bibble.config
 config_files/convert_regions.config
 config_files/example.config
+config_files/fotoware.config
 config_files/gps2utm.config
 config_files/photoshop_paths.config
 config_files/picasa_faces.config
+config_files/time_zone.config
 exiftool
 fmt_files/gpx.fmt
 fmt_files/gpx_wpt.fmt
@@ -52,6 +56,7 @@ html/TagNames/EXE.html
 html/TagNames/EXIF.html
 html/TagNames/Extra.html
 html/TagNames/FLAC.html
+html/TagNames/FLIF.html
 html/TagNames/FLIR.html
 html/TagNames/Flash.html
 html/TagNames/FlashPix.html
@@ -236,6 +241,7 @@ lib/Image/ExifTool/DjVu.pm
 lib/Image/ExifTool/EXE.pm
 lib/Image/ExifTool/Exif.pm
 lib/Image/ExifTool/FLAC.pm
+lib/Image/ExifTool/FLIF.pm
 lib/Image/ExifTool/FLIR.pm
 lib/Image/ExifTool/Fixup.pm
 lib/Image/ExifTool/Flash.pm
@@ -385,6 +391,8 @@ t/APE_2.out
 t/APE_3.out
 t/ASF.t
 t/ASF_2.out
+t/Apple.t
+t/Apple_2.out
 t/Audible.t
 t/Audible_2.out
 t/BMP.t
@@ -471,6 +479,12 @@ t/ExifTool_9.out
 t/FLAC.t
 t/FLAC_2.out
 t/FLAC_3.out
+t/FLIF.t
+t/FLIF_2.out
+t/FLIF_3.out
+t/FLIF_4.out
+t/FLIF_5.out
+t/FLIF_6.out
 t/FLIR.t
 t/FLIR_2.out
 t/FLIR_3.out
@@ -828,6 +842,7 @@ t/images/AIFF.aif
 t/images/APE.ape
 t/images/APE.mpc
 t/images/ASF.wmv
+t/images/Apple.jpg
 t/images/Audible.aa
 t/images/BMP.bmp
 t/images/BPG.bpg
@@ -858,6 +873,7 @@ t/images/ExifTool.tif
 t/images/ExtendedXMP.jpg
 t/images/FLAC.flac
 t/images/FLAC.ogg
+t/images/FLIF.flif
 t/images/FLIR.fpf
 t/images/FLIR.jpg
 t/images/Flash.flv
diff --git a/META.json b/META.json
new file mode 100644
index 0000000..be0ce0f
--- /dev/null
+++ b/META.json
@@ -0,0 +1,51 @@
+{
+   "abstract" : "Read and write meta information",
+   "author" : [
+      "Phil Harvey (phil at owl.phy.queensu.ca)"
+   ],
+   "dynamic_config" : 1,
+   "generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380",
+   "license" : [
+      "perl_5"
+   ],
+   "meta-spec" : {
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
+   },
+   "name" : "Image-ExifTool",
+   "no_index" : {
+      "directory" : [
+         "t",
+         "inc"
+      ]
+   },
+   "prereqs" : {
+      "build" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "0"
+         }
+      },
+      "runtime" : {
+         "recommends" : {
+            "Archive::Zip" : "0",
+            "Compress::Zlib" : "0",
+            "Digest::MD5" : "0",
+            "Digest::SHA" : "0",
+            "IO::Compress::RawDeflate" : "0",
+            "IO::Uncompress::RawInflate" : "0",
+            "POSIX::strptime" : "0",
+            "Time::HiRes" : "0"
+         },
+         "requires" : {
+            "perl" : "5.004"
+         }
+      }
+   },
+   "release_status" : "stable",
+   "version" : "10.31"
+}
diff --git a/META.yml b/META.yml
index a98cd6b..f1c734b 100644
--- a/META.yml
+++ b/META.yml
@@ -1,28 +1,31 @@
---- #YAML:1.0
-name:               Image-ExifTool
-version:            10.25
-abstract:           Read and write meta information
+---
+abstract: 'Read and write meta information'
 author:
-    - Phil Harvey (phil at owl.phy.queensu.ca)
-license:            perl
-distribution_type:  module
-configure_requires:
-    ExtUtils::MakeMaker:  0
+  - 'Phil Harvey (phil at owl.phy.queensu.ca)'
 build_requires:
-    ExtUtils::MakeMaker:  0
-requires:
-    perl:  5.004
-no_index:
-    directory:
-        - t
-        - inc
-generated_by:       ExtUtils::MakeMaker version 6.56
+  ExtUtils::MakeMaker: 0
+configure_requires:
+  ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.133380'
+license: perl
 meta-spec:
-    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
-    version:  1.4
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Image-ExifTool
+no_index:
+  directory:
+    - t
+    - inc
 recommends:
-    Archive::Zip:    0
-    Compress::Zlib:  0
-    Digest::MD5:     0
-    Digest::SHA:     0
-    Time::HiRes:     0
+  Archive::Zip: 0
+  Compress::Zlib: 0
+  Digest::MD5: 0
+  Digest::SHA: 0
+  IO::Compress::RawDeflate: 0
+  IO::Uncompress::RawInflate: 0
+  POSIX::strptime: 0
+  Time::HiRes: 0
+requires:
+  perl: 5.004
+version: 10.31
diff --git a/Makefile.PL b/Makefile.PL
index d7d4b87..3c11239 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -15,7 +15,10 @@ WriteMakefile(
             "    Compress::Zlib:  0\n" .
             "    Digest::MD5:     0\n" .
             "    Digest::SHA:     0\n" .
-            "    Time::HiRes:     0\n" ,
+            "    Time::HiRes:     0\n" .
+            "    POSIX::strptime: 0\n" .
+            "    IO::Compress::RawDeflate:   0\n" .
+            "    IO::Uncompress::RawInflate: 0\n" ,
           # (not worth recommending -- only for column alignment of some languages)
           #  "    Unicode::LineBreak: 0\n",
           # (not worth recommending -- only for Rawzor files)
@@ -29,6 +32,9 @@ WriteMakefile(
                 'Digest::MD5'    => 0,
                 'Digest::SHA'    => 0,
                 'Time::HiRes'    => 0,
+                'POSIX::strptime' => 0,
+                'IO::Compress::RawDeflate'   => 0,
+                'IO::Uncompress::RawInflate' => 0,
               # 'Unicode::LineBreak' => 0,
               # 'IO::Compress::Bzip2' => 0,
             },
diff --git a/README b/README
index 33529e8..444d696 100644
--- a/README
+++ b/README
@@ -14,42 +14,42 @@ supported by ExifTool (r = read, w = write, c = create):
 
   File Types
   ------------+-------------+-------------+-------------+------------
-  3FR   r     | DV    r     | KDC   r     | OGV   r     | RW2   r/w
-  3G2   r/w   | DVB   r/w   | KEY   r     | OPUS  r     | RWL   r/w
-  3GP   r/w   | DYLIB r     | LA    r     | ORF   r/w   | RWZ   r
-  A     r     | EIP   r     | LFP   r     | OTF   r     | RM    r
-  AA    r     | EPS   r/w   | LNK   r     | PAC   r     | SEQ   r
-  AAX   r/w   | EPUB  r     | M2TS  r     | PAGES r     | SO    r
-  ACR   r     | ERF   r/w   | M4A/V r/w   | PBM   r/w   | SR2   r/w
-  AFM   r     | EXE   r     | MEF   r/w   | PCD   r     | SRF   r
-  AI    r/w   | EXIF  r/w/c | MIE   r/w/c | PDB   r     | SRW   r/w
-  AIFF  r     | EXR   r     | MIFF  r     | PDF   r/w   | SVG   r
-  APE   r     | EXV   r/w/c | MKA   r     | PEF   r/w   | SWF   r
-  ARW   r/w   | F4A/V r/w   | MKS   r     | PFA   r     | THM   r/w
-  ASF   r     | FFF   r/w   | MKV   r     | PFB   r     | TIFF  r/w
-  AVI   r     | FLA   r     | MNG   r/w   | PFM   r     | TORRENT r
-  AZW   r     | FLAC  r     | MOBI  r     | PGF   r     | TTC   r
-  BMP   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
-  BPG   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
-  BTF   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
-  CHM   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
-  COS   r     | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
-  CR2   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
-  CRW   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
-  CS1   r/w   | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
-  DCM   r     | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
-  DCP   r/w   | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
-  DCR   r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
-  DFONT r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
-  DIVX  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
-  DJVU  r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
-  DLL   r     | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
-  DNG   r/w   | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
-  DOC   r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
-  DOCX  r     | JNG   r/w   | ODS   r     | RAW   r/w   |
-  DPX   r     | JP2   r/w   | ODT   r     | RIFF  r     |
-  DR4   r/w/c | JPEG  r/w   | OFR   r     | RSRC  r     |
-  DSS   r     | K25   r     | OGG   r     | RTF   r     |
+  3FR   r     | DV    r     | K25   r     | OGG   r     | RTF   r
+  3G2   r/w   | DVB   r/w   | KDC   r     | OGV   r     | RW2   r/w
+  3GP   r/w   | DYLIB r     | KEY   r     | OPUS  r     | RWL   r/w
+  A     r     | EIP   r     | LA    r     | ORF   r/w   | RWZ   r
+  AA    r     | EPS   r/w   | LFP   r     | OTF   r     | RM    r
+  AAX   r/w   | EPUB  r     | LNK   r     | PAC   r     | SEQ   r
+  ACR   r     | ERF   r/w   | M2TS  r     | PAGES r     | SO    r
+  AFM   r     | EXE   r     | M4A/V r/w   | PBM   r/w   | SR2   r/w
+  AI    r/w   | EXIF  r/w/c | MEF   r/w   | PCD   r     | SRF   r
+  AIFF  r     | EXR   r     | MIE   r/w/c | PDB   r     | SRW   r/w
+  APE   r     | EXV   r/w/c | MIFF  r     | PDF   r/w   | SVG   r
+  ARW   r/w   | F4A/V r/w   | MKA   r     | PEF   r/w   | SWF   r
+  ASF   r     | FFF   r/w   | MKS   r     | PFA   r     | THM   r/w
+  AVI   r     | FLA   r     | MKV   r     | PFB   r     | TIFF  r/w
+  AZW   r     | FLAC  r     | MNG   r/w   | PFM   r     | TORRENT r
+  BMP   r     | FLIF  r/w   | MOBI  r     | PGF   r     | TTC   r
+  BPG   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
+  BTF   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
+  CHM   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
+  COS   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
+  CR2   r/w   | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
+  CRW   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
+  CS1   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
+  DCM   r     | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
+  DCP   r/w   | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
+  DCR   r     | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
+  DFONT r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
+  DIVX  r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
+  DJVU  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
+  DLL   r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
+  DNG   r/w   | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
+  DOC   r     | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
+  DOCX  r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
+  DPX   r     | JNG   r/w   | ODS   r     | RAW   r/w   |
+  DR4   r/w/c | JP2   r/w   | ODT   r     | RIFF  r     |
+  DSS   r     | JPEG  r/w   | OFR   r     | RSRC  r     |
 
   Meta Information
   ----------------------+----------------------+---------------------
@@ -101,8 +101,8 @@ your home directory, then you would type the following commands in a
 terminal window to extract and run ExifTool:
 
   cd ~/Desktop
-  gzip -dc Image-ExifTool-10.25.tar.gz | tar -xf -
-  cd Image-ExifTool-10.25
+  gzip -dc Image-ExifTool-10.31.tar.gz | tar -xf -
+  cd Image-ExifTool-10.31
   ./exiftool t/images/ExifTool.jpg
 
 Note:  These commands extract meta information from one of the test images. 
@@ -145,10 +145,13 @@ for calculating digest values and providing other features listed below:
   Digest::SHA          (PDF with AES-256 encryption)
   IO::Compress::Bzip2  (RWZ files)
   Time::HiRes          (for generating ProcessingTime tag)
+  POSIX::strptime      (for inverse date/time conversion)
   Unicode::LineBreak   (for column alignment of alternate-language output)
   Win32::API           (for proper handling of Windows file times)
   Win32::FindFile      (for Windows Unicode directory support, app only)
   Win32API::File       (for Windows Unicode file names and file times)
+  IO::Compress::RawDeflate   (for writing FLIF images)
+  IO::Uncompress::RawInflate (for reading FLIF images)
 
 COPYRIGHT AND LICENSE
 
@@ -164,7 +167,8 @@ distribution package:
 
   Changes                   - Revision history
   MANIFEST                  - Full list of distribution files
-  META.yml                  - Standard CPAN dependency file
+  META.json                 - Standard CPAN dependency file (JSON format)
+  META.yml                  - Standard CPAN dependency file (YAML format)
   Makefile.PL               - Makefile for installation
   README                    - This file
   arg_files/                - Argument files to convert metadata formats:
@@ -180,11 +184,14 @@ distribution package:
     xmp2iptc.args             - Arguments for converting XMP to IPTC
     xmp2pdf.args              - Arguments for converting XMP to PDF
   config_files/             - Sample ExifTool configuration files:
+    bibble.config             - Definitions for writing Bibble XMP tags
     convert_regions.config    - Convert between MWG and MP face regions
     example.config            - General example showing config features
+    fotoware.config           - Definitions for writing Fotoware XMP tags
     gps2utm.config            - Generate UTM coordinate tags from GPS info
     photoshop_paths.config    - For extracting or copying Photoshop paths
     picasa_faces.config       - Convert from Picasa to MWG/MP face regions
+    time_zone.config          - Calcuate time zone from EXIF tags
   exiftool                  - The exiftool application (Perl script)
   fmt_files/                - Output formatting example files:
     gpx.fmt                   - Format file for creating GPX track
diff --git a/arg_files/xmp2exif.args b/arg_files/xmp2exif.args
index 31bb76b..0f1f28b 100644
--- a/arg_files/xmp2exif.args
+++ b/arg_files/xmp2exif.args
@@ -5,12 +5,13 @@
 #
 # Usage:        exiftool -tagsFromFile SRCFILE -@ xmp2exif.args DSTFILE
 #
-# Requires:     ExifTool version 8.60 or later
+# Requires:     ExifTool version 10.28 or later
 #
 # Revisions:    2009/01/20 - P. Harvey Created
 #               2011/06/22 - PH Copy flash information via Composite:Flash
 #               2013/06/12 - PH Additions for the Exif 2.3 for XMP spec
 #               2015/01/12 - PH Avoid copying from non-standard namespaces
+#               2016/09/26 - PH Write Composite SubSec tags
 #
 # References:   http://www.metadataworkinggroup.org/specs/
 #
@@ -27,12 +28,11 @@
 -EXIF:all < XMP-tiff:all
 -EXIF:ImageDescription < XMP-dc:Description
 -EXIF:DateTimeOriginal < XMP-photoshop:DateCreated
-# magically extracts sub-seconds from date/time value if available
--EXIF:SubSecTimeOriginal < XMP-photoshop:DateCreated
--EXIF:CreateDate < XMP-xmp:CreateDate
--EXIF:SubSecTimeDigitized < XMP-xmp:CreateDate
--EXIF:ModifyDate < XMP-xmp:ModifyDate
--EXIF:SubSecTime < XMP-xmp:ModifyDate
+# the following 3 SubSec tags also write/delete the corresponding EXIF
+# SubSecTime and OffsetTime tags as appropriate
+-Composite:SubSecDateTimeOriginal < XMP-photoshop:DateCreated
+-Composite:SubSecCreateDate < XMP-xmp:CreateDate
+-Composite:SubSecModifyDate < XMP-xmp:ModifyDate
 -EXIF:Software < -XMP-xmp:CreatorTool
 -EXIF:Copyright < XMP-dc:Rights
 -EXIF:Artist < XMP-dc:Creator
diff --git a/config_files/bibble.config b/config_files/bibble.config
new file mode 100644
index 0000000..063f5bc
--- /dev/null
+++ b/config_files/bibble.config
@@ -0,0 +1,520 @@
+#------------------------------------------------------------------------------
+# File:         bibble.config
+#
+# Description:  This config file defines Bibble XMP tags for writing.
+#
+# Usage:        exiftool -config bibble.config -BIBBLETAG=VALUE FILE ...
+#
+# Requires:     ExifTool version 10.28 or later
+#
+# Revisions:    2016/09/25 - P. Harvey Created
+#------------------------------------------------------------------------------
+
+%Image::ExifTool::UserDefined = (
+  'Image::ExifTool::XMP::Main' => {
+    dmf => {
+      SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::dmf' },
+    },
+  },
+);
+
+%Image::ExifTool::UserDefined::dmf = (
+  GROUPS        => { 0 => 'XMP', 1 => 'XMP-dmf', 2 => 'Image' },
+  NAMESPACE     => { 'dmf' => 'http://www.bibblelabs.com/DigitalMasterFile/1.0/' },
+  WRITABLE      => 'string',
+  versionCount => {
+    Name => 'DMFCount',
+    Writable => 'integer',
+  },
+  versions => {
+    Name => 'DMF',
+    List => 'Seq',
+    Struct => {
+      NAMESPACE => { 'dmfversion' => 'http://www.bibblelabs.com/DigitalMasterFileVersion/1.0/' },
+      software => { },
+      softwareVersion => { },
+      versionName => { },
+      settings => {
+        Struct => {
+          NAMESPACE => { 'bset' => 'http://www.bibblelabs.com/BibbleSettings/5.0/' },
+          settingsVersion => { },
+          respectsTransform => { },
+          curLayer => { },
+          layers => {
+            List => 'Seq',
+            Struct => {
+              NAMESPACE => { 'blay' => 'http://www.bibblelabs.com/BibbleLayers/5.0/' },
+              layerId => { },
+              layerPos => { },
+              name => { },
+              enabled => { },
+              options => {
+                Struct => {
+                  NAMESPACE => { 'bopt' => 'http://www.bibblelabs.com/BibbleOpt/5.0/' },
+                  'optionchanged' => { },
+                  'hasSettings' => { },
+                  'metaDirty' => { },
+                  'version' => { },
+                  'colormode' => { },
+                  'colormode' => { },
+                  'workingspace' => { },
+                  'whiteauto' => { },
+                  'whitetype' => { },
+                  'lwhitetype' => { },
+                  'lmr' => { },
+                  'lmb' => { },
+                  'whitered' => { },
+                  'whitegreen' => { },
+                  'whiteblue' => { },
+                  'whiteowbr' => { },
+                  'whiteowbb' => { },
+                  'autolevel' => { },
+                  'shadowval' => { },
+                  'highlightval' => { },
+                  'exposureval' => { },
+                  'highlightrecval' => { },
+                  'highlightrange' => { },
+                  'blackPoint' => { },
+                  'fillamount' => { },
+                  'fillrange' => { },
+                  'autorotate' => { },
+                  'rotateangle' => { },
+                  'sharpensense' => { },
+                  'newsharpen' => { },
+                  'sharpenon' => { },
+                  'pcenabled' => { },
+                  'pctintmeta' => { },
+                  'PCNOn' => { },
+                  'PCNPreset' => { },
+                  'PCNStrength' => { },
+                  'PCNDetail' => { },
+                  'red' => { },
+                  'green' => { },
+                  'blue' => { },
+                  'sat' => { },
+                  'cont' => { },
+                  'hue' => { },
+                  'vibe' => { },
+                  'useHSL' => { },
+                  'useHSV' => { },
+                  'invertRegions' => { },
+                  'layerOpacity' => { },
+                  'selective_color' => { },
+                  'curveson' => { },
+                  'curves_m_cn' => { },
+                  'curves_m_cy' => { },
+                  'curves_m_cx' => { },
+                  'curves_m_imid' => { },
+                  'curves_m_olo' => { },
+                  'curves_m_ilo' => { },
+                  'curves_m_ihi' => { },
+                  'curves_m_ohi' => { },
+                  'kelvin' => { },
+                  'tint' => { },
+                  'okelvin' => { },
+                  'otint' => { },
+                  'lkelvin' => { },
+                  'ltint' => { },
+                  'ckelvin' => { },
+                  'ctint' => { },
+                  'cropon' => { },
+                  'croplocked' => { },
+                  'cropstyle' => { },
+                  'cropleft' => { },
+                  'croptop' => { },
+                  'cropheight' => { },
+                  'cropwidth' => { },
+                  'cropdpi' => { },
+                  'cropstickydpi' => { },
+                  'cropstickyx' => { },
+                  'cropstickyy' => { },
+                  'cropmenuitem' => { },
+                  'croppercent' => { },
+                  'Date' => { },
+                  'DigitizedDateTime' => { },
+                  'title' => { },
+                  'Priority' => { },
+                  'Category' => { },
+                  'SupplementalCategory' => { },
+                  'creator' => { },
+                  'AuthorsPosition' => { },
+                  'rights' => { },
+                  'Credit' => { },
+                  'description' => { },
+                  'CaptionWriter' => { },
+                  'City' => { },
+                  'State' => { },
+                  'Country' => { },
+                  'CountryCode' => { },
+                  'Headline' => { },
+                  'Instructions' => { },
+                  'TransmissionReference' => { },
+                  'Source' => { },
+                  'subject' => { },
+                  'IntellectualGenre' => { },
+                  'CiAdrCity' => { },
+                  'CiAdrCtry' => { },
+                  'CiAdrExtadr' => { },
+                  'CiAdrPcode' => { },
+                  'CiAdrRegion' => { },
+                  'CiEmailWork' => { },
+                  'CiTelWork' => { },
+                  'CiUrlWork' => { },
+                  'UsageTerms' => { },
+                  'Location' => { },
+                  'SubjectCode' => { },
+                  'Scene' => { },
+                  'tag' => { },
+                  'keywordlist' => { },
+                  'rating' => { },
+                  'label' => { },
+                  'warpon' => { },
+                  'warpa' => { },
+                  'warpb' => { },
+                  'warpc' => { },
+                  'warpresize' => { },
+                  'warpfocal' => { },
+                  'warpcaon' => { },
+                  'warpcarc' => { },
+                  'warpcaby' => { },
+                  'vignetteon' => { },
+                  'vignetterad' => { },
+                  'vignetteamt' => { },
+                  'profilemake' => { },
+                  'profilemodel' => { },
+                  'profilelens' => { },
+                  'lens' => { },
+                  'GPSVersionID' => { },
+                  'GPSLatitude' => { },
+                  'GPSLongitude' => { },
+                  'GPSAltitudeRef' => { },
+                  'GPSAltitude' => { },
+                  'GPSTimeStamp' => { },
+                  'GPSSatellites' => { },
+                  'GPSStatus' => { },
+                  'GPSMeasureMode' => { },
+                  'GPSDateStamp' => { },
+                  'GPSMapDatum' => { },
+                  'GPSAreaInformation' => { },
+                  'GPSProcessingMethod' => { },
+                  'bMirrorOn' => { },
+                  'bInvertOn' => { },
+                  'rn_enabled' => { },
+                  'rn_smooth_enabled' => { },
+                  'rn_threshold' => { },
+                  'rn_limit' => { },
+                  'lc_enabled' => { },
+                  'lc_radius' => { },
+                  'lc_strength' => { },
+                  'lc_debug' => { },
+                  'enableInputProfile' => { },
+                  'inputProfile' => { },
+                  'redeyeSize' => { },
+                  'redeyeTrack' => { },
+                  'redeyeTrackStra' => { },
+                  'redeyeTrackCrop' => { },
+                  'redeyeEnable' => { },
+                  'watermark_mode' => { },
+                  'watermark_imageFilename' => { },
+                  'watermark_text' => { },
+                  'watermark_fontName' => { },
+                  'watermark_fontColor' => { },
+                  'watermark_fontItalic' => { },
+                  'watermark_fontUnderline' => { },
+                  'watermark_fontBold' => { },
+                  'watermark_fontStrikeout' => { },
+                  'watermark_alignment' => { },
+                  'watermark_basesize' => { },
+                  'watermark_rotation' => { },
+                  'watermark_size' => { },
+                  'watermark_hpos' => { },
+                  'watermark_vpos' => { },
+                  'watermark_opacity' => { },
+                  'watermark_hskew' => { },
+                  'watermark_vskew' => { },
+                  'watermark_hproject' => { },
+                  'watermark_vproject' => { },
+                  'watermark_hstretch' => { },
+                  'watermark_vstretch' => { },
+                  'watermark_enabled' => { },
+                  'ferd.bez_enabled' => { },
+                  'ferd.bez_Early' => { },
+                  'ferd.bez_HCL' => { },
+                  'ferd.bez_opacity' => { },
+                  'ferd.bez_saturation' => { },
+                  'ferd.bez_lighten' => { },
+                  'ferd.bez_lightengamma' => { },
+                  'ferd.bez_midi' => { },
+                  'ferd.bez_sigcontrast' => { },
+                  'ferd.bez_sigmiddle' => { },
+                  'ferd.bez_shadows' => { },
+                  'ferd.bez_lowmids' => { },
+                  'ferd.bez_greys' => { },
+                  'ferd.bez_highmids' => { },
+                  'ferd.bez_highlights' => { },
+                  'ferd.bez_shadows4' => { },
+                  'ferd.bez_lowmids4' => { },
+                  'ferd.bez_highmids4' => { },
+                  'ferd.bez_highlights4' => { },
+                  'ferd.ferd_bez_enabled' => { },
+                  'ferd.ferd_bez_RGB' => { },
+                  'ferd.ferd_bez_BW' => { },
+                  'ferd.ferd_bez_lighten' => { },
+                  'ferd.ferd_bez_lightengamma' => { },
+                  'ferd.ferd_bez_midi' => { },
+                  'ferd.ferd_bez_blak' => { },
+                  'ferd.ferd_bez_sigcontrast' => { },
+                  'ferd.ferd_bez_sigmiddle' => { },
+                  'ferd.ferd_bez_contrast' => { },
+                  'ferd.ferd_bez_centre' => { },
+                  'ferd.ferd_bez_shadows' => { },
+                  'ferd.ferd_bez_lowmids' => { },
+                  'ferd.ferd_bez_greys' => { },
+                  'ferd.ferd_bez_highmids' => { },
+                  'ferd.ferd_bez_highlights' => { },
+                  'ferd.ferd_bez_shadows4' => { },
+                  'ferd.ferd_bez_lowmids4' => { },
+                  'ferd.ferd_bez_highmids4' => { },
+                  'ferd.ferd_bez_highlights4' => { },
+                  'Grid_kb.thirds' => { },
+                  'Grid_kb.goldenrat' => { },
+                  'Grid_kb.goldenspir' => { },
+                  'Grid_kb.squaregrid' => { },
+                  'Grid_kb.spiralcenter' => { },
+                  'Grid_kb.gridsize' => { },
+                  'Grid_kb.gridxcenter' => { },
+                  'Grid_kb.gridycenter' => { },
+                  'Mix3.mix3_enabled' => { },
+                  'Mix3.mix3_early' => { },
+                  'Mix3.mix3_exposure' => { },
+                  'Mix3.mix3_red' => { },
+                  'Mix3.mix3_green' => { },
+                  'Mix3.mix3_blue' => { },
+                  'SiliconBonk.SiliconBonkOn' => { },
+                  'SiliconBonk.SiliconBonkHighlights' => { },
+                  'SiliconBonk.SiliconBonkH' => { },
+                  'SiliconBonk.SiliconBonkL' => { },
+                  'SiliconBonk.SiliconBonkContrast' => { },
+                  'SiliconBonk.SiliconBonkMid' => { },
+                  'SiliconBonk.SiliconBonkSat' => { },
+                  'SiliconBonk.SiliconBonkC0L' => { },
+                  'SiliconBonk.SiliconBonkC1L' => { },
+                  'SiliconBonk.SiliconBonkC2L' => { },
+                  'SiliconBonk.SiliconBonkC3L' => { },
+                  'SiliconBonk.SiliconBonkC4L' => { },
+                  'SiliconBonk.SiliconBonkC5L' => { },
+                  'Vigne_kb.kbv_enabled' => { },
+                  'Vigne_kb.kbv_size' => { },
+                  'Vigne_kb.kbv_strength' => { },
+                  'Vigne_kb.kbv_ccol' => { },
+                  'Vigne_kb.kbv_falloff' => { },
+                  'Vigne_kb.kbv_shape' => { },
+                  'Vigne_kb.kbv_horzcenter' => { },
+                  'Vigne_kb.kbv_vertcenter' => { },
+                  'Vigne_kb.kbv_factor' => { },
+                  'Vigne_kb.kbv_trans' => { },
+                  'Vigne_kb.kbv_adjustcrop' => { },
+                  'Vigne_kb.kbv_colenabled' => { },
+                  'Vigne_kb.kbv_col' => { },
+                  'Vigne_kb.kbv_preview' => { },
+                  'Vigne_kb.kbv_desat' => { },
+                  'Vigne_kb.kbv_desaturate' => { },
+                  'WaveletDenoise2.bSphWaveletDenoiseon' => { },
+                  'WaveletDenoise2.bSphWaveletDenoiseThresL' => { },
+                  'WaveletDenoise2.bSphWaveletDenoiseLowL' => { },
+                  'WaveletDenoise2.bSphWaveletDenoiseThresC' => { },
+                  'WaveletDenoise2.bSphWaveletDenoiseLowC' => { },
+                  'WaveletDenoise2.bSphWaveletDenoiseDePepper' => { },
+                  'WaveletDenoise2.bSphWaveletDenoiseShowEdge' => { },
+                  'WaveletSharpen2.bSphWaveletUsmon' => { },
+                  'WaveletSharpen2.bSphWaveletUsmRadius' => { },
+                  'WaveletSharpen2.bSphWaveletUsmAmount' => { },
+                  'WaveletSharpen2.bSphWaveletUsmThreshold' => { },
+                  'WaveletSharpen2.bSphWaveletUsmClarity' => { },
+                  'WaveletSharpen2.bSphWaveletLLenable' => { },
+                  'WaveletSharpen2.bSphWaveletLLStrength' => { },
+                  'WaveletSharpen2.bSphWaveletLLiter' => { },
+                  'WaveletSharpen2.bSphWaveletMCStrength' => { },
+                  'WaveletSharpen2.bSphWaveleton' => { },
+                  'WaveletSharpen2.bSphWaveletAmount' => { },
+                  'WaveletSharpen2.bSphWaveletRadius' => { },
+                  'WaveletSharpen2.bSphWaveletSharpenDePepper' => { },
+                  'WaveletSharpen2.bSphWaveletEdge' => { },
+                  'WaveletSharpen2.bSphWaveletSharpenClarity' => { },
+                  'WaveletSharpen2.bSphWaveleton2' => { },
+                  'WaveletSharpen2.bSphWaveletAmount2' => { },
+                  'WaveletSharpen2.bSphWaveletRadius2' => { },
+                  'WaveletSharpen2.bSphWaveletSharpenDePepper2' => { },
+                  'WaveletSharpen2.bSphWaveletEdge2' => { },
+                  'WaveletSharpen2.bSphWaveletSharpenClarity2' => { },
+                  'zChannelMixerGroup.zcmEnable' => { },
+                  'zChannelMixerGroup.zcmbw' => { },
+                  'zChannelMixerGroup.zcmbwa' => { },
+                  'zChannelMixerGroup.zcmlockbw' => { },
+                  'zChannelMixerGroup.zcmlockcolor' => { },
+                  'zChannelMixerGroup.zcmrr' => { },
+                  'zChannelMixerGroup.zcmrg' => { },
+                  'zChannelMixerGroup.zcmrb' => { },
+                  'zChannelMixerGroup.zcmgr' => { },
+                  'zChannelMixerGroup.zcmgg' => { },
+                  'zChannelMixerGroup.zcmgb' => { },
+                  'zChannelMixerGroup.zcmbr' => { },
+                  'zChannelMixerGroup.zcmbg' => { },
+                  'zChannelMixerGroup.zcmbb' => { },
+                  'zFramePlug.zframeSize1' => { },
+                  'zFramePlug.zframeColor1' => { },
+                  'zFramePlug.zframeSize2' => { },
+                  'zFramePlug.zframeColor2' => { },
+                  'zFramePlug.zframeSize3' => { },
+                  'zFramePlug.zframeColor3' => { },
+                  'zFramePlug.zframeSize4' => { },
+                  'zFramePlug.zframeColor4' => { },
+                  'zFramePlug.zframeSize5' => { },
+                  'zFramePlug.zframeColor5' => { },
+                  'zFramePlug.zframeDummy' => { },
+                  'zFramePlug.zframeEnable' => { },
+                  'zFramePlug.zframeEnable1' => { },
+                  'zFramePlug.zframeEnable2' => { },
+                  'zFramePlug.zframeEnable3' => { },
+                  'zFramePlug.zframeEnable4' => { },
+                  'zFramePlug.zframeEnable5' => { },
+                  'zFramePlug.zframeCalibration' => { },
+                  'zFramePlug.zframeRatio1' => { },
+                  'zFramePlug.zframeRatio2' => { },
+                  'zFramePlug.zframeRatio3' => { },
+                  'zFramePlug.zframeRatio4' => { },
+                  'zFramePlug.zframeRatio5' => { },
+                  'zFramePlug.xPos1' => { },
+                  'zFramePlug.yPos1' => { },
+                  'zFramePlug.xPos2' => { },
+                  'zFramePlug.yPos2' => { },
+                  'zFramePlug.xPos3' => { },
+                  'zFramePlug.yPos3' => { },
+                  'zFramePlug.xPos4' => { },
+                  'zFramePlug.yPos4' => { },
+                  'zFramePlug.xPos5' => { },
+                  'zFramePlug.yPos5' => { },
+                  'zFramePlug.relativeTo' => { },
+                  'zFramePlug.place' => { },
+                  'Zone_kb.kbz_enabled' => { },
+                  'Zone_kb.kbz_highlight' => { },
+                  'zPerspectorPlug.zpersEnable' => { },
+                  'zPerspectorPlug.zpersRotate' => { },
+                  'zPerspectorPlug.zpersGridEnable' => { },
+                  'zPerspectorPlug.zpersGrid' => { },
+                  'zPerspectorPlug.zpersTopLeft' => { },
+                  'zPerspectorPlug.zpersTopRight' => { },
+                  'zPerspectorPlug.zpersLeftTop' => { },
+                  'zPerspectorPlug.zpersRightTop' => { },
+                  'zPerspectorPlug.zpersBottomLeft' => { },
+                  'zPerspectorPlug.zpersBottomRight' => { },
+                  'zPerspectorPlug.zpersLeftBottom' => { },
+                  'zPerspectorPlug.zpersRightBottom' => { },
+                  'zPerspectorPlug.zpersmirror' => { },
+                  'zPerspectorPlug.zpersMirrorOffset' => { },
+                  'zPerspectorPlug.zpersCanvasResize' => { },
+                  'zShadowPlug.direction' => { },
+                  'zShadowPlug.zshadowEnable' => { },
+                  'zShadowPlug.dummy' => { },
+                  'zShadowPlug.size' => { },
+                  'zShadowPlug.scale' => { },
+                  'zShadowPlug.edge' => { },
+                  'zShadowPlug.sizeBg' => { },
+                  'zShadowPlug.color' => { },
+                  'zShadowPlug.colorBg' => { },
+                  'zShadowPlug.relativeTo' => { },
+                  'zShadowPlug.xPos' => { },
+                  'zShadowPlug.yPos' => { },
+                  'zSoftenPlug.softenEnable' => { },
+                  'zSoftenPlug.softenradius' => { },
+                  'zSoftenPlug.softenorton' => { },
+                  'zSoftenPlug.softencombo' => { },
+                  'zSoftenPlug.softenVignette' => { },
+                  'zSoftenPlug.softenProof' => { },
+                  'zSoftenPlug.softenvigSize' => { },
+                  'zSoftenPlug.softenvigShape' => { },
+                  'zSoftenPlug.softenvigFeather' => { },
+                  'zSoftenPlug.softenvigXpos' => { },
+                  'zSoftenPlug.softenvigYpos' => { },
+                  'zSoftenPlug.softenvigRotate' => { },
+                  'zTextPlug.zTextOn' => { },
+                  'zTextPlug.italic' => { },
+                  'zTextPlug.bold' => { },
+                  'zTextPlug.underline' => { },
+                  'zTextPlug.strikeout' => { },
+                  'zTextPlug.overline' => { },
+                  'zTextPlug.size' => { },
+                  'zTextPlug.xpos' => { },
+                  'zTextPlug.ypos' => { },
+                  'zTextPlug.rotate' => { },
+                  'zTextPlug.font' => { },
+                  'zTextPlug.text' => { },
+                  'zTextPlug.opacity' => { },
+                  'zTextPlug.stretch' => { },
+                  'zTextPlug.color' => { },
+                  'zTextPlug.shearv' => { },
+                  'zTextPlug.shearh' => { },
+                  'zTextPlug.scalev' => { },
+                  'zTextPlug.scaleh' => { },
+                  'zTextPlug.projectv' => { },
+                  'zTextPlug.projecth' => { },
+                  'zTextPlug.basesize' => { },
+                  'zTextPlug.textalign' => { },
+                  'zTextPlug.textposh' => { },
+                  'zTextPlug.textposv' => { },
+                  'zTextPlug.shadowEnable' => { },
+                  'zTextPlug.shadowDirection' => { },
+                  'zTextPlug.shadowShift' => { },
+                  'zTextPlug.shadowIntensity' => { },
+                  'zTextPlug.shadowColor' => { },
+                  'blplug.bbwenabled' => { },
+                  'blplug.bbwspotA' => { },
+                  'blplug.bbwspotB' => { },
+                  'blplug.bbwhueA' => { },
+                  'blplug.bbwfuzzyA' => { },
+                  'blplug.bbwcolorA' => { },
+                  'blplug.bbwhueB' => { },
+                  'blplug.bbwcolorB' => { },
+                  'blplug.bbwfuzzyB' => { },
+                  'blplug.bbwmode' => { },
+                  'Equalizer_kb.kbs_enabled' => { },
+                  'Equalizer_kb.kbs_bw' => { },
+                  'Equalizer_kb.kbs_redlum' => { },
+                  'Equalizer_kb.kbs_yellowlum' => { },
+                  'Equalizer_kb.kbs_orangelum' => { },
+                  'Equalizer_kb.kbs_greenlum' => { },
+                  'Equalizer_kb.kbs_cyanlum' => { },
+                  'Equalizer_kb.kbs_bluelum' => { },
+                  'Equalizer_kb.kbs_magentalum' => { },
+                  'Equalizer_kb.kbs_redhue' => { },
+                  'Equalizer_kb.kbs_yellowhue' => { },
+                  'Equalizer_kb.kbs_orangehue' => { },
+                  'Equalizer_kb.kbs_greenhue' => { },
+                  'Equalizer_kb.kbs_cyanhue' => { },
+                  'Equalizer_kb.kbs_bluehue' => { },
+                  'Equalizer_kb.kbs_magentahue' => { },
+                  'Equalizer_kb.kbs_redsat' => { },
+                  'Equalizer_kb.kbs_yellowsat' => { },
+                  'Equalizer_kb.kbs_orangesat' => { },
+                  'Equalizer_kb.kbs_greensat' => { },
+                  'Equalizer_kb.kbs_cyansat' => { },
+                  'Equalizer_kb.kbs_bluesat' => { },
+                  'Equalizer_kb.kbs_magentasat' => { },
+                  'Equalizer_kb.kbs_redvib' => { },
+                  'Equalizer_kb.kbs_yellowvib' => { },
+                  'Equalizer_kb.kbs_orangevib' => { },
+                  'Equalizer_kb.kbs_greenvib' => { },
+                  'Equalizer_kb.kbs_cyanvib' => { },
+                  'Equalizer_kb.kbs_bluevib' => { },
+                  'Equalizer_kb.kbs_magentavib' => { },
+                },
+              },
+            },
+          },
+        },
+      },
+    },
+  },
+);
+
+1;  #end
diff --git a/config_files/fotoware.config b/config_files/fotoware.config
new file mode 100644
index 0000000..137f832
--- /dev/null
+++ b/config_files/fotoware.config
@@ -0,0 +1,114 @@
+#------------------------------------------------------------------------------
+# File:         fotoware.config
+#
+# Description:  This config file defines Fotoware XMP tags for writing.
+#
+# Notes:        Length limits are imposed according to Fotoware limitations when
+#               writing string values, but these may be disabled with the -n
+#               option or by adding a "#" to the tag name.  However, beware that
+#               longer strings may cause unpredictable results in Fotoware
+#               software.
+#
+#               Use of this file will not bring full Fotoware 'experience'.
+#               Fotostation writes these tags not only into XMP but also in IIM
+#               and even Exif spaces.  Communication with older Fotoware systems
+#               may be broken when using only XMP.
+#
+#               Also note that there are potential problems with character
+#               encoding on systems with mixed environments, depending on
+#               Fotoware software settings.
+#
+# Usage:        exiftool -config fotoware.config -FOTOWARETAG=VALUE FILE ...
+#
+# Requires:     ExifTool version 7.00 or later
+#
+# Revisions:    2012/09/19 - P. Harvey Created
+#               2016/09/24 - Mikolaj Machowski updated with new Fotostation tags
+#------------------------------------------------------------------------------
+
+%Image::ExifTool::UserDefined = (
+    'Image::ExifTool::XMP::Main' => {
+        fwl => {
+            SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwl' },
+        },
+        fwr => {
+            SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwr' },
+        },
+        fwc => {
+            SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwc' },
+        },
+        fwu => {
+            SubDirectory => { TagTable => 'Image::ExifTool::UserDefined::fwu' },
+        },
+    },
+);
+
+%Image::ExifTool::UserDefined::fwl = (
+    GROUPS           => { 0 => 'XMP', 1 => 'XMP-fwl', 2 => 'Image' },
+    NAMESPACE        => { 'fwl' => 'http://ns.fotoware.com/iptcxmp-legacy/1.0/' },
+    WRITABLE         => 'string',
+    # limit maximum lengths of string values
+    CreatedTime      => { PrintConvInv => 'substr($val,0,16)' },
+    EditStatus       => { PrintConvInv => 'substr($val,0,64)' },
+    FixtureIdentifier=> { PrintConvInv => 'substr($val,0,1024)' },
+    LocalCaption     => { PrintConvInv => 'substr($val,0,2000)' },
+    ObjectCycle      => { PrintConvInv => 'substr($val,0,32)' },
+    ProgramVersion   => { PrintConvInv => 'substr($val,0,10)' },
+    ReferenceNumber  => { PrintConvInv => 'substr($val,0,256)' },
+    ReferenceService => { PrintConvInv => 'substr($val,0,256)' },
+    ReferenceDate    => {
+        Groups => { 2 => 'Time' },
+        Writable => 'date',
+        Shift => 'Time',
+        PrintConv => '$self->ConvertDateTime($val)',
+        PrintConvInv => '$self->InverseDateTime($val,undef,1)',
+    },
+    ReleaseDate    => {
+        Groups => { 2 => 'Time' },
+        Writable => 'date',
+        Shift => 'Time',
+        PrintConv => '$self->ConvertDateTime($val)',
+        PrintConvInv => '$self->InverseDateTime($val,undef,1)',
+    },
+    ReleaseTime      => { PrintConvInv => 'substr($val,0,16)' },
+);
+
+%Image::ExifTool::UserDefined::fwr = (
+    GROUPS           => { 0 => 'XMP', 1 => 'XMP-fwr', 2 => 'Image' },
+    NAMESPACE        => { 'fwr' => 'http://ns.fotoware.com/iptcxmp-reserved/1.0/' },
+    WRITABLE         => 'string',
+    Classify         => { PrintConvInv => 'substr($val,0,256)' },
+    DocumentText     => { PrintConvInv => 'substr($val,0,2000)' },
+    Exif             => { PrintConvInv => 'substr($val,0,1024)' },
+    History          => { PrintConvInv => 'substr($val,0,256)' },
+    ImageNotes       => { PrintConvInv => 'substr($val,0,256)' },
+    JobId            => { PrintConvInv => 'substr($val,0,256)' },
+    OwnerId          => { PrintConvInv => 'substr($val,0,256)' },
+    ShortUniqeId     => { PrintConvInv => 'substr($val,0,256)' },
+    ContentValue     => { PrintConvInv => 'substr($val,0,256)' },
+    UniqueId         => { PrintConvInv => 'substr($val,0,256)' },
+    MasterDocumentId => { PrintConvInv => 'substr($val,0,256)' },
+);
+
+
+%Image::ExifTool::UserDefined::fwc = (
+    GROUPS        => { 0 => 'XMP', 1 => 'XMP-fwc', 2 => 'Image' },
+    NAMESPACE     => { 'fwc' => 'http://ns.fotoware.com/iptcxmp-custom/1.0/' },
+    WRITABLE      => 'string',
+    # generate CustomField1 through CustomField20 tags
+    map { 'CustomField' . $_ => {
+        PrintConvInv => 'substr($val,0,256)',
+    } } (1 .. 20),
+);
+
+%Image::ExifTool::UserDefined::fwu = (
+    GROUPS        => { 0 => 'XMP', 1 => 'XMP-fwu', 2 => 'Image' },
+    NAMESPACE     => { 'fwu' => 'http://ns.fotoware.com/iptcxmp-user/1.0/' },
+    WRITABLE      => 'string',
+    # generate UserDefined1 through UserDefined255 tags
+    map { 'UserDefined' . $_ => {
+        PrintConvInv => 'substr($val,0,256)',
+    } } (1 .. 255),
+);
+
+1;  #end
diff --git a/config_files/photoshop_paths.config b/config_files/photoshop_paths.config
index c618a6a..96fbf55 100644
--- a/config_files/photoshop_paths.config
+++ b/config_files/photoshop_paths.config
@@ -2,8 +2,13 @@
 # File:         photoshop_paths.config
 #
 # Description:  This config file generates user-defined tags for Photoshop
-#               paths, and may be used to extract path names or copy path
-#               information from one file to another.
+#               paths, and may be used to extract path names and/or Bezier knot
+#               anchor points, or copy path information from one file to
+#               another.
+#
+#               The anchor points may be extracted along with the path names by
+#               setting the "Anchor" user parameter (ie. "-userparam anchor"),
+#               or by themselves with "AnchorOnly".
 #
 #               An "AllPaths" shortcut tag is also provided represent all
 #               Photoshop path tags.  This shortcut must be used when copying
@@ -20,18 +25,64 @@
 # 
 #      exiftool -config photoshop_paths.config -allpaths FILE
 #
-#   2) Copy all Photoshop paths from one file (SRC) to another (DST):
+#   2) Extract Photoshop path names and anchor points:
+# 
+#      exiftool -config photoshop_paths.config -userparam anchor -allpaths FILE
+#
+#   3) Extract Photoshop path anchor points only:
+# 
+#      exiftool -config photoshop_paths.config -userparam anchoronly -allpaths FILE
+#
+#   4) Copy all Photoshop paths from one file (SRC) to another (DST):
 #
 #      exiftool -config photoshop_paths.config -tagsfromfile SRC -allpaths# DST
 #
 # Requires:     ExifTool version 9.95 or later
 #
 # Revisions:    2015/05/07 - P. Harvey Created
+#               2016/09/14 - PH Added feature to allow extracting anchor points
 #
 # References:   http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,1621.0.html
 #               http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,3910.0.html
+#               http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,6647.0.html
 #------------------------------------------------------------------------------
 
+# Print Photoshop path name and/or anchor points
+# Inputs: 0) reference to Photoshop path data, 1) ExifTool object reference
+# Returns: String with name and/or Bezier knot anchor points
+sub PrintPath($)
+{
+    my ($val, $et) = @_;
+    my ($pos, $name, @rtn);
+    my $len = length($$val) - 26;
+
+    # recover exiftool-added path name if it exists
+    if ($$val =~ m{/#(.*?)#/$}s) {
+        $name = $1;
+        $len -= length($1) + 4;
+    } else {
+        $name = '<none>';
+    }
+    my $anchorOnly = $et->Options(UserParam => 'AnchorOnly');
+    push @rtn, $name unless $anchorOnly;
+
+    # loop through path points and extract anchor points if specified
+    if ($anchorOnly or $et->Options(UserParam => 'Anchor')) {
+        SetByteOrder('MM');
+        for ($pos=0; $pos<=$len; $pos+=26) {
+            my $type = Get16u($val, $pos);
+            # Bezier knot records are types 1, 2, 4 and 5
+            next unless {1=>1,2=>1,4=>1,5=>1}->{$type};
+            # the anchor point is at offset 10 in the Bezier knot record
+            # (fixed-point values with 24-bits after the decimal point)
+            my $y = Get32s($val, $pos+10) / 0x1000000;  # (vertical component first)
+            my $x = Get32s($val, $pos+14) / 0x1000000;
+            push @rtn, sprintf('(%g,%g)', $x, $y);
+        }
+    }
+    return join ' ', @rtn;
+}
+
 %Image::ExifTool::Shortcuts::UserDefined = (
     # create "AllPaths" shortcut for all Photoshop path tags
     AllPaths => [
@@ -46,7 +97,7 @@
             Name => sprintf('Path%x', $_),
             Description => sprintf('Path %x', $_),
             Flags => [ qw(Writable Protected Binary ConvertBinary SetResourceName) ],
-            PrintConv => '$$val =~ m{/#(.*?)#/$}s ? $1 : "<none>"',
+            PrintConv => \&PrintPath,
         } } (0x7d0 .. 0xbb5),
     },
 );
diff --git a/config_files/time_zone.config b/config_files/time_zone.config
new file mode 100644
index 0000000..e29aae9
--- /dev/null
+++ b/config_files/time_zone.config
@@ -0,0 +1,56 @@
+#------------------------------------------------------------------------------
+# File:         time_zone.config
+#
+# Description:  ExifTool config file to return time zone from an image
+#
+# Notes:        The Composite:TimeZone tag defined here attempts to determine
+#               the time zone for an image.  If possible, the time zone for
+#               DateTimeOriginal is returned, but if this can't be determined
+#               then the time zone for CreateDate and then ModifyDate are used.
+#
+# Usage:        exiftool -config time_zone.config -timezone FILE
+#
+# Requires:     Any version of ExifTool
+#
+# Revisions:    2016/10/03 - P. Harvey Created
+#------------------------------------------------------------------------------
+
+%Image::ExifTool::UserDefined = (
+    'Image::ExifTool::Composite' => {
+        FileName => {
+            Desire => {
+                0 => 'DateTimeOriginal',
+                1 => 'CreateDate',
+                2 => 'ModifyDate',
+                3 => 'GPSDateStamp',
+                4 => 'GPSTimeStamp',
+                5 => 'OffsetTimeOriginal',  # (DateTimeOriginal)
+                6 => 'OffsetTimeDigitized', # (CreateDate)
+                7 => 'OffsetTime',          # (ModifyDate)
+                8 => 'TimeZoneOffset',      # (ModifyDate)
+            },
+            RawConv => q{
+                return $val[5] if $val[5];
+                return $val[6] if $val[6];
+                return $val[7] if $val[7];
+                if (defined $val[8]) {
+                    my $tzh = $val[8];
+                    $tzh =~ s/ .*//;
+                    return TimeZoneString($tzh * 60);
+                }
+                if (defined $val[3] and defined $val[4]) {
+                    my $loc = $val[0] || $val[1] || $val[2];
+                    print "$loc\n";#TEST
+                    if ($loc) {
+                        my @loc = split /[: ]/, $loc;
+                        my @gmt = split /[: ]/, "$val[3] $val[4]";
+                        return TimeZoneString(GetTimeZone([@loc[5,4,3,2]], [@gmt[5,4,3,2]]));
+                    }
+                }
+                return undef;
+            },
+        },
+    },
+);
+
+1;  #end
diff --git a/exiftool b/exiftool
index 48c4936..3ff8431 100755
--- a/exiftool
+++ b/exiftool
@@ -12,7 +12,7 @@
 use strict;
 require 5.004;
 
-my $version = '10.25';
+my $version = '10.31';
 
 # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
 my $exeDir;
@@ -49,12 +49,14 @@ sub Infile($;$);
 sub AddSetTagsFile($;$);
 sub DoSetFromFile($$$);
 sub CleanFilename($);
+sub SetWindowTitle($);
 sub ProcessFiles($;$);
 sub ScanDir($$;$);
 sub FindFileWindows($$);
 sub FileNotFound($);
 sub PreserveTime();
 sub AbsPath($);
+sub MyConvertFileName($$);
 sub SuggestedExtension($$$);
 sub LoadPrintFormat($);
 sub FilenameSPrintf($;$@);
@@ -75,7 +77,7 @@ END {
 
 # declare all static file-scope variables
 my @commonArgs;     # arguments common to all commands
-my @csvFiles;       # list of files when reading with CSV option
+my @csvFiles;       # list of files when reading with CSV option (in ExifTool Charset)
 my @csvTags;        # order of tags for first file with CSV option (lower case)
 my @delFiles;       # list of files to delete
 my @dynamicFiles;   # list of -tagsFromFile files with dynamic names and -TAG<=FMT pairs
@@ -90,7 +92,7 @@ my @tags;           # list of tags to extract
 my %appended;       # list of files appended to
 my %created;        # list of files we created
 my %csvTags;        # lookup for all found tags with CSV option (lower case keys)
-my %database;       # lookup for database information based on file name
+my %database;       # lookup for database information based on file name (in ExifTool Charset)
 my %filterExt;      # lookup for filtered extensions
 my %ignore;         # directory names to ignore
 my %preserveTime;   # preserved timestamps for files
@@ -153,7 +155,8 @@ my $outOpt;         # output file or directory name
 my $overwriteOrig;  # flag to overwrite original file (1=overwrite, 2=in place)
 my $pause;          # pause before returning
 my $preserveTime;   # flag to preserve times of updated files (2=preserve FileCreateDate only)
-my $progress;       # progress count
+my $progress;       # flag to calculate total files to process (0=calculate but don't display)
+my $progressCount;  # count of files processed
 my $progressMax;    # total number of files to process
 my $progStr;        # progress message string
 my $quiet;          # flag to disable printing of informational messages / warnings
@@ -178,6 +181,7 @@ my $utf8;           # flag set if we are using UTF-8 encoding
 my $validFile;      # flag indicating we processed a valid file
 my $verbose;        # verbose setting
 my $vout;           # verbose output file reference (\*STDOUT or \*STDERR)
+my $windowTitle;    # title for console window
 my $xml;            # flag for XML-formatted output
 
 # flag to keep the input -@ argfile open:
@@ -187,6 +191,8 @@ my $xml;            # flag for XML-formatted output
 # 3 = waiting for -@ to switch to a new STAYOPEN argfile
 my $stayOpen = 0;
 
+my $curTitle = '';  # current window title
+
 # lookup for O/S names which may use a backslash as a directory separator
 # (ref File::Spec of PathTools-3.2701)
 my %hasBackslash = ( MSWin32 => 1, os2 => 1, dos => 1, NetWare => 1, symbian => 1, cygwin => 1 );
@@ -236,6 +242,22 @@ my %optArgs = (
     '-X' => 0,
 );
 
+my @recommends = qw(
+  Archive::Zip
+  Compress::Zlib
+  Digest::MD5
+  Digest::SHA
+  IO::Compress::Bzip2
+  Time::HiRes
+  POSIX::strptime
+  Unicode::LineBreak
+  IO::Compress::RawDeflate
+  IO::Uncompress::RawInflate
+  Win32::API
+  Win32::FindFile
+  Win32API::File
+);
+
 # exit routine
 sub Exit {
     if ($pause) {
@@ -279,6 +301,7 @@ sub Cleanup() {
     undef $tmpFile;
     undef $tmpText;
     PreserveTime() if %preserveTime;
+    SetWindowTitle('');
 }
 
 #------------------------------------------------------------------------------
@@ -390,6 +413,7 @@ undef $multiFile;
 undef $outOpt;
 undef $preserveTime;
 undef $progress;
+undef $progressCount;
 undef $progressMax;
 undef $recurse;
 undef $scanWritable;
@@ -403,6 +427,7 @@ undef $tmpFile;
 undef $tmpText;
 undef $validFile;
 undef $verbose;
+undef $windowTitle;
 
 $count = 0;
 $countBad = 0;
@@ -590,7 +615,18 @@ for (;;) {
         $pass or push(@nextPass,'-ver'), next;
         my $libVer = $Image::ExifTool::VERSION;
         my $str = $libVer eq $version ? '' : " [Warning: Library version is $libVer]";
-        print("$version$str$Image::ExifTool::RELEASE\n");
+        if ($verbose) {
+            print "ExifTool version $version$str$Image::ExifTool::RELEASE\n";
+            print "Platform: $^O\n";
+            print "Optional libraries:\n";
+            foreach (@recommends) {
+                next if /^Win32/ and $^O ne 'MSWin32';
+                my $ver = eval "require $_ and \$${_}::VERSION";
+                printf "  %-28s %s\n", $_, $ver || '(not installed)';
+            }
+        } else {
+            print "$version$str$Image::ExifTool::RELEASE\n";
+        }
         $helped = 1;
         next;
     }
@@ -646,10 +682,11 @@ for (;;) {
                 s/^\xef\xbb\xbf//;
                 $didBOM = 1;
             }
+            next if /^#/;   # ignore lines beginning with '#'
             s/^\s+//; s/[\x0d\x0a]+$//s; # remove leading white space and trailing newline
             # remove white space before, and single space after '=', '+=', '-=' or '<='
             s/^(-[-:\w]+#?)\s*([-+<]?=) ?/$1$2/;
-            push @newArgs, $_ unless $_ eq '' or /^#/;
+            push @newArgs, $_ unless $_ eq '';
         }
         close ARGFILE;
         unshift @ARGV, @newArgs;
@@ -946,9 +983,16 @@ for (;;) {
     }
     (/^P$/ or $a eq 'preserve') and $preserveTime = 1, next;
     /^password$/i and $mt->Options(Password => shift), next;
-    if ($a eq 'progress') {
-        $progress = 0;
-        $verbose = 0 unless defined $verbose;
+    if (/^progress(:.*)?/i) {
+        if ($1) {
+            $windowTitle = substr $1, 1;
+            $windowTitle = 'ExifTool %p%%' unless length $windowTitle;
+            $windowTitle =~ /%\d*[bpr]/ and $progress = 0 unless defined $progress;
+        } else {
+            $progress = 1;
+            $verbose = 0 unless defined $verbose;
+        }
+        $progressCount = 0;
         next;
     }
     /^q(uiet)?$/i and ++$quiet, next;
@@ -1588,24 +1632,14 @@ if (@fileOrder) {
 # set file count for progress message
 $progressMax = scalar @files if defined $progress;
 
-# store duplicate database information under absolute path,
-# and translate the filename character set if necessary
+# store duplicate database information under absolute path
 my @dbKeys = keys %database;
 if (@dbKeys) {
-    my $enc = $mt->Options('CharsetFileName');
-    if ($enc) {
-        foreach (@dbKeys) {
-            my $f = $mt->InverseFileName($_);
-            next if $f eq $_;
-            $database{$f} = $database{$_};
-            delete $database{$_};
-            $_ = $f;
-        }
-    }
     if (eval { require Cwd }) {
         undef $evalWarning;
         local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] };
         foreach (@dbKeys) {
+            # (punt on using ConvertFileName here, so $absPath may be a mix of encodings)
             my $absPath = AbsPath($_);
             if (defined $absPath) {
                 $database{$absPath} = $database{$_} unless $database{$absPath};
@@ -1694,8 +1728,8 @@ if (defined $deleteOrig) {
 # set error status if we had any errors or if all files failed the "-if" condition
 $rtnVal = 1 if $countBadWr or $countBadCr or $countBad or ($countFailed and not $count);
 
-# last ditch effort to preserve filemodifydate
-PreserveTime() if %preserveTime;
+# clean up after each command
+Cleanup();
 
 } # end "Command" loop ........................................................
 
@@ -1712,6 +1746,24 @@ sub GetImageInfo($$)
     my ($et, $orig) = @_;
     my (@foundTags, $info, $file, $ind);
 
+    # set window title for this file if necessary
+    if (defined $windowTitle) {
+        my $prog = $progressMax ? "$progressCount/$progressMax" : '0/0';
+        my $title = $windowTitle;
+        my ($num, $denom) = split '/', $prog;
+        my $frac = $num / ($denom || 1);
+        my $n = $title =~ s/%(\d+)b/%b/ ? $1 : 20;  # length of bar
+        my $bar = int($frac * $n + 0.5);
+        my %lkup = (
+            b => ('I' x $bar) . ('.' x ($n - $bar)), # (undocumented)
+            f => $orig,
+            p => int(100 * $frac + 0.5),
+            r => $prog,
+           '%'=> '%',
+        );
+        $title =~ s/%([%bfpr])/$lkup{$1}/eg;
+        SetWindowTitle($title);
+    }
     # determine the name of the source file based on the original input file name
     if (@srcFmt) {
         my ($fmt, $first);
@@ -1796,6 +1848,8 @@ sub GetImageInfo($$)
         }
         return;
     }
+    ++$seqFileNum;  # increment our file counter
+
     my $lineCount = 0;
     my ($fp, $outfile, $append);
     if ($textOut and $verbose and not $tagOut) {
@@ -1986,17 +2040,18 @@ sub GetImageInfo($$)
                 # set delimiters for JSON or PHP output
                 ($bra, $ket, $sep) = $json == 1 ? ('{','}',':') : ('Array(',')',' =>');
                 print $fp ",\n" if $comma;
-                print $fp qq($bra\n  "SourceFile"$sep ), EscapeJSON($mt->ConvertFileName($file, 1));
+                print $fp qq($bra\n  "SourceFile"$sep ), EscapeJSON(MyConvertFileName($et,$file));
                 $comma = 1;
                 $ind = (defined $showGroup and not $allGroup) ? '    ' : '  ';
             } elsif ($csv) {
-                $database{$file} = \%csvInfo;
-                push @csvFiles, $file;
+                my $file2 = MyConvertFileName($et, $file);
+                $database{$file2} = \%csvInfo;
+                push @csvFiles, $file2;
             }
         }
         # suppress duplicates manually in JSON and short XML output
         my $noDups = ($json or ($xml and $outFormat > 0));
-        my $printConv = $mt->Options('PrintConv');
+        my $printConv = $et->Options('PrintConv');
         my $lastGroup = '';
 TAG:    foreach $tag (@foundTags) {
             my $tagName = GetTagName($tag);
@@ -2080,7 +2135,7 @@ TAG:    foreach $tag (@foundTags) {
                         }
                         next TAG;
                     }
-                    my @groups = $mt->GetGroup($tag);
+                    my @groups = $et->GetGroup($tag);
                     $outfile and close($fp), undef($tmpText); # (shouldn't happen)
                     ($fp, $outfile, $append) = OpenOutputFile($orig, $tagName, \@groups, $ext);
                     $fp or ++$countBad, next TAG;
@@ -2382,8 +2437,11 @@ sub SetImageInfo($$$)
     my ($outfile, $restored, $isTemporary, $isStdout, $outType, $tagsFromSrc, $hardLink, $testName);
     my $infile = $file;    # save infile in case we change it again
 
-    undef $tmpFile; # make sure this isn't defined
-
+    # clean up old temporary file if necessary
+    if (defined $tmpFile) {
+        $et->Unlink($tmpFile);
+        undef $tmpFile;
+    }
     # clear any existing errors or warnings since we check these on return
     delete $$et{VALUE}{Error};
     delete $$et{VALUE}{Warning};
@@ -2493,24 +2551,28 @@ sub SetImageInfo($$$)
                 my $opts = $$dyFile[2];
                 if (defined $fname and SlurpFile($fname, \$buff)) {
                     $verbose and print $vout "Reading $$dyFile[0] from $fname\n";
-                    ($rtn, $wrn) = $mt->SetNewValue($$dyFile[0], $buff, %$opts);
+                    ($rtn, $wrn) = $et->SetNewValue($$dyFile[0], $buff, %$opts);
                     $wrn and Warn "$wrn\n";
                 }
                 # remove this tag if we couldn't set it properly
-                $rtn or $mt->SetNewValue($$dyFile[0], undef, Replace => 2,
+                $rtn or $et->SetNewValue($$dyFile[0], undef, Replace => 2,
                                          ProtectSaved => $$opts{ProtectSaved});
                 next;
             } elsif (ref $dyFile eq 'SCALAR') {
-                # set new values from CSV database
+                # set new values from CSV or JSON database
                 my ($f, $found, $tag);
                 undef $evalWarning;
                 local $SIG{'__WARN__'} = sub { $evalWarning = $_[0] };
+                # force UTF-8 if the database was JSON
+                my $old = $et->Options('Charset');
+                $et->Options(Charset => 'UTF8') if $csv eq 'JSON';
                 # read tags for SourceFile '*' plus the specific file
-                foreach $f ('*', $file) {
+                foreach $f ('*', MyConvertFileName($et, $file)) {
                     my $csvInfo = $database{$f};
                     unless ($csvInfo) {
                         next if $f eq '*';
                         # check absolute path
+                        # (punt on using ConvertFileName here, so $absPath may be a mix of encodings)
                         my $absPath = AbsPath($f);
                         next unless defined $absPath and $csvInfo = $database{$absPath};
                     }
@@ -2518,12 +2580,13 @@ sub SetImageInfo($$$)
                     $verbose and print $vout "Setting new values from $csv database\n";
                     foreach $tag (sort keys %$csvInfo) {
                         next if $tag =~ /\b(SourceFile|Directory|FileName)$/i; # don't write these
-                        my ($rtn, $wrn) = $mt->SetNewValue($tag, $$csvInfo{$tag},
+                        my ($rtn, $wrn) = $et->SetNewValue($tag, $$csvInfo{$tag},
                                           Protected => 1, AddValue => $csvAdd,
                                           ProtectSaved => $csvSaveCount);
                         $wrn and Warn "$wrn\n" if $verbose;
                     }
                 }
+                $et->Options(Charset => $old) if $csv eq 'JSON';
                 unless ($found) {
                     Warn("No SourceFile '$file' in imported $csv database\n");
                     my $absPath = AbsPath($file);
@@ -2994,7 +3057,7 @@ sub PrintCSV()
     print join(',', 'SourceFile', @tags), "\n";
     my $empty = defined($forcePrint) ? $forcePrint : '';
     foreach $file (@csvFiles) {
-        my @vals = (FormatCSV($mt->ConvertFileName($file))); # start with full file name
+        my @vals = (FormatCSV($file)); # start with full file name
         my $csvInfo = $database{$file};
         foreach $lcTag (@csvTags) {
             next unless $csvTags{$lcTag};
@@ -3190,6 +3253,24 @@ sub CheckUTF8($$)
 }
 
 #------------------------------------------------------------------------------
+# Set window title
+# Inputs: title string or '' to reset title
+sub SetWindowTitle($)
+{
+    my $title = shift;
+    if ($curTitle ne $title) {
+        $curTitle = $title;
+        if ($^O eq 'MSWin32') {
+            $title =~ s/([&\/\?:|"<>])/^$1/g;   # escape special chars
+            eval { system qq{title $title} };
+        } else {
+            # (this only works for XTerm terminals, and STDERR must go to the console)
+            printf STDERR "\033]0;%s\007", $title;
+        }
+    }
+}
+
+#------------------------------------------------------------------------------
 # Process files in our @files list
 # Inputs: 0) ExifTool ref, 1) list ref to just return full file names
 sub ProcessFiles($;$)
@@ -3200,14 +3281,14 @@ sub ProcessFiles($;$)
     foreach $file (@files) {
         $et->Options(CharsetFileName => 'UTF8') if $utf8FileName{$file};
         if (defined $progressMax) {
-            ++$progress;
-            $progStr = " [$progress/$progressMax]";
+            ++$progressCount;
+            $progStr = " [$progressCount/$progressMax]" if $progress;
         }
-        if ($mt->IsDirectory($file)) {
+        if ($et->IsDirectory($file)) {
             $multiFile = $validFile = 1;
-            ScanDir($mt, $file, $list);
+            ScanDir($et, $file, $list);
         } elsif ($filterFlag and not AcceptFile($file)) {
-            if ($mt->Exists($file)) {
+            if ($et->Exists($file)) {
                 $filtered = 1;
                 $verbose and print $vout "-------- $file (wrong extension)$progStr\n";
             } else {
@@ -3307,9 +3388,9 @@ sub ScanDir($$;$)
                 next unless $file =~ /\.(gz|bz2)$/i;
             }
         }
+        $utf8FileName{$path} = 1 if $utf8Name;
         if ($list) {
             push(@$list, $path);
-            $utf8FileName{$path} = 1 if $utf8Name;
         } else {
             GetImageInfo($et, $path);
         }
@@ -3404,6 +3485,20 @@ sub AbsPath($)
 }
 
 #------------------------------------------------------------------------------
+# Convert file name to ExifTool Charset
+# Inputs: 0) ExifTool ref, 1) file name in CharsetFileName
+# Returns: file name in ExifTool Charset
+sub MyConvertFileName($$)
+{
+    my ($et, $file) = @_;
+    my $enc = $et->Options('CharsetFileName');
+    $et->Options(CharsetFileName => 'UTF8') if $utf8FileName{$file};
+    my $convFile = $et->ConvertFileName($file);
+    $et->Options(CharsetFileName => $enc) if $utf8FileName{$file};
+    return $convFile;
+}
+
+#------------------------------------------------------------------------------
 # Add print format entry
 # Inputs: 0) expression string
 sub AddPrintFormat($)
@@ -3581,8 +3676,9 @@ sub NextUnusedFilename($;$$)
             $filename .= substr($fmt, $pos, pos($fmt) - $pos - length($1));
             $pos = pos($fmt);
             my ($sign, $wid, $dec, $wid2, $mod, $tok) = ($2, $3 || 0, $4, $5 || 0, $6, $7);
+            my $seq = $seqFileNum - 1;
             if ($tok eq 'C') {
-                $seqFileNum = $wid if $wid and not $seqFileNum;
+                $seq += $wid if $wid;
                 $wid = $wid2;
             } else {
                 next unless $dec or $copy;
@@ -3591,13 +3687,13 @@ sub NextUnusedFilename($;$$)
             # add dash or underline separator if '-' or '+' specified
             $filename .= $sep{$sign} if $sign;
             if ($mod and $mod ne 'n') {
-                my $a = $tok eq 'C' ? Num2Alpha($seqFileNum++) : $alpha;
+                my $a = $tok eq 'C' ? Num2Alpha($seq) : $alpha;
                 my $str = ($wid and $wid > length $a) ? 'a' x ($wid - length($a)) : '';
                 $str .= $a;
                 $str = uc $str if $mod eq 'u';
                 $filename .= $str;
             } else {
-                my $c = $tok eq 'C' ? $seqFileNum++ : $copy;
+                my $c = $tok eq 'C' ? $seq : $copy;
                 my $num = $c + ($mod ? 1 : 0);
                 $filename .= $wid ? sprintf("%.${wid}d",$num) : $num;
             }
@@ -3870,19 +3966,23 @@ exiftool - Read and write meta information in files
 
 =head1 SYNOPSIS
 
-=over 4
+=head2 Reading
+
+B<exiftool> [I<OPTIONS>] [-I<TAG>...] [--I<TAG>...] I<FILE>...
 
-=item B<exiftool> [I<OPTIONS>] [-I<TAG>...] [--I<TAG>...] I<FILE>...
+=head2 Writing
 
-=item B<exiftool> [I<OPTIONS>] -I<TAG>[+-E<lt>]=[I<VALUE>]... I<FILE>...
+B<exiftool> [I<OPTIONS>] -I<TAG>[+-E<lt>]=[I<VALUE>]... I<FILE>...
 
-=item B<exiftool> [I<OPTIONS>] B<-tagsFromFile> I<SRCFILE>
+=head2 Copying
+
+B<exiftool> [I<OPTIONS>] B<-tagsFromFile> I<SRCFILE>
 [-I<SRCTAG>[E<gt>I<DSTTAG>]...] I<FILE>...
 
-=item B<exiftool> [ B<-ver> |
-B<-list>[B<w>|B<f>|B<r>|B<wf>|B<g>[I<NUM>]|B<d>|B<x>] ]
+=head2 Other
 
-=back
+B<exiftool> [ B<-ver> |
+B<-list>[B<w>|B<f>|B<r>|B<wf>|B<g>[I<NUM>]|B<d>|B<x>] ]
 
 For specific examples, see the L<EXAMPLES|/READING EXAMPLES> sections below.
 
@@ -3917,42 +4017,42 @@ supported by ExifTool (r = read, w = write, c = create):
 
   File Types
   ------------+-------------+-------------+-------------+------------
-  3FR   r     | DV    r     | KDC   r     | OGV   r     | RW2   r/w
-  3G2   r/w   | DVB   r/w   | KEY   r     | OPUS  r     | RWL   r/w
-  3GP   r/w   | DYLIB r     | LA    r     | ORF   r/w   | RWZ   r
-  A     r     | EIP   r     | LFP   r     | OTF   r     | RM    r
-  AA    r     | EPS   r/w   | LNK   r     | PAC   r     | SEQ   r
-  AAX   r/w   | EPUB  r     | M2TS  r     | PAGES r     | SO    r
-  ACR   r     | ERF   r/w   | M4A/V r/w   | PBM   r/w   | SR2   r/w
-  AFM   r     | EXE   r     | MEF   r/w   | PCD   r     | SRF   r
-  AI    r/w   | EXIF  r/w/c | MIE   r/w/c | PDB   r     | SRW   r/w
-  AIFF  r     | EXR   r     | MIFF  r     | PDF   r/w   | SVG   r
-  APE   r     | EXV   r/w/c | MKA   r     | PEF   r/w   | SWF   r
-  ARW   r/w   | F4A/V r/w   | MKS   r     | PFA   r     | THM   r/w
-  ASF   r     | FFF   r/w   | MKV   r     | PFB   r     | TIFF  r/w
-  AVI   r     | FLA   r     | MNG   r/w   | PFM   r     | TORRENT r
-  AZW   r     | FLAC  r     | MOBI  r     | PGF   r     | TTC   r
-  BMP   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
-  BPG   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
-  BTF   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
-  CHM   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
-  COS   r     | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
-  CR2   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
-  CRW   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
-  CS1   r/w   | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
-  DCM   r     | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
-  DCP   r/w   | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
-  DCR   r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
-  DFONT r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
-  DIVX  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
-  DJVU  r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
-  DLL   r     | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
-  DNG   r/w   | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
-  DOC   r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
-  DOCX  r     | JNG   r/w   | ODS   r     | RAW   r/w   |
-  DPX   r     | JP2   r/w   | ODT   r     | RIFF  r     |
-  DR4   r/w/c | JPEG  r/w   | OFR   r     | RSRC  r     |
-  DSS   r     | K25   r     | OGG   r     | RTF   r     |
+  3FR   r     | DV    r     | K25   r     | OGG   r     | RTF   r
+  3G2   r/w   | DVB   r/w   | KDC   r     | OGV   r     | RW2   r/w
+  3GP   r/w   | DYLIB r     | KEY   r     | OPUS  r     | RWL   r/w
+  A     r     | EIP   r     | LA    r     | ORF   r/w   | RWZ   r
+  AA    r     | EPS   r/w   | LFP   r     | OTF   r     | RM    r
+  AAX   r/w   | EPUB  r     | LNK   r     | PAC   r     | SEQ   r
+  ACR   r     | ERF   r/w   | M2TS  r     | PAGES r     | SO    r
+  AFM   r     | EXE   r     | M4A/V r/w   | PBM   r/w   | SR2   r/w
+  AI    r/w   | EXIF  r/w/c | MEF   r/w   | PCD   r     | SRF   r
+  AIFF  r     | EXR   r     | MIE   r/w/c | PDB   r     | SRW   r/w
+  APE   r     | EXV   r/w/c | MIFF  r     | PDF   r/w   | SVG   r
+  ARW   r/w   | F4A/V r/w   | MKA   r     | PEF   r/w   | SWF   r
+  ASF   r     | FFF   r/w   | MKS   r     | PFA   r     | THM   r/w
+  AVI   r     | FLA   r     | MKV   r     | PFB   r     | TIFF  r/w
+  AZW   r     | FLAC  r     | MNG   r/w   | PFM   r     | TORRENT r
+  BMP   r     | FLIF  r/w   | MOBI  r     | PGF   r     | TTC   r
+  BPG   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
+  BTF   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
+  CHM   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
+  COS   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
+  CR2   r/w   | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
+  CRW   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
+  CS1   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
+  DCM   r     | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
+  DCP   r/w   | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
+  DCR   r     | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
+  DFONT r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
+  DIVX  r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
+  DJVU  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
+  DLL   r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
+  DNG   r/w   | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
+  DOC   r     | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
+  DOCX  r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
+  DPX   r     | JNG   r/w   | ODS   r     | RAW   r/w   |
+  DR4   r/w/c | JP2   r/w   | ODT   r     | RIFF  r     |
+  DSS   r     | JPEG  r/w   | OFR   r     | RSRC  r     |
 
   Meta Information
   ----------------------+----------------------+---------------------
@@ -4049,7 +4149,7 @@ L<Processing control|/Processing control>
   -overwrite_original_in_place     Overwrite original by copying tmp file
   -P          (-preserve)          Preserve date/time of original file
   -password PASSWD                 Password for processing protected files
-  -progress                        Show file progress count
+  -progress[:[TITLE]]              Show file progress count
   -q          (-quiet)             Quiet processing
   -r[.]       (-recurse)           Recursively process subdirectories
   -scanForXMP                      Brute force XMP scan
@@ -4086,6 +4186,7 @@ L<Advanced options|/Advanced options>
   -srcfile FMT                     Process a different source file
   -stay_open FLAG                  Keep reading -@ argfile even after EOF
   -userParam PARAM[=VAL]           Set user parameter (API UserParam opt)
+  -windowTitle TITLE               Set console window title for each file
 
 =head2 Option Details
 
@@ -4146,9 +4247,9 @@ Write a new value for the specified tag (eg. C<-comment=wow>), or delete the
 tag if no I<VALUE> is given (eg. C<-comment=>).  C<+=> and C<-=> are used to
 add or remove existing entries from a list, or to shift date/time values
 (see L<Image::ExifTool::Shift.pl|Image::ExifTool::Shift.pl> and note 6 below
-for more details).  C<+=> may also be used to increment numerical values,
-and C<-=> may be used to conditionally delete or replace a tag (see
-L</WRITING EXAMPLES> for examples).
+for more details).  C<+=> may also be used to increment numerical values (or
+decrement if I<VALUE> is negative), and C<-=> may be used to conditionally
+delete or replace a tag (see L</WRITING EXAMPLES> for examples).
 
 I<TAG> may contain one or more leading family 0, 1 or 2 group names,
 prefixed by optional family numbers, and separated colons.  If no group name
@@ -4539,9 +4640,9 @@ Set the format for date/time tag values.  The specifics of the I<FMT> syntax
 are system dependent -- consult the C<strftime> man page on your system for
 details.  The default format is equivalent to "%Y:%m:%d %H:%M:%S".  This
 option has no effect on date-only or time-only tags and ignores timezone
-information if present.  Only one B<-d> option may be used per command.  The
-inverse operation (ie. un-formatting a date/time value) is currently not
-applied when writing a date/time tag.
+information if present.  Only one B<-d> option may be used per command. 
+Requires POSIX::strptime for the inversion conversion when writing (not
+included in the Windows EXE package).
 
 =item B<-D> (B<-decimal>)
 
@@ -4737,7 +4838,7 @@ with this command:
 
 produces output like this:
 
-    -- Generated by ExifTool 10.25 --
+    -- Generated by ExifTool 10.31 --
     File: a.jpg - 2003:10:31 15:44:19
     (f/5.6, 1/60s, ISO 100)
     File: b.jpg - 2006:05:23 11:57:38
@@ -5284,15 +5385,24 @@ If a password is required but not given, a warning is issued and the
 document is not processed.  This option is ignored if a password is not
 required.
 
-=item B<-progress>
+=item B<-progress>[:[I<TITLE>]]
 
 Show file progress count in messages.  The progress count appears in
 brackets after the name of each processed file, and gives the current file
 number and the total number of files to be processed.  Implies the B<-v0>
-option, which prints the name of each processed file when writing.  When
-combined with the B<-if> option, the total count includes all files before
-the condition is applied, but files that fail the condition will not have
-their names printed.
+option if I<TITLE> is not used, printing the name of each processed file
+when writing.  When combined with the B<-if> option, the total count
+includes all files before the condition is applied, but files that fail the
+condition will not have their names printed.
+
+If followed by a colon (ie. B<-progress:>), the console window title is set
+according to the specified I<TITLE> string.  If no I<TITLE> is given, a
+default I<TITLE> string of "ExifTool %p%%" is assumed.  In the string, %f
+represents the file name, %p is the progress as a percent, %r is the
+progress as a ratio, and %% is a % character.  May be combined with the
+normal B<-progress> option to also show the progress count in console
+messages.  (Note:  This feature works on Mac/Linux only if stderr goes to
+the console.)
 
 =item B<-q> (B<-quiet>)
 
@@ -5367,11 +5477,12 @@ padding in embedded XMP, saving 2424 bytes when writing XMP in a file.
 Read command-line arguments from the specified file.  The file contains one
 argument per line (NOT one option per line -- some options require
 additional arguments, and all arguments must be placed on separate lines).
-Blank lines and lines beginning with C<#> are ignored.  Normal shell
-processing of arguments is not performed, which among other things means
-that arguments should not be quoted and spaces are treated as any other
-character.  I<ARGFILE> may exist relative to either the current directory or
-the exiftool directory unless an absolute pathname is given.
+Blank lines and lines beginning with C<#> are ignored.  White space at the
+start of a line is removed.  Normal shell processing of arguments is not
+performed, which among other things means that arguments should not be
+quoted and spaces are treated as any other character.  I<ARGFILE> may exist
+relative to either the current directory or the exiftool directory unless an
+absolute pathname is given.
 
 For example, the following I<ARGFILE> will set the value of Copyright to
 "Copyright YYYY, Phil Harvey", where "YYYY" is the year of CreateDate:
@@ -5430,7 +5541,9 @@ Note that none of the B<-list> options require an input I<FILE>.
 
 =item B<-ver>
 
-Print exiftool version number.
+Print exiftool version number.  The B<-v> option may be added to print
+addition system information (see the README file of the full distribution
+for more details about optional libraries).
 
 =back
 
@@ -5590,8 +5703,8 @@ more information about the ExifTool configuration file.
 
 =item B<-echo>[I<NUM>] I<TEXT>
 
-Echo text to stdout (B<-echo> or B<-echo1>) or stderr (B<-echo2>).  Text is
-output as the command line is parsed, before the processing of any input
+Echo I<TEXT> to stdout (B<-echo> or B<-echo1>) or stderr (B<-echo2>).  Text
+is output as the command line is parsed, before the processing of any input
 files.  I<NUM> may also be 3 or 4 to output text (to stdout or stderr
 respectively) after processing is complete.
 
diff --git a/html/ExifTool.html b/html/ExifTool.html
index d9de29f..7557878 100644
--- a/html/ExifTool.html
+++ b/html/ExifTool.html
@@ -495,22 +495,26 @@ distribution for examples.</p>
 <tr><td>Compress</td><td><a name="Compress"></a>Flag to write new values in compressed format if possible.
     Has no effect unless Compress::Zlib is installed.</td>
     <td align=center>0 or 1</td><td align=center>undef</td></tr>
-<tr><td>CoordFormat</td><td><a name="CoordFormat"></a>Specify output format for GPS coordinates.</td>
-    <td>A printf-style format string with specifiers for degrees, minutes and
-    seconds in that order, however minutes and seconds may be omitted.  If the
-    hemisphere is known, a reference direction (N, S, E or W) is appended to
-    each printed coordinate, but adding a '<code>+</code>' to the first format
-    specifier (eg. <code>'%+.6f'</code>) prints a signed coordinate instead.
-    The default for reading is equivalent to a format string of
-    <code>q{%d deg %d' %.2f"}</code>, but to avoid a loss
+<tr><td>CoordFormat</td><td>Specify output format for GPS coordinates.</td>
+    <td><a name="CoordFormat"></a>A printf-style format string with specifiers
+    for degrees, minutes and seconds in that order, however minutes and seconds
+    may be omitted.  If the hemisphere is known, a reference direction (N, S, E
+    or W) is appended to each printed coordinate, but adding a '<code>+</code>'
+    to the first format specifier (eg. <code>'%+.6f'</code>) prints a signed
+    coordinate instead. The default for reading is equivalent to a format string
+    of <code>q{%d deg %d' %.2f"}</code>, but to avoid a loss
     of precision the default for copying tags with
     <a href="#SetNewValuesFromFile">SetNewValuesFromFile</a> is
     <code>q{%d %d %.8f}</code>.
     </td><td align=center>undef</td></tr>
-<tr><td>DateFormat</td><td><a name="DateFormat"></a>Output format for date/time values. If date can not
+<tr><td>DateFormat</td><td>Output format for date/time values. If date can not
     be converted, value is left unchanged unless the StrictDate option is set.
-    Timezones are ignored.</td> <td>See strftime manpage for details.  The default
-    is similar to a format string of <code>"%Y:%m:%d %H:%M:%S"</code>.</td>
+    Timezones are ignored.  The inversion conversion (ie. when calling
+    <a href="#SetNewValue">SetNewValue</a>) is only performed if POSIX::strptime
+    is installed.</td> <td><a name="DateFormat"></a>See strftime manpage for
+    details.  The default setting of undef causes date/time values to remain in
+    standard EXIF format (similar to a DateFormat of
+    <code>"%Y:%m:%d %H:%M:%S"</code>).</td>
     <td align=center>undef</td></tr>
 <tr><td>Duplicates</td><td><a name="Duplicates"></a>Flag to return values from
     tags with duplicate names when extracting information.</td>
@@ -555,7 +559,7 @@ distribution for examples.</p>
     end of a JPEG image to check for an AFCP, CanonVRD, FotoStation,
     PhotoMechanic, MIE or PreviewImage trailer.  This also stops the parsing
     after the first comment in GIF images, and at the audio/video data with
-    RIFF-format files (AVI, WAV, etc), so any trailing metadata (ie.eg. XMP written
+    RIFF-format files (AVI, WAV, etc), so any trailing metadata (eg. XMP written
     by some utilities) may be missed.  When combined with the ScanForXMP option,
     prevents scanning for XMP in recognized file types.  With a value of 2,
     ExifTool will also avoid extracting any EXIF MakerNote information. When set
@@ -655,7 +659,7 @@ distribution for examples.</p>
 <tr><td>List</td><td><a name="List"></a>Flag to extract lists of PrintConv values into arrays instead of combining
     them into a string of values.</td><td align=center>0 or 1</td><td align=center>undef</td></tr>
 <tr><td>ListItem</td><td><a name="ListItem"></a>Return only a specific item from
-    List-type values.  A value of 0 returns the first item in each list, 1 returns
+    list-type values.  A value of 0 returns the first item in each list, 1 returns
     the second item, etc. Negative indices may also be used, with -1 representing the
     last item in the list. Applies only to the top-level list of nested lists.</td>
     <td align=center>An integer, or undef</td><td align=center>undef</td></tr>
@@ -664,11 +668,11 @@ distribution for examples.</p>
 <tr><td>ListSplit</td><td><a name="ListSplit"></a>Regular expression used to split values of list-type tags
     into individual items when writing.  (eg. use ',\\s*' to split a comma-separated list)</td>
     <td align=center>A regular expression pattern</td><td align=center>undef</td></tr>
-<tr><td>MakerNotes</td><td><a name="MakerNotes"></a>Option to extract MakerNotes and other writable
+<tr><td>MakerNotes</td><td>Option to extract MakerNotes and other writable
     subdirectories (such as PrintIM) as a data block.  Normally when the MakerNotes
     are extracted they are rebuilt to include data outside the boundaries of the
     original maker note data block, but a value of 2 disables this feature.</td>
-    <td><table class=clear>
+    <td><a name="MakerNotes"></a><table class=clear>
     <tr><td valign=top align=center><b>0</b> =</td><td>Don't extract writable subdirectories</td></tr>
     <tr><td valign=top align=center><b>1</b> =</td><td>Extract and rebuild makernotes into self-contained block</td></tr>
     <tr><td valign=top align=center><b>2</b> =</td><td>Extract without rebuilding makernotes</td></tr>
@@ -681,7 +685,7 @@ distribution for examples.</p>
     If not set, a minor error is issued for missing values, or the value
     is set to '' if IgnoreMinorErrors is set.</td>
     <td align=center>Any string, or undef</td><td align=center>undef</td></tr>
-<tr><td>NoPDFList</td><td><a name="NoPDFList"></a>Flag to avoid splitting PDF List-type tag
+<tr><td>NoPDFList</td><td><a name="NoPDFList"></a>Flag to avoid splitting PDF list-type tag
     values into separate items.</td>
     <td align=center>0 or 1</td><td align=center>undef</td></tr>
 <tr><td>Password</td><td><a name="Password"></a><a name="Passwd"></a>Password for reading/writing
@@ -778,16 +782,20 @@ distribution for examples.</p>
     Useful to allow external input into tag name expressions and ValueConv logic.
     <i>PARAM</i> is the user-defined parameter name (case insensitive). These parameters
     may be accessed in tag name expressions by prefixing the parameter name with a dollar
-    sign, just like normal tags. If called without a parameter name,
+    sign, just like normal tags. If called without no additional arguments,
     <code>Options('UserParam')</code> returns a reference to the hash of all user
     parameters (with lower-case names).
 </td>
     <td><table class=clear>
-    <tr><td valign=top><i>PARAM</i></td><td>- Get parameter</td></tr>
-    <tr><td valign=top><i>PARAM=</i></td><td>- Clear parameter</td></tr></table>
+    <tr><td valign=top><i>PARAM</i></td><td valign=top>-</td><td>Get parameter</td></tr>
+    <tr><td valign=top><i>PARAM=</i></td><td valign=top>-</td><td>Clear parameter</td></tr></table>
     <table class=clear>
-    <tr><td valign=top><i>PARAM=VALUE</i></td><td>- Set parameter</td></tr>
-    </table></td><td align=center>{ }</td></tr>
+    <tr><td valign=top><i>PARAM=VALUE</i></td><td valign=top>-</td><td>Set parameter</td></tr>
+    </table><table class=clear>
+    <tr><td valign=top><i>hash ref</i></td><td valign=top>-</td><td>Set UserParam hash</td></tr>
+    <tr><td valign=top><b>undef</b></td><td valign=top>-</td><td>Clear UserParam hash</td></tr>
+    </table>
+    </td><td align=center>{ }</td></tr>
 <tr><td>Verbose</td><td>Print verbose messages to file specified by TextOut option.
     <a href="verbose.html">Click here</a> for example outputs.</td>
     <td><a name="Verbose"></a><table class=clear>
@@ -1190,7 +1198,12 @@ errors are printed to STDERR.
     <tr><td valign=top align=center><b>1</b> =</td><td>Add to existing list, or warn for non-list tags</td></tr>
     <tr><td valign=top align=center><b>2</b> =</td><td>Add to existing list, or overwrite non-list tags</td></tr>
     </table></td><td align=center>0</td></tr>
-<tr><td>DelValue</td><td>Delete existing tag from a file if it has the specified value</td>
+<tr><td>DelValue</td><td>Delete existing tag from a file if it has the specified
+    value.  For list-type tags this deletes a specified item from the list.  For
+    non-list tags this may be used to conditionally replace a tag by providing a
+    new value in a separate call to <a href="#SetNewValue">SetNewValue</a> (see
+    examples below).  For structured tags, the entire structure is deleted/replaced
+    only if all of the specified fields match the existing structure.</td>
     <td align=center>0 or 1</td><td align=center>0</td></tr>
 <tr><td>EditGroup</td><td>Create tags in existing groups only. Don't create new group.
     Effectively removes the 'g' from the ExifTool WriteMode option for this tag only.</td>
@@ -1283,6 +1296,14 @@ $exifTool-><b>SetNewValue</b>(Keywords => $word, AddValue => 1);
 </pre></td></tr></table></blockquote>
 
 <blockquote><table class='box'><tr><td><pre>
+<span class=com># conditionally add or replace a tag if it didn't exist before
+# or had a specified value ("old value")</span>
+$exifTool-><b>SetNewValue</b>(Description => '', DelValue => 1);
+$exifTool-><b>SetNewValue</b>(Description => 'old value', DelValue => 1);
+$exifTool-><b>SetNewValue</b>(Description => 'new value');
+</pre></td></tr></table></blockquote>
+
+<blockquote><table class='box'><tr><td><pre>
 <span class=com># set a tag in a specific group</span>
 $exifTool-><b>SetNewValue</b>(Headline => $val, Group => 'XMP');
 $exifTool-><b>SetNewValue</b>('XMP:Headline' => $val);  <span class=com># (equivalent)</span>
@@ -1337,8 +1358,8 @@ group (with '<code>Adobe:*</code>') or as a block (with '<code>Adobe</code>').</
 <p>The following ExifTool options are effective in the call to
 <a href="#SetNewValue">SetNewValue</a>:</p>
 <blockquote>
-Charset, Escape, IgnoreMinorErrors, Lang, ListSep, ListSplit, PrintConv, Verbose
-and WriteMode.
+Charset, DateFormat, Escape, IgnoreMinorErrors, Lang, ListSep, ListSplit,
+PrintConv, StrictDate, Verbose and WriteMode.
 </blockquote>
 
 <hr><h2><a name="GetNewValue">GetNewValue</a><a name="GetNewValues"></a></h2>
@@ -2017,13 +2038,13 @@ return value for unsupported files is undef).
 </td></tr>
 <tr><td valign=top><b>Returns</b></td><td>A string, based on the file extension, which
 indicates the basic format of the file.  Note that some files may be based on
-other formats (like many RAW image formats are based on TIFF).  In array
-context, may return more than one file type if the file may be based on
-different formats.  Returns undef if files with this extension are not yet
-supported by ExifTool.  Returns a list of extensions for all supported file
-types if no input extension is specified (or all recognized file types if the
-description flag is set to 0).  Returns a more detailed description of the
-specific file format when the description flag is set.</td></tr>
+other formats (like many RAW image formats are based on TIFF).  In list context,
+may return more than one file type if the file may be based on different
+formats.  Returns undef if files with this extension are not yet supported by
+ExifTool.  Returns a list of extensions for all supported file types if no input
+extension is specified (or all recognized file types if the description flag is
+set to 0).  Returns a more detailed description of the specific file format when
+the description flag is set.</td></tr>
 </table></blockquote>
 <p><b>Examples:</b></p>
 <blockquote><table class='box'><tr><td><pre>
diff --git a/html/Shift.html b/html/Shift.html
index 2ff57e1..72fa93f 100644
--- a/html/Shift.html
+++ b/html/Shift.html
@@ -23,7 +23,13 @@
 
 	<li><a href="#name">NAME</a></li>
 	<li><a href="#description">DESCRIPTION</a></li>
-	<li><a href="#details">DETAILS</a></li>
+	<li><a href="#methods">METHODS</a></li>
+	<ul>
+
+		<li><a href="#shifttime">ShiftTime</a></li>
+	</ul>
+
+	<li><a href="#shift_string">SHIFT STRING</a></li>
 	<li><a href="#notes">NOTES</a></li>
 	<li><a href="#tricky">TRICKY</a></li>
 	<li><a href="#bugs">BUGS</a></li>
@@ -48,7 +54,37 @@ values.</p>
 <p>
 </p>
 <hr />
-<h1><a name="details">DETAILS</a></h1>
+<h1><a name="methods">METHODS</a></h1>
+<p>
+</p>
+<h2><a name="shifttime">ShiftTime</a></h2>
+<p>Shift date/time value</p>
+<pre>
+    use Image::ExifTool;
+    $err = Image::ExifTool::ShiftTime($dateTime, $shift);</pre>
+<dl>
+<dt><strong><a name="inputs" class="item">Inputs:</a></strong></dt>
+
+<dd>
+<p>0) Date/time string in EXIF format (eg. <code>2016:01:30 11:45:00</code>).</p>
+<p>1) Shift string (see below) with optional leading sign for shift direction.</p>
+<p>2) [optional] Direction of shift (-1 or +1), or 0 or undef to use the sign
+from the shift string.</p>
+<p>3) [optional] Reference to time-shift hash -- filled in by first call to
+<strong>ShiftTime</strong>, and used in subsequent calls to shift date/time values by the
+same relative amount (see <a href="#tricky">TRICKY</a> section below).</p>
+</dd>
+<dt><strong><a name="return_value" class="item">Return value:</a></strong></dt>
+
+<dd>
+<p>Error string, or undef on success and the input date/time string is shifted
+by the specified amount.</p>
+</dd>
+</dl>
+<p>
+</p>
+<hr />
+<h1><a name="shift_string">SHIFT STRING</a></h1>
 <p>Time shifts are applied to standard EXIF-formatted date/time values (eg.
 <code>2005:03:14 18:55:00</code>).  Date-only and time-only values may also be
 shifted, and an optional timezone (eg. <code>-05:00</code>) is also supported.  Here
diff --git a/html/TagNames/Apple.html b/html/TagNames/Apple.html
index abdce34..48107e0 100644
--- a/html/TagNames/Apple.html
+++ b/html/TagNames/Apple.html
@@ -7,7 +7,7 @@
 </head>
 <body>
 <h2 class=top>Apple Tags</h2>
-<p>Tags extracted from maker notes of images from the iPhone 5 with iOS 7.</p>
+<p>Tags extracted from the maker notes of iPhone images.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -19,16 +19,28 @@
 <td class=c>-</td>
 <td>--> <a href='Apple.html#RunTime'>Apple RunTime Tags</a></td></tr>
 <tr class=b>
+<td title='0x0008 = 8'>0x0008</td>
+<td>AccelerationVector</td>
+<td class=c>rational64s[3]</td>
+<td><span class=s><span class=n>(XYZ coordinates of the acceleration vector in units of g.  As viewed from
+the front of the phone, positive X is toward the left side, positive Y is
+toward the bottom, and positive Z points into the face of the phone)</span></span></td></tr>
+<tr>
 <td title='0x000a = 10'>0x000a</td>
 <td>HDRImageType</td>
 <td class=c>int32s</td>
 <td><span class=s>3 = HDR Image
   <br>4 = Original Image</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x000b = 11'>0x000b</td>
 <td>BurstUUID</td>
 <td class=c>string</td>
 <td><span class=s><span class=n>(unique ID for all images in a burst)</span></span></td></tr>
+<tr>
+<td title='0x0015 = 21'>0x0015</td>
+<td>ImageUniqueID</td>
+<td class=c>string</td>
+<td> </td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='RunTime'>Apple RunTime Tags</a></h2>
@@ -68,7 +80,7 @@ boot, not including standby time.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Mar 19, 2015</i>
+<br><i>Last revised Oct 6, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Canon.html b/html/TagNames/Canon.html
index 8a810c1..bf275d2 100644
--- a/html/TagNames/Canon.html
+++ b/html/TagNames/Canon.html
@@ -84,19 +84,24 @@
   <br>CanonCameraInfo50D
   <br>CanonCameraInfo60D
   <br>CanonCameraInfo70D
+  <br>CanonCameraInfo80D
   <br>CanonCameraInfo450D
   <br>CanonCameraInfo500D
   <br>CanonCameraInfo550D
   <br>CanonCameraInfo600D
   <br>CanonCameraInfo650D
+  <br>CanonCameraInfo700D
+  <br>CanonCameraInfo750D
+  <br>CanonCameraInfo760D
   <br>CanonCameraInfo1000D
   <br>CanonCameraInfo1100D
+  <br>CanonCameraInfo1200D
   <br>CanonCameraInfoPowerShot
   <br>CanonCameraInfoPowerShot2
   <br>CanonCameraInfoUnknown32
   <br>CanonCameraInfoUnknown16
   <br>CanonCameraInfoUnknown</td>
-<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-</td>
+<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-</td>
 <td>--> <a href='Canon.html#CameraInfo1D'>Canon CameraInfo1D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo1DmkII'>Canon CameraInfo1DmkII Tags</a>
   <br>--> <a href='Canon.html#CameraInfo1DmkIIN'>Canon CameraInfo1DmkIIN Tags</a>
@@ -112,13 +117,18 @@
   <br>--> <a href='Canon.html#CameraInfo50D'>Canon CameraInfo50D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo60D'>Canon CameraInfo60D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo70D'>Canon CameraInfo70D Tags</a>
+  <br>--> <a href='Canon.html#CameraInfo80D'>Canon CameraInfo80D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo450D'>Canon CameraInfo450D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo500D'>Canon CameraInfo500D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo550D'>Canon CameraInfo550D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo600D'>Canon CameraInfo600D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo650D'>Canon CameraInfo650D Tags</a>
+  <br>--> <a href='Canon.html#CameraInfo650D'>Canon CameraInfo650D Tags</a>
+  <br>--> <a href='Canon.html#CameraInfo750D'>Canon CameraInfo750D Tags</a>
+  <br>--> <a href='Canon.html#CameraInfo750D'>Canon CameraInfo750D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo1000D'>Canon CameraInfo1000D Tags</a>
   <br>--> <a href='Canon.html#CameraInfo600D'>Canon CameraInfo600D Tags</a>
+  <br>--> <a href='Canon.html#CameraInfo60D'>Canon CameraInfo60D Tags</a>
   <br>--> <a href='Canon.html#CameraInfoPowerShot'>Canon CameraInfoPowerShot Tags</a>
   <br>--> <a href='Canon.html#CameraInfoPowerShot2'>Canon CameraInfoPowerShot2 Tags</a>
   <br>--> <a href='Canon.html#CameraInfoUnknown32'>Canon CameraInfoUnknown32 Tags</a>
@@ -730,6 +740,7 @@
 </tr><tr><td class=r>0x3890000</td><td>= PowerShot ELPH 170 IS / IXUS 170</td>
 </tr><tr><td class=r>0x3910000</td><td>= PowerShot SX410 IS</td>
 </tr><tr><td class=r>0x3930000</td><td>= PowerShot G9 X</td>
+</tr><tr><td class=r>0x3940000</td><td>= EOS M5</td>
 </tr><tr><td class=r>0x3950000</td><td>= PowerShot G5 X</td>
 </tr><tr><td class=r>0x3970000</td><td>= PowerShot G7 X Mark II</td>
 </tr><tr><td class=r>0x3990000</td><td>= PowerShot ELPH 360 HS / IXUS 285 HS / IXY 650</td>
@@ -739,6 +750,7 @@
 </tr><tr><td class=r>0x4040000</td><td>= PowerShot G1</td>
 </tr><tr><td class=r>0x4040001</td><td>= IXY 180</td>
 </tr><tr><td class=r>0x4050000</td><td>= PowerShot SX720 HS</td>
+</tr><tr><td class=r>0x4060000</td><td>= PowerShot SX620 HS</td>
 </tr><tr><td class=r>0x6040000</td><td>= PowerShot S100 / Digital IXUS / IXY Digital</td>
 </tr><tr><td class=r>0x4007d673</td><td>= DC19/DC21/DC22</td>
 </tr><tr><td class=r>0x4007d674</td><td>= XH A1</td>
@@ -816,6 +828,7 @@
 </tr><tr><td class=r>0x80000331</td><td>= EOS M</td>
 </tr><tr><td class=r>0x80000346</td><td>= EOS Rebel SL1 / 100D / Kiss X7</td>
 </tr><tr><td class=r>0x80000347</td><td>= EOS Rebel T6s / 760D / 8000D</td>
+</tr><tr><td class=r>0x80000349</td><td>= EOS 5D Mark IV</td>
 </tr><tr><td class=r>0x80000350</td><td>= EOS 80D</td>
 </tr><tr><td class=r>0x80000355</td><td>= EOS M2</td>
 </tr><tr><td class=r>0x80000382</td><td>= EOS 5DS</td>
@@ -1380,6 +1393,7 @@ attempting to identify the specific lens model.</p>
 </tr><tr><td>52</td><td>= Canon EF-S 18-55mm f/3.5-5.6 IS II</td>
 </tr><tr><td>53</td><td>= Canon EF-S 18-55mm f/3.5-5.6 III</td>
 </tr><tr><td>54</td><td>= Canon EF-S 55-250mm f/4-5.6 IS II</td>
+</tr><tr><td>60</td><td>= Irix 11mm f/4</td>
 </tr><tr><td>94</td><td>= Canon TS-E 17mm f/4L</td>
 </tr><tr><td>95</td><td>= Canon TS-E 24.0mm f/3.5 L II</td>
 </tr><tr><td>124</td><td>= Canon MP-E 65mm f/2.8 1-5x Macro Photo</td>
@@ -1582,7 +1596,7 @@ attempting to identify the specific lens model.</p>
 </tr><tr><td>252</td><td>= Canon EF 70-200mm f/2.8L IS II USM + 1.4x</td>
 </tr><tr><td>253</td><td>= Canon EF 70-200mm f/2.8L IS II USM + 2x</td>
 </tr><tr><td>254</td><td>= Canon EF 100mm f/2.8L Macro IS USM</td>
-</tr><tr><td>255</td><td>= Sigma 24-105mm f/4 DG OS HSM | A or Other Sigma Lens</td>
+</tr><tr><td>255</td><td>= Sigma 24-105mm f/4 DG OS HSM | A or Sigma Lens</td>
 </tr><tr><td>255.1</td><td>= Sigma 180mm f/2.8 EX DG OS HSM APO Macro</td>
 </tr><tr><td>488</td><td>= Canon EF-S 15-85mm f/3.5-5.6 IS USM</td>
 </tr><tr><td>489</td><td>= Canon EF 70-300mm f/4-5.6L IS USM</td>
@@ -1602,9 +1616,12 @@ attempting to identify the specific lens model.</p>
 </tr><tr><td>506</td><td>= Canon EF 400mm f/4 DO IS II USM</td>
 </tr><tr><td>507</td><td>= Canon EF 16-35mm f/4L IS USM</td>
 </tr><tr><td>508</td><td>= Canon EF 11-24mm f/4L USM</td>
-</tr><tr><td>747</td><td>= Canon EF 100-400mm f/4.5-5.6L IS II USM</td>
+</tr><tr><td>747</td><td>= Canon EF 100-400mm f/4.5-5.6L IS II USM or Tamron Lens</td>
+</tr><tr><td>747.1</td><td>= Tamron SP 150-600mm F5-6.3 Di VC USD G2</td>
 </tr><tr><td>748</td><td>= Canon EF 100-400mm f/4.5-5.6L IS II USM + 1.4x</td>
 </tr><tr><td>750</td><td>= Canon EF 35mm f/1.4L II USM</td>
+</tr><tr><td>751</td><td>= Canon EF 16-35mm f/2.8L III USM</td>
+</tr><tr><td>752</td><td>= Canon EF 24-105mm f/4L IS II USM</td>
 </tr><tr><td>4142</td><td>= Canon EF-S 18-135mm f/3.5-5.6 IS STM</td>
 </tr><tr><td>4143</td><td>= Canon EF-M 18-55mm f/3.5-5.6 IS STM or Tamron Lens</td>
 </tr><tr><td>4143.1</td><td>= Tamron 18-200mm F/3.5-6.3 Di III VC</td>
@@ -1620,6 +1637,7 @@ attempting to identify the specific lens model.</p>
 </tr><tr><td>4154</td><td>= Canon EF-S 24mm f/2.8 STM</td>
 </tr><tr><td>4155</td><td>= Canon EF-M 28mm f/3.5 Macro IS STM</td>
 </tr><tr><td>4156</td><td>= Canon EF 50mm f/1.8 STM</td>
+</tr><tr><td>4157</td><td>= Canon EF-M 18-150mm 1:3.5-6.3 IS STM</td>
 </tr><tr><td>36912</td><td>= Canon EF-S 18-135mm f/3.5-5.6 IS USM</td>
 </tr><tr><td>65535</td><td>= n/a</td>
 </tr></table></td></tr></table></blockquote>
@@ -4382,7 +4400,7 @@ versions 1.0.x, but they may be different for other firmware versions.</p>
 </table></td></tr></table></blockquote>
 
 <h2><a name='CameraInfo60D'>Canon CameraInfo60D Tags</a></h2>
-<p>CameraInfo tags for the EOS 60D.</p>
+<p>CameraInfo tags for the EOS 60D and 1200D.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4417,24 +4435,25 @@ versions 1.0.x, but they may be different for other firmware versions.</p>
 <td class=r title='54 = 0x36'>54</td>
 <td>CameraOrientation</td>
 <td class=c>int8u</td>
-<td><span class=s>0 = Horizontal (normal)
+<td><span class=s><span class=n>(60D only)</span>
+  <br>0 = Horizontal (normal)
   <br>1 = Rotate 90 CW
   <br>2 = Rotate 270 CW</span></td></tr>
 <tr>
 <td class=r title='85 = 0x55'>85</td>
 <td>FocusDistanceUpper</td>
 <td class=c>int16uRev</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(60D only)</span></span></td></tr>
 <tr class=b>
 <td class=r title='87 = 0x57'>87</td>
 <td>FocusDistanceLower</td>
 <td class=c>int16uRev</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(60D only)</span></span></td></tr>
 <tr>
 <td class=r title='125 = 0x7d'>125</td>
 <td>ColorTemperature</td>
 <td class=c>int16u</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(60D only)</span></span></td></tr>
 <tr class=b>
 <td class=r title='232 = 0xe8'>232</td>
 <td>LensType</td>
@@ -4459,17 +4478,24 @@ versions 1.0.x, but they may be different for other firmware versions.</p>
 <td class=r title='473 = 0x1d9'>473</td>
 <td>FileIndex</td>
 <td class=c>int32u</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(60D only)</span></span></td></tr>
 <tr>
 <td class=r title='485 = 0x1e5'>485</td>
 <td>DirectoryIndex</td>
 <td class=c>int32u</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(60D only)</span></span></td></tr>
 <tr class=b>
+<td class=r title='761 = 0x2f9'>761</td>
+<td>PictureStyleInfo</td>
+<td class=c>-</td>
+<td>--> <a href='Canon.html#PSInfo2'>Canon PSInfo2 Tags</a>
+  <br><span class='n s'>(1200D)</span></td></tr>
+<tr>
 <td class=r title='801 = 0x321'>801</td>
 <td>PictureStyleInfo</td>
 <td class=c>-</td>
-<td>--> <a href='Canon.html#PSInfo2'>Canon PSInfo2 Tags</a></td></tr>
+<td>--> <a href='Canon.html#PSInfo2'>Canon PSInfo2 Tags</a>
+  <br><span class='n s'>(60D)</span></td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='CameraInfo70D'>Canon CameraInfo70D Tags</a></h2>
@@ -4563,6 +4589,92 @@ versions 1.0.x, but they may be different for other firmware versions.</p>
 <td>--> <a href='Canon.html#PSInfo2'>Canon PSInfo2 Tags</a></td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='CameraInfo80D'>Canon CameraInfo80D Tags</a></h2>
+<p>CameraInfo tags for the EOS 70D.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index1</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='3 = 0x3'>3</td>
+<td>FNumber</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='4 = 0x4'>4</td>
+<td>ExposureTime</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr>
+<td class=r title='6 = 0x6'>6</td>
+<td>ISO</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='27 = 0x1b'>27</td>
+<td>CameraTemperature</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr>
+<td class=r title='35 = 0x23'>35</td>
+<td>FocalLength</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='150 = 0x96'>150</td>
+<td>CameraOrientation</td>
+<td class=c>int8u</td>
+<td><span class=s>0 = Horizontal (normal)
+  <br>1 = Rotate 90 CW
+  <br>2 = Rotate 270 CW</span></td></tr>
+<tr>
+<td class=r title='165 = 0xa5'>165</td>
+<td>FocusDistanceUpper</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='167 = 0xa7'>167</td>
+<td>FocusDistanceLower</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr>
+<td class=r title='314 = 0x13a'>314</td>
+<td>ColorTemperature</td>
+<td class=c>int16u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='393 = 0x189'>393</td>
+<td>LensType</td>
+<td class=c>int16uRev</td>
+<td>--> <a href='Canon.html#LensType'>Canon LensType Values</a></td></tr>
+<tr>
+<td class=r title='395 = 0x18b'>395</td>
+<td>MinFocalLength</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='397 = 0x18d'>397</td>
+<td>MaxFocalLength</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr>
+<td class=r title='1114 = 0x45a'>1114</td>
+<td>FirmwareVersion</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='1198 = 0x4ae'>1198</td>
+<td>FileIndex</td>
+<td class=c>int32u</td>
+<td> </td></tr>
+<tr>
+<td class=r title='1210 = 0x4ba'>1210</td>
+<td>DirectoryIndex</td>
+<td class=c>int32u</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <h2><a name='CameraInfo450D'>Canon CameraInfo450D Tags</a></h2>
 <p>CameraInfo tags for the EOS 450D.</p>
 <blockquote>
@@ -5153,6 +5265,90 @@ versions 1.0.x, but they may be different for other firmware versions.</p>
 <td>--> <a href='Canon.html#PSInfo2'>Canon PSInfo2 Tags</a></td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='CameraInfo750D'>Canon CameraInfo750D Tags</a></h2>
+<p>CameraInfo tags for the EOS 750D and 760D.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index1</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='3 = 0x3'>3</td>
+<td>FNumber</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='4 = 0x4'>4</td>
+<td>ExposureTime</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr>
+<td class=r title='6 = 0x6'>6</td>
+<td>ISO</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='27 = 0x1b'>27</td>
+<td>CameraTemperature</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr>
+<td class=r title='35 = 0x23'>35</td>
+<td>FocalLength</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='165 = 0xa5'>165</td>
+<td>FocusDistanceUpper</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr>
+<td class=r title='167 = 0xa7'>167</td>
+<td>FocusDistanceLower</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='305 = 0x131'>305</td>
+<td>WhiteBalance</td>
+<td class=c>int16u</td>
+<td>--> <a href='Canon.html#WhiteBalance'>Canon WhiteBalance Values</a></td></tr>
+<tr>
+<td class=r title='309 = 0x135'>309</td>
+<td>ColorTemperature</td>
+<td class=c>int16u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='361 = 0x169'>361</td>
+<td>PictureStyle</td>
+<td class=c>int8u</td>
+<td>--> <a href='Canon.html#PictureStyle'>Canon PictureStyle Values</a></td></tr>
+<tr>
+<td class=r title='388 = 0x184'>388</td>
+<td>LensType</td>
+<td class=c>int16uRev</td>
+<td>--> <a href='Canon.html#LensType'>Canon LensType Values</a></td></tr>
+<tr class=b>
+<td class=r title='390 = 0x186'>390</td>
+<td>MinFocalLength</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr>
+<td class=r title='392 = 0x188'>392</td>
+<td>MaxFocalLength</td>
+<td class=c>int16uRev</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='1085 = 0x43d'>1085</td>
+<td>FirmwareVersion</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='1097 = 0x449'>1097</td>
+<td>FirmwareVersion</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <h2><a name='CameraInfo1000D'>Canon CameraInfo1000D Tags</a></h2>
 <p>CameraInfo tags for the EOS 1000D.</p>
 <blockquote>
@@ -9105,12 +9301,12 @@ to the one printed on the lens)</span></span></td></tr>
 <td>SelectAFAreaSelectionMode</td>
 <td class=c>int32s</td>
 <td><table class=cols><tr>
-  <td>Bit 0 = Single pt
+  <td>Bit 0 = Single-point AF
   <br>Bit 1 = Auto
-  <br>Bit 2 = Zone</td><td>  </td>
-  <td>Bit 3 = Expand area 4pt
-  <br>Bit 4 = Spot
-  <br>Bit 5 = Expand area 8pt</td></tr></table>
+  <br>Bit 2 = Zone AF
+  <br>Bit 3 = AF Point Expansion (4 point)
+  <br>Bit 4 = Spot AF
+  <br>Bit 5 = AF Point Expansion (8 point)</td></tr></table>
 </td></tr>
 <tr>
 <td class=r title='13 = 0xd'>13</td>
@@ -9439,6 +9635,7 @@ SX280.</p>
 </tr><tr><td class=r>0x3890000</td><td>= PowerShot ELPH 170 IS / IXUS 170</td>
 </tr><tr><td class=r>0x3910000</td><td>= PowerShot SX410 IS</td>
 </tr><tr><td class=r>0x3930000</td><td>= PowerShot G9 X</td>
+</tr><tr><td class=r>0x3940000</td><td>= EOS M5</td>
 </tr><tr><td class=r>0x3950000</td><td>= PowerShot G5 X</td>
 </tr><tr><td class=r>0x3970000</td><td>= PowerShot G7 X Mark II</td>
 </tr><tr><td class=r>0x3990000</td><td>= PowerShot ELPH 360 HS / IXUS 285 HS / IXY 650</td>
@@ -9448,6 +9645,7 @@ SX280.</p>
 </tr><tr><td class=r>0x4040000</td><td>= PowerShot G1</td>
 </tr><tr><td class=r>0x4040001</td><td>= IXY 180</td>
 </tr><tr><td class=r>0x4050000</td><td>= PowerShot SX720 HS</td>
+</tr><tr><td class=r>0x4060000</td><td>= PowerShot SX620 HS</td>
 </tr><tr><td class=r>0x6040000</td><td>= PowerShot S100 / Digital IXUS / IXY Digital</td>
 </tr><tr><td class=r>0x4007d673</td><td>= DC19/DC21/DC22</td>
 </tr><tr><td class=r>0x4007d674</td><td>= XH A1</td>
@@ -9525,6 +9723,7 @@ SX280.</p>
 </tr><tr><td class=r>0x80000331</td><td>= EOS M</td>
 </tr><tr><td class=r>0x80000346</td><td>= EOS Rebel SL1 / 100D / Kiss X7</td>
 </tr><tr><td class=r>0x80000347</td><td>= EOS Rebel T6s / 760D / 8000D</td>
+</tr><tr><td class=r>0x80000349</td><td>= EOS 5D Mark IV</td>
 </tr><tr><td class=r>0x80000350</td><td>= EOS 80D</td>
 </tr><tr><td class=r>0x80000355</td><td>= EOS M2</td>
 </tr><tr><td class=r>0x80000382</td><td>= EOS 5DS</td>
@@ -9535,7 +9734,7 @@ SX280.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Aug 3, 2016</i>
+<br><i>Last revised Oct 11, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Composite.html b/html/TagNames/Composite.html
index 13b5382..e9d8d7e 100644
--- a/html/TagNames/Composite.html
+++ b/html/TagNames/Composite.html
@@ -161,10 +161,16 @@ may be incorrect if the image has been resized)</span></span></td></tr>
 <tr class=b>
 <td>Duration</td>
 <td class=c>N</td>
+<td class=n>FLAC:SampleRate
+  <br>FLAC:TotalSamples</td>
+<td> </td></tr>
+<tr>
+<td>Duration</td>
+<td class=c>N</td>
 <td class=n>Vorbis:NominalBitrate
   <br>FileSize</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>Duration</td>
 <td class=c>N</td>
 <td class=n>APE:SampleRate
@@ -172,12 +178,6 @@ may be incorrect if the image has been resized)</span></span></td></tr>
   <br>APE:BlocksPerFrame
   <br>APE:FinalFrameBlocks</td>
 <td> </td></tr>
-<tr class=b>
-<td>Duration</td>
-<td class=c>N</td>
-<td class=n>FLAC:SampleRate
-  <br>FLAC:TotalSamples</td>
-<td> </td></tr>
 <tr>
 <td>Duration</td>
 <td class=c>N</td>
@@ -628,21 +628,24 @@ resized)</span></span></td></tr>
 <td> </td></tr>
 <tr>
 <td>SubSecCreateDate</td>
-<td class=c>N</td>
+<td class=c>Y</td>
 <td class=n>EXIF:CreateDate
-  <br>SubSecTimeDigitized</td>
+  <br>SubSecTimeDigitized
+  <br>OffsetTimeDigitized</td>
 <td> </td></tr>
 <tr class=b>
 <td>SubSecDateTimeOriginal</td>
-<td class=c>N</td>
+<td class=c>Y</td>
 <td class=n>EXIF:DateTimeOriginal
-  <br>SubSecTimeOriginal</td>
+  <br>SubSecTimeOriginal
+  <br>OffsetTimeOriginal</td>
 <td> </td></tr>
 <tr>
 <td>SubSecModifyDate</td>
-<td class=c>N</td>
+<td class=c>Y</td>
 <td class=n>EXIF:ModifyDate
-  <br>SubSecTime</td>
+  <br>SubSecTime
+  <br>OffsetTime</td>
 <td> </td></tr>
 <tr class=b>
 <td>ThumbnailImage</td>
@@ -730,7 +733,7 @@ resized)</span></span></td></tr>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised May 6, 2016</i>
+<br><i>Last revised Sep 26, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/DarwinCore.html b/html/TagNames/DarwinCore.html
index 955001e..66a66b4 100644
--- a/html/TagNames/DarwinCore.html
+++ b/html/TagNames/DarwinCore.html
@@ -9,6 +9,9 @@
 <h2 class=top>DarwinCore Tags</h2>
 <p>Tags defined in the Darwin Core (dwc) XMP namespace.  See
 <a href="http://rs.tdwg.org/dwc/index.htm">http://rs.tdwg.org/dwc/index.htm</a> for the official specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-dwc family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -1479,7 +1482,7 @@
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jan 23, 2014</i>
+<br><i>Last revised Sep 14, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/EXIF.html b/html/TagNames/EXIF.html
index c8f778e..d64e981 100644
--- a/html/TagNames/EXIF.html
+++ b/html/TagNames/EXIF.html
@@ -20,11 +20,11 @@ ExifTool family 1 group names.  When writing EXIF information, the default
 
 <p>The table below lists all EXIF tags.  Also listed are TIFF, DNG, HDP and
 other tags which are not part of the EXIF specification, but may co-exist
-with EXIF tags in some images.  Tags which are part of the EXIF 2.3
+with EXIF tags in some images.  Tags which are part of the EXIF 2.31
 specification have an underlined <b>Tag Name</b> in the HTML version of this
 documentation.  See
-<a href="http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf">http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf</a> for the official
-EXIF 2.3 specification.
+<a href="http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf">http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf</a> for the
+official EXIF 2.31 specification.
 </p>
 <blockquote>
 <table class=frame><tr><td>
@@ -823,169 +823,175 @@ OtherImageLength in everything else)</span></span></td></tr>
   <br>2 = Sony Compressed RAW
   <br>3 = Sony Lossless Compressed RAW</span></td></tr>
 <tr>
+<td title='0x7032 = 28722'>0x7032</td>
+<td>LightFalloffParams</td>
+<td class=c title=' ! = Unsafe'>int16s[17]!</td>
+<td class=c>SubIFD</td>
+<td><span class=s><span class=n>(found in Sony ARW images)</span></span></td></tr>
+<tr class=b>
 <td title='0x7035 = 28725'>0x7035</td>
 <td>ChromaticAberrationCorrParams</td>
-<td class=c>N</td>
-<td class=c>-</td>
-<td> </td></tr>
-<tr class=b>
+<td class=c title=' ! = Unsafe'>int16s[33]!</td>
+<td class=c>SubIFD</td>
+<td><span class=s><span class=n>(found in Sony ARW images)</span></span></td></tr>
+<tr>
 <td title='0x7037 = 28727'>0x7037</td>
 <td>DistortionCorrParams</td>
-<td class=c>N</td>
-<td class=c>-</td>
-<td> </td></tr>
-<tr>
+<td class=c title=' ! = Unsafe'>int16s[17]!</td>
+<td class=c>SubIFD</td>
+<td><span class=s><span class=n>(found in Sony ARW images)</span></span></td></tr>
+<tr class=b>
 <td title='0x800d = 32781'>0x800d</td>
 <td>ImageID</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x80a3 = 32931'>0x80a3</td>
 <td>WangTag1</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x80a4 = 32932'>0x80a4</td>
 <td>WangAnnotation</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x80a5 = 32933'>0x80a5</td>
 <td>WangTag3</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x80a6 = 32934'>0x80a6</td>
 <td>WangTag4</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x80b9 = 32953'>0x80b9</td>
 <td>ImageReferencePoints</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x80ba = 32954'>0x80ba</td>
 <td>RegionXformTackPoint</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x80bb = 32955'>0x80bb</td>
 <td>WarpQuadrilateral</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x80bc = 32956'>0x80bc</td>
 <td>AffineTransformMat</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x80e3 = 32995'>0x80e3</td>
 <td>Matteing</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x80e4 = 32996'>0x80e4</td>
 <td>DataType</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x80e5 = 32997'>0x80e5</td>
 <td>ImageDepth</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x80e6 = 32998'>0x80e6</td>
 <td>TileDepth</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8214 = 33300'>0x8214</td>
 <td>ImageFullWidth</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8215 = 33301'>0x8215</td>
 <td>ImageFullHeight</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8216 = 33302'>0x8216</td>
 <td>TextureFormat</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8217 = 33303'>0x8217</td>
 <td>WrapModes</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8218 = 33304'>0x8218</td>
 <td>FovCot</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8219 = 33305'>0x8219</td>
 <td>MatrixWorldToScreen</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x821a = 33306'>0x821a</td>
 <td>MatrixWorldToCamera</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x827d = 33405'>0x827d</td>
 <td>Model2</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x828d = 33421'>0x828d</td>
 <td>CFARepeatPatternDim</td>
 <td class=c title=' ! = Unsafe'>int16u[2]!</td>
 <td class=c>SubIFD</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x828e = 33422'>0x828e</td>
 <td>CFAPattern2</td>
 <td class=c title=' ! = Unsafe'>int8u[n]!</td>
 <td class=c>SubIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x828f = 33423'>0x828f</td>
 <td>BatteryLevel</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8290 = 33424'>0x8290</td>
 <td>KodakIFD</td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='Kodak.html#IFD'>Kodak IFD Tags</a>
   <br><span class='n s'>(used in various types of Kodak images)</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x8298 = 33432'>0x8298</td>
 <td><u>Copyright</u></td>
 <td class=c>string</td>
@@ -994,163 +1000,163 @@ OtherImageLength in everything else)</span></span></td></tr>
 newline.  As per the EXIF specification, the newline is replaced by a null
 byte when writing to file, but this may be avoided by disabling the print
 conversion)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x829a = 33434'>0x829a</td>
 <td><u>ExposureTime</u></td>
 <td class=c>rational64u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x829d = 33437'>0x829d</td>
 <td><u>FNumber</u></td>
 <td class=c>rational64u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x82a5 = 33445'>0x82a5</td>
 <td>MDFileTag</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td><span class=s><span class=n>(tags 0x82a5-0x82ac are used in Molecular Dynamics GEL files)</span></span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x82a6 = 33446'>0x82a6</td>
 <td>MDScalePixel</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x82a7 = 33447'>0x82a7</td>
 <td>MDColorTable</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x82a8 = 33448'>0x82a8</td>
 <td>MDLabName</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x82a9 = 33449'>0x82a9</td>
 <td>MDSampleInfo</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x82aa = 33450'>0x82aa</td>
 <td>MDPrepDate</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x82ab = 33451'>0x82ab</td>
 <td>MDPrepTime</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x82ac = 33452'>0x82ac</td>
 <td>MDFileUnits</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x830e = 33550'>0x830e</td>
 <td>PixelScale</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8335 = 33589'>0x8335</td>
 <td>AdventScale</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8336 = 33590'>0x8336</td>
 <td>AdventRevision</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x835c = 33628'>0x835c</td>
 <td>UIC1Tag</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x835d = 33629'>0x835d</td>
 <td>UIC2Tag</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x835e = 33630'>0x835e</td>
 <td>UIC3Tag</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x835f = 33631'>0x835f</td>
 <td>UIC4Tag</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x83bb = 33723'>0x83bb</td>
 <td>IPTC-NAA</td>
 <td class=c title=' ! = Unsafe'>int32u!</td>
 <td class=c>IFD0</td>
 <td>--> <a href='IPTC.html'>IPTC Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x847e = 33918'>0x847e</td>
 <td>IntergraphPacketData</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x847f = 33919'>0x847f</td>
 <td>IntergraphFlagRegisters</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8480 = 33920'>0x8480</td>
 <td>IntergraphMatrix</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8481 = 33921'>0x8481</td>
 <td>INGRReserved</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8482 = 33922'>0x8482</td>
 <td>ModelTiePoint</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x84e0 = 34016'>0x84e0</td>
 <td>Site</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x84e1 = 34017'>0x84e1</td>
 <td>ColorSequence</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x84e2 = 34018'>0x84e2</td>
 <td>IT8Header</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x84e3 = 34019'>0x84e3</td>
 <td>RasterPadding</td>
 <td class=c>N</td>
@@ -1160,69 +1166,69 @@ conversion)</span></span></td></tr>
   <br>2 = Long Word
   <br>9 = Sector
   <br>10 = Long Sector</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x84e4 = 34020'>0x84e4</td>
 <td>BitsPerRunLength</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x84e5 = 34021'>0x84e5</td>
 <td>BitsPerExtendedRunLength</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x84e6 = 34022'>0x84e6</td>
 <td>ColorTable</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x84e7 = 34023'>0x84e7</td>
 <td>ImageColorIndicator</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td><span class=s>0 = Unspecified Image Color
   <br>1 = Specified Image Color</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x84e8 = 34024'>0x84e8</td>
 <td>BackgroundColorIndicator</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td><span class=s>0 = Unspecified Background Color
   <br>1 = Specified Background Color</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x84e9 = 34025'>0x84e9</td>
 <td>ImageColorValue</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x84ea = 34026'>0x84ea</td>
 <td>BackgroundColorValue</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x84eb = 34027'>0x84eb</td>
 <td>PixelIntensityRange</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x84ec = 34028'>0x84ec</td>
 <td>TransparencyIndicator</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x84ed = 34029'>0x84ed</td>
 <td>ColorCharacterization</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x84ee = 34030'>0x84ee</td>
 <td>HCUsage</td>
 <td class=c>N</td>
@@ -1230,79 +1236,79 @@ conversion)</span></span></td></tr>
 <td><span class=s>0 = CT
   <br>1 = Line Art
   <br>2 = Trap</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x84ef = 34031'>0x84ef</td>
 <td>TrapIndicator</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x84f0 = 34032'>0x84f0</td>
 <td>CMYKEquivalent</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8546 = 34118'>0x8546</td>
 <td>SEMInfo</td>
 <td class=c>string</td>
 <td class=c>IFD0</td>
 <td><span class=s><span class=n>(found in some scanning electron microscope images)</span></span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x8568 = 34152'>0x8568</td>
 <td>AFCP_IPTC</td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='IPTC.html'>IPTC Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x85b8 = 34232'>0x85b8</td>
 <td>PixelMagicJBIGOptions</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x85d7 = 34263'>0x85d7</td>
 <td>JPLCartoIFD</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x85d8 = 34264'>0x85d8</td>
 <td>ModelTransform</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8602 = 34306'>0x8602</td>
 <td>WB_GRGBLevels</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td><span class=s><span class=n>(found in IFD0 of Leaf MOS images)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x8606 = 34310'>0x8606</td>
 <td>LeafData</td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='Leaf.html'>Leaf Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0x8649 = 34377'>0x8649</td>
 <td>PhotoshopSettings</td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='Photoshop.html'>Photoshop Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x8769 = 34665'>0x8769</td>
 <td><u>ExifOffset</u></td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='EXIF.html'>EXIF Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0x8773 = 34675'>0x8773</td>
 <td>ICC_Profile</td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='ICC_Profile.html'>ICC_Profile Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x877f = 34687'>0x877f</td>
 <td>TIFF_FXExtensions</td>
 <td class=c>N</td>
@@ -1312,7 +1318,7 @@ conversion)</span></span></td></tr>
   <br>Bit 2 = Shared Data
   <br>Bit 3 = B&W JBIG2
   <br>Bit 4 = JBIG2 Profile M</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x8780 = 34688'>0x8780</td>
 <td>MultiProfiles</td>
 <td class=c>N</td>
@@ -1330,25 +1336,25 @@ conversion)</span></span></td></tr>
   <br>Bit 9 = Shared Data
   <br>Bit 10 = JBIG2 Profile M</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8781 = 34689'>0x8781</td>
 <td>SharedData</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8782 = 34690'>0x8782</td>
 <td>T88Options</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x87ac = 34732'>0x87ac</td>
 <td>ImageLayer</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x87af = 34735'>0x87af</td>
 <td>GeoTiffDirectory</td>
 <td class=c>undef</td>
@@ -1356,25 +1362,25 @@ conversion)</span></span></td></tr>
 <td><span class=s><span class=n>(these "GeoTiff" tags may read and written as a block, but they aren't
 extracted unless specifically requested.  Byte order changes are handled
 automatically when copying between TIFF images with different byte order)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x87b0 = 34736'>0x87b0</td>
 <td>GeoTiffDoubleParams</td>
 <td class=c>undef</td>
 <td class=c>IFD0</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x87b1 = 34737'>0x87b1</td>
 <td>GeoTiffAsciiParams</td>
 <td class=c>string</td>
 <td class=c>IFD0</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x87be = 34750'>0x87be</td>
 <td>JBIGOptions</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8822 = 34850'>0x8822</td>
 <td><u>ExposureProgram</u></td>
 <td class=c>int16u</td>
@@ -1391,51 +1397,51 @@ automatically when copying between TIFF images with different byte order)</span>
   <br>8 = Landscape
   <br>9 = Bulb</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8824 = 34852'>0x8824</td>
 <td><u>SpectralSensitivity</u></td>
 <td class=c>string</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8825 = 34853'>0x8825</td>
 <td><u>GPSInfo</u></td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='GPS.html'>GPS Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x8827 = 34855'>0x8827</td>
 <td><u>ISO</u></td>
 <td class=c>int16u[n]</td>
 <td class=c>ExifIFD</td>
 <td><span class=s><span class=n>(called ISOSpeedRatings by EXIF 2.2, then PhotographicSensitivity by the EXIF
 2.3 spec.)</span></span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x8828 = 34856'>0x8828</td>
 <td><u>Opto-ElectricConvFactor</u></td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td><span class=s><span class=n>(called OECF by the EXIF spec.)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x8829 = 34857'>0x8829</td>
 <td>Interlace</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x882a = 34858'>0x882a</td>
 <td>TimeZoneOffset</td>
 <td class=c>int16s[n]</td>
 <td class=c>ExifIFD</td>
 <td><span class=s><span class=n>(1 or 2 values: 1. The time zone offset of DateTimeOriginal from GMT in
 hours, 2. If present, the time zone offset of ModifyDate)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x882b = 34859'>0x882b</td>
 <td>SelfTimerMode</td>
 <td class=c>int16u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8830 = 34864'>0x8830</td>
 <td><u>SensitivityType</u></td>
 <td class=c>int16u</td>
@@ -1449,90 +1455,108 @@ hours, 2. If present, the time zone offset of ModifyDate)</span></span></td></tr
   <br>5 = Standard Output Sensitivity and ISO Speed
   <br>6 = Recommended Exposure Index and ISO Speed
   <br>7 = Standard Output Sensitivity, Recommended Exposure Index and ISO Speed</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x8831 = 34865'>0x8831</td>
 <td><u>StandardOutputSensitivity</u></td>
 <td class=c>int32u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8832 = 34866'>0x8832</td>
 <td><u>RecommendedExposureIndex</u></td>
 <td class=c>int32u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8833 = 34867'>0x8833</td>
 <td><u>ISOSpeed</u></td>
 <td class=c>int32u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8834 = 34868'>0x8834</td>
 <td><u>ISOSpeedLatitudeyyy</u></td>
 <td class=c>int32u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8835 = 34869'>0x8835</td>
 <td><u>ISOSpeedLatitudezzz</u></td>
 <td class=c>int32u</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x885c = 34908'>0x885c</td>
 <td>FaxRecvParams</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x885d = 34909'>0x885d</td>
 <td>FaxSubAddress</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x885e = 34910'>0x885e</td>
 <td>FaxRecvTime</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8871 = 34929'>0x8871</td>
 <td>FedexEDR</td>
 <td class=c>N</td>
 <td class=c>-</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x888a = 34954'>0x888a</td>
 <td>LeafSubIFD</td>
 <td class=c>-</td>
 <td class=c>-</td>
 <td>--> <a href='Leaf.html#SubIFD'>Leaf SubIFD Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x9000 = 36864'>0x9000</td>
 <td><u>ExifVersion</u></td>
 <td class=c title=' : = Mandatory'>undef:</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x9003 = 36867'>0x9003</td>
 <td><u>DateTimeOriginal</u></td>
 <td class=c>string</td>
 <td class=c>ExifIFD</td>
 <td><span class=s><span class=n>(date/time when original image was taken)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x9004 = 36868'>0x9004</td>
 <td><u>CreateDate</u></td>
 <td class=c>string</td>
 <td class=c>ExifIFD</td>
 <td><span class=s><span class=n>(called DateTimeDigitized by the EXIF spec.)</span></span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x9009 = 36873'>0x9009</td>
 <td>GooglePlusUploadCode</td>
 <td class=c>undef[n]</td>
 <td class=c>ExifIFD</td>
 <td> </td></tr>
+<tr class=b>
+<td title='0x9010 = 36880'>0x9010</td>
+<td><u>OffsetTime</u></td>
+<td class=c>string</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(time zone for ModifyDate)</span></span></td></tr>
+<tr>
+<td title='0x9011 = 36881'>0x9011</td>
+<td><u>OffsetTimeOriginal</u></td>
+<td class=c>string</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(time zone for DateTimeOriginal)</span></span></td></tr>
+<tr class=b>
+<td title='0x9012 = 36882'>0x9012</td>
+<td><u>OffsetTimeDigitized</u></td>
+<td class=c>string</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(time zone for CreateDate)</span></span></td></tr>
 <tr>
 <td title='0x9101 = 37121'>0x9101</td>
 <td><u>ComponentsConfiguration</u></td>
@@ -1923,19 +1947,19 @@ hours, 2. If present, the time zone offset of ModifyDate)</span></span></td></tr
 <td><u>SubSecTime</u></td>
 <td class=c>string</td>
 <td class=c>ExifIFD</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(fractional seconds for ModifyDate)</span></span></td></tr>
 <tr>
 <td title='0x9291 = 37521'>0x9291</td>
 <td><u>SubSecTimeOriginal</u></td>
 <td class=c>string</td>
 <td class=c>ExifIFD</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(fractional seconds for DateTimeOriginal)</span></span></td></tr>
 <tr class=b>
 <td title='0x9292 = 37522'>0x9292</td>
 <td><u>SubSecTimeDigitized</u></td>
 <td class=c>string</td>
 <td class=c>ExifIFD</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(fractional seconds for CreateDate)</span></span></td></tr>
 <tr>
 <td title='0x932f = 37679'>0x932f</td>
 <td>MSDocumentText</td>
@@ -1961,6 +1985,42 @@ hours, 2. If present, the time zone offset of ModifyDate)</span></span></td></tr
 <td class=c>IFD0</td>
 <td> </td></tr>
 <tr>
+<td title='0x9400 = 37888'>0x9400</td>
+<td><u>AmbientTemperature</u></td>
+<td class=c>rational64s</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(ambient temperature in degrees C, called Temperature by the EXIF spec.)</span></span></td></tr>
+<tr class=b>
+<td title='0x9401 = 37889'>0x9401</td>
+<td><u>Humidity</u></td>
+<td class=c>rational64u</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(ambient relative humidity in percent)</span></span></td></tr>
+<tr>
+<td title='0x9402 = 37890'>0x9402</td>
+<td><u>Pressure</u></td>
+<td class=c>rational64u</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(air pressure in hPa or mbar)</span></span></td></tr>
+<tr class=b>
+<td title='0x9403 = 37891'>0x9403</td>
+<td><u>WaterDepth</u></td>
+<td class=c>rational64s</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(depth under water in metres, negative for above water)</span></span></td></tr>
+<tr>
+<td title='0x9404 = 37892'>0x9404</td>
+<td><u>Acceleration</u></td>
+<td class=c>rational64u</td>
+<td class=c>ExifIFD</td>
+<td><span class=s><span class=n>(directionless camera acceleration in units of mGal, or 10-5 m/s2)</span></span></td></tr>
+<tr class=b>
+<td title='0x9405 = 37893'>0x9405</td>
+<td><u>CameraElevationAngle</u></td>
+<td class=c>rational64s</td>
+<td class=c>ExifIFD</td>
+<td> </td></tr>
+<tr>
 <td title='0x9c9b = 40091'>0x9c9b</td>
 <td>XPTitle</td>
 <td class=c>int8u</td>
@@ -2037,6 +2097,30 @@ indicated by "Uncalibrated" with an InteropIndex of "R03".
 <td class=c>-</td>
 <td>--> <a href='EXIF.html'>EXIF Tags</a></td></tr>
 <tr class=b>
+<td title='0xa010 = 40976'>0xa010</td>
+<td>SamsungRawPointersOffset</td>
+<td class=c>N</td>
+<td class=c>-</td>
+<td> </td></tr>
+<tr>
+<td title='0xa011 = 40977'>0xa011</td>
+<td>SamsungRawPointersLength</td>
+<td class=c>N</td>
+<td class=c>-</td>
+<td> </td></tr>
+<tr class=b>
+<td title='0xa101 = 41217'>0xa101</td>
+<td>SamsungRawByteOrder</td>
+<td class=c>N</td>
+<td class=c>-</td>
+<td> </td></tr>
+<tr>
+<td title='0xa102 = 41218'>0xa102</td>
+<td>SamsungRawUnknown?</td>
+<td class=c>N</td>
+<td class=c>-</td>
+<td> </td></tr>
+<tr class=b>
 <td title='0xa20b = 41483'>0xa20b</td>
 <td><u>FlashEnergy</u></td>
 <td class=c>rational64u[n]</td>
@@ -2552,7 +2636,9 @@ unnecessary clutter)</span></span><table class=cols><tr>
 <td>DNGVersion</td>
 <td class=c title=' ! = Unsafe'>int8u[4]!</td>
 <td class=c>IFD0</td>
-<td><span class=s><span class=n>(tags 0xc612-0xc7b5 are used in DNG images unless otherwise noted)</span></span></td></tr>
+<td><span class=s><span class=n>(tags 0xc612-0xc7b5 are defined by the DNG specification unless otherwise
+noted.  See <a href="https://helpx.adobe.com/photoshop/digital-negative.html">https://helpx.adobe.com/photoshop/digital-negative.html</a> for
+the specification)</span></span></td></tr>
 <tr>
 <td title='0xc613 = 50707'>0xc613</td>
 <td>DNGBackwardVersion</td>
@@ -3390,7 +3476,7 @@ these unless they already exist in the file)</span></span></td></tr>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 27, 2016</i>
+<br><i>Last revised Oct 5, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Extra.html b/html/TagNames/Extra.html
index e08d93b..747511e 100644
--- a/html/TagNames/Extra.html
+++ b/html/TagNames/Extra.html
@@ -221,7 +221,7 @@ system's standard libraries)</span></span></td></tr>
 <td class=c>System</td>
 <td><span class=s><span class=n>(may be written with a full path name to set FileName and Directory in one
 operation.  This is such a powerful feature that a TestName tag is provided
-to allow dry-run tests before actually writing the file name. See
+to allow dry-run tests before actually writing the file name.  See
 <a href="../filename.html">filename.html</a> for more information on writing the
 FileName, Directory and TestName tags)</span></span></td></tr>
 <tr>
@@ -429,7 +429,7 @@ fork is preserved by default, but it may be deleted with <code>-rsrc:all=</code>
 the command line)</span></span></td></tr>
 <tr>
 <td>TestName</td>
-<td class=c>Y</td>
+<td class=c title=' ! = Unsafe'>Y!</td>
 <td class=c>-</td>
 <td><span class=s><span class=n>(this write-only tag may be used instead of FileName for dry-run tests of the
 file renaming feature.  Writing this tag prints the old and new file names
@@ -463,7 +463,7 @@ into multiple blocks)</span></span></td></tr>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 14, 2016</i>
+<br><i>Last revised Sep 13, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/FLAC.html b/html/TagNames/FLAC.html
index 4d80630..e596eeb 100644
--- a/html/TagNames/FLAC.html
+++ b/html/TagNames/FLAC.html
@@ -6,82 +6,7 @@
 <link rel=stylesheet type='text/css' href='style.css' title='Style'>
 </head>
 <body>
-<h2 class=top><a name='Picture'>FLAC Picture Tags</a></h2>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Index4</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr>
-<td class=r title='0 = 0x0'>0</td>
-<td>PictureType</td>
-<td class=c>N</td>
-<td><table class=cols><tr>
-  <td>0 = Other
-  <br>1 = 32x32 PNG Icon
-  <br>2 = Other Icon
-  <br>3 = Front Cover
-  <br>4 = Back Cover
-  <br>5 = Leaflet
-  <br>6 = Media
-  <br>7 = Lead Artist
-  <br>8 = Artist
-  <br>9 = Conductor
-  <br>10 = Band
-  <br>11 = Composer
-  <br>12 = Lyricist
-  <br>13 = Recording Studio or Location
-  <br>14 = Recording Session
-  <br>15 = Performance
-  <br>16 = Capture from Movie or Video
-  <br>17 = Bright(ly) Colored Fish
-  <br>18 = Illustration
-  <br>19 = Band Logo
-  <br>20 = Publisher Logo</td></tr></table>
-</td></tr>
-<tr class=b>
-<td class=r title='1 = 0x1'>1</td>
-<td>PictureMIMEType</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr>
-<td class=r title='2 = 0x2'>2</td>
-<td>PictureDescription</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='3 = 0x3'>3</td>
-<td>PictureWidth</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr>
-<td class=r title='4 = 0x4'>4</td>
-<td>PictureHeight</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='5 = 0x5'>5</td>
-<td>PictureBitsPerPixel</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr>
-<td class=r title='6 = 0x6'>6</td>
-<td>PictureIndexedColors</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='7 = 0x7'>7</td>
-<td>PictureLength</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr>
-<td class=r title='8 = 0x8'>8</td>
-<td>Picture</td>
-<td class=c>N</td>
-<td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2>FLAC Tags</h2>
+<h2 class=top>FLAC Tags</h2>
 <p>Free Lossless Audio Codec (FLAC) meta information.  ExifTool also extracts
 ID3 information from these files.</p>
 <blockquote>
@@ -175,6 +100,81 @@ ID3 information from these files.</p>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='Picture'>FLAC Picture Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index4</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0</td>
+<td>PictureType</td>
+<td class=c>N</td>
+<td><table class=cols><tr>
+  <td>0 = Other
+  <br>1 = 32x32 PNG Icon
+  <br>2 = Other Icon
+  <br>3 = Front Cover
+  <br>4 = Back Cover
+  <br>5 = Leaflet
+  <br>6 = Media
+  <br>7 = Lead Artist
+  <br>8 = Artist
+  <br>9 = Conductor
+  <br>10 = Band
+  <br>11 = Composer
+  <br>12 = Lyricist
+  <br>13 = Recording Studio or Location
+  <br>14 = Recording Session
+  <br>15 = Performance
+  <br>16 = Capture from Movie or Video
+  <br>17 = Bright(ly) Colored Fish
+  <br>18 = Illustration
+  <br>19 = Band Logo
+  <br>20 = Publisher Logo</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1</td>
+<td>PictureMIMEType</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='2 = 0x2'>2</td>
+<td>PictureDescription</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='3 = 0x3'>3</td>
+<td>PictureWidth</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='4 = 0x4'>4</td>
+<td>PictureHeight</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='5 = 0x5'>5</td>
+<td>PictureBitsPerPixel</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='6 = 0x6'>6</td>
+<td>PictureIndexedColors</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='7 = 0x7'>7</td>
+<td>PictureLength</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='8 = 0x8'>8</td>
+<td>Picture</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
 <br><i>Last revised Jul 14, 2016</i>
diff --git a/html/TagNames/FLIF.html b/html/TagNames/FLIF.html
new file mode 100644
index 0000000..6a0eab7
--- /dev/null
+++ b/html/TagNames/FLIF.html
@@ -0,0 +1,79 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+        "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<title>FLIF Tags</title>
+<link rel=stylesheet type='text/css' href='style.css' title='Style'>
+</head>
+<body>
+<h2 class=top>FLIF Tags</h2>
+<p>Information extracted from Free Lossless Image Format files.  See
+<a href="http://flif.info/">http://flif.info/</a> for more information.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0</td>
+<td>ImageType</td>
+<td class=c>N</td>
+<td><table class=cols><tr>
+  <td>1 = Grayscale (non-interlaced)
+  <br>3 = RGB (non-interlaced)
+  <br>4 = RGBA (non-interlaced)
+  <br>'A' = Grayscale (interlaced)
+  <br>'C' = RGB (interlaced)
+  <br>'D' = RGBA (interlaced)
+  <br>'Q' = Grayscale Animation (non-interlaced)
+  <br>'S' = RGB Animation (non-interlaced)
+  <br>'T' = RGBA Animation (non-interlaced)
+  <br>'a' = Grayscale Animation (interlaced)
+  <br>'c' = RGB Animation (interlaced)
+  <br>'d' = RGBA Animation (interlaced)</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1</td>
+<td>BitDepth</td>
+<td class=c>N</td>
+<td><span class=s>0 = Custom
+  <br>1 = 8
+  <br>2 = 16</span></td></tr>
+<tr>
+<td class=r title='2 = 0x2'>2</td>
+<td>ImageWidth</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='3 = 0x3'>3</td>
+<td>ImageHeight</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='4 = 0x4'>4</td>
+<td>AnimationFrames</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>'eXif'</td>
+<td>EXIF</td>
+<td class=c>-</td>
+<td>--> <a href='EXIF.html'>EXIF Tags</a></td></tr>
+<tr>
+<td>'eXmp'</td>
+<td>XMP</td>
+<td class=c>-</td>
+<td>--> <a href='XMP.html'>XMP Tags</a></td></tr>
+<tr class=b>
+<td>'iCCP'</td>
+<td>ICC_Profile</td>
+<td class=c>-</td>
+<td>--> <a href='ICC_Profile.html'>ICC_Profile Tags</a></td></tr>
+</table></td></tr></table></blockquote>
+
+<hr>
+(This document generated automatically by Image::ExifTool::BuildTagLookup)
+<br><i>Last revised Oct 13, 2016</i>
+<p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
+</body>
+</html>
diff --git a/html/TagNames/FLIR.html b/html/TagNames/FLIR.html
index f66de3a..0591057 100644
--- a/html/TagNames/FLIR.html
+++ b/html/TagNames/FLIR.html
@@ -364,32 +364,32 @@ for details.</p>
 <td> </td></tr>
 <tr class=b>
 <td class=r title='152 = 0x98'>152</td>
-<td>UnknownTemperature1?</td>
+<td>CameraTemperatureMaxClip</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
 <td class=r title='156 = 0x9c'>156</td>
-<td>UnknownTemperature2?</td>
+<td>CameraTemperatureMinClip</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
 <td class=r title='160 = 0xa0'>160</td>
-<td>UnknownTemperature3?</td>
+<td>CameraTemperatureMaxWarn</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
 <td class=r title='164 = 0xa4'>164</td>
-<td>UnknownTemperature4?</td>
+<td>CameraTemperatureMinWarn</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
 <td class=r title='168 = 0xa8'>168</td>
-<td>UnknownTemperature5?</td>
+<td>CameraTemperatureMaxSaturated</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
 <td class=r title='172 = 0xac'>172</td>
-<td>UnknownTemperature6?</td>
+<td>CameraTemperatureMinSaturated</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
@@ -1334,7 +1334,7 @@ in FLIR MP4 videos.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Mar 25, 2014</i>
+<br><i>Last revised Sep 30, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/FujiFilm.html b/html/TagNames/FujiFilm.html
index d706800..5b04fd1 100644
--- a/html/TagNames/FujiFilm.html
+++ b/html/TagNames/FujiFilm.html
@@ -257,24 +257,42 @@ necessarily correspond to the camera body number -- this needs to be checked)</s
   <br>16 = Medium-soft
   <br>32 = Soft</span></td></tr>
 <tr class=b>
+<td title='0x1044 = 4164'>0x1044</td>
+<td>DigitalZoom</td>
+<td class=c>int32u</td>
+<td> </td></tr>
+<tr>
 <td title='0x1050 = 4176'>0x1050</td>
 <td>ShutterType</td>
 <td class=c>int16u</td>
 <td><span class=s>0 = Mechanical
   <br>1 = Electronic</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x1100 = 4352'>0x1100</td>
 <td>AutoBracketing</td>
 <td class=c>int16u</td>
 <td><span class=s>0 = Off
   <br>1 = On
   <br>2 = No flash & flash</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x1101 = 4353'>0x1101</td>
 <td>SequenceNumber</td>
 <td class=c>int16u</td>
 <td> </td></tr>
+<tr class=b>
+<td title='0x1153 = 4435'>0x1153</td>
+<td>PanoramaAngle</td>
+<td class=c>int16u</td>
+<td> </td></tr>
 <tr>
+<td title='0x1154 = 4436'>0x1154</td>
+<td>PanoramaDirection</td>
+<td class=c>int16u</td>
+<td><span class=s>1 = Right
+  <br>2 = Up
+  <br>3 = Left
+  <br>4 = Down</span></td></tr>
+<tr class=b>
 <td title='0x1201 = 4609'>0x1201</td>
 <td>AdvancedFilter</td>
 <td class=c>int32u</td>
@@ -293,43 +311,43 @@ necessarily correspond to the camera body number -- this needs to be checked)</s
   <br>0x70000 = Soft Focus
   <br>0x90000 = Low Key</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1210 = 4624'>0x1210</td>
 <td>ColorMode</td>
 <td class=c>int16u</td>
 <td><span class=s>0x0 = Standard
   <br>0x10 = Chrome
   <br>0x30 = B & W</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x1300 = 4864'>0x1300</td>
 <td>BlurWarning</td>
 <td class=c>int16u</td>
 <td><span class=s>0 = None
   <br>1 = Blur Warning</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x1301 = 4865'>0x1301</td>
 <td>FocusWarning</td>
 <td class=c>int16u</td>
 <td><span class=s>0 = Good
   <br>1 = Out of focus</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x1302 = 4866'>0x1302</td>
 <td>ExposureWarning</td>
 <td class=c>int16u</td>
 <td><span class=s>0 = Good
   <br>1 = Bad exposure</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x1304 = 4868'>0x1304</td>
 <td>GEImageSize</td>
 <td class=c>string</td>
 <td><span class=s><span class=n>(GE models only)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x1400 = 5120'>0x1400</td>
 <td>DynamicRange</td>
 <td class=c>int16u</td>
 <td><span class=s>1 = Standard
   <br>3 = Wide</span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x1401 = 5121'>0x1401</td>
 <td>FilmMode</td>
 <td class=c>int16u</td>
@@ -344,7 +362,7 @@ necessarily correspond to the camera body number -- this needs to be checked)</s
   <br>0x500 = Pro Neg. Std
   <br>0x501 = Pro Neg. Hi
   <br>0x600 = Classic Chrome</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x1402 = 5122'>0x1402</td>
 <td>DynamicRangeSetting</td>
 <td class=c>int16u</td>
@@ -356,37 +374,37 @@ necessarily correspond to the camera body number -- this needs to be checked)</s
   <br>0x201 = Wide2 (400%)
   <br>0x8000 = Film Simulation</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1403 = 5123'>0x1403</td>
 <td>DevelopmentDynamicRange</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x1404 = 5124'>0x1404</td>
 <td>MinFocalLength</td>
 <td class=c>rational64s</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1405 = 5125'>0x1405</td>
 <td>MaxFocalLength</td>
 <td class=c>rational64s</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x1406 = 5126'>0x1406</td>
 <td>MaxApertureAtMinFocal</td>
 <td class=c>rational64s</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1407 = 5127'>0x1407</td>
 <td>MaxApertureAtMaxFocal</td>
 <td class=c>rational64s</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x140b = 5131'>0x140b</td>
 <td>AutoDynamicRange</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1422 = 5154'>0x1422</td>
 <td>ImageStabilization</td>
 <td class=c>int16u[3]</td>
@@ -399,69 +417,69 @@ necessarily correspond to the camera body number -- this needs to be checked)</s
   <br>0 = Off
   <br>1 = On (mode 1, continuous)
   <br>2 = On (mode 2, shooting only)</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x1431 = 5169'>0x1431</td>
 <td>Rating</td>
 <td class=c>int32u</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1436 = 5174'>0x1436</td>
 <td>ImageGeneration</td>
 <td class=c>int16u</td>
 <td><span class=s>0 = Original Image
   <br>1 = Re-developed from RAW</span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x1438 = 5176'>0x1438</td>
 <td>ImageCount</td>
 <td class=c>int16u</td>
 <td><span class=s><span class=n>(may reset to 0 when new firmware is installed)</span></span></td></tr>
-<tr class=b>
+<tr>
 <td title='0x3820 = 14368'>0x3820</td>
 <td>FrameRate</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x3821 = 14369'>0x3821</td>
 <td>FrameWidth</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x3822 = 14370'>0x3822</td>
 <td>FrameHeight</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x4100 = 16640'>0x4100</td>
 <td>FacesDetected</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x4103 = 16643'>0x4103</td>
 <td>FacePositions</td>
 <td class=c>int16u[n]</td>
 <td><span class=s><span class=n>(left, top, right and bottom coordinates in full-sized image for each face
 detected)</span></span></td></tr>
-<tr>
+<tr class=b>
 <td title='0x4282 = 17026'>0x4282</td>
 <td>FaceRecInfo</td>
 <td class=c>-</td>
 <td>--> <a href='FujiFilm.html#FaceRecInfo'>FujiFilm FaceRecInfo Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0x8000 = 32768'>0x8000</td>
 <td>FileSource</td>
 <td class=c>string</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x8002 = 32770'>0x8002</td>
 <td>OrderNumber</td>
 <td class=c>int32u</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x8003 = 32771'>0x8003</td>
 <td>FrameNumber</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0xb211 = 45585'>0xb211</td>
 <td>Parallax</td>
 <td class=c>rational64s</td>
@@ -825,7 +843,7 @@ RAF-format information.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 27, 2016</i>
+<br><i>Last revised Oct 11, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Jpeg2000.html b/html/TagNames/Jpeg2000.html
index 0310038..3eba9c2 100644
--- a/html/TagNames/Jpeg2000.html
+++ b/html/TagNames/Jpeg2000.html
@@ -228,15 +228,17 @@ currently writes only EXIF, IPTC and XMP tags in these images.</p>
 <td>'uuid'</td>
 <td>UUID-EXIF
   <br>UUID-EXIF2
+  <br>UUID-EXIF_bad
   <br>UUID-IPTC
   <br>UUID-IPTC2
   <br>UUID-XMP
   <br>UUID-GeoJP2
   <br>UUID-Photoshop
   <br>UUID-Unknown</td>
-<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>N</td>
+<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>N</td>
 <td>--> <a href='EXIF.html'>EXIF Tags</a>
   <br>--> <a href='EXIF.html'>EXIF Tags</a>
+  <br>--> <a href='EXIF.html'>EXIF Tags</a>
   <br>--> <a href='IPTC.html'>IPTC Tags</a>
   <br>--> <a href='IPTC.html'>IPTC Tags</a>
   <br>--> <a href='XMP.html'>XMP Tags</a>
@@ -458,7 +460,7 @@ exist)</span></td></tr>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 23, 2013</i>
+<br><i>Last revised Oct 11, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Kodak.html b/html/TagNames/Kodak.html
index 464374d..3ba7244 100644
--- a/html/TagNames/Kodak.html
+++ b/html/TagNames/Kodak.html
@@ -226,1154 +226,1154 @@ Z7590.</p>
 <td><span class=s>0 = Normal</span></td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='Type2'>Kodak Type2 Tags</a></h2>
-<p>These tags are used by the Kodak DC220, DC260, DC265 and DC290,
-Hewlett-Packard PhotoSmart 618, C500 and C912, Pentax EI-200 and EI-2000,
-and Minolta EX1500Z.</p>
+<h2><a name='IFD'>Kodak IFD Tags</a></h2>
+<p>These tags are found in a separate IFD of JPEG, TIFF, DCR and KDC images
+from some older Kodak models such as the DC50, DC120, DCS760C, DCS Pro 14N,
+14nx, SLR/n, Pro Back and Canon EOS D2000.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
-<tr class=h><th>Index1</th><th>Tag Name</th>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td class=r title='8 = 0x8'>8</td>
-<td>KodakMaker</td>
-<td class=c>string[32]</td>
+<td title='0x0001 = 1'>0x0001</td>
+<td>UnknownEV?</td>
+<td class=c>rational64u</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='40 = 0x28'>40</td>
-<td>KodakModel</td>
-<td class=c>string[32]</td>
+<td title='0x0003 = 3'>0x0003</td>
+<td>ExposureValue</td>
+<td class=c>rational64u</td>
 <td> </td></tr>
 <tr>
-<td class=r title='108 = 0x6c'>108</td>
-<td>KodakImageWidth</td>
-<td class=c>int32u</td>
+<td title='0x03e9 = 1001'>0x03e9</td>
+<td>OriginalFileName</td>
+<td class=c>string</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='112 = 0x70'>112</td>
-<td>KodakImageHeight</td>
-<td class=c>int32u</td>
+<td title='0x03eb = 1003'>0x03eb</td>
+<td>SensorLeftBorder</td>
+<td class=c>N</td>
 <td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='Type3'>Kodak Type3 Tags</a></h2>
-<p>These tags are used by the DC240, DC280, DC3400 and DC5000.</p>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Index1</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td class=r title='12 = 0xc'>12</td>
-<td>YearCreated</td>
-<td class=c>int16u</td>
+<td title='0x03ec = 1004'>0x03ec</td>
+<td>SensorTopBorder</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='14 = 0xe'>14</td>
-<td>MonthDayCreated</td>
-<td class=c>int8u[2]</td>
+<td title='0x03ed = 1005'>0x03ed</td>
+<td>SensorImageWidth</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td class=r title='16 = 0x10'>16</td>
-<td>TimeCreated</td>
-<td class=c>int8u[4]</td>
+<td title='0x03ee = 1006'>0x03ee</td>
+<td>SensorImageHeight</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='30 = 0x1e'>30</td>
-<td>OpticalZoom</td>
+<td title='0x03f1 = 1009'>0x03f1</td>
+<td>TextualInfo</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#TextualInfo'>Kodak TextualInfo Tags</a></td></tr>
+<tr>
+<td title='0x03fc = 1020'>0x03fc</td>
+<td>WhiteBalance</td>
 <td class=c>int16u</td>
 <td> </td></tr>
+<tr class=b>
+<td title='0x03fd = 1021'>0x03fd</td>
+<td>Processing</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#Processing'>Kodak Processing Tags</a></td></tr>
 <tr>
-<td class=r title='55 = 0x37'>55</td>
-<td>Sharpness</td>
-<td class=c>int8s</td>
-<td><span class=s>0 = Normal</span></td></tr>
+<td title='0x0401 = 1025'>0x0401</td>
+<td>Time</td>
+<td class=c>string</td>
+<td> </td></tr>
 <tr class=b>
-<td class=r title='56 = 0x38'>56</td>
-<td>ExposureTime</td>
-<td class=c>int32u</td>
+<td title='0x0406 = 1030'>0x0406</td>
+<td>CameraTemperature</td>
+<td class=c>rational64s</td>
 <td> </td></tr>
 <tr>
-<td class=r title='60 = 0x3c'>60</td>
-<td>FNumber</td>
-<td class=c>int16u</td>
+<td title='0x0407 = 1031'>0x0407</td>
+<td>AdapterVoltage</td>
+<td class=c>rational64u</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='78 = 0x4e'>78</td>
-<td>ISO</td>
-<td class=c>int16u</td>
+<td title='0x0408 = 1032'>0x0408</td>
+<td>BatteryVoltage</td>
+<td class=c>rational64u</td>
 <td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='Type4'>Kodak Type4 Tags</a></h2>
-<p>These tags are used by the DC200 and DC215.</p>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Index1</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td class=r title='32 = 0x20'>32</td>
-<td>OriginalFileName</td>
-<td class=c>string[12]</td>
+<td title='0x0414 = 1044'>0x0414</td>
+<td>NCDFileInfo</td>
+<td class=c>string</td>
+<td> </td></tr>
+<tr class=b>
+<td title='0x0846 = 2118'>0x0846</td>
+<td>ColorTemperature</td>
+<td class=c>int16u</td>
 <td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='Type5'>Kodak Type5 Tags</a></h2>
-<p>These tags are used by the CX4200, CX4210, CX4230, CX4300, CX4310, CX6200
-and CX6230.</p>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Index1</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td class=r title='20 = 0x14'>20</td>
-<td>ExposureTime</td>
-<td class=c>int32u</td>
+<td title='0x0848 = 2120'>0x0848</td>
+<td>WB_RGBLevelsDaylight</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='26 = 0x1a'>26</td>
-<td>WhiteBalance</td>
-<td class=c>int8u</td>
-<td><span class=s>1 = Daylight
-  <br>2 = Flash
-  <br>3 = Tungsten</span></td></tr>
+<td title='0x0849 = 2121'>0x0849</td>
+<td>WB_RGBLevelsTungsten</td>
+<td class=c>N</td>
+<td> </td></tr>
 <tr>
-<td class=r title='28 = 0x1c'>28</td>
-<td>FNumber</td>
-<td class=c>int16u</td>
+<td title='0x084a = 2122'>0x084a</td>
+<td>WB_RGBLevelsFluorescent</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='30 = 0x1e'>30</td>
-<td>ISO</td>
-<td class=c>int16u</td>
+<td title='0x084b = 2123'>0x084b</td>
+<td>WB_RGBLevelsFlash</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td class=r title='32 = 0x20'>32</td>
-<td>OpticalZoom</td>
-<td class=c>int16u</td>
+<td title='0x084c = 2124'>0x084c</td>
+<td>WB_RGBLevelsCustom</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='34 = 0x22'>34</td>
-<td>DigitalZoom</td>
-<td class=c>int16u</td>
+<td title='0x084d = 2125'>0x084d</td>
+<td>WB_RGBLevelsAuto</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td class=r title='39 = 0x27'>39</td>
-<td>FlashMode</td>
-<td class=c>int8u</td>
-<td><span class=s>0 = Auto
-  <br>1 = On
-  <br>2 = Off
-  <br>3 = Red-Eye</span></td></tr>
+<td title='0x0852 = 2130'>0x0852</td>
+<td>WB_RGBMul0</td>
+<td class=c>N</td>
+<td> </td></tr>
 <tr class=b>
-<td class=r title='42 = 0x2a'>42</td>
-<td>ImageRotated</td>
-<td class=c>int8u</td>
-<td><span class=s>0 = No
-  <br>1 = Yes</span></td></tr>
+<td title='0x0853 = 2131'>0x0853</td>
+<td>WB_RGBMul1</td>
+<td class=c>N</td>
+<td> </td></tr>
 <tr>
-<td class=r title='43 = 0x2b'>43</td>
-<td>Macro</td>
-<td class=c>int8u</td>
-<td><span class=s>0 = On
-  <br>1 = Off</span></td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='Type6'>Kodak Type6 Tags</a></h2>
-<p>These tags are used by the DX3215 and DX3700.</p>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Index1</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<td title='0x0854 = 2132'>0x0854</td>
+<td>WB_RGBMul2</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td title='0x0855 = 2133'>0x0855</td>
+<td>WB_RGBMul3</td>
+<td class=c>N</td>
+<td> </td></tr>
 <tr>
-<td class=r title='16 = 0x10'>16</td>
-<td>ExposureTime</td>
-<td class=c>int32u</td>
+<td title='0x085c = 2140'>0x085c</td>
+<td>WB_RGBCoeffs0</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='20 = 0x14'>20</td>
-<td>ISOSetting?</td>
-<td class=c>int32u</td>
+<td title='0x085d = 2141'>0x085d</td>
+<td>WB_RGBCoeffs1</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td class=r title='24 = 0x18'>24</td>
-<td>FNumber</td>
-<td class=c>int16u</td>
+<td title='0x085e = 2142'>0x085e</td>
+<td>WB_RGBCoeffs2</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='26 = 0x1a'>26</td>
-<td>ISO</td>
-<td class=c>int16u</td>
+<td title='0x085f = 2143'>0x085f</td>
+<td>WB_RGBCoeffs3</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td class=r title='28 = 0x1c'>28</td>
-<td>OpticalZoom</td>
-<td class=c>int16u</td>
+<td title='0x0903 = 2307'>0x0903</td>
+<td>BaseISO</td>
+<td class=c>rational64u</td>
 <td> </td></tr>
 <tr class=b>
-<td class=r title='30 = 0x1e'>30</td>
-<td>DigitalZoom</td>
-<td class=c>int16u</td>
+<td title='0x09ce = 2510'>0x09ce</td>
+<td>SensorSerialNumber</td>
+<td class=c>string</td>
 <td> </td></tr>
 <tr>
-<td class=r title='34 = 0x22'>34</td>
-<td>Flash</td>
-<td class=c>int16u</td>
-<td><span class=s>0 = No Flash
-  <br>1 = Fired</span></td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='Type7'>Kodak Type7 Tags</a></h2>
-<p>The maker notes of models such as the C340, C433, CC533, LS755, V803 and
-V1003 seem to start with the camera serial number.  The C310, C315, C330,
-C643, C743, CD33, CD43, CX7220 and CX7300 maker notes are also decoded using
-this table, although the strings for these cameras don't conform to the
-usual Kodak serial number format, and instead have the model name followed
-by 8 digits.</p>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Index1</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr>
-<td class=r title='0 = 0x0'>0</td>
-<td>SerialNumber</td>
-<td class=c>string[16]</td>
+<td title='0x0ce5 = 3301'>0x0ce5</td>
+<td>FirmwareVersion</td>
+<td class=c>string</td>
 <td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='Type8'>Kodak Type8 Tags</a></h2>
-<p>Kodak models such as the ZD710, P712, P850, P880, V1233, V1253, V1275,
-V1285, Z612, Z712, Z812, Z885 use standard TIFF IFD format for the maker
-notes.  In keeping with Kodak's strategy of inconsistent makernotes, models
-such as the M380, M1033, M1093, V1073, V1273, Z1012, Z1085 and Z8612
-also use these tags, but these makernotes begin with a TIFF header instead
-of an IFD entry count and use relative instead of absolute offsets.  There
-is a large amount of information stored in these maker notes (apparently
-with much duplication), but relatively few tags have so far been decoded.</p>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr>
-<td title='0xfc00 = 64512'>0xfc00</td>
-<td>SubIFD0</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD0'>Kodak SubIFD0 Tags</a>
-  <br>--> <a href='Kodak.html#SubIFD0'>Kodak SubIFD0 Tags</a></td></tr>
 <tr class=b>
-<td title='0xfc01 = 64513'>0xfc01</td>
-<td>SubIFD1</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD1'>Kodak SubIFD1 Tags</a>
-  <br>--> <a href='Kodak.html#SubIFD1'>Kodak SubIFD1 Tags</a></td></tr>
-<tr>
-<td title='0xfc02 = 64514'>0xfc02</td>
-<td>SubIFD2</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD2'>Kodak SubIFD2 Tags</a>
-  <br>--> <a href='Kodak.html#SubIFD2'>Kodak SubIFD2 Tags</a></td></tr>
-<tr class=b>
-<td title='0xfc03 = 64515'>0xfc03</td>
-<td>SubIFD3</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD3'>Kodak SubIFD3 Tags</a>
-  <br>--> <a href='Kodak.html#SubIFD3'>Kodak SubIFD3 Tags</a></td></tr>
+<td title='0x0e4c = 3660'>0x0e4c</td>
+<td>KodakLook</td>
+<td class=c>string</td>
+<td> </td></tr>
 <tr>
-<td title='0xfc04 = 64516'>0xfc04</td>
-<td>SubIFD4</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD4'>Kodak SubIFD4 Tags</a>
-  <br>--> <a href='Kodak.html#SubIFD4'>Kodak SubIFD4 Tags</a></td></tr>
+<td title='0x1389 = 5001'>0x1389</td>
+<td>InputProfile</td>
+<td class=c>undef</td>
+<td> </td></tr>
 <tr class=b>
-<td title='0xfc05 = 64517'>0xfc05</td>
-<td>SubIFD5</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD5'>Kodak SubIFD5 Tags</a>
-  <br>--> <a href='Kodak.html#SubIFD5'>Kodak SubIFD5 Tags</a></td></tr>
+<td title='0x138a = 5002'>0x138a</td>
+<td>KodakLookProfile</td>
+<td class=c>undef</td>
+<td> </td></tr>
 <tr>
-<td title='0xfc06 = 64518'>0xfc06</td>
-<td>SubIFD6</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD6'>Kodak SubIFD6 Tags</a>
-  <br>--> <a href='Kodak.html#SubIFD6'>Kodak SubIFD6 Tags</a></td></tr>
+<td title='0x138b = 5003'>0x138b</td>
+<td>OutputProfile</td>
+<td class=c>undef</td>
+<td> </td></tr>
 <tr class=b>
-<td title='0xfcff = 64767'>0xfcff</td>
-<td>SubIFD255</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#SubIFD0'>Kodak SubIFD0 Tags</a></td></tr>
+<td title='0x1391 = 5009'>0x1391</td>
+<td>ToneCurveFileName</td>
+<td class=c>string</td>
+<td> </td></tr>
 <tr>
-<td title='0xff00 = 65280'>0xff00</td>
-<td>CameraInfo</td>
-<td class=c>-</td>
-<td>--> <a href='Kodak.html#CameraInfo'>Kodak CameraInfo Tags</a></td></tr>
+<td title='0x1784 = 6020'>0x1784</td>
+<td>ISO</td>
+<td class=c>int32u</td>
+<td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='SubIFD0'>Kodak SubIFD0 Tags</a></h2>
-<p>SubIFD0 through SubIFD5 tags are written a number of newer Kodak models.</p>
+<h2><a name='TextualInfo'>Kodak TextualInfo Tags</a></h2>
+<p>Below is a list of tags which have been observed in the Kodak TextualInfo
+data, however ExifTool will extract information from any tags found here.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
 <tr class=h><th>Tag ID</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0xfa02 = 64002'>0xfa02</td>
-<td>SceneMode</td>
-<td class=c>int16u</td>
-<td><span class=s><span class=n>(may not be valid for some models)</span></span><table class=cols><tr>
-  <td>1 = Sport
-  <br>3 = Portrait
-  <br>4 = Landscape
-  <br>6 = Beach
-  <br>7 = Night Portrait
-  <br>8 = Night Landscape
-  <br>9 = Snow
-  <br>10 = Text
-  <br>11 = Fireworks
-  <br>12 = Macro
-  <br>13 = Museum
-  <br>16 = Children</td><td>  </td>
-  <td>17 = Program
-  <br>18 = Aperture Priority
-  <br>19 = Shutter Priority
-  <br>20 = Manual
-  <br>25 = Back Light
-  <br>28 = Candlelight
-  <br>29 = Sunset
-  <br>31 = Panorama Left-right
-  <br>32 = Panorama Right-left
-  <br>33 = Smart Scene
-  <br>34 = High ISO</td></tr></table>
-</td></tr>
+<td>'AF Function'</td>
+<td>AFMode</td>
+<td class=c>N</td>
+<td> </td></tr>
 <tr class=b>
-<td title='0xfa19 = 64025'>0xfa19</td>
-<td>SerialNumber</td>
-<td class=c>string</td>
+<td>'Actual Compensation'</td>
+<td>ActualCompensation</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa1d = 64029'>0xfa1d</td>
-<td>KodakImageWidth</td>
-<td class=c>int16u</td>
+<td>'Aperture'</td>
+<td>Aperture</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xfa1e = 64030'>0xfa1e</td>
-<td>KodakImageHeight</td>
-<td class=c>int16u</td>
+<td>'Auto Bracket'</td>
+<td>AutoBracket</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa20 = 64032'>0xfa20</td>
-<td>SensorWidth</td>
-<td class=c>int16u</td>
+<td>'Brightness Value'</td>
+<td>BrightnessValue</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xfa21 = 64033'>0xfa21</td>
-<td>SensorHeight</td>
-<td class=c>int16u</td>
+<td>'Camera'</td>
+<td>CameraModel</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa23 = 64035'>0xfa23</td>
-<td>FNumber</td>
-<td class=c>int16u</td>
+<td>'Camera body'</td>
+<td>CameraBody</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xfa24 = 64036'>0xfa24</td>
-<td>ExposureTime</td>
-<td class=c>int32u</td>
+<td>'Compensation'</td>
+<td>ExposureCompensation</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa2e = 64046'>0xfa2e</td>
-<td>ISO</td>
-<td class=c>int16u</td>
+<td>'Date'</td>
+<td>Date</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xfa3d = 64061'>0xfa3d</td>
-<td>OpticalZoom</td>
-<td class=c>int16u</td>
+<td>'Exposure Bias'</td>
+<td>ExposureBias</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa46 = 64070'>0xfa46</td>
-<td>ISO</td>
-<td class=c>int16u</td>
-<td> </td></tr>
+<td>'Exposure Mode'</td>
+<td>ExposureMode</td>
+<td class=c>N</td>
+<td><span class=s>'A' = Aperture Priority
+  <br>'B' = Bulb
+  <br>'M' = Manual
+  <br>'P' = Program
+  <br>'S' = Shutter Priority</span></td></tr>
 <tr class=b>
-<td title='0xfa51 = 64081'>0xfa51</td>
-<td>KodakImageWidth</td>
-<td class=c>int16u</td>
+<td>'Firmware Version'</td>
+<td>FirmwareVersion</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa52 = 64082'>0xfa52</td>
-<td>KodakImageHeight</td>
-<td class=c>int16u</td>
+<td>'Flash Compensation'</td>
+<td>FlashExposureComp</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xfa54 = 64084'>0xfa54</td>
-<td>ThumbnailWidth</td>
-<td class=c>int16u</td>
+<td>'Flash Fired'</td>
+<td>FlashFired</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa55 = 64085'>0xfa55</td>
-<td>ThumbnailHeight</td>
-<td class=c>int16u</td>
+<td>'Flash Sync Mode'</td>
+<td>FlashSyncMode</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xfa57 = 64087'>0xfa57</td>
-<td>PreviewImageWidth</td>
-<td class=c>int16u</td>
-<td> </td></tr>
-<tr>
-<td title='0xfa58 = 64088'>0xfa58</td>
-<td>PreviewImageHeight</td>
-<td class=c>int16u</td>
+<td>'Focal Length'</td>
+<td>FocalLength</td>
+<td class=c>N</td>
 <td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='SubIFD1'>Kodak SubIFD1 Tags</a></h2>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x0027 = 39'>0x0027</td>
-<td>ISO</td>
-<td class=c>int16u</td>
+<td>'Height'</td>
+<td>KodakImageHeight</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0028 = 40'>0x0028</td>
+<td>'ISO'</td>
 <td>ISO</td>
-<td class=c>int16u</td>
+<td class=c>N</td>
 <td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='SubIFD2'>Kodak SubIFD2 Tags</a></h2>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x6002 = 24578'>0x6002</td>
-<td>SceneModeUsed</td>
-<td class=c>int32u</td>
-<td><table class=cols><tr>
-  <td>0 = Program
-  <br>2 = Aperture Priority
-  <br>3 = Shutter Priority
-  <br>4 = Manual
-  <br>5 = Portrait
-  <br>6 = Sport
-  <br>7 = Children
-  <br>8 = Museum
-  <br>10 = High ISO
-  <br>11 = Text
-  <br>12 = Macro</td><td>  </td>
-  <td>13 = Back Light
-  <br>16 = Landscape
-  <br>17 = Night Landscape
-  <br>18 = Night Portrait
-  <br>19 = Snow
-  <br>20 = Beach
-  <br>21 = Fireworks
-  <br>22 = Sunset
-  <br>23 = Candlelight
-  <br>28 = Panorama</td></tr></table>
-</td></tr>
-<tr class=b>
-<td title='0x6006 = 24582'>0x6006</td>
-<td>OpticalZoom</td>
-<td class=c>int32u</td>
+<td>'ISO Speed'</td>
+<td>ISO</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>'Image Number'</td>
+<td>ImageNumber</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0x6103 = 24835'>0x6103</td>
+<td>'Max Aperture'</td>
 <td>MaxAperture</td>
-<td class=c>int32u</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xf002 = 61442'>0xf002</td>
-<td>SceneModeUsed</td>
-<td class=c>int32u</td>
-<td><table class=cols><tr>
-  <td>0 = Program
-  <br>2 = Aperture Priority
-  <br>3 = Shutter Priority
-  <br>4 = Manual
-  <br>5 = Portrait
-  <br>6 = Sport
-  <br>7 = Children
-  <br>8 = Museum
-  <br>10 = High ISO
-  <br>11 = Text
-  <br>12 = Macro</td><td>  </td>
-  <td>13 = Back Light
-  <br>16 = Landscape
-  <br>17 = Night Landscape
-  <br>18 = Night Portrait
-  <br>19 = Snow
-  <br>20 = Beach
-  <br>21 = Fireworks
-  <br>22 = Sunset
-  <br>23 = Candlelight
-  <br>28 = Panorama</td></tr></table>
-</td></tr>
+<td>'Meter Mode'</td>
+<td>MeterMode</td>
+<td class=c>N</td>
+<td> </td></tr>
 <tr>
-<td title='0xf006 = 61446'>0xf006</td>
-<td>OpticalZoom</td>
-<td class=c>int32u</td>
+<td>'Min Aperture'</td>
+<td>MinAperture</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xf103 = 61699'>0xf103</td>
-<td>FNumber</td>
-<td class=c>int32u</td>
+<td>'Popup Flash'</td>
+<td>PopupFlash</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td title='0xf104 = 61700'>0xf104</td>
-<td>ExposureTime</td>
-<td class=c>int32u</td>
+<td>'Serial Number'</td>
+<td>SerialNumber</td>
+<td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xf105 = 61701'>0xf105</td>
-<td>ISO</td>
-<td class=c>int32u</td>
+<td>'Shooting Mode'</td>
+<td>ShootingMode</td>
+<td class=c>N</td>
 <td> </td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='SubIFD3'>Kodak SubIFD3 Tags</a></h2>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x1000 = 4096'>0x1000</td>
-<td>OpticalZoom</td>
-<td class=c>int16u</td>
+<td>'Shutter'</td>
+<td>ShutterSpeed</td>
+<td class=c>N</td>
 <td> </td></tr>
+<tr class=b>
+<td>'Temperature'</td>
+<td>Temperature</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>'Time'</td>
+<td>Time</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>'White balance'</td>
+<td>WhiteBalance</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>'Width'</td>
+<td>KodakImageWidth</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>'_other_info'</td>
+<td>OtherInfo</td>
+<td class=c>N</td>
+<td><span class=s><span class=n>(any other information without a tag name)</span></span></td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='SubIFD4'>Kodak SubIFD4 Tags</a></h2>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr><td colspan=4 class=c><i>[no tags known]</i></td></tr>
-</table></td></tr></table></blockquote>
-
-<h2><a name='SubIFD5'>Kodak SubIFD5 Tags</a></h2>
+<h2><a name='Processing'>Kodak Processing Tags</a></h2>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<tr class=h><th>Index2</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x000f = 15'>0x000f</td>
-<td>OpticalZoom</td>
-<td class=c>int16u</td>
+<td class=r title='20 = 0x14'>20</td>
+<td>WB_RGBLevels</td>
+<td class=c>N</td>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='SubIFD6'>Kodak SubIFD6 Tags</a></h2>
-<p>SubIFD6 is written by the M580.</p>
+<h2><a name='Type2'>Kodak Type2 Tags</a></h2>
+<p>These tags are used by the Kodak DC220, DC260, DC265 and DC290,
+Hewlett-Packard PhotoSmart 618, C500 and C912, Pentax EI-200 and EI-2000,
+and Minolta EX1500Z.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<tr class=h><th>Index1</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr><td colspan=4 class=c><i>[no tags known]</i></td></tr>
+<tr>
+<td class=r title='8 = 0x8'>8</td>
+<td>KodakMaker</td>
+<td class=c>string[32]</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='40 = 0x28'>40</td>
+<td>KodakModel</td>
+<td class=c>string[32]</td>
+<td> </td></tr>
+<tr>
+<td class=r title='108 = 0x6c'>108</td>
+<td>KodakImageWidth</td>
+<td class=c>int32u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='112 = 0x70'>112</td>
+<td>KodakImageHeight</td>
+<td class=c>int32u</td>
+<td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='CameraInfo'>Kodak CameraInfo Tags</a></h2>
-<p>These tags are used by the  P712, P850 and P880.</p>
+<h2><a name='Type3'>Kodak Type3 Tags</a></h2>
+<p>These tags are used by the DC240, DC280, DC3400 and DC5000.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<tr class=h><th>Index1</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0xf900 = 63744'>0xf900</td>
-<td>SensorWidth</td>
-<td class=c>int16u</td>
-<td><span class=s><span class=n>(effective sensor size)</span></span></td></tr>
-<tr class=b>
-<td title='0xf901 = 63745'>0xf901</td>
-<td>SensorHeight</td>
+<td class=r title='12 = 0xc'>12</td>
+<td>YearCreated</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr>
-<td title='0xf902 = 63746'>0xf902</td>
-<td>BayerPattern</td>
-<td class=c>string</td>
-<td> </td></tr>
 <tr class=b>
-<td title='0xf903 = 63747'>0xf903</td>
-<td>SensorFullWidth</td>
-<td class=c>int16u</td>
-<td><span class=s><span class=n>(includes black border?)</span></span></td></tr>
+<td class=r title='14 = 0xe'>14</td>
+<td>MonthDayCreated</td>
+<td class=c>int8u[2]</td>
+<td> </td></tr>
 <tr>
-<td title='0xf904 = 63748'>0xf904</td>
-<td>SensorFullHeight</td>
-<td class=c>int16u</td>
+<td class=r title='16 = 0x10'>16</td>
+<td>TimeCreated</td>
+<td class=c>int8u[4]</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0xf907 = 63751'>0xf907</td>
-<td>KodakImageWidth</td>
+<td class=r title='30 = 0x1e'>30</td>
+<td>OpticalZoom</td>
 <td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0xf908 = 63752'>0xf908</td>
-<td>KodakImageHeight</td>
-<td class=c>int16u</td>
-<td> </td></tr>
+<td class=r title='55 = 0x37'>55</td>
+<td>Sharpness</td>
+<td class=c>int8s</td>
+<td><span class=s>0 = Normal</span></td></tr>
 <tr class=b>
-<td title='0xfa00 = 64000'>0xfa00</td>
-<td>KodakInfoType</td>
-<td class=c>string</td>
+<td class=r title='56 = 0x38'>56</td>
+<td>ExposureTime</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr>
-<td title='0xfa04 = 64004'>0xfa04</td>
-<td>SerialNumber</td>
-<td class=c>string</td>
-<td> </td></tr>
-<tr class=b>
-<td title='0xfd04 = 64772'>0xfd04</td>
+<td class=r title='60 = 0x3c'>60</td>
 <td>FNumber</td>
 <td class=c>int16u</td>
 <td> </td></tr>
-<tr>
-<td title='0xfd05 = 64773'>0xfd05</td>
-<td>ExposureTime</td>
-<td class=c>int32u</td>
-<td> </td></tr>
 <tr class=b>
-<td title='0xfd06 = 64774'>0xfd06</td>
+<td class=r title='78 = 0x4e'>78</td>
 <td>ISO</td>
 <td class=c>int16u</td>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='Type9'>Kodak Type9 Tags</a></h2>
-<p>These tags are used by the Kodak C140, C180, C913, C1013, M320, M340 and
-M550, as well as various cameras marketed by other manufacturers.</p>
+<h2><a name='Type4'>Kodak Type4 Tags</a></h2>
+<p>These tags are used by the DC200 and DC215.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
 <tr class=h><th>Index1</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td class=r title='12 = 0xc'>12</td>
-<td>FNumber</td>
-<td class=c>int16u</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='16 = 0x10'>16</td>
-<td>ExposureTime</td>
-<td class=c>int32u</td>
-<td> </td></tr>
-<tr>
-<td class=r title='20 = 0x14'>20</td>
-<td>DateTimeOriginal</td>
-<td class=c>string[20]</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='52 = 0x34'>52</td>
-<td>ISO</td>
-<td class=c>int16u</td>
-<td> </td></tr>
-<tr>
-<td class=r title='87 = 0x57'>87</td>
-<td>FirmwareVersion</td>
-<td class=c>string[16]</td>
-<td><span class=s><span class=n>(Kodak only)</span></span></td></tr>
-<tr class=b>
-<td class=r title='168 = 0xa8'>168</td>
-<td>UnknownNumber</td>
-<td class=c>N</td>
-<td><span class=s><span class=n>(Kodak only)</span></span></td></tr>
-<tr>
-<td class=r title='196 = 0xc4'>196</td>
-<td>UnknownNumber</td>
-<td class=c>N</td>
-<td><span class=s><span class=n>(Kodak only)</span></span></td></tr>
+<td class=r title='32 = 0x20'>32</td>
+<td>OriginalFileName</td>
+<td class=c>string[12]</td>
+<td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='Type10'>Kodak Type10 Tags</a></h2>
-<p>Another variation of the IFD-format type, this time with just a byte order
-indicator instead of a full TIFF header.  These tags are used by the Z980.</p>
+<h2><a name='Type5'>Kodak Type5 Tags</a></h2>
+<p>These tags are used by the CX4200, CX4210, CX4230, CX4300, CX4310, CX6200
+and CX6230.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<tr class=h><th>Index1</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x0002 = 2'>0x0002</td>
-<td>PreviewImageSize</td>
-<td class=c>int16u[2]</td>
-<td> </td></tr>
-<tr class=b>
-<td title='0x0012 = 18'>0x0012</td>
+<td class=r title='20 = 0x14'>20</td>
 <td>ExposureTime</td>
 <td class=c>int32u</td>
 <td> </td></tr>
+<tr class=b>
+<td class=r title='26 = 0x1a'>26</td>
+<td>WhiteBalance</td>
+<td class=c>int8u</td>
+<td><span class=s>1 = Daylight
+  <br>2 = Flash
+  <br>3 = Tungsten</span></td></tr>
 <tr>
-<td title='0x0013 = 19'>0x0013</td>
+<td class=r title='28 = 0x1c'>28</td>
 <td>FNumber</td>
 <td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0014 = 20'>0x0014</td>
+<td class=r title='30 = 0x1e'>30</td>
 <td>ISO</td>
 <td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x001d = 29'>0x001d</td>
-<td>FocalLength</td>
-<td class=c>int32u</td>
+<td class=r title='32 = 0x20'>32</td>
+<td>OpticalZoom</td>
+<td class=c>int16u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='34 = 0x22'>34</td>
+<td>DigitalZoom</td>
+<td class=c>int16u</td>
 <td> </td></tr>
+<tr>
+<td class=r title='39 = 0x27'>39</td>
+<td>FlashMode</td>
+<td class=c>int8u</td>
+<td><span class=s>0 = Auto
+  <br>1 = On
+  <br>2 = Off
+  <br>3 = Red-Eye</span></td></tr>
+<tr class=b>
+<td class=r title='42 = 0x2a'>42</td>
+<td>ImageRotated</td>
+<td class=c>int8u</td>
+<td><span class=s>0 = No
+  <br>1 = Yes</span></td></tr>
+<tr>
+<td class=r title='43 = 0x2b'>43</td>
+<td>Macro</td>
+<td class=c>int8u</td>
+<td><span class=s>0 = On
+  <br>1 = Off</span></td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='Type11'>Kodak Type11 Tags</a></h2>
-<p>These tags are found in models such as the PixPro S-1.  They are not
-writable because the inconsistency of Kodak maker notes is beginning to get
-on my nerves.</p>
+<h2><a name='Type6'>Kodak Type6 Tags</a></h2>
+<p>These tags are used by the DX3215 and DX3700.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
-<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<tr class=h><th>Index1</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x0203 = 515'>0x0203</td>
-<td>PictureEffect</td>
-<td class=c>N</td>
-<td><span class=s>0 = None
-  <br>3 = Monochrome
-  <br>9 = Kodachrome</span></td></tr>
+<td class=r title='16 = 0x10'>16</td>
+<td>ExposureTime</td>
+<td class=c>int32u</td>
+<td> </td></tr>
 <tr class=b>
-<td title='0x0207 = 519'>0x0207</td>
-<td>KodakModel</td>
-<td class=c>N</td>
+<td class=r title='20 = 0x14'>20</td>
+<td>ISOSetting?</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr>
-<td title='0x0300 = 768'>0x0300</td>
-<td>KodakMake</td>
-<td class=c>N</td>
+<td class=r title='24 = 0x18'>24</td>
+<td>FNumber</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0308 = 776'>0x0308</td>
-<td>LensSerialNumber</td>
-<td class=c>N</td>
+<td class=r title='26 = 0x1a'>26</td>
+<td>ISO</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x0309 = 777'>0x0309</td>
-<td>LensModel</td>
-<td class=c>N</td>
+<td class=r title='28 = 0x1c'>28</td>
+<td>OpticalZoom</td>
+<td class=c>int16u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='30 = 0x1e'>30</td>
+<td>DigitalZoom</td>
+<td class=c>int16u</td>
 <td> </td></tr>
+<tr>
+<td class=r title='34 = 0x22'>34</td>
+<td>Flash</td>
+<td class=c>int16u</td>
+<td><span class=s>0 = No Flash
+  <br>1 = Fired</span></td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='Unknown'>Kodak Unknown Tags</a></h2>
+<h2><a name='Type7'>Kodak Type7 Tags</a></h2>
+<p>The maker notes of models such as the C340, C433, CC533, LS755, V803 and
+V1003 seem to start with the camera serial number.  The C310, C315, C330,
+C643, C743, CD33, CD43, CX7220 and CX7300 maker notes are also decoded using
+this table, although the strings for these cameras don't conform to the
+usual Kodak serial number format, and instead have the model name followed
+by 8 digits.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
 <tr class=h><th>Index1</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr><td colspan=4 class=c><i>[no tags known]</i></td></tr>
+<tr>
+<td class=r title='0 = 0x0'>0</td>
+<td>SerialNumber</td>
+<td class=c>string[16]</td>
+<td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='IFD'>Kodak IFD Tags</a></h2>
-<p>These tags are found in a separate IFD of JPEG, TIFF, DCR and KDC images
-from some older Kodak models such as the DC50, DC120, DCS760C, DCS Pro 14N,
-14nx, SLR/n, Pro Back and Canon EOS D2000.</p>
+<h2><a name='Type8'>Kodak Type8 Tags</a></h2>
+<p>Kodak models such as the ZD710, P712, P850, P880, V1233, V1253, V1275,
+V1285, Z612, Z712, Z812, Z885 use standard TIFF IFD format for the maker
+notes.  In keeping with Kodak's strategy of inconsistent makernotes, models
+such as the M380, M1033, M1093, V1073, V1273, Z1012, Z1085 and Z8612
+also use these tags, but these makernotes begin with a TIFF header instead
+of an IFD entry count and use relative instead of absolute offsets.  There
+is a large amount of information stored in these maker notes (apparently
+with much duplication), but relatively few tags have so far been decoded.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
 <tr class=h><th>Tag ID</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x0001 = 1'>0x0001</td>
-<td>UnknownEV?</td>
-<td class=c>rational64u</td>
-<td> </td></tr>
+<td title='0xfc00 = 64512'>0xfc00</td>
+<td>SubIFD0</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#SubIFD0'>Kodak SubIFD0 Tags</a>
+  <br>--> <a href='Kodak.html#SubIFD0'>Kodak SubIFD0 Tags</a></td></tr>
 <tr class=b>
-<td title='0x0003 = 3'>0x0003</td>
-<td>ExposureValue</td>
-<td class=c>rational64u</td>
-<td> </td></tr>
+<td title='0xfc01 = 64513'>0xfc01</td>
+<td>SubIFD1</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#SubIFD1'>Kodak SubIFD1 Tags</a>
+  <br>--> <a href='Kodak.html#SubIFD1'>Kodak SubIFD1 Tags</a></td></tr>
 <tr>
-<td title='0x03e9 = 1001'>0x03e9</td>
-<td>OriginalFileName</td>
-<td class=c>string</td>
-<td> </td></tr>
+<td title='0xfc02 = 64514'>0xfc02</td>
+<td>SubIFD2</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#SubIFD2'>Kodak SubIFD2 Tags</a>
+  <br>--> <a href='Kodak.html#SubIFD2'>Kodak SubIFD2 Tags</a></td></tr>
 <tr class=b>
-<td title='0x03eb = 1003'>0x03eb</td>
-<td>SensorLeftBorder</td>
-<td class=c>N</td>
-<td> </td></tr>
+<td title='0xfc03 = 64515'>0xfc03</td>
+<td>SubIFD3</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#SubIFD3'>Kodak SubIFD3 Tags</a>
+  <br>--> <a href='Kodak.html#SubIFD3'>Kodak SubIFD3 Tags</a></td></tr>
 <tr>
-<td title='0x03ec = 1004'>0x03ec</td>
-<td>SensorTopBorder</td>
-<td class=c>N</td>
-<td> </td></tr>
+<td title='0xfc04 = 64516'>0xfc04</td>
+<td>SubIFD4</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#SubIFD4'>Kodak SubIFD4 Tags</a>
+  <br>--> <a href='Kodak.html#SubIFD4'>Kodak SubIFD4 Tags</a></td></tr>
 <tr class=b>
-<td title='0x03ed = 1005'>0x03ed</td>
-<td>SensorImageWidth</td>
-<td class=c>N</td>
-<td> </td></tr>
+<td title='0xfc05 = 64517'>0xfc05</td>
+<td>SubIFD5</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#SubIFD5'>Kodak SubIFD5 Tags</a>
+  <br>--> <a href='Kodak.html#SubIFD5'>Kodak SubIFD5 Tags</a></td></tr>
 <tr>
-<td title='0x03ee = 1006'>0x03ee</td>
-<td>SensorImageHeight</td>
-<td class=c>N</td>
-<td> </td></tr>
+<td title='0xfc06 = 64518'>0xfc06</td>
+<td>SubIFD6</td>
+<td class=c>-</td>
+<td>--> <a href='Kodak.html#SubIFD6'>Kodak SubIFD6 Tags</a>
+  <br>--> <a href='Kodak.html#SubIFD6'>Kodak SubIFD6 Tags</a></td></tr>
 <tr class=b>
-<td title='0x03f1 = 1009'>0x03f1</td>
-<td>TextualInfo</td>
+<td title='0xfcff = 64767'>0xfcff</td>
+<td>SubIFD255</td>
 <td class=c>-</td>
-<td>--> <a href='Kodak.html#TextualInfo'>Kodak TextualInfo Tags</a></td></tr>
+<td>--> <a href='Kodak.html#SubIFD0'>Kodak SubIFD0 Tags</a></td></tr>
 <tr>
-<td title='0x03fc = 1020'>0x03fc</td>
-<td>WhiteBalance</td>
-<td class=c>int16u</td>
-<td> </td></tr>
-<tr class=b>
-<td title='0x03fd = 1021'>0x03fd</td>
-<td>Processing</td>
+<td title='0xff00 = 65280'>0xff00</td>
+<td>CameraInfo</td>
 <td class=c>-</td>
-<td>--> <a href='Kodak.html#Processing'>Kodak Processing Tags</a></td></tr>
+<td>--> <a href='Kodak.html#CameraInfo'>Kodak CameraInfo Tags</a></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SubIFD0'>Kodak SubIFD0 Tags</a></h2>
+<p>SubIFD0 through SubIFD5 tags are written a number of newer Kodak models.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x0401 = 1025'>0x0401</td>
-<td>Time</td>
-<td class=c>string</td>
-<td> </td></tr>
+<td title='0xfa02 = 64002'>0xfa02</td>
+<td>SceneMode</td>
+<td class=c>int16u</td>
+<td><span class=s><span class=n>(may not be valid for some models)</span></span><table class=cols><tr>
+  <td>1 = Sport
+  <br>3 = Portrait
+  <br>4 = Landscape
+  <br>6 = Beach
+  <br>7 = Night Portrait
+  <br>8 = Night Landscape
+  <br>9 = Snow
+  <br>10 = Text
+  <br>11 = Fireworks
+  <br>12 = Macro
+  <br>13 = Museum
+  <br>16 = Children</td><td>  </td>
+  <td>17 = Program
+  <br>18 = Aperture Priority
+  <br>19 = Shutter Priority
+  <br>20 = Manual
+  <br>25 = Back Light
+  <br>28 = Candlelight
+  <br>29 = Sunset
+  <br>31 = Panorama Left-right
+  <br>32 = Panorama Right-left
+  <br>33 = Smart Scene
+  <br>34 = High ISO</td></tr></table>
+</td></tr>
 <tr class=b>
-<td title='0x0406 = 1030'>0x0406</td>
-<td>CameraTemperature</td>
-<td class=c>rational64s</td>
+<td title='0xfa19 = 64025'>0xfa19</td>
+<td>SerialNumber</td>
+<td class=c>string</td>
 <td> </td></tr>
 <tr>
-<td title='0x0407 = 1031'>0x0407</td>
-<td>AdapterVoltage</td>
-<td class=c>rational64u</td>
+<td title='0xfa1d = 64029'>0xfa1d</td>
+<td>KodakImageWidth</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0408 = 1032'>0x0408</td>
-<td>BatteryVoltage</td>
-<td class=c>rational64u</td>
+<td title='0xfa1e = 64030'>0xfa1e</td>
+<td>KodakImageHeight</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x0414 = 1044'>0x0414</td>
-<td>NCDFileInfo</td>
-<td class=c>string</td>
+<td title='0xfa20 = 64032'>0xfa20</td>
+<td>SensorWidth</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0846 = 2118'>0x0846</td>
-<td>ColorTemperature</td>
+<td title='0xfa21 = 64033'>0xfa21</td>
+<td>SensorHeight</td>
 <td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x0848 = 2120'>0x0848</td>
-<td>WB_RGBLevelsDaylight</td>
-<td class=c>N</td>
+<td title='0xfa23 = 64035'>0xfa23</td>
+<td>FNumber</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0849 = 2121'>0x0849</td>
-<td>WB_RGBLevelsTungsten</td>
-<td class=c>N</td>
+<td title='0xfa24 = 64036'>0xfa24</td>
+<td>ExposureTime</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr>
-<td title='0x084a = 2122'>0x084a</td>
-<td>WB_RGBLevelsFluorescent</td>
-<td class=c>N</td>
+<td title='0xfa2e = 64046'>0xfa2e</td>
+<td>ISO</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x084b = 2123'>0x084b</td>
-<td>WB_RGBLevelsFlash</td>
-<td class=c>N</td>
+<td title='0xfa3d = 64061'>0xfa3d</td>
+<td>OpticalZoom</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x084c = 2124'>0x084c</td>
-<td>WB_RGBLevelsCustom</td>
-<td class=c>N</td>
+<td title='0xfa46 = 64070'>0xfa46</td>
+<td>ISO</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x084d = 2125'>0x084d</td>
-<td>WB_RGBLevelsAuto</td>
-<td class=c>N</td>
+<td title='0xfa51 = 64081'>0xfa51</td>
+<td>KodakImageWidth</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x0852 = 2130'>0x0852</td>
-<td>WB_RGBMul0</td>
-<td class=c>N</td>
+<td title='0xfa52 = 64082'>0xfa52</td>
+<td>KodakImageHeight</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0853 = 2131'>0x0853</td>
-<td>WB_RGBMul1</td>
-<td class=c>N</td>
+<td title='0xfa54 = 64084'>0xfa54</td>
+<td>ThumbnailWidth</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x0854 = 2132'>0x0854</td>
-<td>WB_RGBMul2</td>
-<td class=c>N</td>
+<td title='0xfa55 = 64085'>0xfa55</td>
+<td>ThumbnailHeight</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0855 = 2133'>0x0855</td>
-<td>WB_RGBMul3</td>
-<td class=c>N</td>
+<td title='0xfa57 = 64087'>0xfa57</td>
+<td>PreviewImageWidth</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td title='0x085c = 2140'>0x085c</td>
-<td>WB_RGBCoeffs0</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td title='0x085d = 2141'>0x085d</td>
-<td>WB_RGBCoeffs1</td>
-<td class=c>N</td>
+<td title='0xfa58 = 64088'>0xfa58</td>
+<td>PreviewImageHeight</td>
+<td class=c>int16u</td>
 <td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SubIFD1'>Kodak SubIFD1 Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x085e = 2142'>0x085e</td>
-<td>WB_RGBCoeffs2</td>
-<td class=c>N</td>
+<td title='0x0027 = 39'>0x0027</td>
+<td>ISO</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x085f = 2143'>0x085f</td>
-<td>WB_RGBCoeffs3</td>
-<td class=c>N</td>
+<td title='0x0028 = 40'>0x0028</td>
+<td>ISO</td>
+<td class=c>int16u</td>
 <td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SubIFD2'>Kodak SubIFD2 Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x0903 = 2307'>0x0903</td>
-<td>BaseISO</td>
-<td class=c>rational64u</td>
-<td> </td></tr>
+<td title='0x6002 = 24578'>0x6002</td>
+<td>SceneModeUsed</td>
+<td class=c>int32u</td>
+<td><table class=cols><tr>
+  <td>0 = Program
+  <br>2 = Aperture Priority
+  <br>3 = Shutter Priority
+  <br>4 = Manual
+  <br>5 = Portrait
+  <br>6 = Sport
+  <br>7 = Children
+  <br>8 = Museum
+  <br>10 = High ISO
+  <br>11 = Text
+  <br>12 = Macro</td><td>  </td>
+  <td>13 = Back Light
+  <br>16 = Landscape
+  <br>17 = Night Landscape
+  <br>18 = Night Portrait
+  <br>19 = Snow
+  <br>20 = Beach
+  <br>21 = Fireworks
+  <br>22 = Sunset
+  <br>23 = Candlelight
+  <br>28 = Panorama</td></tr></table>
+</td></tr>
 <tr class=b>
-<td title='0x09ce = 2510'>0x09ce</td>
-<td>SensorSerialNumber</td>
-<td class=c>string</td>
+<td title='0x6006 = 24582'>0x6006</td>
+<td>OpticalZoom</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr>
-<td title='0x0ce5 = 3301'>0x0ce5</td>
-<td>FirmwareVersion</td>
-<td class=c>string</td>
+<td title='0x6103 = 24835'>0x6103</td>
+<td>MaxAperture</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x0e4c = 3660'>0x0e4c</td>
-<td>KodakLook</td>
-<td class=c>string</td>
-<td> </td></tr>
+<td title='0xf002 = 61442'>0xf002</td>
+<td>SceneModeUsed</td>
+<td class=c>int32u</td>
+<td><table class=cols><tr>
+  <td>0 = Program
+  <br>2 = Aperture Priority
+  <br>3 = Shutter Priority
+  <br>4 = Manual
+  <br>5 = Portrait
+  <br>6 = Sport
+  <br>7 = Children
+  <br>8 = Museum
+  <br>10 = High ISO
+  <br>11 = Text
+  <br>12 = Macro</td><td>  </td>
+  <td>13 = Back Light
+  <br>16 = Landscape
+  <br>17 = Night Landscape
+  <br>18 = Night Portrait
+  <br>19 = Snow
+  <br>20 = Beach
+  <br>21 = Fireworks
+  <br>22 = Sunset
+  <br>23 = Candlelight
+  <br>28 = Panorama</td></tr></table>
+</td></tr>
 <tr>
-<td title='0x1389 = 5001'>0x1389</td>
-<td>InputProfile</td>
-<td class=c>undef</td>
+<td title='0xf006 = 61446'>0xf006</td>
+<td>OpticalZoom</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x138a = 5002'>0x138a</td>
-<td>KodakLookProfile</td>
-<td class=c>undef</td>
+<td title='0xf103 = 61699'>0xf103</td>
+<td>FNumber</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr>
-<td title='0x138b = 5003'>0x138b</td>
-<td>OutputProfile</td>
-<td class=c>undef</td>
+<td title='0xf104 = 61700'>0xf104</td>
+<td>ExposureTime</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr class=b>
-<td title='0x1391 = 5009'>0x1391</td>
-<td>ToneCurveFileName</td>
-<td class=c>string</td>
+<td title='0xf105 = 61701'>0xf105</td>
+<td>ISO</td>
+<td class=c>int32u</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SubIFD3'>Kodak SubIFD3 Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td title='0x1000 = 4096'>0x1000</td>
+<td>OpticalZoom</td>
+<td class=c>int16u</td>
 <td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SubIFD4'>Kodak SubIFD4 Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr><td colspan=4 class=c><i>[no tags known]</i></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SubIFD5'>Kodak SubIFD5 Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td title='0x1784 = 6020'>0x1784</td>
-<td>ISO</td>
-<td class=c>int32u</td>
+<td title='0x000f = 15'>0x000f</td>
+<td>OpticalZoom</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='TextualInfo'>Kodak TextualInfo Tags</a></h2>
-<p>Below is a list of tags which have been observed in the Kodak TextualInfo
-data, however ExifTool will extract information from any tags found here.</p>
+<h2><a name='SubIFD6'>Kodak SubIFD6 Tags</a></h2>
+<p>SubIFD6 is written by the M580.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr><td colspan=4 class=c><i>[no tags known]</i></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='CameraInfo'>Kodak CameraInfo Tags</a></h2>
+<p>These tags are used by the  P712, P850 and P880.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
 <tr class=h><th>Tag ID</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td>'AF Function'</td>
-<td>AFMode</td>
-<td class=c>N</td>
-<td> </td></tr>
+<td title='0xf900 = 63744'>0xf900</td>
+<td>SensorWidth</td>
+<td class=c>int16u</td>
+<td><span class=s><span class=n>(effective sensor size)</span></span></td></tr>
 <tr class=b>
-<td>'Actual Compensation'</td>
-<td>ActualCompensation</td>
-<td class=c>N</td>
+<td title='0xf901 = 63745'>0xf901</td>
+<td>SensorHeight</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td>'Aperture'</td>
-<td>Aperture</td>
-<td class=c>N</td>
+<td title='0xf902 = 63746'>0xf902</td>
+<td>BayerPattern</td>
+<td class=c>string</td>
 <td> </td></tr>
 <tr class=b>
-<td>'Auto Bracket'</td>
-<td>AutoBracket</td>
-<td class=c>N</td>
-<td> </td></tr>
+<td title='0xf903 = 63747'>0xf903</td>
+<td>SensorFullWidth</td>
+<td class=c>int16u</td>
+<td><span class=s><span class=n>(includes black border?)</span></span></td></tr>
 <tr>
-<td>'Brightness Value'</td>
-<td>BrightnessValue</td>
-<td class=c>N</td>
+<td title='0xf904 = 63748'>0xf904</td>
+<td>SensorFullHeight</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td>'Camera'</td>
-<td>CameraModel</td>
-<td class=c>N</td>
+<td title='0xf907 = 63751'>0xf907</td>
+<td>KodakImageWidth</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td>'Camera body'</td>
-<td>CameraBody</td>
-<td class=c>N</td>
+<td title='0xf908 = 63752'>0xf908</td>
+<td>KodakImageHeight</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td>'Compensation'</td>
-<td>ExposureCompensation</td>
-<td class=c>N</td>
+<td title='0xfa00 = 64000'>0xfa00</td>
+<td>KodakInfoType</td>
+<td class=c>string</td>
 <td> </td></tr>
 <tr>
-<td>'Date'</td>
-<td>Date</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td>'Exposure Bias'</td>
-<td>ExposureBias</td>
-<td class=c>N</td>
+<td title='0xfa04 = 64004'>0xfa04</td>
+<td>SerialNumber</td>
+<td class=c>string</td>
 <td> </td></tr>
-<tr>
-<td>'Exposure Mode'</td>
-<td>ExposureMode</td>
-<td class=c>N</td>
-<td><span class=s>'A' = Aperture Priority
-  <br>'B' = Bulb
-  <br>'M' = Manual
-  <br>'P' = Program
-  <br>'S' = Shutter Priority</span></td></tr>
 <tr class=b>
-<td>'Firmware Version'</td>
-<td>FirmwareVersion</td>
-<td class=c>N</td>
+<td title='0xfd04 = 64772'>0xfd04</td>
+<td>FNumber</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td>'Flash Compensation'</td>
-<td>FlashExposureComp</td>
-<td class=c>N</td>
+<td title='0xfd05 = 64773'>0xfd05</td>
+<td>ExposureTime</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr class=b>
-<td>'Flash Fired'</td>
-<td>FlashFired</td>
-<td class=c>N</td>
+<td title='0xfd06 = 64774'>0xfd06</td>
+<td>ISO</td>
+<td class=c>int16u</td>
 <td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='Type9'>Kodak Type9 Tags</a></h2>
+<p>These tags are used by the Kodak C140, C180, C913, C1013, M320, M340 and
+M550, as well as various cameras marketed by other manufacturers.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index1</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td>'Flash Sync Mode'</td>
-<td>FlashSyncMode</td>
-<td class=c>N</td>
+<td class=r title='12 = 0xc'>12</td>
+<td>FNumber</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td>'Focal Length'</td>
-<td>FocalLength</td>
-<td class=c>N</td>
+<td class=r title='16 = 0x10'>16</td>
+<td>ExposureTime</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr>
-<td>'Height'</td>
-<td>KodakImageHeight</td>
-<td class=c>N</td>
+<td class=r title='20 = 0x14'>20</td>
+<td>DateTimeOriginal</td>
+<td class=c>string[20]</td>
 <td> </td></tr>
 <tr class=b>
-<td>'ISO'</td>
+<td class=r title='52 = 0x34'>52</td>
 <td>ISO</td>
-<td class=c>N</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td>'ISO Speed'</td>
-<td>ISO</td>
-<td class=c>N</td>
-<td> </td></tr>
+<td class=r title='87 = 0x57'>87</td>
+<td>FirmwareVersion</td>
+<td class=c>string[16]</td>
+<td><span class=s><span class=n>(Kodak only)</span></span></td></tr>
 <tr class=b>
-<td>'Image Number'</td>
-<td>ImageNumber</td>
+<td class=r title='168 = 0xa8'>168</td>
+<td>UnknownNumber</td>
 <td class=c>N</td>
-<td> </td></tr>
+<td><span class=s><span class=n>(Kodak only)</span></span></td></tr>
 <tr>
-<td>'Max Aperture'</td>
-<td>MaxAperture</td>
+<td class=r title='196 = 0xc4'>196</td>
+<td>UnknownNumber</td>
 <td class=c>N</td>
+<td><span class=s><span class=n>(Kodak only)</span></span></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='Type10'>Kodak Type10 Tags</a></h2>
+<p>Another variation of the IFD-format type, this time with just a byte order
+indicator instead of a full TIFF header.  These tags are used by the Z980.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td title='0x0002 = 2'>0x0002</td>
+<td>PreviewImageSize</td>
+<td class=c>int16u[2]</td>
 <td> </td></tr>
 <tr class=b>
-<td>'Meter Mode'</td>
-<td>MeterMode</td>
-<td class=c>N</td>
+<td title='0x0012 = 18'>0x0012</td>
+<td>ExposureTime</td>
+<td class=c>int32u</td>
 <td> </td></tr>
 <tr>
-<td>'Min Aperture'</td>
-<td>MinAperture</td>
-<td class=c>N</td>
+<td title='0x0013 = 19'>0x0013</td>
+<td>FNumber</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr class=b>
-<td>'Popup Flash'</td>
-<td>PopupFlash</td>
-<td class=c>N</td>
+<td title='0x0014 = 20'>0x0014</td>
+<td>ISO</td>
+<td class=c>int16u</td>
 <td> </td></tr>
 <tr>
-<td>'Serial Number'</td>
-<td>SerialNumber</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td>'Shooting Mode'</td>
-<td>ShootingMode</td>
-<td class=c>N</td>
+<td title='0x001d = 29'>0x001d</td>
+<td>FocalLength</td>
+<td class=c>int32u</td>
 <td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='Type11'>Kodak Type11 Tags</a></h2>
+<p>These tags are found in models such as the PixPro S-1.  They are not
+writable because the inconsistency of Kodak maker notes is beginning to get
+on my nerves.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
 <tr>
-<td>'Shutter'</td>
-<td>ShutterSpeed</td>
+<td title='0x0203 = 515'>0x0203</td>
+<td>PictureEffect</td>
 <td class=c>N</td>
-<td> </td></tr>
+<td><span class=s>0 = None
+  <br>3 = Monochrome
+  <br>9 = Kodachrome</span></td></tr>
 <tr class=b>
-<td>'Temperature'</td>
-<td>Temperature</td>
+<td title='0x0207 = 519'>0x0207</td>
+<td>KodakModel</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td>'Time'</td>
-<td>Time</td>
+<td title='0x0300 = 768'>0x0300</td>
+<td>KodakMake</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
-<td>'White balance'</td>
-<td>WhiteBalance</td>
+<td title='0x0308 = 776'>0x0308</td>
+<td>LensSerialNumber</td>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
-<td>'Width'</td>
-<td>KodakImageWidth</td>
+<td title='0x0309 = 777'>0x0309</td>
+<td>LensModel</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
-<td>'_other_info'</td>
-<td>OtherInfo</td>
-<td class=c>N</td>
-<td><span class=s><span class=n>(any other information without a tag name)</span></span></td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='Processing'>Kodak Processing Tags</a></h2>
+<h2><a name='Unknown'>Kodak Unknown Tags</a></h2>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
-<tr class=h><th>Index2</th><th>Tag Name</th>
+<tr class=h><th>Index1</th><th>Tag Name</th>
 <th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr>
-<td class=r title='20 = 0x14'>20</td>
-<td>WB_RGBLevels</td>
-<td class=c>N</td>
-<td> </td></tr>
+<tr><td colspan=4 class=c><i>[no tags known]</i></td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='Meta'>Kodak Meta Tags</a></h2>
diff --git a/html/TagNames/MWG.html b/html/TagNames/MWG.html
index 9c6d7ea..652e6d2 100644
--- a/html/TagNames/MWG.html
+++ b/html/TagNames/MWG.html
@@ -184,9 +184,11 @@ implements this policy and changes EXIF:Artist to a list-type tag.</p>
 
 <h2><a name='Regions'>MWG Regions Tags</a></h2>
 <p>Image region metadata defined by the MWG 2.0 specification.  These tags
-belong to the ExifTool XMP-mwg-rs group, and as such they may be accessed
-without the need to load the MWG Composite tags above.  See
+may be accessed without the need to load the MWG Composite tags above.  See
 <a href="http://www.metadataworkinggroup.org/">http://www.metadataworkinggroup.org/</a> for the official specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-mwg-rs family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -383,11 +385,14 @@ conversion).</p>
 </table></td></tr></table></blockquote>
 
 <h2><a name='Keywords'>MWG Keywords Tags</a></h2>
-<p>Hierarchical keywords metadata defined by the MWG 2.0 specification.  These
-tags belong to the ExifTool XMP-mwg-kw group. ExifTool unrolls keyword
-structures to an arbitrary depth of 6 to allow individual levels to be
-accessed with different tag names, and to avoid infinite recursion.  See
-<a href="http://www.metadataworkinggroup.org/">http://www.metadataworkinggroup.org/</a> for the official specification.</p>
+<p>Hierarchical keywords metadata defined by the MWG 2.0 specification.
+ExifTool unrolls keyword structures to an arbitrary depth of 6 to allow
+individual levels to be accessed with different tag names, and to avoid
+infinite recursion.  See <a href="http://www.metadataworkinggroup.org/">http://www.metadataworkinggroup.org/</a> for the
+official specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-mwg-kw family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -529,9 +534,11 @@ accessed with different tag names, and to avoid infinite recursion.  See
 </table></td></tr></table></blockquote>
 
 <h2><a name='Collections'>MWG Collections Tags</a></h2>
-<p>Collections metadata defined by the MWG 2.0 specification.  These tags
-belong to the ExifTool XMP-mwg-coll group.  See
+<p>Collections metadata defined by the MWG 2.0 specification.  See
 <a href="http://www.metadataworkinggroup.org/">http://www.metadataworkinggroup.org/</a> for the official specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-mwg-coll family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -571,7 +578,7 @@ belong to the ExifTool XMP-mwg-coll group.  See
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jun 8, 2015</i>
+<br><i>Last revised Sep 14, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Matroska.html b/html/TagNames/Matroska.html
index 7591b0c..3ea84e7 100644
--- a/html/TagNames/Matroska.html
+++ b/html/TagNames/Matroska.html
@@ -927,143 +927,188 @@ Matroska specification.</p>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
+<td title='0x7670 = 30320'>0x7670</td>
+<td>Projection</td>
+<td class=c>-</td>
+<td>--> <a href='Matroska.html#Projection'>Matroska Projection Tags</a></td></tr>
+<tr class=b>
 <td title='0x2b59c = 177564'>0x2b59c</td>
 <td>TrackLanguage</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x3314f = 209231'>0x3314f</td>
 <td>TrackTimecodeScale</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x383e3 = 230371'>0x383e3</td>
 <td>FrameRate</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x3e383 = 254851'>0x3e383</td>
 <td>VideoFrameRate
   <br>DefaultDuration</td>
 <td class=c>N<br>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x58688 = 362120'>0x58688</td>
 <td>VideoCodecName
   <br>AudioCodecName
   <br>CodecName</td>
 <td class=c>N<br>N<br>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x6b240 = 438848'>0x6b240</td>
 <td>CodecDownloadURL</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0xad7b1 = 710577'>0xad7b1</td>
 <td>TimecodeScale</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0xeb524 = 963876'>0xeb524</td>
 <td>ColorSpace?</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0xfb523 = 1029411'>0xfb523</td>
 <td>Gamma</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1a9697 = 1742487'>0x1a9697</td>
 <td>CodecSettings</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x1b4040 = 1785920'>0x1b4040</td>
 <td>CodecInfoURL</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1c83ab = 1868715'>0x1c83ab</td>
 <td>PrevFileName</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x1cb923 = 1882403'>0x1cb923</td>
 <td>PrevUID?</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x1e83bb = 1999803'>0x1e83bb</td>
 <td>NextFileName</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td title='0x1eb923 = 2013475'>0x1eb923</td>
 <td>NextUID?</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x43a770 = 4433776'>0x43a770</td>
 <td>Chapters</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x14d9b74 = 21863284'>0x14d9b74</td>
 <td>SeekHead</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0x254c367 = 39109479'>0x254c367</td>
 <td>Tags</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x549a966 = 88713574'>0x549a966</td>
 <td>Info</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0x654ae6b = 106212971'>0x654ae6b</td>
 <td>Tracks</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0x8538067 = 139690087'>0x8538067</td>
 <td>SegmentHeader</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0x941a469 = 155296873'>0x941a469</td>
 <td>Attachments</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0xa45dfa3 = 172351395'>0xa45dfa3</td>
 <td>EBMLHeader</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0xb538667 = 190023271'>0xb538667</td>
 <td>SignatureSlot</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td title='0xc53bb6b = 206814059'>0xc53bb6b</td>
 <td>Cues</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td title='0xf43b675 = 256095861'>0xf43b675</td>
 <td>Cluster</td>
 <td class=c>-</td>
 <td>--> <a href='Matroska.html'>Matroska Tags</a></td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='Projection'>Matroska Projection Tags</a></h2>
+<p>Projection tags defined by the Spherical Video V2 specification.  See
+<a href="https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md">https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md</a>
+for the specification.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td title='0x7671 = 30321'>0x7671</td>
+<td>ProjectionType</td>
+<td class=c>N</td>
+<td><span class=s>0 = Rectangular
+  <br>1 = Equirectangular
+  <br>2 = Cubemap</span></td></tr>
+<tr class=b>
+<td title='0x7672 = 30322'>0x7672</td>
+<td>EquirectangularProj
+  <br>CubemapProj</td>
+<td class=c>-<br>-</td>
+<td>--> <a href='QuickTime.html#equi'>QuickTime equi Tags</a>
+  <br>--> <a href='QuickTime.html#cbmp'>QuickTime cbmp Tags</a></td></tr>
+<tr>
+<td title='0x7673 = 30323'>0x7673</td>
+<td>ProjectionPosYaw</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td title='0x7674 = 30324'>0x7674</td>
+<td>ProjectionPosPitch</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td title='0x7675 = 30325'>0x7675</td>
+<td>ProjectionPosRoll</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised May 14, 2015</i>
+<br><i>Last revised Sep 14, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Microsoft.html b/html/TagNames/Microsoft.html
index e0827e5..e5ba9ec 100644
--- a/html/TagNames/Microsoft.html
+++ b/html/TagNames/Microsoft.html
@@ -9,8 +9,11 @@
 <h2 class=top><a name='XMP'>Microsoft XMP Tags</a></h2>
 <p>Microsoft Photo 1.0 schema XMP tags.  This is likely not a complete list,
 but represents tags which have been observed in sample images.  The actual
-namespace prefix is "MicrosoftPhoto", but ExifTool shortens this to
-"XMP-microsoft" in the family 1 group name.</p>
+namespace prefix is "MicrosoftPhoto", but ExifTool shortens this in the
+family 1 group name.</p>
+
+<p>
+These tags belong to the ExifTool XMP-microsoft family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -65,6 +68,9 @@ correspond to RatingPercent values of 1,25,50,75 and 99 respectively)</span></sp
 
 <h2><a name='MP1'>Microsoft MP1 Tags</a></h2>
 <p>Microsoft Photo 1.1 schema XMP tags which have been observed.</p>
+
+<p>
+These tags belong to the ExifTool XMP-MP1 family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -141,6 +147,9 @@ correspond to RatingPercent values of 1,25,50,75 and 99 respectively)</span></sp
 
 <h2><a name='MP'>Microsoft MP Tags</a></h2>
 <p>Microsoft Photo 1.2 schema XMP tags which have been observed.</p>
+
+<p>
+These tags belong to the ExifTool XMP-MP family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2111,7 +2120,7 @@ are not shown because some are unruly GUID's.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Oct 23, 2015</i>
+<br><i>Last revised Sep 14, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Minolta.html b/html/TagNames/Minolta.html
index fd1003d..863b3a4 100644
--- a/html/TagNames/Minolta.html
+++ b/html/TagNames/Minolta.html
@@ -426,8 +426,10 @@ adapter is used.</p>
 </tr><tr><td>194</td><td>= Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]</td>
 </tr><tr><td>203</td><td>= Tamron SP 70-200mm F2.8 Di USD</td>
 </tr><tr><td>204</td><td>= Tamron SP 24-70mm F2.8 Di USD</td>
-</tr><tr><td>213</td><td>= Tamron 16-300mm F3.5-6.3 Di II PZD</td>
+</tr><tr><td>212</td><td>= Tamron 28-300mm F3.5-6.3 Di PZD</td>
+</tr><tr><td>213</td><td>= Tamron 16-300mm F3.5-6.3 Di II PZD Macro</td>
 </tr><tr><td>214</td><td>= Tamron SP 150-600mm F5-6.3 Di USD</td>
+</tr><tr><td>215</td><td>= Tamron SP 15-30mm F2.8 Di USD</td>
 </tr><tr><td>224</td><td>= Tamron SP 90mm F2.8 Di Macro 1:1 USD</td>
 </tr><tr><td>255</td><td>= Tamron Lens (255)</td>
 </tr><tr><td>255.1</td><td>= Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical</td>
@@ -439,7 +441,7 @@ adapter is used.</p>
 </tr><tr><td>255.7</td><td>= Tamron SP AF 70-200mm F2.8 Di LD IF Macro</td>
 </tr><tr><td>255.8</td><td>= Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical IF</td>
 </tr><tr><td>255.9</td><td>= Tamron AF 90-300mm F4.5-5.6 Telemacro</td>
-</tr><tr><td>18688</td><td>= Sigma MC-11 Adapter</td>
+</tr><tr><td>18688</td><td>= Sigma MC-11 SA-E Mount Converter with not-supported Sigma lens</td>
 </tr><tr><td>25501</td><td>= Minolta AF 50mm F1.7</td>
 </tr><tr><td>25511</td><td>= Minolta AF 35-70mm F4 or Other Lens</td>
 </tr><tr><td>25511.1</td><td>= Sigma UC AF 28-70mm F3.5-4.5</td>
@@ -586,41 +588,46 @@ adapter is used.</p>
 </tr><tr><td>65535.20</td><td>= Sony FE 55mm F1.8 ZA</td>
 </tr><tr><td>65535.21</td><td>= Sony FE 70-200mm F4 G OSS</td>
 </tr><tr><td>65535.22</td><td>= Sony FE 16-35mm F4 ZA OSS</td>
-</tr><tr><td>65535.23</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
-</tr><tr><td>65535.24</td><td>= Sony FE 35mm F1.4 ZA</td>
-</tr><tr><td>65535.25</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
-</tr><tr><td>65535.26</td><td>= Sony FE 28mm F2</td>
-</tr><tr><td>65535.27</td><td>= Sony FE PZ 28-135mm F4 G OSS</td>
-</tr><tr><td>65535.28</td><td>= Sony FE 24-70mm F2.8 GM</td>
-</tr><tr><td>65535.29</td><td>= Sony FE 50mm F1.4 ZA</td>
-</tr><tr><td>65535.30</td><td>= Sony FE 85mm F1.4 GM</td>
-</tr><tr><td>65535.31</td><td>= Sony FE 50mm F1.8</td>
-</tr><tr><td>65535.32</td><td>= Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)</td>
-</tr><tr><td>65535.33</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
-</tr><tr><td>65535.34</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
-</tr><tr><td>65535.35</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
-</tr><tr><td>65535.36</td><td>= Sigma 19mm F2.8 [EX] DN</td>
-</tr><tr><td>65535.37</td><td>= Sigma 30mm F2.8 [EX] DN</td>
-</tr><tr><td>65535.38</td><td>= Sigma 60mm F2.8 DN</td>
-</tr><tr><td>65535.39</td><td>= Sigma 30mm F1.4 DC DN | C</td>
-</tr><tr><td>65535.40</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
-</tr><tr><td>65535.41</td><td>= Zeiss Batis 25mm F2</td>
-</tr><tr><td>65535.42</td><td>= Zeiss Batis 85mm F1.8</td>
-</tr><tr><td>65535.43</td><td>= Zeiss Batis 18mm F2.8</td>
-</tr><tr><td>65535.44</td><td>= Zeiss Loxia 21mm F2.8</td>
-</tr><tr><td>65535.45</td><td>= Zeiss Loxia 35mm F2</td>
-</tr><tr><td>65535.46</td><td>= Zeiss Loxia 50mm F2</td>
-</tr><tr><td>65535.47</td><td>= Zeiss Touit 12mm F2.8</td>
-</tr><tr><td>65535.48</td><td>= Zeiss Touit 32mm F1.8</td>
-</tr><tr><td>65535.49</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
-</tr><tr><td>65535.50</td><td>= Samyang AF 50mm F1.4 FE</td>
-</tr><tr><td>65535.51</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.52</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.53</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
-</tr><tr><td>65535.54</td><td>= Samyang 500mm Mirror F8.0</td>
-</tr><tr><td>65535.55</td><td>= Pentacon Auto 135mm F2.8</td>
-</tr><tr><td>65535.56</td><td>= Pentacon Auto 29mm F2.8</td>
-</tr><tr><td>65535.57</td><td>= Helios 44-2 58mm F2.0</td>
+</tr><tr><td>65535.23</td><td>= Sony FE 50mm F2.8 Macro</td>
+</tr><tr><td>65535.24</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
+</tr><tr><td>65535.25</td><td>= Sony FE 35mm F1.4 ZA</td>
+</tr><tr><td>65535.26</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
+</tr><tr><td>65535.27</td><td>= Sony FE 28mm F2</td>
+</tr><tr><td>65535.28</td><td>= Sony FE PZ 28-135mm F4 G OSS</td>
+</tr><tr><td>65535.29</td><td>= Sony FE 24-70mm F2.8 GM</td>
+</tr><tr><td>65535.30</td><td>= Sony FE 50mm F1.4 ZA</td>
+</tr><tr><td>65535.31</td><td>= Sony FE 85mm F1.4 GM</td>
+</tr><tr><td>65535.32</td><td>= Sony FE 50mm F1.8</td>
+</tr><tr><td>65535.33</td><td>= Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)</td>
+</tr><tr><td>65535.34</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
+</tr><tr><td>65535.35</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
+</tr><tr><td>65535.36</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
+</tr><tr><td>65535.37</td><td>= Sony FE 70-200mm F2.8 GM OSS + 1.4X Teleconverter</td>
+</tr><tr><td>65535.38</td><td>= Sony FE 70-200mm F2.8 GM OSS + 2X Teleconverter</td>
+</tr><tr><td>65535.39</td><td>= Samyang AF 50mm F1.4 FE</td>
+</tr><tr><td>65535.40</td><td>= Samyang AF 14mm F2.8 FE</td>
+</tr><tr><td>65535.41</td><td>= Sigma 19mm F2.8 [EX] DN</td>
+</tr><tr><td>65535.42</td><td>= Sigma 30mm F2.8 [EX] DN</td>
+</tr><tr><td>65535.43</td><td>= Sigma 60mm F2.8 DN</td>
+</tr><tr><td>65535.44</td><td>= Sigma 30mm F1.4 DC DN | C 016</td>
+</tr><tr><td>65535.45</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
+</tr><tr><td>65535.46</td><td>= Zeiss Touit 12mm F2.8</td>
+</tr><tr><td>65535.47</td><td>= Zeiss Touit 32mm F1.8</td>
+</tr><tr><td>65535.48</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
+</tr><tr><td>65535.49</td><td>= Zeiss Batis 25mm F2</td>
+</tr><tr><td>65535.50</td><td>= Zeiss Batis 85mm F1.8</td>
+</tr><tr><td>65535.51</td><td>= Zeiss Batis 18mm F2.8</td>
+</tr><tr><td>65535.52</td><td>= Zeiss Loxia 50mm F2</td>
+</tr><tr><td>65535.53</td><td>= Zeiss Loxia 35mm F2</td>
+</tr><tr><td>65535.54</td><td>= Zeiss Loxia 21mm F2.8</td>
+</tr><tr><td>65535.55</td><td>= Zeiss Loxia 85mm F2.4</td>
+</tr><tr><td>65535.56</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.57</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.58</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
+</tr><tr><td>65535.59</td><td>= Samyang 500mm Mirror F8.0</td>
+</tr><tr><td>65535.60</td><td>= Pentacon Auto 135mm F2.8</td>
+</tr><tr><td>65535.61</td><td>= Pentacon Auto 29mm F2.8</td>
+</tr><tr><td>65535.62</td><td>= Helios 44-2 58mm F2.0</td>
 </tr></table></td></tr></table></blockquote>
 
 <h2><a name='CameraSettings'>Minolta CameraSettings Tags</a></h2>
@@ -2620,7 +2627,7 @@ DiMAGE X and Xt.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 25, 2016</i>
+<br><i>Last revised Oct 21, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Nikon.html b/html/TagNames/Nikon.html
index b8862f6..80e2035 100644
--- a/html/TagNames/Nikon.html
+++ b/html/TagNames/Nikon.html
@@ -359,10 +359,12 @@ causes the other information to be re-encrypted with the new key)</span></span><
   <br>ShotInfoD7000
   <br>ShotInfoD4
   <br>ShotInfoD4S
+  <br>ShotInfoD5
   <br>ShotInfoD500
+  <br>ShotInfoD610
   <br>ShotInfo02xx
   <br>ShotInfoUnknown</td>
-<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-</td>
+<td class=c>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-<br>-</td>
 <td>--> <a href='Nikon.html#ShotInfoD40'>Nikon ShotInfoD40 Tags</a>
   <br>--> <a href='Nikon.html#ShotInfoD80'>Nikon ShotInfoD80 Tags</a>
   <br>--> <a href='Nikon.html#ShotInfoD90'>Nikon ShotInfoD90 Tags</a>
@@ -383,6 +385,8 @@ causes the other information to be re-encrypted with the new key)</span></span><
   <br>--> <a href='Nikon.html#ShotInfoD4'>Nikon ShotInfoD4 Tags</a>
   <br>--> <a href='Nikon.html#ShotInfoD4S'>Nikon ShotInfoD4S Tags</a>
   <br>--> <a href='Nikon.html#ShotInfoD500'>Nikon ShotInfoD500 Tags</a>
+  <br>--> <a href='Nikon.html#ShotInfoD500'>Nikon ShotInfoD500 Tags</a>
+  <br>--> <a href='Nikon.html#ShotInfoD610'>Nikon ShotInfoD610 Tags</a>
   <br>--> <a href='Nikon.html#ShotInfo'>Nikon ShotInfo Tags</a>
   <br>--> <a href='Nikon.html#ShotInfo'>Nikon ShotInfo Tags</a></td></tr>
 <tr>
@@ -2696,7 +2700,7 @@ firmware 1.01b.</p>
 </table></td></tr></table></blockquote>
 
 <h2><a name='ShotInfoD500'>Nikon ShotInfoD500 Tags</a></h2>
-<p>These tags are extracted from encrypted data in images from the D500.</p>
+<p>These tags are extracted from encrypted data in images from the D5 and D500.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2713,16 +2717,31 @@ firmware 1.01b.</p>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
+<td class=r title='16 = 0x10'>16</td>
+<td>RotationInfoOffset</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='20 = 0x14'>20</td>
+<td>JPGInfoOffset</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='44 = 0x2c'>44</td>
+<td>BracketingInfoOffset</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
 <td class=r title='80 = 0x50'>80</td>
 <td>ShootingMenuOffset</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='88 = 0x58'>88</td>
 <td>CustomSettingsOffset</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='202 = 0xca'>202</td>
 <td>Rotation</td>
 <td class=c>int8u</td>
@@ -2731,21 +2750,21 @@ firmware 1.01b.</p>
   <br>0x1 = Rotate 270 CW
   <br>0x2 = Rotate 90 CW
   <br>0x3 = Rotate 180</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='1506 = 0x5e2'>1506</td>
 <td>FlickerReductionIndicator</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x01]
   <br>0x0 = On
   <br>0x1 = Off</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='2004 = 0x7d4'>2004</td>
 <td>JPGCompression</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x01]
   <br>0x0 = Size Priority
   <br>0x1 = Optimal Quality</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='2171 = 0x87b'>2171</td>
 <td>AEBracketingSteps</td>
 <td class=c>int8u</td>
@@ -2800,7 +2819,7 @@ firmware 1.01b.</p>
   <br>0xd5 = 3F3
   <br>0xd6 = 5F3</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='2172 = 0x87c'>2172</td>
 <td>WBBracketingSteps</td>
 <td class=c>int8u</td>
@@ -2833,7 +2852,7 @@ firmware 1.01b.</p>
   <br>0x27 = 7F 3
   <br>0x28 = 9F 3</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='2179 = 0x883'>2179</td>
 <td>ADLBracketingStep</td>
 <td class=c>int8u</td>
@@ -2845,7 +2864,7 @@ firmware 1.01b.</p>
   <br>0x40 = Extra High
   <br>0x80 = Auto</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='2180 = 0x884'>2180</td>
 <td>ADLBracketingType</td>
 <td class=c>int8u</td>
@@ -2855,7 +2874,7 @@ firmware 1.01b.</p>
   <br>0x2 = 3 Shots
   <br>0x3 = 4 Shots
   <br>0x4 = 5 Shots</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='3709 = 0xe7d'>3709</td>
 <td>PhotoShootingMenuBank</td>
 <td class=c>int8u</td>
@@ -2864,14 +2883,15 @@ firmware 1.01b.</p>
   <br>0x1 = B
   <br>0x2 = C
   <br>0x3 = D</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='3711 = 0xe7f'>3711</td>
 <td>PrimarySlot</td>
 <td class=c>int8u</td>
-<td><span class=s>[Mask 0x80]
+<td><span class=s><span class=n>(D500 only)</span>
+  <br>[Mask 0x80]
   <br>0x0 = XQD Card
   <br>0x80 = SD Card</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='3713 = 0xe81'>3713</td>
 <td>ISOAutoShutterTime</td>
 <td class=c>int8u</td>
@@ -2914,7 +2934,7 @@ firmware 1.01b.</p>
   <br>0x23 = Auto (Faster)
   <br>0x24 = Auto (Fastest)</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='3714 = 0xe82'>3714</td>
 <td>ISOAutoHiLimit</td>
 <td class=c>int8u</td>
@@ -2961,25 +2981,51 @@ firmware 1.01b.</p>
   <br>0x6c = ISO Hi 4.0
   <br>0x72 = ISO Hi 5.0</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='3716 = 0xe84'>3716</td>
 <td>FlickerReduction</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x20]
   <br>0x0 = Enable
   <br>0x20 = Disable</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='3716 = 0xe84'>3716.1</td>
 <td>PhotoShootingMenuBankImageArea</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x07]
   <br>0x1 = DX (24x16)
   <br>0x4 = 1.3x (18x12)</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='3819 = 0xeeb'>3819</td>
-<td>CustomSettingsD500</td>
+<td>CustomSettingsD5
+  <br>CustomSettingsD500</td>
+<td class=c>-<br>-</td>
+<td>--> <a href='NikonCustom.html#SettingsD5'>NikonCustom SettingsD5 Tags</a>
+  <br>--> <a href='NikonCustom.html#SettingsD500'>NikonCustom SettingsD500 Tags</a></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='ShotInfoD610'>Nikon ShotInfoD610 Tags</a></h2>
+<p>These tags are extracted from encrypted data in images from the D610.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0</td>
+<td>ShotInfoVersion</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='4 = 0x4'>4</td>
+<td>FirmwareVersion</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='1999 = 0x7cf'>1999</td>
+<td>CustomSettingsD610</td>
 <td class=c>-</td>
-<td>--> <a href='NikonCustom.html#SettingsD500'>NikonCustom SettingsD500 Tags</a></td></tr>
+<td>--> <a href='NikonCustom.html#SettingsD610'>NikonCustom SettingsD610 Tags</a></td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='ShotInfo'>Nikon ShotInfo Tags</a></h2>
@@ -3810,7 +3856,8 @@ D5200, D7000.</p>
 </table></td></tr></table></blockquote>
 
 <h2><a name='FlashInfo0107'>Nikon FlashInfo0107 Tags</a></h2>
-<p>These tags are used by the D500.</p>
+<p>These tags are used by the D4S, D750, D810, D5500, D7200 (FlashInfoVersion
+0107) and the D5, D500 and D3400 (FlashInfoVersion 0108).</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3822,6 +3869,18 @@ D5200, D7000.</p>
 <td class=c>N</td>
 <td> </td></tr>
 <tr class=b>
+<td class=r title='4 = 0x4'>4</td>
+<td>FlashSource</td>
+<td class=c>int8u</td>
+<td><span class=s>0 = None
+  <br>1 = External
+  <br>2 = Internal</span></td></tr>
+<tr>
+<td class=r title='6 = 0x6'>6</td>
+<td>ExternalFlashFirmware</td>
+<td class=c>int8u[2]</td>
+<td>--> <a href='Nikon.html#FlashFirmware'>Nikon FlashFirmware Values</a></td></tr>
+<tr class=b>
 <td class=r title='8 = 0x8'>8</td>
 <td>ExternalFlashStatus</td>
 <td class=c>int8u[1]</td>
@@ -3829,6 +3888,34 @@ D5200, D7000.</p>
   <br>0x0 = Flash Not Attached
   <br>0x80 = Flash Not Ready
   <br>0x81 = Flash Ready</span></td></tr>
+<tr>
+<td class=r title='9 = 0x9'>9</td>
+<td>ExternalFlashReadyState</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x07]
+  <br>0x0 = n/a
+  <br>0x1 = Ready
+  <br>0x6 = Not Ready</span></td></tr>
+<tr class=b>
+<td class=r title='10 = 0xa'>10</td>
+<td>FlashCompensation</td>
+<td class=c>int8s</td>
+<td> </td></tr>
+<tr>
+<td class=r title='13 = 0xd'>13</td>
+<td>RepeatingFlashRate</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='14 = 0xe'>14</td>
+<td>RepeatingFlashCount</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr>
+<td class=r title='15 = 0xf'>15</td>
+<td>FlashGNDistance</td>
+<td class=c>int8u</td>
+<td>--> <a href='Nikon.html#FlashGNDistance'>Nikon FlashGNDistance Values</a></td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='FlashInfoUnknown'>Nikon FlashInfoUnknown Tags</a></h2>
@@ -5433,6 +5520,7 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'00 4C 7C 7C 2C 2C 00 02'</td><td>= Tamron SP AF 180mm f/3.5 Di Model (B01)</td>
 </tr><tr><td>'00 53 2B 50 24 24 00 06'</td><td>= Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16)</td>
 </tr><tr><td>'00 54 2B 50 24 24 00 06'</td><td>= Tamron SP AF 17-50mm f/2.8 XR Di II LD Aspherical (IF) (A16NII)</td>
+</tr><tr><td>'00 54 38 38 18 18 00 00'</td><td>= Carl Zeiss Distagon T* 2/25 ZF.2</td>
 </tr><tr><td>'00 54 3C 3C 18 18 00 00'</td><td>= Carl Zeiss Distagon T* 2/28 ZF.2</td>
 </tr><tr><td>'00 54 44 44 0C 0C 00 00'</td><td>= Carl Zeiss Distagon T* 1.4/35 ZF.2</td>
 </tr><tr><td>'00 54 44 44 18 18 00 00'</td><td>= Carl Zeiss Distagon T* 2/35 ZF.2</td>
@@ -5664,8 +5752,9 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'4A 40 11 11 2C 0C 4D 02'</td><td>= Samyang 8mm f/3.5 Fish-Eye CS</td>
 </tr><tr><td>'4A 48 1E 1E 24 0C 4D 02'</td><td>= Samyang 12mm f/2.8 ED AS NCS Fish-Eye</td>
 </tr><tr><td>'4A 48 24 24 24 0C 4D 02'</td><td>= Samyang AE 14mm f/2.8 ED AS IF UMC</td>
-</tr><tr><td>'4A 54 29 29 18 0C 4D 02'</td><td>= Samyang 16mm F2.0 ED AS UMC CS</td>
+</tr><tr><td>'4A 54 29 29 18 0C 4D 02'</td><td>= Samyang 16mm f/2.0 ED AS UMC CS</td>
 </tr><tr><td>'4A 54 62 62 0C 0C 4D 02'</td><td>= AF Nikkor 85mm f/1.4D IF</td>
+</tr><tr><td>'4A 60 36 36 0C 0C 4D 02'</td><td>= Samyang 24mm f/1.4 ED AS UMC</td>
 </tr><tr><td>'4A 60 44 44 0C 0C 4D 02'</td><td>= Samyang 35mm f/1.4 AS UMC</td>
 </tr><tr><td>'4A 60 62 62 0C 0C 4D 02'</td><td>= Samyang AE 85mm f/1.4 AS IF UMC</td>
 </tr><tr><td>'4B 3C A0 A0 30 30 4E 02'</td><td>= AF-S Nikkor 500mm f/4D IF-ED</td>
@@ -5673,7 +5762,7 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'4B 3C A0 A0 30 30 F1 02'</td><td>= AF-S Nikkor 500mm f/4D IF-ED + TC-14E</td>
 </tr><tr><td>'4B 3C A0 A0 30 30 F2 02'</td><td>= AF-S Nikkor 500mm f/4D IF-ED + TC-20E</td>
 </tr><tr><td>'4C 40 37 6E 2C 3C 4F 02'</td><td>= AF Zoom-Nikkor 24-120mm f/3.5-5.6D IF</td>
-</tr><tr><td>'4D 3E 3C 80 2E 3C 62 02'</td><td>= Tamron AF 28-200mm F/3.8-5.6 XR Aspherical (IF) Macro (A03N)</td>
+</tr><tr><td>'4D 3E 3C 80 2E 3C 62 02'</td><td>= Tamron AF 28-200mm f/3.8-5.6 XR Aspherical (IF) Macro (A03N)</td>
 </tr><tr><td>'4D 40 3C 80 2C 3C 62 02'</td><td>= AF Zoom-Nikkor 28-200mm f/3.5-5.6D IF</td>
 </tr><tr><td>'4D 41 3C 8E 2B 40 62 02'</td><td>= Tamron AF 28-300mm f/3.5-6.3 XR Di LD Aspherical (IF) (A061)</td>
 </tr><tr><td>'4D 41 3C 8E 2C 40 62 02'</td><td>= Tamron AF 28-300mm f/3.5-6.3 XR LD Aspherical (IF) (185D)</td>
@@ -5722,6 +5811,7 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'74 40 37 62 2C 34 78 06'</td><td>= AF-S Zoom-Nikkor 24-85mm f/3.5-4.5G IF-ED</td>
 </tr><tr><td>'75 40 3C 68 2C 3C 79 06'</td><td>= AF Zoom-Nikkor 28-100mm f/3.5-5.6G</td>
 </tr><tr><td>'76 58 50 50 14 14 7A 02'</td><td>= AF Nikkor 50mm f/1.8D</td>
+</tr><tr><td>'77 44 60 98 34 3C 7B 0E'</td><td>= Sigma 80-400mm f4.5-5.6 APO DG D OS</td>
 </tr><tr><td>'77 44 61 98 34 3C 7B 0E'</td><td>= Sigma 80-400mm F4.5-5.6 EX OS</td>
 </tr><tr><td>'77 48 5C 80 24 24 7B 0E'</td><td>= AF-S VR Zoom-Nikkor 70-200mm f/2.8G IF-ED</td>
 </tr><tr><td>'78 40 37 6E 2C 3C 7C 0E'</td><td>= AF-S VR Zoom-Nikkor 24-120mm f/3.5-5.6G IF-ED</td>
@@ -5732,7 +5822,7 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'7A 3B 53 80 30 3C 4B 06'</td><td>= Sigma 55-200mm F4-5.6 DC HSM</td>
 </tr><tr><td>'7A 3C 1F 37 30 30 7E 06.1'</td><td>= AF-S DX Zoom-Nikkor 12-24mm f/4G IF-ED</td>
 </tr><tr><td>'7A 3C 1F 37 30 30 7E 06.2'</td><td>= Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4)</td>
-</tr><tr><td>'7A 3C 1F 3C 30 30 7E 06'</td><td>= Tokina AT-X 12-28 PRO DX (AF 12-28mm F/4)</td>
+</tr><tr><td>'7A 3C 1F 3C 30 30 7E 06'</td><td>= Tokina AT-X 12-28 PRO DX (AF 12-28mm f/4)</td>
 </tr><tr><td>'7A 40 2D 50 2C 3C 4B 06'</td><td>= Sigma 18-50mm F3.5-5.6 DC HSM</td>
 </tr><tr><td>'7A 40 2D 80 2C 40 4B 0E'</td><td>= Sigma 18-200mm F3.5-6.3 DC OS HSM</td>
 </tr><tr><td>'7A 47 2B 5C 24 34 4B 06'</td><td>= Sigma 17-70mm F2.8-4.5 DC Macro Asp. IF HSM</td>
@@ -5796,6 +5886,8 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'9E 40 2D 6A 2C 3C A0 0E'</td><td>= AF-S DX VR Zoom-Nikkor 18-105mm f/3.5-5.6G ED</td>
 </tr><tr><td>'9F 37 50 A0 34 40 4B 0E'</td><td>= Sigma 50-500mm F4.5-6.3 DG OS HSM</td>
 </tr><tr><td>'9F 58 44 44 14 14 A1 06'</td><td>= AF-S DX Nikkor 35mm f/1.8G</td>
+</tr><tr><td>'A0 40 2D 53 2C 3C CA 0E'</td><td>= AF-P DX Nikkor 18-55mm f/3.5-5.6G VR</td>
+</tr><tr><td>'A0 40 2D 53 2C 3C CA 8E'</td><td>= AF-P DX Nikkor 18-55mm f/3.5-5.6G</td>
 </tr><tr><td>'A0 40 2D 74 2C 3C BB 0E'</td><td>= AF-S DX Nikkor 18-140mm f/3.5-5.6G ED VR</td>
 </tr><tr><td>'A0 48 2A 5C 24 30 4B 0E'</td><td>= Sigma 17-70mm F2.8-4 DC Macro OS HSM</td>
 </tr><tr><td>'A0 54 50 50 0C 0C A2 06'</td><td>= AF-S Nikkor 50mm f/1.4G</td>
@@ -5812,6 +5904,7 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'A5 40 2D 88 2C 40 4B 0E'</td><td>= Sigma 18-250mm F3.5-6.3 DC OS HSM</td>
 </tr><tr><td>'A5 40 3C 8E 2C 3C A7 0E'</td><td>= AF-S Nikkor 28-300mm f/3.5-5.6G ED VR</td>
 </tr><tr><td>'A5 4C 44 44 14 14 C0 06'</td><td>= AF-S Nikkor 35mm f/1.8G ED</td>
+</tr><tr><td>'A5 54 6A 6A 0C 0C D0 06'</td><td>= AF-S Nikkor 105mm f/1.4E ED</td>
 </tr><tr><td>'A5 54 6A 6A 0C 0C D0 46'</td><td>= AF-S Nikkor 105mm f/1.4E ED</td>
 </tr><tr><td>'A6 48 37 5C 24 24 4B 06'</td><td>= Sigma 24-70mm F2.8 IF EX DG HSM</td>
 </tr><tr><td>'A6 48 8E 8E 24 24 A8 0E'</td><td>= AF-S VR Nikkor 300mm f/2.8G IF-ED II</td>
@@ -5858,7 +5951,8 @@ ExifTool to choose in these cases (see the
 </tr><tr><td>'E3 54 50 50 24 24 35 02'</td><td>= Sigma Macro 50mm F2.8 EX DG</td>
 </tr><tr><td>'E5 54 6A 6A 24 24 35 02'</td><td>= Sigma Macro 105mm F2.8 EX DG</td>
 </tr><tr><td>'E6 41 3C 8E 2C 40 1C 02'</td><td>= Sigma 28-300mm F3.5-6.3 DG Macro</td>
-</tr><tr><td>'E8 4C 44 44 14 14 DF 0E'</td><td>= Tamron SP 35mm f/1.8 VC</td>
+</tr><tr><td>'E7 4C 4C 4C 14 14 DF 0E'</td><td>= Tamron SP 45mm f/1.8 Di VC USD (F013)</td>
+</tr><tr><td>'E8 4C 44 44 14 14 DF 0E'</td><td>= Tamron SP 35mm f/1.8 Di VC USD (F012)</td>
 </tr><tr><td>'E9 48 27 3E 24 24 DF 0E'</td><td>= Tamron SP 15-30mm f/2.8 Di VC USD (A012)</td>
 </tr><tr><td>'E9 54 37 5C 24 24 1C 02'</td><td>= Sigma 24-70mm F2.8 EX DG Macro</td>
 </tr><tr><td>'EA 40 29 8E 2C 40 DF 0E'</td><td>= Tamron AF 16-300mm f/3.5-6.3 Di II VC PZD (B016)</td>
@@ -5902,7 +5996,7 @@ ExifTool to choose in these cases (see the
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 29, 2016</i>
+<br><i>Last revised Oct 13, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/NikonCustom.html b/html/TagNames/NikonCustom.html
index b9b81b0..879fa38 100644
--- a/html/TagNames/NikonCustom.html
+++ b/html/TagNames/NikonCustom.html
@@ -2700,7 +2700,7 @@ custom settings for the currently supported models.
 </table></td></tr></table></blockquote>
 
 <h2><a name='SettingsD810'>NikonCustom SettingsD810 Tags</a></h2>
-<p>Custom settings for the D810</p>
+<p>Custom settings for the D810.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4204,14 +4204,14 @@ custom settings for the currently supported models.
   <br>0x5 = 5 Long</td></tr></table>
 </td></tr>
 <tr>
-<td class=r title='1 = 0x1'>1.2</td>
+<td class=r title='1 = 0x1'>1.1</td>
 <td>FocusPointWrap</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x08]
   <br>0x0 = No Wrap
   <br>0x8 = Wrap</span></td></tr>
 <tr class=b>
-<td class=r title='1 = 0x1'>1.3</td>
+<td class=r title='1 = 0x1'>1.2</td>
 <td>AFPointIllumination</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x06]
@@ -4219,7 +4219,7 @@ custom settings for the currently supported models.
   <br>0x2 = On
   <br>0x4 = Off</span></td></tr>
 <tr>
-<td class=r title='1 = 0x1'>1.4</td>
+<td class=r title='1 = 0x1'>1.3</td>
 <td>AFAssist</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x01]
@@ -5626,8 +5626,8 @@ custom settings for the currently supported models.
 </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='SettingsD500'>NikonCustom SettingsD500 Tags</a></h2>
-<p>Custom settings for the D500</p>
+<h2><a name='SettingsD5'>NikonCustom SettingsD5 Tags</a></h2>
+<p>Custom settings for the D5.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -5773,10 +5773,10 @@ custom settings for the currently supported models.
 <td>CenterWeightedAreaSize</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0xe0]
-  <br>0x0 = 6 mm
-  <br>0x20 = 8 mm
-  <br>0x40 = 10 mm
-  <br>0x60 = 13 mm
+  <br>0x0 = 8 mm
+  <br>0x20 = 12 mm
+  <br>0x40 = 15 mm
+  <br>0x60 = 20 mm
   <br>0x80 = Average</span></td></tr>
 <tr class=b>
 <td class=r title='8 = 0x8'>8.2</td>
@@ -5799,26 +5799,17 @@ custom settings for the currently supported models.
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0xe0]
   <br>0x0 = Select Center Focus Point (Reset)
+  <br>0x20 = Zoom On/Off
   <br>0x40 = Preset Focus Point (Pre)
-  <br>0x60 = Highlight Active Focus Point
   <br>0x80 = Not Used (None)</span></td></tr>
 <tr class=b>
-<td class=r title='10 = 0xa'>10.2</td>
-<td>MultiSelectorPlaybackMode</td>
-<td class=c>int8u</td>
-<td><span class=s>[Mask 0x0c]
-  <br>0x0 = Thumbnail On/Off
-  <br>0x4 = View Histograms
-  <br>0x8 = Zoom On/Off
-  <br>0xc = Choose Folder</span></td></tr>
-<tr>
 <td class=r title='10 = 0xa'>10.3</td>
 <td>MultiSelector</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x01]
   <br>0x0 = Do Nothing
   <br>0x1 = Reset Meter-off Delay</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='11 = 0xb'>11.1</td>
 <td>ExposureDelayMode</td>
 <td class=c>int8u</td>
@@ -5827,24 +5818,24 @@ custom settings for the currently supported models.
   <br>0x40 = 1 s
   <br>0x80 = 2 s
   <br>0xc0 = 3 s</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='11 = 0xb'>11.2</td>
 <td>CLModeShootingSpeed</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='12 = 0xc'>12.1</td>
 <td>MaxContinuousRelease</td>
 <td class=c>int8u</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='13 = 0xd'>13.1</td>
 <td>AutoBracketOrder</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x10]
   <br>0x0 = 0,-,+
   <br>0x10 = -,0,+</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='13 = 0xd'>13.2</td>
 <td>AutoBracketModeM</td>
 <td class=c>int8u</td>
@@ -5853,7 +5844,7 @@ custom settings for the currently supported models.
   <br>0x4 = Flash/Speed/Aperture
   <br>0x8 = Flash/Aperture
   <br>0xc = Flash Only</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='14 = 0xe'>14.1</td>
 <td>Func1Button</td>
 <td class=c>int8u</td>
@@ -5877,6 +5868,7 @@ custom settings for the currently supported models.
   <br>0x11 = Virtual Horizon
   <br>0x13 = Grid Display
   <br>0x14 = My Menu
+  <br>0x15 = Disable Synchronized Release
   <br>0x16 = Remote Release Only
   <br>0x1a = Flash Disable/Enable
   <br>0x1b = Highlight-weighted Metering
@@ -5894,7 +5886,7 @@ custom settings for the currently supported models.
   <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
   <br>0x31 = Sync Release (Master Only)
   <br>0x32 = Sync Release (Remote Only)</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='15 = 0xf'>15.1</td>
 <td>PreviewButton</td>
 <td class=c>int8u</td>
@@ -5918,6 +5910,7 @@ custom settings for the currently supported models.
   <br>0x11 = Virtual Horizon
   <br>0x13 = Grid Display
   <br>0x14 = My Menu
+  <br>0x15 = Disable Synchronized Release
   <br>0x16 = Remote Release Only
   <br>0x1a = Flash Disable/Enable
   <br>0x1b = Highlight-weighted Metering
@@ -5935,7 +5928,7 @@ custom settings for the currently supported models.
   <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
   <br>0x31 = Sync Release (Master Only)
   <br>0x32 = Sync Release (Remote Only)</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='16 = 0x10'>16.1</td>
 <td>AssignBktButton</td>
 <td class=c>int8u</td>
@@ -5944,7 +5937,7 @@ custom settings for the currently supported models.
   <br>0x1 = Multiple Exposure
   <br>0x2 = HDR (high dynamic range)
   <br>0x3 = None</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='18 = 0x12'>18.1</td>
 <td>CommandDialsChangeMainSub</td>
 <td class=c>int8u</td>
@@ -5956,7 +5949,7 @@ custom settings for the currently supported models.
   <br>0xa0 = Autofocus On, Exposure On
   <br>0xc0 = Autofocus On, Exposure On (Mode A)</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='18 = 0x12'>18.2</td>
 <td>CommandDialsMenuAndPlayback</td>
 <td class=c>int8u</td>
@@ -5964,21 +5957,21 @@ custom settings for the currently supported models.
   <br>0x0 = On
   <br>0x8 = Off
   <br>0x10 = On (Image Review Excluded)</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='18 = 0x12'>18.3</td>
 <td>CommandDialsApertureSetting</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x04]
   <br>0x0 = Sub-command Dial
   <br>0x4 = Aperture Ring</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='18 = 0x12'>18.4</td>
 <td>ReleaseButtonToUseDial</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x01]
   <br>0x0 = No
   <br>0x1 = Yes</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='19 = 0x13'>19.1</td>
 <td>StandbyTimer</td>
 <td class=c>int8u</td>
@@ -5993,7 +5986,7 @@ custom settings for the currently supported models.
   <br>0x90 = 30 min
   <br>0xa0 = No Limit</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='20 = 0x14'>20.1</td>
 <td>SelfTimerTime</td>
 <td class=c>int8u</td>
@@ -6002,7 +5995,7 @@ custom settings for the currently supported models.
   <br>0x40 = 5 s
   <br>0x80 = 10 s
   <br>0xc0 = 20 s</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='20 = 0x14'>20.2</td>
 <td>SelfTimerShotInterval</td>
 <td class=c>int8u</td>
@@ -6011,12 +6004,12 @@ custom settings for the currently supported models.
   <br>0x10 = 1 s
   <br>0x20 = 2 s
   <br>0x30 = 3 s</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='20 = 0x14'>20.3</td>
 <td>SelfTimerShotCount</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='21 = 0x15'>21.1</td>
 <td>ImageReviewMonitorOffTime</td>
 <td class=c>int8u</td>
@@ -6029,7 +6022,7 @@ custom settings for the currently supported models.
   <br>0xc0 = 5 min
   <br>0xe0 = 10 min</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='21 = 0x15'>21.2</td>
 <td>LiveViewMonitorOffTime</td>
 <td class=c>int8u</td>
@@ -6041,7 +6034,7 @@ custom settings for the currently supported models.
   <br>0x14 = 30 min
   <br>0x18 = No Limit</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='22 = 0x16'>22.1</td>
 <td>MenuMonitorOffTime</td>
 <td class=c>int8u</td>
@@ -6053,7 +6046,7 @@ custom settings for the currently supported models.
   <br>0xc0 = 5 min
   <br>0xe0 = 10 min</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='22 = 0x16'>22.2</td>
 <td>ShootingInfoMonitorOffTime</td>
 <td class=c>int8u</td>
@@ -6065,7 +6058,7 @@ custom settings for the currently supported models.
   <br>0x18 = 5 min
   <br>0x1c = 10 min</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='23 = 0x17'>23.1</td>
 <td>FlashSyncSpeed</td>
 <td class=c>int8u</td>
@@ -6079,7 +6072,7 @@ custom settings for the currently supported models.
   <br>0x90 = 1/80 s
   <br>0xa0 = 1/60 s</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='23 = 0x17'>23.2</td>
 <td>FlashShutterSpeed</td>
 <td class=c>int8u</td>
@@ -6097,14 +6090,14 @@ custom settings for the currently supported models.
   <br>0xa = 15 s
   <br>0xb = 30 s</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='31 = 0x1f'>31.1</td>
 <td>ModelingFlash</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x20]
   <br>0x0 = On
   <br>0x20 = Off</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='36 = 0x24'>36.1</td>
 <td>PlaybackMonitorOffTime</td>
 <td class=c>int8u</td>
@@ -6116,7 +6109,7 @@ custom settings for the currently supported models.
   <br>0x80 = 5 min
   <br>0xa0 = 10 min</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='37 = 0x25'>37.1</td>
 <td>MultiSelectorLiveView</td>
 <td class=c>int8u</td>
@@ -6124,44 +6117,44 @@ custom settings for the currently supported models.
   <br>0x0 = Reset
   <br>0x40 = Zoom
   <br>0xc0 = Not Used</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='38 = 0x26'>38.1</td>
 <td>ShutterSpeedLock</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x80]
   <br>0x0 = Off
   <br>0x80 = On</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='38 = 0x26'>38.2</td>
 <td>ApertureLock</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x40]
   <br>0x0 = Off
   <br>0x40 = On</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='38 = 0x26'>38.3</td>
 <td>MovieShutterButton</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x10]
   <br>0x0 = Take Photo
   <br>0x10 = Record Movies</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='38 = 0x26'>38.4</td>
 <td>FlashExposureCompArea</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x04]
   <br>0x0 = Entire Frame
   <br>0x4 = Background Only</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='38 = 0x26'>38.5</td>
 <td>AutoFlashISOSensitivity</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x02]
   <br>0x0 = Subject and Background
   <br>0x2 = Subject Only</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='41 = 0x29'>41.1</td>
-<td>MoviePreviewButton</td>
+<td>MovieFunc1Button</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0xf0]
   <br>0x0 = None
@@ -6169,7 +6162,7 @@ custom settings for the currently supported models.
   <br>0x30 = Index Marking
   <br>0x40 = View Photo Shooting Info
   <br>0xb0 = Exposure Compensation -</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='41 = 0x29'>41.2</td>
 <td>MoviePreviewButton</td>
 <td class=c>int8u</td>
@@ -6179,13 +6172,13 @@ custom settings for the currently supported models.
   <br>0x3 = Index Marking
   <br>0x4 = View Photo Shooting Info
   <br>0xa = Exposure Compensation +</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='42 = 0x2a'>42.1</td>
 <td>Func1ButtonPlusDials</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
   <td>0x0 = None
-  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x1 = Choose Image Area
   <br>0x2 = Shutter Speed & Aperture Lock
   <br>0x3 = One Step Speed / Aperture
   <br>0x4 = Choose Non-CPU Lens Number
@@ -6193,13 +6186,13 @@ custom settings for the currently supported models.
   <br>0x7 = Photo Shooting Menu Bank
   <br>0x8 = Exposure Delay Mode</td></tr></table>
 </td></tr>
-<tr>
+<tr class=b>
 <td class=r title='43 = 0x2b'>43.1</td>
 <td>PreviewButtonPlusDials</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
   <td>0x0 = None
-  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x1 = Choose Image Area
   <br>0x2 = Shutter Speed & Aperture Lock
   <br>0x3 = One Step Speed / Aperture
   <br>0x4 = Choose Non-CPU Lens Number
@@ -6207,36 +6200,36 @@ custom settings for the currently supported models.
   <br>0x7 = Photo Shooting Menu Bank
   <br>0x8 = Exposure Delay Mode</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td class=r title='45 = 0x2d'>45.1</td>
 <td>AssignMovieRecordButtonPlusDials</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]
   <br>0x0 = None
-  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x1 = Choose Image Area
   <br>0x2 = Shutter Speed & Aperture Lock
   <br>0x7 = Photo Shooting Menu Bank
   <br>0xb = Exposure Mode</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='46 = 0x2e'>46.1</td>
 <td>FineTuneOptHighlightWeighted</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='47 = 0x2f'>47.1</td>
 <td>DynamicAreaAFDisplay</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x80]
   <br>0x0 = Off
   <br>0x80 = On</span></td></tr>
-<tr>
+<tr class=b>
 <td class=r title='47 = 0x2f'>47.2</td>
 <td>AFPointIllumination</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x40]
   <br>0x0 = Off
   <br>0x40 = On During Manual Focusing</span></td></tr>
-<tr class=b>
+<tr>
 <td class=r title='47 = 0x2f'>47.3</td>
 <td>StoreByOrientation</td>
 <td class=c>int8u</td>
@@ -6244,13 +6237,6 @@ custom settings for the currently supported models.
   <br>0x0 = Off
   <br>0x8 = Focus Point
   <br>0x10 = Focus Point and AF-area Mode</span></td></tr>
-<tr>
-<td class=r title='47 = 0x2f'>47.4</td>
-<td>GroupAreaAFIllumination</td>
-<td class=c>int8u</td>
-<td><span class=s>[Mask 0x04]
-  <br>0x0 = Squares
-  <br>0x4 = Dots</span></td></tr>
 <tr class=b>
 <td class=r title='48 = 0x30'>48.1</td>
 <td>MatrixMetering</td>
@@ -6322,7 +6308,7 @@ custom settings for the currently supported models.
   <br>0x80 = Focus Point Selection</span></td></tr>
 <tr class=b>
 <td class=r title='67 = 0x43'>67.1</td>
-<td>AssignMB-D17FuncButton</td>
+<td>VerticalFuncButton</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x3f]
   <br>0x0 = None
@@ -6366,11 +6352,11 @@ custom settings for the currently supported models.
   <br>0x36 = Highlight Active Focus Point</span></td></tr>
 <tr>
 <td class=r title='68 = 0x44'>68.1</td>
-<td>AssignMB-D17FuncButtonPlusDials</td>
+<td>VerticalFuncPlusDials</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
   <td>0x0 = None
-  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x1 = Choose Image Area
   <br>0x2 = Shutter Speed & Aperture Lock
   <br>0x3 = One Step Speed / Aperture
   <br>0x4 = Choose Non-CPU Lens Number
@@ -6380,7 +6366,7 @@ custom settings for the currently supported models.
   <br>0xa = ISO Sensitivity
   <br>0xb = Exposure Mode
   <br>0xc = Exposure Compensation
-  <br>0xd = Metering Mode</td></tr></table>
+  <br>0xd = Metering</td></tr></table>
 </td></tr>
 <tr class=b>
 <td class=r title='70 = 0x46'>70.1</td>
@@ -6463,7 +6449,7 @@ custom settings for the currently supported models.
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x0f]
   <br>0x0 = None
-  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x1 = Choose Image Area
   <br>0x2 = Shutter Speed & Aperture Lock
   <br>0x4 = Choose Non-CPU Lens Number
   <br>0x7 = Photo Shooting Menu Bank</span></td></tr>
@@ -6486,7 +6472,7 @@ custom settings for the currently supported models.
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x10]
   <br>0x0 = None
-  <br>0x10 = Choose Image Area (DX/1.3x)</span></td></tr>
+  <br>0x10 = Choose Image Area</span></td></tr>
 <tr class=b>
 <td class=r title='75 = 0x4b'>75.2</td>
 <td>AssignMoviePreviewButtonPlusDials</td>
@@ -6500,7 +6486,7 @@ custom settings for the currently supported models.
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x10]
   <br>0x0 = None
-  <br>0x10 = Choose Image Area (DX/1.3x)</span></td></tr>
+  <br>0x10 = Choose Image Area</span></td></tr>
 <tr class=b>
 <td class=r title='77 = 0x4d'>77.1</td>
 <td>SyncReleaseMode</td>
@@ -6540,7 +6526,7 @@ custom settings for the currently supported models.
   <br>0x2 = On (Burst Mode)</span></td></tr>
 <tr>
 <td class=r title='79 = 0x4f'>79.1</td>
-<td>AssignMB-D17AF-OnButton</td>
+<td>VerticalAFOnButton</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x7f]
   <br>0x0 = None
@@ -6562,17 +6548,64 @@ custom settings for the currently supported models.
   <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
   <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
   <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
-  <br>0x64 = Same as Camera AF-On Button</span></td></tr>
+  <br>0x64 = Same as AF-On</span></td></tr>
 <tr class=b>
 <td class=r title='80 = 0x50'>80.1</td>
 <td>Func2Button</td>
 <td class=c>int8u</td>
 <td><span class=s>[Mask 0x3f]
   <br>0x0 = None
+  <br>0x1 = Preview
+  <br>0x2 = FV Lock
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x5 = AE Lock (reset on release)
+  <br>0x6 = AE Lock (hold)
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0xa = Bracketing Burst
+  <br>0xb = Matrix Metering
+  <br>0xc = Center-weighted Metering
+  <br>0xd = Spot Metering
+  <br>0xe = Playback
   <br>0xf = My Menu Top Item
+  <br>0x10 = +NEF(RAW)
+  <br>0x11 = Virtual Horizon
+  <br>0x13 = Grid Display
   <br>0x14 = My Menu
-  <br>0x37 = Rating</span></td></tr>
+  <br>0x15 = Disable Synchronized Release
+  <br>0x16 = Remote Release Only
+  <br>0x1a = Flash Disable/Enable
+  <br>0x1b = Highlight-weighted Metering
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
+  <br>0x31 = Sync Release (Master Only)
+  <br>0x32 = Sync Release (Remote Only)</span></td></tr>
 <tr>
+<td class=r title='81 = 0x51'>81.1</td>
+<td>Func2ButtonPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
+  <td>0x0 = None
+  <br>0x1 = Choose Image Area
+  <br>0x2 = Shutter Speed & Aperture Lock
+  <br>0x3 = One Step Speed / Aperture
+  <br>0x4 = Choose Non-CPU Lens Number
+  <br>0x5 = Active D-Lighting
+  <br>0x7 = Photo Shooting Menu Bank
+  <br>0x8 = Exposure Delay Mode</td></tr></table>
+</td></tr>
+<tr class=b>
 <td class=r title='82 = 0x52'>82.1</td>
 <td>AssignMovieFunc2Button</td>
 <td class=c>int8u</td>
@@ -6580,11 +6613,1202 @@ custom settings for the currently supported models.
   <br>0x0 = None
   <br>0x30 = Index Marking
   <br>0x40 = View Photo Shooting Info</span></td></tr>
+<tr>
+<td class=r title='83 = 0x53'>83.1</td>
+<td>Func3Button</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x03]
+  <br>0x0 = None
+  <br>0x1 = Voice Memo
+  <br>0x2 = Rating
+  <br>0x3 = Connect To Network</span></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SettingsD500'>NikonCustom SettingsD500 Tags</a></h2>
+<p>Custom settings for the D500.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index1</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0.1</td>
+<td>CustomSettingsBank</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x03]
+  <br>0x0 = A
+  <br>0x1 = B
+  <br>0x2 = C
+  <br>0x3 = D</span></td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1.1</td>
+<td>AF-CPrioritySelection</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xc0]
+  <br>0x0 = Release
+  <br>0x40 = Release + Focus
+  <br>0x80 = Focus
+  <br>0xc0 = Focus + Release</span></td></tr>
+<tr>
+<td class=r title='1 = 0x1'>1.2</td>
+<td>NumberOfFocusPoints</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x10]
+  <br>0x0 = 55 Points
+  <br>0x10 = 15 Points</span></td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1.3</td>
+<td>Three-DTrackingFaceDetection</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x08]
+  <br>0x0 = Off
+  <br>0x8 = On</span></td></tr>
+<tr>
+<td class=r title='1 = 0x1'>1.4</td>
+<td>AF-SPrioritySelection</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x20]
+  <br>0x0 = Focus
+  <br>0x20 = Release</span></td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1.5</td>
+<td>BlockShotAFResponse</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x07]</span></td></tr>
+<tr>
+<td class=r title='2 = 0x2'>2.1</td>
+<td>FocusPointWrap</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x08]
+  <br>0x0 = No Wrap
+  <br>0x8 = Wrap</span></td></tr>
+<tr class=b>
+<td class=r title='2 = 0x2'>2.2</td>
+<td>AFPointBrightness</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x06]
+  <br>0x0 = Auto
+  <br>0x2 = On
+  <br>0x4 = Off</span></td></tr>
+<tr>
+<td class=r title='4 = 0x4'>4.1</td>
+<td>ISODisplay</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x08]
+  <br>0x0 = Show ISO Sensitivity
+  <br>0x8 = Show Frame Count</span></td></tr>
+<tr class=b>
+<td class=r title='4 = 0x4'>4.2</td>
+<td>GridDisplay</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x02]
+  <br>0x0 = On
+  <br>0x2 = Off</span></td></tr>
+<tr>
+<td class=r title='5 = 0x5'>5.1</td>
+<td>LCDIllumination</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x20]
+  <br>0x0 = Off
+  <br>0x20 = On</span></td></tr>
+<tr class=b>
+<td class=r title='5 = 0x5'>5.2</td>
+<td>ElectronicFront-CurtainShutter</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x08]
+  <br>0x0 = Off
+  <br>0x8 = On</span></td></tr>
+<tr>
+<td class=r title='6 = 0x6'>6.1</td>
+<td>ReverseIndicators</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = + 0 -
+  <br>0x80 = - 0 +</span></td></tr>
+<tr class=b>
+<td class=r title='6 = 0x6'>6.2</td>
+<td>CommandDialsReverseRotation</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x18]
+  <br>0x0 = No
+  <br>0x8 = Shutter Speed & Aperture
+  <br>0x10 = Exposure Compensation
+  <br>0x18 = Exposure Compensation, Shutter Speed & Aperture</span></td></tr>
+<tr>
+<td class=r title='6 = 0x6'>6.3</td>
+<td>EasyExposureCompensation</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x03]
+  <br>0x0 = Off
+  <br>0x1 = On
+  <br>0x2 = On (auto reset)</span></td></tr>
+<tr class=b>
+<td class=r title='7 = 0x7'>7.1</td>
+<td>ExposureControlStepSize</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xc0]
+  <br>0x0 = 1/3 EV
+  <br>0x40 = 1/2 EV
+  <br>0x80 = 1 EV</span></td></tr>
+<tr>
+<td class=r title='7 = 0x7'>7.2</td>
+<td>ISOStepSize</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x30]
+  <br>0x0 = 1/3 EV
+  <br>0x10 = 1/2 EV
+  <br>0x20 = 1 EV</span></td></tr>
+<tr class=b>
+<td class=r title='7 = 0x7'>7.3</td>
+<td>ExposureCompStepSize</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0c]
+  <br>0x0 = 1/3 EV
+  <br>0x4 = 1/2 EV
+  <br>0x8 = 1 EV</span></td></tr>
+<tr>
+<td class=r title='8 = 0x8'>8.1</td>
+<td>CenterWeightedAreaSize</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]
+  <br>0x0 = 6 mm
+  <br>0x20 = 8 mm
+  <br>0x40 = 10 mm
+  <br>0x60 = 13 mm
+  <br>0x80 = Average</span></td></tr>
+<tr class=b>
+<td class=r title='8 = 0x8'>8.2</td>
+<td>FineTuneOptMatrixMetering</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr>
+<td class=r title='9 = 0x9'>9.1</td>
+<td>FineTuneOptCenterWeighted</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xf0]</span></td></tr>
+<tr class=b>
+<td class=r title='9 = 0x9'>9.2</td>
+<td>FineTuneOptSpotMetering</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr>
+<td class=r title='10 = 0xa'>10.1</td>
+<td>MultiSelectorShootMode</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]
+  <br>0x0 = Select Center Focus Point (Reset)
+  <br>0x40 = Preset Focus Point (Pre)
+  <br>0x60 = Highlight Active Focus Point
+  <br>0x80 = Not Used (None)</span></td></tr>
+<tr class=b>
+<td class=r title='10 = 0xa'>10.2</td>
+<td>MultiSelectorPlaybackMode</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0c]
+  <br>0x0 = Thumbnail On/Off
+  <br>0x4 = View Histograms
+  <br>0x8 = Zoom On/Off
+  <br>0xc = Choose Folder</span></td></tr>
+<tr>
+<td class=r title='10 = 0xa'>10.3</td>
+<td>MultiSelector</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x01]
+  <br>0x0 = Do Nothing
+  <br>0x1 = Reset Meter-off Delay</span></td></tr>
+<tr class=b>
+<td class=r title='11 = 0xb'>11.1</td>
+<td>ExposureDelayMode</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xc0]
+  <br>0x0 = Off
+  <br>0x40 = 1 s
+  <br>0x80 = 2 s
+  <br>0xc0 = 3 s</span></td></tr>
+<tr>
+<td class=r title='11 = 0xb'>11.2</td>
+<td>CLModeShootingSpeed</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr class=b>
+<td class=r title='12 = 0xc'>12.1</td>
+<td>MaxContinuousRelease</td>
+<td class=c>int8u</td>
+<td> </td></tr>
+<tr>
+<td class=r title='13 = 0xd'>13.1</td>
+<td>AutoBracketOrder</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x10]
+  <br>0x0 = 0,-,+
+  <br>0x10 = -,0,+</span></td></tr>
+<tr class=b>
+<td class=r title='13 = 0xd'>13.2</td>
+<td>AutoBracketModeM</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0c]
+  <br>0x0 = Flash/Speed
+  <br>0x4 = Flash/Speed/Aperture
+  <br>0x8 = Flash/Aperture
+  <br>0xc = Flash Only</span></td></tr>
+<tr>
+<td class=r title='14 = 0xe'>14.1</td>
+<td>Func1Button</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x3f]
+  <br>0x0 = None
+  <br>0x1 = Preview
+  <br>0x2 = FV Lock
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x5 = AE Lock (reset on release)
+  <br>0x6 = AE Lock (hold)
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0xa = Bracketing Burst
+  <br>0xb = Matrix Metering
+  <br>0xc = Center-weighted Metering
+  <br>0xd = Spot Metering
+  <br>0xe = Playback
+  <br>0xf = My Menu Top Item
+  <br>0x10 = +NEF(RAW)
+  <br>0x11 = Virtual Horizon
+  <br>0x13 = Grid Display
+  <br>0x14 = My Menu
+  <br>0x16 = Remote Release Only
+  <br>0x1a = Flash Disable/Enable
+  <br>0x1b = Highlight-weighted Metering
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
+  <br>0x31 = Sync Release (Master Only)
+  <br>0x32 = Sync Release (Remote Only)</span></td></tr>
+<tr class=b>
+<td class=r title='15 = 0xf'>15.1</td>
+<td>PreviewButton</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x3f]
+  <br>0x0 = None
+  <br>0x1 = Preview
+  <br>0x2 = FV Lock
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x5 = AE Lock (reset on release)
+  <br>0x6 = AE Lock (hold)
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0xa = Bracketing Burst
+  <br>0xb = Matrix Metering
+  <br>0xc = Center-weighted Metering
+  <br>0xd = Spot Metering
+  <br>0xe = Playback
+  <br>0xf = My Menu Top Item
+  <br>0x10 = +NEF(RAW)
+  <br>0x11 = Virtual Horizon
+  <br>0x13 = Grid Display
+  <br>0x14 = My Menu
+  <br>0x16 = Remote Release Only
+  <br>0x1a = Flash Disable/Enable
+  <br>0x1b = Highlight-weighted Metering
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
+  <br>0x31 = Sync Release (Master Only)
+  <br>0x32 = Sync Release (Remote Only)</span></td></tr>
+<tr>
+<td class=r title='16 = 0x10'>16.1</td>
+<td>AssignBktButton</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x07]
+  <br>0x0 = Auto Bracketing
+  <br>0x1 = Multiple Exposure
+  <br>0x2 = HDR (high dynamic range)
+  <br>0x3 = None</span></td></tr>
+<tr class=b>
+<td class=r title='18 = 0x12'>18.1</td>
+<td>CommandDialsChangeMainSub</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]</span><table class=cols><tr>
+  <td>0x0 = Autofocus Off, Exposure Off
+  <br>0x20 = Autofocus Off, Exposure On
+  <br>0x40 = Autofocus Off, Exposure On (Mode A)
+  <br>0x80 = Autofocus On, Exposure Off
+  <br>0xa0 = Autofocus On, Exposure On
+  <br>0xc0 = Autofocus On, Exposure On (Mode A)</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='18 = 0x12'>18.2</td>
+<td>CommandDialsMenuAndPlayback</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x18]
+  <br>0x0 = On
+  <br>0x8 = Off
+  <br>0x10 = On (Image Review Excluded)</span></td></tr>
+<tr class=b>
+<td class=r title='18 = 0x12'>18.3</td>
+<td>CommandDialsApertureSetting</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x04]
+  <br>0x0 = Sub-command Dial
+  <br>0x4 = Aperture Ring</span></td></tr>
+<tr>
+<td class=r title='18 = 0x12'>18.4</td>
+<td>ReleaseButtonToUseDial</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x01]
+  <br>0x0 = No
+  <br>0x1 = Yes</span></td></tr>
+<tr class=b>
+<td class=r title='19 = 0x13'>19.1</td>
+<td>StandbyTimer</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xf0]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x10 = 6 s
+  <br>0x30 = 10 s
+  <br>0x50 = 30 s
+  <br>0x60 = 1 min</td><td>  </td>
+  <td>0x70 = 5 min
+  <br>0x80 = 10 min
+  <br>0x90 = 30 min
+  <br>0xa0 = No Limit</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='20 = 0x14'>20.1</td>
+<td>SelfTimerTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xc0]
+  <br>0x0 = 2 s
+  <br>0x40 = 5 s
+  <br>0x80 = 10 s
+  <br>0xc0 = 20 s</span></td></tr>
+<tr class=b>
+<td class=r title='20 = 0x14'>20.2</td>
+<td>SelfTimerShotInterval</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x30]
+  <br>0x0 = 0.5 s
+  <br>0x10 = 1 s
+  <br>0x20 = 2 s
+  <br>0x30 = 3 s</span></td></tr>
+<tr>
+<td class=r title='20 = 0x14'>20.3</td>
+<td>SelfTimerShotCount</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr class=b>
+<td class=r title='21 = 0x15'>21.1</td>
+<td>ImageReviewMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]</span><table class=cols><tr>
+  <td>0x0 = 2 s
+  <br>0x20 = 4 s
+  <br>0x60 = 10 s
+  <br>0x80 = 20 s</td><td>  </td>
+  <td>0xa0 = 1 min
+  <br>0xc0 = 5 min
+  <br>0xe0 = 10 min</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='21 = 0x15'>21.2</td>
+<td>LiveViewMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x1c]</span><table class=cols><tr>
+  <td>0x4 = 5 min
+  <br>0x8 = 10 min
+  <br>0xc = 15 min</td><td>  </td>
+  <td>0x10 = 20 min
+  <br>0x14 = 30 min
+  <br>0x18 = No Limit</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='22 = 0x16'>22.1</td>
+<td>MenuMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x40 = 10 s
+  <br>0x80 = 20 s</td><td>  </td>
+  <td>0xa0 = 1 min
+  <br>0xc0 = 5 min
+  <br>0xe0 = 10 min</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='22 = 0x16'>22.2</td>
+<td>ShootingInfoMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x1c]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x8 = 10 s
+  <br>0x10 = 20 s</td><td>  </td>
+  <td>0x14 = 1 min
+  <br>0x18 = 5 min
+  <br>0x1c = 10 min</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='23 = 0x17'>23.1</td>
+<td>FlashSyncSpeed</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xf0]</span><table class=cols><tr>
+  <td>0x20 = 1/250 s (auto FP)
+  <br>0x30 = 1/250 s
+  <br>0x50 = 1/200 s
+  <br>0x60 = 1/160 s
+  <br>0x70 = 1/125 s
+  <br>0x80 = 1/100 s
+  <br>0x90 = 1/80 s
+  <br>0xa0 = 1/60 s</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='23 = 0x17'>23.2</td>
+<td>FlashShutterSpeed</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
+  <td>0x0 = 1/60 s
+  <br>0x1 = 1/30 s
+  <br>0x2 = 1/15 s
+  <br>0x3 = 1/8 s
+  <br>0x4 = 1/4 s
+  <br>0x5 = 1/2 s</td><td>  </td>
+  <td>0x6 = 1 s
+  <br>0x7 = 2 s
+  <br>0x8 = 4 s
+  <br>0x9 = 8 s
+  <br>0xa = 15 s
+  <br>0xb = 30 s</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='31 = 0x1f'>31.1</td>
+<td>ModelingFlash</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x20]
+  <br>0x0 = On
+  <br>0x20 = Off</span></td></tr>
+<tr>
+<td class=r title='36 = 0x24'>36.1</td>
+<td>PlaybackMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x20 = 10 s
+  <br>0x40 = 20 s</td><td>  </td>
+  <td>0x60 = 1 min
+  <br>0x80 = 5 min
+  <br>0xa0 = 10 min</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='37 = 0x25'>37.1</td>
+<td>MultiSelectorLiveView</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xc0]
+  <br>0x0 = Reset
+  <br>0x40 = Zoom
+  <br>0xc0 = Not Used</span></td></tr>
+<tr>
+<td class=r title='38 = 0x26'>38.1</td>
+<td>ShutterSpeedLock</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = Off
+  <br>0x80 = On</span></td></tr>
+<tr class=b>
+<td class=r title='38 = 0x26'>38.2</td>
+<td>ApertureLock</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x40]
+  <br>0x0 = Off
+  <br>0x40 = On</span></td></tr>
+<tr>
+<td class=r title='38 = 0x26'>38.3</td>
+<td>MovieShutterButton</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x10]
+  <br>0x0 = Take Photo
+  <br>0x10 = Record Movies</span></td></tr>
+<tr class=b>
+<td class=r title='38 = 0x26'>38.4</td>
+<td>FlashExposureCompArea</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x04]
+  <br>0x0 = Entire Frame
+  <br>0x4 = Background Only</span></td></tr>
+<tr>
+<td class=r title='38 = 0x26'>38.5</td>
+<td>AutoFlashISOSensitivity</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x02]
+  <br>0x0 = Subject and Background
+  <br>0x2 = Subject Only</span></td></tr>
+<tr class=b>
+<td class=r title='41 = 0x29'>41.1</td>
+<td>MovieFunc1Button</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xf0]
+  <br>0x0 = None
+  <br>0x20 = Power Aperture (close)
+  <br>0x30 = Index Marking
+  <br>0x40 = View Photo Shooting Info
+  <br>0xb0 = Exposure Compensation -</span></td></tr>
+<tr>
+<td class=r title='41 = 0x29'>41.2</td>
+<td>MoviePreviewButton</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]
+  <br>0x0 = None
+  <br>0x1 = Power Aperture (open)
+  <br>0x3 = Index Marking
+  <br>0x4 = View Photo Shooting Info
+  <br>0xa = Exposure Compensation +</span></td></tr>
+<tr class=b>
+<td class=r title='42 = 0x2a'>42.1</td>
+<td>Func1ButtonPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
+  <td>0x0 = None
+  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x2 = Shutter Speed & Aperture Lock
+  <br>0x3 = One Step Speed / Aperture
+  <br>0x4 = Choose Non-CPU Lens Number
+  <br>0x5 = Active D-Lighting
+  <br>0x7 = Photo Shooting Menu Bank
+  <br>0x8 = Exposure Delay Mode</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='43 = 0x2b'>43.1</td>
+<td>PreviewButtonPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
+  <td>0x0 = None
+  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x2 = Shutter Speed & Aperture Lock
+  <br>0x3 = One Step Speed / Aperture
+  <br>0x4 = Choose Non-CPU Lens Number
+  <br>0x5 = Active D-Lighting
+  <br>0x7 = Photo Shooting Menu Bank
+  <br>0x8 = Exposure Delay Mode</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='45 = 0x2d'>45.1</td>
+<td>AssignMovieRecordButtonPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]
+  <br>0x0 = None
+  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x2 = Shutter Speed & Aperture Lock
+  <br>0x7 = Photo Shooting Menu Bank
+  <br>0xb = Exposure Mode</span></td></tr>
+<tr>
+<td class=r title='46 = 0x2e'>46.1</td>
+<td>FineTuneOptHighlightWeighted</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr class=b>
+<td class=r title='47 = 0x2f'>47.1</td>
+<td>DynamicAreaAFDisplay</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = Off
+  <br>0x80 = On</span></td></tr>
+<tr>
+<td class=r title='47 = 0x2f'>47.2</td>
+<td>AFPointIllumination</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x40]
+  <br>0x0 = Off
+  <br>0x40 = On During Manual Focusing</span></td></tr>
+<tr class=b>
+<td class=r title='47 = 0x2f'>47.3</td>
+<td>StoreByOrientation</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x18]
+  <br>0x0 = Off
+  <br>0x8 = Focus Point
+  <br>0x10 = Focus Point and AF-area Mode</span></td></tr>
+<tr>
+<td class=r title='47 = 0x2f'>47.4</td>
+<td>GroupAreaAFIllumination</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x04]
+  <br>0x0 = Squares
+  <br>0x4 = Dots</span></td></tr>
+<tr class=b>
+<td class=r title='48 = 0x30'>48.1</td>
+<td>MatrixMetering</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = Face Detection On
+  <br>0x80 = Face Detection Off</span></td></tr>
+<tr>
+<td class=r title='48 = 0x30'>48.2</td>
+<td>LiveViewButtonOptions</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x30]
+  <br>0x0 = Enable
+  <br>0x10 = Enable (Standby Timer Active)
+  <br>0x20 = Disable</span></td></tr>
+<tr class=b>
+<td class=r title='48 = 0x30'>48.3</td>
+<td>AFModeRestrictions</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x03]
+  <br>0x0 = No Restrictions
+  <br>0x1 = AF-C
+  <br>0x2 = AF-S</span></td></tr>
+<tr>
+<td class=r title='49 = 0x31'>49.1</td>
+<td>LimitAFAreaModeSelection</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x7e]</span><table class=cols><tr>
+  <td>0x0 = No Restrictions
+  <br>Bit 1 = Auto-area
+  <br>Bit 2 = Group-area
+  <br>Bit 3 = 3D-tracking
+  <br>Bit 4 = Dynamic area (153 points)
+  <br>Bit 5 = Dynamic area (72 points)
+  <br>Bit 6 = Dynamic area (25 points)</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='52 = 0x34'>52.1</td>
+<td>LensFocusFunctionButtons</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x3f]
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0x18 = Preset Focus Point
+  <br>0x1a = Flash Disable/Enable
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
+  <br>0x31 = Sync Release (Master Only)
+  <br>0x32 = Sync Release (Remote Only)</span></td></tr>
+<tr>
+<td class=r title='66 = 0x42'>66.1</td>
+<td>VerticalMultiSelector</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xff]
+  <br>0x0 = Same as Multi-Selector with Info(U/D) & Playback(R/L)
+  <br>0x8 = Same as Multi-Selector with Info(R/L) & Playback(U/D)
+  <br>0x80 = Focus Point Selection</span></td></tr>
+<tr class=b>
+<td class=r title='67 = 0x43'>67.1</td>
+<td>AssignMB-D17FuncButton</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x3f]
+  <br>0x0 = None
+  <br>0x1 = Preview
+  <br>0x2 = FV Lock
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x5 = AE Lock (reset on release)
+  <br>0x6 = AE Lock (hold)
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0xa = Bracketing Burst
+  <br>0xb = Matrix Metering
+  <br>0xc = Center-weighted Metering
+  <br>0xd = Spot Metering
+  <br>0xe = Playback
+  <br>0xf = My Menu Top Item
+  <br>0x10 = +NEF(RAW)
+  <br>0x11 = Virtual Horizon
+  <br>0x12 = Reset Focus Point
+  <br>0x13 = Grid Display
+  <br>0x14 = My Menu
+  <br>0x16 = Remote Release Only
+  <br>0x17 = Preset Focus Point
+  <br>0x1a = Flash Disable/Enable
+  <br>0x1b = Highlight-weighted Metering
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
+  <br>0x31 = Sync Release (Master Only)
+  <br>0x32 = Sync Release (Remote Only)
+  <br>0x36 = Highlight Active Focus Point</span></td></tr>
+<tr>
+<td class=r title='68 = 0x44'>68.1</td>
+<td>AssignMB-D17FuncButtonPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span><table class=cols><tr>
+  <td>0x0 = None
+  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x2 = Shutter Speed & Aperture Lock
+  <br>0x3 = One Step Speed / Aperture
+  <br>0x4 = Choose Non-CPU Lens Number
+  <br>0x5 = Active D-Lighting
+  <br>0x7 = Photo Shooting Menu Bank
+  <br>0x8 = Exposure Delay Mode
+  <br>0xa = ISO Sensitivity
+  <br>0xb = Exposure Mode
+  <br>0xc = Exposure Compensation
+  <br>0xd = Metering Mode</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='70 = 0x46'>70.1</td>
+<td>AF-OnButton</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x3f]
+  <br>0x0 = None
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x5 = AE Lock (reset on release)
+  <br>0x6 = AE Lock (hold)
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)</span></td></tr>
+<tr>
+<td class=r title='71 = 0x47'>71.1</td>
+<td>SubSelector</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = Focus Point Selection
+  <br>0x80 = Same as MultiSelector</span></td></tr>
+<tr class=b>
+<td class=r title='72 = 0x48'>72.1</td>
+<td>SubSelectorCenter</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x3f]
+  <br>0x0 = None
+  <br>0x1 = Preview
+  <br>0x2 = FV Lock
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x5 = AE Lock (reset on release)
+  <br>0x6 = AE Lock (hold)
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0xa = Bracketing Burst
+  <br>0xb = Matrix Metering
+  <br>0xc = Center-weighted Metering
+  <br>0xd = Spot Metering
+  <br>0xe = Playback
+  <br>0xf = My Menu Top Item
+  <br>0x10 = +NEF(RAW)
+  <br>0x11 = Virtual Horizon
+  <br>0x12 = Reset Focus Point
+  <br>0x13 = Grid Display
+  <br>0x14 = My Menu
+  <br>0x16 = Remote Release Only
+  <br>0x17 = Preset Focus Point
+  <br>0x1a = Flash Disable/Enable
+  <br>0x1b = Highlight-weighted Metering
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
+  <br>0x31 = Sync Release (Master Only)
+  <br>0x32 = Sync Release (Remote Only)
+  <br>0x36 = Highlight Active Focus Point</span></td></tr>
+<tr>
+<td class=r title='73 = 0x49'>73.1</td>
+<td>SubSelectorPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]
+  <br>0x0 = None
+  <br>0x1 = Choose Image Area (DX/1.3x)
+  <br>0x2 = Shutter Speed & Aperture Lock
+  <br>0x4 = Choose Non-CPU Lens Number
+  <br>0x7 = Photo Shooting Menu Bank</span></td></tr>
+<tr class=b>
+<td class=r title='74 = 0x4a'>74.1</td>
+<td>AssignMovieSubselector</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xf0]</span><table class=cols><tr>
+  <td>0x0 = None
+  <br>0x30 = Index Marking
+  <br>0x40 = View Photo Shooting Info
+  <br>0x50 = AE/AF Lock
+  <br>0x60 = AE Lock (Only)
+  <br>0x70 = AE Lock (Hold)
+  <br>0x80 = AF Lock (Only)</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='75 = 0x4b'>75.1</td>
+<td>AssignMovieFunc1ButtonPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x10]
+  <br>0x0 = None
+  <br>0x10 = Choose Image Area (DX/1.3x)</span></td></tr>
+<tr class=b>
+<td class=r title='75 = 0x4b'>75.2</td>
+<td>AssignMoviePreviewButtonPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x01]
+  <br>0x0 = None
+  <br>0x1 = Choose Image Area (DX/1.3x)</span></td></tr>
+<tr>
+<td class=r title='76 = 0x4c'>76.1</td>
+<td>AssignMovieSubselectorPlusDials</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x10]
+  <br>0x0 = None
+  <br>0x10 = Choose Image Area (DX/1.3x)</span></td></tr>
+<tr class=b>
+<td class=r title='77 = 0x4d'>77.1</td>
+<td>SyncReleaseMode</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = No Sync
+  <br>0x80 = Sync</span></td></tr>
+<tr>
+<td class=r title='78 = 0x4e'>78.1</td>
+<td>Three-DTrackingWatchArea</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = Wide
+  <br>0x80 = Normal</span></td></tr>
+<tr class=b>
+<td class=r title='78 = 0x4e'>78.2</td>
+<td>SubjectMotion</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x60]
+  <br>0x0 = Steady
+  <br>0x20 = Middle
+  <br>0x40 = Erratic</span></td></tr>
+<tr>
+<td class=r title='78 = 0x4e'>78.3</td>
+<td>AFActivation</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x08]
+  <br>0x0 = Shutter/AF-On
+  <br>0x8 = AF-On Only</span></td></tr>
+<tr class=b>
+<td class=r title='78 = 0x4e'>78.4</td>
+<td>ShutterReleaseButtonAE-L</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x03]
+  <br>0x0 = Off
+  <br>0x1 = On (Half Press)
+  <br>0x2 = On (Burst Mode)</span></td></tr>
+<tr>
+<td class=r title='79 = 0x4f'>79.1</td>
+<td>AssignMB-D17AF-OnButton</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x7f]
+  <br>0x0 = None
+  <br>0x3 = AE/AF Lock
+  <br>0x4 = AE Lock Only
+  <br>0x5 = AE Lock (reset on release)
+  <br>0x6 = AE Lock (hold)
+  <br>0x7 = AF Lock Only
+  <br>0x8 = AF-On
+  <br>0x24 = AF-Area Mode (Single)
+  <br>0x25 = AF-Area Mode (Dynamic Area 25 Points)
+  <br>0x26 = AF-Area Mode (Dynamic Area 72 Points)
+  <br>0x27 = AF-Area Mode (Dynamic Area 152 Points)
+  <br>0x28 = AF-Area Mode (Group Area AF)
+  <br>0x29 = AF-Area Mode (Auto Area AF)
+  <br>0x2a = AF-Area Mode + AF-On (Single)
+  <br>0x2b = AF-Area Mode + AF-On (Dynamic Area 25 Points)
+  <br>0x2c = AF-Area Mode + AF-On (Dynamic Area 72 Points)
+  <br>0x2d = AF-Area Mode + AF-On (Dynamic Area 152 Points)
+  <br>0x2e = AF-Area Mode + AF-On (Group Area AF)
+  <br>0x2f = AF-Area Mode + AF-On (Auto Area AF)
+  <br>0x64 = Same as Camera AF-On Button</span></td></tr>
+<tr class=b>
+<td class=r title='80 = 0x50'>80.1</td>
+<td>Func2Button</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x3f]
+  <br>0x0 = None
+  <br>0xf = My Menu Top Item
+  <br>0x14 = My Menu
+  <br>0x37 = Rating</span></td></tr>
+<tr>
+<td class=r title='82 = 0x52'>82.1</td>
+<td>AssignMovieFunc2Button</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x70]
+  <br>0x0 = None
+  <br>0x30 = Index Marking
+  <br>0x40 = View Photo Shooting Info</span></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='SettingsD610'>NikonCustom SettingsD610 Tags</a></h2>
+<p>Custom settings for the D610.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index1</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0.1</td>
+<td>AF-CPrioritySelection</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x80]
+  <br>0x0 = Release
+  <br>0x80 = Focus</span></td></tr>
+<tr class=b>
+<td class=r title='0 = 0x0'>0.2</td>
+<td>AF-SPrioritySelection</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x20]
+  <br>0x0 = Release
+  <br>0x20 = Focus</span></td></tr>
+<tr>
+<td class=r title='0 = 0x0'>0.3</td>
+<td>NumberOfFocusPoints</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x10]
+  <br>0x0 = 39 Points
+  <br>0x10 = 11 Points</span></td></tr>
+<tr class=b>
+<td class=r title='0 = 0x0'>0.4</td>
+<td>FocusTrackingLockOn</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x07]</span><table class=cols><tr>
+  <td>0x0 = Off
+  <br>0x1 = 1 Short
+  <br>0x2 = 2</td><td>  </td>
+  <td>0x3 = 3 Normal
+  <br>0x4 = 4
+  <br>0x5 = 5 Long</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='1 = 0x1'>1.1</td>
+<td>FocusPointWrap</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x08]
+  <br>0x0 = No Wrap
+  <br>0x8 = Wrap</span></td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1.2</td>
+<td>AFPointIllumination</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x06]
+  <br>0x0 = Auto
+  <br>0x2 = On
+  <br>0x4 = Off</span></td></tr>
+<tr>
+<td class=r title='1 = 0x1'>1.3</td>
+<td>AFAssist</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x01]
+  <br>0x0 = On
+  <br>0x1 = Off</span></td></tr>
+<tr class=b>
+<td class=r title='5 = 0x5'>5.1</td>
+<td>EasyExposureCompensation</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x03]
+  <br>0x0 = Off
+  <br>0x1 = On
+  <br>0x2 = On Auto Reset</span></td></tr>
+<tr>
+<td class=r title='6 = 0x6'>6.1</td>
+<td>ExposureControlStep</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x40]
+  <br>0x0 = 1/3 EV
+  <br>0x40 = 1/2 EV</span></td></tr>
+<tr class=b>
+<td class=r title='6 = 0x6'>6.2</td>
+<td>ISOSensitivityStep</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x10]
+  <br>0x0 = 1/3 EV
+  <br>0x10 = 1/2 EV</span></td></tr>
+<tr>
+<td class=r title='7 = 0x7'>7.1</td>
+<td>CenterWeightedAreaSize</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]
+  <br>0x0 = 8 mm
+  <br>0x20 = 12 mm
+  <br>0x40 = 15 mm
+  <br>0x60 = 20 mm
+  <br>0x80 = Average</span></td></tr>
+<tr class=b>
+<td class=r title='7 = 0x7'>7.2</td>
+<td>FineTuneOptMatrixMetering</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr>
+<td class=r title='8 = 0x8'>8.1</td>
+<td>FineTuneOptCenterWeighted</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xf0]</span></td></tr>
+<tr class=b>
+<td class=r title='8 = 0x8'>8.2</td>
+<td>FineTuneOptSpotMetering</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr>
+<td class=r title='17 = 0x11'>17.1</td>
+<td>ShutterReleaseButtonAE-L</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x02]
+  <br>0x0 = Off
+  <br>0x2 = On</span></td></tr>
+<tr class=b>
+<td class=r title='18 = 0x12'>18.1</td>
+<td>StandbyTimer</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xf0]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x10 = 6 s
+  <br>0x20 = 10 s
+  <br>0x30 = 30 s
+  <br>0x40 = 1 min</td><td>  </td>
+  <td>0x50 = 5 min
+  <br>0x60 = 10 min
+  <br>0x70 = 30 min
+  <br>0x80 = No Limit</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='18 = 0x12'>18.2</td>
+<td>RemoteOnDuration</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x03]
+  <br>0x0 = 1 min
+  <br>0x1 = 5 min
+  <br>0x2 = 10 min
+  <br>0x3 = 20 min</span></td></tr>
+<tr class=b>
+<td class=r title='19 = 0x13'>19.1</td>
+<td>SelfTimerTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xc0]
+  <br>0x0 = 2 s
+  <br>0x40 = 5 s
+  <br>0x80 = 10 s
+  <br>0xc0 = 20 s</span></td></tr>
+<tr>
+<td class=r title='19 = 0x13'>19.2</td>
+<td>SelfTimerShotInterval</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x30]
+  <br>0x0 = 0.5 s
+  <br>0x10 = 1 s
+  <br>0x20 = 2 s
+  <br>0x30 = 3 s</span></td></tr>
+<tr class=b>
+<td class=r title='19 = 0x13'>19.3</td>
+<td>SelfTimerShotCount</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x0f]</span></td></tr>
+<tr>
+<td class=r title='20 = 0x14'>20.1</td>
+<td>ImageReviewMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]</span><table class=cols><tr>
+  <td>0x0 = 2 s
+  <br>0x20 = 4 s
+  <br>0x40 = 10 s
+  <br>0x60 = 20 s</td><td>  </td>
+  <td>0x80 = 1 min
+  <br>0xa0 = 5 min
+  <br>0xc0 = 10 min</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='20 = 0x14'>20.2</td>
+<td>LiveViewMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x1c]</span><table class=cols><tr>
+  <td>0x0 = 5 min
+  <br>0x4 = 10 min
+  <br>0x8 = 15 min</td><td>  </td>
+  <td>0xc = 20 min
+  <br>0x10 = 30 min
+  <br>0x14 = No Limit</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='21 = 0x15'>21.1</td>
+<td>MenuMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x20 = 10 s
+  <br>0x40 = 20 s</td><td>  </td>
+  <td>0x60 = 1 min
+  <br>0x80 = 5 min
+  <br>0xa0 = 10 min</td></tr></table>
+</td></tr>
+<tr class=b>
+<td class=r title='21 = 0x15'>21.2</td>
+<td>ShootingInfoMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0x1c]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x4 = 10 s
+  <br>0x8 = 20 s</td><td>  </td>
+  <td>0xc = 1 min
+  <br>0x10 = 5 min
+  <br>0x14 = 10 min</td></tr></table>
+</td></tr>
+<tr>
+<td class=r title='35 = 0x23'>35.1</td>
+<td>PlaybackMonitorOffTime</td>
+<td class=c>int8u</td>
+<td><span class=s>[Mask 0xe0]</span><table class=cols><tr>
+  <td>0x0 = 4 s
+  <br>0x20 = 10 s
+  <br>0x40 = 20 s</td><td>  </td>
+  <td>0x60 = 1 min
+  <br>0x80 = 5 min
+  <br>0xa0 = 10 min</td></tr></table>
+</td></tr>
 </table></td></tr></table></blockquote>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised May 26, 2016</i>
+<br><i>Last revised Oct 11, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Olympus.html b/html/TagNames/Olympus.html
index 96a413e..8e8f40b 100644
--- a/html/TagNames/Olympus.html
+++ b/html/TagNames/Olympus.html
@@ -736,287 +736,290 @@ Vivitar are not listed.</p>
 <table class='inner sep' cellspacing=1>
 <tr class=h><th>Value</th><th>CameraType</th><th>Value</th><th>CameraType</th><th>Value</th><th>CameraType</th></tr>
 <tr><td>'D4028'</td><td>= X-2,C-50Z</td>
-<td class=b>'D4391'</td><td class=b>= u5000</td>
-<td>'S0004'</td><td>= E-500</td>
-</tr><tr><td>'D4029'</td><td>= E-20,E-20N,E-20P</td>
 <td class=b>'D4392'</td><td class=b>= u7000,S7000</td>
-<td>'S0009'</td><td>= E-400</td>
-</tr><tr><td>'D4034'</td><td>= C720UZ</td>
-<td class=b>'D4396'</td><td class=b>= FE5010,X915</td>
 <td>'S0010'</td><td>= E-510</td>
-</tr><tr><td>'D4040'</td><td>= E-1</td>
-<td class=b>'D4397'</td><td class=b>= FE25,X20</td>
+</tr><tr><td>'D4029'</td><td>= E-20,E-20N,E-20P</td>
+<td class=b>'D4396'</td><td class=b>= FE5010,X915</td>
 <td>'S0011'</td><td>= E-3</td>
-</tr><tr><td>'D4041'</td><td>= E-300</td>
-<td class=b>'D4398'</td><td class=b>= FE45,X40</td>
+</tr><tr><td>'D4034'</td><td>= C720UZ</td>
+<td class=b>'D4397'</td><td class=b>= FE25,X20</td>
 <td>'S0013'</td><td>= E-410</td>
-</tr><tr><td>'D4083'</td><td>= C2Z,D520Z,C220Z</td>
-<td class=b>'D4401'</td><td class=b>= XZ-1</td>
+</tr><tr><td>'D4040'</td><td>= E-1</td>
+<td class=b>'D4398'</td><td class=b>= FE45,X40</td>
 <td>'S0016'</td><td>= E-420</td>
-</tr><tr><td>'D4106'</td><td>= u20D,S400D,u400D</td>
-<td class=b>'D4402'</td><td class=b>= uT6010,ST6010</td>
+</tr><tr><td>'D4041'</td><td>= E-300</td>
+<td class=b>'D4401'</td><td class=b>= XZ-1</td>
 <td>'S0017'</td><td>= E-30</td>
-</tr><tr><td>'D4120'</td><td>= X-1</td>
-<td class=b>'D4406'</td><td class=b>= u7010,S7010 / u7020,S7020</td>
+</tr><tr><td>'D4083'</td><td>= C2Z,D520Z,C220Z</td>
+<td class=b>'D4402'</td><td class=b>= uT6010,ST6010</td>
 <td>'S0018'</td><td>= E-520</td>
-</tr><tr><td>'D4122'</td><td>= u10D,S300D,u300D</td>
-<td class=b>'D4407'</td><td class=b>= FE4010,X930</td>
+</tr><tr><td>'D4106'</td><td>= u20D,S400D,u400D</td>
+<td class=b>'D4406'</td><td class=b>= u7010,S7010 / u7020,S7020</td>
 <td>'S0019'</td><td>= E-P1</td>
-</tr><tr><td>'D4125'</td><td>= AZ-1</td>
-<td class=b>'D4408'</td><td class=b>= X560WP</td>
+</tr><tr><td>'D4120'</td><td>= X-1</td>
+<td class=b>'D4407'</td><td class=b>= FE4010,X930</td>
 <td>'S0023'</td><td>= E-620</td>
-</tr><tr><td>'D4141'</td><td>= C150,D390</td>
-<td class=b>'D4409'</td><td class=b>= FE26,X21</td>
+</tr><tr><td>'D4122'</td><td>= u10D,S300D,u300D</td>
+<td class=b>'D4408'</td><td class=b>= X560WP</td>
 <td>'S0026'</td><td>= E-P2</td>
-</tr><tr><td>'D4193'</td><td>= C-5000Z</td>
-<td class=b>'D4410'</td><td class=b>= FE4000,X920,X925</td>
+</tr><tr><td>'D4125'</td><td>= AZ-1</td>
+<td class=b>'D4409'</td><td class=b>= FE26,X21</td>
 <td>'S0027'</td><td>= E-PL1</td>
-</tr><tr><td>'D4194'</td><td>= X-3,C-60Z</td>
-<td class=b>'D4411'</td><td class=b>= FE46,X41,X42</td>
+</tr><tr><td>'D4141'</td><td>= C150,D390</td>
+<td class=b>'D4410'</td><td class=b>= FE4000,X920,X925</td>
 <td>'S0029'</td><td>= E-450</td>
-</tr><tr><td>'D4199'</td><td>= u30D,S410D,u410D</td>
-<td class=b>'D4412'</td><td class=b>= FE5020,X935</td>
+</tr><tr><td>'D4193'</td><td>= C-5000Z</td>
+<td class=b>'D4411'</td><td class=b>= FE46,X41,X42</td>
 <td>'S0030'</td><td>= E-600</td>
-</tr><tr><td>'D4205'</td><td>= X450,D535Z,C370Z</td>
-<td class=b>'D4413'</td><td class=b>= uTough-3000</td>
+</tr><tr><td>'D4194'</td><td>= X-3,C-60Z</td>
+<td class=b>'D4412'</td><td class=b>= FE5020,X935</td>
 <td>'S0032'</td><td>= E-P3</td>
-</tr><tr><td>'D4210'</td><td>= C160,D395</td>
-<td class=b>'D4414'</td><td class=b>= StylusTough-6020</td>
+</tr><tr><td>'D4199'</td><td>= u30D,S410D,u410D</td>
+<td class=b>'D4413'</td><td class=b>= uTough-3000</td>
 <td>'S0033'</td><td>= E-5</td>
-</tr><tr><td>'D4211'</td><td>= C725UZ</td>
-<td class=b>'D4415'</td><td class=b>= StylusTough-8010</td>
+</tr><tr><td>'D4205'</td><td>= X450,D535Z,C370Z</td>
+<td class=b>'D4414'</td><td class=b>= StylusTough-6020</td>
 <td>'S0034'</td><td>= E-PL2</td>
-</tr><tr><td>'D4213'</td><td>= FerrariMODEL2003</td>
-<td class=b>'D4417'</td><td class=b>= u5010,S5010</td>
+</tr><tr><td>'D4210'</td><td>= C160,D395</td>
+<td class=b>'D4415'</td><td class=b>= StylusTough-8010</td>
 <td>'S0036'</td><td>= E-M5</td>
-</tr><tr><td>'D4216'</td><td>= u15D</td>
-<td class=b>'D4418'</td><td class=b>= u7040,S7040</td>
+</tr><tr><td>'D4211'</td><td>= C725UZ</td>
+<td class=b>'D4417'</td><td class=b>= u5010,S5010</td>
 <td>'S0038'</td><td>= E-PL3</td>
-</tr><tr><td>'D4217'</td><td>= u25D</td>
-<td class=b>'D4419'</td><td class=b>= u9010,S9010</td>
+</tr><tr><td>'D4213'</td><td>= FerrariMODEL2003</td>
+<td class=b>'D4418'</td><td class=b>= u7040,S7040</td>
 <td>'S0039'</td><td>= E-PM1</td>
-</tr><tr><td>'D4220'</td><td>= u-miniD,Stylus V</td>
-<td class=b>'D4423'</td><td class=b>= FE4040</td>
+</tr><tr><td>'D4216'</td><td>= u15D</td>
+<td class=b>'D4419'</td><td class=b>= u9010,S9010</td>
 <td>'S0040'</td><td>= E-PL1s</td>
-</tr><tr><td>'D4221'</td><td>= u40D,S500,uD500</td>
-<td class=b>'D4424'</td><td class=b>= FE47,X43</td>
+</tr><tr><td>'D4217'</td><td>= u25D</td>
+<td class=b>'D4423'</td><td class=b>= FE4040</td>
 <td>'S0042'</td><td>= E-PL5</td>
-</tr><tr><td>'D4231'</td><td>= FerrariMODEL2004</td>
-<td class=b>'D4426'</td><td class=b>= FE4030,X950</td>
+</tr><tr><td>'D4220'</td><td>= u-miniD,Stylus V</td>
+<td class=b>'D4424'</td><td class=b>= FE47,X43</td>
 <td>'S0043'</td><td>= E-PM2</td>
-</tr><tr><td>'D4240'</td><td>= X500,D590Z,C470Z</td>
-<td class=b>'D4428'</td><td class=b>= FE5030,X965,X960</td>
+</tr><tr><td>'D4221'</td><td>= u40D,S500,uD500</td>
+<td class=b>'D4426'</td><td class=b>= FE4030,X950</td>
 <td>'S0044'</td><td>= E-P5</td>
-</tr><tr><td>'D4244'</td><td>= uD800,S800</td>
-<td class=b>'D4430'</td><td class=b>= u7030,S7030</td>
+</tr><tr><td>'D4231'</td><td>= FerrariMODEL2004</td>
+<td class=b>'D4428'</td><td class=b>= FE5030,X965,X960</td>
 <td>'S0045'</td><td>= E-PL6</td>
-</tr><tr><td>'D4256'</td><td>= u720SW,S720SW</td>
-<td class=b>'D4432'</td><td class=b>= SP600UZ</td>
+</tr><tr><td>'D4240'</td><td>= X500,D590Z,C470Z</td>
+<td class=b>'D4430'</td><td class=b>= u7030,S7030</td>
 <td>'S0046'</td><td>= E-PL7</td>
-</tr><tr><td>'D4261'</td><td>= X600,D630,FE5500</td>
-<td class=b>'D4434'</td><td class=b>= SP800UZ</td>
+</tr><tr><td>'D4244'</td><td>= uD800,S800</td>
+<td class=b>'D4432'</td><td class=b>= SP600UZ</td>
 <td>'S0047'</td><td>= E-M1</td>
-</tr><tr><td>'D4262'</td><td>= uD600,S600</td>
-<td class=b>'D4439'</td><td class=b>= FE4020,X940</td>
+</tr><tr><td>'D4256'</td><td>= u720SW,S720SW</td>
+<td class=b>'D4434'</td><td class=b>= SP800UZ</td>
 <td>'S0051'</td><td>= E-M10</td>
-</tr><tr><td>'D4301'</td><td>= u810/S810</td>
-<td class=b>'D4442'</td><td class=b>= FE5035</td>
+</tr><tr><td>'D4261'</td><td>= X600,D630,FE5500</td>
+<td class=b>'D4439'</td><td class=b>= FE4020,X940</td>
 <td>'S0052'</td><td>= E-M5MarkII</td>
-</tr><tr><td>'D4302'</td><td>= u710,S710</td>
-<td class=b>'D4448'</td><td class=b>= FE4050,X970</td>
+</tr><tr><td>'D4262'</td><td>= uD600,S600</td>
+<td class=b>'D4442'</td><td class=b>= FE5035</td>
 <td>'S0059'</td><td>= E-M10MarkII</td>
-</tr><tr><td>'D4303'</td><td>= u700,S700</td>
-<td class=b>'D4450'</td><td class=b>= FE5050,X985</td>
+</tr><tr><td>'D4301'</td><td>= u810/S810</td>
+<td class=b>'D4448'</td><td class=b>= FE4050,X970</td>
 <td>'S0061'</td><td>= PEN-F</td>
-</tr><tr><td>'D4304'</td><td>= FE100,X710</td>
+</tr><tr><td>'D4302'</td><td>= u710,S710</td>
+<td class=b>'D4450'</td><td class=b>= FE5050,X985</td>
+<td>'S0065'</td><td>= E-PL8</td>
+</tr><tr><td>'D4303'</td><td>= u700,S700</td>
 <td class=b>'D4454'</td><td class=b>= u-7050</td>
 <td>'SR45'</td><td>= D220</td>
-</tr><tr><td>'D4305'</td><td>= FE110,X705</td>
+</tr><tr><td>'D4304'</td><td>= FE100,X710</td>
 <td class=b>'D4464'</td><td class=b>= T10,X27</td>
 <td>'SR55'</td><td>= D320L</td>
-</tr><tr><td>'D4310'</td><td>= FE-130,X-720</td>
+</tr><tr><td>'D4305'</td><td>= FE110,X705</td>
 <td class=b>'D4470'</td><td class=b>= FE5040,X980</td>
 <td>'SR83'</td><td>= D340L</td>
-</tr><tr><td>'D4311'</td><td>= FE-140,X-725</td>
+</tr><tr><td>'D4310'</td><td>= FE-130,X-720</td>
 <td class=b>'D4472'</td><td class=b>= TG-310</td>
 <td>'SR85'</td><td>= C830L,D340R</td>
-</tr><tr><td>'D4312'</td><td>= FE150,X730</td>
+</tr><tr><td>'D4311'</td><td>= FE-140,X-725</td>
 <td class=b>'D4474'</td><td class=b>= TG-610</td>
 <td>'SR852'</td><td>= C860L,D360L</td>
-</tr><tr><td>'D4313'</td><td>= FE160,X735</td>
+</tr><tr><td>'D4312'</td><td>= FE150,X730</td>
 <td class=b>'D4476'</td><td class=b>= TG-810</td>
 <td>'SR872'</td><td>= C900Z,D400Z</td>
-</tr><tr><td>'D4314'</td><td>= u740,S740</td>
+</tr><tr><td>'D4313'</td><td>= FE160,X735</td>
 <td class=b>'D4478'</td><td class=b>= VG145,VG140,D715</td>
 <td>'SR874'</td><td>= C960Z,D460Z</td>
-</tr><tr><td>'D4315'</td><td>= u750,S750</td>
+</tr><tr><td>'D4314'</td><td>= u740,S740</td>
 <td class=b>'D4479'</td><td class=b>= VG130,D710</td>
 <td>'SR951'</td><td>= C2000Z</td>
-</tr><tr><td>'D4316'</td><td>= u730/S730</td>
+</tr><tr><td>'D4315'</td><td>= u750,S750</td>
 <td class=b>'D4480'</td><td class=b>= VG120,D705</td>
 <td>'SR952'</td><td>= C21</td>
-</tr><tr><td>'D4317'</td><td>= FE115,X715</td>
+</tr><tr><td>'D4316'</td><td>= u730/S730</td>
 <td class=b>'D4482'</td><td class=b>= VR310,D720</td>
 <td>'SR953'</td><td>= C21T.commu</td>
-</tr><tr><td>'D4321'</td><td>= SP550UZ</td>
+</tr><tr><td>'D4317'</td><td>= FE115,X715</td>
 <td class=b>'D4484'</td><td class=b>= VR320,D725</td>
 <td>'SR954'</td><td>= C2020Z</td>
-</tr><tr><td>'D4322'</td><td>= SP510UZ</td>
+</tr><tr><td>'D4321'</td><td>= SP550UZ</td>
 <td class=b>'D4486'</td><td class=b>= VR330,D730</td>
 <td>'SR955'</td><td>= C990Z,D490Z</td>
-</tr><tr><td>'D4324'</td><td>= FE170,X760</td>
+</tr><tr><td>'D4322'</td><td>= SP510UZ</td>
 <td class=b>'D4488'</td><td class=b>= VG110,D700</td>
 <td>'SR956'</td><td>= C211Z</td>
-</tr><tr><td>'D4326'</td><td>= FE200</td>
+</tr><tr><td>'D4324'</td><td>= FE170,X760</td>
 <td class=b>'D4490'</td><td class=b>= SP-610UZ</td>
 <td>'SR959'</td><td>= C990ZS,D490Z</td>
-</tr><tr><td>'D4327'</td><td>= FE190/X750</td>
+</tr><tr><td>'D4326'</td><td>= FE200</td>
 <td class=b>'D4492'</td><td class=b>= SZ-10</td>
 <td>'SR95A'</td><td>= C2100UZ</td>
-</tr><tr><td>'D4328'</td><td>= u760,S760</td>
+</tr><tr><td>'D4327'</td><td>= FE190/X750</td>
 <td class=b>'D4494'</td><td class=b>= SZ-20</td>
 <td>'SR971'</td><td>= C100,D370</td>
-</tr><tr><td>'D4330'</td><td>= FE180/X745</td>
+</tr><tr><td>'D4328'</td><td>= u760,S760</td>
 <td class=b>'D4496'</td><td class=b>= SZ-30MR</td>
 <td>'SR973'</td><td>= C2,D230</td>
-</tr><tr><td>'D4331'</td><td>= u1000/S1000</td>
+</tr><tr><td>'D4330'</td><td>= FE180/X745</td>
 <td class=b>'D4498'</td><td class=b>= SP-810UZ</td>
 <td>'SX151'</td><td>= E100RS</td>
-</tr><tr><td>'D4332'</td><td>= u770SW,S770SW</td>
+</tr><tr><td>'D4331'</td><td>= u1000/S1000</td>
 <td class=b>'D4500'</td><td class=b>= SZ-11</td>
 <td>'SX351'</td><td>= C3000Z / C3030Z</td>
-</tr><tr><td>'D4333'</td><td>= FE240/X795</td>
+</tr><tr><td>'D4332'</td><td>= u770SW,S770SW</td>
 <td class=b>'D4504'</td><td class=b>= TG-615</td>
 <td>'SX354'</td><td>= C3040Z</td>
-</tr><tr><td>'D4334'</td><td>= FE210,X775</td>
+</tr><tr><td>'D4333'</td><td>= FE240/X795</td>
 <td class=b>'D4508'</td><td class=b>= TG-620</td>
 <td>'SX355'</td><td>= C2040Z</td>
-</tr><tr><td>'D4336'</td><td>= FE230/X790</td>
+</tr><tr><td>'D4334'</td><td>= FE210,X775</td>
 <td class=b>'D4510'</td><td class=b>= TG-820</td>
 <td>'SX357'</td><td>= C700UZ</td>
-</tr><tr><td>'D4337'</td><td>= FE220,X785</td>
+</tr><tr><td>'D4336'</td><td>= FE230/X790</td>
 <td class=b>'D4512'</td><td class=b>= TG-1</td>
 <td>'SX358'</td><td>= C200Z,D510Z</td>
-</tr><tr><td>'D4338'</td><td>= u725SW,S725SW</td>
+</tr><tr><td>'D4337'</td><td>= FE220,X785</td>
 <td class=b>'D4516'</td><td class=b>= SH-21</td>
 <td>'SX374'</td><td>= C3100Z,C3020Z</td>
-</tr><tr><td>'D4339'</td><td>= FE250/X800</td>
+</tr><tr><td>'D4338'</td><td>= u725SW,S725SW</td>
 <td class=b>'D4519'</td><td class=b>= SZ-14</td>
 <td>'SX552'</td><td>= C4040Z</td>
-</tr><tr><td>'D4341'</td><td>= u780,S780</td>
+</tr><tr><td>'D4339'</td><td>= FE250/X800</td>
 <td class=b>'D4520'</td><td class=b>= SZ-31MR</td>
 <td>'SX553'</td><td>= C40Z,D40Z</td>
-</tr><tr><td>'D4343'</td><td>= u790SW,S790SW</td>
+</tr><tr><td>'D4341'</td><td>= u780,S780</td>
 <td class=b>'D4521'</td><td class=b>= SH-25MR</td>
 <td>'SX556'</td><td>= C730UZ</td>
-</tr><tr><td>'D4344'</td><td>= u1020,S1020</td>
+</tr><tr><td>'D4343'</td><td>= u790SW,S790SW</td>
 <td class=b>'D4523'</td><td class=b>= SP-720UZ</td>
 <td>'SX558'</td><td>= C5050Z</td>
-</tr><tr><td>'D4346'</td><td>= FE15,X10</td>
+</tr><tr><td>'D4344'</td><td>= u1020,S1020</td>
 <td class=b>'D4529'</td><td class=b>= VG170</td>
 <td>'SX571'</td><td>= C120,D380</td>
-</tr><tr><td>'D4348'</td><td>= FE280,X820,C520</td>
+</tr><tr><td>'D4346'</td><td>= FE15,X10</td>
 <td class=b>'D4531'</td><td class=b>= XZ-2</td>
 <td>'SX574'</td><td>= C300Z,D550Z</td>
-</tr><tr><td>'D4349'</td><td>= FE300,X830</td>
+</tr><tr><td>'D4348'</td><td>= FE280,X820,C520</td>
 <td class=b>'D4535'</td><td class=b>= SP-620UZ</td>
 <td>'SX575'</td><td>= C4100Z,C4000Z</td>
-</tr><tr><td>'D4350'</td><td>= u820,S820</td>
+</tr><tr><td>'D4349'</td><td>= FE300,X830</td>
 <td class=b>'D4536'</td><td class=b>= TG-320</td>
 <td>'SX751'</td><td>= X200,D560Z,C350Z</td>
-</tr><tr><td>'D4351'</td><td>= u1200,S1200</td>
+</tr><tr><td>'D4350'</td><td>= u820,S820</td>
 <td class=b>'D4537'</td><td class=b>= VR340,D750</td>
 <td>'SX752'</td><td>= X300,D565Z,C450Z</td>
-</tr><tr><td>'D4352'</td><td>= FE270,X815,C510</td>
+</tr><tr><td>'D4351'</td><td>= u1200,S1200</td>
 <td class=b>'D4538'</td><td class=b>= VG160,X990,D745</td>
 <td>'SX753'</td><td>= C750UZ</td>
-</tr><tr><td>'D4353'</td><td>= u795SW,S795SW</td>
+</tr><tr><td>'D4352'</td><td>= FE270,X815,C510</td>
 <td class=b>'D4541'</td><td class=b>= SZ-12</td>
 <td>'SX754'</td><td>= C740UZ</td>
-</tr><tr><td>'D4354'</td><td>= u1030SW,S1030SW</td>
+</tr><tr><td>'D4353'</td><td>= u795SW,S795SW</td>
 <td class=b>'D4545'</td><td class=b>= VH410</td>
 <td>'SX755'</td><td>= C755UZ</td>
-</tr><tr><td>'D4355'</td><td>= SP560UZ</td>
+</tr><tr><td>'D4354'</td><td>= u1030SW,S1030SW</td>
 <td class=b>'D4546'</td><td class=b>= XZ-10</td>
 <td>'SX756'</td><td>= C5060WZ</td>
-</tr><tr><td>'D4356'</td><td>= u1010,S1010</td>
+</tr><tr><td>'D4355'</td><td>= SP560UZ</td>
 <td class=b>'D4547'</td><td class=b>= TG-2</td>
 <td>'SX757'</td><td>= C8080WZ</td>
-</tr><tr><td>'D4357'</td><td>= u830,S830</td>
+</tr><tr><td>'D4356'</td><td>= u1010,S1010</td>
 <td class=b>'D4548'</td><td class=b>= TG-830</td>
 <td>'SX758'</td><td>= X350,D575Z,C360Z</td>
-</tr><tr><td>'D4359'</td><td>= u840,S840</td>
+</tr><tr><td>'D4357'</td><td>= u830,S830</td>
 <td class=b>'D4549'</td><td class=b>= TG-630</td>
 <td>'SX759'</td><td>= X400,D580Z,C460Z</td>
-</tr><tr><td>'D4360'</td><td>= FE350WIDE,X865</td>
+</tr><tr><td>'D4359'</td><td>= u840,S840</td>
 <td class=b>'D4550'</td><td class=b>= SH-50</td>
 <td>'SX75A'</td><td>= AZ-2ZOOM</td>
-</tr><tr><td>'D4361'</td><td>= u850SW,S850SW</td>
+</tr><tr><td>'D4360'</td><td>= FE350WIDE,X865</td>
 <td class=b>'D4553'</td><td class=b>= SZ-16,DZ-105</td>
 <td>'SX75B'</td><td>= D595Z,C500Z</td>
-</tr><tr><td>'D4362'</td><td>= FE340,X855,C560</td>
+</tr><tr><td>'D4361'</td><td>= u850SW,S850SW</td>
 <td class=b>'D4562'</td><td class=b>= SP-820UZ</td>
 <td>'SX75C'</td><td>= X550,D545Z,C480Z</td>
-</tr><tr><td>'D4363'</td><td>= FE320,X835,C540</td>
+</tr><tr><td>'D4362'</td><td>= FE340,X855,C560</td>
 <td class=b>'D4566'</td><td class=b>= SZ-15</td>
 <td>'SX75D'</td><td>= IR-300</td>
-</tr><tr><td>'D4364'</td><td>= SP570UZ</td>
+</tr><tr><td>'D4363'</td><td>= FE320,X835,C540</td>
 <td class=b>'D4572'</td><td class=b>= STYLUS1</td>
 <td>'SX75F'</td><td>= C55Z,C5500Z</td>
-</tr><tr><td>'D4366'</td><td>= FE330,X845,C550</td>
+</tr><tr><td>'D4364'</td><td>= SP570UZ</td>
 <td class=b>'D4574'</td><td class=b>= TG-3</td>
 <td>'SX75G'</td><td>= C170,D425</td>
-</tr><tr><td>'D4368'</td><td>= FE310,X840,C530</td>
+</tr><tr><td>'D4366'</td><td>= FE330,X845,C550</td>
 <td class=b>'D4575'</td><td class=b>= TG-850</td>
 <td>'SX75J'</td><td>= C180,D435</td>
-</tr><tr><td>'D4370'</td><td>= u1050SW,S1050SW</td>
+</tr><tr><td>'D4368'</td><td>= FE310,X840,C530</td>
 <td class=b>'D4579'</td><td class=b>= SP-100EE</td>
 <td>'SX771'</td><td>= C760UZ</td>
-</tr><tr><td>'D4371'</td><td>= u1060,S1060</td>
+</tr><tr><td>'D4370'</td><td>= u1050SW,S1050SW</td>
 <td class=b>'D4580'</td><td class=b>= SH-60</td>
 <td>'SX772'</td><td>= C770UZ</td>
-</tr><tr><td>'D4372'</td><td>= FE370,X880,C575</td>
+</tr><tr><td>'D4371'</td><td>= u1060,S1060</td>
 <td class=b>'D4581'</td><td class=b>= SH-1</td>
 <td>'SX773'</td><td>= C745UZ</td>
-</tr><tr><td>'D4374'</td><td>= SP565UZ</td>
+</tr><tr><td>'D4372'</td><td>= FE370,X880,C575</td>
 <td class=b>'D4582'</td><td class=b>= TG-835</td>
 <td>'SX774'</td><td>= X250,D560Z,C350Z</td>
-</tr><tr><td>'D4377'</td><td>= u1040,S1040</td>
+</tr><tr><td>'D4374'</td><td>= SP565UZ</td>
 <td class=b>'D4585'</td><td class=b>= SH-2 / SH-3</td>
 <td>'SX775'</td><td>= X100,D540Z,C310Z</td>
-</tr><tr><td>'D4378'</td><td>= FE360,X875,C570</td>
+</tr><tr><td>'D4377'</td><td>= u1040,S1040</td>
 <td class=b>'D4586'</td><td class=b>= TG-4</td>
 <td>'SX776'</td><td>= C460ZdelSol</td>
-</tr><tr><td>'D4379'</td><td>= FE20,X15,C25</td>
+</tr><tr><td>'D4378'</td><td>= FE360,X875,C570</td>
 <td class=b>'D4587'</td><td class=b>= TG-860</td>
 <td>'SX777'</td><td>= C765UZ</td>
-</tr><tr><td>'D4380'</td><td>= uT6000,ST6000</td>
+</tr><tr><td>'D4379'</td><td>= FE20,X15,C25</td>
 <td class=b>'D4591'</td><td class=b>= TG-870</td>
 <td>'SX77A'</td><td>= D555Z,C315Z</td>
-</tr><tr><td>'D4381'</td><td>= uT8000,ST8000</td>
+</tr><tr><td>'D4380'</td><td>= uT6000,ST6000</td>
 <td class=b>'D4809'</td><td class=b>= C2500L</td>
 <td>'SX851'</td><td>= C7070WZ</td>
-</tr><tr><td>'D4382'</td><td>= u9000,S9000</td>
+</tr><tr><td>'D4381'</td><td>= uT8000,ST8000</td>
 <td class=b>'D4842'</td><td class=b>= E-10</td>
 <td>'SX852'</td><td>= C70Z,C7000Z</td>
-</tr><tr><td>'D4384'</td><td>= SP590UZ</td>
+</tr><tr><td>'D4382'</td><td>= u9000,S9000</td>
 <td class=b>'D4856'</td><td class=b>= C-1</td>
 <td>'SX853'</td><td>= SP500UZ</td>
-</tr><tr><td>'D4385'</td><td>= FE3010,X895</td>
+</tr><tr><td>'D4384'</td><td>= SP590UZ</td>
 <td class=b>'D4857'</td><td class=b>= C-1Z,D-150Z</td>
 <td>'SX854'</td><td>= SP310</td>
-</tr><tr><td>'D4386'</td><td>= FE3000,X890</td>
+</tr><tr><td>'D4385'</td><td>= FE3010,X895</td>
 <td class=b>'DCHC'</td><td class=b>= D500L</td>
 <td>'SX855'</td><td>= SP350</td>
-</tr><tr><td>'D4387'</td><td>= FE35,X30</td>
+</tr><tr><td>'D4386'</td><td>= FE3000,X890</td>
 <td class=b>'DCHT'</td><td class=b>= D600L / D620L</td>
 <td>'SX873'</td><td>= SP320</td>
-</tr><tr><td>'D4388'</td><td>= u550WP,S550WP</td>
+</tr><tr><td>'D4387'</td><td>= FE35,X30</td>
 <td class=b>'K0055'</td><td class=b>= AIR-A01</td>
 <td>'SX875'</td><td>= FE180/X745</td>
-</tr><tr><td>'D4390'</td><td>= FE5000,X905</td>
+</tr><tr><td>'D4388'</td><td>= u550WP,S550WP</td>
 <td class=b>'S0003'</td><td class=b>= E-330</td>
 <td>'SX876'</td><td>= FE190/X750</td>
+</tr><tr><td>'D4390'</td><td>= FE5000,X905</td>
+<td class=b>'S0004'</td><td class=b>= E-500</td>
+<td> </td><td> </td>
+</tr><tr><td>'D4391'</td><td>= u5000</td>
+<td class=b>'S0009'</td><td class=b>= E-400</td>
+<td> </td><td> </td>
 </tr></table></td></tr></table></blockquote>
 
 <h2><a name='TextInfo'>Olympus TextInfo Tags</a></h2>
@@ -1244,6 +1247,9 @@ the Make and Model are used to identify the extender)</span>
 </tr><tr><td>'0 24 00'</td><td>= Olympus Zuiko Digital ED 40-150mm F4.0-5.6</td>
 </tr><tr><td>'0 24 10'</td><td>= Olympus M.Zuiko Digital ED 300mm F4.0 IS Pro</td>
 </tr><tr><td>'0 25 10'</td><td>= Olympus M.Zuiko Digital ED 8mm F1.8 Fisheye Pro</td>
+</tr><tr><td>'0 26 10'</td><td>= Olympus M.Zuiko Digital ED 12-100mm F4.0 IS Pro</td>
+</tr><tr><td>'0 27 10'</td><td>= Olympus M.Zuiko Digital ED 30mm F3.5 Macro</td>
+</tr><tr><td>'0 28 10'</td><td>= Olympus M.Zuiko Digital ED 25mm F1.2 Pro</td>
 </tr><tr><td>'0 30 00'</td><td>= Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD</td>
 </tr><tr><td>'0 31 00'</td><td>= Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD</td>
 </tr><tr><td>'0 32 00'</td><td>= Olympus Zuiko Digital ED 14-35mm F2.0 SWD</td>
@@ -3643,7 +3649,7 @@ like the LS-5, LS-10, LS-11.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jun 20, 2016</i>
+<br><i>Last revised Sep 26, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/PLUS.html b/html/TagNames/PLUS.html
index bff7486..2bd5666 100644
--- a/html/TagNames/PLUS.html
+++ b/html/TagNames/PLUS.html
@@ -13,6 +13,9 @@ a fixed set of values) have raw values which begin with
 "http://ns.useplus.org/ldf/vocab/", but to reduce clutter this prefix has
 been removed from the values shown below.  See <a href="http://ns.useplus.org/">http://ns.useplus.org/</a> for
 the complete specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-plus family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2607,7 +2610,7 @@ ID's in PLUS Media Summary Codes.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised May 19, 2016</i>
+<br><i>Last revised Sep 14, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/PNG.html b/html/TagNames/PNG.html
index 8364ff8..ff31c7c 100644
--- a/html/TagNames/PNG.html
+++ b/html/TagNames/PNG.html
@@ -32,98 +32,103 @@ this data as additional PNG chunks.</p>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
+<td>'acTL'</td>
+<td>AnimationControl</td>
+<td class=c>-</td>
+<td>--> <a href='PNG.html#AnimationControl'>PNG AnimationControl Tags</a></td></tr>
+<tr class=b>
 <td>'bKGD'</td>
 <td>BackgroundColor</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>'cHRM'</td>
 <td>PrimaryChromaticities</td>
 <td class=c>-</td>
 <td>--> <a href='PNG.html#PrimaryChromaticities'>PNG PrimaryChromaticities Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>'dSIG'</td>
 <td>DigitalSignature</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>'fRAc'</td>
 <td>FractalParameters</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>'gAMA'</td>
 <td>Gamma</td>
 <td class=c>N</td>
 <td><span class=s><span class=n>(ExifTool reports the gamma for decoding the image, which is consistent with
 the EXIF convention, but is the inverse of the stored encoding gamma)</span></span></td></tr>
-<tr class=b>
+<tr>
 <td>'gIFg'</td>
 <td>GIFGraphicControlExtension</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>'gIFt'</td>
 <td>GIFPlainTextExtension</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>'gIFx'</td>
 <td>GIFApplicationExtension</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>'hIST'</td>
 <td>PaletteHistogram</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>'iCCP'</td>
 <td>ICC_Profile</td>
 <td class=c>-</td>
 <td>--> <a href='ICC_Profile.html'>ICC_Profile Tags</a>
   <br><span class='n s'>(this is where ExifTool will write a new ICC_Profile)</span></td></tr>
-<tr>
+<tr class=b>
 <td>'iCCP-name'</td>
 <td>ProfileName</td>
 <td class=c>N</td>
 <td><span class=s><span class=n>(not a real tag ID, this tag represents the iCCP profile name)</span></span></td></tr>
-<tr class=b>
+<tr>
 <td>'iTXt'</td>
 <td>InternationalText</td>
 <td class=c>-</td>
 <td>--> <a href='PNG.html#TextualData'>PNG TextualData Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>'oFFs'</td>
 <td>ImageOffset</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>'pCAL'</td>
 <td>PixelCalibration</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>'pHYs'</td>
 <td>PhysicalPixel</td>
 <td class=c>-</td>
 <td>--> <a href='PNG.html#PhysicalPixel'>PNG PhysicalPixel Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>'sBIT'</td>
 <td>SignificantBits</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>'sCAL'</td>
 <td>SubjectScale</td>
 <td class=c>-</td>
 <td>--> <a href='PNG.html#SubjectScale'>PNG SubjectScale Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>'sPLT'</td>
 <td>SuggestedPalette</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>'sRGB'</td>
 <td>SRGBRendering</td>
 <td class=c>N</td>
@@ -131,38 +136,38 @@ the EXIF convention, but is the inverse of the stored encoding gamma)</span></sp
   <br>1 = Relative Colorimetric
   <br>2 = Saturation
   <br>3 = Absolute Colorimetric</span></td></tr>
-<tr class=b>
+<tr>
 <td>'sTER'</td>
 <td>StereoImage</td>
 <td class=c>-</td>
 <td>--> <a href='PNG.html#StereoImage'>PNG StereoImage Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>'tEXt'</td>
 <td>TextualData</td>
 <td class=c>-</td>
 <td>--> <a href='PNG.html#TextualData'>PNG TextualData Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>'tIME'</td>
 <td>ModifyDate</td>
 <td class=c>Y</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>'tRNS'</td>
 <td>Transparency</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>'tXMP'</td>
 <td>XMP</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html'>XMP Tags</a>
   <br><span class='n s'>(obsolete location specified by a September 2001 XMP draft)</span></td></tr>
-<tr>
+<tr class=b>
 <td>'vpAg'</td>
 <td>VirtualPage</td>
 <td class=c>-</td>
 <td>--> <a href='PNG.html#VirtualPage'>PNG VirtualPage Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>'zTXt'</td>
 <td>CompressedText</td>
 <td class=c>-</td>
@@ -217,6 +222,26 @@ the EXIF convention, but is the inverse of the stored encoding gamma)</span></sp
   <br>1 = Adam7 Interlace</span></td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='AnimationControl'>PNG AnimationControl Tags</a></h2>
+<p>Tags found in the Animation Conrol chunk.  See
+<a href="https://wiki.mozilla.org/APNG_Specification">https://wiki.mozilla.org/APNG_Specification</a> for details.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index4</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0</td>
+<td>AnimationFrames</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1</td>
+<td>AnimationPlays</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <h2><a name='PrimaryChromaticities'>PNG PrimaryChromaticities Tags</a></h2>
 <blockquote>
 <table class=frame><tr><td>
@@ -533,7 +558,7 @@ when any of these tags is written, and may only be deleted as a group.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Sep 14, 2015</i>
+<br><i>Last revised Aug 30, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Pentax.html b/html/TagNames/Pentax.html
index 60d97b6..1119b82 100644
--- a/html/TagNames/Pentax.html
+++ b/html/TagNames/Pentax.html
@@ -1888,6 +1888,7 @@ identify the specific lens model.</p>
 </tr><tr><td>'4 2'</td><td>= smc PENTAX-FA 80-320mm F4.5-5.6</td>
 </tr><tr><td>'4 3'</td><td>= smc PENTAX-FA 43mm F1.9 Limited</td>
 </tr><tr><td>'4 6'</td><td>= smc PENTAX-FA 35-80mm F4-5.6</td>
+</tr><tr><td>'4 10'</td><td>= Irix 15mm F2.4</td>
 </tr><tr><td>'4 12'</td><td>= smc PENTAX-FA 50mm F1.4</td>
 </tr><tr><td>'4 15'</td><td>= smc PENTAX-FA 28-105mm F4-5.6 [IF]</td>
 </tr><tr><td>'4 16'</td><td>= Tamron AF 80-210mm F4-5.6 (178D)</td>
@@ -4802,7 +4803,7 @@ stored as ASCII text in a format very similar to some HP models.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 29, 2016</i>
+<br><i>Last revised Sep 26, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/PhotoMechanic.html b/html/TagNames/PhotoMechanic.html
index b92e1c9..45a637f 100644
--- a/html/TagNames/PhotoMechanic.html
+++ b/html/TagNames/PhotoMechanic.html
@@ -141,7 +141,10 @@ soft edit information stored under record number 2.</p>
 <h2><a name='XMP'>PhotoMechanic XMP Tags</a></h2>
 <p>Below is a list of the observed PhotoMechanic XMP tags.  The actual
 namespace prefix is "photomechanic" but ExifTool shortens this in
-the "XMP-photomech" family 1 group name.</p>
+the family 1 group name.</p>
+
+<p>
+These tags belong to the ExifTool XMP-photomech family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -190,7 +193,7 @@ the "XMP-photomech" family 1 group name.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Dec 29, 2012</i>
+<br><i>Last revised Sep 14, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/QuickTime.html b/html/TagNames/QuickTime.html
index e1080c6..b3ef68f 100644
--- a/html/TagNames/QuickTime.html
+++ b/html/TagNames/QuickTime.html
@@ -3825,9 +3825,11 @@ ItemList tags written by the "mdta" handler.  The prefix of
 <tr>
 <td>'uuid'</td>
 <td>UUID-USMT
+  <br>SphericalVideoXML
   <br>UUID-Unknown?</td>
-<td class=c>-<br>N</td>
-<td>--> <a href='QuickTime.html#UserMedia'>QuickTime UserMedia Tags</a></td></tr>
+<td class=c>-<br>-<br>N</td>
+<td>--> <a href='QuickTime.html#UserMedia'>QuickTime UserMedia Tags</a>
+  <br>--> <a href='XMP.html'>XMP Tags</a></td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='Media'>QuickTime Media Tags</a></h2>
@@ -4576,6 +4578,18 @@ atoms.</p>
 <td>PixelAspectRatio</td>
 <td class=c>N</td>
 <td> </td></tr>
+<tr>
+<td>'st3d'</td>
+<td>Stereoscopic3D</td>
+<td class=c>N</td>
+<td><span class=s>0 = Monoscopic
+  <br>1 = Stereoscopic Top-Bottom
+  <br>2 = Stereoscopic Left-Right</span></td></tr>
+<tr class=b>
+<td>'sv3d'</td>
+<td>SphericalVideo</td>
+<td class=c>-</td>
+<td>--> <a href='QuickTime.html#sv3d'>QuickTime sv3d Tags</a></td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='Bitrate'>QuickTime Bitrate Tags</a></h2>
@@ -4629,6 +4643,118 @@ atoms.</p>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='sv3d'>QuickTime sv3d Tags</a></h2>
+<p>Tags defined by the Spherical Video V2 specification (see
+https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md).</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td>'proj'</td>
+<td>Projection</td>
+<td class=c>-</td>
+<td>--> <a href='QuickTime.html#proj'>QuickTime proj Tags</a></td></tr>
+<tr class=b>
+<td>'svhd'</td>
+<td>MetadataSource</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='proj'>QuickTime proj Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag ID</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td>'cbmp'</td>
+<td>CubemapProj</td>
+<td class=c>-</td>
+<td>--> <a href='QuickTime.html#cbmp'>QuickTime cbmp Tags</a></td></tr>
+<tr class=b>
+<td>'equi'</td>
+<td>EquirectangularProj</td>
+<td class=c>-</td>
+<td>--> <a href='QuickTime.html#equi'>QuickTime equi Tags</a></td></tr>
+<tr>
+<td>'prhd'</td>
+<td>ProjectionHeader</td>
+<td class=c>-</td>
+<td>--> <a href='QuickTime.html#prhd'>QuickTime prhd Tags</a></td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='cbmp'>QuickTime cbmp Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index4</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='1 = 0x1'>1</td>
+<td>Layout</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='2 = 0x2'>2</td>
+<td>Padding</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='equi'>QuickTime equi Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index4</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='1 = 0x1'>1</td>
+<td>ProjectionBoundsTop</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='2 = 0x2'>2</td>
+<td>ProjectionBoundsBottom</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='3 = 0x3'>3</td>
+<td>ProjectionBoundsLeft</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='4 = 0x4'>4</td>
+<td>ProjectionBoundsRight</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
+<h2><a name='prhd'>QuickTime prhd Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index4</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='1 = 0x1'>1</td>
+<td>PoseYawDegrees</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='2 = 0x2'>2</td>
+<td>PosePitchDegrees</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='3 = 0x3'>3</td>
+<td>PoseRollDegrees</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <h2><a name='HintSampleDesc'>QuickTime HintSampleDesc Tags</a></h2>
 <p>MP4 hint sample description.</p>
 <blockquote>
@@ -6099,7 +6225,7 @@ multi-language user data tags found, even if they don't exist in this table.
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 25, 2016</i>
+<br><i>Last revised Sep 13, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Samsung.html b/html/TagNames/Samsung.html
index 10bc7ec..a83e6d7 100644
--- a/html/TagNames/Samsung.html
+++ b/html/TagNames/Samsung.html
@@ -81,11 +81,14 @@ information.</p>
   <br>0x1001234 = HMX-H304
   <br>0x100130c = NX100
   <br>0x1001327 = NX11
+  <br>0x170104b = ES65, ES67 / VLUU ES65, ES67 / SL50
   <br>0x170104e = ES70, ES71 / VLUU ES70, ES71 / SL600
   <br>0x1701052 = ES73 / VLUU ES73 / SL605
+  <br>0x1701055 = ES25, ES27 / VLUU ES25, ES27 / SL45
   <br>0x1701300 = ES28 / VLUU ES28
   <br>0x1701303 = ES74,ES75,ES78 / VLUU ES75,ES78
   <br>0x2001046 = PL150 / VLUU PL150 / TL210 / PL151
+  <br>0x2001048 = PL100 / TL205 / VLUU PL100 / PL101
   <br>0x2001311 = PL120,PL121 / VLUU PL120,PL121
   <br>0x2001315 = PL170,PL171 / VLUUPL170,PL171
   <br>0x200131e = PL210, PL211 / VLUU PL210, PL211
@@ -114,6 +117,26 @@ information.</p>
   <br>0x700131c = VLUU SH100, SH100
   <br>0x27127002 = SMX-C20N</span></td></tr>
 <tr class=b>
+<td title='0x0011 = 17'>0x0011</td>
+<td>OrientationInfo</td>
+<td class=c>-</td>
+<td>--> <a href='Samsung.html#OrientationInfo'>Samsung OrientationInfo Tags</a></td></tr>
+<tr>
+<td title='0x0020 = 32'>0x0020</td>
+<td>SmartAlbumColor</td>
+<td class=c>int16u[2]</td>
+<td><span class=s>'0 0' = n/a
+  <br>[Value 0]</span><table class=cols><tr>
+  <td>0 = Red
+  <br>1 = Yellow
+  <br>2 = Green
+  <br>3 = Blue</td><td>  </td>
+  <td>4 = Magenta
+  <br>5 = Black
+  <br>6 = White
+  <br>7 = Various</td></tr></table>
+</td></tr>
+<tr class=b>
 <td title='0x0021 = 33'>0x0021</td>
 <td>PictureWizard</td>
 <td class=c>int16u</td>
@@ -134,15 +157,29 @@ information.</p>
 <td class=c>-</td>
 <td>--> <a href='Nikon.html#PreviewIFD'>Nikon PreviewIFD Tags</a></td></tr>
 <tr class=b>
+<td title='0x0040 = 64'>0x0040</td>
+<td>RawDataByteOrder</td>
+<td class=c>Y</td>
+<td><span class=s>0 = Little-endian (Intel, II)
+  <br>1 = Big-endian (Motorola, MM)</span></td></tr>
+<tr>
+<td title='0x0041 = 65'>0x0041</td>
+<td>WhiteBalanceSetup</td>
+<td class=c>int32u</td>
+<td><span class=s>0 = Auto
+  <br>1 = Manual</span></td></tr>
+<tr class=b>
 <td title='0x0043 = 67'>0x0043</td>
 <td>CameraTemperature</td>
 <td class=c>rational64s</td>
 <td> </td></tr>
 <tr>
-<td title='0x0045 = 69'>0x0045</td>
-<td>RawCompressionMode</td>
-<td class=c>int32u</td>
-<td> </td></tr>
+<td title='0x0050 = 80'>0x0050</td>
+<td>RawDataCFAPattern</td>
+<td class=c>Y</td>
+<td><span class=s>0 = Unchanged
+  <br>1 = Swap
+  <br>65535 = Roll</span></td></tr>
 <tr class=b>
 <td title='0x0100 = 256'>0x0100</td>
 <td>FaceDetect</td>
@@ -363,6 +400,30 @@ array of X coordinates then an array of Y coordinates)</span></span></td></tr>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='OrientationInfo'>Samsung OrientationInfo Tags</a></h2>
+<p>Camera orientation information written by the Gear 360 (SM-C200).</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index8</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0</td>
+<td>YawAngle?</td>
+<td class=c>rational64s</td>
+<td><span class=s><span class=n>(always zero)</span></span></td></tr>
+<tr class=b>
+<td class=r title='1 = 0x1'>1</td>
+<td>PitchAngle</td>
+<td class=c>rational64s</td>
+<td><span class=s><span class=n>(upward tilt of rear camera in degrees)</span></span></td></tr>
+<tr>
+<td class=r title='2 = 0x2'>2</td>
+<td>RollAngle</td>
+<td class=c>rational64s</td>
+<td><span class=s><span class=n>(clockwise rotation of rear camera in degrees)</span></span></td></tr>
+</table></td></tr></table></blockquote>
+
 <h2><a name='PictureWizard'>Samsung PictureWizard Tags</a></h2>
 <blockquote>
 <table class=frame><tr><td>
@@ -615,7 +676,7 @@ such as the Galaxy S4.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 29, 2016</i>
+<br><i>Last revised Oct 13, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Sigma.html b/html/TagNames/Sigma.html
index 45980d0..73092bf 100644
--- a/html/TagNames/Sigma.html
+++ b/html/TagNames/Sigma.html
@@ -339,6 +339,11 @@ models report the maximum aperture here)</span></span></td></tr>
 <td>DigitalFilter</td>
 <td class=c>string</td>
 <td><span class=s><span class=n>(SD1 and Merrill/Quattro models only)</span></span></td></tr>
+<tr class=b>
+<td title='0x0084 = 132'>0x0084</td>
+<td>Model</td>
+<td class=c>string</td>
+<td> </td></tr>
 </table></td></tr></table></blockquote>
 
 <h2><a name='LensType'>Sigma LensType Values</a></h2>
@@ -522,7 +527,7 @@ LensID tag when attempting to identify the specific lens model.</p>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jun 13, 2016</i>
+<br><i>Last revised Aug 9, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Sony.html b/html/TagNames/Sony.html
index 266674d..6850d5d 100644
--- a/html/TagNames/Sony.html
+++ b/html/TagNames/Sony.html
@@ -758,9 +758,9 @@ toward magenta)</span></span></td></tr>
   <br>290 = NEX-VG20E
   <br>291 = SLT-A37
   <br>292 = SLT-A57
-  <br>293 = NEX-F3</td><td>  </td>
-  <td>294 = SLT-A99 / SLT-A99V
-  <br>295 = NEX-6
+  <br>293 = NEX-F3
+  <br>294 = SLT-A99 / SLT-A99V</td><td>  </td>
+  <td>295 = NEX-6
   <br>296 = NEX-5R
   <br>297 = DSC-RX100
   <br>298 = DSC-RX1
@@ -789,7 +789,9 @@ toward magenta)</span></span></td></tr>
   <br>347 = ILCE-7RM2
   <br>350 = ILCE-7SM2
   <br>353 = ILCA-68
+  <br>354 = ILCA-99M2
   <br>355 = DSC-RX10M3
+  <br>356 = DSC-RX100M5
   <br>357 = ILCE-6300</td></tr></table>
 </td></tr>
 <tr>
@@ -1284,8 +1286,10 @@ adapter is used.</p>
 </tr><tr><td>194</td><td>= Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]</td>
 </tr><tr><td>203</td><td>= Tamron SP 70-200mm F2.8 Di USD</td>
 </tr><tr><td>204</td><td>= Tamron SP 24-70mm F2.8 Di USD</td>
-</tr><tr><td>213</td><td>= Tamron 16-300mm F3.5-6.3 Di II PZD</td>
+</tr><tr><td>212</td><td>= Tamron 28-300mm F3.5-6.3 Di PZD</td>
+</tr><tr><td>213</td><td>= Tamron 16-300mm F3.5-6.3 Di II PZD Macro</td>
 </tr><tr><td>214</td><td>= Tamron SP 150-600mm F5-6.3 Di USD</td>
+</tr><tr><td>215</td><td>= Tamron SP 15-30mm F2.8 Di USD</td>
 </tr><tr><td>224</td><td>= Tamron SP 90mm F2.8 Di Macro 1:1 USD</td>
 </tr><tr><td>255</td><td>= Tamron Lens (255)</td>
 </tr><tr><td>255.1</td><td>= Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical</td>
@@ -1297,7 +1301,7 @@ adapter is used.</p>
 </tr><tr><td>255.7</td><td>= Tamron SP AF 70-200mm F2.8 Di LD IF Macro</td>
 </tr><tr><td>255.8</td><td>= Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical IF</td>
 </tr><tr><td>255.9</td><td>= Tamron AF 90-300mm F4.5-5.6 Telemacro</td>
-</tr><tr><td>1868</td><td>= Sigma MC-11 Adapter</td>
+</tr><tr><td>1868</td><td>= Sigma MC-11 SA-E Mount Converter with not-supported Sigma lens</td>
 </tr><tr><td>2550</td><td>= Minolta AF 50mm F1.7</td>
 </tr><tr><td>2551</td><td>= Minolta AF 35-70mm F4 or Other Lens</td>
 </tr><tr><td>2551.1</td><td>= Sigma UC AF 28-70mm F3.5-4.5</td>
@@ -1444,42 +1448,47 @@ adapter is used.</p>
 </tr><tr><td>6553.20</td><td>= Sony FE 55mm F1.8 ZA</td>
 </tr><tr><td>6553.21</td><td>= Sony FE 70-200mm F4 G OSS</td>
 </tr><tr><td>6553.22</td><td>= Sony FE 16-35mm F4 ZA OSS</td>
-</tr><tr><td>6553.23</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
-</tr><tr><td>6553.24</td><td>= Sony FE 35mm F1.4 ZA</td>
-</tr><tr><td>6553.25</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
-</tr><tr><td>6553.26</td><td>= Sony FE 28mm F2</td>
-</tr><tr><td>6553.27</td><td>= Sony FE PZ 28-135mm F4 G OSS</td>
-</tr><tr><td>6553.28</td><td>= Sony FE 24-70mm F2.8 GM</td>
-</tr><tr><td>6553.29</td><td>= Sony FE 50mm F1.4 ZA</td>
-</tr><tr><td>6553.30</td><td>= Sony FE 85mm F1.4 GM</td>
-</tr><tr><td>6553.31</td><td>= Sony FE 50mm F1.8</td>
-</tr><tr><td>6553.32</td><td>= Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)</td>
-</tr><tr><td>6553.33</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
-</tr><tr><td>6553.34</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
-</tr><tr><td>6553.35</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
-</tr><tr><td>6553.36</td><td>= Sigma 19mm F2.8 [EX] DN</td>
-</tr><tr><td>6553.37</td><td>= Sigma 30mm F2.8 [EX] DN</td>
-</tr><tr><td>6553.38</td><td>= Sigma 60mm F2.8 DN</td>
-</tr><tr><td>6553.39</td><td>= Sigma 30mm F1.4 DC DN | C</td>
-</tr><tr><td>6553.40</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
-</tr><tr><td>6553.41</td><td>= Zeiss Batis 25mm F2</td>
-</tr><tr><td>6553.42</td><td>= Zeiss Batis 85mm F1.8</td>
-</tr><tr><td>6553.43</td><td>= Zeiss Batis 18mm F2.8</td>
-</tr><tr><td>6553.44</td><td>= Zeiss Loxia 21mm F2.8</td>
-</tr><tr><td>6553.45</td><td>= Zeiss Loxia 35mm F2</td>
-</tr><tr><td>6553.46</td><td>= Zeiss Loxia 50mm F2</td>
-</tr><tr><td>6553.47</td><td>= Zeiss Touit 12mm F2.8</td>
-</tr><tr><td>6553.48</td><td>= Zeiss Touit 32mm F1.8</td>
-</tr><tr><td>6553.49</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
-</tr><tr><td>6553.50</td><td>= Samyang AF 50mm F1.4 FE</td>
-</tr><tr><td>6553.51</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
-</tr><tr><td>6553.52</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
-</tr><tr><td>6553.53</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
-</tr><tr><td>6553.54</td><td>= Samyang 500mm Mirror F8.0</td>
-</tr><tr><td>6553.55</td><td>= Pentacon Auto 135mm F2.8</td>
-</tr><tr><td>6553.56</td><td>= Pentacon Auto 29mm F2.8</td>
-</tr><tr><td>6553.57</td><td>= Helios 44-2 58mm F2.0</td>
-</tr><tr><td>18688</td><td>= Sigma MC-11 Adapter</td>
+</tr><tr><td>6553.23</td><td>= Sony FE 50mm F2.8 Macro</td>
+</tr><tr><td>6553.24</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
+</tr><tr><td>6553.25</td><td>= Sony FE 35mm F1.4 ZA</td>
+</tr><tr><td>6553.26</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
+</tr><tr><td>6553.27</td><td>= Sony FE 28mm F2</td>
+</tr><tr><td>6553.28</td><td>= Sony FE PZ 28-135mm F4 G OSS</td>
+</tr><tr><td>6553.29</td><td>= Sony FE 24-70mm F2.8 GM</td>
+</tr><tr><td>6553.30</td><td>= Sony FE 50mm F1.4 ZA</td>
+</tr><tr><td>6553.31</td><td>= Sony FE 85mm F1.4 GM</td>
+</tr><tr><td>6553.32</td><td>= Sony FE 50mm F1.8</td>
+</tr><tr><td>6553.33</td><td>= Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)</td>
+</tr><tr><td>6553.34</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
+</tr><tr><td>6553.35</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
+</tr><tr><td>6553.36</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
+</tr><tr><td>6553.37</td><td>= Sony FE 70-200mm F2.8 GM OSS + 1.4X Teleconverter</td>
+</tr><tr><td>6553.38</td><td>= Sony FE 70-200mm F2.8 GM OSS + 2X Teleconverter</td>
+</tr><tr><td>6553.39</td><td>= Samyang AF 50mm F1.4 FE</td>
+</tr><tr><td>6553.40</td><td>= Samyang AF 14mm F2.8 FE</td>
+</tr><tr><td>6553.41</td><td>= Sigma 19mm F2.8 [EX] DN</td>
+</tr><tr><td>6553.42</td><td>= Sigma 30mm F2.8 [EX] DN</td>
+</tr><tr><td>6553.43</td><td>= Sigma 60mm F2.8 DN</td>
+</tr><tr><td>6553.44</td><td>= Sigma 30mm F1.4 DC DN | C 016</td>
+</tr><tr><td>6553.45</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
+</tr><tr><td>6553.46</td><td>= Zeiss Touit 12mm F2.8</td>
+</tr><tr><td>6553.47</td><td>= Zeiss Touit 32mm F1.8</td>
+</tr><tr><td>6553.48</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
+</tr><tr><td>6553.49</td><td>= Zeiss Batis 25mm F2</td>
+</tr><tr><td>6553.50</td><td>= Zeiss Batis 85mm F1.8</td>
+</tr><tr><td>6553.51</td><td>= Zeiss Batis 18mm F2.8</td>
+</tr><tr><td>6553.52</td><td>= Zeiss Loxia 50mm F2</td>
+</tr><tr><td>6553.53</td><td>= Zeiss Loxia 35mm F2</td>
+</tr><tr><td>6553.54</td><td>= Zeiss Loxia 21mm F2.8</td>
+</tr><tr><td>6553.55</td><td>= Zeiss Loxia 85mm F2.4</td>
+</tr><tr><td>6553.56</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
+</tr><tr><td>6553.57</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
+</tr><tr><td>6553.58</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
+</tr><tr><td>6553.59</td><td>= Samyang 500mm Mirror F8.0</td>
+</tr><tr><td>6553.60</td><td>= Pentacon Auto 135mm F2.8</td>
+</tr><tr><td>6553.61</td><td>= Pentacon Auto 29mm F2.8</td>
+</tr><tr><td>6553.62</td><td>= Helios 44-2 58mm F2.0</td>
+</tr><tr><td>18688</td><td>= Sigma MC-11 SA-E Mount Converter with not-supported Sigma lens</td>
 </tr><tr><td>25501</td><td>= Minolta AF 50mm F1.7</td>
 </tr><tr><td>25511</td><td>= Minolta AF 35-70mm F4 or Other Lens</td>
 </tr><tr><td>25511.1</td><td>= Sigma UC AF 28-70mm F3.5-4.5</td>
@@ -1626,41 +1635,46 @@ adapter is used.</p>
 </tr><tr><td>65535.20</td><td>= Sony FE 55mm F1.8 ZA</td>
 </tr><tr><td>65535.21</td><td>= Sony FE 70-200mm F4 G OSS</td>
 </tr><tr><td>65535.22</td><td>= Sony FE 16-35mm F4 ZA OSS</td>
-</tr><tr><td>65535.23</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
-</tr><tr><td>65535.24</td><td>= Sony FE 35mm F1.4 ZA</td>
-</tr><tr><td>65535.25</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
-</tr><tr><td>65535.26</td><td>= Sony FE 28mm F2</td>
-</tr><tr><td>65535.27</td><td>= Sony FE PZ 28-135mm F4 G OSS</td>
-</tr><tr><td>65535.28</td><td>= Sony FE 24-70mm F2.8 GM</td>
-</tr><tr><td>65535.29</td><td>= Sony FE 50mm F1.4 ZA</td>
-</tr><tr><td>65535.30</td><td>= Sony FE 85mm F1.4 GM</td>
-</tr><tr><td>65535.31</td><td>= Sony FE 50mm F1.8</td>
-</tr><tr><td>65535.32</td><td>= Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)</td>
-</tr><tr><td>65535.33</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
-</tr><tr><td>65535.34</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
-</tr><tr><td>65535.35</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
-</tr><tr><td>65535.36</td><td>= Sigma 19mm F2.8 [EX] DN</td>
-</tr><tr><td>65535.37</td><td>= Sigma 30mm F2.8 [EX] DN</td>
-</tr><tr><td>65535.38</td><td>= Sigma 60mm F2.8 DN</td>
-</tr><tr><td>65535.39</td><td>= Sigma 30mm F1.4 DC DN | C</td>
-</tr><tr><td>65535.40</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
-</tr><tr><td>65535.41</td><td>= Zeiss Batis 25mm F2</td>
-</tr><tr><td>65535.42</td><td>= Zeiss Batis 85mm F1.8</td>
-</tr><tr><td>65535.43</td><td>= Zeiss Batis 18mm F2.8</td>
-</tr><tr><td>65535.44</td><td>= Zeiss Loxia 21mm F2.8</td>
-</tr><tr><td>65535.45</td><td>= Zeiss Loxia 35mm F2</td>
-</tr><tr><td>65535.46</td><td>= Zeiss Loxia 50mm F2</td>
-</tr><tr><td>65535.47</td><td>= Zeiss Touit 12mm F2.8</td>
-</tr><tr><td>65535.48</td><td>= Zeiss Touit 32mm F1.8</td>
-</tr><tr><td>65535.49</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
-</tr><tr><td>65535.50</td><td>= Samyang AF 50mm F1.4 FE</td>
-</tr><tr><td>65535.51</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.52</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
-</tr><tr><td>65535.53</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
-</tr><tr><td>65535.54</td><td>= Samyang 500mm Mirror F8.0</td>
-</tr><tr><td>65535.55</td><td>= Pentacon Auto 135mm F2.8</td>
-</tr><tr><td>65535.56</td><td>= Pentacon Auto 29mm F2.8</td>
-</tr><tr><td>65535.57</td><td>= Helios 44-2 58mm F2.0</td>
+</tr><tr><td>65535.23</td><td>= Sony FE 50mm F2.8 Macro</td>
+</tr><tr><td>65535.24</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
+</tr><tr><td>65535.25</td><td>= Sony FE 35mm F1.4 ZA</td>
+</tr><tr><td>65535.26</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
+</tr><tr><td>65535.27</td><td>= Sony FE 28mm F2</td>
+</tr><tr><td>65535.28</td><td>= Sony FE PZ 28-135mm F4 G OSS</td>
+</tr><tr><td>65535.29</td><td>= Sony FE 24-70mm F2.8 GM</td>
+</tr><tr><td>65535.30</td><td>= Sony FE 50mm F1.4 ZA</td>
+</tr><tr><td>65535.31</td><td>= Sony FE 85mm F1.4 GM</td>
+</tr><tr><td>65535.32</td><td>= Sony FE 50mm F1.8</td>
+</tr><tr><td>65535.33</td><td>= Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)</td>
+</tr><tr><td>65535.34</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
+</tr><tr><td>65535.35</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
+</tr><tr><td>65535.36</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
+</tr><tr><td>65535.37</td><td>= Sony FE 70-200mm F2.8 GM OSS + 1.4X Teleconverter</td>
+</tr><tr><td>65535.38</td><td>= Sony FE 70-200mm F2.8 GM OSS + 2X Teleconverter</td>
+</tr><tr><td>65535.39</td><td>= Samyang AF 50mm F1.4 FE</td>
+</tr><tr><td>65535.40</td><td>= Samyang AF 14mm F2.8 FE</td>
+</tr><tr><td>65535.41</td><td>= Sigma 19mm F2.8 [EX] DN</td>
+</tr><tr><td>65535.42</td><td>= Sigma 30mm F2.8 [EX] DN</td>
+</tr><tr><td>65535.43</td><td>= Sigma 60mm F2.8 DN</td>
+</tr><tr><td>65535.44</td><td>= Sigma 30mm F1.4 DC DN | C 016</td>
+</tr><tr><td>65535.45</td><td>= Tamron 18-200mm F3.5-6.3 Di III VC</td>
+</tr><tr><td>65535.46</td><td>= Zeiss Touit 12mm F2.8</td>
+</tr><tr><td>65535.47</td><td>= Zeiss Touit 32mm F1.8</td>
+</tr><tr><td>65535.48</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
+</tr><tr><td>65535.49</td><td>= Zeiss Batis 25mm F2</td>
+</tr><tr><td>65535.50</td><td>= Zeiss Batis 85mm F1.8</td>
+</tr><tr><td>65535.51</td><td>= Zeiss Batis 18mm F2.8</td>
+</tr><tr><td>65535.52</td><td>= Zeiss Loxia 50mm F2</td>
+</tr><tr><td>65535.53</td><td>= Zeiss Loxia 35mm F2</td>
+</tr><tr><td>65535.54</td><td>= Zeiss Loxia 21mm F2.8</td>
+</tr><tr><td>65535.55</td><td>= Zeiss Loxia 85mm F2.4</td>
+</tr><tr><td>65535.56</td><td>= Arax MC 35mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.57</td><td>= Arax MC 80mm F2.8 Tilt+Shift</td>
+</tr><tr><td>65535.58</td><td>= Zenitar MF 16mm F2.8 Fisheye M42</td>
+</tr><tr><td>65535.59</td><td>= Samyang 500mm Mirror F8.0</td>
+</tr><tr><td>65535.60</td><td>= Pentacon Auto 135mm F2.8</td>
+</tr><tr><td>65535.61</td><td>= Pentacon Auto 29mm F2.8</td>
+</tr><tr><td>65535.62</td><td>= Helios 44-2 58mm F2.0</td>
 </tr></table></td></tr></table></blockquote>
 
 <h2><a name='CameraInfo'>Sony CameraInfo Tags</a></h2>
@@ -4615,7 +4629,8 @@ multi-frame noise reduction)</span></span></td></tr>
 </tr><tr><td>32788</td><td>= Sony E 30mm F3.5 Macro</td>
 </tr><tr><td>32789</td><td>= Sony E 24mm F1.8 ZA or Samyang AF 50mm F1.4 FE</td>
 </tr><tr><td>32789.1</td><td>= Samyang AF 50mm F1.4 FE</td>
-</tr><tr><td>32790</td><td>= Sony E 50mm F1.8 OSS</td>
+</tr><tr><td>32790</td><td>= Sony E 50mm F1.8 OSS or Samyang AF 14mm F2.8 FE</td>
+</tr><tr><td>32790.1</td><td>= Samyang AF 14mm F2.8 FE</td>
 </tr><tr><td>32791</td><td>= Sony E 16-70mm F4 ZA OSS</td>
 </tr><tr><td>32792</td><td>= Sony E 10-18mm F4 OSS</td>
 </tr><tr><td>32793</td><td>= Sony E PZ 16-50mm F3.5-5.6 OSS</td>
@@ -4631,6 +4646,7 @@ multi-frame noise reduction)</span></span></td></tr>
 </tr><tr><td>32808</td><td>= Sony FE 55mm F1.8 ZA</td>
 </tr><tr><td>32810</td><td>= Sony FE 70-200mm F4 G OSS</td>
 </tr><tr><td>32811</td><td>= Sony FE 16-35mm F4 ZA OSS</td>
+</tr><tr><td>32812</td><td>= Sony FE 50mm F2.8 Macro</td>
 </tr><tr><td>32813</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
 </tr><tr><td>32814</td><td>= Sony FE 35mm F1.4 ZA</td>
 </tr><tr><td>32815</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
@@ -4644,6 +4660,8 @@ multi-frame noise reduction)</span></span></td></tr>
 </tr><tr><td>32827</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
 </tr><tr><td>32828</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
 </tr><tr><td>32830</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
+</tr><tr><td>33072</td><td>= Sony FE 70-200mm F2.8 GM OSS + 1.4X Teleconverter</td>
+</tr><tr><td>33073</td><td>= Sony FE 70-200mm F2.8 GM OSS + 2X Teleconverter</td>
 </tr><tr><td>49201</td><td>= Zeiss Touit 12mm F2.8</td>
 </tr><tr><td>49202</td><td>= Zeiss Touit 32mm F1.8</td>
 </tr><tr><td>49203</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
@@ -4653,6 +4671,7 @@ multi-frame noise reduction)</span></span></td></tr>
 </tr><tr><td>49232</td><td>= Zeiss Loxia 50mm F2</td>
 </tr><tr><td>49233</td><td>= Zeiss Loxia 35mm F2</td>
 </tr><tr><td>49234</td><td>= Zeiss Loxia 21mm F2.8</td>
+</tr><tr><td>49235</td><td>= Zeiss Loxia 85mm F2.4</td>
 </tr><tr><td>50480</td><td>= Sigma 30mm F1.4 DC DN | C 016</td>
 </tr><tr><td>50481</td><td>= Sigma 50mm F1.4 DG HSM | A 014 + MC-11</td>
 </tr><tr><td>50482</td><td>= Sigma 18-300mm F3.5-6.3 DC MACRO OS HSM | C 014 + MC-11</td>
@@ -4666,6 +4685,8 @@ multi-frame noise reduction)</span></span></td></tr>
 </tr><tr><td>50492</td><td>= Sigma 24-105mm F4 DG OS HSM | A 013 + MC-11</td>
 </tr><tr><td>50493</td><td>= Sigma 17-70mm F2.8-4 DC MACRO OS HSM | C 013 + MC-11</td>
 </tr><tr><td>50495</td><td>= Sigma 50-100mm F1.8 DC HSM | A 016 + MC-11</td>
+</tr><tr><td>50993</td><td>= Voigtlander HELIAR-HYPER WIDE 10mm F5.6</td>
+</tr><tr><td>50994</td><td>= Voigtlander HELIAR-HYPER WIDE 12mm F5.6 III Aspherical</td>
 </tr></table></td></tr></table></blockquote>
 
 <h2><a name='CameraSettingsUnknown'>Sony CameraSettingsUnknown Tags</a></h2>
@@ -7877,7 +7898,7 @@ ILCE-7/7M2/7R/7RM2/7S/7SM2/5000/5100/6000/6300/QX1, ILCA-68/77M2.</p>
 <td title='0x0009 = 9'>0x0009</td>
 <td>LensType3</td>
 <td class=c>int16u</td>
-<td>--> <a href='Sony.html#LensType3'>Sony LensType3 Values</a></td></tr>
+<td>--> <a href='Sony.html#LensType2'>Sony LensType2 Values</a></td></tr>
 <tr>
 <td title='0x000b = 11'>0x000b</td>
 <td>CameraE-mountVersion</td>
@@ -7895,81 +7916,6 @@ ILCE-7/7M2/7R/7RM2/7S/7SM2/5000/5100/6000/6300/QX1, ILCA-68/77M2.</p>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='LensType3'>Sony LensType3 Values</a></h2>
-<p>Lens type numbers for Sony E-mount lenses used by NEX models.</p>
-<blockquote>
-<table class=frame><tr><td>
-<table class='inner sep' cellspacing=1>
-<tr class=h><th>Value</th><th>LensType3</th></tr>
-<tr><td>0</td><td>= Unknown E-mount lens or other lens</td>
-</tr><tr><td>1</td><td>= Sony LA-EA1 Adapter</td>
-</tr><tr><td>2</td><td>= Sony LA-EA2 Adapter</td>
-</tr><tr><td>3</td><td>= Sony LA-EA3 Adapter</td>
-</tr><tr><td>6</td><td>= Sony LA-EA4 Adapter</td>
-</tr><tr><td>44</td><td>= Metabones Canon EF Smart Adapter</td>
-</tr><tr><td>78</td><td>= Metabones Canon EF Smart Adapter Mark III or Other Adapter</td>
-</tr><tr><td>234</td><td>= Metabones Canon EF Smart Adapter Mark IV</td>
-</tr><tr><td>239</td><td>= Metabones Canon EF Speed Booster</td>
-</tr><tr><td>32784</td><td>= Sony E 16mm F2.8</td>
-</tr><tr><td>32785</td><td>= Sony E 18-55mm F3.5-5.6 OSS</td>
-</tr><tr><td>32786</td><td>= Sony E 55-210mm F4.5-6.3 OSS</td>
-</tr><tr><td>32787</td><td>= Sony E 18-200mm F3.5-6.3 OSS</td>
-</tr><tr><td>32788</td><td>= Sony E 30mm F3.5 Macro</td>
-</tr><tr><td>32789</td><td>= Sony E 24mm F1.8 ZA or Samyang AF 50mm F1.4 FE</td>
-</tr><tr><td>32789.1</td><td>= Samyang AF 50mm F1.4 FE</td>
-</tr><tr><td>32790</td><td>= Sony E 50mm F1.8 OSS</td>
-</tr><tr><td>32791</td><td>= Sony E 16-70mm F4 ZA OSS</td>
-</tr><tr><td>32792</td><td>= Sony E 10-18mm F4 OSS</td>
-</tr><tr><td>32793</td><td>= Sony E PZ 16-50mm F3.5-5.6 OSS</td>
-</tr><tr><td>32794</td><td>= Sony FE 35mm F2.8 ZA</td>
-</tr><tr><td>32795</td><td>= Sony FE 24-70mm F4 ZA OSS</td>
-</tr><tr><td>32797</td><td>= Sony E 18-200mm F3.5-6.3 OSS LE</td>
-</tr><tr><td>32798</td><td>= Sony E 20mm F2.8</td>
-</tr><tr><td>32799</td><td>= Sony E 35mm F1.8 OSS</td>
-</tr><tr><td>32800</td><td>= Sony E PZ 18-105mm F4 G OSS</td>
-</tr><tr><td>32802</td><td>= Sony FE 90mm F2.8 Macro G OSS</td>
-</tr><tr><td>32803</td><td>= Sony E 18-50mm F4-5.6</td>
-</tr><tr><td>32807</td><td>= Sony E PZ 18-200mm F3.5-6.3 OSS</td>
-</tr><tr><td>32808</td><td>= Sony FE 55mm F1.8 ZA</td>
-</tr><tr><td>32810</td><td>= Sony FE 70-200mm F4 G OSS</td>
-</tr><tr><td>32811</td><td>= Sony FE 16-35mm F4 ZA OSS</td>
-</tr><tr><td>32813</td><td>= Sony FE 28-70mm F3.5-5.6 OSS</td>
-</tr><tr><td>32814</td><td>= Sony FE 35mm F1.4 ZA</td>
-</tr><tr><td>32815</td><td>= Sony FE 24-240mm F3.5-6.3 OSS</td>
-</tr><tr><td>32816</td><td>= Sony FE 28mm F2</td>
-</tr><tr><td>32817</td><td>= Sony FE PZ 28-135mm F4 G OSS</td>
-</tr><tr><td>32821</td><td>= Sony FE 24-70mm F2.8 GM</td>
-</tr><tr><td>32822</td><td>= Sony FE 50mm F1.4 ZA</td>
-</tr><tr><td>32823</td><td>= Sony FE 85mm F1.4 GM</td>
-</tr><tr><td>32824</td><td>= Sony FE 50mm F1.8</td>
-</tr><tr><td>32826</td><td>= Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)</td>
-</tr><tr><td>32827</td><td>= Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)</td>
-</tr><tr><td>32828</td><td>= Sony FE 70-300mm F4.5-5.6 G OSS</td>
-</tr><tr><td>32830</td><td>= Sony FE 70-200mm F2.8 GM OSS</td>
-</tr><tr><td>49201</td><td>= Zeiss Touit 12mm F2.8</td>
-</tr><tr><td>49202</td><td>= Zeiss Touit 32mm F1.8</td>
-</tr><tr><td>49203</td><td>= Zeiss Touit 50mm F2.8 Macro</td>
-</tr><tr><td>49216</td><td>= Zeiss Batis 25mm F2</td>
-</tr><tr><td>49217</td><td>= Zeiss Batis 85mm F1.8</td>
-</tr><tr><td>49218</td><td>= Zeiss Batis 18mm F2.8</td>
-</tr><tr><td>49232</td><td>= Zeiss Loxia 50mm F2</td>
-</tr><tr><td>49233</td><td>= Zeiss Loxia 35mm F2</td>
-</tr><tr><td>49234</td><td>= Zeiss Loxia 21mm F2.8</td>
-</tr><tr><td>50480</td><td>= Sigma 30mm F1.4 DC DN | C 016</td>
-</tr><tr><td>50481</td><td>= Sigma 50mm F1.4 DG HSM | A 014 + MC-11</td>
-</tr><tr><td>50482</td><td>= Sigma 18-300mm F3.5-6.3 DC MACRO OS HSM | C 014 + MC-11</td>
-</tr><tr><td>50483</td><td>= Sigma 18-35mm F1.8 DC HSM | A 013 + MC-11</td>
-</tr><tr><td>50484</td><td>= Sigma 24-35mm F2 DG HSM | A 015 + MC-11</td>
-</tr><tr><td>50486</td><td>= Sigma 150-600mm F5-6.3 DG OS HSM | C 015 + MC-11</td>
-</tr><tr><td>50487</td><td>= Sigma 20mm F1.4 DG HSM | A 015 + MC-11</td>
-</tr><tr><td>50488</td><td>= Sigma 35mm F1.4 DG HSM | A 012 + MC-11</td>
-</tr><tr><td>50489</td><td>= Sigma 150-600mm F5-6.3 DG OS HSM | S 014 + MC-11</td>
-</tr><tr><td>50490</td><td>= Sigma 120-300mm F2.8 DG OS HSM | S 013 + MC-11</td>
-</tr><tr><td>50492</td><td>= Sigma 24-105mm F4 DG OS HSM | A 013 + MC-11</td>
-</tr><tr><td>50493</td><td>= Sigma 17-70mm F2.8-4 DC MACRO OS HSM | C 013 + MC-11</td>
-</tr><tr><td>50495</td><td>= Sigma 50-100mm F1.8 DC HSM | A 016 + MC-11</td>
-</tr></table></td></tr></table></blockquote>
-
 <h2><a name='AFInfo'>Sony AFInfo Tags</a></h2>
 <p>These tags are currently extracted for SLT models only.</p>
 <blockquote>
@@ -10149,11 +10095,16 @@ this information is also written to ARW images by other models.</p>
 <td class=c>N</td>
 <td> </td></tr>
 <tr>
+<td title='0x797d = 31101'>0x797d</td>
+<td>LightFalloffParams</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
 <td title='0x7980 = 31104'>0x7980</td>
 <td>ChromaticAberrationCorrParams</td>
 <td class=c>N</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td title='0x7982 = 31106'>0x7982</td>
 <td>DistortionCorrParams</td>
 <td class=c>N</td>
@@ -10262,7 +10213,7 @@ the JPEG image from a PMP file)</span></span></td></tr>
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 25, 2016</i>
+<br><i>Last revised Oct 21, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/Vorbis.html b/html/TagNames/Vorbis.html
index f15d07d..9f825ed 100644
--- a/html/TagNames/Vorbis.html
+++ b/html/TagNames/Vorbis.html
@@ -26,44 +26,6 @@
 <td>--> <a href='Vorbis.html#Comments'>Vorbis Comments Tags</a></td></tr>
 </table></td></tr></table></blockquote>
 
-<h2><a name='Identification'>Vorbis Identification Tags</a></h2>
-<blockquote>
-<table class=frame><tr><td>
-<table class=inner cellspacing=1>
-<tr class=h><th>Index1</th><th>Tag Name</th>
-<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
-<tr>
-<td class=r title='0 = 0x0'>0</td>
-<td>VorbisVersion</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='4 = 0x4'>4</td>
-<td>AudioChannels</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr>
-<td class=r title='5 = 0x5'>5</td>
-<td>SampleRate</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='9 = 0x9'>9</td>
-<td>MaximumBitrate</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr>
-<td class=r title='13 = 0xd'>13</td>
-<td>NominalBitrate</td>
-<td class=c>N</td>
-<td> </td></tr>
-<tr class=b>
-<td class=r title='17 = 0x11'>17</td>
-<td>MinimumBitrate</td>
-<td class=c>N</td>
-<td> </td></tr>
-</table></td></tr></table></blockquote>
-
 <h2><a name='Comments'>Vorbis Comments Tags</a></h2>
 <p>The tags below are only some common tags found in the Vorbis comments of Ogg
 Vorbis and Ogg FLAC audio files, however ExifTool will extract values from
@@ -235,6 +197,44 @@ any tag found, even if not listed here.</p>
 <td><span class=s><span class=n>(from comment header)</span></span></td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='Identification'>Vorbis Identification Tags</a></h2>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Index1</th><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td class=r title='0 = 0x0'>0</td>
+<td>VorbisVersion</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='4 = 0x4'>4</td>
+<td>AudioChannels</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='5 = 0x5'>5</td>
+<td>SampleRate</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='9 = 0x9'>9</td>
+<td>MaximumBitrate</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td class=r title='13 = 0xd'>13</td>
+<td>NominalBitrate</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td class=r title='17 = 0x11'>17</td>
+<td>MinimumBitrate</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
 <br><i>Last revised Jul 14, 2016</i>
diff --git a/html/TagNames/XMP.html b/html/TagNames/XMP.html
index 8f91d85..73a5a9a 100644
--- a/html/TagNames/XMP.html
+++ b/html/TagNames/XMP.html
@@ -171,138 +171,142 @@ as extensions from various other sources.  See
 <td class=c>-</td>
 <td>--> <a href='XMP.html#GPano'>XMP GPano Tags</a></td></tr>
 <tr class=b>
+<td>GSpherical</td>
+<td class=c>-</td>
+<td>--> <a href='XMP.html#GSpherical'>XMP GSpherical Tags</a></td></tr>
+<tr>
 <td>ics</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#ics'>XMP ics Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>iptcCore</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#iptcCore'>XMP iptcCore Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>iptcExt</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#iptcExt'>XMP iptcExt Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>lr</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#Lightroom'>XMP Lightroom Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>mediapro</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#MediaPro'>XMP MediaPro Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>microsoft</td>
 <td class=c>-</td>
 <td>--> <a href='Microsoft.html#XMP'>Microsoft XMP Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>MP</td>
 <td class=c>-</td>
 <td>--> <a href='Microsoft.html#MP'>Microsoft MP Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>MP1</td>
 <td class=c>-</td>
 <td>--> <a href='Microsoft.html#MP1'>Microsoft MP1 Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>mwg-coll</td>
 <td class=c>-</td>
 <td>--> <a href='MWG.html#Collections'>MWG Collections Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>mwg-kw</td>
 <td class=c>-</td>
 <td>--> <a href='MWG.html#Keywords'>MWG Keywords Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>mwg-rs</td>
 <td class=c>-</td>
 <td>--> <a href='MWG.html#Regions'>MWG Regions Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td><u>pdf</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#pdf'>XMP pdf Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td><u>pdfx</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#pdfx'>XMP pdfx Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>photomech</td>
 <td class=c>-</td>
 <td>--> <a href='PhotoMechanic.html#XMP'>PhotoMechanic XMP Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td><u>photoshop</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#photoshop'>XMP photoshop Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>PixelLive</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#PixelLive'>XMP PixelLive Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>plus</td>
 <td class=c>-</td>
 <td>--> <a href='PLUS.html#XMP'>PLUS XMP Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>pmi</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#pmi'>XMP pmi Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>prism</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#prism'>XMP prism Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>prl</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#prl'>XMP prl Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>prm</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#prm'>XMP prm Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>pur</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#pur'>XMP pur Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td>rdf</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#rdf'>XMP rdf Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>swf</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#swf'>XMP swf Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td><u>tiff</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#tiff'>XMP tiff Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td><u>x</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#x'>XMP x Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td><u>xmp</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmp'>XMP xmp Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td><u>xmpBJ</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmpBJ'>XMP xmpBJ Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td><u>xmpDM</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmpDM'>XMP xmpDM Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td><u>xmpMM</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmpMM'>XMP xmpMM Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td><u>xmpNote</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmpNote'>XMP xmpNote Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td>xmpPLUS</td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmpPLUS'>XMP xmpPLUS Tags</a></td></tr>
-<tr class=b>
+<tr>
 <td><u>xmpRights</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmpRights'>XMP xmpRights Tags</a></td></tr>
-<tr>
+<tr class=b>
 <td><u>xmpTPg</u></td>
 <td class=c>-</td>
 <td>--> <a href='XMP.html#xmpTPg'>XMP xmpTPg Tags</a></td></tr>
@@ -310,6 +314,8 @@ as extensions from various other sources.  See
 
 <h2><a name='aas'>XMP aas Tags</a></h2>
 <p>Apple Adjustment Settings used by iPhone/iPad.</p>
+
+<p>These tags belong to the ExifTool XMP-aas family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -417,6 +423,9 @@ of using the equivalent tags in standard XMP namespaces defeats one of the
 most valuable features of metadata: interoperability.  Your applications
 mumble to themselves instead of speaking out for the rest of the world to
 hear.)</p>
+
+<p>
+These tags belong to the ExifTool XMP-acdsee family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -504,6 +513,8 @@ hear.)</p>
 
 <h2><a name='Album'>XMP Album Tags</a></h2>
 <p>Adobe Album namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-album family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -518,6 +529,9 @@ hear.)</p>
 <h2><a name='apple_fi'>XMP apple_fi Tags</a></h2>
 <p>Face information tags written by the Apple iPhone 5 inside the mwg-rs
 RegionExtensions.</p>
+
+<p>
+These tags belong to the ExifTool XMP-apple-fi family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -551,6 +565,9 @@ specification until it was dropped in 2012, presumably due to the
 introduction of the EXIF 2.3 for XMP specification and the exifEX namespace
 at this time.  For this reason, tags below with equivalents in the
 <a href="#exifEX">exifEX namespace</a> are avoided when writing.</p>
+
+<p>
+These tags belong to the ExifTool XMP-aux family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -626,6 +643,9 @@ at this time.  For this reason, tags below with equivalents in the
 <p>Creative Commons namespace tags.  Note that the CC specification for XMP is
 non-existent, so ExifTool must make some assumptions about the format of the
 specific properties in XMP (see <a href="http://creativecommons.org/ns">http://creativecommons.org/ns</a>).</p>
+
+<p>
+These tags belong to the ExifTool XMP-cc family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -690,6 +710,8 @@ specific properties in XMP (see <a href="http://creativecommons.org/ns">http://c
 
 <h2><a name='cell'>XMP cell Tags</a></h2>
 <p>Location tags written by some Sony Ericsson phones.</p>
+
+<p>These tags belong to the ExifTool XMP-cell family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -723,6 +745,8 @@ specific properties in XMP (see <a href="http://creativecommons.org/ns">http://c
 
 <h2><a name='creatorAtom'>XMP creatorAtom Tags</a></h2>
 <p>Adobe creatorAtom tags, written by After Effects.</p>
+
+<p>These tags belong to the ExifTool XMP-creatorAtom family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -857,6 +881,9 @@ specific properties in XMP (see <a href="http://creativecommons.org/ns">http://c
 <h2><a name='crs'>XMP crs Tags</a></h2>
 <p>Photoshop Camera Raw namespace tags.  It is a shame that Adobe pollutes the
 metadata space with these incredibly bulky image editing parameters.</p>
+
+<p>
+These tags belong to the ExifTool XMP-crs family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2371,34 +2398,38 @@ metadata space with these incredibly bulky image editing parameters.</p>
 <td class=c>string</td>
 <td> </td></tr>
 <tr class=b>
+<td>UprightTransform_5</td>
+<td class=c>string</td>
+<td> </td></tr>
+<tr>
 <td>UprightTransformCount</td>
 <td class=c>integer</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>UprightVersion</td>
 <td class=c>integer</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>Version</td>
 <td class=c>string</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>Vibrance</td>
 <td class=c>integer</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>VignetteAmount</td>
 <td class=c>integer</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>VignetteMidpoint</td>
 <td class=c>integer</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>What</td>
 <td class=c>string</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>WhiteBalance</td>
 <td class=c title=' / = Avoid'>string/</td>
 <td><table class=cols><tr>
@@ -2412,7 +2443,7 @@ metadata space with these incredibly bulky image editing parameters.</p>
   <br>'Shade' = Shade
   <br>'Tungsten' = Tungsten</td></tr></table>
 </td></tr>
-<tr class=b>
+<tr>
 <td>Whites2012</td>
 <td class=c>integer</td>
 <td> </td></tr>
@@ -2676,6 +2707,8 @@ metadata space with these incredibly bulky image editing parameters.</p>
 
 <h2><a name='dc'>XMP dc Tags</a></h2>
 <p>Dublin Core namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-dc family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2747,6 +2780,9 @@ metadata space with these incredibly bulky image editing parameters.</p>
 <p>Description Explorer namespace tags.  These tags are not very common.  The
 Source and Rating tags are avoided when writing due to name conflicts with
 other XMP tags.  (see <a href="http://www.optimasc.com/products/fileid/">http://www.optimasc.com/products/fileid/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-dex family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2800,6 +2836,9 @@ other XMP tags.  (see <a href="http://www.optimasc.com/products/fileid/">http://
 stored in files of other than DICOM format.  See the
 <a href="DICOM.html">DICOM Tags documentation</a> for a list
 of tags available in DICOM-format files.</p>
+
+<p>
+These tags belong to the ExifTool XMP-DICOM family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2865,6 +2904,8 @@ of tags available in DICOM-format files.</p>
 
 <h2><a name='digiKam'>XMP digiKam Tags</a></h2>
 <p>DigiKam namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-digiKam family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -2887,14 +2928,18 @@ of tags available in DICOM-format files.</p>
 <td class=c title=' / = Avoid'>string/</td>
 <td><span class=s><span class=n>(different format from EXIF:ImageHistory)</span></span></td></tr>
 <tr>
+<td>ImageUniqueID</td>
+<td class=c title=' / = Avoid'>string/</td>
+<td> </td></tr>
+<tr class=b>
 <td>LensCorrectionSettings</td>
 <td class=c>string</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>PickLabel</td>
 <td class=c>string</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>TagsList</td>
 <td class=c title=' + = List'>string+</td>
 <td> </td></tr>
@@ -2904,6 +2949,9 @@ of tags available in DICOM-format files.</p>
 <p>EXIF namespace for EXIF tags.  See
 <a href="http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf">http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf</a> for the
 specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-exif family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3499,6 +3547,9 @@ Composite:GPSDateTime when copying from EXIF)</span></span></td></tr>
 <h2><a name='exifEX'>XMP exifEX Tags</a></h2>
 <p>EXIF tags added by the EXIF 2.3 for XMP specification (see
 <a href="http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf">http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf</a>).</p>
+
+<p>
+These tags belong to the ExifTool XMP-exifEX family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3581,6 +3632,9 @@ XMP-aux:LensInfo)</span></span></td></tr>
 <h2><a name='ExpressionMedia'>XMP ExpressionMedia Tags</a></h2>
 <p>Microsoft Expression Media namespace tags.  These tags are avoided when
 writing due to name conflicts with tags in other schemas.</p>
+
+<p>
+These tags belong to the ExifTool XMP-expressionmedia family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3608,6 +3662,8 @@ writing due to name conflicts with tags in other schemas.</p>
 
 <h2><a name='extensis'>XMP extensis Tags</a></h2>
 <p>Tags used by Extensis Portfolio.</p>
+
+<p>These tags belong to the ExifTool XMP-extensis family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3650,6 +3706,9 @@ writing due to name conflicts with tags in other schemas.</p>
 <h2><a name='fpv'>XMP fpv Tags</a></h2>
 <p>Fast Picture Viewer tags (see
 <a href="http://www.fastpictureviewer.com/help/#rtfcomments">http://www.fastpictureviewer.com/help/#rtfcomments</a>).</p>
+
+<p>
+These tags belong to the ExifTool XMP-fpv family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3663,8 +3722,11 @@ writing due to name conflicts with tags in other schemas.</p>
 
 <h2><a name='GettyImages'>XMP GettyImages Tags</a></h2>
 <p>The actual Getty Images namespace prefix is "GettyImagesGIFT", which is the
-prefix recorded in the file, but ExifTool shortens this for the "XMP-getty"
-family 1 group name.</p>
+prefix recorded in the file, but ExifTool shortens this for the family 1
+group name.</p>
+
+<p>
+These tags belong to the ExifTool XMP-getty family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3687,6 +3749,9 @@ family 1 group name.</p>
 <h2><a name='GPano'>XMP GPano Tags</a></h2>
 <p>Panorama tags written by Google Photosphere. See
 <a href="https://developers.google.com/panorama/metadata/">https://developers.google.com/panorama/metadata/</a> for the specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-GPano family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3729,74 +3794,160 @@ family 1 group name.</p>
 <td class=c>real</td>
 <td> </td></tr>
 <tr class=b>
-<td>InitialHorizontalFOVDegrees</td>
+<td>InitialCameraDolly</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr>
-<td>InitialViewHeadingDegrees</td>
+<td>InitialHorizontalFOVDegrees</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr class=b>
-<td>InitialViewPitchDegrees</td>
+<td>InitialViewHeadingDegrees</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr>
-<td>InitialViewRollDegrees</td>
+<td>InitialViewPitchDegrees</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr class=b>
-<td>LargestValidInteriorRectHeight</td>
+<td>InitialViewRollDegrees</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr>
-<td>LargestValidInteriorRectLeft</td>
+<td>LargestValidInteriorRectHeight</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr class=b>
-<td>LargestValidInteriorRectTop</td>
+<td>LargestValidInteriorRectLeft</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr>
-<td>LargestValidInteriorRectWidth</td>
+<td>LargestValidInteriorRectTop</td>
 <td class=c>real</td>
 <td> </td></tr>
 <tr class=b>
+<td>LargestValidInteriorRectWidth</td>
+<td class=c>real</td>
+<td> </td></tr>
+<tr>
 <td>LastPhotoDate</td>
 <td class=c>date</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>PoseHeadingDegrees</td>
 <td class=c>real</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>PosePitchDegrees</td>
 <td class=c>real</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>PoseRollDegrees</td>
 <td class=c>real</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>ProjectionType</td>
 <td class=c>string</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>SourcePhotosCount</td>
 <td class=c>integer</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>StitchingSoftware</td>
 <td class=c>string</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>UsePanoramaViewer</td>
 <td class=c>boolean</td>
 <td> </td></tr>
 </table></td></tr></table></blockquote>
 
+<h2><a name='GSpherical'>XMP GSpherical Tags</a></h2>
+<p>Not actually XMP.  These RDF/XML tags are used in Google spherical MP4
+videos.  See
+<a href="https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md">https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md</a>
+for the specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-GSpherical family 1 group.</p>
+<blockquote>
+<table class=frame><tr><td>
+<table class=inner cellspacing=1>
+<tr class=h><th>Tag Name</th>
+<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr>
+<tr>
+<td>CroppedAreaImageHeightPixels</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>CroppedAreaImageWidthPixels</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>CroppedAreaLeftPixels</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>CroppedAreaTopPixels</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>FullPanoHeightPixels</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>FullPanoWidthPixels</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>InitialViewHeadingDegrees</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>InitialViewPitchDegrees</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>InitialViewRollDegrees</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>ProjectionType</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>SourceCount</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>Spherical</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>StereoMode</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>Stitched</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr>
+<td>StitchingSoftware</td>
+<td class=c>N</td>
+<td> </td></tr>
+<tr class=b>
+<td>TimeStamp</td>
+<td class=c>N</td>
+<td> </td></tr>
+</table></td></tr></table></blockquote>
+
 <h2><a name='ics'>XMP ics Tags</a></h2>
 <p>Tags used by IDimager.  Nested TagStructure structures are unrolled to an
 arbitrary depth of 6 to avoid infinite recursion.</p>
+
+<p>
+These tags belong to the ExifTool XMP-ics family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -3989,8 +4140,11 @@ arbitrary depth of 6 to avoid infinite recursion.</p>
 <h2><a name='iptcCore'>XMP iptcCore Tags</a></h2>
 <p>IPTC Core namespace tags.  The actual IPTC Core namespace prefix is
 "Iptc4xmpCore", which is the prefix recorded in the file, but ExifTool
-shortens this for the "XMP-iptcCore" family 1 group name. (see
+shortens this for the family 1 group name. (see
 <a href="http://www.iptc.org/IPTC4XMP/">http://www.iptc.org/IPTC4XMP/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-iptcCore family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4096,8 +4250,11 @@ shortens this for the "XMP-iptcCore" family 1 group name. (see
 
 <h2><a name='iptcExt'>XMP iptcExt Tags</a></h2>
 <p>IPTC Extension namespace tags.  The actual namespace prefix is
-"Iptc4xmpExt", but ExifTool shortens this for the "XMP-iptcExt" family 1
-group name. (see <a href="http://www.iptc.org/IPTC4XMP/">http://www.iptc.org/IPTC4XMP/</a>)</p>
+"Iptc4xmpExt", but ExifTool shortens this for the family 1 group name. (see
+<a href="http://www.iptc.org/IPTC4XMP/">http://www.iptc.org/IPTC4XMP/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-iptcExt family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4702,6 +4859,8 @@ group name. (see <a href="http://www.iptc.org/IPTC4XMP/">http://www.iptc.org/IPT
 
 <h2><a name='Lightroom'>XMP Lightroom Tags</a></h2>
 <p>Adobe Lightroom "lr" namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-lr family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4719,6 +4878,8 @@ group name. (see <a href="http://www.iptc.org/IPTC4XMP/">http://www.iptc.org/IPT
 
 <h2><a name='MediaPro'>XMP MediaPro Tags</a></h2>
 <p>iView MediaPro namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-mediapro family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4755,6 +4916,9 @@ group name. (see <a href="http://www.iptc.org/IPTC4XMP/">http://www.iptc.org/IPT
 Keywords, PDFVersion, Producer and Trapped.  The other tags are included
 because they have been observed in PDF files, but some are avoided when
 writing due to name conflicts with other XMP namespaces.</p>
+
+<p>
+These tags belong to the ExifTool XMP-pdf family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4816,6 +4980,9 @@ writing due to name conflicts with other XMP namespaces.</p>
 <p>PDF extension tags.  This namespace is used to store application-defined PDF
 information, so there are no pre-defined tags.  User-defined tags must be
 created to enable writing of XMP-pdfx information.</p>
+
+<p>
+These tags belong to the ExifTool XMP-pdfx family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4826,6 +4993,8 @@ created to enable writing of XMP-pdfx information.</p>
 
 <h2><a name='photoshop'>XMP photoshop Tags</a></h2>
 <p>Adobe Photoshop namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-photoshop family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -4971,6 +5140,9 @@ created to enable writing of XMP-pdfx information.</p>
 <p>PixelLive namespace tags.  These tags are not writable becase they are very
 uncommon and I haven't been able to locate a reference which gives the
 namespace URI.</p>
+
+<p>
+These tags belong to the ExifTool XMP-PixelLive family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -5005,6 +5177,9 @@ namespace URI.</p>
 <h2><a name='pmi'>XMP pmi Tags</a></h2>
 <p>PRISM Metadata for Images 3.0 namespace tags.  (see
 <a href="http://www.prismstandard.org/">http://www.prismstandard.org/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-pmi family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -5162,6 +5337,9 @@ namespace URI.</p>
 <h2><a name='prism'>XMP prism Tags</a></h2>
 <p>Publishing Requirements for Industry Standard Metadata 3.0 namespace
 tags.  (see <a href="http://www.prismstandard.org/">http://www.prismstandard.org/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-prism family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -5838,6 +6016,9 @@ tags.  (see <a href="http://www.prismstandard.org/">http://www.prismstandard.org
 <p>PRISM Rights Language 2.1 namespace tags.  These tags have been deprecated
 since the release of the PRISM Usage Rights 3.0. (see
 <a href="http://www.prismstandard.org/">http://www.prismstandard.org/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-prl family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -5863,6 +6044,9 @@ since the release of the PRISM Usage Rights 3.0. (see
 <h2><a name='prm'>XMP prm Tags</a></h2>
 <p>PRISM Recipe Metadata 3.0 namespace tags.  (see
 <a href="http://www.prismstandard.org/">http://www.prismstandard.org/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-prm family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -5949,6 +6133,9 @@ since the release of the PRISM Usage Rights 3.0. (see
 <h2><a name='pur'>XMP pur Tags</a></h2>
 <p>PRISM Usage Rights 3.0 namespace tags.  (see
 <a href="http://www.prismstandard.org/">http://www.prismstandard.org/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-pur family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -6024,6 +6211,9 @@ since the release of the PRISM Usage Rights 3.0. (see
 <h2><a name='rdf'>XMP rdf Tags</a></h2>
 <p>Most RDF attributes are handled internally, but the "about" attribute is
 treated specially to allow it to be set to a specific value if required.</p>
+
+<p>
+These tags belong to the ExifTool XMP-rdf family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -6037,6 +6227,8 @@ treated specially to allow it to be set to a specific value if required.</p>
 
 <h2><a name='swf'>XMP swf Tags</a></h2>
 <p>Adobe SWF namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-swf family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -6064,6 +6256,9 @@ treated specially to allow it to be set to a specific value if required.</p>
 <p>EXIF namespace for TIFF tags.  See
 <a href="http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf">http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf</a> for the
 specification.</p>
+
+<p>
+These tags belong to the ExifTool XMP-tiff family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -6219,6 +6414,9 @@ counterpart it is written and read as a simple string)</span></span><table class
 "xmptk" attribute that is extracted as the XMPToolkit tag.  When writing,
 the XMPToolkit tag is generated automatically by ExifTool unless
 specifically set to another value.</p>
+
+<p>
+These tags belong to the ExifTool XMP-x family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -6234,6 +6432,9 @@ specifically set to another value.</p>
 <p>XMP namespace tags.  If the older "xap", "xapBJ", "xapMM" or "xapRights"
 namespace prefixes are found, they are translated to the newer "xmp",
 "xmpBJ", "xmpMM" and "xmpRights" prefixes for use in family 1 group names.</p>
+
+<p>
+These tags belong to the ExifTool XMP-xmp family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -6410,6 +6611,8 @@ namespace prefixes are found, they are translated to the newer "xmp",
 
 <h2><a name='xmpBJ'>XMP xmpBJ Tags</a></h2>
 <p>XMP Basic Job Ticket namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-xmpBJ family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -6458,6 +6661,8 @@ namespace prefixes are found, they are translated to the newer "xmp",
 
 <h2><a name='xmpDM'>XMP xmpDM Tags</a></h2>
 <p>XMP Dynamic Media namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-xmpDM family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -7596,6 +7801,8 @@ namespace prefixes are found, they are translated to the newer "xmp",
 
 <h2><a name='xmpMM'>XMP xmpMM Tags</a></h2>
 <p>XMP Media Management namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-xmpMM family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -7631,34 +7838,58 @@ namespace prefixes are found, they are translated to the newer "xmp",
 <td class=c title=' _ = Flattened'>date_</td>
 <td> </td></tr>
 <tr class=b>
-<td>DerivedFromManager</td>
+<td>DerivedFromLastURL</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr>
-<td>DerivedFromManagerVariant</td>
+<td>DerivedFromLinkCategory</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr class=b>
-<td>DerivedFromManageTo</td>
+<td>DerivedFromLinkForm</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr>
-<td>DerivedFromManageUI</td>
+<td>DerivedFromManager</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr class=b>
+<td>DerivedFromManagerVariant</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
+<td>DerivedFromManageTo</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr class=b>
+<td>DerivedFromManageUI</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
 <td>DerivedFromMaskMarkers</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td><span class=s>'All' = All
   <br>'None' = None</span></td></tr>
-<tr>
+<tr class=b>
 <td>DerivedFromOriginalDocumentID</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>DerivedFromPartMapping</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
+<tr class=b>
+<td>DerivedFromPlacedResolutionUnit</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
+<td>DerivedFromPlacedXResolution</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr class=b>
+<td>DerivedFromPlacedYResolution</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
 <tr>
 <td>DerivedFromRenditionClass</td>
 <td class=c title=' _ = Flattened'>string_</td>
@@ -7748,41 +7979,71 @@ namespace prefixes are found, they are translated to the newer "xmp",
  + = List'>date_+</td>
 <td> </td></tr>
 <tr class=b>
-<td>IngredientsManager</td>
+<td>IngredientsLastURL</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr>
-<td>IngredientsManagerVariant</td>
+<td>IngredientsLinkCategory</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr class=b>
-<td>IngredientsManageTo</td>
+<td>IngredientsLinkForm</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr>
-<td>IngredientsManageUI</td>
+<td>IngredientsManager</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr class=b>
+<td>IngredientsManagerVariant</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr>
+<td>IngredientsManageTo</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr class=b>
+<td>IngredientsManageUI</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr>
 <td>IngredientsMaskMarkers</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td><span class=s>'All' = All
   <br>'None' = None</span></td></tr>
-<tr>
+<tr class=b>
 <td>IngredientsOriginalDocumentID</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>IngredientsPartMapping</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
+<tr class=b>
+<td>IngredientsPlacedResolutionUnit</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr>
+<td>IngredientsPlacedXResolution</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr class=b>
+<td>IngredientsPlacedYResolution</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
 <tr>
 <td>IngredientsRenditionClass</td>
 <td class=c title=' _ = Flattened
@@ -7841,34 +8102,58 @@ namespace prefixes are found, they are translated to the newer "xmp",
 <td class=c title=' _ = Flattened'>date_</td>
 <td> </td></tr>
 <tr class=b>
-<td>ManagedFromManager</td>
+<td>ManagedFromLastURL</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr>
-<td>ManagedFromManagerVariant</td>
+<td>ManagedFromLinkCategory</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr class=b>
-<td>ManagedFromManageTo</td>
+<td>ManagedFromLinkForm</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr>
-<td>ManagedFromManageUI</td>
+<td>ManagedFromManager</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr class=b>
+<td>ManagedFromManagerVariant</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
+<td>ManagedFromManageTo</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr class=b>
+<td>ManagedFromManageUI</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
 <td>ManagedFromMaskMarkers</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td><span class=s>'All' = All
   <br>'None' = None</span></td></tr>
-<tr>
+<tr class=b>
 <td>ManagedFromOriginalDocumentID</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
-<tr class=b>
+<tr>
 <td>ManagedFromPartMapping</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
+<tr class=b>
+<td>ManagedFromPlacedResolutionUnit</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
+<td>ManagedFromPlacedXResolution</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr class=b>
+<td>ManagedFromPlacedYResolution</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
 <tr>
 <td>ManagedFromRenditionClass</td>
 <td class=c title=' _ = Flattened'>string_</td>
@@ -7961,41 +8246,71 @@ namespace prefixes are found, they are translated to the newer "xmp",
  + = List'>date_+</td>
 <td> </td></tr>
 <tr>
-<td>ManifestReferenceManager</td>
+<td>ManifestReferenceLastURL</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr class=b>
-<td>ManifestReferenceManagerVariant</td>
+<td>ManifestReferenceLinkCategory</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr>
-<td>ManifestReferenceManageTo</td>
+<td>ManifestReferenceLinkForm</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr class=b>
-<td>ManifestReferenceManageUI</td>
+<td>ManifestReferenceManager</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
 <tr>
+<td>ManifestReferenceManagerVariant</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr class=b>
+<td>ManifestReferenceManageTo</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr>
+<td>ManifestReferenceManageUI</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr class=b>
 <td>ManifestReferenceMaskMarkers</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td><span class=s>'All' = All
   <br>'None' = None</span></td></tr>
-<tr class=b>
+<tr>
 <td>ManifestReferenceOriginalDocumentID</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>ManifestReferencePartMapping</td>
 <td class=c title=' _ = Flattened
  + = List'>string_+</td>
 <td> </td></tr>
+<tr>
+<td>ManifestReferencePlacedResolutionUnit</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr class=b>
+<td>ManifestReferencePlacedXResolution</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
+<tr>
+<td>ManifestReferencePlacedYResolution</td>
+<td class=c title=' _ = Flattened
+ + = List'>string_+</td>
+<td> </td></tr>
 <tr class=b>
 <td>ManifestReferenceRenditionClass</td>
 <td class=c title=' _ = Flattened
@@ -8062,34 +8377,58 @@ namespace prefixes are found, they are translated to the newer "xmp",
 <td class=c title=' _ = Flattened'>date_</td>
 <td> </td></tr>
 <tr>
-<td>RenditionOfManager</td>
+<td>RenditionOfLastURL</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr class=b>
-<td>RenditionOfManagerVariant</td>
+<td>RenditionOfLinkCategory</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr>
-<td>RenditionOfManageTo</td>
+<td>RenditionOfLinkForm</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr class=b>
-<td>RenditionOfManageUI</td>
+<td>RenditionOfManager</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
+<td>RenditionOfManagerVariant</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr class=b>
+<td>RenditionOfManageTo</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
 <tr>
+<td>RenditionOfManageUI</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr class=b>
 <td>RenditionOfMaskMarkers</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td><span class=s>'All' = All
   <br>'None' = None</span></td></tr>
-<tr class=b>
+<tr>
 <td>RenditionOfOriginalDocumentID</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
-<tr>
+<tr class=b>
 <td>RenditionOfPartMapping</td>
 <td class=c title=' _ = Flattened'>string_</td>
 <td> </td></tr>
+<tr>
+<td>RenditionOfPlacedResolutionUnit</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr class=b>
+<td>RenditionOfPlacedXResolution</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
+<tr>
+<td>RenditionOfPlacedYResolution</td>
+<td class=c title=' _ = Flattened'>string_</td>
+<td> </td></tr>
 <tr class=b>
 <td>RenditionOfRenditionClass</td>
 <td class=c title=' _ = Flattened'>string_</td>
@@ -8215,33 +8554,57 @@ namespace prefixes are found, they are translated to the newer "xmp",
 <td class=c>date</td>
 <td> </td></tr>
 <tr>
-<td>ManageTo</td>
+<td>LastURL</td>
 <td class=c>string</td>
 <td> </td></tr>
 <tr class=b>
-<td>ManageUI</td>
+<td>LinkCategory</td>
 <td class=c>string</td>
 <td> </td></tr>
 <tr>
-<td>Manager</td>
+<td>LinkForm</td>
 <td class=c>string</td>
 <td> </td></tr>
 <tr class=b>
-<td>ManagerVariant</td>
+<td>ManageTo</td>
 <td class=c>string</td>
 <td> </td></tr>
 <tr>
-<td>MaskMarkers</td>
+<td>ManageUI</td>
 <td class=c>string</td>
 <td> </td></tr>
 <tr class=b>
-<td>OriginalDocumentID</td>
+<td>Manager</td>
 <td class=c>string</td>
 <td> </td></tr>
 <tr>
+<td>ManagerVariant</td>
+<td class=c>string</td>
+<td> </td></tr>
+<tr class=b>
+<td>MaskMarkers</td>
+<td class=c>string</td>
+<td> </td></tr>
+<tr>
+<td>OriginalDocumentID</td>
+<td class=c>string</td>
+<td> </td></tr>
+<tr class=b>
 <td>PartMapping</td>
 <td class=c>string</td>
 <td> </td></tr>
+<tr>
+<td>PlacedResolutionUnit</td>
+<td class=c>string</td>
+<td> </td></tr>
+<tr class=b>
+<td>PlacedXResolution</td>
+<td class=c>string</td>
+<td> </td></tr>
+<tr>
+<td>PlacedYResolution</td>
+<td class=c>string</td>
+<td> </td></tr>
 <tr class=b>
 <td>RenditionClass</td>
 <td class=c>string</td>
@@ -8364,6 +8727,8 @@ XMP properties.</p>
 
 <h2><a name='xmpNote'>XMP xmpNote Tags</a></h2>
 <p>XMP Note namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-xmpNote family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -8381,6 +8746,9 @@ JPEG image)</span></span></td></tr>
 <p>XMP Picture Licensing Universal System (PLUS) tags as written by some older
 Adobe applications.  See <a href="PLUS.html#XMP">PLUS XMP Tags</a>
 for the current PLUS tags.</p>
+
+<p>
+These tags belong to the ExifTool XMP-xmpPLUS family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -8398,6 +8766,8 @@ for the current PLUS tags.</p>
 
 <h2><a name='xmpRights'>XMP xmpRights Tags</a></h2>
 <p>XMP Rights Management namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-xmpRights family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -8427,6 +8797,8 @@ for the current PLUS tags.</p>
 
 <h2><a name='xmpTPg'>XMP xmpTPg Tags</a></h2>
 <p>XMP Paged-Text namespace tags.</p>
+
+<p>These tags belong to the ExifTool XMP-xmpTPg family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -8773,6 +9145,9 @@ SVG and Metadata tags are extracted from these images, but all graphics tags
 may be extracted by setting the Unknown option to 2 (-U on the command
 line).  The SVG tags are not part of XMP as such, but are included with the
 XMP module for convenience.  (see <a href="http://www.w3.org/TR/SVG11/">http://www.w3.org/TR/SVG11/</a>)</p>
+
+<p>
+These tags belong to the ExifTool XMP-svg family 1 group.</p>
 <blockquote>
 <table class=frame><tr><td>
 <table class=inner cellspacing=1>
@@ -8951,7 +9326,7 @@ XMP module for convenience.  (see <a href="http://www.w3.org/TR/SVG11/">http://w
 
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 29, 2016</i>
+<br><i>Last revised Oct 11, 2016</i>
 <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p>
 </body>
 </html>
diff --git a/html/TagNames/index.html b/html/TagNames/index.html
index 496199b..82cf8bb 100644
--- a/html/TagNames/index.html
+++ b/html/TagNames/index.html
@@ -84,6 +84,7 @@ The tables listed below give the names of all tags recognized by ExifTool.
 <a href='PICT.html'>PICT</a><br>
 <a href='PNG.html'>PNG</a><br>
 <a href='MNG.html'>MNG</a><br>
+<a href='FLIF.html'>FLIF</a><br>
 <a href='DjVu.html'>DjVu</a><br>
 <a href='DPX.html'>DPX</a><br>
 <a href='OpenEXR.html'>OpenEXR</a><br>
@@ -97,7 +98,6 @@ The tables listed below give the names of all tags recognized by ExifTool.
 <a href='ID3.html'>ID3</a><br>
 <a href='ITC.html'>ITC</a><br>
 <a href='FLAC.html'>FLAC</a><br>
-<a href='FLAC.html'>FLAC</a><br>
 <a href='Ogg.html'>Ogg</a></td><td width='16%'>
 <a href='Vorbis.html'>Vorbis</a><br>
 <a href='Opus.html'>Opus</a><br>
@@ -144,8 +144,8 @@ The tables listed below give the names of all tags recognized by ExifTool.
 table.  A <b>Tag ID</b> is the computer-readable equivalent of a tag name, and
 is the identifier that is actually stored in the file.  <b>Index#</b> refers to
 the location of a value when found at a fixed position within a data block
-(<b>#</b> is the multiplier for calculating a byte offset: <b>1</b>, <b>2</b> or <b>4</b>).
-<b>Sequence</b> gives the order of values for a serial data stream.</p>
+(<b>#</b> is the multiplier for calculating a byte offset: <b>1</b>, <b>2</b>, <b>4</b> or
+<b>8</b>). <b>Sequence</b> gives the order of values for a serial data stream.</p>
 
 <p>A <b>Tag Name</b> is the handle by which the information is accessed in
 ExifTool.  In some instances, more than one name may correspond to a single
@@ -177,7 +177,7 @@ when the print conversion is disabled (by setting PrintConv to 0, using the
 -n option, or suffixing the tag name with a <code>#</code> character).  An exclamation
 point (<code>!</code>) indicates a tag that is considered <i>Unsafe</i> to write under
 normal circumstances.  These tags are not written unless specified
-explicitly (ie. wildcards and "all" may not be used), and care should be
+explicitly (ie. not when wildcards or "all" are used), and care should be
 taken when editing them manually since they may affect the way an image is
 rendered.  An asterisk (<code>*</code>) indicates a <i>Protected</i> tag which is not
 writable directly, but is written automatically by ExifTool (often when a
@@ -212,7 +212,7 @@ ExifTool.  A big thanks to everyone who has helped with this so far!)</i>
 </p>
 <hr>
 (This document generated automatically by Image::ExifTool::BuildTagLookup)
-<br><i>Last revised Jul 28, 2016</i>
+<br><i>Last revised Oct 11, 2016</i>
 <p class=lf><a href='../index.html'><-- Back to ExifTool home page</a></p>
 </body>
 </html>
diff --git a/html/ancient_history.html b/html/ancient_history.html
index 22d30f3..559abe0 100644
--- a/html/ancient_history.html
+++ b/html/ancient_history.html
@@ -37,7 +37,7 @@
     error
 <li>API Changes:
     <ul>
-    <li>Changed QuickTimeUTC API option to also enforce proper time zero
+    <li>Changed API QuickTimeUTC option to also enforce proper time zero
     </ul>
 </ul>
 
@@ -157,7 +157,7 @@
 <li>Added two new <a href="TagNames/Sony.html#SonyModelID">SonyModelID</a>'s (thanks Jos Roost for one)
 <li>Added two new <a href="TagNames/Sony.html#LensType2">Sony LensType2</a> values (thanks Jos Roost)
 <li>Added a new <a href="TagNames/Pentax.html#LensType">Pentax LensType</a>
-<li>Extract a number of new <a href="TagNames/Extra.html">File System tags</a> when SystemTags API option is set
+<li>Extract a number of new <a href="TagNames/Extra.html">File System tags</a> when API SystemTags option is set
 <li>Decode a new FujiFilm tag (thanks TonyB)
 <li>Decode a number of new <a href="TagNames/Sony.html">Sony tags</a> (thanks Jos Roost)
 <li>Disabled writing of XMP to PostScript-format Adobe Illustrator files
@@ -509,7 +509,7 @@
 <li>Improved warning message if "DIR" or "FILE" is used literally on the command
     line
 <li>Improved "-j -b" output to encode any non-UTF8 values as Base64
-<li>Enhanced -fast option (FastScan API option) to allow file processing to be
+<li>Enhanced -fast option (API FastScan option) to allow file processing to be
     bypassed entirely
 <li>Changed conversions for a couple of Nikon 1 AF tags for consistency
 <li>Changed reported FileType for LNK, KEY, KTH, NUMBERS, NMBTEMPLATE and PAGES
@@ -6112,7 +6112,7 @@
 <li>Made Photoshop:XResolution and Photoshop:YResolution writable
 <li>Fixed problem with processing some RIFF files
 <li>Added a new Canon LensType
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>SetNewValue() now accepts an ARRAY reference for setting list-type tags
         such as Keywords, or a SCALAR reference for binary data, so it may now
@@ -6187,7 +6187,7 @@
     and David Buret)
 <li>Decode PrintIM information in Casio QV-4000
 <li>Fixed Decoding of Canon EOS D60 serial numbers to agree with Canon utilities
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>Added HtmlDump and TextOut options
     </ul>
@@ -7826,7 +7826,7 @@
 <li>Improvements to TIFF processing
 <li>Set value to "Undefined" if PrintConv evaluates to undefined value
 <li>Added -G option
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>Changed all option names: shortened and changed to mixed case (sorry!)
     </ul>
@@ -7866,7 +7866,7 @@
 <li>Improve XMP parsing for 'Bag' elements
 <li>Capitalize first letter of XMP tag descriptions
 <li>Patch problem with APP13 resource written by older Photoshop versions
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>Added EXCLUDE and GROUP# options
     <li>Change default value of SAVE_DUPLICATES option to 1
@@ -7877,7 +7877,7 @@
 <ul>
 <li>Restructuring only -- the behaviour of the exiftool script was not changed
 <li>Moved html documentation to new html directory
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>Conform to standard Perl module mechanics:
         <ul>
@@ -7911,7 +7911,7 @@
     File::RandomAccessFile)
 <li>Added IxusAFPoint tag to Canon maker notes
 <li>Avoid scanning past end of Canon binary data blocks
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>GetFoundTags() and GetRequestedTags() now return list instead of list
         reference
@@ -7925,7 +7925,7 @@
 
 <a name='v3.01'><b>Feb. 15, 2004 - Version 3.01</b></a>
 <ul>
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>Added GetValue() function
     <li>Completed API documentation
@@ -7937,7 +7937,7 @@
 <li>Removed -all option (it is now the default -- specify -common for previous
     default behaviour)
 <li>Added -a option to allow printout of duplicate tag values
-<li>API changes:
+<li>API Changes:
     <ul>
     <li>I am finally happy with the API, so future major changes are less likely
         (hence the major version number)
@@ -7953,7 +7953,7 @@
 <a name='v2.71'><b>Feb. 12, 2004 - Version 2.71</b></a>
 <ul>
 <li>Still more playing with Pentax maker notes
-<li>More API changes:
+<li>More API Changes:
     <ul>
     <li>Added RandomAccessFile.pm
     <li>All image file i/o now done through a RandomAccessFile object
diff --git a/html/canon_raw.html b/html/canon_raw.html
index 088fee9..bea8048 100644
--- a/html/canon_raw.html
+++ b/html/canon_raw.html
@@ -113,8 +113,9 @@ the root directory, <b>BlockSize</b> is the length of the file.</p>
 <p>The <b>OtherData</b> normally does not exist (eg. the <b>DirEntries</b>
 usually end at the <b>DirStart</b> pointer), but this is not always the case:
 Canon Digital Photo Professional uses this area in the root directory block to
-store VRD data in edited CRW images.  (Note that VRD supports embedded XMP,
-which provides a technique to store modern metadata in CRW images!)</p>
+store <a href="TagNames/CanonVRD.html">VRD data</a> in edited CRW images.  (Note
+that VRD supports embedded XMP, which provides a technique to store modern
+metadata in CRW images!)</p>
 
 <h3>CRW Directory Entry Format</h3>
 <p>The CRW directory consists of N 10-byte entries.  The format of each entry is
diff --git a/html/data_members.html b/html/data_members.html
index 1129a9c..661fbc2 100644
--- a/html/data_members.html
+++ b/html/data_members.html
@@ -25,7 +25,8 @@ value.</p>
 
 <tr><td>ADD_DIRS</td><td>Hash of parent directories for each directory added during
     writing (Note: entry may exist but be undefined for top-level
-    directory!)</td></tr>
+    directory!)  To avoid adding a directory twice, entries may be
+    deleted from this lookup, but only AFTER WriteDirectory() is called.</td></tr>
 
 <tr><td>BASE</td><td>Absolute position of current image in containing file
     (for example, when processing JPEG image in FujiFilm RAF file)</td></tr>
diff --git a/html/exiftool_pod.html b/html/exiftool_pod.html
index 7fc12ca..f3c7f90 100644
--- a/html/exiftool_pod.html
+++ b/html/exiftool_pod.html
@@ -23,6 +23,14 @@
 
 	<li><a href="#name">NAME</a></li>
 	<li><a href="#synopsis">SYNOPSIS</a></li>
+	<ul>
+
+		<li><a href="#reading">Reading</a></li>
+		<li><a href="#writing">Writing</a></li>
+		<li><a href="#copying">Copying</a></li>
+		<li><a href="#other">Other</a></li>
+	</ul>
+
 	<li><a href="#description">DESCRIPTION</a></li>
 	<li><a href="#options">OPTIONS</a></li>
 	<ul>
@@ -67,18 +75,24 @@
 </p>
 <hr />
 <h1><a name="synopsis">SYNOPSIS</a></h1>
-<dl>
-<dt><strong><a name="exiftool_options_tag_tag_file" class="item"><strong>exiftool</strong> [<em>OPTIONS</em>] [-<em>TAG</em>...] [--<em>TAG</em>...] <em>FILE</em>...</a></strong></dt>
-
-<dt><strong><a name="exiftool_options_tag_value_file" class="item"><strong>exiftool</strong> [<em>OPTIONS</em>] -<em>TAG</em>[+-<]=[<em>VALUE</em>]... <em>FILE</em>...</a></strong></dt>
-
-<dt><strong><a name="exiftool_options_tagsfromfile_srcfile_srctag_dsttag_file" class="item"><strong>exiftool</strong> [<em>OPTIONS</em>] <strong>-tagsFromFile</strong> <em>SRCFILE</em>
-[-<em>SRCTAG</em>[><em>DSTTAG</em>]...] <em>FILE</em>...</a></strong></dt>
-
-<dt><strong><a name="exiftool_ver_list_w_f_r_wf_g_num_d_x" class="item"><strong>exiftool</strong> [ <strong>-ver</strong> |
-<strong>-list</strong>[<strong>w</strong>|<strong>f</strong>|<strong>r</strong>|<strong>wf</strong>|<strong>g</strong>[<em>NUM</em>]|<strong>d</strong>|<strong>x</strong>] ]</a></strong></dt>
-
-</dl>
+<p>
+</p>
+<h2><a name="reading">Reading</a></h2>
+<p><strong>exiftool</strong> [<em>OPTIONS</em>] [-<em>TAG</em>...] [--<em>TAG</em>...] <em>FILE</em>...</p>
+<p>
+</p>
+<h2><a name="writing">Writing</a></h2>
+<p><strong>exiftool</strong> [<em>OPTIONS</em>] -<em>TAG</em>[+-<]=[<em>VALUE</em>]... <em>FILE</em>...</p>
+<p>
+</p>
+<h2><a name="copying">Copying</a></h2>
+<p><strong>exiftool</strong> [<em>OPTIONS</em>] <strong>-tagsFromFile</strong> <em>SRCFILE</em>
+[-<em>SRCTAG</em>[><em>DSTTAG</em>]...] <em>FILE</em>...</p>
+<p>
+</p>
+<h2><a name="other">Other</a></h2>
+<p><strong>exiftool</strong> [ <strong>-ver</strong> |
+<strong>-list</strong>[<strong>w</strong>|<strong>f</strong>|<strong>r</strong>|<strong>wf</strong>|<strong>g</strong>[<em>NUM</em>]|<strong>d</strong>|<strong>x</strong>] ]</p>
 <p>For specific examples, see the <a href="#reading_examples">EXAMPLES</a> sections below.</p>
 <p>This documentation is displayed if exiftool is run without an input <em>FILE</em>
 when one is expected.</p>
@@ -109,42 +123,42 @@ supported by ExifTool (r = read, w = write, c = create):</p>
 <pre>
   File Types
   ------------+-------------+-------------+-------------+------------
-  3FR   r     | DV    r     | KDC   r     | OGV   r     | RW2   r/w
-  3G2   r/w   | DVB   r/w   | KEY   r     | OPUS  r     | RWL   r/w
-  3GP   r/w   | DYLIB r     | LA    r     | ORF   r/w   | RWZ   r
-  A     r     | EIP   r     | LFP   r     | OTF   r     | RM    r
-  AA    r     | EPS   r/w   | LNK   r     | PAC   r     | SEQ   r
-  AAX   r/w   | EPUB  r     | M2TS  r     | PAGES r     | SO    r
-  ACR   r     | ERF   r/w   | M4A/V r/w   | PBM   r/w   | SR2   r/w
-  AFM   r     | EXE   r     | MEF   r/w   | PCD   r     | SRF   r
-  AI    r/w   | EXIF  r/w/c | MIE   r/w/c | PDB   r     | SRW   r/w
-  AIFF  r     | EXR   r     | MIFF  r     | PDF   r/w   | SVG   r
-  APE   r     | EXV   r/w/c | MKA   r     | PEF   r/w   | SWF   r
-  ARW   r/w   | F4A/V r/w   | MKS   r     | PFA   r     | THM   r/w
-  ASF   r     | FFF   r/w   | MKV   r     | PFB   r     | TIFF  r/w
-  AVI   r     | FLA   r     | MNG   r/w   | PFM   r     | TORRENT r
-  AZW   r     | FLAC  r     | MOBI  r     | PGF   r     | TTC   r
-  BMP   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
-  BPG   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
-  BTF   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
-  CHM   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
-  COS   r     | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
-  CR2   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
-  CRW   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
-  CS1   r/w   | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
-  DCM   r     | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
-  DCP   r/w   | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
-  DCR   r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
-  DFONT r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
-  DIVX  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
-  DJVU  r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
-  DLL   r     | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
-  DNG   r/w   | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
-  DOC   r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
-  DOCX  r     | JNG   r/w   | ODS   r     | RAW   r/w   |
-  DPX   r     | JP2   r/w   | ODT   r     | RIFF  r     |
-  DR4   r/w/c | JPEG  r/w   | OFR   r     | RSRC  r     |
-  DSS   r     | K25   r     | OGG   r     | RTF   r     |</pre>
+  3FR   r     | DV    r     | K25   r     | OGG   r     | RTF   r
+  3G2   r/w   | DVB   r/w   | KDC   r     | OGV   r     | RW2   r/w
+  3GP   r/w   | DYLIB r     | KEY   r     | OPUS  r     | RWL   r/w
+  A     r     | EIP   r     | LA    r     | ORF   r/w   | RWZ   r
+  AA    r     | EPS   r/w   | LFP   r     | OTF   r     | RM    r
+  AAX   r/w   | EPUB  r     | LNK   r     | PAC   r     | SEQ   r
+  ACR   r     | ERF   r/w   | M2TS  r     | PAGES r     | SO    r
+  AFM   r     | EXE   r     | M4A/V r/w   | PBM   r/w   | SR2   r/w
+  AI    r/w   | EXIF  r/w/c | MEF   r/w   | PCD   r     | SRF   r
+  AIFF  r     | EXR   r     | MIE   r/w/c | PDB   r     | SRW   r/w
+  APE   r     | EXV   r/w/c | MIFF  r     | PDF   r/w   | SVG   r
+  ARW   r/w   | F4A/V r/w   | MKA   r     | PEF   r/w   | SWF   r
+  ASF   r     | FFF   r/w   | MKS   r     | PFA   r     | THM   r/w
+  AVI   r     | FLA   r     | MKV   r     | PFB   r     | TIFF  r/w
+  AZW   r     | FLAC  r     | MNG   r/w   | PFM   r     | TORRENT r
+  BMP   r     | FLIF  r/w   | MOBI  r     | PGF   r     | TTC   r
+  BPG   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
+  BTF   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
+  CHM   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
+  COS   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
+  CR2   r/w   | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
+  CRW   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
+  CS1   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
+  DCM   r     | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
+  DCP   r/w   | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
+  DCR   r     | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
+  DFONT r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
+  DIVX  r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
+  DJVU  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
+  DLL   r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
+  DNG   r/w   | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
+  DOC   r     | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
+  DOCX  r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
+  DPX   r     | JNG   r/w   | ODS   r     | RAW   r/w   |
+  DR4   r/w/c | JP2   r/w   | ODT   r     | RIFF  r     |
+  DSS   r     | JPEG  r/w   | OFR   r     | RSRC  r     |</pre>
 <pre>
   Meta Information
   ----------------------+----------------------+---------------------
@@ -240,7 +254,7 @@ options may appear after source file names on the exiftool command line.</p>
   -overwrite_original_in_place     Overwrite original by copying tmp file
   -P          (-preserve)          Preserve date/time of original file
   -password PASSWD                 Password for processing protected files
-  -progress                        Show file progress count
+  -progress[:[TITLE]]              Show file progress count
   -q          (-quiet)             Quiet processing
   -r[.]       (-recurse)           Recursively process subdirectories
   -scanForXMP                      Brute force XMP scan
@@ -272,7 +286,8 @@ options may appear after source file names on the exiftool command line.</p>
   -execute[NUM]                    Execute multiple commands on one line
   -srcfile FMT                     Process a different source file
   -stay_open FLAG                  Keep reading -@ argfile even after EOF
-  -userParam PARAM[=VAL]           Set user parameter (API UserParam opt)</pre>
+  -userParam PARAM[=VAL]           Set user parameter (API UserParam opt)
+  -windowTitle TITLE               Set console window title for each file</pre>
 <p>
 </p>
 <h2><a name="option_details">Option Details</a></h2>
@@ -332,9 +347,9 @@ Instead, individual tags may be recovered using the <strong>-tagsFromFile</stron
 tag if no <em>VALUE</em> is given (eg. <code>-comment=</code>).  <code>+=</code> and <code>-=</code> are used to
 add or remove existing entries from a list, or to shift date/time values
 (see <a href="Shift.html">Image::ExifTool::Shift.pl</a> and note 6 below
-for more details).  <code>+=</code> may also be used to increment numerical values,
-and <code>-=</code> may be used to conditionally delete or replace a tag (see
-<a href="#writing_examples">WRITING EXAMPLES</a> for examples).</p>
+for more details).  <code>+=</code> may also be used to increment numerical values (or
+decrement if <em>VALUE</em> is negative), and <code>-=</code> may be used to conditionally
+delete or replace a tag (see <a href="#writing_examples">WRITING EXAMPLES</a> for examples).</p>
 <p><em>TAG</em> may contain one or more leading family 0, 1 or 2 group names,
 prefixed by optional family numbers, and separated colons.  If no group name
 is specified, the tag is created in the preferred group, and updated in any
@@ -690,9 +705,9 @@ option.</p>
 are system dependent -- consult the <code>strftime</code> man page on your system for
 details.  The default format is equivalent to "%Y:%m:%d %H:%M:%S".  This
 option has no effect on date-only or time-only tags and ignores timezone
-information if present.  Only one <strong>-d</strong> option may be used per command.  The
-inverse operation (ie. un-formatting a date/time value) is currently not
-applied when writing a date/time tag.</p>
+information if present.  Only one <strong>-d</strong> option may be used per command. 
+Requires POSIX::strptime for the inversion conversion when writing (not
+included in the Windows EXE package).</p>
 </dd>
 <dt><strong><a name="d" class="item"><strong>-D</strong> (<strong>-decimal</strong>)</a></strong></dt>
 
@@ -894,7 +909,7 @@ are ignored.  For example, this format file:</p>
     exiftool -p test.fmt a.jpg b.jpg</pre>
 <p>produces output like this:</p>
 <pre>
-    -- Generated by ExifTool 10.25 --
+    -- Generated by ExifTool 10.31 --
     File: a.jpg - 2003:10:31 15:44:19
     (f/5.6, 1/60s, ISO 100)
     File: b.jpg - 2006:05:23 11:57:38
@@ -1429,16 +1444,24 @@ If a password is required but not given, a warning is issued and the
 document is not processed.  This option is ignored if a password is not
 required.</p>
 </dd>
-<dt><strong><a name="progress" class="item"><strong>-progress</strong></a></strong></dt>
+<dt><strong><a name="progress_title" class="item"><strong>-progress</strong>[:[<em>TITLE</em>]]</a></strong></dt>
 
 <dd>
 <p>Show file progress count in messages.  The progress count appears in
 brackets after the name of each processed file, and gives the current file
 number and the total number of files to be processed.  Implies the <strong>-v0</strong>
-option, which prints the name of each processed file when writing.  When
-combined with the <strong>-if</strong> option, the total count includes all files before
-the condition is applied, but files that fail the condition will not have
-their names printed.</p>
+option if <em>TITLE</em> is not used, printing the name of each processed file
+when writing.  When combined with the <strong>-if</strong> option, the total count
+includes all files before the condition is applied, but files that fail the
+condition will not have their names printed.</p>
+<p>If followed by a colon (ie. <strong>-progress:</strong>), the console window title is set
+according to the specified <em>TITLE</em> string.  If no <em>TITLE</em> is given, a
+default <em>TITLE</em> string of "ExifTool %p%%" is assumed.  In the string, %f
+represents the file name, %p is the progress as a percent, %r is the
+progress as a ratio, and %% is a % character.  May be combined with the
+normal <strong>-progress</strong> option to also show the progress count in console
+messages.  (Note:  This feature works on Mac/Linux only if stderr goes to
+the console.)</p>
 </dd>
 <dt><strong><a name="q" class="item"><strong>-q</strong> (<strong>-quiet</strong>)</a></strong></dt>
 
@@ -1518,11 +1541,12 @@ padding in embedded XMP, saving 2424 bytes when writing XMP in a file.</p>
 <p>Read command-line arguments from the specified file.  The file contains one
 argument per line (NOT one option per line -- some options require
 additional arguments, and all arguments must be placed on separate lines).
-Blank lines and lines beginning with <code>#</code> are ignored.  Normal shell
-processing of arguments is not performed, which among other things means
-that arguments should not be quoted and spaces are treated as any other
-character.  <em>ARGFILE</em> may exist relative to either the current directory or
-the exiftool directory unless an absolute pathname is given.</p>
+Blank lines and lines beginning with <code>#</code> are ignored.  White space at the
+start of a line is removed.  Normal shell processing of arguments is not
+performed, which among other things means that arguments should not be
+quoted and spaces are treated as any other character.  <em>ARGFILE</em> may exist
+relative to either the current directory or the exiftool directory unless an
+absolute pathname is given.</p>
 <p>For example, the following <em>ARGFILE</em> will set the value of Copyright to
 "Copyright YYYY, Phil Harvey", where "YYYY" is the year of CreateDate:</p>
 <pre>
@@ -1580,7 +1604,9 @@ indicated by a Flattened flag.</p>
 <dt><strong><a name="ver" class="item"><strong>-ver</strong></a></strong></dt>
 
 <dd>
-<p>Print exiftool version number.</p>
+<p>Print exiftool version number.  The <strong>-v</strong> option may be added to print
+addition system information (see the README file of the full distribution
+for more details about optional libraries).</p>
 </dd>
 </dl>
 <p>
@@ -1737,8 +1763,8 @@ more information about the ExifTool configuration file.</p>
 <dt><strong><a name="echo_num_text" class="item"><strong>-echo</strong>[<em>NUM</em>] <em>TEXT</em></a></strong></dt>
 
 <dd>
-<p>Echo text to stdout (<strong>-echo</strong> or <strong>-echo1</strong>) or stderr (<strong>-echo2</strong>).  Text is
-output as the command line is parsed, before the processing of any input
+<p>Echo <em>TEXT</em> to stdout (<strong>-echo</strong> or <strong>-echo1</strong>) or stderr (<strong>-echo2</strong>).  Text
+is output as the command line is parsed, before the processing of any input
 files.  <em>NUM</em> may also be 3 or 4 to output text (to stdout or stderr
 respectively) after processing is complete.</p>
 </dd>
diff --git a/html/faq.html b/html/faq.html
index 1f90e35..10145a6 100644
--- a/html/faq.html
+++ b/html/faq.html
@@ -28,7 +28,7 @@ ol.index { margin: 0; padding: 0 0 0 2em }
 <li><a href="#Q10">Coded character sets</a></li>
 <li><a href="#Q11">User-defined tags</a></li>
 <li><a href="#Q12">Export to database</a></li>
-<li><a href="#Q13">Output file size</a></li>
+<li><a href="#Q13">Output file size and image quality</a></li>
 <li><a href="#Q14">GPS coordinate format</a></li>
 <li><a href="#Q15">MakerNote errors</a></li>
 <li><a href="#Q16">Some files not renamed</a></li>
@@ -852,7 +852,8 @@ documentation</a> for more information about this feature.
 
 <a name="Q13"></a>
 <p>13a. <b>"Why is my file smaller after I use ExifTool to write information?"</b>, or
-<br>13b. <b>"Why do some Offset tags change value when I write other tags?"</b></p>
+<br>13b. <b>"Why do some Offset tags change value when I write other tags?"</b>, or
+<br>13c. <b>"How does editing a file with ExifTool affect image quality?"</b></p>
 
 <blockquote>
 There are various specific reasons why this can happen, but the general answer
@@ -887,8 +888,8 @@ ThumbnailOffset and PreviewImageStart) may change when the file is rewritten.
 This is normal, and simply indicates that the associated data is now stored at a
 different position within the file.</blockquote>
 
-<blockquote>ExifTool does not modify the image data itself, so editing a file is
-"lossless" as far as the image is concerned.</blockquote>
+<blockquote>ExifTool does not modify the image data itself, so <b>editing a file
+with ExifTool is "lossless" as far as the image is concerned</b>.</blockquote>
 
 <a name="Q14"></a>
 <p>14. <b>"What format do I use for writing GPS coordinates?"</b></p>
@@ -1096,10 +1097,11 @@ any command where the same tag is set with "<code>+=</code>" or
 "<code>-=</code>" in another assignment.  (ie. existing items will be preserved
 unless specifically deleted with "<code>-=</code>".)</blockquote>
 
-<blockquote>To prevent duplication when adding new items, specific items can be
-deleted then added back again in the same command.  For example, the following
-command adds the keywords "one" and "two", ensuring that they are not duplicated
-if they already existed in the keywords of an image:
+<blockquote><a name="nodups"></a><b>To prevent duplication when adding new
+items</b>, specific items can be deleted then added back again in the same
+command.  For example, the following command adds the keywords "one" and "two",
+ensuring that they are not duplicated if they already existed in the keywords of
+an image:
 
 <pre>exiftool -keywords-=one -keywords+=one -keywords-=two -keywords+=two DIR
 </pre>
@@ -1581,7 +1583,7 @@ proper technique for shifting a date/time value when copying:
 </blockquote>
 
 <hr>
-<i>Last revised Jul 21, 2016</i>
+<i>Last revised Oct 19, 2016</i>
 <p class='lf'><a href="index.html"><-- Back to ExifTool home page</a></p>
 </body>
 </html>
diff --git a/html/filename.html b/html/filename.html
index 1154901..7b5aa9d 100644
--- a/html/filename.html
+++ b/html/filename.html
@@ -35,21 +35,22 @@ without making any changes to the files.  (Note that there is no corresponding
 test tag for <b>Directory</b>, but <b>TestName</b> supports a full path name
 just like <b>FileName</b>, so the directory may be tested as well.)</p>
 
-<p>The <code>%d</code>, <code>%f</code>, <code>%e</code> file name format codes
-may be used to represent the directory, name and extension of the original file
-when specifying <b>FileName</b> and <b>Directory</b> tags via the command-line
-interface. (In a similar way to the <code>-o</code>, <code>-w</code> and
-<code>-tagsFromFile</code> options.) Also, <code>%c</code> may be used to add a
-copy number to the output file name to avoid collisions with existing file
-names. Note that these codes must be escaped with an extra <code>%</code> if
-used within a date format string.  Modifiers may also be used to change the
-default behaviour of these format codes.  See the <code>-w</code> option in the
-<a href="exiftool_pod.html">application documentation</a> for details.</p>
+<p>When writing the <b>FileName</b>, <b>Directory</b> or <b>TestName</b> tag,
+<code>%d</code>, <code>%f</code> and <code>%e</code> may be used to represent
+the directory, name and extension of the original file (in a similar way to the
+<code>-o</code>, <code>-w</code> and <code>-tagsFromFile</code> options).  Also,
+<code>%c</code> may be used to add a copy number to the output file name to
+avoid collisions with existing file names. Note that these codes must be escaped
+with an extra <code>%</code> if used within a date format string.  Modifiers may
+also be used to change the default behaviour of these format codes.  See the
+<code>-w</code> option in the <a href="exiftool_pod.html">application
+documentation</a> for details.</p>
 
-<p>When organizing files by date/time, use of the <code>-d</code> (date format)
-option is essential to specify a format for the filename (and/or directory
-name).  The examples below demonstrate the use of this feature.  Also, a list of
-of <a href="#codes">common date format codes</a> is provided for reference.</p>
+<p>When organizing files by date/time, the <code>-d</code> (date format) option
+is essential for specifying a format for the date/time tag(s) used to generate
+the new file and/or directory name.  The examples below demonstrate the use of
+this feature.  Also, a list of of <a href="#codes">common date format codes</a>
+is provided for reference.</p>
 
 <blockquote class=prog><b class=red>Advanced feature:</b> The write-only
 <b>HardLink</b> tag may be written using a technique similar to <b>FileName</b>.
@@ -179,18 +180,17 @@ example the file '<code>pics/toys/new_car.jpg</code>' is moved to
 <a name="ex5"></a><table cellpadding=6>
 <tr><td valign='top'> 5.</td><td bgcolor='#dddddd'><code class='blk'>
 exiftool -r -o %e_images/%d pics<br>
-exiftool -r -o dummy/ -directory=%e_images/%d pics
+exiftool -r -o . -directory=%e_images/%d pics
 </code></td></tr></table>
 <blockquote>
 Both of these commands have the same effect as example 3 above except that
-images are copied instead of moved since the <code>-o</code> option was used. In
-the second command the trailing '<code>/</code>' on '<code>dummy/</code>' is
-necessary because otherwise '<code>dummy</code>' would be interpreted as a file
-name.  This technique of using <code>-o</code> with a dummy directory name is
-necessary when the directory name is derived from the value of other tags (eg.
-'<code>-directory<createDate</code>') and you want the files to be copied
-instead of moved.  (Because the values of other tags may not be used with the
-<code>-o</code> option.)
+images are copied instead of moved since the <code>-o</code> option was used.
+The output directory specified by the <code>-o</code> option is overridden in
+the second example by writing the Directory tag.  This technique of using
+<code>-o</code> with a dummy directory name is necessary when you want the files
+to be copied instead of moved and the directory name is derived from the value
+of other tags (eg. '<code>-directory<createDate</code>').  (Because the
+values of other tags may not be used with the <code>-o</code> option.)
 </blockquote>
 
 <a name="ex6"></a><table cellpadding=6>
diff --git a/html/geotag.html b/html/geotag.html
index 5f806dc..e4366aa 100644
--- a/html/geotag.html
+++ b/html/geotag.html
@@ -61,7 +61,7 @@ must be <a href="#Orient">user-defined</a>.</i></blockquote>
 <h3>Implementation</h3>
 
 <p>Geotagging is accomplished in ExifTool through the use of three special
-<a href="TagNames/Extra.html">Extra tags</a>:
+write-only <a href="TagNames/Extra.html">Extra tags</a>:
 <code>Geotag</code>, <code>Geosync</code> and <code>Geotime</code>.</p>
 
 <blockquote class=lt><i>Note: When writing these tags, order is important. If
@@ -80,9 +80,8 @@ track log file "track.log" in the current directory:</p>
 <pre>exiftool -geotag=track.log /Users/Phil/Pictures
 </pre>
 
-<p>As a convienience the exiftool application also provides a
-<code>-geotag</code> option, so the following command is equivalent to the one
-above:</p>
+<p>For convienience, the exiftool application also provides a
+<code>-geotag</code> option, so this command is equivalent to the one above:</p>
 
 <pre>exiftool -geotag track.log /Users/Phil/Pictures
 </pre>
diff --git a/html/history.html b/html/history.html
index f4ae09a..a1aedff 100644
--- a/html/history.html
+++ b/html/history.html
@@ -17,6 +17,109 @@ considered development releases, and are not uploaded to <a href="http://search.
 <!-- Use line width of 80 -->
 <!-- *********************************************************************** -->
 
+<a name='v10.31'><b>Oct. 19, 2016 - Version 10.31</b></a>
+<ul>
+<li>Added write support for FLIF images
+<li>Added support for animated PNG images
+<li>Added a few new SamsungModelID values
+<li>Added a new Canon LensType
+<li>Added a new Sony/Minolta LensType (thanks Jos Roost)
+<li>Decode more Samsung tags (thanks Klaus Homeister and Sreerag Raghavan)
+<li>Decode more Nikon tags (thanks Warren Hatch)
+<li>Changed "TAG does not exist" warning when writing to "TAG is not supported"
+<li>Fixed problem importing information from CSV or JSON databases for files
+    with special characters in their name
+</ul>
+
+<a name='v10.30'><b>Oct. 13, 2016 - Version 10.30</b></a>
+<ul>
+<li>Added read support for FLIF images
+<li>Added a couple of new Minolta/Sony LensType values (thanks Jos Roost)
+<li>Added a new SonyModelID (thanks LibRaw and Jos Roost)
+<li>Added a new digiKam XMP tag
+<li>Decode a new Apple tag (thanks Neal Krawetz)
+<li>Decode a few new FujiFilm tags (thanks Chris Schucker)
+<li>Decode more Nikon D5 custom settings (thanks Warren Hatch)
+<li>Decode a couple more Samsung tags (thanks Klaus Homeister)
+<li>Improved decoding of Nikon D500/D5 ShotInfo information
+<li>Enhanced -ver option to output system information when -v is added
+<li>Minor change to parsing of -@ argfile (comment lines may may no longer have
+    spaces before the "#")
+<li>Patched Jpeg2000 reader to read bad UUID-EXIF boxes
+<li>Lowered priority of unknown XMP tags when reading
+<li>Fixed problem in new xmp2exif.args date/time arguments introduced in 10.28
+<li>Fixed potential "Use of uninitialized value" warning when decoding
+    compressed PNG iTXt chunk
+</ul>
+
+<a name='v10.29'><b>Oct. 5, 2016 - Version 10.29</b></a>
+<ul>
+<li>Added a couple of new Sony LensType values (thanks LibRaw)
+<li>Decode a few new Sony tags
+<li>Decode a few new FLIR tags
+<li>Decode some new Nikon D5 tags (thanks Warren Hatch)
+<li>Decode a new Apple tag
+<li>Enhanced -geotag option to allow tagging from KML placemarks with a TimeSpan
+<li>Enhanced -d option (and API DateFormat option) to perform inverse date/time
+    conversion when writing if the POSIX::strptime module is available.  If
+    POSIX::strptime is not available then the behaviour is like older versions
+    (ie. the date/time is not converted) unless the API StrictDate option is set
+    in which case a warning is issued and the tag is not written
+</ul>
+
+<a name='v10.28'><b>Sept. 27, 2016 - Version 10.28</b> - "EXIF 2.31"</a>
+<ul>
+<li>Added support for new EXIF 2.31 tags
+<li>Added some new Canon LensType values (thanks Norbert Wasser for one)
+<li>Added a new Olympus LensType (thanks LibRaw and Niels Kristian Bech Jensen)
+<li>Added a new Sony LensType and SonyModelID (thanks Jos Roost)
+<li>Added a new Pentax LensType
+<li>Added fotoware.config and bibble.config files to the distribution
+<li>Made Composite SubSecDateTimeOriginal, SubSecCreateDate and SubSecModifyDate
+    tags writable, and expanded to include new EXIF 2.31 time zone tags
+<li>Fixed problem writing user-defined structured tag elements with a dot (.) in
+    their tag ID
+</ul>
+
+<a name='v10.27'><b>Sept. 23, 2016 - Version 10.27</b></a>
+<ul>
+<li>Added a new CanonModelID (thanks LibRaw)
+<li>Added a new Sony LensType (thanks Jos Roost)
+<li>Added a few new NikonLensID's (thanks Yang You and Robert Rottmerhusen)
+<li>Added a couple of new Olympus LensType values (thanks LibRaw and Niels
+    Kristian Bech Jensen)
+<li>Added a new Olympus CameraType
+<li>Decode some Canon 80D, 750D, 760D and 1200D CameraInfo tags
+<li>Changed writing of some ExposureTime and ExposureCompensation tags to allow
+    the exact numerator and denominator of the stored rational value to be
+    specified
+<li>Fixed Timecode printout in -v3 output for M2TS videos (thanks Ken Neighbors)
+<li>Fixed some problems with the new "-progress:TITLE" feature
+<li>Fixed problem where "_exiftool_tmp" file could be left around after a failed
+    write attempt
+<li>Fixed potential "isn't numeric" runtime error when reading a PDF file with
+    the -ee option
+</ul>
+
+<a name='v10.26'><b>Sept. 15, 2016 - Version 10.26</b></a>
+<ul>
+<li>Added read support for GSpherical metadata in MP4 videos
+<li>Added a few new XMP-xmpMM tags and a new XMP-crs tag
+<li>Added some new Minolta/Sony lenses (thanks Jos Roost)
+<li>Added two new CanonModelID's (thanks Norbert Wasser and Laurent Clevy)
+<li>Added two new Canon LensType's (thanks Norbert Wasser)
+<li>Decode a number of Nikon D610 custom settings (thanks Tor)
+<li>Removed a questionable Samsung tag
+<li>Marked TestName tag as "Unsafe" for writing
+<li>Enhanced -progress option with ability to set console window title
+<li>Changed behaviour of %C to increment for each processed file as documented
+    (was incrementing for each output file created)
+<li>Patched to recreate XMP in the standard location of PNG images when deleting
+    certain non-standard XMP as a group and recreating in one step
+<li>Fixed runtime warning when writing 0 to MinoltaRaw ISOSetting
+<li>Fixed problem writing SRW images from some newer Samsung models
+</ul>
+
 <a name='v10.25'><b>Aug. 3, 2016 - Version 10.25</b></a>
 <ul>
 <li>Added a new Pentax PictureMode (thanks Louis Granboulan)
diff --git a/html/index.html b/html/index.html
index 818c2e6..8cb00ee 100644
--- a/html/index.html
+++ b/html/index.html
@@ -74,9 +74,9 @@ span.sup        { font-size: 0.8em; font-weight: normal; position: relative; top
 </div>
 
 <blockquote><table class='dl lg'><tr><td><b>
-<a href="Image-ExifTool-10.25.tar.gz">
-Download        Version 10.25</a> (4.0 MB) -
-<a href="history.html">Aug. 3, 2016</a></b></td></tr></table></blockquote>
+<a href="Image-ExifTool-10.31.tar.gz">
+Download        Version 10.31</a> (4.0 MB) -
+<a href="history.html">Oct. 21, 2016</a></b></td></tr></table></blockquote>
 
 <p><b>ExifTool is a platform-independent <a href="ExifTool.html">Perl
 library</a> plus a <a href="exiftool_pod.html">command-line application</a> for
@@ -127,8 +127,8 @@ distribution above.)</i></p>
 
 <blockquote><table class='dl lg'><tr><td><b>
 <a name="alone">Windows Executable:</a>
-<a href="exiftool-10.25.zip">
-         exiftool-10.25.zip</a> (4.9 MB)</b></td></tr></table></blockquote>
+<a href="exiftool-10.31.zip">
+         exiftool-10.31.zip</a> (5.0 MB)</b></td></tr></table></blockquote>
 
 <p><b>The stand-alone Windows executable</b> does not require Perl. Just
 download and un-zip the archive then double-click on
@@ -139,12 +139,12 @@ of Windows.</p>
 
 <blockquote><table class='dl lg'><tr><td><b>
 Mac OS X Package:
-<a href="ExifTool-10.25.dmg">
-         ExifTool-10.25.dmg</a> (2.6 MB)</b></td></tr></table></blockquote>
+<a href="ExifTool-10.31.dmg">
+         ExifTool-10.31.dmg</a> (2.6 MB)</b></td></tr></table></blockquote>
 
 <p><b>The OS X package</b> installs the ExifTool command-line application and
-libraries in /usr/bin. After installing, type "<code>exiftool</code>" in a
-Terminal window to run exiftool and read the application documentation.</p>
+libraries in /usr/local/bin. After installing, type "<code>exiftool</code>" in
+a Terminal window to run exiftool and read the application documentation.</p>
 
 <p>Read the <b><a href="install.html">installation instructions</a></b> for help
 installing ExifTool on Windows, Mac OS X and Unix systems.</p>
@@ -229,9 +229,9 @@ the metadata like ExifTool"</i> - <a href="http://web.archive.org/web/2008030710
 detailed exif data of /any/ tool I've found."</i>
 - <a href="http://mail.gnome.org/archives/eog-list/2005-August/msg00002.html">gnome mail archives</a>
 </blockquote>
-<blockquote><i>"... no program or API gets close to ExifTool in terms of robustness,
+<!-- <blockquote><i>"... no program or API gets close to ExifTool in terms of robustness,
 feature count and support."</i> - <a href="http://www.christian-etter.de/?p=33">CE's Blog</a>
-</blockquote>
+</blockquote> [dead link] -->
 <blockquote><i>"ExifTool makes every other EXIF reader (and writer) than I've
 seen, including the camera manufacturers' readers, look lame."</i>
 - <a href="http://photo.net/bboard/q-and-a-fetch-msg?msg_id=00IfoF">photo.net Nikon forum</a>
@@ -309,6 +309,7 @@ for each file format.</p>
 <tr><td><a href="TagNames/FLIR.html#FFF">FFF</a></td><td>R</td><td>FLIR Systems thermal image File Format</td><td>-</td><td>-</td><td>-</td><td>-</td><td>R <a href="TagNames/FLIR.html#FFF">FLIR</a></td></tr>
 <tr><td>FLA</td><td>R</td><td>Macromedia/Adobe Flash project (<a href="TagNames/FlashPix.html">FPX</a>-like)</td><td>-</td><td>-</td><td>R</td><td>R</td><td>R <a href="TagNames/FlashPix.html">FlashPix</a></td></tr>
 <tr><td><a href="TagNames/FLAC.html">FLAC</a></td><td>R</td><td>Free Lossless Audio Codec</td><td>-</td><td>-</td><td>-</td><td>-</td><td>R <a href="TagNames/FLAC.html">FLAC</a> <a href="TagNames/ID3.html">ID3</a></td></tr>
+<tr><td><a href="TagNames/FLIF.html">FLIF</a></td><td>R/W</td><td>Free Lossless Image Format</td><td>R/W/C</td><td>-</td><td>R/W/C</td><td>R/W/C</td><td>R <a href="TagNames/FLIF.html">FLIF</a></td></tr>
 <tr><td><a href="TagNames/Flash.html#FLV">FLV</a></td><td>R</td><td>Flash Video</td><td>-</td><td>-</td><td>R</td><td>-</td><td>R <a href="TagNames/Flash.html#FLV">Flash</a></td></tr>
 <tr><td><a href="TagNames/FLIR.html#FPF">FPF</a></td><td>R</td><td>FLIR Public image Format</td><td>-</td><td>-</td><td>-</td><td>-</td><td>R <a href="TagNames/FLIR.html#FPF">FLIR</a></td></tr>
 <tr><td><a href="TagNames/FlashPix.html">FPX</a></td><td>R</td><td>FlashPix image</td><td>-</td><td>-</td><td>R</td><td>R</td><td>R <a href="TagNames/FlashPix.html">FlashPix</a></td></tr>
@@ -488,7 +489,10 @@ of meta information in JPEG images:</p>
 
 <h2><a name="system">System Requirements</a></h2>
 
-<p>Requires Perl 5.004 or later.  No other libraries or software required.</p>
+<p>Requires Perl 5.004 or later.  No other libraries or software required, but
+some optional Perl modules may be added to enable certain ExifTool features (for
+details, see the DEPENDENCIES section of the README file included in the full
+distribution).</p>
 
 <p><b>Windows users:</b> A <a href="#alone">stand-alone Windows executable</a>
 version of ExifTool is available which doesn't require Perl.  You can also use
@@ -915,7 +919,8 @@ there, which apparently may be seen as a threat by antivirus software.  A
 work-around is to add ExifTool to the exclusion list of the antivirus software.</li>
 <li><b>Adobe Camera Raw and DNG Converter 9.5.1</b> fail to recognize edited
 <b>Samsung SRW</b> images from some models (NX30, NX300, NX2000 and EK-GN120).
-<i class=red>[This bug was reported to Adobe on May 26, 2016.]</i></li>
+<i class=red>[This problem was fixed for the NX models in ExifTool 10.26, but
+remains for the EK-GN120]</i></li>
 <li>In <b>Windows</b>, ExifTool will not process files with <b>Unicode characters
 in the file name</b>.  This is due to an underlying lack of support for Unicode
 filenames in the Windows standard C I/O libraries. <i class=grn>[This deficiency
@@ -1032,13 +1037,13 @@ greatly improved by taking advantage of ExifTool's <b>batch processing capabilit
 (the ability to process multiple files or entire directories with a single
 command) to reduce the number of executed commands when performing complex
 operations or processing multiple files.<span class=sm><sup>†</sup></span>
-<i>[One exiftool user <a href="http://www.christian-etter.de/?p=458">documented
-a 60x speed increase</a> by processing a large number of files with a single
-command instead of running exiftool separately on each file.]</i> Also, the
-<code>-execute</code> option may be used to perform multiple independent
-operations with a single invocation of exiftool, and together with the
-<code>-stay_open</code> option provides a method for calling applications to
-<b>avoid this startup overhead</b>.</p>
+<i>[One exiftool user <!-- <a href="http://www.christian-etter.de/?p=458"> [dead link] -->
+documented a 60x speed increase <!-- </a> --> by processing a large number of files
+with a single command instead of running exiftool separately on each
+file.]</i> Also, the <code>-execute</code> option may be used to perform
+multiple independent operations with a single invocation of exiftool, and
+together with the <code>-stay_open</code> option provides a method for
+calling applications to <b>avoid this startup overhead</b>.</p>
 
 <p>It has also been observed that the loading time of ExifTool for Windows
 increases significantly when Windows Defender is active.  <b>Disabling Windows
@@ -1099,7 +1104,7 @@ binary data.  The simple script above does not handle this case.</p>
 <li><a href="faq.html">ExifTool FAQ</a></li>
 <li><a href="http://u88.n24.queensu.ca/exiftool/forum/">ExifTool Forum</a></li>
 <li><a href="TagNames/index.html">ExifTool Tag Names</a></li>
-<li><a href="history.html">Aug. 3, 2016</a> (<a href="http://owl.phy.queensu.ca/~phil/exiftool/rss.xml">RSS feed</a>)</li>
+<li><a href="history.html">Oct. 21, 2016</a> (<a href="http://owl.phy.queensu.ca/~phil/exiftool/rss.xml">RSS feed</a>)</li>
 <li><a href="exiftool_pod.html">exiftool Application Documentation</a> (<a href="http://owl.phy.queensu.ca/~phil/exiftool/exiftool_pod.pdf">download in PDF format</a>)</li>
 <li><a href="ExifTool.html">Image::ExifTool API Documentation</a> (<a href="http://owl.phy.queensu.ca/~phil/exiftool/ExifTool.pdf">download in PDF format</a>)</li>
 <li><a href="Shift.html">Date/Time Shift Module</a> (<a href="http://owl.phy.queensu.ca/~phil/exiftool/Shift.pdf">download in PDF format</a>)</li>
@@ -1214,7 +1219,7 @@ three droplets to extract information [exiftool must be installed] (thanks to Ro
 <ul>
 <li><a href="http://regex.info/exif.cgi">Jeffrey's Exif Viewer</a>: Web utility to view meta information in online images</li>
 <li><a href="http://www.thexifer.net/">The eXif.er</a>: Web-based EXIF editor</li>
-<!-- dead <li><a href="http://www.exif-search.com/">exif Photo Search</a>: Search the internet for photos base on EXIF metadata</li> -->
+<!-- gone commercial <li><a href="http://www.exif-search.com/">exif Photo Search</a>: Search the internet for photos base on EXIF metadata</li> -->
 </ul>
 
 <p><b><a name="related_lightroom">Lightroom Plugins</a></b></p>
diff --git a/html/install.html b/html/install.html
index d53263b..eceee75 100644
--- a/html/install.html
+++ b/html/install.html
@@ -55,10 +55,10 @@ documentation or some other files of the full distribution.</p>
 <h3>Stand-Alone Executable</h3>
 <ol>
 <li><b>Download</b> the <b>Windows Executable</b> from the <a href="index.html">ExifTool home page</a>.
-<br><span class=lt>(The file you download will have a name like "<code>exiftool-10.25.zip</code>".)</span></li>
+<br><span class=lt>(The file you download will have a name like "<code>exiftool-10.31.zip</code>".)</span></li>
 <li><b>Extract "<code>exiftool(-k).exe</code>"</b> from the
 "<code>.zip</code>" file, and place it <b>on your Desktop</b>.
-<br><span class=lt>(Double-click on "<code>exiftool-10.25.zip</code>" to open
+<br><span class=lt>(Double-click on "<code>exiftool-10.31.zip</code>" to open
 the archive, then drag "<code>exiftool(-k).exe</code>" to your Desktop.)</span></li>
 </ol>
 <p>You can now double-click on "<code>exiftool(-k).exe</code>" to read the
@@ -106,7 +106,7 @@ can be downloaded from
 <a href="http://www.activestate.com/activeperl/">activeperl.com</a>.)</p>
 <ol>
 <li><b>Download</b> the <b>Image-ExifTool distribution</b> from the <a href="index.html">ExifTool home page</a>
-<br><span class=lt>(The file you download will have a name like "<code>Image-ExifTool-10.25.tar.gz</code>".)</span></li>
+<br><span class=lt>(The file you download will have a name like "<code>Image-ExifTool-10.31.tar.gz</code>".)</span></li>
 <li><b>Extract the ExifTool files</b> from the archive.
 <br><span class=lt>(The archive is a gzipped tar file, and can be opened with
 various Windows utilities, including WinZip.)</span></li>
@@ -148,7 +148,7 @@ in the OS X package.  Both versions run natively on PPC and Intel Macs.</p>
 <h3>OS X Package</h3>
 <ol>
 <li><b>Download</b> the <b>ExifTool OS X Package</b> from the <a href="index.html">ExifTool home page</a>.
-<br><span class=lt>(The file you download will have a name like "<code>ExifTool-10.25.dmg</code>".)</span></li>
+<br><span class=lt>(The file you download will have a name like "<code>ExifTool-10.31.dmg</code>".)</span></li>
 <li><b>Install</b> as a normal <b>OS X package</b>.
 <br><span class=lt>(Open the disk image, double-click on the install package, and follow the instructions.)
 </span></li>
@@ -163,12 +163,12 @@ in the OS X package.  Both versions run natively on PPC and Intel Macs.</p>
 <ol>
 <li><b>Download</b> the <b>Image-ExifTool distribution</b> from the <a href="index.html">ExifTool home page</a>
 to your Desktop.
-<br><span class=lt>(The file you download will have a name like "<code>Image-ExifTool-10.25.tar.gz</code>".)</span></li>
+<br><span class=lt>(The file you download will have a name like "<code>Image-ExifTool-10.31.tar.gz</code>".)</span></li>
 <li><b>Launch</b> the <b>Terminal</b> application from the Utilities folder in your Applications folder.</li>
 <li>In the Terminal window, <b>type the following</b>:
 <pre class='code'>    cd ~/Desktop
-    tar -xzf Image-ExifTool-10.25.tar.gz
-    cd Image-ExifTool-10.25
+    tar -xzf Image-ExifTool-10.31.tar.gz
+    cd Image-ExifTool-10.31
     sudo cp -r exiftool lib /usr/local/bin
 </pre>
 <span class=lt>(Note: The last step above will require you to enter your
@@ -184,7 +184,7 @@ your Perl version. If both sets of libraries exist, /usr/local/bin/lib takes
 precedence for exiftool, but /Library/Perl/#.#.# is the default for any other
 Perl scripts.</li>
 <li>In OS X 10.8 or later, you may see this message when you try to open the install package:
-<blockquote class=red>"ExifTool-10.25.pkg" can't be opened because it is from an
+<blockquote class=red>"ExifTool-10.31.pkg" can't be opened because it is from an
 unidentified developer.</blockquote> The solution is to set "Allow applications downloaded
 from" to "Anywhere" in the General "Security & Privacy" System Preferences.
 (<a href="http://news.softpedia.com/news/Fix-OS-X-Error-Application-Can-t-Be-Opened-Because-it-Is-from-an-Unidentified-Developer-407375.shtml">Read
@@ -208,11 +208,11 @@ have the wrong "<code>lib</code>" folder.</li>
 
 <ol>
 <li><b>Download</b> the <b>Image-ExifTool distribution</b> from the <a href="index.html">ExifTool home page</a>
-<br><span class=lt>(The file you download will have a name like "<code>Image-ExifTool-10.25.tar.gz</code>".)</span></li>
+<br><span class=lt>(The file you download will have a name like "<code>Image-ExifTool-10.31.tar.gz</code>".)</span></li>
 <li><b>Unpack the distribution</b> and <b>make it your current directory</b> by typing:
 <pre class='code'>    cd <i><your download directory></i>
-    gzip -dc Image-ExifTool-10.25.tar.gz | tar -xf -
-    cd Image-ExifTool-10.25
+    gzip -dc Image-ExifTool-10.31.tar.gz | tar -xf -
+    cd Image-ExifTool-10.31
 </pre>
 <span class=lt>(At this point you may run exiftool by typing
 "<code>exiftool <i><image file name></i></code>".)</span></li>
diff --git a/html/standards.html b/html/standards.html
index c36b3dd..1b832ce 100644
--- a/html/standards.html
+++ b/html/standards.html
@@ -100,7 +100,8 @@ addressed.</p>
 <ol>
 <li>Maker note data structure has no restrictions and is easily invalidated when
 editing EXIF.</li>
-<li>No facility for storing the time zone for date/time values.</li>
+<li>No facility for storing the time zone for date/time values. <i>[finally
+added to Exif 2.31 spec.]</i></li>
 <li>Very limited support for alternate character sets (essentially only the
 UserComment tag has this feature).</li>
 <li>No alternate language support.</li>
@@ -118,7 +119,8 @@ store the absolute maximum aperture of the lens.</li>
 <li>EXIF is not extensible, and is missing definitions for storing some
 information that could be very useful to camera owners (eg. camera pitch/roll
 angles, sensor temperature, face detection, auto-focus points, image
-stabilization, flash exposure compensation, etc).</li>
+stabilization, flash exposure compensation, etc). <i>[Some of these tags
+were added in the Exif 2.31 specification.]</i></li>
 </ol>
 
 <p><b>Simple solutions:</b></p>
@@ -280,7 +282,7 @@ so the URL's referenced here are now broken.]</i></p>
 </ol>
 <hr>
 <i>Created Sep 17, 2009</i><br>
-<i>Last revised Apr 23, 2015</i>
+<i>Last revised Sept 26, 2016</i>
 <p class='lf'><a href="index.html"><-- Back to ExifTool home page</a></p>
 </body>
 </html>
diff --git a/html/struct.html b/html/struct.html
index b5d9ad5..7af7225 100644
--- a/html/struct.html
+++ b/html/struct.html
@@ -204,8 +204,9 @@ Struct option.)</p>
 <h2>Deleting / Replacing</h2>
 
 <p>A <b>complete structure is deleted</b> by specifying one or more matching
-fields. For example, the following command deletes all HierarchicalKeywords
-structures which have the Keyword "<code>Terrier</code>" at the second level:</p>
+fields.  All fields must match for the structure to be deleted.  For example,
+the following command deletes all HierarchicalKeywords structures which have the
+Keyword "<code>Terrier</code>" at the second level:</p>
 
 <blockquote><table class='box'><tr><td>
 <pre class=code>exiftool -hierarchicalkeywords-="{Children={Keyword=Terrier}}" a.jpg</pre>
@@ -285,14 +286,13 @@ field name, or inside or after a string value, and an optional comma may be
 added after the last field in a structure.</li>
 </ol>
 
-<p>For example, with a command like this:</p>
+<p>For example, with this command:</p>
 
 <blockquote><table class='box'><tr><td>
 <pre class=code>exiftool "-RegionInfo<=INFILE" a.xmp</pre>
 </td></tr></table></blockquote>
 
-<p>the INFILE below may be used to write structured information to
-XMP:RegionInfo.</p>
+<p>the INFILE below writes structured information to XMP-mwg-rs:RegionInfo.</p>
 
 <blockquote><table class='box'><tr><td>
 <pre>{
@@ -425,7 +425,7 @@ See the NewXMPxxxStruct tag definition in the <a href="config.html#xmp-xxx">XMP-
 examples of the sample config file</a> for more details.</p>
 
 <hr>
-<i>Last revised Nov. 25, 2014</i>
+<i>Last revised Sept. 7, 2016</i>
 <p class='lf'><a href="index.html"><-- Back to ExifTool home page</a></p>
 </body>
 </html>
diff --git a/lib/Image/ExifTool.pm b/lib/Image/ExifTool.pm
index ecc0823..aef5f12 100644
--- a/lib/Image/ExifTool.pm
+++ b/lib/Image/ExifTool.pm
@@ -27,7 +27,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
             %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
             %jpegMarker %specialTags);
 
-$VERSION = '10.25';
+$VERSION = '10.31';
 $RELEASE = '';
 @ISA = qw(Exporter);
 %EXPORT_TAGS = (
@@ -130,10 +130,10 @@ sub ReadValue($$$$$;$);
 @loadAllTables = qw(
     PhotoMechanic Exif GeoTiff CanonRaw KyoceraRaw Lytro MinoltaRaw PanasonicRaw
     SigmaRaw JPEG GIMP Jpeg2000 GIF BMP BMP::OS2 BPG BPG::Extensions PICT PNG
-    MNG DjVu DPX OpenEXR MIFF PGF PSP PhotoCD Radiance PDF PostScript
+    MNG FLIF DjVu DPX OpenEXR MIFF PGF PSP PhotoCD Radiance PDF PostScript
     Photoshop::Header Photoshop::Layers Photoshop::ImageData FujiFilm::RAF
     FujiFilm::IFD Samsung::Trailer Sony::SRF2 Sony::SR2SubIFD Sony::PMP ITC ID3
-    Vorbis Ogg APE APE::NewHeader APE::OldHeader Audible MPC MPEG::Audio
+    FLAC Ogg Vorbis APE APE::NewHeader APE::OldHeader Audible MPC MPEG::Audio
     MPEG::Video MPEG::Xing M2TS QuickTime QuickTime::ImageFile Matroska MOI MXF
     DV Flash Flash::FLV Real::Media Real::Audio Real::Metafile RIFF AIFF ASF
     DICOM MIE HTML XMP::SVG Palm Palm::MOBI Palm::EXTH Torrent EXE
@@ -174,14 +174,14 @@ $defaultLang = 'en';    # default language
 # 2) Put types with weak file signatures at end of list to avoid false matches
 @fileTypes = qw(JPEG CRW DR4 TIFF GIF MRW RAF X3F JP2 PNG MIE MIFF PS PDF PSD XMP
                 BMP BPG PPM RIFF AIFF ASF MOV MPEG Real SWF PSP FLV OGG FLAC APE
-                MPC MKV MXF DV PMP IND PGF ICC ITC FLIR FPF LFP HTML VRD RTF XCF
-                DSS QTIF FPX PICT ZIP GZIP PLIST RAR BZ2 TAR RWZ EXE EXR HDR CHM
-                LNK WMF AVC DEX DPX RAW Font RSRC M2TS PHP Torrent VCard AA PDB
-                MOI ISO MP3 DICOM PCD);
+                MPC MKV MXF DV PMP IND PGF ICC ITC FLIR FLIF FPF LFP HTML VRD
+                RTF XCF DSS QTIF FPX PICT ZIP GZIP PLIST RAR BZ2 TAR RWZ EXE EXR
+                HDR CHM LNK WMF AVC DEX DPX RAW Font RSRC M2TS PHP Torrent VCard
+                AA PDB MOI ISO MP3 DICOM PCD);
 
 # file types that we can write (edit)
-my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM
-                    EPS X3F PS PDF ICC VRD DR4 JP2 EXIF AI AIT IND MOV EXV);
+my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
+                    X3F PS PDF ICC VRD DR4 JP2 EXIF AI AIT IND MOV EXV FLIF);
 my %writeTypes; # lookup for writable file types (hash filled if required)
 
 # file extensions that we can't write for various base types
@@ -217,6 +217,7 @@ my %fileTypeLookup = (
     AIFF => ['AIFF', 'Audio Interchange File Format'],
     AIT  =>  'AI',
     APE  => ['APE',  "Monkey's Audio format"],
+    APNG => ['PNG',  'Animated Portable Network Graphics'],
     ARW  => ['TIFF', 'Sony Alpha RAW format'],
     ASF  => ['ASF',  'Microsoft Advanced Systems Format'],
     AVC  => ['AVC',  'Advanced Video Connection'], # (extensions are actually _AU,_AD,_IM,_ID)
@@ -281,6 +282,7 @@ my %fileTypeLookup = (
     FFF  => [['TIFF','FLIR'], 'Hasselblad Flexible File Format'],
     FLAC => ['FLAC', 'Free Lossless Audio Codec'],
     FLA  => ['FPX',  'Macromedia/Adobe Flash project'],
+    FLIF => ['FLIF', 'Free Lossless Image Format'],
     FLIR => ['FLIR', 'FLIR File Format'], # (not an actual extension)
     FLV  => ['FLV',  'Flash Video'],
     FPF  => ['FPF',  'FLIR Public image Format'],
@@ -520,6 +522,7 @@ my %fileDescription = (
     AI   => 'application/vnd.adobe.illustrator',
     AIFF => 'audio/x-aiff',
     APE  => 'audio/x-monkeys-audio',
+    APNG => 'image/apng',
     ASF  => 'video/x-ms-asf',
     ARW  => 'image/x-sony-arw',
     BMP  => 'image/bmp',
@@ -555,6 +558,7 @@ my %fileDescription = (
     FFF  => 'image/x-hasselblad-fff',
     FLA  => 'application/vnd.adobe.fla',
     FLAC => 'audio/flac',
+    FLIF => 'image/flif',
     FLV  => 'video/x-flv',
     Font => 'application/x-font-type1', # covers PFA, PFB and PFM (not sure about PFM)
     FPX  => 'image/vnd.fpx',
@@ -774,6 +778,7 @@ my %moduleName = (
     EXR  => '\x76\x2f\x31\x01',
     EXV  => '\xff\x01Exiv2',
     FLAC => '(fLaC|ID3)',
+    FLIF => 'FLIF[0-\x6f][0-2]',
     FLIR => '[AF]FF\0',
     FLV  => 'FLV\x01',
     Font => '((\0\x01\0\0|OTTO|true|typ1)[\0\x01]|ttcf\0[\x01\x02]\0\0|\0[\x01\x02]|' .
@@ -980,7 +985,7 @@ my %systemTagsNotes = (
         Notes => q{
             may be written with a full path name to set FileName and Directory in one
             operation.  This is such a powerful feature that a TestName tag is provided
-            to allow dry-run tests before actually writing the file name. See
+            to allow dry-run tests before actually writing the file name.  See
             L<filename.html|../filename.html> for more information on writing the
             FileName, Directory and TestName tags
         },
@@ -996,6 +1001,7 @@ my %systemTagsNotes = (
     },
     TestName => {
         Writable => 1,
+        Protected => 1,
         WriteOnly => 1,
         Notes => q{
             this write-only tag may be used instead of FileName for dry-run tests of the
@@ -1764,8 +1770,15 @@ sub Options($$;@)
                 $$options{$param} = 'Latin';    # all others default to Latin
             }
         } elsif ($param eq 'UserParam') {
+            # clear options if $newVal is undef
+            defined $newVal or $$options{$param} = {}, next;
             # allow initialization of entire UserParam hash
-            ref $newVal eq 'HASH' and $$options{$param} = { %$newVal }, next;
+            if (ref $newVal eq 'HASH') {
+                my %newParams;
+                $newParams{lc $_} = $$newVal{$_} foreach sort keys %$newVal;
+                $$options{$param} = \%newParams;
+                next;
+            }
             # set/reset single UserParam parameter
             if ($newVal =~ /(.*?)=(.*)/s) {
                 $param = lc $1;
@@ -1809,6 +1822,8 @@ sub Options($$;@)
                 }
                 # must forget saved values since they depend on Escape method
                 $$self{BOTH} = { };
+            } elsif ($param eq 'GlobalTimeShift') {
+                delete $$self{GLOBAL_TIME_OFFSET};  # reset our calculated offset
             }
             $$options{$param} = $newVal;
         }
@@ -2537,7 +2552,7 @@ sub GetValue($$;$)
     # start with the raw value
     my $value = $$self{VALUE}{$tag};
     if (not defined $value) {
-        return wantarray ? () : undef unless ref $tag;
+        return () unless ref $tag;
         # get the value of a structure field
         $tagInfo = $tag;
         $tag = $$tagInfo{Name};
@@ -2628,7 +2643,7 @@ sub GetValue($$;$)
             } else {
                 $value = \@valList;
             }
-            return wantarray ? () : undef unless @$value;
+            return () unless @$value;
         }
         # initialize array so we can iterate over values in list
         if (ref $value eq 'ARRAY') {
@@ -2659,7 +2674,7 @@ sub GetValue($$;$)
                         next if defined $val[$_] or not $$tagInfo{Require}{$_};
                         $$self{OPTIONS}{Filter} = $oldFilter if defined $oldFilter;
                         $$self{ESCAPE_PROC} = $oldEscape;
-                        return wantarray ? () : undef;
+                        return ();
                     }
                     $$self{OPTIONS}{Filter} = $oldFilter if defined $oldFilter;
                     $$self{ESCAPE_PROC} = $oldEscape;
@@ -2743,7 +2758,7 @@ sub GetValue($$;$)
             $conv = $$convList[$i] if $convList;
         }
         # return undefined now if no value
-        return wantarray ? () : undef unless defined $value;
+        return () unless defined $value;
         # join back into single value if split for conversion list
         if ($convList and ref $value eq 'ARRAY') {
             $value = join($convType eq 'PrintConv' ? '; ' : ' ', @$value);
@@ -2793,8 +2808,8 @@ sub GetValue($$;$)
 #------------------------------------------------------------------------------
 # Get tag identification number
 # Inputs: 0) ExifTool object reference, 1) tag key
-# Returns: Scalar context: Tag ID if available, otherwise ''
-#          List context: 0) Tag ID (or ''), 1) language code (or undef)
+# Returns: Scalar context: tag ID if available, otherwise ''
+#          List context: 0) tag ID (or ''), 1) language code (or undef)
 sub GetTagID($$)
 {
     my ($self, $tag) = @_;
@@ -2853,8 +2868,8 @@ sub GetDescription($$)
 #         1) tag key (or reference to tagInfo hash, not part of the public API)
 #         2) [optional] group family (-1 to get extended group list, or multiple
 #            families separated by colons to return multiple groups as a string)
-# Returns: Scalar context: Group name (for family 0 if not otherwise specified)
-#          Array context: Group name if family specified, otherwise list of
+# Returns: Scalar context: group name (for family 0 if not otherwise specified)
+#          List context: group name if family specified, otherwise list of
 #          group names for each family.  Returns '' for undefined tag.
 # Notes: Mutiple families may be specified with ':' in family argument (eg. '1:2')
 sub GetGroup($$;$)
@@ -3153,7 +3168,7 @@ sub GetShortcuts()
 #            or FileType value if a description is requested
 #         1) flag to return long description instead of type ('0' to return any recognized type)
 # Returns: File type (or desc) or undef if extension not supported or if
-#          description is the same as the input FileType.  In array context,
+#          description is the same as the input FileType.  In list context,
 #          may return more than one file type if the file may be different formats.
 #          Returns list of all supported extensions if no file specified
 sub GetFileType(;$$)
@@ -3189,7 +3204,7 @@ sub GetFileType(;$$)
         my $mod = $moduleName{$$fileType[0]};
         undef $fileType if defined $mod and $mod eq '0';
     }
-    $fileType or return wantarray ? () : undef;
+    $fileType or return ();
     $fileType = $$fileType[0];      # get file type (or list of types)
     if (wantarray) {
         return @$fileType if ref $fileType eq 'ARRAY';
@@ -3376,7 +3391,7 @@ sub NextTagKey($$)
 
 #------------------------------------------------------------------------------
 # Encode file name for calls to system i/o routines
-# Inputs: 0) ExifTool ref, 1) file name, 2) flag to force conversion
+# Inputs: 0) ExifTool ref, 1) file name in CharSetFileName, 2) flag to force conversion
 # Returns: true if Windows Unicode routines should be used (in which case
 #          the file name will be encoded as a null-terminated UTF-16LE string)
 sub EncodeFileName($$;$)
@@ -4153,6 +4168,7 @@ sub AddCompositeTags($;$)
         my $tag = $$tagInfo{Name};
         $$tagInfo{Module} = $module if $$tagInfo{Writable};
         $$tagInfo{Override} = 1 if $override and not defined $$tagInfo{Override};
+        $$tagInfo{IsComposite} = 1;
         # allow Composite tags with the same name
         if ($$compTable{$tag}) {
             # determine if we want to override this tag
@@ -5122,7 +5138,7 @@ sub ConvertFileName($$)
 }
 
 #------------------------------------------------------------------------------
-# Inverse conversion for file name (encode
+# Inverse conversion for file name (encode in CharsetFileName)
 # Inputs: 0) ExifTool ref, 1) file name in external character set
 # Returns: file name in CharsetFileName character set
 sub InverseFileName($$)
@@ -6945,7 +6961,7 @@ sub HandleTag($$$$;%)
     my $pfmt = $parms{Format};
     my $tagInfo = $parms{TagInfo} || $self->GetTagInfo($tagTablePtr, $tag, \$val, $pfmt, $parms{Count});
     my $dataPt = $parms{DataPt};
-    my ($subdir, $format, $count, $size, $noTagInfo, $rational);
+    my ($subdir, $format, $noTagInfo, $rational);
 
     if ($tagInfo) {
         $subdir = $$tagInfo{SubDirectory}
@@ -6981,7 +6997,7 @@ sub HandleTag($$$$;%)
         $parms{Value} .= " ($rational)" if defined $rational;
         $parms{Table} = $tagTablePtr;
         if ($format) {
-            $count or $count = int(($parms{Size} || 0) / ($formatSize{$format} || 1));
+            my $count = int(($parms{Size} || 0) / ($formatSize{$format} || 1));
             $parms{Format} = $format . "[$count]";
         }
         $self->VerboseInfo($tag, $tagInfo, %parms);
@@ -7080,7 +7096,7 @@ sub FoundTag($$$)
     if ($$tagInfo{RawConv}) {
         # initialize @val for use in Composite RawConv expressions
         my @val;
-        if (ref $value eq 'HASH') {
+        if (ref $value eq 'HASH' and $$tagInfo{IsComposite}) {
             foreach (keys %$value) { $val[$_] = $$valueHash{$$value{$_}}; }
         }
         my $conv = $$tagInfo{RawConv};
@@ -7290,7 +7306,7 @@ sub SetFileType($;$$$)
 
 #------------------------------------------------------------------------------
 # Override the FileType and MIMEType tags
-# Inputs: 0) ExifTool object ref, 1) file type
+# Inputs: 0) ExifTool object ref, 1) file type, 2) MIME type, 3) normal extension
 # Notes:  does nothing if FileType was not previously defined (ie. when writing)
 sub OverrideFileType($$;$$)
 {
diff --git a/lib/Image/ExifTool.pod b/lib/Image/ExifTool.pod
index e9ce7c4..46ee218 100644
--- a/lib/Image/ExifTool.pod
+++ b/lib/Image/ExifTool.pod
@@ -65,42 +65,42 @@ supported by ExifTool (r = read, w = write, c = create):
 
   File Types
   ------------+-------------+-------------+-------------+------------
-  3FR   r     | DV    r     | KDC   r     | OGV   r     | RW2   r/w
-  3G2   r/w   | DVB   r/w   | KEY   r     | OPUS  r     | RWL   r/w
-  3GP   r/w   | DYLIB r     | LA    r     | ORF   r/w   | RWZ   r
-  A     r     | EIP   r     | LFP   r     | OTF   r     | RM    r
-  AA    r     | EPS   r/w   | LNK   r     | PAC   r     | SEQ   r
-  AAX   r/w   | EPUB  r     | M2TS  r     | PAGES r     | SO    r
-  ACR   r     | ERF   r/w   | M4A/V r/w   | PBM   r/w   | SR2   r/w
-  AFM   r     | EXE   r     | MEF   r/w   | PCD   r     | SRF   r
-  AI    r/w   | EXIF  r/w/c | MIE   r/w/c | PDB   r     | SRW   r/w
-  AIFF  r     | EXR   r     | MIFF  r     | PDF   r/w   | SVG   r
-  APE   r     | EXV   r/w/c | MKA   r     | PEF   r/w   | SWF   r
-  ARW   r/w   | F4A/V r/w   | MKS   r     | PFA   r     | THM   r/w
-  ASF   r     | FFF   r/w   | MKV   r     | PFB   r     | TIFF  r/w
-  AVI   r     | FLA   r     | MNG   r/w   | PFM   r     | TORRENT r
-  AZW   r     | FLAC  r     | MOBI  r     | PGF   r     | TTC   r
-  BMP   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
-  BPG   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
-  BTF   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
-  CHM   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
-  COS   r     | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
-  CR2   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
-  CRW   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
-  CS1   r/w   | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
-  DCM   r     | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
-  DCP   r/w   | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
-  DCR   r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
-  DFONT r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
-  DIVX  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
-  DJVU  r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
-  DLL   r     | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
-  DNG   r/w   | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
-  DOC   r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
-  DOCX  r     | JNG   r/w   | ODS   r     | RAW   r/w   |
-  DPX   r     | JP2   r/w   | ODT   r     | RIFF  r     |
-  DR4   r/w/c | JPEG  r/w   | OFR   r     | RSRC  r     |
-  DSS   r     | K25   r     | OGG   r     | RTF   r     |
+  3FR   r     | DV    r     | K25   r     | OGG   r     | RTF   r
+  3G2   r/w   | DVB   r/w   | KDC   r     | OGV   r     | RW2   r/w
+  3GP   r/w   | DYLIB r     | KEY   r     | OPUS  r     | RWL   r/w
+  A     r     | EIP   r     | LA    r     | ORF   r/w   | RWZ   r
+  AA    r     | EPS   r/w   | LFP   r     | OTF   r     | RM    r
+  AAX   r/w   | EPUB  r     | LNK   r     | PAC   r     | SEQ   r
+  ACR   r     | ERF   r/w   | M2TS  r     | PAGES r     | SO    r
+  AFM   r     | EXE   r     | M4A/V r/w   | PBM   r/w   | SR2   r/w
+  AI    r/w   | EXIF  r/w/c | MEF   r/w   | PCD   r     | SRF   r
+  AIFF  r     | EXR   r     | MIE   r/w/c | PDB   r     | SRW   r/w
+  APE   r     | EXV   r/w/c | MIFF  r     | PDF   r/w   | SVG   r
+  ARW   r/w   | F4A/V r/w   | MKA   r     | PEF   r/w   | SWF   r
+  ASF   r     | FFF   r/w   | MKS   r     | PFA   r     | THM   r/w
+  AVI   r     | FLA   r     | MKV   r     | PFB   r     | TIFF  r/w
+  AZW   r     | FLAC  r     | MNG   r/w   | PFM   r     | TORRENT r
+  BMP   r     | FLIF  r/w   | MOBI  r     | PGF   r     | TTC   r
+  BPG   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
+  BTF   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
+  CHM   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
+  COS   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
+  CR2   r/w   | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
+  CRW   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
+  CS1   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
+  DCM   r     | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
+  DCP   r/w   | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
+  DCR   r     | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
+  DFONT r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
+  DIVX  r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
+  DJVU  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
+  DLL   r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
+  DNG   r/w   | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
+  DOC   r     | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
+  DOCX  r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
+  DPX   r     | JNG   r/w   | ODS   r     | RAW   r/w   |
+  DR4   r/w/c | JP2   r/w   | ODT   r     | RIFF  r     |
+  DSS   r     | JPEG  r/w   | OFR   r     | RSRC  r     |
 
   Meta Information
   ----------------------+----------------------+---------------------
@@ -557,9 +557,12 @@ different when copying tags with L</SetNewValuesFromFile>.
 =item DateFormat
 
 Format for printing date/time values.  See C<strftime> in the L<POSIX>
-package for details about the format string.  The default is similar to a
-format of "%Y:%m:%d %H:%M:%S".  If date can not be converted, value is left
-unchanged unless the StrictDate option is set.  Timezones are ignored.
+package for details about the format string.  If date can not be converted,
+value is left unchanged unless the StrictDate option is set.  Timezones are
+ignored. The inverse conversion (ie. when calling L</SetNewValue>) is only
+performed if POSIX::strptime is installed.  The default setting of undef
+causes date/time values to remain in standard EXIF format (similar to a
+DateFormat of "%Y:%m:%d %H:%M:%S").
 
 =item Duplicates
 
@@ -585,13 +588,9 @@ name with a '-' in the arguments to L</ImageInfo>.
 
 This setting affects the reading and editing of extended XMP in JPEG images.
 According to the XMP specification, extended XMP is only valid if it has the
-GUID specified by the HasExtendedXMP tag.  ExifTool 9.95 and earlier would
-read extended XMP regardless of GUID, but with the addition of this option
-in version 9.96 the default behaviour was changed to conform with the XMP
-specification (to read only extended XMP with the proper GUID).  This option
-should be set to 2 to emulate pre-9.96 behaviour and read all extended XMP. 
-It may also be set to a GUID to read a specific extended XMP, or 0 to ignore
-extended XMP entirely.
+GUID specified by the HasExtendedXMP tag, so by default ExifTool will ignore
+other extended XMP, but this option allows full control over the extended
+XMP to be extracted.
 
      0   - ignore all extended XMP
      1   - read extended XMP with valid GUID only (default)
@@ -726,7 +725,7 @@ separator used when combining values.  Default is undef.
 
 =item ListItem
 
-Return only a specific item from List-type values.  A value of 0 returns the
+Return only a specific item from list-type values.  A value of 0 returns the
 first item in the list, 1 return the second item, etc.  Negative indices may
 also be used, with -1 representing the last item in the list.  Applies only
 to the top-level list of nested lists.  Default is undef to return all items
@@ -768,7 +767,7 @@ to '' if L</IgnoreMinorErrors> is set.  Default is undef.
 
 =item NoPDFList
 
-Flag to avoid splitting PDF List-type tag values into separate items.
+Flag to avoid splitting PDF list-type tag values into separate items.
 Default is undef.
 
 =item Password
@@ -889,17 +888,21 @@ unknown tags are also extracted from binary data blocks.  Default is 0.
 =item UserParam
 
 Special option to set/get user-defined parameters.  Useful to allow external
-input into tag name expressions and ValueConv logic.  I<PARAM> is the
-user-defined parameter name (case insensitive).
+input into tag name expressions and ValueConv logic.  Valid UserParam values
+are:
 
   PARAM         - Get parameter
   PARAM=        - Clear parameter
   PARAM=VALUE   - Set parameter
+  <hash ref>    - Set entire UserParam hash lookup
+  undef         - Clear all user parameters
+
+Where I<PARAM> is the user-defined parameter name (case insensitive).
 
 User-defined parameters may be accessed in tag name expressions by prefixing
 the parameter name with a dollar sign, just like normal tags.  If called
-without a parameter name, C<Options('UserParam')> returns a reference to the
-hash of all user parameters (with lower-case names).
+without no additional arguments, C<Options('UserParam')> returns a reference
+to the hash of all user parameters (with lower-case names).
 
 =item Verbose
 
@@ -1292,6 +1295,12 @@ name for each value, or call with a reference to the list of values.
     # add a keyword without replacing existing keywords in the file
     $exifTool->SetNewValue(Keywords => $word, AddValue => 1);
 
+    # conditionally add a tag if it didn't exist before,
+    # or replace it if it had a specified value ("old value")
+    $exifTool->SetNewValue(Description => '', DelValue => 1);
+    $exifTool->SetNewValue(Description => 'old value', DelValue => 1);
+    $exifTool->SetNewValue(Description => 'new value');
+
     # set a tag in a specific group
     $exifTool->SetNewValue(Headline => $val, Group => 'XMP');
     $exifTool->SetNewValue('XMP:Headline' => $val);  # (equivalent)
@@ -1367,8 +1376,13 @@ list and overwrite non-list tags).  Default is 0.
 
 =item DelValue
 
-Delete existing tag from a file if it has the specified value.  Option
-values are 0 or 1.  Default is 0.
+Delete existing tag from a file if it has the specified value.  For
+list-type tags this deletes a specified item from the list.  For non-list
+tags this may be used to conditionally replace a tag by providing a new
+value in a separate call to L<SetNewValue> (see examples above).  For
+structured tags, the entire structure is deleted/replaced only if all of the
+specified fields match the existing structure.  Option values are 0 or 1. 
+Default is 0.
 
 =item EditGroup
 
@@ -1463,8 +1477,8 @@ explicitly, either by group (with 'Adobe:*') or as a block (with 'Adobe').
 
 The following ExifTool options are effective in the call to L</SetNewValue>:
 
-Charset, Escape, IgnoreMinorErrors, Lang, ListSep, ListSplit, PrintConv,
-Verbose and WriteMode.
+Charset, DateFormat, Escape, IgnoreMinorErrors, Lang, ListSep, ListSplit,
+PrintConv, StrictDate, Verbose and WriteMode.
 
 =head2 GetNewValue
 
@@ -2219,12 +2233,12 @@ for unsupported files is undef).
 
 A string, based on the file extension, which indicates the basic format of
 the file.  Note that some files may be based on other formats (like many RAW
-image formats are based on TIFF).  In array context, may return more than
-one file type if the file may be based on different formats.  Returns undef
-if files with this extension are not yet supported by ExifTool.  Returns a
-list of extensions for all supported file types if no input extension is
-specified (or all recognized file types if the description flag is set to 0). 
-Returns a more detailed description of the specific file format when the
+image formats are based on TIFF).  In list context, may return more than one
+file type if the file may be based on different formats.  Returns undef if
+files with this extension are not yet supported by ExifTool.  Returns a list
+of extensions for all supported file types if no input extension is
+specified (or all recognized file types if the description flag is set to
+0). Returns a more detailed description of the specific file format when the
 description flag is set.
 
 =back
@@ -2478,7 +2492,7 @@ string contains special characters, otherwise PDFDocEncoding is used.
 Some Photoshop resource names are stored as Pascal strings with unknown
 encoding.  By default, ExifTool assumes MacRoman encoding and converts this
 to UTF-8, but the internal and external character sets may be specified with
-L</CharsetPhotoshop> and L</Charset> options respectively.
+the L</CharsetPhotoshop> and L</Charset> options respectively.
 
 =head2 QuickTime
 
diff --git a/lib/Image/ExifTool/Apple.pm b/lib/Image/ExifTool/Apple.pm
index 4737d17..93b6a0d 100644
--- a/lib/Image/ExifTool/Apple.pm
+++ b/lib/Image/ExifTool/Apple.pm
@@ -4,6 +4,8 @@
 # Description:  Apple EXIF maker notes tags
 #
 # Revisions:    2013-09-13 - P. Harvey Created
+#
+# References:   1) http://www.photoinvestigator.co/blog/the-mystery-of-maker-apple-metadata/
 #------------------------------------------------------------------------------
 
 package Image::ExifTool::Apple;
@@ -13,30 +15,48 @@ use vars qw($VERSION);
 use Image::ExifTool::Exif;
 use Image::ExifTool::PLIST;
 
-$VERSION = '1.02';
+$VERSION = '1.03';
 
+# Apple iPhone metadata (ref PH)
 %Image::ExifTool::Apple::Main = (
     WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
     CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
     WRITABLE => 1,
     GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
-    NOTES => 'Tags extracted from maker notes of images from the iPhone 5 with iOS 7.',
+    NOTES => 'Tags extracted from the maker notes of iPhone images.',
     # 0x0001 - int32s: seen 0,1,2,3,4
     # 0x0002 - binary plist with a single data object of size 512 bytes (iPhone5s)
     0x0003 => {
-        Name => 'RunTime',
+        Name => 'RunTime', # (includes time plugged in, but not when suspended, ref 1)
         SubDirectory => { TagTable => 'Image::ExifTool::Apple::RunTime' },
     },
     # 0x0004 - int32s: normally 1, but 0 for low-light images
-    # 0x0005 - int32s: seen values 147-247, and 100 for blank images
-    # 0x0006 - int32s: seen values 120-258, and 20 for blank images
+    # 0x0005 - int32s: seen values 113-247, and 100 for blank images
+    # 0x0006 - int32s: seen values 27-258, and 20 for blank images
     # 0x0007 - int32s: seen 1
-    # 0x0008 - rational64s[3]: eg) "0.02683717579 -0.7210501641 -0.6948792783"
-    # 0x0009 - int32s: seen 19,531
+    0x0008 => { #1
+        Name => 'AccelerationVector',
+        Groups => { 2 => 'Camera' },
+        Writable => 'rational64s',
+        Count => 3,
+        # Note: the directions are contrary to the Apple documentation (which have the
+        # signs of all axes reversed -- apparently the Apple geeks aren't very good
+        # with basic physics, and don't understand the concept of acceleration.  See
+        # http://nscookbook.com/2013/03/ios-programming-recipe-19-using-core-motion-to-access-gyro-and-accelerometer/
+        # for one of the few correct descriptions of this).  Note that this leads to
+        # a left-handed coordinate system for acceleration.
+        Notes => q{
+            XYZ coordinates of the acceleration vector in units of g.  As viewed from
+            the front of the phone, positive X is toward the left side, positive Y is
+            toward the bottom, and positive Z points into the face of the phone
+        },
+    },
+    # 0x0009 - int32s: seen 19,275,531,4371
     0x000a => {
         Name => 'HDRImageType',
         Writable => 'int32s',
         PrintConv => {
+            # 2 => ? (iPad mini 2) 
             3 => 'HDR Image',
             4 => 'Original Image',
         },
@@ -47,12 +67,16 @@ $VERSION = '1.02';
         Notes => 'unique ID for all images in a burst',
     },
     # 0x000c - rational64s[2]: eg) "0.1640625 0.19921875"
-    # 0x000d - int32s: 0,1,6
-    # 0x000e - int32s: 0,1,12
+    # 0x000d - int32s: 0,1,6,20,40
+    # 0x000e - int32s: 0,1,4,12 (Orienation? 0=landscape? 4=portrait? ref 1)
     # 0x000f - int32s: 2,3
     # 0x0010 - int32s: 1
     # 0x0011 - string[37]: some type of UID, eg. "FFCBAC24-E547-4BBC-AF47-38B1A3D845E3\0" (iPhone 6s, iOS 6.1)
-    # 0x0014 - int32s: 1,2,3,5 (iPhone 6s, iOS 6.1)
+    # 0x0014 - int32s: 1,2,3,4,5 (iPhone 6s, iOS 6.1)
+    0x0015 => {
+        Name => 'ImageUniqueID',
+        Writable => 'string',
+    },
 );
 
 # PLIST-format CMTime structure (ref PH)
diff --git a/lib/Image/ExifTool/BuildTagLookup.pm b/lib/Image/ExifTool/BuildTagLookup.pm
index 64b4506..2473d1a 100644
--- a/lib/Image/ExifTool/BuildTagLookup.pm
+++ b/lib/Image/ExifTool/BuildTagLookup.pm
@@ -32,7 +32,7 @@ use Image::ExifTool::XMP;
 use Image::ExifTool::Canon;
 use Image::ExifTool::Nikon;
 
-$VERSION = '2.97';
+$VERSION = '3.00';
 @ISA = qw(Exporter);
 
 sub NumbersFirst($$);
@@ -68,9 +68,6 @@ my %tweakOrder = (
     FLIR    => 'Casio',
     FujiFilm => 'FLIR',
     Kodak   => 'JVC',
-   'Kodak::IFD' => 'Kodak::Unknown',
-   'Kodak::TextualInfo' => 'Kodak::IFD',
-   'Kodak::Processing' => 'Kodak::TextualInfo',
     Leaf    => 'Kodak',
     Minolta => 'Leaf',
     Motorola => 'Minolta',
@@ -164,8 +161,8 @@ B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
 table.  A B<Tag ID> is the computer-readable equivalent of a tag name, and
 is the identifier that is actually stored in the file.  B<Index#> refers to
 the location of a value when found at a fixed position within a data block
-(B<#> is the multiplier for calculating a byte offset: B<1>, B<2> or B<4>).
-B<Sequence> gives the order of values for a serial data stream.
+(B<#> is the multiplier for calculating a byte offset: B<1>, B<2>, B<4> or
+B<8>). B<Sequence> gives the order of values for a serial data stream.
 
 A B<Tag Name> is the handle by which the information is accessed in
 ExifTool.  In some instances, more than one name may correspond to a single
@@ -197,7 +194,7 @@ when the print conversion is disabled (by setting PrintConv to 0, using the
 -n option, or suffixing the tag name with a C<#> character).  An exclamation
 point (C<!>) indicates a tag that is considered I<Unsafe> to write under
 normal circumstances.  These tags are not written unless specified
-explicitly (ie. wildcards and "all" may not be used), and care should be
+explicitly (ie. not when wildcards or "all" are used), and care should be
 taken when editing them manually since they may affect the way an image is
 rendered.  An asterisk (C<*>) indicates a I<Protected> tag which is not
 writable directly, but is written automatically by ExifTool (often when a
@@ -243,11 +240,11 @@ B<Group> listed below is used unless another group is specified.
 
 The table below lists all EXIF tags.  Also listed are TIFF, DNG, HDP and
 other tags which are not part of the EXIF specification, but may co-exist
-with EXIF tags in some images.  Tags which are part of the EXIF 2.3
+with EXIF tags in some images.  Tags which are part of the EXIF 2.31
 specification have an underlined B<Tag Name> in the HTML version of this
 documentation.  See
-L<http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf> for the official
-EXIF 2.3 specification.
+L<http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf> for the
+official EXIF 2.31 specification.
 },
     GPS => q{
 These GPS tags are part of the EXIF standard, and are stored in a separate
@@ -609,32 +606,34 @@ my %shortcutNotes = (
 # EXIF table tag ID's which are part of the EXIF 2.3 specification
 # (used only to add underlines in HTML version of EXIF Tag Table)
 my %exifSpec = (
-    0x100 => 1,  0x212 => 1,   0x9204 => 1,  0xa217 => 1,
-    0x101 => 1,  0x213 => 1,   0x9205 => 1,  0xa300 => 1,
-    0x102 => 1,  0x214 => 1,   0x9206 => 1,  0xa301 => 1,
-    0x103 => 1,  0x8298 => 1,  0x9207 => 1,  0xa302 => 1,
-    0x106 => 1,  0x829a => 1,  0x9208 => 1,  0xa401 => 1,
-    0x10e => 1,  0x829d => 1,  0x9209 => 1,  0xa402 => 1,
-    0x10f => 1,  0x8769 => 1,  0x920a => 1,  0xa403 => 1,
-    0x110 => 1,  0x8822 => 1,  0x9214 => 1,  0xa404 => 1,
-    0x111 => 1,  0x8824 => 1,  0x927c => 1,  0xa405 => 1,
-    0x112 => 1,  0x8825 => 1,  0x9286 => 1,  0xa406 => 1,
-    0x115 => 1,  0x8827 => 1,  0x9290 => 1,  0xa407 => 1,
-    0x116 => 1,  0x8828 => 1,  0x9291 => 1,  0xa408 => 1,
-    0x117 => 1,  0x8830 => 1,  0x9292 => 1,  0xa409 => 1,
-    0x11a => 1,  0x8831 => 1,  0xa000 => 1,  0xa40a => 1,
-    0x11b => 1,  0x8832 => 1,  0xa001 => 1,  0xa40b => 1,
-    0x11c => 1,  0x8833 => 1,  0xa002 => 1,  0xa40c => 1,
-    0x128 => 1,  0x8834 => 1,  0xa003 => 1,  0xa420 => 1,
-    0x12d => 1,  0x8835 => 1,  0xa004 => 1,  0xa430 => 1,
-    0x131 => 1,  0x9000 => 1,  0xa005 => 1,  0xa431 => 1,
-    0x132 => 1,  0x9003 => 1,  0xa20b => 1,  0xa432 => 1,
-    0x13b => 1,  0x9004 => 1,  0xa20c => 1,  0xa433 => 1,
-    0x13e => 1,  0x9101 => 1,  0xa20e => 1,  0xa434 => 1,
-    0x13f => 1,  0x9102 => 1,  0xa20f => 1,  0xa435 => 1,
-    0x201 => 1,  0x9201 => 1,  0xa210 => 1,
-    0x202 => 1,  0x9202 => 1,  0xa214 => 1,
-    0x211 => 1,  0x9203 => 1,  0xa215 => 1,
+    0x100 => 1,  0x214 => 1,   0x9205 => 1,  0xa210 => 1,
+    0x101 => 1,  0x8298 => 1,  0x9206 => 1,  0xa214 => 1,
+    0x102 => 1,  0x829a => 1,  0x9207 => 1,  0xa215 => 1,
+    0x103 => 1,  0x829d => 1,  0x9208 => 1,  0xa217 => 1,
+    0x106 => 1,  0x8769 => 1,  0x9209 => 1,  0xa300 => 1,
+    0x10e => 1,  0x8822 => 1,  0x920a => 1,  0xa301 => 1,
+    0x10f => 1,  0x8824 => 1,  0x9214 => 1,  0xa302 => 1,
+    0x110 => 1,  0x8825 => 1,  0x927c => 1,  0xa401 => 1,
+    0x111 => 1,  0x8827 => 1,  0x9286 => 1,  0xa402 => 1,
+    0x112 => 1,  0x8828 => 1,  0x9290 => 1,  0xa403 => 1,
+    0x115 => 1,  0x8830 => 1,  0x9291 => 1,  0xa404 => 1,
+    0x116 => 1,  0x8831 => 1,  0x9292 => 1,  0xa405 => 1,
+    0x117 => 1,  0x8832 => 1,  0x9400 => 1,  0xa406 => 1,
+    0x11a => 1,  0x8833 => 1,  0x9401 => 1,  0xa407 => 1,
+    0x11b => 1,  0x8834 => 1,  0x9402 => 1,  0xa408 => 1,
+    0x11c => 1,  0x8835 => 1,  0x9403 => 1,  0xa409 => 1,
+    0x128 => 1,  0x9000 => 1,  0x9404 => 1,  0xa40a => 1,
+    0x12d => 1,  0x9003 => 1,  0x9405 => 1,  0xa40b => 1,
+    0x131 => 1,  0x9004 => 1,  0xa000 => 1,  0xa40c => 1,
+    0x132 => 1,  0x9010 => 1,  0xa001 => 1,  0xa420 => 1,
+    0x13b => 1,  0x9011 => 1,  0xa002 => 1,  0xa430 => 1,
+    0x13e => 1,  0x9012 => 1,  0xa003 => 1,  0xa431 => 1,
+    0x13f => 1,  0x9101 => 1,  0xa004 => 1,  0xa432 => 1,
+    0x201 => 1,  0x9102 => 1,  0xa005 => 1,  0xa433 => 1,
+    0x202 => 1,  0x9201 => 1,  0xa20b => 1,  0xa434 => 1,
+    0x211 => 1,  0x9202 => 1,  0xa20c => 1,  0xa435 => 1,
+    0x212 => 1,  0x9203 => 1,  0xa20e => 1,
+    0x213 => 1,  0x9204 => 1,  0xa20f => 1,
 );
 # same thing for RIFF INFO tags found in the EXIF spec
 my %riffSpec = (
@@ -812,8 +811,8 @@ TagID:  foreach $tagID (@keys) {
                     $case{$lc} = $name;
                 }
                 my $format = $$tagInfo{Format};
-                # validate Name (must not start with a digit or else XML output will not be valid)
-                # (must not start with a dash or exiftool command line may get confused)
+                # validate Name (must not start with a digit or else XML output will not be valid;
+                # must not start with a dash or exiftool command line may get confused)
                 if ($name !~ /^[_A-Za-z][-\w]+$/ and
                     # single-character subdirectory names are allowed
                     (not $$tagInfo{SubDirectory} or $name !~ /^[_A-Za-z]$/))
@@ -1637,8 +1636,28 @@ sub Doc2Html($)
 # Inputs: 0) table list ref, 1) reference to tweak hash
 sub TweakOrder($$)
 {
+    local $_;
     my ($sortedTables, $tweakOrder) = @_;
     my @tweak = sort keys %$tweakOrder;
+    my (%addedMain, @sorted);
+    # flag files which have a "Main" table
+    foreach (@$sortedTables) {
+        $addedMain{$1} = 0 if /^Image::ExifTool::(\w+)::(\w+)/ and $2 eq 'Main';
+    }
+    # make sure that the main table always comes first in each file
+    foreach (@$sortedTables) {
+        if (/^Image::ExifTool::(\w+)::(\w+)/) {
+            if ($addedMain{$1}) {
+                next if $2 eq 'Main';   # don't add again
+            } elsif (defined $addedMain{$1}) {
+                push @sorted, "Image::ExifTool::${1}::Main" if $2 ne 'Main';
+                $addedMain{$1} = 1;
+            }
+        }
+        push @sorted, $_;
+    }
+    @$sortedTables = @sorted;
+    # apply manual tweaks
     while (@tweak) {
         my $table = shift @tweak;
         my $first = $$tweakOrder{$table};
@@ -2078,6 +2097,15 @@ sub WriteTagNames($$)
         } else {
             my $table = GetTagTable($tableName);
             $notes = $$table{NOTES};
+            if ($$table{NAMESPACE}) {
+                my $ns = $Image::ExifTool::XMP::stdXlatNS{$$table{NAMESPACE}} || $$table{NAMESPACE};
+                my $msg = "These tags belong to the ExifTool XMP-$ns family 1 group.";
+                if ($notes) {
+                    $notes .= "\n\n" . $msg;
+                } else {
+                    $notes = $msg;
+                }
+            }
             $longTags = $$table{VARS}{LONG_TAGS} if $$table{VARS};
             if ($$table{GROUPS}{0} eq 'Composite') {
                 $composite = 1;
@@ -2489,10 +2517,18 @@ validation and consistency checks on the tag tables.
 
   $builder = new Image::ExifTool::BuildTagLookup;
 
+  # update Image::ExifTool::TagLookup
   $ok = $builder->WriteTagLookup('lib/Image/ExifTool/TagLookup.pm');
 
+  # update the tag name documentation
   $ok = $builder->WriteTagNames('lib/Image/ExifTool/TagNames.pod','html');
 
+  # print some statistics
+  my $count = $$builder{COUNT};
+  foreach (sort keys %$count) {
+      printf "%5d %s\n", $$count{$_}, $_;
+  }
+
 =head1 MEMBER VARIABLES
 
 =over 4
diff --git a/lib/Image/ExifTool/Canon.pm b/lib/Image/ExifTool/Canon.pm
index 72228b0..5c9964a 100644
--- a/lib/Image/ExifTool/Canon.pm
+++ b/lib/Image/ExifTool/Canon.pm
@@ -85,7 +85,7 @@ sub ProcessSerialData($$$);
 sub ProcessFilters($$$);
 sub SwapWords($);
 
-$VERSION = '3.65';
+$VERSION = '3.69';
 
 # Note: Removed 'USM' from 'L' lenses since it is redundant - PH
 # (or is it?  Ref 32 shows 5 non-USM L-type lenses)
@@ -197,6 +197,7 @@ $VERSION = '3.65';
     52 => 'Canon EF-S 18-55mm f/3.5-5.6 IS II', #PH
     53 => 'Canon EF-S 18-55mm f/3.5-5.6 III', #Jon Charnas
     54 => 'Canon EF-S 55-250mm f/4-5.6 IS II', #47
+    60 => 'Irix 11mm f/4', #50
     94 => 'Canon TS-E 17mm f/4L', #42
     95 => 'Canon TS-E 24.0mm f/3.5 L II', #43
     124 => 'Canon MP-E 65mm f/2.8 1-5x Macro Photo', #9
@@ -300,11 +301,11 @@ $VERSION = '3.65';
     169.4 => 'Sigma 50mm f/1.4 EX DG HSM', #PH
     169.5 => 'Sigma 85mm f/1.4 EX DG HSM', #Rolando Ruzic
     169.6 => 'Sigma 30mm f/1.4 EX DC HSM', #Rodolfo Borges
-    169.7 => 'Sigma 35mm f/1.4 DG HSM', #PH (also "| A" version, ref forum3833)
+    169.7 => 'Sigma 35mm f/1.4 DG HSM', #PH (also "| A" version, ref 50)
     170 => 'Canon EF 200mm f/2.8L II', #9
     171 => 'Canon EF 300mm f/4L', #15
     172 => 'Canon EF 400mm f/5.6L or Sigma Lens', #32
-    172.1 =>'Sigma 150-600mm f/5-6.3 DG OS HSM | S', #forum3833
+    172.1 =>'Sigma 150-600mm f/5-6.3 DG OS HSM | S', #50
     173 => 'Canon EF 180mm Macro f/3.5L or Sigma Lens', #9
     173.1 => 'Sigma 180mm EX HSM Macro f/3.5', #14
     173.2 => 'Sigma APO Macro 150mm f/2.8 EX DG HSM', #14
@@ -401,7 +402,7 @@ $VERSION = '3.65';
     252 => 'Canon EF 70-200mm f/2.8L IS II USM + 1.4x', #50 (1.4x Mk II)
     253 => 'Canon EF 70-200mm f/2.8L IS II USM + 2x', #PH (NC)
     254 => 'Canon EF 100mm f/2.8L Macro IS USM', #42
-    255 => 'Sigma 24-105mm f/4 DG OS HSM | A or Other Sigma Lens', #50
+    255 => 'Sigma 24-105mm f/4 DG OS HSM | A or Sigma Lens', #50
     255.1 => 'Sigma 180mm f/2.8 EX DG OS HSM APO Macro', #50
     # Note: LensType 488 (0x1e8) is reported as 232 (0xe8) in 7D CameraSettings
     488 => 'Canon EF-S 15-85mm f/3.5-5.6 IS USM', #PH
@@ -422,9 +423,12 @@ $VERSION = '3.65';
     506 => 'Canon EF 400mm f/4 DO IS II USM', #42
     507 => 'Canon EF 16-35mm f/4L IS USM', #42
     508 => 'Canon EF 11-24mm f/4L USM', #PH
-    747 => 'Canon EF 100-400mm f/4.5-5.6L IS II USM', #JR
+    747 => 'Canon EF 100-400mm f/4.5-5.6L IS II USM or Tamron Lens', #JR
+    747.1 => 'Tamron SP 150-600mm F5-6.3 Di VC USD G2', #50
     748 => 'Canon EF 100-400mm f/4.5-5.6L IS II USM + 1.4x', #JR (1.4x Mk III)
     750 => 'Canon EF 35mm f/1.4L II USM', #42
+    751 => 'Canon EF 16-35mm f/2.8L III USM', #42
+    752 => 'Canon EF 24-105mm f/4L IS II USM', #42
     # (STM lenses seem to start with 0x10xx)
     4142 => 'Canon EF-S 18-135mm f/3.5-5.6 IS STM',
     4143 => 'Canon EF-M 18-55mm f/3.5-5.6 IS STM or Tamron Lens',
@@ -441,6 +445,7 @@ $VERSION = '3.65';
     4154 => 'Canon EF-S 24mm f/2.8 STM', #IB
     4155 => 'Canon EF-M 28mm f/3.5 Macro IS STM', #42
     4156 => 'Canon EF 50mm f/1.8 STM', #42
+    4157 => 'Canon EF-M 18-150mm 1:3.5-6.3 IS STM',#42
     36912 => 'Canon EF-S 18-135mm f/3.5-5.6 IS USM', #42
     65535 => 'n/a',
 );
@@ -663,6 +668,7 @@ $VERSION = '3.65';
     0x3890000 => 'PowerShot ELPH 170 IS / IXUS 170',
     0x3910000 => 'PowerShot SX410 IS',
     0x3930000 => 'PowerShot G9 X',
+    0x3940000 => 'EOS M5', #IB
     0x3950000 => 'PowerShot G5 X',
     0x3970000 => 'PowerShot G7 X Mark II',
     0x3990000 => 'PowerShot ELPH 360 HS / IXUS 285 HS / IXY 650',
@@ -672,6 +678,7 @@ $VERSION = '3.65';
     0x4040000 => 'PowerShot G1',
     0x4040001 => 'IXY 180', # ?? (from Canon sample)
     0x4050000 => 'PowerShot SX720 HS',
+    0x4060000 => 'PowerShot SX620 HS',
     0x6040000 => 'PowerShot S100 / Digital IXUS / IXY Digital',
 
 # (see http://cweb.canon.jp/e-support/faq/answer/digitalcamera/10447-1.html for PowerShot/IXUS/IXY names)
@@ -748,7 +755,7 @@ $VERSION = '3.65';
     0x80000298 => 'WFT-E4 II',
     0x80000301 => 'EOS Rebel T4i / 650D / Kiss X6i',
     0x80000302 => 'EOS 6D', #25
-    0x80000324 => 'EOS-1D C', # (NC)
+    0x80000324 => 'EOS-1D C', #(NC)
     0x80000325 => 'EOS 70D',
     0x80000326 => 'EOS Rebel T5i / 700D / Kiss X7i',
     0x80000327 => 'EOS Rebel T5 / 1200D / Kiss X70',
@@ -758,6 +765,7 @@ $VERSION = '3.65';
     0x80000355 => 'EOS M2',
     0x80000346 => 'EOS Rebel SL1 / 100D / Kiss X7',
     0x80000347 => 'EOS Rebel T6s / 760D / 8000D',
+    0x80000349 => 'EOS 5D Mark IV', #42
     0x80000382 => 'EOS 5DS',
     0x80000393 => 'EOS Rebel T6i / 750D / Kiss X8i',
     0x80000401 => 'EOS 5DS R',
@@ -1097,6 +1105,11 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
             SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo70D' },
         },
         {
+            Name => 'CanonCameraInfo80D',
+            Condition => '$$self{Model} =~ /EOS 80D$/',
+            SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo80D' },
+        },
+        {
             Name => 'CanonCameraInfo450D',
             Condition => '$$self{Model} =~ /\b(450D|REBEL XSi|Kiss X2)\b/',
             SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo450D' },
@@ -1118,10 +1131,25 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
         },
         {
             Name => 'CanonCameraInfo650D',
-            Condition => '$$self{Model} =~ /\b(650D|REBEL T4i|Kiss X6i|700D|Rebel T5i|Kiss X7i)\b/',
+            Condition => '$$self{Model} =~ /\b(650D|REBEL T4i|Kiss X6i)\b/',
             SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo650D' },
         },
         {
+            Name => 'CanonCameraInfo700D',
+            Condition => '$$self{Model} =~ /\b(700D|REBEL T5i|Kiss X7i)\b/',
+            SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo650D' },
+        },
+        {
+            Name => 'CanonCameraInfo750D',
+            Condition => '$$self{Model} =~ /\b(750D|Rebel T6i|Kiss X8i)\b/',
+            SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo750D' },
+        },
+        {
+            Name => 'CanonCameraInfo760D',
+            Condition => '$$self{Model} =~ /\b(760D|Rebel T6s|8000D)\b/',
+            SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo750D' },
+        },
+        {
             Name => 'CanonCameraInfo1000D',
             Condition => '$$self{Model} =~ /\b(1000D|REBEL XS|Kiss F)\b/',
             SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo1000D' },
@@ -1132,6 +1160,11 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
             SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo600D' },
         },
         {
+            Name => 'CanonCameraInfo1200D',
+            Condition => '$$self{Model} =~ /\b(1200D|REBEL T5|Kiss X70)\b/',
+            SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfo60D' },
+        },
+        {
             Name => 'CanonCameraInfoPowerShot',
             # valid if format is int32u[138] or int32u[148]
             Condition => '$format eq "int32u" and ($count == 138 or $count == 148)',
@@ -4253,16 +4286,16 @@ my %ciMaxFocal = (
     },
 );
 
-# Canon camera information for 60D (MakerNotes tag 0x0d) (ref PH)
+# Canon camera information for 60D/1200D (MakerNotes tag 0x0d) (ref PH)
 # NOTE: Can probably borrow more 50D tags here, possibly with an offset
 %Image::ExifTool::Canon::CameraInfo60D = (
     %binaryDataAttrs,
     FORMAT => 'int8u',
     FIRST_ENTRY => 0,
     PRIORITY => 0,
-    IS_SUBDIR => [ 0x321 ],
+    IS_SUBDIR => [ 0x2f9, 0x321 ],
     GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
-    NOTES => 'CameraInfo tags for the EOS 60D.',
+    NOTES => 'CameraInfo tags for the EOS 60D and 1200D.',
     0x03 => { %ciFNumber },
     0x04 => { %ciExposureTime },
     0x06 => { %ciISO },
@@ -4270,6 +4303,8 @@ my %ciMaxFocal = (
     0x1e => { %ciFocalLength },
     0x36 => {
         Name => 'CameraOrientation',
+        Condition => '$$self{Model} =~ /EOS 60D$/', #(NC)
+        Notes => '60D only',
         PrintConv => {
             0 => 'Horizontal (normal)',
             1 => 'Rotate 90 CW',
@@ -4278,14 +4313,20 @@ my %ciMaxFocal = (
     },
     0x55 => {
         Name => 'FocusDistanceUpper',
+        Condition => '$$self{Model} =~ /EOS 60D$/',
+        Notes => '60D only',
         %focusDistanceByteSwap,
     },
     0x57 => {
         Name => 'FocusDistanceLower',
+        Condition => '$$self{Model} =~ /EOS 60D$/',
+        Notes => '60D only',
         %focusDistanceByteSwap,
     },
     0x7d => {
         Name => 'ColorTemperature',
+        Condition => '$$self{Model} =~ /EOS 60D$/',
+        Notes => '60D only',
         Format => 'int16u',
     },
     0xe8 => {
@@ -4297,13 +4338,15 @@ my %ciMaxFocal = (
     },
     0xea => { %ciMinFocal },
     0xec => { %ciMaxFocal },
-    0x199 => {  # (at this location for firmware 2.8.1 and 1.0.5)
+    0x199 => {  # (at this location for 60D firmware 2.8.1/1.0.5, and 1200D 3.3.1/1.0.0)
         Name => 'FirmwareVersion',
         Format => 'string[6]',
         Writable => 0,
     },
     0x1d9 => {
         Name => 'FileIndex',
+        Condition => '$$self{Model} =~ /EOS 60D$/',
+        Notes => '60D only',
         Groups => { 2 => 'Image' },
         Format => 'int32u',
         ValueConv => '$val + 1',
@@ -4311,13 +4354,23 @@ my %ciMaxFocal = (
     },
     0x1e5 => { #(NC)
         Name => 'DirectoryIndex',
+        Condition => '$$self{Model} =~ /EOS 60D$/',
+        Notes => '60D only',
         Groups => { 2 => 'Image' },
         Format => 'int32u',
         ValueConv => '$val - 1',
         ValueConvInv => '$val + 1',
     },
+    0x2f9 => {
+        Name => 'PictureStyleInfo',
+        Condition => '$$self{Model} =~ /\b(1200D|REBEL T5|Kiss X70)\b/',
+        Notes => '1200D',
+        SubDirectory => { TagTable => 'Image::ExifTool::Canon::PSInfo2' },
+    },
     0x321 => {
         Name => 'PictureStyleInfo',
+        Condition => '$$self{Model} =~ /EOS 60D$/',
+        Notes => '60D',
         SubDirectory => { TagTable => 'Image::ExifTool::Canon::PSInfo2' },
     },
 );
@@ -4391,6 +4444,69 @@ my %ciMaxFocal = (
     },
 );
 
+# Canon camera information for 80D (MakerNotes tag 0x0d) (ref PH)
+%Image::ExifTool::Canon::CameraInfo80D = (
+    %binaryDataAttrs,
+    FORMAT => 'int8u',
+    FIRST_ENTRY => 0,
+    PRIORITY => 0,
+    GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
+    NOTES => 'CameraInfo tags for the EOS 70D.',
+    0x03 => { %ciFNumber },
+    0x04 => { %ciExposureTime },
+    0x06 => { %ciISO },
+    0x1b => { %ciCameraTemperature },
+    0x23 => { %ciFocalLength },
+    0x96 => {
+        Name => 'CameraOrientation',
+        PrintConv => {
+            0 => 'Horizontal (normal)',
+            1 => 'Rotate 90 CW',
+            2 => 'Rotate 270 CW',
+        },
+    },
+    0xa5 => {
+        Name => 'FocusDistanceUpper',
+        %focusDistanceByteSwap,
+    },
+    0xa7 => {
+        Name => 'FocusDistanceLower',
+        %focusDistanceByteSwap,
+    },
+    0x13a => {
+        Name => 'ColorTemperature',
+        Format => 'int16u',
+    },
+    0x189 => {
+        Name => 'LensType',
+        Format => 'int16uRev', # value is big-endian
+        SeparateTable => 1,
+        ValueConvInv => 'int($val)', # (must truncate decimal part)
+        PrintConv => \%canonLensTypes,
+    },
+    0x18b => { %ciMinFocal },
+    0x18d => { %ciMaxFocal },
+    0x45a => {  # (at this location for firmware 1.0.1)
+        Name => 'FirmwareVersion',
+        Format => 'string[6]',
+        Writable => 0,
+    },
+    0x4ae => {
+        Name => 'FileIndex',
+        Groups => { 2 => 'Image' },
+        Format => 'int32u',
+        ValueConv => '$val + 1',
+        ValueConvInv => '$val - 1',
+    },
+    0x4ba => { #(NC)
+        Name => 'DirectoryIndex',
+        Groups => { 2 => 'Image' },
+        Format => 'int32u',
+        ValueConv => '$val - 1',
+        ValueConvInv => '$val + 1',
+    },
+);
+
 # Canon camera information for 450D (MakerNotes tag 0x0d) (ref PH)
 %Image::ExifTool::Canon::CameraInfo450D = (
     %binaryDataAttrs,
@@ -4784,7 +4900,7 @@ my %ciMaxFocal = (
     },
 );
 
-# Canon camera information for 650D (MakerNotes tag 0x0d) (ref PH)
+# Canon camera information for 650D/700D (MakerNotes tag 0x0d) (ref PH)
 %Image::ExifTool::Canon::CameraInfo650D = (
     %binaryDataAttrs,
     FORMAT => 'int8u',
@@ -4850,13 +4966,13 @@ my %ciMaxFocal = (
     },
     0x220 => { # (700D version 1.1.1/2.1.1)
         Name => 'FirmwareVersion',
-        Condition => '$$self{Model} =~ /(700D|Rebel T5i|Kiss X7i)\b/',
+        Condition => '$$self{Model} =~ /(700D|REBEL T5i|Kiss X7i)\b/',
         Notes => '700D',
         Format => 'string[6]',
         Writable => 0,
         RawConv => '$val=~/^\d+\.\d+\.\d+\s*$/ ? $val : undef',
     },
-    0x270 => { # (NC)
+    0x270 => { #(NC)
         Name => 'FileIndex',
         Condition => '$$self{Model} =~ /(650D|REBEL T4i|Kiss X6i)\b/',
         Notes => '650D',
@@ -4865,16 +4981,16 @@ my %ciMaxFocal = (
         ValueConv => '$val + 1',
         ValueConvInv => '$val - 1',
     },
-    0x274 => { # (NC)
+    0x274 => { #(NC)
         Name => 'FileIndex',
-        Condition => '$$self{Model} =~ /(700D|Rebel T5i|Kiss X7i)\b/',
+        Condition => '$$self{Model} =~ /(700D|REBEL T5i|Kiss X7i)\b/',
         Notes => '700D',
         Groups => { 2 => 'Image' },
         Format => 'int32u',
         ValueConv => '$val + 1',
         ValueConvInv => '$val - 1',
     },
-    0x27c => { # (NC)
+    0x27c => { #(NC)
         Name => 'DirectoryIndex',
         Condition => '$$self{Model} =~ /(650D|REBEL T4i|Kiss X6i)\b/',
         Notes => '650D',
@@ -4883,9 +4999,9 @@ my %ciMaxFocal = (
         ValueConv => '$val - 1',
         ValueConvInv => '$val + 1',
     },
-    0x280 => { # (NC)
+    0x280 => { #(NC)
         Name => 'DirectoryIndex',
-        Condition => '$$self{Model} =~ /(700D|Rebel T5i|Kiss X7i)\b/',
+        Condition => '$$self{Model} =~ /(700D|REBEL T5i|Kiss X7i)\b/',
         Notes => '700D',
         Groups => { 2 => 'Image' },
         Format => 'int32u',
@@ -4898,6 +5014,66 @@ my %ciMaxFocal = (
     },
 );
 
+# Canon camera information for 750D/760D (MakerNotes tag 0x0d) (ref PH)
+%Image::ExifTool::Canon::CameraInfo750D = (
+    %binaryDataAttrs,
+    FORMAT => 'int8u',
+    FIRST_ENTRY => 0,
+    PRIORITY => 0,
+    GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
+    NOTES => 'CameraInfo tags for the EOS 750D and 760D.',
+    0x03 => { %ciFNumber },
+    0x04 => { %ciExposureTime },
+    0x06 => { %ciISO },
+    0x1b => { %ciCameraTemperature }, # (700D + 0)
+    0x23 => { %ciFocalLength }, # (700D + 0)
+    0xa5 => { # (700D + 0x19)
+        Name => 'FocusDistanceUpper',
+        %focusDistanceByteSwap,
+    },
+    0xa7 => { # (700D + 0x19)
+        Name => 'FocusDistanceLower',
+        %focusDistanceByteSwap,
+    },
+    0x131 => { # (700D + 0x19)
+        Name => 'WhiteBalance',
+        Format => 'int16u',
+        SeparateTable => 1,
+        PrintConv => \%canonWhiteBalance,
+    },
+    0x135 => {
+        Name => 'ColorTemperature',
+        Format => 'int16u',
+    },
+    0x169 => {
+        Name => 'PictureStyle',
+        Format => 'int8u',
+        Flags => ['PrintHex','SeparateTable'],
+        PrintConv => \%pictureStyles,
+    },
+    0x184 => {
+        Name => 'LensType',
+        Format => 'int16uRev', # value is big-endian
+        SeparateTable => 1,
+        ValueConvInv => 'int($val)', # (must truncate decimal part)
+        PrintConv => \%canonLensTypes,
+    },
+    0x186 => { %ciMinFocal },
+    0x188 => { %ciMaxFocal },
+    0x43d => { # (750D/760D firmware 6.7.2)
+        Name => 'FirmwareVersion',
+        Format => 'string[6]',
+        Writable => 0,
+        RawConv => '$val=~/^\d+\.\d+\.\d+\s*$/ ? $val : undef',
+    },
+    0x449 => { # (750D/760D firmware 1.0.0)
+        Name => 'FirmwareVersion',
+        Format => 'string[6]',
+        Writable => 0,
+        RawConv => '$val=~/^\d+\.\d+\.\d+\s*$/ ? $val : undef',
+    },
+);
+
 # Canon camera information for 1000D (MakerNotes tag 0x0d) (ref PH)
 %Image::ExifTool::Canon::CameraInfo1000D = (
     %binaryDataAttrs,
@@ -5945,7 +6121,7 @@ my %ciMaxFocal = (
             31 => 'Anchorage',      # [-9]
             32 => 'Honolulu',       # [-10]
             33 => 'Samoa',          # [+13]
-            32766 => '(not set)',   # (NC)
+            32766 => '(not set)',   #(NC)
         },
     },
     3 => {
@@ -7746,6 +7922,8 @@ my %filterConv = (
     10 => { #52
         Name => 'AutoAFPointSelEOSiTRAF',
         Description => 'Auto AF Point Sel EOS iTR AF',
+        # valid for: 1DX, 1DXmkII, 7DmkII, 5DS, 5DSR
+        # not valid for: 5DmkIII
         Notes => 'only valid for some models',
         Condition => '$$self{Model} !~ /5D /',
         PrintConv => {
@@ -7763,12 +7941,12 @@ my %filterConv = (
     12 => { #52
         Name => 'SelectAFAreaSelectionMode',
         PrintConv => { BITMASK => {
-            0 => 'Single pt',
+            0 => 'Single-point AF',
             1 => 'Auto', # (61 point)
-            2 => 'Zone',
-            3 => 'Expand area 4pt',
-            4 => 'Spot',
-            5 => 'Expand area 8pt',
+            2 => 'Zone AF',
+            3 => 'AF Point Expansion (4 point)',
+            4 => 'Spot AF',
+            5 => 'AF Point Expansion (8 point)',
         }},
     },
     13 => { #52
diff --git a/lib/Image/ExifTool/CanonCustom.pm b/lib/Image/ExifTool/CanonCustom.pm
index 756eba2..beee954 100644
--- a/lib/Image/ExifTool/CanonCustom.pm
+++ b/lib/Image/ExifTool/CanonCustom.pm
@@ -1596,7 +1596,7 @@ my %convPFn = ( PrintConv => \&ConvertPfn, PrintConvInv => \&ConvertPfnInv );
     ],
     0x040a => { # new for 5DmkIII
         Name => 'ViewfinderWarnings',
-        PrintConv => { BITMASK => { # (NC)
+        PrintConv => { BITMASK => { #(NC)
             0 => 'Monochrome',              # (have seen for: 5DmkII, 6D)
             1 => 'WB corrected',            # (have seen for: 5DmkII, 6D)
             2 => 'One-touch image quality', # (have seen for: 5DmkII; doesn't exist for 6D)
@@ -1924,7 +1924,7 @@ my %convPFn = ( PrintConv => \&ConvertPfn, PrintConvInv => \&ConvertPfnInv );
     },
     0x0519 => { # new for 6D
         Name => 'AIServoFirstImagePriority',
-        PrintConv => { # (NC)
+        PrintConv => { #(NC)
             -1 => 'Release priority',
             0 => 'Equal priority',
             1 => 'Focus priority',
@@ -1932,7 +1932,7 @@ my %convPFn = ( PrintConv => \&ConvertPfn, PrintConvInv => \&ConvertPfnInv );
     },
     0x051a => { # new for 6D
         Name => 'AIServoSecondImagePriority',
-        PrintConv => { # (NC)
+        PrintConv => { #(NC)
             -1 => 'Shooting speed priority',
             0 => 'Equal priority',
             1 => 'Focus priority',
@@ -1959,8 +1959,8 @@ my %convPFn = ( PrintConv => \&ConvertPfn, PrintConvInv => \&ConvertPfnInv );
             1 => 'Enable',
             2 => 'Disable',
         },{
-            0 => 'Non-illuminated', # (NC)
-            1 => 'Illuminated', # (NC)
+            0 => 'Non-illuminated', #(NC)
+            1 => 'Illuminated', #(NC)
         }],
     },
     0x051e => { # (80D)
@@ -2245,13 +2245,13 @@ my %convPFn = ( PrintConv => \&ConvertPfn, PrintConvInv => \&ConvertPfnInv );
     0x070f => { # new for 5DmkIII
         Name => 'MultiFunctionLock',
         PrintConv => [
-            { # (NC)
+            { #(NC)
                 0 => 'Off',
                 1 => 'On', # "On (main dial)" for 750D/760D?
-                2 => 'On (quick control dial)', # (NC)
-                3 => 'On (main dial and quick control dial)', # (NC)
+                2 => 'On (quick control dial)', #(NC)
+                3 => 'On (main dial and quick control dial)', #(NC)
             },
-            { BITMASK => { # (NC)
+            { BITMASK => { #(NC)
                 0 => 'Main dial',
                 1 => 'Quick control dial',
                 2 => 'Multi-controller',
diff --git a/lib/Image/ExifTool/Exif.pm b/lib/Image/ExifTool/Exif.pm
index 6feb549..082258f 100644
--- a/lib/Image/ExifTool/Exif.pm
+++ b/lib/Image/ExifTool/Exif.pm
@@ -53,7 +53,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
 use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::MakerNotes;
 
-$VERSION = '3.83';
+$VERSION = '3.87';
 
 sub ProcessExif($$$);
 sub WriteExif($$$);
@@ -1364,8 +1364,37 @@ my %sampleFormat = (
             3 => 'Sony Lossless Compressed RAW', #IB
         },
     },
-    0x7035 => 'ChromaticAberrationCorrParams', #forum6509 (Sony A7 ARW)
-    0x7037 => 'DistortionCorrParams', #forum6509 (Sony A7 ARW)
+    # 0x7001 - int16u[1] (in SubIFD of Sony ARW images) - values: 0,1
+    # 0x7010 - int16u[4] (in SubIFD of Sony ARW images) - values: "0 9824 11512 16362","8000 10400 12900 14100"
+    # 0x7011 - int16u[4] (in SubIFD of Sony ARW images) - values: "0 4912 8212 12287","4000 7200 10050 12075"
+    # 0x7020 - int32u[1] (in SubIFD of Sony ARW images) - values: 0,3
+    # 0x7031 - int16u[1] (in SubIFD of Sony ARW images) - values: 256,257
+    0x7032 => {
+        Name => 'LightFalloffParams', #forum7640
+        Notes => 'found in Sony ARW images',
+        Protected => 1,
+        Writable => 'int16s',
+        WriteGroup => 'SubIFD',
+        Count => 17,
+    },
+    # 0x7034 - int16u[1] (in SubIFD of Sony ARW images) - values: 1
+    0x7035 => {
+        Name => 'ChromaticAberrationCorrParams', #forum6509
+        Notes => 'found in Sony ARW images',
+        Protected => 1,
+        Writable => 'int16s',
+        WriteGroup => 'SubIFD',
+        Count => 33,
+    },
+    # 0x7036 - int16u[1] (in SubIFD of Sony ARW images) - values: 0,1,17
+    0x7037 => {
+        Name => 'DistortionCorrParams', #forum6509
+        Notes => 'found in Sony ARW images',
+        Protected => 1,
+        Writable => 'int16s',
+        WriteGroup => 'SubIFD',
+        Count => 17,
+    },
     0x800d => 'ImageID', #10
     0x80a3 => { Name => 'WangTag1', Binary => 1 }, #20
     0x80a4 => { Name => 'WangAnnotation', Binary => 1 },
@@ -1468,7 +1497,7 @@ my %sampleFormat = (
         Name => 'ExposureTime',
         Writable => 'rational64u',
         PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
     },
     0x829d => {
         Name => 'FNumber',
@@ -1851,6 +1880,39 @@ my %sampleFormat = (
         Writable => 'undef',
         Count => -1,
     },
+    0x9010 => {
+        Name => 'OffsetTime',
+        Groups => { 2 => 'Time' },
+        Notes => 'time zone for ModifyDate',
+        Writable => 'string',
+        PrintConvInv => q{
+            return "+00:00" if $val =~ /\d{2}Z$/;
+            return sprintf("%s%.2d:%.2d",$1,$2,$3) if $val =~ /([-+])(\d{1,2}):(\d{2})/;
+            return undef;
+        },
+    },
+    0x9011 => {
+        Name => 'OffsetTimeOriginal',
+        Groups => { 2 => 'Time' },
+        Notes => 'time zone for DateTimeOriginal',
+        Writable => 'string',
+        PrintConvInv => q{
+            return "+00:00" if $val =~ /\d{2}Z$/;
+            return sprintf("%s%.2d:%.2d",$1,$2,$3) if $val =~ /([-+])(\d{1,2}):(\d{2})/;
+            return undef;
+        },
+    },
+    0x9012 => {
+        Name => 'OffsetTimeDigitized',
+        Groups => { 2 => 'Time' },
+        Notes => 'time zone for CreateDate',
+        Writable => 'string',
+        PrintConvInv => q{
+            return "+00:00" if $val =~ /\d{2}Z$/;
+            return sprintf("%s%.2d:%.2d",$1,$2,$3) if $val =~ /([-+])(\d{1,2}):(\d{2})/;
+            return undef;
+        },
+    },
     0x9101 => {
         Name => 'ComponentsConfiguration',
         Format => 'int8u',
@@ -1927,7 +1989,7 @@ my %sampleFormat = (
         Notes => 'called ExposureBiasValue by the EXIF spec.',
         Writable => 'rational64s',
         PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
     },
     0x9205 => {
         Name => 'MaxApertureValue',
@@ -2066,6 +2128,7 @@ my %sampleFormat = (
     0x9290 => {
         Name => 'SubSecTime',
         Groups => { 2 => 'Time' },
+        Notes => 'fractional seconds for ModifyDate',
         Writable => 'string',
         ValueConv => '$val=~s/ +$//; $val', # trim trailing blanks
         # extract fractional seconds from a full date/time value
@@ -2074,6 +2137,7 @@ my %sampleFormat = (
     0x9291 => {
         Name => 'SubSecTimeOriginal',
         Groups => { 2 => 'Time' },
+        Notes => 'fractional seconds for DateTimeOriginal',
         Writable => 'string',
         ValueConv => '$val=~s/ +$//; $val', # trim trailing blanks
         ValueConvInv => '$val=~/^(\d+)\s*$/ ? $1 : ($val=~/\.(\d+)/ ? $1 : undef)',
@@ -2081,6 +2145,7 @@ my %sampleFormat = (
     0x9292 => {
         Name => 'SubSecTimeDigitized',
         Groups => { 2 => 'Time' },
+        Notes => 'fractional seconds for CreateDate',
         Writable => 'string',
         ValueConv => '$val=~s/ +$//; $val', # trim trailing blanks
         ValueConvInv => '$val=~/^(\d+)\s*$/ ? $1 : ($val=~/\.(\d+)/ ? $1 : undef)',
@@ -2107,6 +2172,37 @@ my %sampleFormat = (
         Binary => 1,
         Protected => 1, # (because this can be hundreds of megabytes)
     },
+    0x9400 => {
+        Name => 'AmbientTemperature',
+        Notes => 'ambient temperature in degrees C, called Temperature by the EXIF spec.',
+        Writable => 'rational64s',
+        PrintConv => '"$val C"',
+        PrintConvInv => '$val=~s/ ?C//; $val',
+    },
+    0x9401 => {
+        Name => 'Humidity',
+        Notes => 'ambient relative humidity in percent',
+        Writable => 'rational64u',
+    },
+    0x9402 => {
+        Name => 'Pressure',
+        Notes => 'air pressure in hPa or mbar',
+        Writable => 'rational64u',
+    },
+    0x9403 => {
+        Name => 'WaterDepth',
+        Notes => 'depth under water in metres, negative for above water',
+        Writable => 'rational64s',
+    },
+    0x9404 => {
+        Name => 'Acceleration',
+        Notes => 'directionless camera acceleration in units of mGal, or 10-5 m/s2',
+        Writable => 'rational64u',
+    },
+    0x9405 => {
+        Name => 'CameraElevationAngle',
+        Writable => 'rational64s',
+    },
     0x9c9b => {
         Name => 'XPTitle',
         Format => 'undef',
@@ -2209,6 +2305,27 @@ my %sampleFormat = (
             MaxSubdirs => 1,
         },
     },
+    # the following 4 tags found in SubIFD1 of some Samsung SRW images
+    0xa010 => {
+        Name => 'SamsungRawPointersOffset',
+        IsOffset => 1,
+        OffsetPair => 0xa011,  # point to associated byte count
+    },
+    0xa011 => {
+        Name => 'SamsungRawPointersLength',
+        OffsetPair => 0xa010,  # point to associated offset
+    },
+    0xa101 => {
+        Name => 'SamsungRawByteOrder',
+        Format => 'undef',
+        # this is written incorrectly as string[1], but is "\0\0MM" or "II\0\0"
+        FixedSize => 4,
+        Count => 1,
+    },
+    0xa102 => {
+        Name => 'SamsungRawUnknown',
+        Unknown => 1,
+    },
     0xa20b => {
         Name => 'FlashEnergy',
         Groups => { 2 => 'Camera' },
@@ -2640,7 +2757,11 @@ my %sampleFormat = (
 #
     0xc612 => {
         Name => 'DNGVersion',
-        Notes => 'tags 0xc612-0xc7b5 are used in DNG images unless otherwise noted',
+        Notes => q{
+            tags 0xc612-0xc7b5 are defined by the DNG specification unless otherwise
+            noted.  See L<https://helpx.adobe.com/photoshop/digital-negative.html> for
+            the specification
+        },
         Writable => 'int8u',
         WriteGroup => 'IFD0',
         Count => 4,
@@ -3749,6 +3870,25 @@ my %sampleFormat = (
     },
 );
 
+# conversions for Composite SubSec date/time tags
+my %subSecConv = (
+    # @val array: 0) date/time, 1) sub-seconds, 2) time zone offset
+    RawConv => q{
+        my $v;
+        if (defined $val[1] and $val[1]=~/^(\d+)/) {
+            my $subSec = $1;
+            # be careful here just in case the time already contains a timezone (contrary to spec)
+            undef $v unless ($v = $val[0]) =~ s/( \d{2}:\d{2}:\d{2})/$1\.$subSec/;
+        }
+        if (defined $val[2] and $val[0]!~/[-+]/ and $val[2]=~/^([-+])(\d{1,2}):(\d{2})/) {
+            $v = ($v || $val[0]) . sprintf('%s%.2d:%.2d', $1, $2, $3);
+        }
+        return $v;
+    },
+    PrintConv => '$self->ConvertDateTime($val)',
+    PrintConvInv => '$self->InverseDateTime($val)',
+);
+
 # EXIF Composite tags (plus other more general Composite tags)
 %Image::ExifTool::Exif::Composite = (
     GROUPS => { 2 => 'Image' },
@@ -4081,42 +4221,56 @@ my %sampleFormat = (
     SubSecDateTimeOriginal => {
         Description => 'Date/Time Original',
         Groups => { 2 => 'Time' },
+        Writable => 1,
         Require => {
             0 => 'EXIF:DateTimeOriginal',
+        },
+        Desire => {
             1 => 'SubSecTimeOriginal',
+            2 => 'OffsetTimeOriginal',
         },
-        # be careful here just in case there is a timezone following the seconds
-        RawConv => '$val[1]=~/\d/ ? $val : undef',
-        ValueConv => q{
-            $_ = $val[0]; s/( \d{2}:\d{2}:\d{2})/$1\.$val[1]/; $_;
+        WriteAlso => {
+            'EXIF:DateTimeOriginal' => '($val and $val=~/^(\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2})/) ? $1 : undef',
+            'EXIF:SubSecTimeOriginal' => '($val and $val=~/\.(\d+)/) ? $1 : undef',
+            'EXIF:OffsetTimeOriginal' => '($val and $val=~/([-+]\d{2}:\d{2}|Z)$/) ? ($1 eq "Z" ? "+00:00" : $1) : undef',
         },
-        PrintConv => '$self->ConvertDateTime($val)',
+        %subSecConv,
     },
     SubSecCreateDate => {
         Description => 'Create Date',
         Groups => { 2 => 'Time' },
+        Writable => 1,
         Require => {
             0 => 'EXIF:CreateDate',
+        },
+        Desire => {
             1 => 'SubSecTimeDigitized',
+            2 => 'OffsetTimeDigitized',
         },
-        RawConv => '$val[1]=~/\d/ ? $val : undef',
-        ValueConv => q{
-            $_ = $val[0]; s/( \d{2}:\d{2}:\d{2})/$1\.$val[1]/; $_;
+        WriteAlso => {
+            'EXIF:CreateDate' => '($val and $val=~/^(\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2})/) ? $1 : undef',
+            'EXIF:SubSecTimeDigitized' => '($val and $val=~/\.(\d+)/) ? $1 : undef',
+            'EXIF:OffsetTimeDigitized' => '($val and $val=~/([-+]\d{2}:\d{2}|Z)$/) ? ($1 eq "Z" ? "+00:00" : $1) : undef',
         },
-        PrintConv => '$self->ConvertDateTime($val)',
+        %subSecConv,
     },
     SubSecModifyDate => {
         Description => 'Modify Date',
         Groups => { 2 => 'Time' },
+        Writable => 1,
         Require => {
             0 => 'EXIF:ModifyDate',
+        },
+        Desire => {
             1 => 'SubSecTime',
+            2 => 'OffsetTime',
         },
-        RawConv => '$val[1]=~/\d/ ? $val : undef',
-        ValueConv => q{
-            $_ = $val[0]; s/( \d{2}:\d{2}:\d{2})/$1\.$val[1]/; $_;
+        WriteAlso => {
+            'EXIF:ModifyDate' => '($val and $val=~/^(\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2})/) ? $1 : undef',
+            'EXIF:SubSecTime' => '($val and $val=~/\.(\d+)/) ? $1 : undef',
+            'EXIF:OffsetTime' => '($val and $val=~/([-+]\d{2}:\d{2}|Z)$/) ? ($1 eq "Z" ? "+00:00" : $1) : undef',
         },
-        PrintConv => '$self->ConvertDateTime($val)',
+        %subSecConv,
     },
     CFAPattern => {
         Require => {
@@ -4688,18 +4842,21 @@ sub PrintLensID($$@)
         ($shortFocal, $longFocal) = ($1, $2 || $1);
     }
     if ($$et{Make} eq 'SONY') {
-        # patch for Metabones Canon adapters on Sony cameras (ref Jos Roost)
-        # (the Metabones adapters add 0xef00 or 0x7700 to the high byte
-        # for 2-byte LensType values, so we need to adjust for these)
-        if ($lensType != 0xffff) {
+        # Patch for Metabones or other adapters on Sony E-mount cameras (ref Jos Roost)
+        # Metabones Canon EF to E-mount adapters add 0xef00, 0xbc00 or 0x7700 to the
+        # high byte for 2-byte Canon LensType values, so we need to adjust for these.
+        # Offset 0xef00 is also used by Sigma MC-11, Fotodiox and Viltrox EF-E adapters.
+        # Have to exclude A-mount Sigma Filtermatic with 'odd' LensType=0xff00.
+        if ($lensType != 0xffff and $lensType != 0xff00) {
             require Image::ExifTool::Minolta;
             if ($Image::ExifTool::Minolta::metabonesID{$lensType & 0xff00}) {
                 $lensType -= ($lensType >= 0xef00 ? 0xef00 : $lensType >= 0xbc00 ? 0xbc00 : 0x7700);
                 require Image::ExifTool::Canon;
                 $printConv = \%Image::ExifTool::Canon::canonLensTypes;
                 $lensTypePrt = $$printConv{$lensType} if $$printConv{$lensType};
-            # test for Sigma MC-11 adapter with Sigma lens: upper limit cuts off two highest
-            # Sigma lenses, but prevents conflict with old Minolta 25xxx and higher ID's
+            # Test for Sigma MC-11 SA-E adapter with Sigma SA lens using 0x4900 offset.
+            # (upper limit of test cuts off two highest Sigma lenses, but prevents
+            # conflict with old Minolta 25xxx and higher ID's)
             } elsif ($lensType >= 0x4900 and $lensType <= 0x590a) {
                 require Image::ExifTool::Sigma;
                 $lensType -= 0x4900;
@@ -5381,6 +5538,7 @@ sub ProcessExif($$$)
                 if ($newNum and $newNum != $format) {
                     $origFormStr = $formatName[$format] . '[' . $count . ']';
                     $format = $newNum;
+                    $size = $readSize = $$tagInfo{FixedSize} if $$tagInfo{FixedSize};
                     # adjust number of items for new format size
                     $count = int($size / $formatSize[$format]);
                 }
diff --git a/lib/Image/ExifTool/FLIF.pm b/lib/Image/ExifTool/FLIF.pm
new file mode 100644
index 0000000..0fc9a75
--- /dev/null
+++ b/lib/Image/ExifTool/FLIF.pm
@@ -0,0 +1,345 @@
+#------------------------------------------------------------------------------
+# File:         FLIF.pm
+#
+# Description:  Read/write FLIF meta information
+#
+# Revisions:    2016/10/11 - P. Harvey Created
+#               2016/10/14 - PH Added write support
+#
+# References:   1) http://flif.info/
+#               2) https://github.com/FLIF-hub/FLIF/blob/master/doc/metadata
+#------------------------------------------------------------------------------
+
+package Image::ExifTool::FLIF;
+
+use strict;
+use vars qw($VERSION);
+use Image::ExifTool qw(:DataAccess :Utils);
+
+$VERSION = '1.01';
+
+my %flifMap = (
+    EXIF         => 'FLIF',
+    XMP          => 'FLIF',
+    ICC_Profile  => 'FLIF',
+    IFD0         => 'EXIF',
+    IFD1         => 'IFD0',
+    ExifIFD      => 'IFD0',
+    GPS          => 'IFD0',
+    SubIFD       => 'IFD0',
+    GlobParamIFD => 'IFD0',
+    PrintIM      => 'IFD0',
+    InteropIFD   => 'ExifIFD',
+    MakerNotes   => 'ExifIFD',
+);
+
+# FLIF tags
+%Image::ExifTool::FLIF::Main = (
+    GROUPS => { 0 => 'File', 1 => 'File', 2 => 'Image' },
+    VARS => { HEX_ID => 0 },
+    NOTES => q{
+        Information extracted from Free Lossless Image Format files.  See
+        L<http://flif.info/> for more information.
+    },
+#
+# header information
+#
+    0 => {
+        Name => 'ImageType',
+        PrintConv => {
+            '1' => 'Grayscale (non-interlaced)',
+            '3' => 'RGB (non-interlaced)',
+            '4' => 'RGBA (non-interlaced)',
+            'A' => 'Grayscale (interlaced)',
+            'C' => 'RGB (interlaced)',
+            'D' => 'RGBA (interlaced)',
+            'Q' => 'Grayscale Animation (non-interlaced)',
+            'S' => 'RGB Animation (non-interlaced)',
+            'T' => 'RGBA Animation (non-interlaced)',
+            'a' => 'Grayscale Animation (interlaced)',
+            'c' => 'RGB Animation (interlaced)',
+            'd' => 'RGBA Animation (interlaced)',
+        },
+    },
+    1 => {
+        Name => 'BitDepth',
+        PrintConv => {
+            '0' => 'Custom',
+            '1' => 8,
+            '2' => 16,
+        },
+    },
+    2 => 'ImageWidth',
+    3 => 'ImageHeight',
+    4 => 'AnimationFrames',
+#
+# metadata chunks
+#
+    iCCP => {
+        Name => 'ICC_Profile',
+        SubDirectory => {
+            TagTable => 'Image::ExifTool::ICC_Profile::Main',
+        },
+    },
+    eXif => {
+        Name => 'EXIF',
+        SubDirectory => {
+            TagTable => 'Image::ExifTool::Exif::Main',
+            ProcessProc => \&Image::ExifTool::ProcessTIFF,
+            WriteProc => \&Image::ExifTool::WriteTIFF,
+            Start => 6, # (skip "Exif\0\0" header)
+            Header => "Exif\0\0",
+        },
+    },
+    eXmp => {
+        Name => 'XMP',
+        SubDirectory => {
+            TagTable => 'Image::ExifTool::XMP::Main',
+        },
+    },
+    # tRko - list of truncation offsets
+    # \0 - FLIF16-format image data
+);
+
+#------------------------------------------------------------------------------
+# Read variable-length FLIF integer
+# Inputs: 0) raf reference, 1) number to add to returned value
+# Returns: integer, or undef on EOF
+sub GetVarInt($;$)
+{
+    my ($raf, $add) = @_;
+    my ($val, $buff);
+    for ($val=0; ; $val<<=7) {
+        $raf->Read($buff, 1) or return undef;
+        my $byte = ord($buff);
+        $val |= ($byte & 0x7f);
+        last unless $byte & 0x80;
+    }
+    return $val + ($add || 0);
+}
+
+#------------------------------------------------------------------------------
+# Construct variable-length FLIF integer
+# Inputs: 0) integer
+# Returns: FLIF variable-length integer byte stream
+sub SetVarInt($)
+{
+    my $val = shift;
+    my $buff = '';
+    my $high = 0;
+    for (;;) {
+        $buff = chr(($val & 0x7f) | $high) . $buff;
+        last unless $val >>= 7;
+        $high = 0x80;
+    }
+    return $buff;
+}
+
+#------------------------------------------------------------------------------
+# Read FLIF header
+# Inputs: 0) RAF ref
+# Returns: Scalar context: binary header block
+#          List context: header values (4 or 5 elements: type,depth,width,height[,frames])
+#          or undef if this isn't a valid FLIF file header
+sub ReadFLIFHeader($)
+{
+    my $raf = shift;
+    my ($buff, @vals);
+
+    # verify this is a valid FLIF file
+    return () unless $raf->Read($buff, 6) == 6 and $buff =~ /^FLIF([0-\x6f])([0-2])/;
+
+    # decode header information ("FLIF" chunk)
+    push @vals, $1, $2;                                 # type, depth
+    push @vals, GetVarInt($raf,+1), GetVarInt($raf,+1); # width, height (+1 each)
+    push @vals, GetVarInt($raf,+2) if $vals[0] gt 'H';  # frames (+2)
+
+    return () unless defined $vals[-1];
+    return @vals if wantarray;      # return the decoded header values
+
+    # return the binary header block
+    my $hdrLen = $raf->Tell();
+    return () unless $raf->Seek(0,0) and $raf->Read($buff, $hdrLen) == $hdrLen;
+    return $buff;
+}
+
+#------------------------------------------------------------------------------
+# WriteFLIF : Write FLIF image
+# Inputs: 0) ExifTool object reference, 1) dirInfo reference
+# Returns: 1 on success, 0 if this wasn't a valid FLIF file, or -1 if
+#          an output file was specified and a write error occurred
+sub WriteFLIF($$)
+{
+    my ($et, $dirInfo) = @_;
+    my $raf = $$dirInfo{RAF};
+    my ($buff, $soi, @addTags, %doneTag);
+
+    # verify FLIF header and copy it to the output file
+    $buff = ReadFLIFHeader($raf) or return 0;
+    my $outfile = $$dirInfo{OutFile};
+    Write($outfile, $buff) or return -1;
+
+    $et->InitWriteDirs(\%flifMap);
+    my $tagTablePtr = GetTagTable('Image::ExifTool::FLIF::Main');
+
+    # loop through the FLIF chunks
+    for (;;) {
+        my ($tag, $size, $inflated);
+        # read new tag (or soi) unless we already hit the soi (start of image)
+        if (not defined $soi) {
+            $raf->Read($buff, 4) == 4 or $et->Error('Unexpected EOF'), last;
+            if ($buff lt ' ') {
+                $soi = $buff;   # we have hit the start of image (no more metadata)
+                # make list of new tags to add
+                foreach $tag ('eXif', 'eXmp', 'iCCP') {
+                    push @addTags, $tag if $$et{ADD_DIRS}{$$tagTablePtr{$tag}{Name}} and not $doneTag{$tag};
+                }
+            }
+        }
+        if (not defined $soi) {
+            $tag = $buff;
+            $size = GetVarInt($raf);    # read the data size
+        } elsif (@addTags) {
+            $tag = shift @addTags;
+            ($buff, $size) = ('', 0);   # create metadata from scratch
+        } else {
+            # finish copying file (no more metadata to add)
+            Write($outfile, $soi) or return -1;
+            Write($outfile, $buff) or return -1 while $raf->Read($buff, 65536);
+            last;   # all done!
+        }
+        my $tagInfo = $et->GetTagInfo($tagTablePtr, $tag);
+        if ($tagInfo and $$tagInfo{SubDirectory} and $$et{EDIT_DIRS}{$$tagInfo{Name}}) {
+            $doneTag{$tag} = 1;         # prevent adding this back again later
+            unless (defined $soi) {
+                $raf->Read($buff, $size) == $size or $et->Error("Truncated FLIF $tag chunk"), last;
+            }
+            # rewrite the compressed data
+            if (eval { require IO::Uncompress::RawInflate } and eval { require IO::Compress::RawDeflate } ) {
+                if (length $buff == 0) {
+                    $inflated = $buff;  # (creating from scratch, so no need to inflate)
+                } elsif (not IO::Uncompress::RawInflate::rawinflate(\$buff => \$inflated)) {
+                    $et->Error("Error inflating FLIF $tag chunk"), last;
+                }
+                my $subdir = $$tagInfo{SubDirectory};
+                my %subdirInfo = (
+                    DirName  => $$tagInfo{Name},
+                    DataPt   => \$inflated,
+                    DirStart => length($inflated) ? $$subdir{Start} : undef,
+                    ReadOnly => 1,      # (used only by WriteXMP)
+                );
+                my $subTable = GetTagTable($$subdir{TagTable});
+                $inflated = $et->WriteDirectory(\%subdirInfo, $subTable, $$subdir{WriteProc});
+                if (defined $inflated) {
+                    next unless length $inflated; # (delete directory if length is zero)
+                    $inflated = $$subdir{Header} . $inflated if $$subdir{Header}; # (add back header if necessary)
+                    unless (IO::Compress::RawDeflate::rawdeflate(\$inflated => \$buff)) {
+                        $et->Error("Error deflating FLIF $tag chunk"), last;
+                    }
+                }
+            } else {
+                $et->WarnOnce('Install IO::Compress::RawDeflate to write FLIF metadata');
+            }
+            Write($outfile, $tag, SetVarInt(length $buff), $buff) or return -1;
+        } elsif (not defined $soi) {
+            Write($outfile, $tag, SetVarInt($size)) or return -1;
+            Image::ExifTool::CopyBlock($raf, $outfile, $size) or return -1;
+        }
+    }
+    return 1;
+}
+
+#------------------------------------------------------------------------------
+# Extract information from an FLIF file
+# Inputs: 0) ExifTool object reference, 1) DirInfo reference
+# Returns: 1 on success, 0 if this wasn't a valid FLIF file
+sub ProcessFLIF($$)
+{
+    my ($et, $dirInfo) = @_;
+    my $raf = $$dirInfo{RAF};
+    my ($buff, $tag, $inflated);
+
+    # verify this is a valid FLIF file and read the header
+    my @vals = ReadFLIFHeader($raf) or return 0;
+
+    $et->SetFileType();
+    my $tagTablePtr = GetTagTable('Image::ExifTool::FLIF::Main');
+    my $verbose = $et->Options('Verbose');
+
+    # save the header information
+    $et->VPrint(0, "FLIF header:\n") if $verbose;
+    for ($tag=0; defined $vals[$tag]; ++$tag) {
+        $et->HandleTag($tagTablePtr, $tag, $vals[$tag]);
+    }
+
+    # loop through the FLIF chunks
+    for (;;) {
+        $raf->Read($tag, 4) == 4 or $et->Warn('Unexpected EOF'), last;
+        last if substr($tag, 0, 1) lt ' ';
+        my $size = GetVarInt($raf);
+        $et->VPrint(0, "FLIF $tag ($size bytes):\n") if $verbose;
+        if ($$tagTablePtr{$tag}) {
+            $raf->Read($buff, $size) == $size or $et->Warn("Truncated FLIF $tag chunk"), last;
+            $et->VerboseDump(\$buff, Addr => $raf->Tell() - $size) if $verbose > 2;
+            # inflate the compressed data
+            if (eval { require IO::Uncompress::RawInflate }) {
+                if (IO::Uncompress::RawInflate::rawinflate(\$buff => \$inflated)) {
+                    $et->HandleTag($tagTablePtr, $tag, $inflated,
+                        DataPt => \$inflated,
+                        Size => length $inflated,
+                        Extra => ' inflated',
+                    );
+                } else {
+                    $et->Warn("Error inflating FLIF $tag chunk");
+                }
+            } else {
+                $et->WarnOnce('Install IO::Uncompress::RawInflate to decode FLIF metadata');
+            }
+        } else {
+            $raf->Seek($size, 1) or $et->Warn('Seek error'), last;
+        }
+    }
+    return 1;
+}
+
+1;  # end
+
+__END__
+
+=head1 NAME
+
+Image::ExifTool::FLIF - Read/write FLIF meta information
+
+=head1 SYNOPSIS
+
+This module is used by Image::ExifTool
+
+=head1 DESCRIPTION
+
+This module contains routines required by Image::ExifTool to read and write
+meta information in FLIF (Free Lossless Image Format) images.
+
+=head1 AUTHOR
+
+Copyright 2003-2016, Phil Harvey (phil at owl.phy.queensu.ca)
+
+This library is free software; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+=head1 REFERENCES
+
+=over 4
+
+=item L<http://flif.info/>
+
+=item L<https://github.com/FLIF-hub/FLIF/blob/master/doc/metadata>
+
+=back
+
+=head1 SEE ALSO
+
+L<Image::ExifTool::TagNames/FLIF Tags>,
+L<Image::ExifTool(3pm)|Image::ExifTool>
+
+=cut
+
diff --git a/lib/Image/ExifTool/FLIR.pm b/lib/Image/ExifTool/FLIR.pm
index d0d4c99..3b57dde 100644
--- a/lib/Image/ExifTool/FLIR.pm
+++ b/lib/Image/ExifTool/FLIR.pm
@@ -414,18 +414,18 @@ my %float8g = ( Format => 'float', PrintConv => 'sprintf("%.8g",$val)' );
     0x070 => { Name => 'AtmosphericTransAlpha1', %float6f }, #1 (value: 0.006569)
     0x074 => { Name => 'AtmosphericTransAlpha2', %float6f }, #1 (value: 0.012620)
     0x078 => { Name => 'AtmosphericTransBeta1',  %float6f }, #1 (value: -0.002276)
-    0x07C => { Name => 'AtmosphericTransBeta2',  %float6f }, #1 (value: -0.006670)
+    0x07c => { Name => 'AtmosphericTransBeta2',  %float6f }, #1 (value: -0.006670)
     0x080 => { Name => 'AtmosphericTransX',      %float6f }, #1 (value: 1.900000)
     # 0x84,0x88: 0
     # 0x8c - float: 0,4,6
     0x90 => { Name => 'CameraTemperatureRangeMax', %floatKelvin },
     0x94 => { Name => 'CameraTemperatureRangeMin', %floatKelvin },
-    0x98 => { Name => 'UnknownTemperature1', %floatKelvin, Unknown => 1 }, # 50 degrees over camera max
-    0x9c => { Name => 'UnknownTemperature2', %floatKelvin, Unknown => 1 }, # usually 10 or 20 degrees below camera min
-    0xa0 => { Name => 'UnknownTemperature3', %floatKelvin, Unknown => 1 }, # same as camera max
-    0xa4 => { Name => 'UnknownTemperature4', %floatKelvin, Unknown => 1 }, # same as camera min
-    0xa8 => { Name => 'UnknownTemperature5', %floatKelvin, Unknown => 1 }, # usually 50 or 88 degrees over camera max
-    0xac => { Name => 'UnknownTemperature6', %floatKelvin, Unknown => 1 }, # usually 10, 20 or 40 degrees below camera min
+    0x98 => { Name => 'CameraTemperatureMaxClip', %floatKelvin }, # 50 degrees over camera max
+    0x9c => { Name => 'CameraTemperatureMinClip', %floatKelvin }, # usually 10 or 20 degrees below camera min
+    0xa0 => { Name => 'CameraTemperatureMaxWarn', %floatKelvin }, # same as camera max
+    0xa4 => { Name => 'CameraTemperatureMinWarn', %floatKelvin }, # same as camera min
+    0xa8 => { Name => 'CameraTemperatureMaxSaturated', %floatKelvin }, # usually 50 or 88 degrees over camera max
+    0xac => { Name => 'CameraTemperatureMinSaturated', %floatKelvin }, # usually 10, 20 or 40 degrees below camera min
     0xd4 => { Name => 'CameraModel',        Format => 'string[32]' },
     0xf4 => { Name => 'CameraPartNumber',   Format => 'string[16]' }, #1
     0x104 => { Name => 'CameraSerialNumber',Format => 'string[16]' }, #1
diff --git a/lib/Image/ExifTool/FujiFilm.pm b/lib/Image/ExifTool/FujiFilm.pm
index 6e86289..d4bb6ae 100644
--- a/lib/Image/ExifTool/FujiFilm.pm
+++ b/lib/Image/ExifTool/FujiFilm.pm
@@ -355,6 +355,12 @@ my %faceCategories = (
             32 => 'Soft',
         },
     },
+    0x1044 => { #forum7668
+        Name => 'DigitalZoom',
+        Writable => 'int32u',
+        ValueConv => '$val / 8',
+        ValueConvInv => '$val * 8',
+    },
     0x1050 => { #forum6109
         Name => 'ShutterType',
         Writable => 'int16u',
@@ -380,6 +386,20 @@ my %faceCategories = (
     # 0x1150 - Pro Low-light - val=1; Pro Focus - val=2 (ref 7)
     # 0x1151 - Pro Low-light - val=4 (number of pictures taken?); Pro Focus - val=2,3 (ref 7)
     # 0x1152 - Pro Low-light - val=1,3,4 (stacked pictures used?); Pro Focus - val=1,2 (ref 7)
+    0x1153 => { #forum7668
+        Name => 'PanoramaAngle',
+        Writable => 'int16u',
+    },
+    0x1154 => { #forum7668
+        Name => 'PanoramaDirection',
+        Writable => 'int16u',
+        PrintConv => {
+            1 => 'Right',
+            2 => 'Up',
+            3 => 'Left',
+            4 => 'Down',
+        },
+    },
     0x1201 => { #forum6109
         Name => 'AdvancedFilter',
         Writable => 'int32u',
diff --git a/lib/Image/ExifTool/Geotag.pm b/lib/Image/ExifTool/Geotag.pm
index cf182bb..fa0ff7c 100644
--- a/lib/Image/ExifTool/Geotag.pm
+++ b/lib/Image/ExifTool/Geotag.pm
@@ -24,10 +24,11 @@ use strict;
 use vars qw($VERSION);
 use Image::ExifTool qw(:Public);
 
-$VERSION = '1.49';
+$VERSION = '1.50';
 
 sub JITTER() { return 2 }       # maximum time jitter
 
+sub GetTime($);
 sub SetGeoValues($$;$);
 sub PrintFixTime($);
 sub PrintFix($@);
@@ -54,6 +55,8 @@ my %xmlTag = (
     when        => 'time',      # KML
     coordinates => 'coords',    # KML
     coord       => 'coords',    # KML, as written by Google Location History
+    begin       => 'begin',     # KML TimeSpan
+    end         => 'time',      # KML TimeSpan
     course      => 'dir',       # (written by Arduino)
     pitch       => 'pitch',     # (written by Arduino)
     roll        => 'roll',      # (written by Arduino)
@@ -183,6 +186,7 @@ sub LoadTrackLog($$;$)
     my $skipped = 0;
     my $lastSecs = 0;
     my $fix = { };
+    my (@saveFix, $timeSpan);
     for (;;) {
         $raf->ReadLine($_) or last;
         # determine file format
@@ -245,6 +249,7 @@ sub LoadTrackLog($$;$)
                         if (not $2) {
                             # opened: start a new fix
                             $lastFix = $fix = { };
+                            undef @saveFix;
                             next;
                         } elsif ($fix and $lastFix and %$fix) {
                             # closed: transfer additional tags from current fix
@@ -257,6 +262,10 @@ sub LoadTrackLog($$;$)
                     if (length $1) {
                         if ($tag) {
                             if ($tag eq 'coords') {
+                                # save other fixes if there are more than one
+                                if (defined $$fix{lon} and defined $$fix{lat} and defined $$fix{alt}) {
+                                    push @saveFix, [ @$fix{'lon','lat','alt'} ];
+                                }
                                 # read KML "Point" coordinates
                                 @$fix{'lon','lat','alt'} = split ',', $1;
                             } else {
@@ -274,29 +283,40 @@ sub LoadTrackLog($$;$)
                         $e0 or $et->VPrint(0, "Coordinate format error in $from\n"), $e0 = 1;
                         next;
                     }
-                    unless ($$fix{'time'} =~ /^(\d{4})-(\d+)-(\d+)T(\d+):(\d+):(\d+)(\.\d+)?(.*)/) {
+                    unless (defined($time = GetTime($$fix{'time'}))) {
                         $e1 or $et->VPrint(0, "Timestamp format error in $from\n"), $e1 = 1;
                         next;
                     }
-                    $time = Time::Local::timegm($6,$5,$4,$3,$2-1,$1-1900);
-                    $time += $7 if $7;  # add fractional seconds
-                    my $tz = $8;
-                    # adjust for time zone (otherwise assume UTC)
-                    # - allow timezone of +-HH:MM, +-H:MM, +-HHMM or +-HH since
-                    #   the spec is unclear about timezone format
-                    if ($tz =~ /^([-+])(\d+):(\d{2})\b/ or $tz =~ /^([-+])(\d{2})(\d{2})?\b/) {
-                        $tz = ($2 * 60 + ($3 || 0)) * 60;
-                        $tz *= -1 if $1 eq '+'; # opposite sign to change back to UTC
-                        $time += $tz;
-                    }
                     # validate altitude
                     undef $$fix{alt} if defined $$fix{alt} and $$fix{alt} !~ /^[+-]?\d+\.?\d*/;
                     $isDate = 1;
                     $canCut= 1 if defined $$fix{pdop} or defined $$fix{hdop} or defined $$fix{nsats};
                     $$has{alt} = 1 if $$fix{alt};   # set "has altitude" flag if appropriate
+                    # generate extra fixes assuming an equally spaced track
+                    if ($$fix{begin}) {
+                        my $begin = GetTime($$fix{begin});
+                        undef $$fix{begin};
+                        if (defined $begin and $begin < $time) {
+                            $$fix{span} = $timeSpan = ($timeSpan || 0) + 1;
+                            my $i;
+                            # duplicate the fix if there is only one so we will have
+                            # a fix and the start and end of the TimeSpan
+                            @saveFix or push @saveFix, [ @$fix{'lon','lat','alt'} ];
+                            for ($i=0; $i<@saveFix; ++$i) {
+                                my $t = $begin + ($time - $begin) * ($i / scalar(@saveFix));
+                                my %f;
+                                @f{'lon','lat','alt'} = @{$saveFix[$i]};
+                                $t += 0.001 if not $i and $$points{$t}; # (avoid dupicates)
+                                $f{span} = $timeSpan;
+                                $$points{$t} = \%f;
+                                push @fixTimes, $t;
+                            }
+                        }
+                    }
                     $$points{$time} = $fix;
                     push @fixTimes, $time;  # save times of all fixes in order
                     $fix = { };
+                    undef @saveFix;
                     ++$numPoints;
                 }
             }
@@ -617,6 +637,29 @@ DoneFix:    $isDate = 1;
     return "No track points found in GPS $from";
 }
 
+
+#------------------------------------------------------------------------------
+# Get floating point UTC time
+# Inputs: 0) XML time string
+# Returns: floating point time or undef on error
+sub GetTime($)
+{
+    my $timeStr = shift;
+    $timeStr =~ /^(\d{4})-(\d+)-(\d+)T(\d+):(\d+):(\d+)(\.\d+)?(.*)/ or return undef;
+    my $time = Time::Local::timegm($6,$5,$4,$3,$2-1,$1-1900);
+    $time += $7 if $7;  # add fractional seconds
+    my $tz = $8;
+    # adjust for time zone (otherwise assume UTC)
+    # - allow timezone of +-HH:MM, +-H:MM, +-HHMM or +-HH since
+    #   the spec is unclear about timezone format
+    if ($tz =~ /^([-+])(\d+):(\d{2})\b/ or $tz =~ /^([-+])(\d{2})(\d{2})?\b/) {
+        $tz = ($2 * 60 + ($3 || 0)) * 60;
+        $tz *= -1 if $1 eq '+'; # opposite sign to change back to UTC
+        $time += $tz;
+    }
+    return $time;
+}
+
 #------------------------------------------------------------------------------
 # Apply Geosync time correction
 # Inputs: 0) ExifTool ref, 1) Unix UTC time value
@@ -847,7 +890,10 @@ sub SetGeoValues($$;$)
             # check to see if we are extrapolating before the first entry in a track
             my $maxSecs = ($$p1{first} and $geoMaxIntSecs) ? $geoMaxExtSecs : $geoMaxIntSecs;
             # don't interpolate if fixes are too far apart
-            if ($t1 - $t0 > $maxSecs) {
+            # (but always interpolate fixes inside the same TimeSpan)
+            if ($t1 - $t0 > $maxSecs and (not $$p1{span} or not $$points{$t0}{span} or
+                $$p1{span} != $$points{$t0}{span}))
+            {
                 # treat as an extrapolation -- use nearest fix if close enough
                 my $tn;
                 if ($time - $t0 < $t1 - $time) {
diff --git a/lib/Image/ExifTool/HtmlDump.pm b/lib/Image/ExifTool/HtmlDump.pm
index e024892..1ba215a 100644
--- a/lib/Image/ExifTool/HtmlDump.pm
+++ b/lib/Image/ExifTool/HtmlDump.pm
@@ -13,7 +13,7 @@ use vars qw($VERSION);
 use Image::ExifTool;    # only for FinishTiffDump()
 use Image::ExifTool::HTML qw(EscapeHTML);
 
-$VERSION = '1.33';
+$VERSION = '1.34';
 
 sub DumpTable($$$;$$$$$);
 sub Open($$$;@);
@@ -739,6 +739,7 @@ sub FinishTiffDump($$$)
         AlphaOffset       => 'AlphaByteCount',
         MPImageStart      => 'MPImageLength',
         IDCPreviewStart   => 'IDCPreviewLength',
+        SamsungRawPointersOffset => 'SamsungRawPointersLength',
     );
 
     # add TIFF data to html dump
diff --git a/lib/Image/ExifTool/ICC_Profile.pm b/lib/Image/ExifTool/ICC_Profile.pm
index 2f92920..b7a80ce 100644
--- a/lib/Image/ExifTool/ICC_Profile.pm
+++ b/lib/Image/ExifTool/ICC_Profile.pm
@@ -274,6 +274,7 @@ my %profileClass = (
     4 => {
         Name => 'ProfileCMMType',
         Format => 'string[4]',
+        # seen: "    ",ACMS,ADBE,APPLE,KCMS,Lino,NKON,UCCM,appl,etc2,lino,none
     },
     8 => {
         Name => 'ProfileVersion',
@@ -327,6 +328,18 @@ my %profileClass = (
         Name => 'DeviceManufacturer',
         Format => 'string[4]',
         # KODA = Kodak
+        # ADBE = Adobe ...?
+        # appl = Apple
+        # HP   = HP
+        # CANO = Canon
+        # ISL  = ?
+        # JPEG = JPEG
+        # Leaf = Leaf
+        # MNLT = ?
+        # MSFT = Microsoft
+        # POne = ?
+        # etc2 = ?
+        # lcms = ?
     },
     52 => {
         Name => 'DeviceModel',
diff --git a/lib/Image/ExifTool/Jpeg2000.pm b/lib/Image/ExifTool/Jpeg2000.pm
index bca7cd4..9859709 100644
--- a/lib/Image/ExifTool/Jpeg2000.pm
+++ b/lib/Image/ExifTool/Jpeg2000.pm
@@ -16,7 +16,7 @@ use strict;
 use vars qw($VERSION);
 use Image::ExifTool qw(:DataAccess :Utils);
 
-$VERSION = '1.25';
+$VERSION = '1.26';
 
 sub ProcessJpeg2000Box($$$);
 
@@ -57,6 +57,8 @@ my %jp2Map = (
 # UUID's for writable UUID directories (by tag name)
 my %uuid = (
     'UUID-EXIF'   => 'JpgTiffExif->JP2',
+    'UUID-EXIF2'  => '',    # (flags a warning when writing)
+    'UUID-EXIF_bad' => '0', # (flags a warning when reading and writing)
     'UUID-IPTC'   => "\x33\xc7\xa4\xd2\xb8\x1d\x47\x23\xa0\xba\xf1\xa3\xe0\x97\xad\x38",
     'UUID-XMP'    => "\xbe\x7a\xcf\xcb\x97\xa9\x42\xe8\x9c\x71\x99\x94\x91\xe3\xaf\xac",
   # (can't yet write GeoJP2 information)
@@ -216,7 +218,7 @@ my %j2cMarker = (
         {
             Name => 'UUID-EXIF',
             # (this is the EXIF that we create)
-            Condition => '$$valPt=~/^JpgTiffExif->JP2/',
+            Condition => '$$valPt=~/^JpgTiffExif->JP2(?!Exif\0\0)/',
             SubDirectory => {
                 TagTable => 'Image::ExifTool::Exif::Main',
                 ProcessProc => \&Image::ExifTool::ProcessTIFF,
@@ -238,6 +240,18 @@ my %j2cMarker = (
             },
         },
         {
+            Name => 'UUID-EXIF_bad',
+            # written by Digikam
+            Condition => '$$valPt=~/^JpgTiffExif->JP2/',
+            SubDirectory => {
+                TagTable => 'Image::ExifTool::Exif::Main',
+                ProcessProc => \&Image::ExifTool::ProcessTIFF,
+                WriteProc => \&Image::ExifTool::WriteTIFF,
+                DirName => 'EXIF',
+                Start => '$valuePtr + 22',
+            },
+        },
+        {
             Name => 'UUID-IPTC',
             # (this is the IPTC that we create)
             Condition => '$$valPt=~/^\x33\xc7\xa4\xd2\xb8\x1d\x47\x23\xa0\xba\xf1\xa3\xe0\x97\xad\x38/',
@@ -725,6 +739,7 @@ sub ProcessJpeg2000Box($$$)
                 OutFile => $outfile,
                 Base => $base + $dataPos + $subdirStart,
             );
+            my $uuid = $uuid{$$tagInfo{Name}};
             # remove "UUID-" prefix to allow appropriate directories to be written as a block
             $subdirInfo{DirName} =~ s/^UUID-//;
             my $subTable = GetTagTable($$subdir{TagTable}) || $tagTablePtr;
@@ -733,9 +748,11 @@ sub ProcessJpeg2000Box($$$)
                 delete $$et{AddJp2Dirs}{$$tagInfo{Name}};
                 my $newdir;
                 # only edit writable UUID boxes
-                if ($uuid{$$tagInfo{Name}}) {
+                if ($uuid) {
                     $newdir = $et->WriteDirectory(\%subdirInfo, $subTable, $$subdir{WriteProc});
                     next if defined $newdir and not length $newdir; # next if deleting the box
+                } elsif (defined $uuid) {
+                    $et->Warn("Not editing $$tagInfo{Name} box", 1);
                 }
                 # use old box data if not changed
                 defined $newdir or $newdir = substr($$dataPt, $subdirStart, $subdirLen);
@@ -746,14 +763,13 @@ sub ProcessJpeg2000Box($$$)
             } else {
                 # extract as a block if specified
                 $subdirInfo{BlockInfo} = $tagInfo if $$tagInfo{BlockExtract};
+                $et->Warn("Reading non-standard $$tagInfo{Name} box") if defined $uuid and $uuid eq '0';
                 unless ($et->ProcessDirectory(\%subdirInfo, $subTable, $$subdir{ProcessProc})) {
                     if ($subTable eq $tagTablePtr) {
                         $err = 'JPEG 2000 format error';
-                    } else {
-                        $err = "Unrecognized $$tagInfo{Name} box";
-                        next if $$tagInfo{Name} eq 'XML';
+                        last;
                     }
-                    last;
+                    $et->Warn("Unrecognized $$tagInfo{Name} box");
                 }
             }
         } elsif ($$tagInfo{Format} and not $outfile) {
diff --git a/lib/Image/ExifTool/M2TS.pm b/lib/Image/ExifTool/M2TS.pm
index 5f0c3b2..b6327a1 100644
--- a/lib/Image/ExifTool/M2TS.pm
+++ b/lib/Image/ExifTool/M2TS.pm
@@ -31,7 +31,7 @@ use strict;
 use vars qw($VERSION);
 use Image::ExifTool qw(:DataAccess :Utils);
 
-$VERSION = '1.12';
+$VERSION = '1.13';
 
 # program map table "stream_type" lookup (ref 6/1)
 my %streamType = (
@@ -407,7 +407,7 @@ sub ProcessM2TS($$)
             HexDump(\$buff, $pLen, Addr => $i * $pLen, Out => $out,
                 Start => $pos - $prePos) if $verbose > 2;
             my $str = $pidName{$pid} ? " ($pidName{$pid})" : '';
-            printf $out "  Timecode:   0x%.4x\n", Get32u(\$buff, 0) if $pLen == 192;
+            printf $out "  Timecode:   0x%.4x\n", Get32u(\$buff, $pos - $prePos) if $pLen == 192;
             printf $out "  Packet ID:  0x%.4x$str\n", $pid;
             printf $out "  Start Flag: %s\n", $payload_unit_start_indicator ? 'Yes' : 'No';
         }
diff --git a/lib/Image/ExifTool/MIE.pm b/lib/Image/ExifTool/MIE.pm
index 34805b1..3970960 100644
--- a/lib/Image/ExifTool/MIE.pm
+++ b/lib/Image/ExifTool/MIE.pm
@@ -14,7 +14,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Exif;
 use Image::ExifTool::GPS;
 
-$VERSION = '1.45';
+$VERSION = '1.46';
 
 sub ProcessMIE($$);
 sub ProcessMIEGroup($$$);
@@ -570,7 +570,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
     ExposureTime    => {
         Writable => 'rational64u',
         PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
     },
     Flash => {
         SubDirectory => {
diff --git a/lib/Image/ExifTool/MWG.pm b/lib/Image/ExifTool/MWG.pm
index ecc6844..5e357a1 100644
--- a/lib/Image/ExifTool/MWG.pm
+++ b/lib/Image/ExifTool/MWG.pm
@@ -444,8 +444,7 @@ my %sKeywordStruct;
     NAMESPACE => 'mwg-rs',
     NOTES => q{
         Image region metadata defined by the MWG 2.0 specification.  These tags
-        belong to the ExifTool XMP-mwg-rs group, and as such they may be accessed
-        without the need to load the MWG Composite tags above.  See
+        may be accessed without the need to load the MWG Composite tags above.  See
         L<http://www.metadataworkinggroup.org/> for the official specification.
     },
     Regions => {
@@ -471,11 +470,11 @@ my %sKeywordStruct;
     GROUPS => { 0 => 'XMP', 1 => 'XMP-mwg-kw', 2 => 'Image' },
     NAMESPACE => 'mwg-kw',
     NOTES => q{
-        Hierarchical keywords metadata defined by the MWG 2.0 specification.  These
-        tags belong to the ExifTool XMP-mwg-kw group. ExifTool unrolls keyword
-        structures to an arbitrary depth of 6 to allow individual levels to be
-        accessed with different tag names, and to avoid infinite recursion.  See
-        L<http://www.metadataworkinggroup.org/> for the official specification.
+        Hierarchical keywords metadata defined by the MWG 2.0 specification. 
+        ExifTool unrolls keyword structures to an arbitrary depth of 6 to allow
+        individual levels to be accessed with different tag names, and to avoid
+        infinite recursion.  See L<http://www.metadataworkinggroup.org/> for the
+        official specification.
     },
     # arbitrarily define only the first 6 levels of the keyword hierarchy
     Keywords => {
@@ -512,8 +511,7 @@ my %sKeywordStruct;
     GROUPS => { 0 => 'XMP', 1 => 'XMP-mwg-coll', 2 => 'Image' },
     NAMESPACE => 'mwg-coll',
     NOTES => q{
-        Collections metadata defined by the MWG 2.0 specification.  These tags
-        belong to the ExifTool XMP-mwg-coll group.  See
+        Collections metadata defined by the MWG 2.0 specification.  See
         L<http://www.metadataworkinggroup.org/> for the official specification.
     },
     Collections => {
diff --git a/lib/Image/ExifTool/Matroska.pm b/lib/Image/ExifTool/Matroska.pm
index b2150a0..abb0f25 100644
--- a/lib/Image/ExifTool/Matroska.pm
+++ b/lib/Image/ExifTool/Matroska.pm
@@ -14,7 +14,7 @@ use strict;
 use vars qw($VERSION);
 use Image::ExifTool qw(:DataAccess :Utils);
 
-$VERSION = '1.07';
+$VERSION = '1.08';
 
 my %noYes = ( 0 => 'No', 1 => 'Yes' );
 
@@ -632,6 +632,47 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
     0x484 => { Name => 'TagDefault',        Format => 'unsigned', PrintConv => \%noYes },
     0x487 => { Name => 'TagString',         Format => 'utf8' },
     0x485 => { Name => 'TagBinary',         Binary => 1 },
+#
+# Spherical Video V2 (untested)
+#
+    0x7670 => {
+        Name => 'Projection',
+        SubDirectory => { TagTable => 'Image::ExifTool::Matroska::Projection' },
+    },
+);
+
+# Spherical video v2 projection tags (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md)
+%Image::ExifTool::Matroska::Projection = (
+    GROUPS => { 2 => 'Video' },
+    VARS => { NO_LOOKUP => 1 }, # omit tags from lookup
+    NOTES => q{
+        Projection tags defined by the Spherical Video V2 specification.  See
+        L<https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md>
+        for the specification.
+    },
+    0x7671 => {
+        Name => 'ProjectionType',
+        Format => 'unsigned',
+        DataMember => 'ProjectionType',
+        RawConv => '$$self{ProjectionType} = $val',
+        PrintConv => {
+            0 => 'Rectangular',
+            1 => 'Equirectangular',
+            2 => 'Cubemap',
+        },
+    },
+    0x7672 => [{
+        Name => 'EquirectangularProj',
+        Condition => '$$self{ProjectionType} == 1',
+        SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::equi' },
+    },{
+        Name => 'CubemapProj',
+        Condition => '$$self{ProjectionType} == 2',
+        SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::cbmp' },
+    }],
+    0x7673 => { Name => 'ProjectionPosYaw',   Format => 'float' },
+    0x7674 => { Name => 'ProjectionPosPitch', Format => 'float' },
+    0x7675 => { Name => 'ProjectionPosRoll',  Format => 'float' },
 );
 
 #------------------------------------------------------------------------------
@@ -889,4 +930,3 @@ L<Image::ExifTool::TagNames/Matroska Tags>,
 L<Image::ExifTool(3pm)|Image::ExifTool>
 
 =cut
-
diff --git a/lib/Image/ExifTool/Microsoft.pm b/lib/Image/ExifTool/Microsoft.pm
index 17ebc27..307f630 100644
--- a/lib/Image/ExifTool/Microsoft.pm
+++ b/lib/Image/ExifTool/Microsoft.pm
@@ -16,7 +16,7 @@ use vars qw($VERSION);
 use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::XMP;
 
-$VERSION = '1.17';
+$VERSION = '1.18';
 
 sub ProcessXtra($$$);
 
@@ -74,8 +74,8 @@ sub ProcessXtra($$$);
     NOTES => q{
         Microsoft Photo 1.0 schema XMP tags.  This is likely not a complete list,
         but represents tags which have been observed in sample images.  The actual
-        namespace prefix is "MicrosoftPhoto", but ExifTool shortens this to
-        "XMP-microsoft" in the family 1 group name.
+        namespace prefix is "MicrosoftPhoto", but ExifTool shortens this in the
+        family 1 group name.
     },
     CameraSerialNumber => { },
     DateAcquired       => { Groups => { 2 => 'Time' }, %Image::ExifTool::XMP::dateTimeInfo },
diff --git a/lib/Image/ExifTool/Minolta.pm b/lib/Image/ExifTool/Minolta.pm
index 87f51c7..ea55f8c 100644
--- a/lib/Image/ExifTool/Minolta.pm
+++ b/lib/Image/ExifTool/Minolta.pm
@@ -49,7 +49,7 @@ use vars qw($VERSION %minoltaLensTypes %minoltaTeleconverters %minoltaColorMode
 use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Exif;
 
-$VERSION = '2.36';
+$VERSION = '2.41';
 
 # Full list of product codes for Sony-compatible Minolta lenses
 # (ref http://www.kb.sony.com/selfservice/documentLink.do?externalId=C1000570)
@@ -199,10 +199,10 @@ $VERSION = '2.36';
             require Image::ExifTool::Canon;
             my $lens = $Image::ExifTool::Canon::canonLensTypes{$val - $id};
             return "$lens + $$mb" if $lens;
-        } elsif ($val >= 0x4900) { # test for Sigma MC-11 adapter with Sigma lens
+        } elsif ($val >= 0x4900) { # test for Sigma MC-11 SA-E adapter with Sigma SA-mount lens
             require Image::ExifTool::Sigma;
             my $lens = $Image::ExifTool::Sigma::sigmaLensTypes{$val - 0x4900};
-            return "$lens + MC-11" if $lens;
+            return "$lens + MC-11 SA-E" if $lens;
         }
         return undef;
     },
@@ -359,8 +359,10 @@ $VERSION = '2.36';
     194 => 'Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]', #23 (Model A16)
     203 => 'Tamron SP 70-200mm F2.8 Di USD', #JR (Model A009)
     204 => 'Tamron SP 24-70mm F2.8 Di USD', #JR (Model A007)
-    213 => 'Tamron 16-300mm F3.5-6.3 Di II PZD', #JR (Model B016)
+    212 => 'Tamron 28-300mm F3.5-6.3 Di PZD', #JR (Model A010)
+    213 => 'Tamron 16-300mm F3.5-6.3 Di II PZD Macro', #JR (Model B016)
     214 => 'Tamron SP 150-600mm F5-6.3 Di USD', #JR (Model A011)
+    215 => 'Tamron SP 15-30mm F2.8 Di USD', #JR (Model A012)
     224 => 'Tamron SP 90mm F2.8 Di Macro 1:1 USD', #JR (Model F004)
     255 => 'Tamron Lens (255)',
     255.1 => 'Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical', # (Model A16)
@@ -373,7 +375,10 @@ $VERSION = '2.36';
     255.7 => 'Tamron SP AF 70-200mm F2.8 Di LD IF Macro', #22 (Model A001)
     255.8 => 'Tamron SP AF 28-75mm F2.8 XR Di LD Aspherical IF', #24 (Model A09)
     255.9 => 'Tamron AF 90-300mm F4.5-5.6 Telemacro', #Fredrik Agert
-    18688 => 'Sigma MC-11 Adapter', #JR (to this, add Sigma LensType)
+    18688 => 'Sigma MC-11 SA-E Mount Converter with not-supported Sigma lens',
+    # The MC-11 SA-E Mount Converter uses this 18688 offset for not-supported SIGMA mount lenses.
+    # The MC-11 EF-E Mount Converter uses the 61184 offset for not-supported CANON mount lenses, as also used by Metabones.
+    # Both MC-11 SA-E and EF-E Mount Converters use the 504xx LensType2 values for supported SA-mount or EF-mount Sigma lenses.
     25501 => 'Minolta AF 50mm F1.7', #7
     25511 => 'Minolta AF 35-70mm F4 or Other Lens',
     25511.1 => 'Sigma UC AF 28-70mm F3.5-4.5', #12/16(HighSpeed-AF)
@@ -512,7 +517,8 @@ $VERSION = '2.36';
     # For newer firmware versions this is only used by the Smart Adapter, and
     # the full Canon LensType code is added - PH
     # the metabones adapter translates Canon L -> G, II -> II, USM -> SSM, IS -> OSS (ref JR)
-    61184 => 'Canon EF Adapter', #JR (also Fotodiox or Viltrox) (to this, add Canon LensType)
+    # This offset is used by Metabones, Fotodiox, Sigma MC-11 EF-E and Viltrox Canon EF adapters.
+    61184 => 'Canon EF Adapter', #JR (to this, add Canon LensType)
     # 65280 = 0xff00
     65280 => 'Sigma 16mm F2.8 Filtermatic Fisheye', #IB
     # all M42-type lenses give a value of 65535 (and FocalLength=0, FNumber=1)
@@ -532,7 +538,7 @@ $VERSION = '2.36';
    '65535.10' => 'Sony E PZ 16-50mm F3.5-5.6 OSS',  #PH (32793 - SELP1650)
    '65535.11' => 'Sony FE 35mm F2.8 ZA',            #JR (32794 - SEL35F28Z)
    '65535.12' => 'Sony FE 24-70mm F4 ZA OSS',       #JR (32795 - SEL2470Z)
-   '65535.13' => 'Sony E 18-200mm F3.5-6.3 OSS LE', #JR (32797 - SEL18200LE)
+   '65535.13' => 'Sony E 18-200mm F3.5-6.3 OSS LE', #JR (32797 or 0 - SEL18200LE)
    '65535.14' => 'Sony E 20mm F2.8',                #PH (32798 - SEL20F28)
    '65535.15' => 'Sony E 35mm F1.8 OSS',            #JR (32799 - SEL35F18)
    '65535.16' => 'Sony E PZ 18-105mm F4 G OSS',     #JR (32800 - SELP18105G)
@@ -542,47 +548,52 @@ $VERSION = '2.36';
    '65535.20' => 'Sony FE 55mm F1.8 ZA',            #JR (32808 - SEL55F18Z)
    '65535.21' => 'Sony FE 70-200mm F4 G OSS',       #JR (32810 - SEL70200G)
    '65535.22' => 'Sony FE 16-35mm F4 ZA OSS',       #JR (32811 - SEL1635Z)
-   '65535.23' => 'Sony FE 28-70mm F3.5-5.6 OSS',    #JR (32813 - SEL2870)
-   '65535.24' => 'Sony FE 35mm F1.4 ZA',            #JR (32814 - SEL35F14Z)
-   '65535.25' => 'Sony FE 24-240mm F3.5-6.3 OSS',   #JR (32815 - SEL24240)
-   '65535.26' => 'Sony FE 28mm F2',                 #JR (32816 - SEL28F20)
-   '65535.27' => 'Sony FE PZ 28-135mm F4 G OSS',    #JR (32817 - SELP28135G)
-   '65535.28' => 'Sony FE 24-70mm F2.8 GM',         #JR (32821 - SEL2470GM)
-   '65535.29' => 'Sony FE 50mm F1.4 ZA', #JR
-   '65535.30' => 'Sony FE 85mm F1.4 GM',            #JR (32823 - SEL85F14GM)
-   '65535.31' => 'Sony FE 50mm F1.8',               #JR (32824 - SEL50F18F with trailing "F" as compared to 32790)
-   '65535.32' => 'Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)', #JR         # (32826 - SEL28F20 + SEL075UWC Ultra-wide converter)
-   '65535.33' => 'Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)', #JR # (32827 - SEL28F20 + SEL057FEC Fisheye converter)
-   '65535.34' => 'Sony FE 70-300mm F4.5-5.6 G OSS', #JR (32828 - SEL70300G)
-   '65535.35' => 'Sony FE 70-200mm F2.8 GM OSS',    #JR (32830 - SEL70200GM)
+   '65535.23' => 'Sony FE 50mm F2.8 Macro',         #JR (32812 - SEL50M28)
+   '65535.24' => 'Sony FE 28-70mm F3.5-5.6 OSS',    #JR (32813 - SEL2870)
+   '65535.25' => 'Sony FE 35mm F1.4 ZA',            #JR (32814 - SEL35F14Z)
+   '65535.26' => 'Sony FE 24-240mm F3.5-6.3 OSS',   #JR (32815 - SEL24240)
+   '65535.27' => 'Sony FE 28mm F2',                 #JR (32816 - SEL28F20)
+   '65535.28' => 'Sony FE PZ 28-135mm F4 G OSS',    #JR (32817 - SELP28135G)
+   '65535.29' => 'Sony FE 24-70mm F2.8 GM',         #JR (32821 - SEL2470GM)
+   '65535.30' => 'Sony FE 50mm F1.4 ZA',            #JR (32822 - SEL50F14Z)
+   '65535.31' => 'Sony FE 85mm F1.4 GM',            #JR (32823 - SEL85F14GM)
+   '65535.32' => 'Sony FE 50mm F1.8',               #JR (32824 - SEL50F18F with trailing "F" as compared to 32790)
+   '65535.33' => 'Sony FE 21mm F2.8 (SEL28F20 + SEL075UWC)', #JR (32826 - SEL28F20 + SEL075UWC Ultra-wide converter)
+   '65535.34' => 'Sony FE 16mm F3.5 Fisheye (SEL28F20 + SEL057FEC)', #JR (32827 - SEL28F20 + SEL057FEC Fisheye converter)
+   '65535.35' => 'Sony FE 70-300mm F4.5-5.6 G OSS', #JR (32828 - SEL70300G)
+   '65535.36' => 'Sony FE 70-200mm F2.8 GM OSS',    #JR (32830 - SEL70200GM)
+   '65535.37' => 'Sony FE 70-200mm F2.8 GM OSS + 1.4X Teleconverter', #JR (33072 - SEL70200GM + SEL14TC)
+   '65535.38' => 'Sony FE 70-200mm F2.8 GM OSS + 2X Teleconverter', #JR (33073 - SEL70200GM + SEL20TC)
 #
 # 3rd party E lenses
 #
-    '65535.36' => 'Sigma 19mm F2.8 [EX] DN', #JR
-    '65535.37' => 'Sigma 30mm F2.8 [EX] DN', #JR
-    '65535.38' => 'Sigma 60mm F2.8 DN', #JR
-    '65535.39' => 'Sigma 30mm F1.4 DC DN | C', #IB (50480)
-    '65535.40' => 'Tamron 18-200mm F3.5-6.3 Di III VC', #JR (Model B011)
-    '65535.41' => 'Zeiss Batis 25mm F2', #JR (49216)
-    '65535.42' => 'Zeiss Batis 85mm F1.8', #JR (49217)
-    '65535.43' => 'Zeiss Batis 18mm F2.8', #IB (49218)
-    '65535.44' => 'Zeiss Loxia 21mm F2.8', #JR (49234)
-    '65535.45' => 'Zeiss Loxia 35mm F2', #JR
-    '65535.46' => 'Zeiss Loxia 50mm F2', #JR (49232 or 0)
-    '65535.47' => 'Zeiss Touit 12mm F2.8', #JR
-    '65535.48' => 'Zeiss Touit 32mm F1.8', #JR
-    '65535.49' => 'Zeiss Touit 50mm F2.8 Macro', #JR
-    '65535.50' => 'Samyang AF 50mm F1.4 FE', #JR (32789)
+   '65535.39' => 'Samyang AF 50mm F1.4 FE',         #JR (32789)
+   '65535.40' => 'Samyang AF 14mm F2.8 FE',         #JR (32790)
+   '65535.41' => 'Sigma 19mm F2.8 [EX] DN',         #JR (0)
+   '65535.42' => 'Sigma 30mm F2.8 [EX] DN',         #JR (0)
+   '65535.43' => 'Sigma 60mm F2.8 DN',              #JR (0)
+   '65535.44' => 'Sigma 30mm F1.4 DC DN | C 016',   #IB (50480)
+   '65535.45' => 'Tamron 18-200mm F3.5-6.3 Di III VC', #JR (0 - Model B011)
+   '65535.46' => 'Zeiss Touit 12mm F2.8',           #JR (49201 or 0)
+   '65535.47' => 'Zeiss Touit 32mm F1.8',           #JR (49202 or 0)
+   '65535.48' => 'Zeiss Touit 50mm F2.8 Macro',     #JR (49203 or 0)
+   '65535.49' => 'Zeiss Batis 25mm F2',             #JR (49216)
+   '65535.50' => 'Zeiss Batis 85mm F1.8',           #JR (49217)
+   '65535.51' => 'Zeiss Batis 18mm F2.8',           #IB (49218)
+   '65535.52' => 'Zeiss Loxia 50mm F2',             #JR (49232 or 0)
+   '65535.53' => 'Zeiss Loxia 35mm F2',             #JR (49233 or 0)
+   '65535.54' => 'Zeiss Loxia 21mm F2.8',           #JR (49234)
+   '65535.55' => 'Zeiss Loxia 85mm F2.4',           #JR (49235)
 #
 # other lenses
 #
-    '65535.51' => 'Arax MC 35mm F2.8 Tilt+Shift', #JD
-    '65535.52' => 'Arax MC 80mm F2.8 Tilt+Shift', #JD
-    '65535.53' => 'Zenitar MF 16mm F2.8 Fisheye M42', #JD
-    '65535.54' => 'Samyang 500mm Mirror F8.0', #19
-    '65535.55' => 'Pentacon Auto 135mm F2.8', #19
-    '65535.56' => 'Pentacon Auto 29mm F2.8', #19
-    '65535.57' => 'Helios 44-2 58mm F2.0', #19
+   '65535.56' => 'Arax MC 35mm F2.8 Tilt+Shift', #JD
+   '65535.57' => 'Arax MC 80mm F2.8 Tilt+Shift', #JD
+   '65535.58' => 'Zenitar MF 16mm F2.8 Fisheye M42', #JD
+   '65535.59' => 'Samyang 500mm Mirror F8.0', #19
+   '65535.60' => 'Pentacon Auto 135mm F2.8', #19
+   '65535.61' => 'Pentacon Auto 29mm F2.8', #19
+   '65535.62' => 'Helios 44-2 58mm F2.0', #19
 );
 
 %minoltaTeleconverters = (
diff --git a/lib/Image/ExifTool/MinoltaRaw.pm b/lib/Image/ExifTool/MinoltaRaw.pm
index 59a595a..53f6e82 100644
--- a/lib/Image/ExifTool/MinoltaRaw.pm
+++ b/lib/Image/ExifTool/MinoltaRaw.pm
@@ -17,7 +17,7 @@ use vars qw($VERSION);
 use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Minolta;
 
-$VERSION = '1.14';
+$VERSION = '1.15';
 
 sub ProcessMRW($$;$);
 sub WriteMRW($$;$);
@@ -186,7 +186,8 @@ sub WriteMRW($$;$);
             OTHER => sub {
                 my ($val, $inv) = @_;
                 return int(2 ** (($val-48)/8) * 100 + 0.5) unless $inv;
-                return 48 + 8*log($val/100)/log(2) if Image::ExifTool::IsFloat($val);
+                # (must check for zero below in inverse conversion)
+                return 48 + 8*log($val/100)/log(2) if Image::ExifTool::IsFloat($val) and $val != 0;
                 return undef;
             },
         },
diff --git a/lib/Image/ExifTool/Nikon.pm b/lib/Image/ExifTool/Nikon.pm
index 8ddf28d..93e13e0 100644
--- a/lib/Image/ExifTool/Nikon.pm
+++ b/lib/Image/ExifTool/Nikon.pm
@@ -59,7 +59,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Exif;
 use Image::ExifTool::GPS;
 
-$VERSION = '3.25';
+$VERSION = '3.30';
 
 sub LensIDConv($$$);
 sub ProcessNikonAVI($$$);
@@ -274,7 +274,7 @@ sub GetAFPointGrid($$;$);
     'A3 3C 29 44 30 30 A5 0E' => 'AF-S Nikkor 16-35mm f/4G ED VR',
     'A4 54 37 37 0C 0C A6 06' => 'AF-S Nikkor 24mm f/1.4G ED',
     'A5 40 3C 8E 2C 3C A7 0E' => 'AF-S Nikkor 28-300mm f/3.5-5.6G ED VR',
-    'A5 54 6A 6A 0C 0C D0 46' => 'AF-S Nikkor 105mm f/1.4E ED', #IB
+    'A5 54 6A 6A 0C 0C D0 06' => 'AF-S Nikkor 105mm f/1.4E ED', #IB
     'A6 48 8E 8E 24 24 A8 0E' => 'AF-S VR Nikkor 300mm f/2.8G IF-ED II',
     'A7 4B 62 62 2C 2C A9 0E' => 'AF-S DX Micro Nikkor 85mm f/3.5G ED VR',
     'A8 48 80 98 30 30 AA 0E' => 'AF-S VR Zoom-Nikkor 200-400mm f/4G IF-ED II', #http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,3218.msg15495.html#msg15495
@@ -294,6 +294,8 @@ sub GetAFPointGrid($$;$);
     'B7 44 60 98 34 3C B9 0E' => 'AF-S Nikkor 80-400mm f/4.5-5.6G ED VR',
     'B8 40 2D 44 2C 34 BA 06' => 'AF-S Nikkor 18-35mm f/3.5-4.5G ED',
     'A0 40 2D 74 2C 3C BB 0E' => 'AF-S DX Nikkor 18-140mm f/3.5-5.6G ED VR', #PH
+    'A0 40 2D 53 2C 3C CA 8E' => 'AF-P DX Nikkor 18-55mm f/3.5-5.6G', #Yang You private communication
+    'A0 40 2D 53 2C 3C CA 0E' => 'AF-P DX Nikkor 18-55mm f/3.5-5.6G VR', #PH
     'A1 54 55 55 0C 0C BC 06' => 'AF-S Nikkor 58mm f/1.4G', #IB
     'A2 40 2D 53 2C 3C BD 0E' => 'AF-S DX Nikkor 18-55mm f/3.5-5.6G VR II',
     'A4 40 2D 8E 2C 40 BF 0E' => 'AF-S DX Nikkor 18-300mm f/3.5-6.3G ED VR',
@@ -311,6 +313,7 @@ sub GetAFPointGrid($$;$);
     'AE 3C 80 A0 3C 3C C9 4E' => 'AF-S Nikkor 200-500mm f/5.6E ED VR', #PH
     'AE 3C 80 A0 3C 3C C9 0E' => 'AF-S Nikkor 200-500mm f/5.6E ED VR',
     'AF 4C 37 37 14 14 CC 06' => 'AF-S Nikkor 24mm f/1.8G ED', #IB
+    'A5 54 6A 6A 0C 0C D0 46' => 'AF-S Nikkor 105mm f/1.4E ED', #IB
     '01 00 00 00 00 00 02 00' => 'TC-16A',
     '01 00 00 00 00 00 08 00' => 'TC-16A',
     '00 00 00 00 00 00 F1 0C' => 'TC-14E [II] or Sigma APO Tele Converter 1.4x EX DG or Kenko Teleplus PRO 300 DG 1.4x',
@@ -461,6 +464,7 @@ sub GetAFPointGrid($$;$);
     '02 37 5E 8E 35 3D 02 00' => 'Sigma 75-300mm F4.5-5.6 APO',
     '02 3A 5E 8E 32 3D 02 00' => 'Sigma 75-300mm F4.0-5.6',
     '77 44 61 98 34 3C 7B 0E' => 'Sigma 80-400mm F4.5-5.6 EX OS',
+    '77 44 60 98 34 3C 7B 0E' => 'Sigma 80-400mm f4.5-5.6 APO DG D OS',
     '48 48 68 8E 30 30 4B 02' => 'Sigma APO 100-300mm F4 EX IF HSM',
     'F3 48 68 8E 30 30 4B 02' => 'Sigma APO 100-300mm F4 EX IF HSM',
     '48 54 6F 8E 24 24 4B 02' => 'Sigma APO 120-300mm F2.8 EX DG HSM',
@@ -476,7 +480,8 @@ sub GetAFPointGrid($$;$);
     '48 3C 8E B0 3C 3C 4B 02' => 'Sigma APO 300-800mm F5.6 EX DG HSM',
 #
     '00 47 25 25 24 24 00 02' => 'Tamron SP AF 14mm f/2.8 Aspherical (IF) (69E)',
-    'E8 4C 44 44 14 14 DF 0E' => 'Tamron SP 35mm f/1.8 VC', #35
+    'E8 4C 44 44 14 14 DF 0E' => 'Tamron SP 35mm f/1.8 Di VC USD (F012)', #35
+    'E7 4C 4C 4C 14 14 DF 0E' => 'Tamron SP 45mm f/1.8 Di VC USD (F013)',
     'F4 54 56 56 18 18 84 06' => 'Tamron SP AF 60mm f/2.0 Di II Macro 1:1 (G005)', #24
     '1E 5D 64 64 20 20 13 00' => 'Tamron SP AF 90mm f/2.5 (52E)',
     '20 5A 64 64 20 20 14 00' => 'Tamron SP AF 90mm f/2.5 Macro (152E)',
@@ -518,7 +523,7 @@ sub GetAFPointGrid($$;$);
     '10 3D 3C 60 2C 3C D2 02' => 'Tamron AF 28-80mm f/3.5-5.6 Aspherical (177D)',
     '45 3D 3C 60 2C 3C 48 02' => 'Tamron AF 28-80mm f/3.5-5.6 Aspherical (177D)',
     '00 48 3C 6A 24 24 00 02' => 'Tamron SP AF 28-105mm f/2.8 LD Aspherical IF (176D)',
-    '4D 3E 3C 80 2E 3C 62 02' => 'Tamron AF 28-200mm F/3.8-5.6 XR Aspherical (IF) Macro (A03N)',
+    '4D 3E 3C 80 2E 3C 62 02' => 'Tamron AF 28-200mm f/3.8-5.6 XR Aspherical (IF) Macro (A03N)',
     '0B 3E 3D 7F 2F 3D 0E 00' => 'Tamron AF 28-200mm f/3.8-5.6 (71D)',
     '0B 3E 3D 7F 2F 3D 0E 02' => 'Tamron AF 28-200mm f/3.8-5.6D (171D)',
     '12 3D 3C 80 2E 3C DF 02' => 'Tamron AF 28-200mm f/3.8-5.6 AF Aspherical LD (IF) (271D)',
@@ -552,7 +557,7 @@ sub GetAFPointGrid($$;$);
     '7A 48 1C 30 24 24 7E 06' => 'Tokina AT-X 11-20 F2.8 PRO DX (AF 11-20mm f/2.8)',
     '00 3C 1F 37 30 30 00 06' => 'Tokina AT-X 124 AF PRO DX (AF 12-24mm f/4)',
     '7A 3C 1F 37 30 30 7E 06.2' => 'Tokina AT-X 124 AF PRO DX II (AF 12-24mm f/4)',
-    '7A 3C 1F 3C 30 30 7E 06' => 'Tokina AT-X 12-28 PRO DX (AF 12-28mm F/4)',
+    '7A 3C 1F 3C 30 30 7E 06' => 'Tokina AT-X 12-28 PRO DX (AF 12-28mm f/4)',
     '00 48 29 3C 24 24 00 06' => 'Tokina AT-X 16-28 AF PRO FX (AF 16-28mm f/2.8)',
     '00 48 29 50 24 24 00 06' => 'Tokina AT-X 165 PRO DX (AF 16-50mm f/2.8)',
     '00 40 2A 72 2C 3C 00 06' => 'Tokina AT-X 16.5-135 DX (AF 16.5-135mm F3.5-5.6)',
@@ -596,6 +601,7 @@ sub GetAFPointGrid($$;$);
 #
     '00 40 2D 2D 2C 2C 00 00' => 'Carl Zeiss Distagon T* 3.5/18 ZF.2',
     '00 48 32 32 24 24 00 00' => 'Carl Zeiss Distagon T* 2.8/21 ZF.2',
+    '00 54 38 38 18 18 00 00' => 'Carl Zeiss Distagon T* 2/25 ZF.2',
     '00 54 3C 3C 18 18 00 00' => 'Carl Zeiss Distagon T* 2/28 ZF.2',
     '00 54 44 44 0C 0C 00 00' => 'Carl Zeiss Distagon T* 1.4/35 ZF.2',
     '00 54 44 44 18 18 00 00' => 'Carl Zeiss Distagon T* 2/35 ZF.2',
@@ -617,7 +623,8 @@ sub GetAFPointGrid($$;$);
     '4A 40 11 11 2C 0C 4D 02' => 'Samyang 8mm f/3.5 Fish-Eye CS',
     '4A 48 1E 1E 24 0C 4D 02' => 'Samyang 12mm f/2.8 ED AS NCS Fish-Eye', #Jurgen Sahlberg
     '4A 48 24 24 24 0C 4D 02' => 'Samyang AE 14mm f/2.8 ED AS IF UMC', #http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,3150.0.html
-    '4A 54 29 29 18 0C 4D 02' => 'Samyang 16mm F2.0 ED AS UMC CS', #Jon Bloom (by email)
+    '4A 54 29 29 18 0C 4D 02' => 'Samyang 16mm f/2.0 ED AS UMC CS', #Jon Bloom (by email)
+    '4A 60 36 36 0C 0C 4D 02' => 'Samyang 24mm f/1.4 ED AS UMC',
     '4A 60 44 44 0C 0C 4D 02' => 'Samyang 35mm f/1.4 AS UMC',
     '4A 60 62 62 0C 0C 4D 02' => 'Samyang AE 85mm f/1.4 AS IF UMC', #http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,2888.0.html
 #
@@ -1373,7 +1380,7 @@ my %binaryDataAttrs = (
             SubDirectory => {
                 TagTable => 'Image::ExifTool::Nikon::ShotInfoD80',
                 DecryptStart => 4,
-                DecryptLen => 764,
+                DecryptLen => 765,
                 # (Capture NX can change the makernote byte order, but this stays big-endian)
                 ByteOrder => 'BigEndian',
             },
@@ -1558,6 +1565,19 @@ my %binaryDataAttrs = (
                 ByteOrder => 'LittleEndian',
             },
         },
+        { #28 (D5 firmware version 1.10a)
+            Condition => '$$valPt =~ /^0238/',
+            Name => 'ShotInfoD5',
+            SubDirectory => {
+                TagTable => 'Image::ExifTool::Nikon::ShotInfoD500',
+                DecryptStart => 4,
+                # initially only decrypt enough to extract CustomSettingsOffset
+                DecryptLen => 0x58,
+                # then decrypt through to the end of the custom settings
+                DecryptMore => 'Get32u(\$data, 0x58) + 90 + 4',
+                ByteOrder => 'LittleEndian',
+            },
+        },
         { # (D500 firmware version 1.00)
             Condition => '$$valPt =~ /^0239/',
             Name => 'ShotInfoD500',
@@ -1571,6 +1591,16 @@ my %binaryDataAttrs = (
                 ByteOrder => 'LittleEndian',
             },
         },
+        { # (D610 firmware version 1.00)
+            Condition => '$$valPt =~ /^0232/',
+            Name => 'ShotInfoD610',
+            SubDirectory => {
+                TagTable => 'Image::ExifTool::Nikon::ShotInfoD610',
+                DecryptStart => 4,
+                DecryptLen => 0x7ff,
+                ByteOrder => 'BigEndian',
+            },
+        },
         # 0227 - D7100
         {
             Condition => '$$valPt =~ /^02/',
@@ -1862,6 +1892,8 @@ my %binaryDataAttrs = (
         Name => 'ShutterCount',
         Writable => 'int32u',
         Protected => 1,
+        PrintConv => '$val == 4294965247 ? "n/a" : $val',
+        PrintConvInv => '$val eq "n/a" ? 4294965247 : $val',
         Notes => q{
             this value is used as a key to decrypt other information -- writing this tag
             causes the other information to be re-encrypted with the new key
@@ -1885,7 +1917,7 @@ my %binaryDataAttrs = (
             SubDirectory => { TagTable => 'Image::ExifTool::Nikon::FlashInfo0103' },
         },
         {
-            Name => 'FlashInfo0107', # (D4S,D500,D810)
+            Name => 'FlashInfo0107', # (0107 for D4S/D750/D810/D5500/D7200, 0108 for D5/D500/D3400)
             Condition => '$$valPt =~ /^010[78]/',
             SubDirectory => { TagTable => 'Image::ExifTool::Nikon::FlashInfo0107' },
         },
@@ -2601,7 +2633,7 @@ my %binaryDataAttrs = (
     65 => {
         Name => 'ToningSaturation',
         DelValue => 0xff,
-        ValueConv => '$val - 0x80',           #$val == 0x7f (N/A) for "B&W"
+        ValueConv => '$val - 0x80',           #$val == 0x7f (n/a) for "B&W"
         ValueConvInv => '$val + 0x80',
         PrintConv => 'Image::ExifTool::Nikon::PrintPC($val,"None","%.2f",4)',
         PrintConvInv => 'Image::ExifTool::Nikon::PrintPCInv($val,4)',
@@ -3937,7 +3969,7 @@ my %nikonFocalConversions = (
             TagTable => 'Image::ExifTool::NikonCustom::SettingsD80',
         },
     },
-    # note: DecryptLen currently set to 764
+    # note: DecryptLen currently set to 765
 );
 
 # shot information for D90 (encrypted) - ref PH
@@ -4867,18 +4899,18 @@ my %nikonFocalConversions = (
     # note: DecryptLen currently set to 0x720
 );
 
-# shot information for the D500 firmware 1.01 (encrypted) - ref 28
+# shot information for the D5 firmware 1.10a and D500 firmware 1.01 (encrypted) - ref 28
 %Image::ExifTool::Nikon::ShotInfoD500 = (
     PROCESS_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
     WRITE_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
     CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
     VARS => { ID_LABEL => 'Index' },
-    DATAMEMBER => [ 0x50, 0x58, 0x0e7c, 0x0eea ],
+    DATAMEMBER => [ 0x10, 0x14, 0x2c, 0x50, 0x58, 0xb0, 0x07b0, 0x086c, 0x0e7c, 0x0eea ],
     IS_SUBDIR => [ 0x0eeb ],
     WRITABLE => 1,
     FIRST_ENTRY => 0,
     GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
-    NOTES => 'These tags are extracted from encrypted data in images from the D500.',
+    NOTES => 'These tags are extracted from encrypted data in images from the D5 and D500.',
     0x00 => {
         Name => 'ShotInfoVersion',
         Format => 'string[4]',
@@ -4889,19 +4921,52 @@ my %nikonFocalConversions = (
         Format => 'string[5]',
         Writable => 0,
     },
+    0x10 => {
+        Name => 'RotationInfoOffset',
+        DataMember => 'RotationInfoOffset',
+        Format => 'int32u',
+        Writable => 0,
+        RawConv => '$$self{RotationInfoOffset} = $val || 0x10000000; $val', # (ignore if 0)
+    },
+    0x14 => {
+        Name => 'JPGInfoOffset',
+        DataMember => 'JPGInfoOffset',
+        Format => 'int32u',
+        Writable => 0,
+        RawConv => '$$self{JPGInfoOffset} = $val || 0x10000000; $val', # (ignore if 0)
+    },
+    0x2c => {
+        Name => 'BracketingInfoOffset',
+        DataMember => 'BracketingInfoOffset',
+        Format => 'int32u',
+        Writable => 0,
+        RawConv => '$$self{BracketingInfoOffset} = $val || 0x10000000; $val', # (ignore if 0)
+    },
     0x50 => {
         Name => 'ShootingMenuOffset',
         DataMember => 'ShootingMenuOffset',
         Format => 'int32u',
         Writable => 0,
-        RawConv => '$$self{ShootingMenuOffset} = $val',
+        RawConv => '$$self{ShootingMenuOffset} = $val || 0x10000000; $val', # (ignore if 0)
     },
     0x58 => {
         Name => 'CustomSettingsOffset',
         DataMember => 'CustomSettingsOffset',
         Format => 'int32u',
         Writable => 0,
-        RawConv => '$$self{CustomSettingsOffset} = $val',
+        RawConv => '$$self{CustomSettingsOffset} = $val || 0x10000000; $val', # (ignore if 0)
+    },
+#
+# Tag ID's below are the offsets for a D500 JPEG image, but these offsets change
+# for various image types according to the offset table above
+#
+### 0xb0 - RotationInfo start
+    0xb0 => {
+        Name => 'Hook1',
+        Hidden => 1,
+        RawConv => 'undef',
+        # account for variable location of Rotation data
+        Hook => '$varSize = $$self{RotationInfoOffset} - 0xb0',
     },
     0xca => {
         Name => 'Rotation',
@@ -4921,22 +4986,14 @@ my %nikonFocalConversions = (
             0x01 => 'Off',
         },
     },
-    0x0e7c => {
-        Name => 'Hook1',
+### 0x07b0 - JPEGInfo start
+    0x07b0 => {
+        Name => 'Hook2',
         Hidden => 1,
         RawConv => 'undef',
         # account for variable location of Shooting Menu data
-        Hook => '$varSize = $$self{ShootingMenuOffset} - 0x0e7d',
+        Hook => '$varSize = $$self{JPGInfoOffset} - 0x07b0',
     },
-#    0x0f68 => {  #this decode works, but involves more bits than should be necessary
-#        Name => 'ShutterTrigger',
-#        Mask => 0xff,
-#        PrintConv => {
-#           0 => 'Timer',
-#           15 => 'Cable Release/Remote',
-#           195 => 'Shutter Button',
-#       },
-#   },
     0x07d4 => {
         Name => 'JPGCompression',
         Mask => 0x01,
@@ -4945,6 +5002,15 @@ my %nikonFocalConversions = (
             0x01 => 'Optimal Quality',
         },
     },
+### 0x0830 - ? start
+### 0x086c - BracketingInfo start
+    0x086c => {
+        Name => 'Hook3',
+        Hidden => 1,
+        RawConv => 'undef',
+        # account for variable location of Shooting Menu data
+        Hook => '$varSize = $$self{BracketingInfoOffset} - 0x086c',
+    },
     0x087b => {
         Name => 'AEBracketingSteps',
         Condition => '$$self{FILE_TYPE} ne "TIFF"', # (covers NEF and TIFF)
@@ -5054,7 +5120,7 @@ my %nikonFocalConversions = (
             0x30 => 'High',
             0x40 => 'Extra High',
             0x80 => 'Auto',
-            },
+        },
     },
     0x0884 => {
         Name => 'ADLBracketingType',
@@ -5067,6 +5133,22 @@ my %nikonFocalConversions = (
             4 => '5 Shots',
         },
     },
+### 0x0887 - ? start
+### 0x089f - ? start
+### 0x0929 - ? start
+### 0x09c9 - ? start
+### 0x0ac5 - ? start
+### 0x0bc1 - ? start
+### 0x0cbd - ? start
+### 0x0d98 - ? start
+### 0x0e7d - ShootingMenuOffset start
+    0x0e7c => {
+        Name => 'Hook4',
+        Hidden => 1,
+        RawConv => 'undef',
+        # account for variable location of Shooting Menu data
+        Hook => '$varSize = $$self{ShootingMenuOffset} - 0x0e7d',
+    },
     0x0e7d => {
         Name => 'PhotoShootingMenuBank',
         Mask => 0x03,
@@ -5079,6 +5161,8 @@ my %nikonFocalConversions = (
     },
     0x0e7f => {
         Name => 'PrimarySlot',
+        Condition => '$$self{Model} =~ /\bD500\b/',
+        Notes => 'D500 only',
         Mask => 0x80,
         PrintConv => {
             0x00 => 'XQD Card',
@@ -5191,22 +5275,40 @@ my %nikonFocalConversions = (
             4 => '1.3x (18x12)',
         },
     },
+### 0x0ec4 - ? start
+### 0x0eeb - CustomSettings start
     0x0eea => {
-        Name => 'Hook2',
+        Name => 'Hook5',
         Hidden => 1,
         RawConv => 'undef',
         # account for variable location of CustomSettings data
         Hook => '$varSize = $$self{CustomSettingsOffset} - 0x0eeb',
     },
-    0x0eeb => {
+    0x0eeb => [{
+        Name => 'CustomSettingsD5',
+        Condition => '$$self{Model} =~ /\bD5\b/',
+        Format => 'undef[90]',
+        SubDirectory => {
+            TagTable => 'Image::ExifTool::NikonCustom::SettingsD5',
+        },
+    },{
         Name => 'CustomSettingsD500',
         Format => 'undef[90]',
         SubDirectory => {
             TagTable => 'Image::ExifTool::NikonCustom::SettingsD500',
         },
-    },
+    }],
     # note: DecryptMore currently set to 90+4 bytes after CustomSettingsOffset
 
+#    0x0f68 => {  #this decode works, but involves more bits than should be necessary
+#        Name => 'ShutterTrigger',
+#        Mask => 0xff,
+#        PrintConv => {
+#           0 => 'Timer',
+#           15 => 'Cable Release/Remote',
+#           195 => 'Shutter Button',
+#       },
+#   },
 # don't decode because it requires decrypting a LOT of data just for this little bit
 #    0x2cb2 => {
 #        Name => 'ExtendedPhotoShootingBanks',
@@ -5218,6 +5320,37 @@ my %nikonFocalConversions = (
 #    },
 );
 
+# shot information for the D610 firmware 1.00 (encrypted) - ref PH
+%Image::ExifTool::Nikon::ShotInfoD610 = (
+    PROCESS_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
+    WRITE_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
+    CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
+    VARS => { ID_LABEL => 'Index' },
+    IS_SUBDIR => [ 0x07cf ],
+    WRITABLE => 1,
+    FIRST_ENTRY => 0,
+    GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
+    NOTES => 'These tags are extracted from encrypted data in images from the D610.',
+    0x00 => {
+        Name => 'ShotInfoVersion',
+        Format => 'string[4]',
+        Writable => 0,
+    },
+    0x04 => {
+        Name => 'FirmwareVersion',
+        Format => 'string[5]',
+        Writable => 0,
+    },
+    0x07cf => {
+        Name => 'CustomSettingsD610',
+        Format => 'undef[48]',
+        SubDirectory => {
+            TagTable => 'Image::ExifTool::NikonCustom::SettingsD610',
+        },
+    },
+    # note: DecryptLen currently set to 0x7ff
+);
+
 # shot information for the D810 firmware 1.00(PH)/1.01 (encrypted) - ref 28
 %Image::ExifTool::Nikon::ShotInfoD810 = (
     PROCESS_PROC => \&Image::ExifTool::Nikon::ProcessNikonEncrypted,
@@ -6408,18 +6541,34 @@ my %nikonFocalConversions = (
     # 0x2b - related to flash power (PH, D800, 96=full,62=1/4,2=1/128)
 );
 
-# Flash information for the D4S, D500 and D810
+# Flash information for the D4S/D750/D810/D5500/D7200 (0107)
+# and D5/D500/D3400 (0108) (ref 28)
 %Image::ExifTool::Nikon::FlashInfo0107 = (
     %binaryDataAttrs,
     GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
     NOTES => q{
-        These tags are used by the D500.
+        These tags are used by the D4S, D750, D810, D5500, D7200 (FlashInfoVersion
+        0107) and the D5, D500 and D3400 (FlashInfoVersion 0108).
     },
     0 => {
         Name => 'FlashInfoVersion',
         Format => 'string[4]',
         Writable => 0,
     },
+    4 => { 
+        Name => 'FlashSource',
+        PrintConv => {
+            0 => 'None',
+            1 => 'External',
+            2 => 'Internal',
+        },
+    },
+    6 => {
+        Format => 'int8u[2]',
+        Name => 'ExternalFlashFirmware',
+        SeparateTable => 'FlashFirmware',
+        PrintConv => \%flashFirmware,
+    },
     8 => {
         Format => 'int8u[1]',
         Name => 'ExternalFlashStatus',
@@ -6430,6 +6579,41 @@ my %nikonFocalConversions = (
             0x81 => 'Flash Ready',
         },
     },
+    9 => {
+        Name => 'ExternalFlashReadyState',
+        Mask => 0x07,
+        PrintConv => {
+            0x00 => 'n/a',
+            0x01 => 'Ready',
+            0x06 => 'Not Ready',
+        },
+    },
+    10 => {
+        Name => 'FlashCompensation',
+        # this is the compensation from the camera (0x0012) for "Built-in" FlashType, or
+        # the compensation from the external unit (0x0017) for "Optional" FlashType - PH
+        Format => 'int8s',
+        Priority => 0,
+        ValueConv => '-$val/6',
+        ValueConvInv => '-6 * $val',
+        PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    13 => { #JD
+        Name => 'RepeatingFlashRate',
+        RawConv => '($val and $val != 255) ? $val : undef',
+        PrintConv => '"$val Hz"',
+        PrintConvInv => '$val=~/(\d+)/; $1 || 0',
+    },
+    14 => { #JD
+        Name => 'RepeatingFlashCount',
+        RawConv => '($val and $val != 255) ? $val : undef',
+    },
+    15 => {
+        Name => 'FlashGNDistance',
+        SeparateTable => 1,
+        PrintConv => \%flashGNDistance,
+    },
 );
 
 # Unknown Flash information
diff --git a/lib/Image/ExifTool/NikonCustom.pm b/lib/Image/ExifTool/NikonCustom.pm
index 6c6e8e1..28fb8af 100644
--- a/lib/Image/ExifTool/NikonCustom.pm
+++ b/lib/Image/ExifTool/NikonCustom.pm
@@ -15,7 +15,7 @@ package Image::ExifTool::NikonCustom;
 use strict;
 use vars qw($VERSION);
 
-$VERSION = '1.13';
+$VERSION = '1.15';
 
 # custom settings for the D80 (encrypted) - ref JD
 %Image::ExifTool::NikonCustom::SettingsD80 = (
@@ -3131,6 +3131,1084 @@ $VERSION = '1.13';
     # 47 - related to flash
 );
 
+# D5 custom settings (ref 1)
+%Image::ExifTool::NikonCustom::SettingsD5 = (
+    PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
+    WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
+    CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
+    WRITABLE => 1,
+    FIRST_ENTRY => 0,
+    GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
+    NOTES => 'Custom settings for the D5.',
+    0.1 => {
+        Name => 'CustomSettingsBank',
+        Mask => 0x03,
+        PrintConv => {
+            0 => 'A',
+            1 => 'B',
+            2 => 'C',
+            3 => 'D',
+        },
+    },
+    1.1 => { #CSa1
+        Name => 'AF-CPrioritySelection',
+        Mask => 0xc0,
+        PrintConv => {
+            0x00 => 'Release',
+            0x40 => 'Release + Focus',
+            0x80 => 'Focus',
+            0xc0 => 'Focus + Release',
+        },
+    },
+    1.2 => { # CSa6
+        Name => 'NumberOfFocusPoints',
+        Mask => 0x10,
+        PrintConv => {
+            0x00 => '55 Points',
+            0x10 => '15 Points',
+        },
+    },
+    1.3 => { # CSa4
+        Name => 'Three-DTrackingFaceDetection',
+        Mask => 0x08,
+        PrintConv => {
+            0x00 => 'Off',
+            0x08 => 'On',
+        },
+    },
+    1.4 => { # CSa2
+        Name => 'AF-SPrioritySelection',
+        Mask => 0x20,
+        PrintConv => {
+            0x00 => 'Focus',
+            0x20 => 'Release',
+        },
+    },
+    1.5 => { # CSa3-a
+        Name => 'BlockShotAFResponse',
+        Mask => 0x07,
+        #values 1-5
+    },
+    2.1 => { # CSa11
+        Name => 'FocusPointWrap',
+        Mask => 0x08,
+        PrintConv => {
+            0x00 => 'No Wrap',
+            0x08 => 'Wrap',
+        },
+    },
+    2.2 => { # CSa12-d
+        Name => 'AFPointBrightness',
+        Mask => 0x06,
+        PrintConv => {
+            0x00 => 'Auto',
+            0x02 => 'On',
+            0x04 => 'Off',
+        },
+    },
+    4.1 => { # CSd3
+        Name => 'ISODisplay',
+        Mask => 0x08,
+        PrintConv => {
+            0x00 => 'Show ISO Sensitivity',
+            0x08 => 'Show Frame Count',
+        },
+    },
+    4.2 => { # CSd8
+        Name => 'GridDisplay',
+        Mask => 0x02,
+        PrintConv => { 0x00 => 'On', 0x02 => 'Off' },
+    },
+    5.1 => { # CSd9
+        Name => 'LCDIllumination',
+        Mask => 0x20,
+        PrintConv => { 0x00 => 'Off', 0x20 => 'On' },
+    },
+    5.2 => { # CSd6
+        Name => 'ElectronicFront-CurtainShutter',
+        Mask => 0x08,
+        PrintConv => { 0x00 => 'Off', 0x08 => 'On' },
+    },
+    6.1 => { # CSf7
+        Name => 'ReverseIndicators',
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => '+ 0 -',
+            0x80 => '- 0 +',
+        },
+    },
+    6.2 => { # CSf4-a
+        Name => 'CommandDialsReverseRotation',
+        Mask => 0x18,
+        PrintConv => {
+            0x00 => 'No',
+            0x08 => 'Shutter Speed & Aperture',
+            0x10 => 'Exposure Compensation',
+            0x18 => 'Exposure Compensation, Shutter Speed & Aperture',
+        },
+    },
+    6.3 => { # CSb4
+        Name => 'EasyExposureCompensation',
+        Mask => 0x03,
+        PrintConv => {
+            0x00 => 'Off',
+            0x01 => 'On',
+            0x02 => 'On (auto reset)',
+        },
+    },
+    7.1 => { # CSb2
+        Name => 'ExposureControlStepSize',
+        Mask => 0xc0,
+        PrintConv => {
+            0x00 => '1/3 EV',
+            0x40 => '1/2 EV',
+            0x80 => '1 EV',
+        },
+    },
+    7.2 => { # CSb1
+        Name => 'ISOStepSize',
+        Mask => 0x30,
+        PrintConv => {
+            0x00 => '1/3 EV',
+            0x10 => '1/2 EV',
+            0x20 => '1 EV',
+        },
+    },
+    7.3 => { # CSb3
+        Name => 'ExposureCompStepSize',
+        Mask => 0x0c,
+        PrintConv => {
+            0x00 => '1/3 EV',
+            0x04 => '1/2 EV',
+            0x08 => '1 EV',
+        },
+    },
+    8.1 => { # CSb6
+        Name => 'CenterWeightedAreaSize',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '8 mm',
+            0x20 => '12 mm',
+            0x40 => '15 mm',
+            0x60 => '20 mm',
+            0x80 => 'Average',
+        },
+    },
+    8.2 => { # CSb7-a
+        Name => 'FineTuneOptMatrixMetering',
+        Mask => 0x0f,
+        ValueConv => '($val > 0x7 ? $val - 0x10 : $val) / 6',
+        ValueConvInv => 'int($val*6+($val>0?0.5:-0.5)) & 0x0f',
+        PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    9.1 => { # CSb7-b
+        Name => 'FineTuneOptCenterWeighted',
+        Mask => 0xf0,
+        ValueConv => '($val > 0x70 ? $val - 0x100 : $val) / 0x60',
+        ValueConvInv => '(int($val*6+($val>0?0.5:-0.5))<<4) & 0xf0',
+        PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    9.2 => { # CSb7-c
+        Name => 'FineTuneOptSpotMetering',
+        Mask => 0x0f,
+        ValueConv => '($val > 0x7 ? $val - 0x10 : $val) / 6',
+        ValueConvInv => 'int($val*6+($val>0?0.5:-0.5)) & 0x0f',
+        PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    10.1 => { # CSf2-a
+        Name => 'MultiSelectorShootMode',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => 'Select Center Focus Point (Reset)',
+            0x20 => 'Zoom On/Off',  # this is the documented (and actual) default value, but the choice does not appear on the camera menu
+            0x40 => 'Preset Focus Point (Pre)',
+            0x80 => 'Not Used (None)',
+        },
+    },
+#    10.2 => { # CSf2-b             # moved from the D500 position to Nikon_ShotInfoD5_0x0ab1 with the Mask and PrintConv as specified below.  Further research required.
+#        Name => 'MultiSelectorPlaybackMode',
+#        Mask => 0x70,
+#        PrintConv => {
+#            0x00 => 'Zoom On/Off',
+#            0x01 => 'Choose Folder',
+#            0x60 => 'Thumbnail On/Off',
+#            0x70 => 'View Histograms',
+#        },
+#    },
+    10.3 => { # CSf5
+        Name => 'MultiSelector',
+        Mask => 0x01,
+        PrintConv => {
+            0x00 => 'Do Nothing',
+            0x01 => 'Reset Meter-off Delay',
+        },
+    },
+    11.1 => { # CSd5
+        Name => 'ExposureDelayMode',
+        Mask => 0xc0,
+        PrintConv => {
+            0x00 => 'Off',
+            0x40 => '1 s',
+            0x80 => '2 s',
+            0xc0 => '3 s',
+        },
+    },
+    11.2 => { # CSd1
+        Name => 'CLModeShootingSpeed',
+        Mask => 0x0f,
+        PrintConv => '"$val fps"',
+        PrintConvInv => '$val=~s/\s*fps//i; $val',
+    },
+    12.1 => { # CSd2
+        Name => 'MaxContinuousRelease',
+        # values: 1-100
+    },
+    13.1 => { # CSe7
+        Name => 'AutoBracketOrder',
+        Mask => 0x10,
+        PrintConv => {
+            0x00 => '0,-,+',
+            0x10 => '-,0,+',
+        },
+    },
+    13.2 => { # CSe6
+        Name => 'AutoBracketModeM',
+        Mask => 0x0c,
+        PrintConv => {
+            0x00 => 'Flash/Speed',
+            0x04 => 'Flash/Speed/Aperture',
+            0x08 => 'Flash/Aperture',
+            0x0c => 'Flash Only',
+        },
+    },
+    14.1 => { # CSf1-c
+        Name => 'Func1Button',
+        Mask => 0x3f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Preview',
+            2 => 'FV Lock',
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            5 => 'AE Lock (reset on release)',
+            6 => 'AE Lock (hold)',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            10 => 'Bracketing Burst',
+            11 => 'Matrix Metering',
+            12 => 'Center-weighted Metering',
+            13 => 'Spot Metering',
+            14 => 'Playback',
+            15 => 'My Menu Top Item',
+            16 => '+NEF(RAW)',
+            17 => 'Virtual Horizon',
+            19 => 'Grid Display',
+            20 => 'My Menu',
+            21 => 'Disable Synchronized Release',
+            22 => 'Remote Release Only',
+            26 => 'Flash Disable/Enable',
+            27 => 'Highlight-weighted Metering',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+            49 => 'Sync Release (Master Only)',
+            50 => 'Sync Release (Remote Only)',
+        },
+    },
+    15.1 => { # CSf1-a
+        Name => 'PreviewButton',
+        Mask => 0x3f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Preview',
+            2 => 'FV Lock',
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            5 => 'AE Lock (reset on release)',
+            6 => 'AE Lock (hold)',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            10 => 'Bracketing Burst',
+            11 => 'Matrix Metering',
+            12 => 'Center-weighted Metering',
+            13 => 'Spot Metering',
+            14 => 'Playback',
+            15 => 'My Menu Top Item',
+            16 => '+NEF(RAW)',
+            17 => 'Virtual Horizon',
+            19 => 'Grid Display',
+            20 => 'My Menu',
+            21 => 'Disable Synchronized Release',
+            22 => 'Remote Release Only',
+            26 => 'Flash Disable/Enable',
+            27 => 'Highlight-weighted Metering',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+            49 => 'Sync Release (Master Only)',
+            50 => 'Sync Release (Remote Only)',
+        },
+    },
+    16.1 => { # CSf1-p
+        Name => 'AssignBktButton',
+        Mask => 0x07,
+        PrintConv => {
+            0 => 'Auto Bracketing',
+            1 => 'Multiple Exposure',
+            2 => 'HDR (high dynamic range)',
+            3 => 'None',
+        },
+    },
+    18.1 => { # CSf4-b
+        Name => 'CommandDialsChangeMainSub',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => 'Autofocus Off, Exposure Off',
+            0x20 => 'Autofocus Off, Exposure On',
+            0x40 => 'Autofocus Off, Exposure On (Mode A)',
+            0x80 => 'Autofocus On, Exposure Off',
+            0xa0 => 'Autofocus On, Exposure On',
+            0xc0 => 'Autofocus On, Exposure On (Mode A)',
+        },
+    },
+    18.2 => { # CSf4-d
+        Name => 'CommandDialsMenuAndPlayback',
+        Mask => 0x18,
+        PrintConv => {
+            0x00 => 'On',
+            0x08 => 'Off',
+            0x10 => 'On (Image Review Excluded)',
+        },
+    },
+    18.3 => { # CSf4-c
+        Name => 'CommandDialsApertureSetting',
+        Mask => 0x04,
+        PrintConv => {
+            0x00 => 'Sub-command Dial',
+            0x04 => 'Aperture Ring',
+        },
+    },
+    18.4 => { # CSf6
+        Name => 'ReleaseButtonToUseDial',
+        Mask => 0x01,
+        PrintConv => { 0x00 => 'No', 0x01 => 'Yes' },
+    },
+    19.1 => { # CSc2
+        Name => 'StandbyTimer',
+        Mask => 0xf0,
+        PrintConv => {
+            0x00 => '4 s',
+            0x10 => '6 s',
+            0x30 => '10 s',
+            0x50 => '30 s',
+            0x60 => '1 min',
+            0x70 => '5 min',
+            0x80 => '10 min',
+            0x90 => '30 min',
+            0xa0 => 'No Limit',
+        },
+    },
+    20.1 => { # CSc3-a
+        Name => 'SelfTimerTime',
+        Mask => 0xc0,
+        PrintConv => {
+            0x00 => '2 s',
+            0x40 => '5 s',
+            0x80 => '10 s',
+            0xc0 => '20 s',
+        },
+    },
+    20.2 => { # CSc3-c
+        Name => 'SelfTimerShotInterval',
+        Mask => 0x30,
+        PrintConv => {
+            0x00 => '0.5 s',
+            0x10 => '1 s',
+            0x20 => '2 s',
+            0x30 => '3 s',
+        },
+    },
+    20.3 => { # CSc3-b
+        Name => 'SelfTimerShotCount',
+        Mask => 0x0f,
+    },
+    21.1 => { # CSc4-d
+        Name => 'ImageReviewMonitorOffTime',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '2 s',
+            0x20 => '4 s',
+            0x60 => '10 s',
+            0x80 => '20 s',
+            0xa0 => '1 min',
+            0xc0 => '5 min',
+            0xe0 => '10 min',
+        },
+    },
+    21.2 => { # CSc4-e
+        Name => 'LiveViewMonitorOffTime',
+        Mask => 0x1c,
+        PrintConv => {
+            0x04 => '5 min',
+            0x08 => '10 min',
+            0x0c => '15 min',
+            0x10 => '20 min',
+            0x14 => '30 min',
+            0x18 => 'No Limit',
+        },
+    },
+    22.1 => { # CSc4-b
+        Name => 'MenuMonitorOffTime',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '4 s',
+            0x40 => '10 s',
+            0x80 => '20 s',
+            0xa0 => '1 min',
+            0xc0 => '5 min',
+            0xe0 => '10 min',
+        },
+    },
+    22.2 => { # CSc4-c
+        Name => 'ShootingInfoMonitorOffTime',
+        Mask => 0x1c,
+        PrintConv => {
+            0x00 => '4 s',
+            0x08 => '10 s',
+            0x10 => '20 s',
+            0x14 => '1 min',
+            0x18 => '5 min',
+            0x1c => '10 min',
+        },
+    },
+    23.1 => { # CSe1
+        Name => 'FlashSyncSpeed',
+        Mask => 0xf0,
+        PrintConv => {
+            0x20 => '1/250 s (auto FP)',
+            0x30 => '1/250 s',
+            0x50 => '1/200 s',
+            0x60 => '1/160 s',
+            0x70 => '1/125 s',
+            0x80 => '1/100 s',
+            0x90 => '1/80 s',
+            0xa0 => '1/60 s',
+        },
+    },
+    23.2 => { # CSe2
+        Name => 'FlashShutterSpeed',
+        Mask => 0x0f,
+        PrintConvColumns => 2,
+        PrintConv => {
+            0x00 => '1/60 s',
+            0x01 => '1/30 s',
+            0x02 => '1/15 s',
+            0x03 => '1/8 s',
+            0x04 => '1/4 s',
+            0x05 => '1/2 s',
+            0x06 => '1 s',
+            0x07 => '2 s',
+            0x08 => '4 s',
+            0x09 => '8 s',
+            0x0a => '15 s',
+            0x0b => '30 s',
+        },
+    },
+    31.1 => { # CSe5
+        Name => 'ModelingFlash',
+        Mask => 0x20,
+        PrintConv => {
+            0x00 => 'On',
+            0x20 => 'Off',
+        },
+    },
+    36.1 => { # CSc4-a
+        Name => 'PlaybackMonitorOffTime',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '4 s',
+            0x20 => '10 s',
+            0x40 => '20 s',
+            0x60 => '1 min',
+            0x80 => '5 min',
+            0xa0 => '10 min',
+        },
+    },
+    37.1 => { # CSf2-c
+        Name => 'MultiSelectorLiveView',
+        Mask => 0xc0,
+        PrintConv => {
+            0x00 => 'Reset',
+            0x40 => 'Zoom',
+            0xc0 => 'Not Used',
+        },
+    },
+    38.1 => { # CSf3-a
+        Name => 'ShutterSpeedLock',
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => 'Off',
+            0x80 => 'On',
+        },
+    },
+    38.2 => { # CSf3-b
+        Name => 'ApertureLock',
+        Mask => 0x40,
+        PrintConv => {
+            0x00 => 'Off',
+            0x40 => 'On',
+        },
+    },
+    38.3 => { # CSg1-h
+        Name => 'MovieShutterButton',
+        Mask => 0x10,
+        PrintConv => {
+            0x00 => 'Take Photo',
+            0x10 => 'Record Movies',
+        },
+    },
+    38.4 => { # CSe3
+        Name => 'FlashExposureCompArea',
+        Mask => 0x04,
+        PrintConv => {
+            0x00 => 'Entire Frame',
+            0x04 => 'Background Only',
+        },
+    },
+    38.5 => { # CSe4
+        Name => 'AutoFlashISOSensitivity',
+        Mask => 0x02,
+        PrintConv => {
+            0x00 => 'Subject and Background',
+            0x02 => 'Subject Only',
+        },
+    },
+    41.1 => { # CSg1-c
+        Name => 'MovieFunc1Button',
+        Mask => 0xf0,
+        PrintConv => {
+            0x00 => 'None',
+            0x20 => 'Power Aperture (close)',
+            0x30 => 'Index Marking',
+            0x40 => 'View Photo Shooting Info',
+            0xb0 => 'Exposure Compensation -',
+        },
+    },
+    41.2 => { # CSg1-a
+        Name => 'MoviePreviewButton',
+        Mask => 0x0f,
+        PrintConv => {
+            0x00 => 'None',
+            0x01 => 'Power Aperture (open)',
+            0x03 => 'Index Marking',
+            0x04 => 'View Photo Shooting Info',
+            0x0a => 'Exposure Compensation +',
+        },
+    },
+    42.1 => { # CSf1-d
+        Name => 'Func1ButtonPlusDials',
+        Mask => 0x0f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Choose Image Area',
+            2 => 'Shutter Speed & Aperture Lock',
+            3 => 'One Step Speed / Aperture',
+            4 => 'Choose Non-CPU Lens Number',
+            5 => 'Active D-Lighting',
+            7 => 'Photo Shooting Menu Bank',
+            8 => 'Exposure Delay Mode',
+        },
+    },
+    43.1 => { # CSf1-b
+        Name => 'PreviewButtonPlusDials',
+        Mask => 0x0f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Choose Image Area',
+            2 => 'Shutter Speed & Aperture Lock',
+            3 => 'One Step Speed / Aperture',
+            4 => 'Choose Non-CPU Lens Number',
+            5 => 'Active D-Lighting',
+            7 => 'Photo Shooting Menu Bank',    # new with D500
+            8 => 'Exposure Delay Mode',
+        },
+    },
+    45.1 => { # CSf1-q
+        Name => 'AssignMovieRecordButtonPlusDials',
+        Mask => 0x0f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Choose Image Area',
+            2 => 'Shutter Speed & Aperture Lock',
+            7 => 'Photo Shooting Menu Bank',
+            11 => 'Exposure Mode',
+        },
+    },
+    46.1 => { # CSb7-d
+        Name => 'FineTuneOptHighlightWeighted',
+        Mask => 0x0f,
+        ValueConv => '($val > 0x7 ? $val - 0x10 : $val) / 6',
+        ValueConvInv => 'int($val*6+($val>0?0.5:-0.5)) & 0x0f',
+        PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    47.1 => { # CSa12-b
+        Name => 'DynamicAreaAFDisplay',
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => 'Off',
+            0x80 => 'On',
+        },
+    },
+    47.2 => { # CSa12-a
+        Name => 'AFPointIllumination',
+        Mask => 0x40,
+        PrintConv => {
+            0x00 => 'Off',
+            0x40 => 'On During Manual Focusing',
+        },
+    },
+    47.3 => { # CSa7
+        Name => 'StoreByOrientation',
+        Mask => 0x18,
+        PrintConv => {
+            0x00 => 'Off',
+            0x08 => 'Focus Point',
+            0x10 => 'Focus Point and AF-area Mode',
+        },
+    },
+    48.1 => { # CSb5
+        Name => 'MatrixMetering',
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => 'Face Detection On',
+            0x80 => 'Face Detection Off',
+        },
+    },
+    48.2 => { # CSf8
+        Name => 'LiveViewButtonOptions',
+        Mask => 0x30,
+        PrintConv => {
+            0x00 => 'Enable',
+            0x10 => 'Enable (Standby Timer Active)',    # new with D500
+            0x20 => 'Disable',
+        },
+    },
+    48.3 => { # CSa10
+        Name => 'AFModeRestrictions',
+        Mask => 0x03,
+        PrintConv => {
+            0x00 => 'No Restrictions',
+            0x01 => 'AF-C',
+            0x02 => 'AF-S',
+        },
+    },
+    49.1 => { # CSa9
+        Name => 'LimitAFAreaModeSelection',
+        Mask => 0x7e,
+        PrintConv => {
+            0 => 'No Restrictions',
+            BITMASK => {
+                1 => 'Auto-area',
+                2 => 'Group-area',
+                3 => '3D-tracking',
+                4 => 'Dynamic area (153 points)',
+                5 => 'Dynamic area (72 points)',
+                6 => 'Dynamic area (25 points)',
+            },
+        },
+    },
+    52.1 => { # CSf1-r
+        Name => 'LensFocusFunctionButtons',
+        Mask => 0x3f,
+        PrintConv => {
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            24 => 'Preset Focus Point',
+            26 => 'Flash Disable/Enable',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+            49 => 'Sync Release (Master Only)',
+            50 => 'Sync Release (Remote Only)',
+        },
+    },
+    66.1 => { # CSf1-o
+        Name => 'VerticalMultiSelector',
+        Mask => 0xff,
+        PrintConv => {
+            0x00 => 'Same as Multi-Selector with Info(U/D) & Playback(R/L)',
+            0x08 => 'Same as Multi-Selector with Info(R/L) & Playback(U/D)',
+            0x80 => 'Focus Point Selection',
+        },
+    },
+    67.1 => { # CSf1-g
+        Name => 'VerticalFuncButton',
+        Mask => 0x3f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Preview',
+            2 => 'FV Lock',
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            5 => 'AE Lock (reset on release)',
+            6 => 'AE Lock (hold)',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            10 => 'Bracketing Burst',
+            11 => 'Matrix Metering',
+            12 => 'Center-weighted Metering',
+            13 => 'Spot Metering',
+            14 => 'Playback',
+            15 => 'My Menu Top Item',
+            16 => '+NEF(RAW)',
+            17 => 'Virtual Horizon',
+            18 => 'Reset Focus Point',
+            19 => 'Grid Display',
+            20 => 'My Menu',
+            22 => 'Remote Release Only',
+            23 => 'Preset Focus Point',
+            26 => 'Flash Disable/Enable',
+            27 => 'Highlight-weighted Metering',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+            49 => 'Sync Release (Master Only)',
+            50 => 'Sync Release (Remote Only)',
+            54 => 'Highlight Active Focus Point',
+        },
+    },
+    68.1 => { # CSf1-h
+        Name => 'VerticalFuncPlusDials',
+        Mask => 0x0f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Choose Image Area',
+            2 => 'Shutter Speed & Aperture Lock',
+            3 => 'One Step Speed / Aperture',
+            4 => 'Choose Non-CPU Lens Number',
+            5 => 'Active D-Lighting',
+            7 => 'Photo Shooting Menu Bank',
+            8 => 'Exposure Delay Mode',
+            10 => 'ISO Sensitivity',
+            11 => 'Exposure Mode',
+            12 => 'Exposure Compensation',
+            13 => 'Metering',
+        },
+    },
+    70.1 => { # CSf1-j
+        Name => 'AF-OnButton',
+        Mask => 0x3f,
+        PrintConv => {
+            0 => 'None',
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            5 => 'AE Lock (reset on release)',
+            6 => 'AE Lock (hold)',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+        },
+    },
+    71.1 => { # CSf1-k
+        Name => 'SubSelector',
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => 'Focus Point Selection',
+            0x80 => 'Same as MultiSelector',
+        },
+    },
+    72.1 => { # CSf1-l
+        Name => 'SubSelectorCenter',
+        Mask => 0x3f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Preview',
+            2 => 'FV Lock',
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            5 => 'AE Lock (reset on release)',
+            6 => 'AE Lock (hold)',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            10 => 'Bracketing Burst',
+            11 => 'Matrix Metering',
+            12 => 'Center-weighted Metering',
+            13 => 'Spot Metering',
+            14 => 'Playback',
+            15 => 'My Menu Top Item',
+            16 => '+NEF(RAW)',
+            17 => 'Virtual Horizon',
+            18 => 'Reset Focus Point',
+            19 => 'Grid Display',
+            20 => 'My Menu',
+            22 => 'Remote Release Only',
+            23 => 'Preset Focus Point',
+            26 => 'Flash Disable/Enable',
+            27 => 'Highlight-weighted Metering',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+            49 => 'Sync Release (Master Only)',
+            50 => 'Sync Release (Remote Only)',
+            54 => 'Highlight Active Focus Point',
+        },
+    },
+    73.1 => { # CSf1-m
+        Name => 'SubSelectorPlusDials',
+        Mask => 0x0f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Choose Image Area',
+            2 => 'Shutter Speed & Aperture Lock',
+            4 => 'Choose Non-CPU Lens Number',
+            7 => 'Photo Shooting Menu Bank',
+        },
+    },
+    74.1 => { # CSg1-f
+        Name => 'AssignMovieSubselector',
+        Mask => 0xf0,
+        PrintConv => {
+            0x00 => 'None',
+            0x30 => 'Index Marking',
+            0x40 => 'View Photo Shooting Info',
+            0x50 => 'AE/AF Lock',
+            0x60 => 'AE Lock (Only)',
+            0x70 => 'AE Lock (Hold)',
+            0x80 => 'AF Lock (Only)',
+        },
+    },
+    75.1 => { # CSg1-d
+        Name => 'AssignMovieFunc1ButtonPlusDials',
+        Mask => 0x10,
+        PrintConv => {
+            0x00  => 'None',
+            0x10  => 'Choose Image Area',
+        },
+    },
+    75.2 => { # CSg1-b
+        Name => 'AssignMoviePreviewButtonPlusDials',
+        Mask => 0x01,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Choose Image Area (DX/1.3x)',
+        },
+    },
+    76.1 => { # CSg1-g
+        Name => 'AssignMovieSubselectorPlusDials',
+        Mask => 0x10,
+        PrintConv => {
+            0x00  => 'None',
+            0x10  => 'Choose Image Area',
+        },
+    },
+    77.1 => { # CSd4
+        Name => 'SyncReleaseMode',              # new with D500
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => 'No Sync',
+            0x80 => 'Sync',
+        },
+    },
+    78.1 => { # CSa5
+        Name => 'Three-DTrackingWatchArea',     # new with D500
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => 'Wide',
+            0x80 => 'Normal',
+        },
+    },
+    78.2 => { # CSa3-b
+        Name => 'SubjectMotion',
+        Mask => 0x60,
+        PrintConv => {
+            0x00 => 'Steady',
+            0x20 => 'Middle',
+            0x40 => 'Erratic',
+        },
+    },
+    78.3 => { # CSa8
+        Name => 'AFActivation',
+        Mask => 0x08,
+        PrintConv => {
+            0x00 => 'Shutter/AF-On',
+            0x08 => 'AF-On Only',
+        },
+    },
+    78.4 => { # CSc1
+        Name => 'ShutterReleaseButtonAE-L',
+        Mask => 0x03,
+        PrintConv => {
+            0x00 => 'Off',
+            0x01 => 'On (Half Press)',
+            0x02 => 'On (Burst Mode)'
+        },
+    },
+    79.1 => { # CSf1-n
+        Name => 'VerticalAFOnButton',
+        Mask => 0x7f,
+        PrintConv => {
+            0 => 'None',
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            5 => 'AE Lock (reset on release)',
+            6 => 'AE Lock (hold)',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+            100 => 'Same as AF-On',
+        },
+    },
+    80.1 => { # CSf1-e
+        Name => 'Func2Button',
+        Mask => 0x3f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Preview',
+            2 => 'FV Lock',
+            3 => 'AE/AF Lock',
+            4 => 'AE Lock Only',
+            5 => 'AE Lock (reset on release)',
+            6 => 'AE Lock (hold)',
+            7 => 'AF Lock Only',
+            8 => 'AF-On',
+            10 => 'Bracketing Burst',
+            11 => 'Matrix Metering',
+            12 => 'Center-weighted Metering',
+            13 => 'Spot Metering',
+            14 => 'Playback',
+            15 => 'My Menu Top Item',
+            16 => '+NEF(RAW)',
+            17 => 'Virtual Horizon',
+            19 => 'Grid Display',
+            20 => 'My Menu',
+            21 => 'Disable Synchronized Release',
+            22 => 'Remote Release Only',
+            26 => 'Flash Disable/Enable',
+            27 => 'Highlight-weighted Metering',
+            36 => 'AF-Area Mode (Single)',
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',
+            40 => 'AF-Area Mode (Group Area AF)',
+            41 => 'AF-Area Mode (Auto Area AF)',
+            42 => 'AF-Area Mode + AF-On (Single)',
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',
+            49 => 'Sync Release (Master Only)',
+            50 => 'Sync Release (Remote Only)',
+        },
+    },
+    81.1 => { # CSf1-f
+        Name => 'Func2ButtonPlusDials',
+        Mask => 0x0f,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Choose Image Area',
+            2 => 'Shutter Speed & Aperture Lock',
+            3 => 'One Step Speed / Aperture',
+            4 => 'Choose Non-CPU Lens Number',
+            5 => 'Active D-Lighting',
+            7 => 'Photo Shooting Menu Bank',
+            8 => 'Exposure Delay Mode',
+        },
+    },
+    82.1 => { # CSg1-e
+        Name => 'AssignMovieFunc2Button',
+        Mask => 0x70,
+        PrintConv => {
+            0x00 => 'None',
+            0x30 => 'Index Marking',
+            0x40 => 'View Photo Shooting Info',
+        },
+    },
+    83.1 => { # CSf1-i
+        Name => 'Func3Button',
+        Mask => 0x03,
+        PrintConv => {
+            0 => 'None',
+            1 => 'Voice Memo',
+            2 => 'Rating',
+            3 => 'Connect To Network',
+        },
+    },
+);
+
 # D500 custom settings (ref 1)
 %Image::ExifTool::NikonCustom::SettingsD500 = (
     PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
@@ -3139,7 +4217,7 @@ $VERSION = '1.13';
     WRITABLE => 1,
     FIRST_ENTRY => 0,
     GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
-    NOTES => 'Custom settings for the D500',
+    NOTES => 'Custom settings for the D500.',
     0.1 => {
         Name => 'CustomSettingsBank',
         Mask => 0x03,
@@ -3197,7 +4275,7 @@ $VERSION = '1.13';
             0x08 => 'Wrap',
         },
     },
-    2.2 => { # CSa12-d
+    2.2 => { # CSa12-c
         Name => 'AFPointBrightness',
         Mask => 0x06,
         PrintConv => {
@@ -3449,24 +4527,24 @@ $VERSION = '1.13';
             17 => 'Virtual Horizon',
             19 => 'Grid Display',
             20 => 'My Menu',
-#           21 => 'Disable Synchronized Release',   #removed with D500
+#           21 => 'Disable Synchronized Release',   # removed with D500
             22 => 'Remote Release Only',
             26 => 'Flash Disable/Enable',
             27 => 'Highlight-weighted Metering',
-            36 => 'AF-Area Mode (Single)',                              #new with D500
-            37 => 'AF-Area Mode (Dynamic Area 25 Points)',              #new with D500
-            38 => 'AF-Area Mode (Dynamic Area 72 Points)',              #new with D500
-            39 => 'AF-Area Mode (Dynamic Area 152 Points)',             #new with D500
-            40 => 'AF-Area Mode (Group Area AF)',                       #new with D500
-            41 => 'AF-Area Mode (Auto Area AF)',                        #new with D500
-            42 => 'AF-Area Mode + AF-On (Single)',                      #new with D500
-            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)',      #new with D500
-            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)',      #new with D500
-            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',     #new with D500
-            46 => 'AF-Area Mode + AF-On (Group Area AF)',               #new with D500
-            47 => 'AF-Area Mode + AF-On (Auto Area AF)',                #new with D500
-            49 => 'Sync Release (Master Only)',                         #new with D500
-            50 => 'Sync Release (Remote Only)',                         #new with D500
+            36 => 'AF-Area Mode (Single)',                         # new with D500
+            37 => 'AF-Area Mode (Dynamic Area 25 Points)',         # new with D500
+            38 => 'AF-Area Mode (Dynamic Area 72 Points)',         # new with D500
+            39 => 'AF-Area Mode (Dynamic Area 152 Points)',        # new with D500
+            40 => 'AF-Area Mode (Group Area AF)',                  # new with D500
+            41 => 'AF-Area Mode (Auto Area AF)',                   # new with D500
+            42 => 'AF-Area Mode + AF-On (Single)',                 # new with D500
+            43 => 'AF-Area Mode + AF-On (Dynamic Area 25 Points)', # new with D500
+            44 => 'AF-Area Mode + AF-On (Dynamic Area 72 Points)', # new with D500
+            45 => 'AF-Area Mode + AF-On (Dynamic Area 152 Points)',# new with D500
+            46 => 'AF-Area Mode + AF-On (Group Area AF)',          # new with D500
+            47 => 'AF-Area Mode + AF-On (Auto Area AF)',           # new with D500
+            49 => 'Sync Release (Master Only)',                    # new with D500
+            50 => 'Sync Release (Remote Only)',                    # new with D500
         },
     },
     16.1 => { # CSf1-j
@@ -3704,7 +4782,7 @@ $VERSION = '1.13';
         },
     },
     41.1 => { # CSg1-c
-        Name => 'MoviePreviewButton',
+        Name => 'MovieFunc1Button',
         Mask => 0xf0,
         PrintConv => {
             0x00 => 'None',
@@ -3749,7 +4827,7 @@ $VERSION = '1.13';
             3 => 'One Step Speed / Aperture',
             4 => 'Choose Non-CPU Lens Number',
             5 => 'Active D-Lighting',
-            7 => 'Photo Shooting Menu Bank',                                #new with D500
+            7 => 'Photo Shooting Menu Bank',    # new with D500
             8 => 'Exposure Delay Mode',
         },
     },
@@ -3818,7 +4896,7 @@ $VERSION = '1.13';
         Mask => 0x30,
         PrintConv => {
             0x00 => 'Enable',
-            0x10 => 'Enable (Standby Timer Active)',            #new with D500
+            0x10 => 'Enable (Standby Timer Active)',    # new with D500
             0x20 => 'Disable',
         },
     },
@@ -4071,7 +5149,7 @@ $VERSION = '1.13';
         },
     },
     77.1 => { # CSd4
-        Name => 'SyncReleaseMode',          #new with D500
+        Name => 'SyncReleaseMode',          # new with D500
         Mask => 0x80,
         PrintConv => {
             0x00 => 'No Sync',
@@ -4079,7 +5157,7 @@ $VERSION = '1.13';
         },
     },
     78.1 => { # CSa5
-        Name => 'Three-DTrackingWatchArea',      #new with D500
+        Name => 'Three-DTrackingWatchArea', # new with D500
         Mask => 0x80,
         PrintConv => {
             0x00 => 'Wide',
@@ -4159,6 +5237,249 @@ $VERSION = '1.13';
     },
 );
 
+# D610 custom settings (ref forum6942)
+%Image::ExifTool::NikonCustom::SettingsD610 = (
+    PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
+    WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
+    CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
+    WRITABLE => 1,
+    FIRST_ENTRY => 0,
+    GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
+    NOTES => 'Custom settings for the D610.',
+    0.1 => { #CSa1
+        Name => 'AF-CPrioritySelection',
+        Mask => 0x80,
+        PrintConv => {
+            0x00 => 'Release',
+            0x80 => 'Focus',
+        },
+    },
+    0.2 => { #CSa2
+        Name => 'AF-SPrioritySelection',
+        Mask => 0x20,
+        PrintConv => {
+            0x00 => 'Release',
+            0x20 => 'Focus',
+        },
+    },
+    0.3 => { # CSa6
+        Name => 'NumberOfFocusPoints',
+        Mask => 0x10,
+        PrintConv => {
+            0x00 => '39 Points',
+            0x10 => '11 Points',
+        },
+    },
+    0.4 => { # CSa3
+        Name => 'FocusTrackingLockOn',
+        Mask => 0x07,
+        PrintConv => {
+            0x00 => 'Off',
+            0x01 => '1 Short',
+            0x02 => '2',
+            0x03 => '3 Normal',
+            0x04 => '4',
+            0x05 => '5 Long',
+        },
+    },
+    1.1 => { # CSa5
+        Name => 'FocusPointWrap',
+        Mask => 0x08,
+        PrintConv => {
+            0x00 => 'No Wrap',
+            0x08 => 'Wrap',
+        },
+    },
+    1.2 => { # CSa4
+        Name => 'AFPointIllumination',
+        Mask => 0x06,
+        PrintConv => {
+            0x00 => 'Auto',
+            0x02 => 'On',
+            0x04 => 'Off',
+        },
+    },
+    1.3 => { # CSa7
+        Name => 'AFAssist',
+        Mask => 0x01,
+        PrintConv => { 0x00 => 'On', 0x01 => 'Off' },
+    },
+    5.1 => { # CSb3
+        Name => 'EasyExposureCompensation',
+        Mask => 0x03,
+        PrintConv => {
+            0x00 => 'Off',
+            0x01 => 'On',
+            0x02 => 'On Auto Reset',
+        },
+    },
+    6.1 => { # CSb2
+        Name => 'ExposureControlStep',
+        Mask => 0x40,
+        PrintConv => {
+            0x00 => '1/3 EV',
+            0x40 => '1/2 EV',
+        },
+    },
+    6.2 => { # CSb1
+        Name => 'ISOSensitivityStep',
+        Mask => 0x10,
+        PrintConv => {
+            0x00 => '1/3 EV',
+            0x10 => '1/2 EV',
+        },
+    },
+    7.1 => { # CSb4
+        Name => 'CenterWeightedAreaSize',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '8 mm',
+            0x20 => '12 mm',
+            0x40 => '15 mm',
+            0x60 => '20 mm',
+            0x80 => 'Average',
+        },
+    },
+    7.2 => { # CSb5-a
+        Name => 'FineTuneOptMatrixMetering',
+        Mask => 0x0f,
+        ValueConv => '($val > 0x7 ? $val - 0x10 : $val) / 6',
+        ValueConvInv => 'int($val*6+($val>0?0.5:-0.5)) & 0x0f',
+        PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    8.1 => { # CSb5-b
+        Name => 'FineTuneOptCenterWeighted',
+        Mask => 0xf0,
+        ValueConv => '($val > 0x70 ? $val - 0x100 : $val) / 0x60',
+        ValueConvInv => '(int($val*6+($val>0?0.5:-0.5))<<4) & 0xf0',
+        PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    8.2 => { # CSb5-c
+        Name => 'FineTuneOptSpotMetering',
+        Mask => 0x0f,
+        ValueConv => '($val > 0x7 ? $val - 0x10 : $val) / 6',
+        ValueConvInv => 'int($val*6+($val>0?0.5:-0.5)) & 0x0f',
+        PrintConv => '$val ? sprintf("%+.2f", $val) : 0',
+        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+    },
+    17.1 => { # CSc1
+        Name => 'ShutterReleaseButtonAE-L',
+        Mask => 0x02,
+        PrintConv => { 0x00 => 'Off', 0x02 => 'On' },
+    },
+    18.1 => { # CSc2
+        Name => 'StandbyTimer',
+        Mask => 0xf0,
+        PrintConv => {
+            0x00 => '4 s',
+            0x10 => '6 s',
+            0x20 => '10 s',
+            0x30 => '30 s',
+            0x40 => '1 min',
+            0x50 => '5 min',
+            0x60 => '10 min',
+            0x70 => '30 min',
+            0x80 => 'No Limit',
+        },
+    },
+    18.2 => { # CSc5
+        Name => 'RemoteOnDuration',
+        Mask => 0x03,
+        PrintConv => {
+            0x00 => '1 min',
+            0x01 => '5 min',
+            0x02 => '10 min',
+            0x03 => '20 min',
+        },
+    },
+    19.1 => { # CSc3-a
+        Name => 'SelfTimerTime',
+        Mask => 0xc0,
+        PrintConv => {
+            0x00 => '2 s',
+            0x40 => '5 s',
+            0x80 => '10 s',
+            0xc0 => '20 s',
+        },
+    },
+    19.2 => { # CSc3-c
+        Name => 'SelfTimerShotInterval',
+        Mask => 0x30,
+        PrintConv => {
+            0x00 => '0.5 s',
+            0x10 => '1 s',
+            0x20 => '2 s',
+            0x30 => '3 s',
+        },
+    },
+    19.3 => { # CSc3-b
+        Name => 'SelfTimerShotCount',
+        Mask => 0x0f,
+    },
+    20.1 => { # CSc4-d
+        Name => 'ImageReviewMonitorOffTime',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '2 s',
+            0x20 => '4 s',
+            0x40 => '10 s',
+            0x60 => '20 s',
+            0x80 => '1 min',
+            0xa0 => '5 min',
+            0xc0 => '10 min',
+        },
+    },
+    20.2 => { # CSc4-e
+        Name => 'LiveViewMonitorOffTime',
+        Mask => 0x1c,
+        PrintConv => {
+            0x00 => '5 min',
+            0x04 => '10 min',
+            0x08 => '15 min',
+            0x0c => '20 min',
+            0x10 => '30 min',
+            0x14 => 'No Limit',
+        },
+    },
+    21.1 => { # CSc4-b
+        Name => 'MenuMonitorOffTime',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '4 s',
+            0x20 => '10 s',
+            0x40 => '20 s', # default
+            0x60 => '1 min',
+            0x80 => '5 min',
+            0xa0 => '10 min',
+        },
+    },
+    21.2 => { # CSc4-c
+        Name => 'ShootingInfoMonitorOffTime',
+        Mask => 0x1c,
+        PrintConv => {
+            0x00 => '4 s',
+            0x04 => '10 s', # default
+            0x08 => '20 s',
+            0x0c => '1 min',
+            0x10 => '5 min',
+            0x14 => '10 min',
+        },
+    },
+    35.1 => { # CSc4-a
+        Name => 'PlaybackMonitorOffTime',
+        Mask => 0xe0,
+        PrintConv => {
+            0x00 => '4 s',
+            0x20 => '10 s',
+            0x40 => '20 s',
+            0x60 => '1 min',
+            0x80 => '5 min',
+            0xa0 => '10 min',
+        },
+    },
+);
 
 # D810 custom settings (ref 1)
 %Image::ExifTool::NikonCustom::SettingsD810 = (
@@ -4169,7 +5490,7 @@ $VERSION = '1.13';
     FIRST_ENTRY => 0,
     DATAMEMBER => [ 24.1 ],
     GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
-    NOTES => 'Custom settings for the D810',
+    NOTES => 'Custom settings for the D810.',
     0.1 => { # CSf1
         Name => 'LightSwitch',
         Mask => 0x08,
@@ -5781,15 +7102,15 @@ $VERSION = '1.13';
         Name => 'FocusTrackingLockOn',
         Mask => 0x07,
         PrintConv => {
-            0x05 => '5 Long',
-            0x04 => '4',
-            0x03 => '3 Normal',
-            0x02 => '2',
-            0x01 => '1 Short',
             0x00 => 'Off',
+            0x01 => '1 Short',
+            0x02 => '2',
+            0x03 => '3 Normal',
+            0x04 => '4',
+            0x05 => '5 Long',
         },
     },
-    1.2 => { # CSa5
+    1.1 => { # CSa5
         Name => 'FocusPointWrap',
         Mask => 0x08,
         PrintConv => {
@@ -5797,7 +7118,7 @@ $VERSION = '1.13';
             0x08 => 'Wrap',
         },
     },
-    1.3 => { # CSa4
+    1.2 => { # CSa4
         Name => 'AFPointIllumination',
         Mask => 0x06,
         PrintConv => {
@@ -5806,7 +7127,7 @@ $VERSION = '1.13';
             0x04 => 'Off',
         },
     },
-    1.4 => { # CSa7
+    1.3 => { # CSa7
         Name => 'AFAssist',
         Mask => 0x01,
         PrintConv => { 0x00 => 'On', 0x01 => 'Off' },
diff --git a/lib/Image/ExifTool/Olympus.pm b/lib/Image/ExifTool/Olympus.pm
index f16cc57..72b3cce 100644
--- a/lib/Image/ExifTool/Olympus.pm
+++ b/lib/Image/ExifTool/Olympus.pm
@@ -39,7 +39,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Exif;
 use Image::ExifTool::APP12;
 
-$VERSION = '2.42';
+$VERSION = '2.44';
 
 sub PrintLensInfo($$$);
 
@@ -98,6 +98,9 @@ my %olympusLensTypes = (
     '0 24 00' => 'Olympus Zuiko Digital ED 40-150mm F4.0-5.6', #PH
     '0 24 10' => 'Olympus M.Zuiko Digital ED 300mm F4.0 IS Pro', #NJ
     '0 25 10' => 'Olympus M.Zuiko Digital ED 8mm F1.8 Fisheye Pro', #NJ
+    '0 26 10' => 'Olympus M.Zuiko Digital ED 12-100mm F4.0 IS Pro', #IB/NJ
+    '0 27 10' => 'Olympus M.Zuiko Digital ED 30mm F3.5 Macro', #IB/NJ
+    '0 28 10' => 'Olympus M.Zuiko Digital ED 25mm F1.2 Pro', #IB/NJ
     '0 30 00' => 'Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD', #7
     '0 31 00' => 'Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD', #7
     '0 32 00' => 'Olympus Zuiko Digital ED 14-35mm F2.0 SWD', #PH
@@ -395,6 +398,7 @@ my %olympusCameraTypes = (
     S0052 => 'E-M5MarkII', #IB
     S0059 => 'E-M10MarkII',
     S0061 => 'PEN-F', #forum7005
+    S0065 => 'E-PL8',
     SR45 => 'D220',
     SR55 => 'D320L',
     SR83 => 'D340L',
diff --git a/lib/Image/ExifTool/PNG.pm b/lib/Image/ExifTool/PNG.pm
index df5119e..c6bee89 100644
--- a/lib/Image/ExifTool/PNG.pm
+++ b/lib/Image/ExifTool/PNG.pm
@@ -26,7 +26,7 @@ use strict;
 use vars qw($VERSION $AUTOLOAD);
 use Image::ExifTool qw(:DataAccess :Utils);
 
-$VERSION = '1.36';
+$VERSION = '1.39';
 
 sub ProcessPNG_tEXt($$$);
 sub ProcessPNG_iTXt($$$);
@@ -244,6 +244,15 @@ $Image::ExifTool::PNG::colorType = -1;
             ProcessProc => \&ProcessPNG_Compressed,
         },
     },
+    # animated PNG (ref https://wiki.mozilla.org/APNG_Specification)
+    acTL => {
+        Name => 'AnimationControl',
+        SubDirectory => {
+            TagTable => 'Image::ExifTool::PNG::AnimationControl',
+        },
+    },
+    # fcTL - animation frame control for each frame
+    # fdAT - animation data for each frame
 );
 
 # PNG IHDR chunk
@@ -537,6 +546,25 @@ my %unreg = ( Notes => 'unregistered' );
     },
 );
 
+# Animation control
+%Image::ExifTool::PNG::AnimationControl = (
+    PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
+    GROUPS => { 2 => 'Image' },
+    FORMAT => 'int32u',
+    NOTES => q{
+        Tags found in the Animation Conrol chunk.  See
+        L<https://wiki.mozilla.org/APNG_Specification> for details.
+    },
+    0 => {
+        Name => 'AnimationFrames',
+        RawConv => '$self->OverrideFileType("APNG", undef, "PNG"); $val',
+    },
+    1 => {
+        Name => 'AnimationPlays',
+        PrintConv => '$val || "inf"',
+    },
+);
+
 #------------------------------------------------------------------------------
 # AutoLoad our writer routines when necessary
 #
@@ -671,11 +699,11 @@ sub FoundPNG($$$$;$$$$)
                 DirLen   => $len,
                 DirName  => $dirName,
                 TagInfo  => $tagInfo,
-                ReadOnly => 1, # (only used by WriteXMP)
+                ReadOnly => 1, # (used only by WriteXMP)
                 OutBuff  => $outBuff,
             );
             # no need to re-decompress if already done
-            undef $processProc if $wasCompressed and $processProc eq \&ProcessPNG_Compressed;
+            undef $processProc if $wasCompressed and $processProc and $processProc eq \&ProcessPNG_Compressed;
             # rewrite this directory if necessary (but always process TextualData normally)
             if ($outBuff and not $processProc and $subTable ne \%Image::ExifTool::PNG::TextualData) {
                 return 1 unless $$et{EDIT_DIRS}{$dirName};
@@ -871,7 +899,7 @@ sub ProcessProfile($$$)
             $dir =~ s/_Profile// unless $dir =~ /^ICC/;
             return 1 unless $$editDirs{$dir};
             $$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr);
-            DoneDir($et, $dir, $outBuff);
+            DoneDir($et, $dir, $outBuff, $$tagInfo{NonStandard});
         } else {
             $processed = $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
         }
diff --git a/lib/Image/ExifTool/Pentax.pm b/lib/Image/ExifTool/Pentax.pm
index 5700b51..094778d 100644
--- a/lib/Image/ExifTool/Pentax.pm
+++ b/lib/Image/ExifTool/Pentax.pm
@@ -57,7 +57,7 @@ use Image::ExifTool::Exif;
 use Image::ExifTool::GPS;
 use Image::ExifTool::HP;
 
-$VERSION = '3.06';
+$VERSION = '3.07';
 
 sub CryptShutterCount($$);
 sub PrintFilter($$$);
@@ -98,7 +98,7 @@ sub DecodeAFPoints($$$$;$);
     # (and 'Sigma 70mm F2.8 EX DG Macro')
     # (and 'Sigma 105mm F2.8 EX DG Macro', ref 24)
     # (and 'Sigma 180mm F4.5 EX DG Macro')
-    '3 17' => 'smc PENTAX-FA SOFT 85mm F2.8',
+    '3 17' => 'smc PENTAX-FA SOFT 85mm F2.8', # (also F version, ref 29)
     '3 18' => 'smc PENTAX-F 1.7X AF ADAPTER',
     '3 19' => 'smc PENTAX-F 24-50mm F4',
     '3 20' => 'smc PENTAX-F 35-80mm F4-5.6',
@@ -177,6 +177,7 @@ sub DecodeAFPoints($$$$;$);
     '4 2' => 'smc PENTAX-FA 80-320mm F4.5-5.6',
     '4 3' => 'smc PENTAX-FA 43mm F1.9 Limited',
     '4 6' => 'smc PENTAX-FA 35-80mm F4-5.6',
+    '4 10' => 'Irix 15mm F2.4', #forum3833
     '4 12' => 'smc PENTAX-FA 50mm F1.4', #17
     '4 15' => 'smc PENTAX-FA 28-105mm F4-5.6 [IF]',
     '4 16' => 'Tamron AF 80-210mm F4-5.6 (178D)', #13
@@ -5694,7 +5695,7 @@ my %binaryDataAttrs = (
         Description => 'Camera Model Name',
         Format => 'string[24]',
     },
-    0x38 => { # (NC)
+    0x38 => { #(NC)
         Name => 'ExposureTime',
         Format => 'int32u',
         ValueConv => '$val ? 10 / $val : 0',
@@ -5705,12 +5706,12 @@ my %binaryDataAttrs = (
         Format => 'rational64u',
         PrintConv => 'sprintf("%.1f",$val)',
     },
-    0x44 => { # (NC)
+    0x44 => { #(NC)
         Name => 'ExposureCompensation',
         Format => 'rational64s',
         PrintConv => '$val ? sprintf("%+.1f", $val) : 0',
     },
-    0x54 => { # (NC)
+    0x54 => { #(NC)
         Name => 'FocalLength',
         Format => 'int32u',
         PrintConv => '"$val mm"',
@@ -5725,7 +5726,7 @@ my %binaryDataAttrs = (
         Format => 'string[24]',
         Groups => { 2 => 'Time' },
     },
-    0xa7 => { # (NC)
+    0xa7 => { #(NC)
         Name => 'ISO',
         Format => 'int32u',
     },
@@ -5837,7 +5838,7 @@ my %binaryDataAttrs = (
         Format => 'string[11]',
         ValueConv => 'Image::ExifTool::Exif::ExifDate($val)',
     },
-    0x173 => { # (NC)
+    0x173 => { #(NC)
         Name => 'AudioCodecID',
         Format => 'string[4]',
     },
diff --git a/lib/Image/ExifTool/PhotoMechanic.pm b/lib/Image/ExifTool/PhotoMechanic.pm
index 3637f90..a67111c 100644
--- a/lib/Image/ExifTool/PhotoMechanic.pm
+++ b/lib/Image/ExifTool/PhotoMechanic.pm
@@ -15,7 +15,7 @@ use Image::ExifTool::Exif;
 use Image::ExifTool::IPTC;
 use Image::ExifTool::XMP;
 
-$VERSION = '1.04';
+$VERSION = '1.05';
 
 sub ProcessPhotoMechanic($$);
 
@@ -108,7 +108,7 @@ my %rawCropConv = (
     NOTES => q{
         Below is a list of the observed PhotoMechanic XMP tags.  The actual
         namespace prefix is "photomechanic" but ExifTool shortens this in
-        the "XMP-photomech" family 1 group name.
+        the family 1 group name.
     },
     ColorClass  => {
         Writable => 'integer',
diff --git a/lib/Image/ExifTool/QuickTime.pm b/lib/Image/ExifTool/QuickTime.pm
index 399ed80..6fddef1 100644
--- a/lib/Image/ExifTool/QuickTime.pm
+++ b/lib/Image/ExifTool/QuickTime.pm
@@ -42,7 +42,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Exif;
 use Image::ExifTool::GPS;
 
-$VERSION = '1.97';
+$VERSION = '1.98';
 
 sub FixWrongFormat($);
 sub ProcessMOV($$;$);
@@ -628,6 +628,93 @@ my %graphicsMode = (
     gama => { Name => 'Gamma', Format => 'fixed32u' },
     # mjqt - default quantization table for MJPEG
     # mjht - default Huffman table for MJPEG
+#
+# spherical video v2 stuff (untested)
+#
+    st3d => {
+        Name => 'Stereoscopic3D',
+        Format => 'int8u',
+        ValueConv => '$val =~ s/.* //; $val', # (remove leading version/flags bytes?)
+        PrintConv => {
+            0 => 'Monoscopic',
+            1 => 'Stereoscopic Top-Bottom',
+            2 => 'Stereoscopic Left-Right',
+        },
+    },
+    sv3d => {
+        Name => 'SphericalVideo',
+        SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::sv3d' },
+    },
+);
+
+# 'sv3d' atom information (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md)
+%Image::ExifTool::QuickTime::sv3d = (
+    PROCESS_PROC => \&ProcessMOV,
+    GROUPS => { 2 => 'Video' },
+    NOTES => q{
+        Tags defined by the Spherical Video V2 specification (see
+        https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md).
+    },
+    svhd => {
+        Name => 'MetadataSource',
+        Format => 'undef',
+        ValueConv => '$val=~tr/\0//d; $val', # (remove version/flags? and terminator?)
+    },
+    proj => {
+        Name => 'Projection',
+        SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::proj' },
+    },
+);
+
+# 'proj' atom information (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md)
+%Image::ExifTool::QuickTime::proj = (
+    PROCESS_PROC => \&ProcessMOV,
+    GROUPS => { 2 => 'Video' },
+    prhd => {
+        Name => 'ProjectionHeader',
+        SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::prhd' },
+    },
+    cbmp => {
+        Name => 'CubemapProj',
+        SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::cbmp' },
+    },
+    equi => {
+        Name => 'EquirectangularProj',
+        SubDirectory => { TagTable => 'Image::ExifTool::QuickTime::equi' },
+    },
+);
+
+# 'prhd' atom information (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md)
+%Image::ExifTool::QuickTime::prhd = (
+    PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
+    GROUPS => { 2 => 'Video' },
+    FORMAT => 'fixed32s',
+    # 0 - version (high 8 bits) / flags (low 24 bits)
+    1 => 'PoseYawDegrees',
+    2 => 'PosePitchDegrees',
+    3 => 'PoseRollDegrees',
+);
+
+# 'cbmp' atom information (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md)
+%Image::ExifTool::QuickTime::cbmp = (
+    PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
+    GROUPS => { 2 => 'Video' },
+    FORMAT => 'int32u',
+    # 0 - version (high 8 bits) / flags (low 24 bits)
+    1 => 'Layout',
+    2 => 'Padding',
+);
+
+# 'equi' atom information (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md)
+%Image::ExifTool::QuickTime::equi = (
+    PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
+    GROUPS => { 2 => 'Video' },
+    FORMAT => 'int32u', # (actually 0.32 fixed point)
+    # 0 - version (high 8 bits) / flags (low 24 bits)
+    1 => { Name => 'ProjectionBoundsTop',   ValueConv => '$val / 4294967296' },
+    2 => { Name => 'ProjectionBoundsBottom',ValueConv => '$val / 4294967296' },
+    3 => { Name => 'ProjectionBoundsLeft',  ValueConv => '$val / 4294967296' },
+    4 => { Name => 'ProjectionBoundsRight', ValueConv => '$val / 4294967296' },
 );
 
 # 'btrt' atom information (ref http://lists.freedesktop.org/archives/gstreamer-commits/2011-October/054459.html)
@@ -836,6 +923,15 @@ my %graphicsMode = (
                 Start => 16,
             },
         },
+        { #https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md
+            Name => 'SphericalVideoXML',
+            Condition => '$$valPt=~/^\xff\xcc\x82\x63\xf8\x55\x4a\x93\x88\x14\x58\x7a\x02\x52\x1f\xdd/',
+            Flags => [ 'Binary', 'BlockExtract' ],
+            SubDirectory => {
+                TagTable => 'Image::ExifTool::XMP::Main',
+                Start => 16,
+            },
+        },
         {
             Name => 'UUID-Unknown',
             %unknownInfo,
diff --git a/lib/Image/ExifTool/README b/lib/Image/ExifTool/README
index 4eede00..ae119d6 100644
--- a/lib/Image/ExifTool/README
+++ b/lib/Image/ExifTool/README
@@ -354,6 +354,8 @@ numerical.
                   'Hidden' - set to hide tag from the TagName documentation.
                   Also suppresses verbose output of a BinaryData tag.
 
+                  'IsComposite' - flag set for Composite tags
+
                   'IsOffset' - flag set if the tag represents an offset to some
                   data, and causes value will be adjusted to an absolute file
                   offset.  If set to 2, the offset base of the parent directory
@@ -498,7 +500,7 @@ numerical.
                   the source @val and @prt values unless the input $val is
                   returned.  RawConv may generate Warning or Error tags, while
                   ValueConv and PrintConv should not (see ValueConv note below).
-                   Note: RawConv should only be used if necessary (in general,
+                  Note: RawConv should only be used if necessary (in general,
                   only if the conversion may return undef to ignore the tag, or
                   if a Warning may be issued) because ValueConv is more
                   efficient since it is only executed if the tag value is
@@ -594,9 +596,10 @@ numerical.
                   conversion is not applied for deleted tags (ie. $val is
                   undef).
 
-  PrintConvInv  : The inverse of PrintConv.  Only necessary if for Writable tags
-                  when PrintConv is specified (unless WriteAlso is used).  See
-                  ValueConvInv above for more details.
+  PrintConvInv  : The inverse of PrintConv.  Necessary for Writable tags
+                  when PrintConv is specified (unless WriteAlso is used), but
+                  may be used without PrintConv.  See ValueConvInv above for
+                  more details.
 
   PrintConvColumns : Number of columns for PrintConv lookup in HTML docs. If not
                   set, the number of columns is determined automatically
@@ -778,6 +781,9 @@ numerical.
   BitsTotal     : [Writable BITMASK tags only] Total number of bits in bit mask.
                   Defaults to BitsPerWord if not specified.
 
+  FixedSize     : [EXIF only] Hack to ignore value size and use this instead.
+                  Only valid if Format is also defined.
+
   Struct        : [XMP tags only] Reference to structure hash for structured XMP
                   tags.  See "STRUCTURES" section below for more details.  (For
                   backward compatibility, this may be a name to an entry in
diff --git a/lib/Image/ExifTool/Samsung.pm b/lib/Image/ExifTool/Samsung.pm
index 5487ab9..2dd7fd9 100644
--- a/lib/Image/ExifTool/Samsung.pm
+++ b/lib/Image/ExifTool/Samsung.pm
@@ -10,6 +10,7 @@
 #               3) Pascal de Bruijn private communication (NX100)
 #               4) Jaroslav Stepanek via rt.cpan.org
 #               5) Nick Livchits private communication
+#               6) Sreerag Raghavan private communication (SM-C200)
 #               IB) Iliah Borg private communcation (LibRaw)
 #               NJ) Niels Kristian Bech Jensen private communication
 #------------------------------------------------------------------------------
@@ -21,7 +22,7 @@ use vars qw($VERSION %samsungLensTypes);
 use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Exif;
 
-$VERSION = '1.34';
+$VERSION = '1.37';
 
 sub WriteSTMN($$$);
 sub ProcessINFO($$$);
@@ -133,6 +134,7 @@ my %formatMinMax = (
     },
     0x0002 => {
         Name => 'DeviceType',
+        Groups => { 2 => 'Camera' },
         Writable => 'int32u',
         PrintHex => 1,
         PrintConv => {
@@ -145,6 +147,7 @@ my %formatMinMax = (
     },
     0x0003 => {
         Name => 'SamsungModelID',
+        Groups => { 2 => 'Camera' },
         Writable => 'int32u',
         PrintHex => 1,
         PrintConv => {
@@ -156,11 +159,14 @@ my %formatMinMax = (
             0x1001234 => 'HMX-H304',
             0x100130c => 'NX100',
             0x1001327 => 'NX11',
+            0x170104b => 'ES65, ES67 / VLUU ES65, ES67 / SL50',
             0x170104e => 'ES70, ES71 / VLUU ES70, ES71 / SL600',
             0x1701052 => 'ES73 / VLUU ES73 / SL605',
+            0x1701055 => 'ES25, ES27 / VLUU ES25, ES27 / SL45',
             0x1701300 => 'ES28 / VLUU ES28',
             0x1701303 => 'ES74,ES75,ES78 / VLUU ES75,ES78',
             0x2001046 => 'PL150 / VLUU PL150 / TL210 / PL151',
+            0x2001048 => 'PL100 / TL205 / VLUU PL100 / PL101',
             0x2001311 => 'PL120,PL121 / VLUU PL120,PL121',
             0x2001315 => 'PL170,PL171 / VLUUPL170,PL171',
             0x200131e => 'PL210, PL211 / VLUU PL210, PL211',
@@ -170,7 +176,9 @@ my %formatMinMax = (
            #0x3000000 => 'DV150F / DV151F / DV155F',
            #0x3000000 => 'NX mini',
            #0x3000000 => 'NX3000',
+           #0x3000000 => 'NX3300',
            #0x3000000 => 'ST150F / ST151F / ST152F',
+           #0x3000000 => 'WB200F / WB201F / WB202F',
            #0x3000000 => 'WB250F / WB251F / WB252F',
            #0x3000000 => 'WB30F / WB31F / WB32F',
            #0x3000000 => 'WB350F / WB351F / WB352F',
@@ -178,6 +186,7 @@ my %formatMinMax = (
             0x3a00018 => 'Various Models (0x3a00018)',
            #0x3a00018 => 'ES30 / VLUU ES30',
            #0x3a00018 => 'ES80 / ES81',
+           #0x3a00018 => 'ES9 / ES8',
            #0x3a00018 => 'PL200 / VLUU PL200',
            #0x3a00018 => 'PL80 / VLUU PL80 / SL630 / PL81',
            #0x3a00018 => 'PL90 / VLUU PL90',
@@ -216,6 +225,8 @@ my %formatMinMax = (
            #0x5001038 => 'NX2000',
            #0x5001038 => 'NX30',
            #0x5001038 => 'NX300',
+           #0x5001038 => 'NX500',
+           #0x5001038 => 'SM-C200',
            #0x5001038 => 'WB2000',
             0x500103a => 'WB650 / VLUU WB650 / WB660',
             0x500103c => 'WB600 / VLUU WB600 / WB610',
@@ -232,7 +243,33 @@ my %formatMinMax = (
     # 0x000c - int32u ? values: 0,1
     # 0x000e - int32u[2] (SoundMultiPicture?)
     # 0x0010 - rational64u ? values: undef,inf
-    # 0x0020 - int16u[2] (ColorInfoDCM?)
+    0x0011 => { #6
+        Name => 'OrientationInfo',
+        SubDirectory => { TagTable => 'Image::ExifTool::Samsung::OrientationInfo' },
+    },
+    0x0020 => [{ #forum7685
+        Name => 'SmartAlbumColor',
+        Condition => '$$valPt =~ /^\0{4}/',
+        Writable => 'int16u',
+        Count => 2,
+        PrintConv => {
+            '0 0' => 'n/a',
+        },
+    },{
+        Name => 'SmartAlbumColor',
+        Writable => 'int16u',
+        Count => 2,
+        PrintConv => [{
+            0 => 'Red',
+            1 => 'Yellow',
+            2 => 'Green',
+            3 => 'Blue',
+            4 => 'Magenta',
+            5 => 'Black',
+            6 => 'White',
+            7 => 'Various',
+        }],
+    }],
     0x0021 => { #1
         Name => 'PictureWizard',
         Writable => 'int16u',
@@ -245,6 +282,7 @@ my %formatMinMax = (
     # 0x002f - string (GPSInfo01?)
     0x0030 => { #1 (NX100 with GPS)
         Name => 'LocalLocationName',
+        Groups => { 2 => 'Location' },
         Writable => 'string',
         Format => 'undef',
         # this contains 2 place names (in Korean if in Korea), separated by a null+space
@@ -254,6 +292,7 @@ my %formatMinMax = (
     },
     0x0031 => { #1 (NX100 with GPS)
         Name => 'LocationName',
+        Groups => { 2 => 'Location' },
         Writable => 'string',
     },
     # 0x0032 - string (GPSInfo03)
@@ -276,19 +315,41 @@ my %formatMinMax = (
     # 0x003d - int16u[5] (SmartCropInfo?)
     # 0x003e - int32u (DualCapture?)
     # 0x003f - int16u[2] (SGIFInfo?)
-    # 0x0040 - int32u (FavoriteTagging?) values: 0
+    0x0040 => { #forum7432
+        Name => 'RawDataByteOrder',
+        PrintConv => {
+            0 => 'Little-endian (Intel, II)',
+            1 => 'Big-endian (Motorola, MM)', #(NC)
+        },
+    },
+    0x0041 => { #forum7684
+        Name => 'WhiteBalanceSetup',
+        Writable => 'int32u',
+        PrintConv => {
+            0 => 'Auto',
+            1 => 'Manual',
+        },
+    },
     0x0043 => { #1 (NC)
         Name => 'CameraTemperature',
         Groups => { 2 => 'Camera' },
         Writable => 'rational64s',
         # (DPreview samples all 0.2 C --> pre-production model)
-        PrintConv => '"$val C"',
+        PrintConv => '$val =~ /\d/ ? "$val C" : $val',
         PrintConvInv => '$val=~s/ ?C//; $val',
     },
-    0x0045 => { Name => 'RawCompressionMode', Writable => 'int32u' },
+    # 0x0045 => { Name => 'RawCompressionMode', Writable => 'int32u' }, # (related to ExposureMode, not raw compresison? ref forum7432)
     # 0x004a - int32u[7] (ImageVerification?)
     # 0x004b - int32u[2] (RewindInfo?)
-    # 0x0050 - int32u (ColorSpace? - inconsistent) values: 1
+    # 0x0050 - int32u (ColorSpace? - inconsistent) values: 1 (related to compression mode, ref forum7432)
+    0x0050 => { #forum7432
+        Name => 'RawDataCFAPattern',
+        PrintConv => {
+            0 => 'Unchanged',
+            1 => 'Swap',
+            65535 => 'Roll',
+        },
+    },
     # 0x0054 - int16u[2] (WeatherInfo?)
     # 0x0060 - undef (AEInfo?)
     # 0x0080 - undef (AFInfo?)
@@ -304,14 +365,14 @@ my %formatMinMax = (
     0x0100 => {
         Name => 'FaceDetect',
         Writable => 'int16u',
-        PrintConv => { 0 => 'Off', 1 => 'On' }, # (NC)
+        PrintConv => { 0 => 'Off', 1 => 'On' }, #(NC)
     },
     # 0x0101 - int16u[6] (FaceDetectInfo?)
     # 0x0102 - int16u[x] (FaceDetectInfo?)
     0x0120 => {
         Name => 'FaceRecognition',
         Writable => 'int32u',
-        PrintConv => { 0 => 'Off', 1 => 'On' }, # (NC)
+        PrintConv => { 0 => 'Off', 1 => 'On' }, #(NC)
     },
     0x0123 => { Name => 'FaceName', Writable => 'string' },
     # 0x140 - undef (LensInfo?)
@@ -339,6 +400,7 @@ my %formatMinMax = (
     },
     0xa005 => {
         Name => 'InternalLensSerialNumber', # Not the printed serial number (ref 1)
+        Groups => { 2 => 'Camera' },
         Writable => 'string',
     },
     0xa010 => { #1
@@ -373,7 +435,7 @@ my %formatMinMax = (
         Name => 'ExposureTime',
         Writable => 'rational64u',
         PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
     },
     0xa019 => { #1
         Name => 'FNumber',
@@ -611,6 +673,31 @@ my %formatMinMax = (
     # 0xa061 - int16u (Compression?)
 );
 
+# orientation information (ref 6)
+%Image::ExifTool::Samsung::OrientationInfo = (
+    PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
+    WRITE_PROC => \&Image::ExifTool::WriteBinaryData,
+    CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
+    WRITABLE => 1,
+    FORMAT => 'rational64s',
+    FIRST_ENTRY => 0,
+    GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
+    NOTES => 'Camera orientation information written by the Gear 360 (SM-C200).',
+    0 => {
+        Name => 'YawAngle', #(NC)
+        Unknown => 1,
+        Notes => 'always zero',
+    },
+    1 => {
+        Name => 'PitchAngle',
+        Notes => 'upward tilt of rear camera in degrees',
+    },
+    2 => {
+        Name => 'RollAngle',
+        Notes => 'clockwise rotation of rear camera in degrees',
+    },
+);
+
 # Picture Wizard information (ref 1)
 %Image::ExifTool::Samsung::PictureWizard = (
     PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
@@ -690,7 +777,7 @@ my %formatMinMax = (
         Description => 'Camera Model Name',
         Format => 'string[16]',
     },
-    0x2e => { # (NC)
+    0x2e => { #(NC)
         Name => 'ExposureTime',
         Format => 'int32u',
         ValueConv => '$val ? 10 / $val : 0',
@@ -701,7 +788,7 @@ my %formatMinMax = (
         Format => 'rational64u',
         PrintConv => 'sprintf("%.1f",$val)',
     },
-    0x3a => { # (NC)
+    0x3a => { #(NC)
         Name => 'ExposureCompensation',
         Format => 'rational64s',
         PrintConv => '$val ? sprintf("%+.1f", $val) : 0',
@@ -1170,8 +1257,9 @@ under the same terms as Perl itself.
 
 =head1 ACKNOWLEDGEMENTS
 
-Thanks to Tae-Sun Park for decoding a number of tags, and Pascal de Bruijn
-for the PictureWizard values.
+Thanks to Tae-Sun Park for decoding a number of tags, Pascal de Bruijn for
+the PictureWizard values, and everyone else who helped by discovering new
+Samsung information.
 
 =head1 SEE ALSO
 
diff --git a/lib/Image/ExifTool/Shift.pl b/lib/Image/ExifTool/Shift.pl
index 464e175..ff77847 100644
--- a/lib/Image/ExifTool/Shift.pl
+++ b/lib/Image/ExifTool/Shift.pl
@@ -470,7 +470,38 @@ Image::ExifTool::Shift.pl - ExifTool time shifting routines
 This module contains routines used by ExifTool to shift date and time
 values.
 
-=head1 DETAILS
+=head1 METHODS
+
+=head2 ShiftTime
+
+Shift date/time value
+
+    use Image::ExifTool;
+    $err = Image::ExifTool::ShiftTime($dateTime, $shift);
+
+=over 4
+
+=item Inputs:
+
+0) Date/time string in EXIF format (eg. C<2016:01:30 11:45:00>).
+
+1) Shift string (see below) with optional leading sign for shift direction.
+
+2) [optional] Direction of shift (-1 or +1), or 0 or undef to use the sign
+from the shift string.
+
+3) [optional] Reference to time-shift hash -- filled in by first call to
+B<ShiftTime>, and used in subsequent calls to shift date/time values by the
+same relative amount (see L</TRICKY> section below).
+
+=item Return value:
+
+Error string, or undef on success and the input date/time string is shifted
+by the specified amount.
+
+=back
+
+=head1 SHIFT STRING
 
 Time shifts are applied to standard EXIF-formatted date/time values (eg.
 C<2005:03:14 18:55:00>).  Date-only and time-only values may also be
diff --git a/lib/Image/ExifTool/Sigma.pm b/lib/Image/ExifTool/Sigma.pm
index f56f4ac..f573be3 100644
--- a/lib/Image/ExifTool/Sigma.pm
+++ b/lib/Image/ExifTool/Sigma.pm
@@ -19,7 +19,7 @@ use strict;
 use vars qw($VERSION %sigmaLensTypes);
 use Image::ExifTool::Exif;
 
-$VERSION = '1.20';
+$VERSION = '1.22';
 
 # sigma LensType lookup (ref IB)
 %sigmaLensTypes = (
@@ -385,7 +385,7 @@ $VERSION = '1.20';
             ValueConvInv => 'IsFloat($val) ? sprintf("Chro:%+.1f",$val) : undef',
         },
         # the SD1 writes something else here (rational64s, value 0/10)
-        # (but we can't test by model becaues Sigma Photo Pro writes this too)
+        # (but we can't test by model because Sigma Photo Pro writes this too)
     ],
     0x001b => [ #PH
         {
@@ -448,7 +448,7 @@ $VERSION = '1.20';
     # 0x001e - int16u: 0, 4, 13 - flash mode for other models?
     0x001e => { #PH
         Name => 'PreviewImageSize',
-        Condition => '$$self{Model} =~ /^SIGMA (DP\d (Merrill|Quattro))$/i',
+        Condition => '$$self{Model} =~ /^(SIGMA (DP\d (Merrill|Quattro))|sd Quattro)$/i',
         Notes => 'only valid for some models',
         Writable => 'int16u',
         Count => 2,
@@ -568,7 +568,7 @@ $VERSION = '1.20';
         Notes => 'models other than the SD1 and Merrill/Quattro models',
         Writable => 'rational64u',
         PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
         Priority => 0,
     },
     0x0033 => { #PH
@@ -649,7 +649,7 @@ $VERSION = '1.20';
         Notes => 'SD1 and Merrill/Quattro models only',
         Writable => 'rational64u',
         PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
         Priority => 0,
     },
     0x004b => [{ #PH
@@ -712,6 +712,12 @@ $VERSION = '1.20';
         # seen: Standard, Landscape,Monochrome,Neutral,Portrait,Sepia,Vivid
     },
     # 0x005a/b/c - rational64s: 0/10 for the SD1
+    0x0084 => { #PH
+        Name => 'Model',
+        Description => 'Camera Model Name',
+        Writable => 'string',
+    },
+    # 0x0085
 );
 
 1;  # end
diff --git a/lib/Image/ExifTool/Sony.pm b/lib/Image/ExifTool/Sony.pm
index 6a6d64a..b83b64d 100644
--- a/lib/Image/ExifTool/Sony.pm
+++ b/lib/Image/ExifTool/Sony.pm
@@ -31,7 +31,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
 use Image::ExifTool::Exif;
 use Image::ExifTool::Minolta;
 
-$VERSION = '2.41';
+$VERSION = '2.46';
 
 sub ProcessSRF($$$);
 sub ProcessSR2($$$);
@@ -69,8 +69,9 @@ my %sonyLensTypes2 = (
     32787 => 'Sony E 18-200mm F3.5-6.3 OSS',    # VX9103
     32788 => 'Sony E 30mm F3.5 Macro',          # VX9104
     32789 => 'Sony E 24mm F1.8 ZA or Samyang AF 50mm F1.4 FE', # VX9105
-    32789.1 => 'Samyang AF 50mm F1.4 FE', 
-    32790 => 'Sony E 50mm F1.8 OSS',            # VX9106
+    32789.1 => 'Samyang AF 50mm F1.4 FE',
+    32790 => 'Sony E 50mm F1.8 OSS or Samyang AF 14mm F2.8 FE', # VX9106
+    32790.1 => 'Samyang AF 14mm F2.8 FE',
     32791 => 'Sony E 16-70mm F4 ZA OSS',        # VX9107
     32792 => 'Sony E 10-18mm F4 OSS',           # VX9108
     32793 => 'Sony E PZ 16-50mm F3.5-5.6 OSS',  # VX9109
@@ -90,7 +91,7 @@ my %sonyLensTypes2 = (
 
     32810 => 'Sony FE 70-200mm F4 G OSS', #JR   # VX9126
     32811 => 'Sony FE 16-35mm F4 ZA OSS', #JR   # VX9127
-
+    32812 => 'Sony FE 50mm F2.8 Macro', #JR
     32813 => 'Sony FE 28-70mm F3.5-5.6 OSS',    # VX9129
     32814 => 'Sony FE 35mm F1.4 ZA',            # VX?
     32815 => 'Sony FE 24-240mm F3.5-6.3 OSS',   # VX?
@@ -107,6 +108,9 @@ my %sonyLensTypes2 = (
     32828 => 'Sony FE 70-300mm F4.5-5.6 G OSS', #JR
     32830 => 'Sony FE 70-200mm F2.8 GM OSS', #JR
 
+    33072 => 'Sony FE 70-200mm F2.8 GM OSS + 1.4X Teleconverter', #JR
+    33073 => 'Sony FE 70-200mm F2.8 GM OSS + 2X Teleconverter', #JR
+
     49201 => 'Zeiss Touit 12mm F2.8', #JR (lens firmware Ver.02)
     49202 => 'Zeiss Touit 32mm F1.8', #JR (lens firmware Ver.02)
     49203 => 'Zeiss Touit 50mm F2.8 Macro', #JR (lens firmware Ver.02)
@@ -116,6 +120,7 @@ my %sonyLensTypes2 = (
     49232 => 'Zeiss Loxia 50mm F2', #JR (lens firmware Ver.02)
     49233 => 'Zeiss Loxia 35mm F2', #JR (lens firmware Ver.02)
     49234 => 'Zeiss Loxia 21mm F2.8', #PH
+    49235 => 'Zeiss Loxia 85mm F2.4', #JR
 
     50480 => 'Sigma 30mm F1.4 DC DN | C 016', #IB/JR
     50481 => 'Sigma 50mm F1.4 DG HSM | A 014 + MC-11', #JR
@@ -131,9 +136,11 @@ my %sonyLensTypes2 = (
     50493 => 'Sigma 17-70mm F2.8-4 DC MACRO OS HSM | C 013 + MC-11', #JR
     50495 => 'Sigma 50-100mm F1.8 DC HSM | A 016 + MC-11', #JR
 
+    50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
+    50994 => 'Voigtlander HELIAR-HYPER WIDE 12mm F5.6 III Aspherical', #IB (LensType2 has this value, but unfortunately LensType3 is 50993 for this lens!)
+
     # lenses listed in the Sigma MC-11 list, but not yet seen:
     # 504xx => 'Sigma 18-200mm F3.5-6.3 DC MACRO OS HSM | C 014 + MC-11',
-    # 504xx => 'Sigma 18-300mm F3.5-6.3 DC MACRO OS HSM | C 014 + MC-11',
     # 504xx => 'Sigma 24mm F1.4 DG HSM | A 015 + MC-11',
     # 504xx => 'Sigma 30mm F1.4 DC HSM | A 013 + MC-11',
 );
@@ -1002,7 +1009,7 @@ my %meterInfo2 = (
         Writable => 'int8u',
         PrintConvColumns => 2,
         PrintConv => {
-            0 => 'Auto', # (NC)
+            0 => 'Auto', #(NC)
             1 => 'Center',
             2 => 'Top',
             3 => 'Upper-right',
@@ -1295,8 +1302,8 @@ my %meterInfo2 = (
         #     PrintConv => {
         #         0 => 'Disabled', # seen for Panorama images
         #         1 => 'Auto',
-        #         3 => 'Lv1', #NC
-        #         4 => 'Lv2', #NC
+        #         3 => 'Lv1', #(NC)
+        #         4 => 'Lv2', #(NC)
         #         5 => 'Lv3',
         #         6 => 'Lv4',
         #         7 => 'Lv5',
@@ -1546,7 +1553,9 @@ my %meterInfo2 = (
             347 => 'ILCE-7RM2', #JR
             350 => 'ILCE-7SM2', #JR
             353 => 'ILCA-68', #IB
+            354 => 'ILCA-99M2', #JR
             355 => 'DSC-RX10M3', #PH
+            356 => 'DSC-RX100M5', #IB/JR
             357 => 'ILCE-6300', #IB
         },
     },
@@ -1794,7 +1803,7 @@ my %meterInfo2 = (
         PrintConv => {
             0 => 'Multi',
             1 => 'Center',
-            2 => 'Spot', # (NC) seen for DSC-WX9
+            2 => 'Spot', #(NC) seen for DSC-WX9
             3 => 'Flexible Spot',
             10 => 'Selective (for Miniature effect)', # seen for Miniature effect of DSC-WX30
             14 => 'Tracking',
@@ -2090,21 +2099,21 @@ my %meterInfo2 = (
             1 => 'Left',
             2 => 'Lower-left',
             3 => 'Far Left',
-            4 => 'Bottom Assist-left', #NC
+            4 => 'Bottom Assist-left', #(NC)
             5 => 'Bottom',
-            6 => 'Bottom Assist-right', #NC
+            6 => 'Bottom Assist-right', #(NC)
             # values 7-14: 8 center points: 4 from double-cross + 4 assist; 7-10 appear horizontal, 11-14 vertical
-            7  => 'Center (7)', #NC
+            7  => 'Center (7)', #(NC)
             8  => 'Center (horizontal)',
-            9  => 'Center (9)', #NC
-            10 => 'Center (10)', #NC
-            11 => 'Center (11)', #NC
-            12 => 'Center (12)', #NC
+            9  => 'Center (9)', #(NC)
+            10 => 'Center (10)', #(NC)
+            11 => 'Center (11)', #(NC)
+            12 => 'Center (12)', #(NC)
             13 => 'Center (vertical)',
-            14 => 'Center (14)', #NC
-            15 => 'Top Assist-left', #NC
+            14 => 'Center (14)', #(NC)
+            15 => 'Top Assist-left', #(NC)
             16 => 'Top',
-            17 => 'Top Assist-right', #NC
+            17 => 'Top Assist-right', #(NC)
             18 => 'Far Right',
             19 => 'Upper-right',
             20 => 'Right',
@@ -2931,7 +2940,7 @@ my %meterInfo2 = (
             18 => 'AF-C',
             19 => 'AF-A',
             32 => 'Manual',
-            48 => 'DMF', # (NC) (seen for NEX-5)
+            48 => 'DMF', #(NC) (seen for NEX-5)
         },
     },
     0x15 => {
@@ -4480,7 +4489,7 @@ my %faceInfo = (
             18 => 'AF-C',
             19 => 'AF-A',
             32 => 'Manual',
-            48 => 'DMF', # (NC) (seen for NEX-5)
+            48 => 'DMF', #(NC) (seen for NEX-5)
         },
     },
     0x07 => { #JR
@@ -5019,7 +5028,7 @@ my %faceInfo = (
         Condition => '$$self{Model} =~ /^DSLR-(A450|A500|A550)$/',
         Notes => 'A450, A500 and A550',
         Format => 'int16u',
-        Mask => 0x03ff, # (NC)
+        Mask => 0x03ff, #(NC)
         PrintConv => 'sprintf("%.3d",$val)',
         PrintConvInv => '$val',
     },
@@ -5050,7 +5059,7 @@ my %faceInfo = (
         Name => 'LensType2',
         Condition => '($$self{Model} =~ /^NEX-/) and ($$self{LensMount} != 1)',
         Format => 'int16u',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     0x400 => { #JR
@@ -5066,7 +5075,7 @@ my %faceInfo = (
         Name => 'FolderNumber',
         Condition => '$$self{Model} =~ /^DSLR-(A450|A500|A550)$/',
         Format => 'int16u',
-        Mask => 0x03ff, # (NC)
+        Mask => 0x03ff, #(NC)
         Notes => 'A450, A500 and A550',
         PrintConv => 'sprintf("%.3d",$val)',
         PrintConvInv => '$val',
@@ -5333,7 +5342,7 @@ my %faceInfo = (
             0x00 =>  'Horizontal (normal)',
             0x40 =>  'Rotate 90 CW',
             0x80 =>  'Rotate 270 CW',
-            0xc0 =>  'Rotate 180', # (NC)
+            0xc0 =>  'Rotate 180', #(NC)
         },
 
     }],
@@ -6009,7 +6018,7 @@ my %pictureProfile2010 = (
         Name => 'LensType2',
         Condition => '$$self{LensMount} == 2',
         Format => 'int16u',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     0x1896 => {
@@ -6200,7 +6209,7 @@ my %pictureProfile2010 = (
         Name => 'LensType2',
         Condition => '$$self{LensMount} == 2',
         Format => 'int16u',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     0x18c2 => {
@@ -6316,7 +6325,7 @@ my %pictureProfile2010 = (
         Name => 'LensType2',
         Condition => '$$self{LensMount} == 2',
         Format => 'int16u',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     0x18f2 => {
@@ -6593,13 +6602,13 @@ my %pictureProfile2010 = (
         %releaseMode2,
     },
     0x007c => { #JR valid for ILCE and most NEX
-        Name => 'InternalSerialNumber', # (NC)
+        Name => 'InternalSerialNumber', #(NC)
         Condition => '$$self{Model} !~ /^(DSC-|Stellar|Lunar|NEX-(5N|7|VG20E)|SLT-|HV|ILCA-|ILCE-(6300|7RM2|7SM2))/',
         Format => 'int8u[4]',
         PrintConv => 'unpack "H*", pack "C*", split " ", $val',
     },
     0x00f0 => { #JR valid for SLT/ILCA models
-        Name => 'InternalSerialNumber', # (NC)
+        Name => 'InternalSerialNumber', #(NC)
         Condition => '$$self{Model} =~ /^(SLT-|HV|ILCA-)/',
         Format => 'int8u[5]',
         PrintConv => 'unpack "H*", pack "C*", split " ", $val',
@@ -6686,7 +6695,7 @@ my %pictureProfile2010 = (
         %releaseMode2,
     },
     0x0088 => {
-        Name => 'InternalSerialNumber', # (NC)
+        Name => 'InternalSerialNumber', #(NC)
         Condition => '$$self{Model} =~ /^(ILCE-(6300|7RM2|7SM2))/',
         Format => 'int8u[6]',
         PrintConv => 'unpack "H*", pack "C*", split " ", $val',
@@ -6718,7 +6727,7 @@ my %pictureProfile2010 = (
         Name => 'LensType2',
         Condition => '$$self{LensMount} == 2',
         Format => 'int16u',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     # 0x0108 - 128 for Sony E-mount lenses, 0 for all other
@@ -7108,7 +7117,7 @@ my %pictureProfile2010 = (
         PrintConv => {
             0 => 'Multi', # newer DSC/ILC use name 'Wide'
             1 => 'Center',
-            2 => 'Spot', # (NC) seen for DSC-WX300
+            2 => 'Spot', #(NC) seen for DSC-WX300
             3 => 'Flexible Spot',
             10 => 'Selective (for Miniature effect)', # seen for DSC-HX30V,TX30,WX60,WX100
             11 => 'Zone', #JR (ILCE-7 series)
@@ -7283,7 +7292,7 @@ my %pictureProfile2010 = (
         Condition => '$$self{LensMount} == 2',
         Format => 'int16u',
         Notes => 'E-mount lenses',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     0x0608 => {
@@ -7343,7 +7352,7 @@ my %pictureProfile2010 = (
         Name => 'ExposureTime',
         Format => 'rational32u',
         PrintConv => '$val ? Image::ExifTool::Exif::PrintExposureTime($val) : "Bulb"', # (Bulb NC)
-        PrintConvInv => 'lc($val) eq "bulb" ? 0 : Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => 'lc($val) eq "bulb" ? 0 : $val',
     },
     0x0014 => { # but often odd results for DSC models: exclude
         Name => 'SonyFNumber',
@@ -7438,7 +7447,7 @@ my %pictureProfile2010 = (
         Condition => '$$self{LensMount} == 2',
         Format => 'int16u',
         Notes => 'E-mount lenses',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     0x0062 => {
@@ -7608,7 +7617,7 @@ my %pictureProfile2010 = (
         Name => 'LensType3',
         RawConv => '(($$self{LensMount} != 0) or ($val > 0 and $val < 32784)) ? $val : undef',
         Format => 'int16u',
-        SeparateTable => 1,
+        SeparateTable => 'LensType2',
         PrintConv => \%sonyLensTypes2,
     },
     0x000b => {
@@ -7928,7 +7937,7 @@ my %pictureProfile2010 = (
             1 => 'Center',
             2 => 'Flexible Spot',
             3 => 'Zone',
-            4 => 'Expanded Flexible Spot', # (NC)
+            4 => 'Expanded Flexible Spot', #(NC)
         },
     },
     0x003b => {
@@ -8298,7 +8307,7 @@ my %pictureProfile2010 = (
         rotation -- the width is always the longer dimension.
     },
     # 0: 257 for panorama images, 0 for all other images (ref JR)
-    1 => 'PanoramaFullWidth', # (including black/grey borders)
+    1 => 'PanoramaFullWidth', # (including black/gray borders)
     2 => 'PanoramaFullHeight',
     3 => {
         Name => 'PanoramaDirection',
@@ -8307,7 +8316,7 @@ my %pictureProfile2010 = (
             1 => 'Right or Down',
         },
     },
-    # crop area to remove black/grey borders from full image
+    # crop area to remove black/gray borders from full image
     4 => 'PanoramaCropLeft',
     5 => 'PanoramaCropTop', #PH guess (NC)
     6 => 'PanoramaCropRight',
@@ -8508,6 +8517,7 @@ my %pictureProfile2010 = (
     0x782c => 'WB_RGBLevels3200K', #IB
     0x782d => 'WB_RGBLevels2500K', #IB
     0x787f => 'WhiteLevel', #IB (divide by 4)
+    0x797d => 'LightFalloffParams', #forum7640
     0x7980 => 'ChromaticAberrationCorrParams', #forum6509 (Sony A7 ARW)
     0x7982 => 'DistortionCorrParams', #forum6509 (Sony A7 ARW)
 );
diff --git a/lib/Image/ExifTool/TagLookup.pm b/lib/Image/ExifTool/TagLookup.pm
index a651775..2dae7ac 100644
--- a/lib/Image/ExifTool/TagLookup.pm
+++ b/lib/Image/ExifTool/TagLookup.pm
@@ -17,7 +17,7 @@ require Exporter;
 use vars qw($VERSION @ISA @EXPORT_OK);
 use Image::ExifTool qw(:Utils);
 
-$VERSION = '1.13';
+$VERSION = '1.14';
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(FindTagInfo TagExists);
 
@@ -58,7 +58,9 @@ my @tableList = (
 	'Image::ExifTool::Canon::CameraInfo650D',
 	'Image::ExifTool::Canon::CameraInfo6D',
 	'Image::ExifTool::Canon::CameraInfo70D',
+	'Image::ExifTool::Canon::CameraInfo750D',
 	'Image::ExifTool::Canon::CameraInfo7D',
+	'Image::ExifTool::Canon::CameraInfo80D',
 	'Image::ExifTool::Canon::CameraInfoPowerShot',
 	'Image::ExifTool::Canon::CameraInfoPowerShot2',
 	'Image::ExifTool::Canon::CameraInfoUnknown',
@@ -276,10 +278,12 @@ my @tableList = (
 	'Image::ExifTool::NikonCustom::SettingsD3',
 	'Image::ExifTool::NikonCustom::SettingsD4',
 	'Image::ExifTool::NikonCustom::SettingsD40',
+	'Image::ExifTool::NikonCustom::SettingsD5',
 	'Image::ExifTool::NikonCustom::SettingsD500',
 	'Image::ExifTool::NikonCustom::SettingsD5000',
 	'Image::ExifTool::NikonCustom::SettingsD5100',
 	'Image::ExifTool::NikonCustom::SettingsD5200',
+	'Image::ExifTool::NikonCustom::SettingsD610',
 	'Image::ExifTool::NikonCustom::SettingsD700',
 	'Image::ExifTool::NikonCustom::SettingsD7000',
 	'Image::ExifTool::NikonCustom::SettingsD80',
@@ -372,6 +376,7 @@ my @tableList = (
 	'Image::ExifTool::Ricoh::Subdir',
 	'Image::ExifTool::Ricoh::ThetaSubdir',
 	'Image::ExifTool::Samsung::Main',
+	'Image::ExifTool::Samsung::OrientationInfo',
 	'Image::ExifTool::Samsung::PictureWizard',
 	'Image::ExifTool::Samsung::Type2',
 	'Image::ExifTool::Sanyo::FaceInfo',
@@ -474,4695 +479,4751 @@ my @tableList = (
 
 # lookup for all writable tags
 my %tagLookup = (
-	'aberrationcorrectiondistance' => { 98 => 0x69 },
-	'about' => { 426 => 'about' },
-	'aboutcvterm' => { 418 => 'AboutCvTerm' },
-	'aboutcvtermcvid' => { 418 => [\'AboutCvTerm','AboutCvTermCvId'] },
-	'aboutcvtermid' => { 418 => [\'AboutCvTerm','AboutCvTermCvTermId'] },
-	'aboutcvtermname' => { 418 => [\'AboutCvTerm','AboutCvTermCvTermName'] },
-	'aboutcvtermrefinedabout' => { 418 => [\'AboutCvTerm','AboutCvTermCvTermRefinedAbout'] },
-	'abspeakaudiofilepath' => { 432 => 'absPeakAudioFilePath' },
-	'accelerationtracking' => { 73 => 0x518 },
-	'accelerometer' => { 338 => 0x3 },
-	'accelerometerx' => { 276 => 0x8d },
-	'accelerometery' => { 276 => 0x8e },
-	'accelerometerz' => { 276 => 0x8c },
-	'accessoryserialnumber' => { 276 => 0x54 },
-	'accessorytype' => { 276 => 0x53 },
-	'acedemicfield' => { 422 => 'acedemicField' },
-	'actionadvised' => { 115 => 0x2a },
-	'activearea' => { 107 => 0xc68d },
-	'actived-lighting' => { 196 => 0x22, 232 => 0x24 },
-	'actived-lightingmode' => { 232 => 0x25 },
-	'adaptervoltage' => { 121 => 0x407 },
-	'addaspectratioinfo' => { 73 => 0x80e },
-	'additionalmodelinformation' => { 418 => 'AddlModelInfo' },
-	'addoriginaldecisiondata' => { 73 => 0x80f, 74 => 0x11, 75 => 0x13, 78 => 0x14 },
-	'address' => { 142 => 'Address' },
-	'adjustmentmode' => { 344 => 0x15 },
-	'adlbracketingstep' => { 214 => 0x883 },
-	'adlbracketingtype' => { 214 => 0x884 },
-	'adobe' => { 108 => 'Adobe' },
-	'adultcontentwarning' => { 265 => 'AdultContentWarning', 425 => 'adultContentWarning' },
-	'advancedfilter' => { 112 => 0x1201 },
-	'advancedraw' => { 234 => 0x76a43203 },
-	'advancedscenetype' => { 276 => 0x3d },
-	'advisory' => { 430 => 'Advisory' },
-	'ae_iso' => { 283 => 0x2, 284 => 0x4, 285 => 0x12 },
-	'aeaperture' => { 283 => 0x1, 284 => 0x3, 285 => 0x11 },
-	'aeaperturesteps' => { 283 => 0x8, 284 => 0xb },
-	'aebautocancel' => { 73 => 0x104 },
-	'aebbracketvalue' => { 67 => 0x11 },
-	'aebracketingsteps' => { 213 => 0x174c, 214 => 0x87b, 222 => 0x1756 },
-	'aebsequence' => { 73 => 0x105 },
-	'aebsequenceautocancel' => { 71 => 0x9, 72 => 0x9, 74 => 0x8, 75 => 0x9, 78 => 0x9, 79 => 0x7 },
-	'aebshotcount' => { 73 => 0x106 },
-	'aebxv' => { 283 => 0x4, 284 => 0x6 },
-	'aeerror' => { 284 => 0x8 },
-	'aeexposuretime' => { 283 => 0x0, 284 => 0x2, 285 => 0x10 },
-	'aelbutton' => { 162 => 0x45 },
-	'aelexposureindicator' => { 162 => 0x51 },
-	'aelock' => { 162 => 0x5b, 243 => '4.2', 250 => '4.2', 255 => 0x201, 310 => 0x48, 352 => 0x40, 353 => 0x40, 354 => [0x86,0x286] },
-	'aelockbutton' => { 241 => '16.1', 243 => '4.1', 245 => '15.1', 246 => '16.1', 247 => '16.1', 248 => '30.1', 249 => '16.1', 250 => '4.1', 252 => '17.1', 253 => '17.1' },
-	'aelockbuttonplusdials' => { 241 => '16.2', 248 => '32.1', 252 => '44.1' },
-	'aelockformb-d80' => { 253 => '3.1' },
-	'aemaxaperture' => { 283 => 0x9, 284 => 0x10, 285 => 0x1c },
-	'aemaxaperture2' => { 283 => 0xa, 284 => 0x11, 285 => 0x1d },
-	'aemeteringmode' => { 283 => 0xc },
-	'aemeteringmode2' => { 283 => '13.1' },
-	'aemeteringsegments' => { 165 => 0x628, 310 => 0x209 },
-	'aemicroadjustment' => { 73 => 0x110 },
-	'aeminaperture' => { 283 => 0xb, 284 => 0x12, 285 => 0x1e },
-	'aeminexposuretime' => { 283 => 0x5, 284 => 0x13, 285 => 0x1f },
-	'aeprogrammode' => { 283 => 0x6 },
-	'aeprojectlink' => { 407 => 'aeProjectLink' },
-	'aeprojectlinkcompositionid' => { 407 => [\'aeProjectLink','aeProjectLinkCompositionID'] },
-	'aeprojectlinkfullpath' => { 407 => [\'aeProjectLink','aeProjectLinkFullPath'] },
-	'aeprojectlinkrenderoutputmoduleindex' => { 407 => [\'aeProjectLink','aeProjectLinkRenderOutputModuleIndex'] },
-	'aeprojectlinkrenderqueueitemid' => { 407 => [\'aeProjectLink','aeProjectLinkRenderQueueItemID'] },
-	'aeprojectlinkrendertimestamp' => { 407 => [\'aeProjectLink','aeProjectLinkRenderTimeStamp'] },
-	'aesetting' => { 31 => 0x21 },
-	'aewhitebalance' => { 283 => 0xd },
-	'aexv' => { 283 => 0x3, 284 => 0x5 },
-	'af-cpriorityselection' => { 241 => '1.1', 242 => '1.1', 244 => '1.1', 246 => '0.1', 247 => '0.1', 248 => '1.1', 249 => '0.1', 252 => '1.1' },
-	'af-onbutton' => { 244 => '70.1' },
-	'af-onformb-d10' => { 241 => '3.3', 248 => '3.2' },
-	'af-onformb-d11' => { 249 => '2.2' },
-	'af-onformb-d12' => { 252 => '50.1' },
-	'af-spriorityselection' => { 241 => '1.2', 242 => '1.2', 244 => '1.4', 248 => '1.2', 249 => '0.2', 252 => '1.2' },
+	'aberrationcorrectiondistance' => { 100 => 0x69 },
+	'about' => { 431 => 'about' },
+	'aboutcvterm' => { 423 => 'AboutCvTerm' },
+	'aboutcvtermcvid' => { 423 => [\'AboutCvTerm','AboutCvTermCvId'] },
+	'aboutcvtermid' => { 423 => [\'AboutCvTerm','AboutCvTermCvTermId'] },
+	'aboutcvtermname' => { 423 => [\'AboutCvTerm','AboutCvTermCvTermName'] },
+	'aboutcvtermrefinedabout' => { 423 => [\'AboutCvTerm','AboutCvTermCvTermRefinedAbout'] },
+	'abspeakaudiofilepath' => { 437 => 'absPeakAudioFilePath' },
+	'acceleration' => { 109 => 0x9404 },
+	'accelerationtracking' => { 75 => 0x518 },
+	'accelerationvector' => { 1 => 0x8 },
+	'accelerometer' => { 342 => 0x3 },
+	'accelerometerx' => { 280 => 0x8d },
+	'accelerometery' => { 280 => 0x8e },
+	'accelerometerz' => { 280 => 0x8c },
+	'accessoryserialnumber' => { 280 => 0x54 },
+	'accessorytype' => { 280 => 0x53 },
+	'acedemicfield' => { 427 => 'acedemicField' },
+	'actionadvised' => { 117 => 0x2a },
+	'activearea' => { 109 => 0xc68d },
+	'actived-lighting' => { 198 => 0x22, 234 => 0x24 },
+	'actived-lightingmode' => { 234 => 0x25 },
+	'adaptervoltage' => { 123 => 0x407 },
+	'addaspectratioinfo' => { 75 => 0x80e },
+	'additionalmodelinformation' => { 423 => 'AddlModelInfo' },
+	'addoriginaldecisiondata' => { 75 => 0x80f, 76 => 0x11, 77 => 0x13, 80 => 0x14 },
+	'address' => { 144 => 'Address' },
+	'adjustmentmode' => { 349 => 0x15 },
+	'adlbracketingstep' => { 216 => 0x883 },
+	'adlbracketingtype' => { 216 => 0x884 },
+	'adobe' => { 110 => 'Adobe' },
+	'adultcontentwarning' => { 269 => 'AdultContentWarning', 430 => 'adultContentWarning' },
+	'advancedfilter' => { 114 => 0x1201 },
+	'advancedraw' => { 236 => 0x76a43203 },
+	'advancedscenetype' => { 280 => 0x3d },
+	'advisory' => { 435 => 'Advisory' },
+	'ae_iso' => { 287 => 0x2, 288 => 0x4, 289 => 0x12 },
+	'aeaperture' => { 287 => 0x1, 288 => 0x3, 289 => 0x11 },
+	'aeaperturesteps' => { 287 => 0x8, 288 => 0xb },
+	'aebautocancel' => { 75 => 0x104 },
+	'aebbracketvalue' => { 69 => 0x11 },
+	'aebracketingsteps' => { 215 => 0x174c, 216 => 0x87b, 224 => 0x1756 },
+	'aebsequence' => { 75 => 0x105 },
+	'aebsequenceautocancel' => { 73 => 0x9, 74 => 0x9, 76 => 0x8, 77 => 0x9, 80 => 0x9, 81 => 0x7 },
+	'aebshotcount' => { 75 => 0x106 },
+	'aebxv' => { 287 => 0x4, 288 => 0x6 },
+	'aeerror' => { 288 => 0x8 },
+	'aeexposuretime' => { 287 => 0x0, 288 => 0x2, 289 => 0x10 },
+	'aelbutton' => { 164 => 0x45 },
+	'aelexposureindicator' => { 164 => 0x51 },
+	'aelock' => { 164 => 0x5b, 245 => '4.2', 254 => '4.2', 259 => 0x201, 314 => 0x48, 357 => 0x40, 358 => 0x40, 359 => [0x86,0x286] },
+	'aelockbutton' => { 243 => '16.1', 245 => '4.1', 248 => '15.1', 249 => '16.1', 250 => '16.1', 252 => '30.1', 253 => '16.1', 254 => '4.1', 256 => '17.1', 257 => '17.1' },
+	'aelockbuttonplusdials' => { 243 => '16.2', 252 => '32.1', 256 => '44.1' },
+	'aelockformb-d80' => { 257 => '3.1' },
+	'aemaxaperture' => { 287 => 0x9, 288 => 0x10, 289 => 0x1c },
+	'aemaxaperture2' => { 287 => 0xa, 288 => 0x11, 289 => 0x1d },
+	'aemeteringmode' => { 287 => 0xc },
+	'aemeteringmode2' => { 287 => '13.1' },
+	'aemeteringsegments' => { 167 => 0x628, 314 => 0x209 },
+	'aemicroadjustment' => { 75 => 0x110 },
+	'aeminaperture' => { 287 => 0xb, 288 => 0x12, 289 => 0x1e },
+	'aeminexposuretime' => { 287 => 0x5, 288 => 0x13, 289 => 0x1f },
+	'aeprogrammode' => { 287 => 0x6 },
+	'aeprojectlink' => { 412 => 'aeProjectLink' },
+	'aeprojectlinkcompositionid' => { 412 => [\'aeProjectLink','aeProjectLinkCompositionID'] },
+	'aeprojectlinkfullpath' => { 412 => [\'aeProjectLink','aeProjectLinkFullPath'] },
+	'aeprojectlinkrenderoutputmoduleindex' => { 412 => [\'aeProjectLink','aeProjectLinkRenderOutputModuleIndex'] },
+	'aeprojectlinkrenderqueueitemid' => { 412 => [\'aeProjectLink','aeProjectLinkRenderQueueItemID'] },
+	'aeprojectlinkrendertimestamp' => { 412 => [\'aeProjectLink','aeProjectLinkRenderTimeStamp'] },
+	'aesetting' => { 33 => 0x21 },
+	'aewhitebalance' => { 287 => 0xd },
+	'aexv' => { 287 => 0x3, 288 => 0x5 },
+	'af-cpriorityselection' => { 243 => '1.1', 244 => '1.1', 246 => '1.1', 247 => '1.1', 249 => '0.1', 250 => '0.1', 251 => '0.1', 252 => '1.1', 253 => '0.1', 256 => '1.1' },
+	'af-onbutton' => { 246 => '70.1', 247 => '70.1' },
+	'af-onformb-d10' => { 243 => '3.3', 252 => '3.2' },
+	'af-onformb-d11' => { 253 => '2.2' },
+	'af-onformb-d12' => { 256 => '50.1' },
+	'af-spriorityselection' => { 243 => '1.2', 244 => '1.2', 246 => '1.4', 247 => '1.4', 251 => '0.2', 252 => '1.2', 253 => '0.2', 256 => '1.2' },
 	'afacceldeceltracking' => { 2 => 0x3 },
-	'afactivation' => { 241 => '2.1', 242 => '2.1', 244 => '78.3', 248 => '2.1', 252 => '2.1' },
-	'afadjustment' => { 310 => 0x72 },
-	'afandmeteringbuttons' => { 73 => 0x701 },
-	'afaperture' => { 192 => 0x5, 193 => 0x5 },
-	'afareaheight' => { 171 => 0x1a },
-	'afareaillumination' => { 162 => 0x4b, 250 => '15.3' },
-	'afareamode' => { 158 => 0x33, 162 => 0xe, 170 => 0x0, 171 => 0x5, 276 => 0xf, 335 => 0x1205, 345 => [0xa,0x3a], 352 => 0x11, 353 => 0x10, 354 => 0x24, 364 => 0xb043, 384 => 0x17 },
-	'afareamodesetting' => { 243 => '11.1', 245 => '0.1', 250 => '16.1', 253 => '2.1', 364 => 0x201c },
-	'afareas' => { 255 => 0x304 },
+	'afactivation' => { 243 => '2.1', 244 => '2.1', 246 => '78.3', 247 => '78.3', 252 => '2.1', 256 => '2.1' },
+	'afadjustment' => { 314 => 0x72 },
+	'afandmeteringbuttons' => { 75 => 0x701 },
+	'afaperture' => { 194 => 0x5, 195 => 0x5 },
+	'afareaheight' => { 173 => 0x1a },
+	'afareaillumination' => { 164 => 0x4b, 254 => '15.3' },
+	'afareamode' => { 160 => 0x33, 164 => 0xe, 172 => 0x0, 173 => 0x5, 280 => 0xf, 339 => 0x1205, 350 => [0xa,0x3a], 357 => 0x11, 358 => 0x10, 359 => 0x24, 369 => 0xb043, 389 => 0x17 },
+	'afareamodesetting' => { 245 => '11.1', 248 => '0.1', 254 => '16.1', 257 => '2.1', 369 => 0x201c },
+	'afareas' => { 259 => 0x304 },
 	'afareaselectionmethod' => { 2 => 0xd },
-	'afareaselectmethod' => { 73 => 0x51b },
-	'afareawidth' => { 171 => 0x18 },
-	'afareaxposition' => { 171 => 0x14, 335 => 0x1203 },
-	'afareaxposition1' => { 335 => 0x1201 },
-	'afareayposition' => { 171 => 0x16, 335 => 0x1204 },
-	'afareayposition1' => { 335 => 0x1202 },
-	'afassist' => { 71 => 0x5, 79 => 0x5, 162 => 0x48, 241 => '2.5', 243 => '0.2', 245 => '0.2', 246 => '1.1', 247 => '1.1', 248 => '2.4', 249 => '1.4', 250 => '0.2', 252 => '2.4', 253 => '2.3' },
-	'afassistbeam' => { 2 => 0x8, 73 => 0x50e, 74 => 0x4, 75 => 0x5, 76 => 0x4, 77 => 0x4, 78 => 0x5 },
-	'afassistlamp' => { 276 => 0x31 },
-	'afbuttonpressed' => { 354 => [0x83,0x283] },
+	'afareaselectmethod' => { 75 => 0x51b },
+	'afareawidth' => { 173 => 0x18 },
+	'afareaxposition' => { 173 => 0x14, 339 => 0x1203 },
+	'afareaxposition1' => { 339 => 0x1201 },
+	'afareayposition' => { 173 => 0x16, 339 => 0x1204 },
+	'afareayposition1' => { 339 => 0x1202 },
+	'afassist' => { 73 => 0x5, 81 => 0x5, 164 => 0x48, 243 => '2.5', 245 => '0.2', 248 => '0.2', 249 => '1.1', 250 => '1.1', 251 => '1.3', 252 => '2.4', 253 => '1.3', 254 => '0.2', 256 => '2.4', 257 => '2.3' },
+	'afassistbeam' => { 2 => 0x8, 75 => 0x50e, 76 => 0x4, 77 => 0x5, 78 => 0x4, 79 => 0x4, 80 => 0x5 },
+	'afassistlamp' => { 280 => 0x31 },
+	'afbuttonpressed' => { 359 => [0x83,0x283] },
 	'afconfigtool' => { 2 => 0x1 },
-	'afdefocus' => { 286 => 0x6 },
-	'afduringliveview' => { 73 => 0x511 },
-	'affinea' => { 401 => 'AffineA' },
-	'affineb' => { 401 => 'AffineB' },
-	'affinec' => { 401 => 'AffineC' },
-	'affined' => { 401 => 'AffineD' },
-	'affinetune' => { 172 => 0x0, 255 => 0x306 },
-	'affinetuneadj' => { 172 => 0x2, 206 => 0x2d1, 207 => 0x2dc, 255 => 0x307 },
-	'affinetuneindex' => { 172 => 0x1 },
-	'affinex' => { 401 => 'AffineX' },
-	'affiney' => { 401 => 'AffineY' },
-	'afhold' => { 286 => 0x1fd },
-	'afilluminator' => { 352 => 0x29, 364 => 0xb044 },
-	'afimageheight' => { 171 => 0x12 },
-	'afimagewidth' => { 171 => 0x10 },
-	'afintegrationtime' => { 286 => 0x7 },
-	'afmicroadj' => { 345 => [0x17d,0x50] },
-	'afmicroadjmode' => { 3 => 0x1, 349 => 0x131 },
-	'afmicroadjregisteredlenses' => { 349 => '305.1' },
-	'afmicroadjustment' => { 73 => 0x507 },
-	'afmicroadjvalue' => { 3 => 0x2, 349 => 0x130 },
-	'afmode' => { 102 => 0x3009, 112 => 0x1022, 158 => 0x16, 344 => 0x5 },
-	'afmoderestrictions' => { 242 => '50.3', 244 => '48.3', 252 => '48.3' },
-	'afonaelockbuttonswitch' => { 73 => 0x702 },
-	'afonbutton' => { 241 => '3.1', 242 => '47.1' },
-	'afpoint' => { 31 => 0x13, 101 => 0x18, 158 => 0x15, 170 => 0x1, 258 => 0x308, 344 => 0x1f, 345 => [0x37,0x7], 349 => 0x19, 350 => 0x18, 351 => [0x18,0x20] },
-	'afpointactivationarea' => { 72 => 0x11, 78 => 0x11 },
-	'afpointareaexpansion' => { 73 => 0x508 },
-	'afpointatshutterrelease' => { 345 => [0x39,0x9] },
-	'afpointautoselection' => { 73 => 0x50b },
-	'afpointbrightness' => { 73 => 0x50d, 241 => '2.4', 242 => '46.5', 244 => '2.2', 252 => '2.3' },
-	'afpointdisplayduringfocus' => { 2 => 0x10, 73 => 0x50c },
-	'afpointillumination' => { 72 => 0xa, 241 => '2.3', 242 => '46.2', 244 => '47.2', 248 => '2.3', 249 => '1.3', 252 => '47.2', 253 => '2.4' },
-	'afpointinfocus' => { 345 => [0x38,0x8] },
-	'afpointmode' => { 291 => 0x3 },
-	'afpointposition' => { 102 => 0x2021, 276 => 0x4d },
-	'afpointregistration' => { 71 => 0x7 },
-	'afpoints' => { 161 => 0x10 },
-	'afpointselected' => { 162 => 0xd, 255 => 0x305, 310 => 0xe, 349 => 0x15, 350 => 0x14, 351 => [0x14,0x1c], 364 => 0x201e },
-	'afpointselected2' => { 291 => 0x4 },
-	'afpointselection' => { 72 => 0xb, 241 => '1.3', 242 => '1.3', 248 => '1.3', 252 => '1.3' },
-	'afpointselectionmethod' => { 73 => 0x50f, 74 => 0xc, 75 => 0xd, 78 => 0xd },
-	'afpointsetting' => { 352 => 0x12, 353 => 0x11 },
-	'afpointsinfocus' => { 67 => 0xe, 170 => 0x2, 286 => 0xb, 287 => 0x4, 310 => [0xf,0x3c] },
+	'afdefocus' => { 290 => 0x6 },
+	'afduringliveview' => { 75 => 0x511 },
+	'affinea' => { 406 => 'AffineA' },
+	'affineb' => { 406 => 'AffineB' },
+	'affinec' => { 406 => 'AffineC' },
+	'affined' => { 406 => 'AffineD' },
+	'affinetune' => { 174 => 0x0, 259 => 0x306 },
+	'affinetuneadj' => { 174 => 0x2, 208 => 0x2d1, 209 => 0x2dc, 259 => 0x307 },
+	'affinetuneindex' => { 174 => 0x1 },
+	'affinex' => { 406 => 'AffineX' },
+	'affiney' => { 406 => 'AffineY' },
+	'afhold' => { 290 => 0x1fd },
+	'afilluminator' => { 357 => 0x29, 369 => 0xb044 },
+	'afimageheight' => { 173 => 0x12 },
+	'afimagewidth' => { 173 => 0x10 },
+	'afintegrationtime' => { 290 => 0x7 },
+	'afmicroadj' => { 350 => [0x17d,0x50] },
+	'afmicroadjmode' => { 3 => 0x1, 354 => 0x131 },
+	'afmicroadjregisteredlenses' => { 354 => '305.1' },
+	'afmicroadjustment' => { 75 => 0x507 },
+	'afmicroadjvalue' => { 3 => 0x2, 354 => 0x130 },
+	'afmode' => { 104 => 0x3009, 114 => 0x1022, 160 => 0x16, 349 => 0x5 },
+	'afmoderestrictions' => { 244 => '50.3', 246 => '48.3', 247 => '48.3', 256 => '48.3' },
+	'afonaelockbuttonswitch' => { 75 => 0x702 },
+	'afonbutton' => { 243 => '3.1', 244 => '47.1' },
+	'afpoint' => { 33 => 0x13, 103 => 0x18, 160 => 0x15, 172 => 0x1, 262 => 0x308, 349 => 0x1f, 350 => [0x37,0x7], 354 => 0x19, 355 => 0x18, 356 => [0x18,0x20] },
+	'afpointactivationarea' => { 74 => 0x11, 80 => 0x11 },
+	'afpointareaexpansion' => { 75 => 0x508 },
+	'afpointatshutterrelease' => { 350 => [0x39,0x9] },
+	'afpointautoselection' => { 75 => 0x50b },
+	'afpointbrightness' => { 75 => 0x50d, 243 => '2.4', 244 => '46.5', 246 => '2.2', 247 => '2.2', 256 => '2.3' },
+	'afpointdisplayduringfocus' => { 2 => 0x10, 75 => 0x50c },
+	'afpointillumination' => { 74 => 0xa, 243 => '2.3', 244 => '46.2', 246 => '47.2', 247 => '47.2', 251 => '1.2', 252 => '2.3', 253 => '1.2', 256 => '47.2', 257 => '2.4' },
+	'afpointinfocus' => { 350 => [0x38,0x8] },
+	'afpointmode' => { 295 => 0x3 },
+	'afpointposition' => { 104 => 0x2021, 280 => 0x4d },
+	'afpointregistration' => { 73 => 0x7 },
+	'afpoints' => { 163 => 0x10 },
+	'afpointselected' => { 164 => 0xd, 259 => 0x305, 314 => 0xe, 354 => 0x15, 355 => 0x14, 356 => [0x14,0x1c], 369 => 0x201e },
+	'afpointselected2' => { 295 => 0x4 },
+	'afpointselection' => { 74 => 0xb, 243 => '1.3', 244 => '1.3', 252 => '1.3', 256 => '1.3' },
+	'afpointselectionmethod' => { 75 => 0x50f, 76 => 0xc, 77 => 0xd, 80 => 0xd },
+	'afpointsetting' => { 357 => 0x12, 358 => 0x11 },
+	'afpointsinfocus' => { 69 => 0xe, 172 => 0x2, 290 => 0xb, 291 => 0x4, 314 => [0xf,0x3c] },
 	'afpointsinfocus5d' => { 18 => 0x38 },
-	'afpointspotmetering' => { 72 => 0xd },
-	'afpointsselected' => { 287 => '4.1', 391 => 0x4 },
-	'afpointsspecial' => { 287 => '4.2' },
-	'afpointsunknown1' => { 286 => 0x0 },
-	'afpointsunknown2' => { 286 => 0x2 },
-	'afpointsused' => { 171 => 0x8, 345 => [0x10,0x16e] },
+	'afpointspotmetering' => { 74 => 0xd },
+	'afpointsselected' => { 291 => '4.1', 396 => 0x4 },
+	'afpointsspecial' => { 291 => '4.2' },
+	'afpointsunknown1' => { 290 => 0x0 },
+	'afpointsunknown2' => { 290 => 0x2 },
+	'afpointsused' => { 173 => 0x8, 350 => [0x10,0x16e] },
 	'afpointswitching' => { 2 => 0x4 },
-	'afpredictor' => { 286 => 0x4 },
-	'afresponse' => { 196 => 0xad },
-	'afresult' => { 260 => 0x1038 },
-	'afsearch' => { 255 => 0x303 },
-	'afsensoractive' => { 158 => 0x1 },
-	'afstatus' => { 335 => 0x1200 },
-	'afstatus_00_b4' => { 348 => 0x0 },
-	'afstatus_01_c4' => { 348 => 0x2 },
-	'afstatus_02_d4' => { 348 => 0x4 },
-	'afstatus_03_e4' => { 348 => 0x6 },
-	'afstatus_04_f4' => { 348 => 0x8 },
-	'afstatus_05_g4' => { 348 => 0xa },
-	'afstatus_06_h4' => { 348 => 0xc },
-	'afstatus_07_b3' => { 348 => 0xe },
-	'afstatus_08_c3' => { 348 => 0x10 },
-	'afstatus_09_d3' => { 348 => 0x12 },
-	'afstatus_10_e3' => { 348 => 0x14 },
-	'afstatus_11_f3' => { 348 => 0x16 },
-	'afstatus_12_g3' => { 348 => 0x18 },
-	'afstatus_13_h3' => { 348 => 0x1a },
-	'afstatus_14_b2' => { 348 => 0x1c },
-	'afstatus_15_c2' => { 348 => 0x1e },
-	'afstatus_16_d2' => { 348 => 0x20 },
-	'afstatus_17_e2' => { 348 => 0x22 },
-	'afstatus_18_f2' => { 348 => 0x24 },
-	'afstatus_19_g2' => { 348 => 0x26 },
-	'afstatus_20_h2' => { 348 => 0x28 },
-	'afstatus_21_c1' => { 348 => 0x2a },
-	'afstatus_22_d1' => { 348 => 0x2c },
-	'afstatus_23_e1' => { 348 => 0x2e },
-	'afstatus_24_f1' => { 348 => 0x30 },
-	'afstatus_25_g1' => { 348 => 0x32 },
-	'afstatus_26_a7_vertical' => { 348 => 0x34 },
-	'afstatus_27_a6_vertical' => { 348 => 0x36 },
-	'afstatus_28_a5_vertical' => { 348 => 0x38 },
-	'afstatus_29_c7_vertical' => { 348 => 0x3a },
-	'afstatus_30_c6_vertical' => { 348 => 0x3c },
-	'afstatus_31_c5_vertical' => { 348 => 0x3e },
-	'afstatus_32_e7_vertical' => { 348 => 0x40 },
-	'afstatus_33_e6_center_vertical' => { 348 => 0x42 },
-	'afstatus_34_e5_vertical' => { 348 => 0x44 },
-	'afstatus_35_g7_vertical' => { 348 => 0x46 },
-	'afstatus_36_g6_vertical' => { 348 => 0x48 },
-	'afstatus_37_g5_vertical' => { 348 => 0x4a },
-	'afstatus_38_i7_vertical' => { 348 => 0x4c },
-	'afstatus_39_i6_vertical' => { 348 => 0x4e },
-	'afstatus_40_i5_vertical' => { 348 => 0x50 },
-	'afstatus_41_a7' => { 348 => 0x52 },
-	'afstatus_42_b7' => { 348 => 0x54 },
-	'afstatus_43_c7' => { 348 => 0x56 },
-	'afstatus_44_d7' => { 348 => 0x58 },
-	'afstatus_45_e7' => { 348 => 0x5a },
-	'afstatus_46_f7' => { 348 => 0x5c },
-	'afstatus_47_g7' => { 348 => 0x5e },
-	'afstatus_48_h7' => { 348 => 0x60 },
-	'afstatus_49_i7' => { 348 => 0x62 },
-	'afstatus_50_a6' => { 348 => 0x64 },
-	'afstatus_51_b6' => { 348 => 0x66 },
-	'afstatus_52_c6' => { 348 => 0x68 },
-	'afstatus_53_d6' => { 348 => 0x6a },
-	'afstatus_54_e6_center' => { 348 => 0x6c },
-	'afstatus_55_f6' => { 348 => 0x6e },
-	'afstatus_56_g6' => { 348 => 0x70 },
-	'afstatus_57_h6' => { 348 => 0x72 },
-	'afstatus_58_i6' => { 348 => 0x74 },
-	'afstatus_59_a5' => { 348 => 0x76 },
-	'afstatus_60_b5' => { 348 => 0x78 },
-	'afstatus_61_c5' => { 348 => 0x7a },
-	'afstatus_62_d5' => { 348 => 0x7c },
-	'afstatus_63_e5' => { 348 => 0x7e },
-	'afstatus_64_f5' => { 348 => 0x80 },
-	'afstatus_65_g5' => { 348 => 0x82 },
-	'afstatus_66_h5' => { 348 => 0x84 },
-	'afstatus_67_i5' => { 348 => 0x86 },
-	'afstatus_68_c11' => { 348 => 0x88 },
-	'afstatus_69_d11' => { 348 => 0x8a },
-	'afstatus_70_e11' => { 348 => 0x8c },
-	'afstatus_71_f11' => { 348 => 0x8e },
-	'afstatus_72_g11' => { 348 => 0x90 },
-	'afstatus_73_b10' => { 348 => 0x92 },
-	'afstatus_74_c10' => { 348 => 0x94 },
-	'afstatus_75_d10' => { 348 => 0x96 },
-	'afstatus_76_e10' => { 348 => 0x98 },
-	'afstatus_77_f10' => { 348 => 0x9a },
-	'afstatus_78_g10' => { 348 => 0x9c },
-	'afstatus_79_h10' => { 348 => 0x9e },
-	'afstatus_80_b9' => { 348 => 0xa0 },
-	'afstatus_81_c9' => { 348 => 0xa2 },
-	'afstatus_82_d9' => { 348 => 0xa4 },
-	'afstatus_83_e9' => { 348 => 0xa6 },
-	'afstatus_84_f9' => { 348 => 0xa8 },
-	'afstatus_85_g9' => { 348 => 0xaa },
-	'afstatus_86_h9' => { 348 => 0xac },
-	'afstatus_87_b8' => { 348 => 0xae },
-	'afstatus_88_c8' => { 348 => 0xb0 },
-	'afstatus_89_d8' => { 348 => 0xb2 },
-	'afstatus_90_e8' => { 348 => 0xb4 },
-	'afstatus_91_f8' => { 348 => 0xb6 },
-	'afstatus_92_g8' => { 348 => 0xb8 },
-	'afstatus_93_h8' => { 348 => 0xba },
-	'afstatus_94_e6_center_f2-8' => { 348 => 0xbc },
-	'afstatusactivesensor' => { 158 => 0x2, 345 => [0x4,0x3b], 349 => 0x1e, 350 => 0x1b, 351 => [0x1b,0x21] },
-	'afstatusbottom' => { 158 => 0x8, 349 => 0x2a, 350 => 0x21, 351 => 0x21 },
-	'afstatusbottom-left' => { 158 => 0x12, 350 => 0x2b, 351 => 0x2b },
-	'afstatusbottom-right' => { 158 => 0x6, 350 => 0x1f, 351 => 0x1f },
-	'afstatusbottomassist-left' => { 349 => 0x28 },
-	'afstatusbottomassist-right' => { 349 => 0x2c },
-	'afstatusbottomhorizontal' => { 346 => 0x10, 347 => 0x1c },
-	'afstatusbottomvertical' => { 346 => 0x16, 347 => 0x26 },
-	'afstatuscenter-10' => { 349 => 0x34 },
-	'afstatuscenter-11' => { 349 => 0x36 },
-	'afstatuscenter-12' => { 349 => 0x38 },
-	'afstatuscenter-14' => { 349 => 0x3c },
-	'afstatuscenter-7' => { 349 => 0x2e },
-	'afstatuscenter-9' => { 349 => 0x32 },
-	'afstatuscenter-horizontal' => { 349 => 0x30 },
-	'afstatuscenter-vertical' => { 349 => 0x3a },
-	'afstatuscenterf2-8' => { 349 => 0x4c },
-	'afstatuscenterhorizontal' => { 158 => 0x2f, 346 => 0xc, 347 => 0x18, 350 => 0x2f, 351 => 0x2f },
-	'afstatuscentervertical' => { 158 => 0xc, 346 => 0x14, 347 => 0x22, 350 => 0x25, 351 => 0x25 },
-	'afstatusfarleft' => { 346 => 0x6, 349 => 0x26 },
-	'afstatusfarlefthorizontal' => { 347 => 0x4 },
-	'afstatusfarleftvertical' => { 347 => 0x12 },
-	'afstatusfarright' => { 346 => 0x18, 349 => 0x44 },
-	'afstatusfarrighthorizontal' => { 347 => 0x2c },
-	'afstatusfarrightvertical' => { 347 => 0x34 },
-	'afstatusleft' => { 158 => 0x2d, 346 => 0x2, 349 => 0x22, 350 => 0x2d, 351 => 0x2d },
-	'afstatuslefthorizontal' => { 347 => 0x6 },
-	'afstatusleftvertical' => { 347 => 0xe },
-	'afstatuslower-left' => { 346 => 0x4, 349 => 0x24 },
-	'afstatuslower-lefthorizontal' => { 347 => 0xa },
-	'afstatuslower-leftvertical' => { 347 => 0x10 },
-	'afstatuslower-middle' => { 346 => 0x22, 347 => 0x24 },
-	'afstatuslower-right' => { 346 => 0x1e, 349 => 0x4a },
-	'afstatuslower-righthorizontal' => { 347 => 0x32 },
-	'afstatuslower-rightvertical' => { 347 => 0x3a },
-	'afstatuslowerfarleft' => { 347 => 0x8 },
-	'afstatuslowerfarright' => { 347 => 0x30 },
-	'afstatusmiddlehorizontal' => { 158 => 0xa, 350 => 0x23, 351 => 0x23 },
-	'afstatusnearleft' => { 346 => 0xe, 347 => 0x1a },
-	'afstatusnearright' => { 346 => 0xa, 347 => 0x16 },
-	'afstatusright' => { 158 => 0x31, 346 => 0x1c, 349 => 0x48, 350 => 0x31, 351 => 0x31 },
-	'afstatusrighthorizontal' => { 347 => 0x2e },
-	'afstatusrightvertical' => { 347 => 0x38 },
-	'afstatustop' => { 158 => 0xe, 349 => 0x40, 350 => 0x27, 351 => 0x27 },
-	'afstatustop-left' => { 158 => 0x10, 350 => 0x29, 351 => 0x29 },
-	'afstatustop-right' => { 158 => 0x4, 350 => 0x1d, 351 => 0x1d },
-	'afstatustopassist-left' => { 349 => 0x3e },
-	'afstatustopassist-right' => { 349 => 0x42 },
-	'afstatustophorizontal' => { 346 => 0x8, 347 => 0x14 },
-	'afstatustopvertical' => { 346 => 0x12, 347 => 0x1e },
-	'afstatusupper-left' => { 346 => 0x0, 349 => 0x20 },
-	'afstatusupper-lefthorizontal' => { 347 => 0x2 },
-	'afstatusupper-leftvertical' => { 347 => 0xc },
-	'afstatusupper-middle' => { 346 => 0x20, 347 => 0x20 },
-	'afstatusupper-right' => { 346 => 0x1a, 349 => 0x46 },
-	'afstatusupper-righthorizontal' => { 347 => 0x2a },
-	'afstatusupper-rightvertical' => { 347 => 0x36 },
-	'afstatusupperfarleft' => { 347 => 0x0 },
-	'afstatusupperfarright' => { 347 => 0x28 },
+	'afpredictor' => { 290 => 0x4 },
+	'afresponse' => { 198 => 0xad },
+	'afresult' => { 264 => 0x1038 },
+	'afsearch' => { 259 => 0x303 },
+	'afsensoractive' => { 160 => 0x1 },
+	'afstatus' => { 339 => 0x1200 },
+	'afstatus_00_b4' => { 353 => 0x0 },
+	'afstatus_01_c4' => { 353 => 0x2 },
+	'afstatus_02_d4' => { 353 => 0x4 },
+	'afstatus_03_e4' => { 353 => 0x6 },
+	'afstatus_04_f4' => { 353 => 0x8 },
+	'afstatus_05_g4' => { 353 => 0xa },
+	'afstatus_06_h4' => { 353 => 0xc },
+	'afstatus_07_b3' => { 353 => 0xe },
+	'afstatus_08_c3' => { 353 => 0x10 },
+	'afstatus_09_d3' => { 353 => 0x12 },
+	'afstatus_10_e3' => { 353 => 0x14 },
+	'afstatus_11_f3' => { 353 => 0x16 },
+	'afstatus_12_g3' => { 353 => 0x18 },
+	'afstatus_13_h3' => { 353 => 0x1a },
+	'afstatus_14_b2' => { 353 => 0x1c },
+	'afstatus_15_c2' => { 353 => 0x1e },
+	'afstatus_16_d2' => { 353 => 0x20 },
+	'afstatus_17_e2' => { 353 => 0x22 },
+	'afstatus_18_f2' => { 353 => 0x24 },
+	'afstatus_19_g2' => { 353 => 0x26 },
+	'afstatus_20_h2' => { 353 => 0x28 },
+	'afstatus_21_c1' => { 353 => 0x2a },
+	'afstatus_22_d1' => { 353 => 0x2c },
+	'afstatus_23_e1' => { 353 => 0x2e },
+	'afstatus_24_f1' => { 353 => 0x30 },
+	'afstatus_25_g1' => { 353 => 0x32 },
+	'afstatus_26_a7_vertical' => { 353 => 0x34 },
+	'afstatus_27_a6_vertical' => { 353 => 0x36 },
+	'afstatus_28_a5_vertical' => { 353 => 0x38 },
+	'afstatus_29_c7_vertical' => { 353 => 0x3a },
+	'afstatus_30_c6_vertical' => { 353 => 0x3c },
+	'afstatus_31_c5_vertical' => { 353 => 0x3e },
+	'afstatus_32_e7_vertical' => { 353 => 0x40 },
+	'afstatus_33_e6_center_vertical' => { 353 => 0x42 },
+	'afstatus_34_e5_vertical' => { 353 => 0x44 },
+	'afstatus_35_g7_vertical' => { 353 => 0x46 },
+	'afstatus_36_g6_vertical' => { 353 => 0x48 },
+	'afstatus_37_g5_vertical' => { 353 => 0x4a },
+	'afstatus_38_i7_vertical' => { 353 => 0x4c },
+	'afstatus_39_i6_vertical' => { 353 => 0x4e },
+	'afstatus_40_i5_vertical' => { 353 => 0x50 },
+	'afstatus_41_a7' => { 353 => 0x52 },
+	'afstatus_42_b7' => { 353 => 0x54 },
+	'afstatus_43_c7' => { 353 => 0x56 },
+	'afstatus_44_d7' => { 353 => 0x58 },
+	'afstatus_45_e7' => { 353 => 0x5a },
+	'afstatus_46_f7' => { 353 => 0x5c },
+	'afstatus_47_g7' => { 353 => 0x5e },
+	'afstatus_48_h7' => { 353 => 0x60 },
+	'afstatus_49_i7' => { 353 => 0x62 },
+	'afstatus_50_a6' => { 353 => 0x64 },
+	'afstatus_51_b6' => { 353 => 0x66 },
+	'afstatus_52_c6' => { 353 => 0x68 },
+	'afstatus_53_d6' => { 353 => 0x6a },
+	'afstatus_54_e6_center' => { 353 => 0x6c },
+	'afstatus_55_f6' => { 353 => 0x6e },
+	'afstatus_56_g6' => { 353 => 0x70 },
+	'afstatus_57_h6' => { 353 => 0x72 },
+	'afstatus_58_i6' => { 353 => 0x74 },
+	'afstatus_59_a5' => { 353 => 0x76 },
+	'afstatus_60_b5' => { 353 => 0x78 },
+	'afstatus_61_c5' => { 353 => 0x7a },
+	'afstatus_62_d5' => { 353 => 0x7c },
+	'afstatus_63_e5' => { 353 => 0x7e },
+	'afstatus_64_f5' => { 353 => 0x80 },
+	'afstatus_65_g5' => { 353 => 0x82 },
+	'afstatus_66_h5' => { 353 => 0x84 },
+	'afstatus_67_i5' => { 353 => 0x86 },
+	'afstatus_68_c11' => { 353 => 0x88 },
+	'afstatus_69_d11' => { 353 => 0x8a },
+	'afstatus_70_e11' => { 353 => 0x8c },
+	'afstatus_71_f11' => { 353 => 0x8e },
+	'afstatus_72_g11' => { 353 => 0x90 },
+	'afstatus_73_b10' => { 353 => 0x92 },
+	'afstatus_74_c10' => { 353 => 0x94 },
+	'afstatus_75_d10' => { 353 => 0x96 },
+	'afstatus_76_e10' => { 353 => 0x98 },
+	'afstatus_77_f10' => { 353 => 0x9a },
+	'afstatus_78_g10' => { 353 => 0x9c },
+	'afstatus_79_h10' => { 353 => 0x9e },
+	'afstatus_80_b9' => { 353 => 0xa0 },
+	'afstatus_81_c9' => { 353 => 0xa2 },
+	'afstatus_82_d9' => { 353 => 0xa4 },
+	'afstatus_83_e9' => { 353 => 0xa6 },
+	'afstatus_84_f9' => { 353 => 0xa8 },
+	'afstatus_85_g9' => { 353 => 0xaa },
+	'afstatus_86_h9' => { 353 => 0xac },
+	'afstatus_87_b8' => { 353 => 0xae },
+	'afstatus_88_c8' => { 353 => 0xb0 },
+	'afstatus_89_d8' => { 353 => 0xb2 },
+	'afstatus_90_e8' => { 353 => 0xb4 },
+	'afstatus_91_f8' => { 353 => 0xb6 },
+	'afstatus_92_g8' => { 353 => 0xb8 },
+	'afstatus_93_h8' => { 353 => 0xba },
+	'afstatus_94_e6_center_f2-8' => { 353 => 0xbc },
+	'afstatusactivesensor' => { 160 => 0x2, 350 => [0x4,0x3b], 354 => 0x1e, 355 => 0x1b, 356 => [0x1b,0x21] },
+	'afstatusbottom' => { 160 => 0x8, 354 => 0x2a, 355 => 0x21, 356 => 0x21 },
+	'afstatusbottom-left' => { 160 => 0x12, 355 => 0x2b, 356 => 0x2b },
+	'afstatusbottom-right' => { 160 => 0x6, 355 => 0x1f, 356 => 0x1f },
+	'afstatusbottomassist-left' => { 354 => 0x28 },
+	'afstatusbottomassist-right' => { 354 => 0x2c },
+	'afstatusbottomhorizontal' => { 351 => 0x10, 352 => 0x1c },
+	'afstatusbottomvertical' => { 351 => 0x16, 352 => 0x26 },
+	'afstatuscenter-10' => { 354 => 0x34 },
+	'afstatuscenter-11' => { 354 => 0x36 },
+	'afstatuscenter-12' => { 354 => 0x38 },
+	'afstatuscenter-14' => { 354 => 0x3c },
+	'afstatuscenter-7' => { 354 => 0x2e },
+	'afstatuscenter-9' => { 354 => 0x32 },
+	'afstatuscenter-horizontal' => { 354 => 0x30 },
+	'afstatuscenter-vertical' => { 354 => 0x3a },
+	'afstatuscenterf2-8' => { 354 => 0x4c },
+	'afstatuscenterhorizontal' => { 160 => 0x2f, 351 => 0xc, 352 => 0x18, 355 => 0x2f, 356 => 0x2f },
+	'afstatuscentervertical' => { 160 => 0xc, 351 => 0x14, 352 => 0x22, 355 => 0x25, 356 => 0x25 },
+	'afstatusfarleft' => { 351 => 0x6, 354 => 0x26 },
+	'afstatusfarlefthorizontal' => { 352 => 0x4 },
+	'afstatusfarleftvertical' => { 352 => 0x12 },
+	'afstatusfarright' => { 351 => 0x18, 354 => 0x44 },
+	'afstatusfarrighthorizontal' => { 352 => 0x2c },
+	'afstatusfarrightvertical' => { 352 => 0x34 },
+	'afstatusleft' => { 160 => 0x2d, 351 => 0x2, 354 => 0x22, 355 => 0x2d, 356 => 0x2d },
+	'afstatuslefthorizontal' => { 352 => 0x6 },
+	'afstatusleftvertical' => { 352 => 0xe },
+	'afstatuslower-left' => { 351 => 0x4, 354 => 0x24 },
+	'afstatuslower-lefthorizontal' => { 352 => 0xa },
+	'afstatuslower-leftvertical' => { 352 => 0x10 },
+	'afstatuslower-middle' => { 351 => 0x22, 352 => 0x24 },
+	'afstatuslower-right' => { 351 => 0x1e, 354 => 0x4a },
+	'afstatuslower-righthorizontal' => { 352 => 0x32 },
+	'afstatuslower-rightvertical' => { 352 => 0x3a },
+	'afstatuslowerfarleft' => { 352 => 0x8 },
+	'afstatuslowerfarright' => { 352 => 0x30 },
+	'afstatusmiddlehorizontal' => { 160 => 0xa, 355 => 0x23, 356 => 0x23 },
+	'afstatusnearleft' => { 351 => 0xe, 352 => 0x1a },
+	'afstatusnearright' => { 351 => 0xa, 352 => 0x16 },
+	'afstatusright' => { 160 => 0x31, 351 => 0x1c, 354 => 0x48, 355 => 0x31, 356 => 0x31 },
+	'afstatusrighthorizontal' => { 352 => 0x2e },
+	'afstatusrightvertical' => { 352 => 0x38 },
+	'afstatustop' => { 160 => 0xe, 354 => 0x40, 355 => 0x27, 356 => 0x27 },
+	'afstatustop-left' => { 160 => 0x10, 355 => 0x29, 356 => 0x29 },
+	'afstatustop-right' => { 160 => 0x4, 355 => 0x1d, 356 => 0x1d },
+	'afstatustopassist-left' => { 354 => 0x3e },
+	'afstatustopassist-right' => { 354 => 0x42 },
+	'afstatustophorizontal' => { 351 => 0x8, 352 => 0x14 },
+	'afstatustopvertical' => { 351 => 0x12, 352 => 0x1e },
+	'afstatusupper-left' => { 351 => 0x0, 354 => 0x20 },
+	'afstatusupper-lefthorizontal' => { 352 => 0x2 },
+	'afstatusupper-leftvertical' => { 352 => 0xc },
+	'afstatusupper-middle' => { 351 => 0x20, 352 => 0x20 },
+	'afstatusupper-right' => { 351 => 0x1a, 354 => 0x46 },
+	'afstatusupper-righthorizontal' => { 352 => 0x2a },
+	'afstatusupper-rightvertical' => { 352 => 0x36 },
+	'afstatusupperfarleft' => { 352 => 0x0 },
+	'afstatusupperfarright' => { 352 => 0x28 },
 	'afstatusviewfinder' => { 2 => 0x12 },
 	'aftrackingsensitivity' => { 2 => 0x2 },
-	'aftype' => { 345 => 0x2 },
-	'afwithshutter' => { 352 => 0x2a },
-	'afzoneselected' => { 364 => 0x201e },
-	'aggregateissuenumber' => { 422 => 'aggregateIssueNumber' },
-	'aggregationtype' => { 422 => 'aggregationType' },
-	'agreement' => { 425 => 'agreement' },
-	'aiservocontinuousshooting' => { 72 => 0x15 },
+	'aftype' => { 350 => 0x2 },
+	'afwithshutter' => { 357 => 0x2a },
+	'afzoneselected' => { 369 => 0x201e },
+	'aggregateissuenumber' => { 427 => 'aggregateIssueNumber' },
+	'aggregationtype' => { 427 => 'aggregationType' },
+	'agreement' => { 430 => 'agreement' },
+	'aiservocontinuousshooting' => { 74 => 0x15 },
 	'aiservofirstimage' => { 2 => 0x5 },
-	'aiservofirstimagepriority' => { 73 => 0x519 },
-	'aiservoimagepriority' => { 73 => 0x503 },
+	'aiservofirstimagepriority' => { 75 => 0x519 },
+	'aiservoimagepriority' => { 75 => 0x503 },
 	'aiservosecondimage' => { 2 => 0x6 },
-	'aiservosecondimagepriority' => { 73 => 0x51a },
-	'aiservotrackingmethod' => { 73 => 0x504 },
-	'aiservotrackingsensitivity' => { 72 => 0x14, 73 => 0x502 },
-	'album' => { 432 => 'album' },
-	'alreadyapplied' => { 408 => 'AlreadyApplied' },
-	'alternatetitle' => { 422 => 'alternateTitle' },
-	'alternatetitlea-lang' => { 422 => [\'alternateTitle','alternateTitleA-lang'] },
-	'alternatetitlea-platform' => { 422 => [\'alternateTitle','alternateTitleA-platform'] },
-	'alternatetitletext' => { 422 => [\'alternateTitle','alternateTitleText'] },
-	'altitude' => { 173 => 0x6 },
-	'alttapename' => { 432 => 'altTapeName' },
-	'alttimecode' => { 432 => 'altTimecode' },
-	'alttimecodetimeformat' => { 432 => [\'altTimecode','altTimecodeTimeFormat'] },
-	'alttimecodetimevalue' => { 432 => [\'altTimecode','altTimecodeTimeValue'] },
-	'alttimecodevalue' => { 432 => [\'altTimecode','altTimecodeValue'] },
+	'aiservosecondimagepriority' => { 75 => 0x51a },
+	'aiservotrackingmethod' => { 75 => 0x504 },
+	'aiservotrackingsensitivity' => { 74 => 0x14, 75 => 0x502 },
+	'album' => { 437 => 'album' },
+	'alreadyapplied' => { 413 => 'AlreadyApplied' },
+	'alternatetitle' => { 427 => 'alternateTitle' },
+	'alternatetitlea-lang' => { 427 => [\'alternateTitle','alternateTitleA-lang'] },
+	'alternatetitlea-platform' => { 427 => [\'alternateTitle','alternateTitleA-platform'] },
+	'alternatetitletext' => { 427 => [\'alternateTitle','alternateTitleText'] },
+	'altitude' => { 175 => 0x6 },
+	'alttapename' => { 437 => 'altTapeName' },
+	'alttimecode' => { 437 => 'altTimecode' },
+	'alttimecodetimeformat' => { 437 => [\'altTimecode','altTimecodeTimeFormat'] },
+	'alttimecodetimevalue' => { 437 => [\'altTimecode','altTimecodeTimeValue'] },
+	'alttimecodevalue' => { 437 => [\'altTimecode','altTimecodeValue'] },
 	'ambienceselection' => { 4 => 0x1 },
-	'ambienttemperature' => { 331 => 0x14, 384 => 0x4 },
-	'ambienttemperaturefahrenheit' => { 331 => 0x13 },
-	'analogbalance' => { 107 => 0xc627 },
-	'angleadj' => { 92 => 0x10003, 98 => 0x8b },
-	'angleinforoll' => { 403 => 'AngleInfoRoll' },
-	'angleinfoyaw' => { 403 => 'AngleInfoYaw' },
-	'anti-blur' => { 364 => 0xb04b },
-	'antialiasstrength' => { 107 => 0xc632 },
-	'aperturelock' => { 242 => '38.2', 244 => '38.2', 252 => '38.2' },
-	'aperturerange' => { 73 => 0x10d },
-	'apertureringuse' => { 291 => '1.4' },
-	'aperturesetting' => { 162 => 0x7, 352 => 0x30, 353 => 0x29, 354 => 0x1 },
-	'aperturevalue' => { 82 => 0x2, 107 => 0x9202, 260 => 0x1002, 319 => 0x401, 412 => 'ApertureValue' },
-	'applekeywords' => { 264 => 'AAPL:Keywords' },
-	'applicationnotes' => { 107 => 0x2bc, 280 => 0x2bc },
-	'applicationrecordversion' => { 115 => 0x0 },
-	'applyshootingmeteringmode' => { 73 => 0x10e },
-	'approved' => { 414 => 'Approved' },
-	'approvedby' => { 414 => 'ApprovedBy' },
-	'approximatefnumber' => { 272 => 0x313, 278 => 0x3406 },
-	'approximatefocusdistance' => { 404 => 'ApproximateFocusDistance' },
-	'aquahsl' => { 92 => 0x20913 },
-	'armidentifier' => { 116 => 0x78 },
-	'armversion' => { 116 => 0x7a },
-	'artfilter' => { 255 => 0x529 },
-	'artfiltereffect' => { 255 => 0x52f },
-	'artist' => { 107 => 0x13b, 268 => 'Artist', 310 => 0x22e, 428 => 'Artist', 432 => 'artist' },
-	'artmode' => { 102 => 0x301b },
-	'artmodeparameters' => { 102 => 0x310b },
-	'artworkcircadatecreated' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCircaDateCreated'] },
-	'artworkcontributiondescription' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOContributionDescription'] },
-	'artworkcopyrightnotice' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCopyrightNotice'] },
-	'artworkcopyrightownerid' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerId'] },
-	'artworkcopyrightownername' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerName'] },
-	'artworkcreator' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCreator'] },
-	'artworkcreatorid' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCreatorId'] },
-	'artworkdatecreated' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAODateCreated'] },
-	'artworklicensorid' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorId'] },
-	'artworklicensorname' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorName'] },
-	'artworkorobject' => { 418 => 'ArtworkOrObject' },
-	'artworkphysicaldescription' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOPhysicalDescription'] },
-	'artworkscontentdescription' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOContentDescription'] },
-	'artworksource' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOSource'] },
-	'artworksourceinventoryno' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvNo'] },
-	'artworksourceinvurl' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvURL'] },
-	'artworkstyleperiod' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOStylePeriod'] },
-	'artworktitle' => { 418 => [\'ArtworkOrObject','ArtworkOrObjectAOTitle'] },
-	'aspectframe' => { 259 => 0x1113 },
-	'aspectratio' => { 5 => 0x0, 259 => 0x1112, 310 => 0x80, 352 => 0x55, 353 => 0x55, 354 => 0xa },
-	'asshoticcprofile' => { 107 => 0xc68f },
-	'asshotneutral' => { 107 => 0xc628 },
-	'asshotpreprofilematrix' => { 107 => 0xc690 },
-	'asshotprofilename' => { 107 => 0xc6f6 },
-	'asshotwhitexy' => { 107 => 0xc629 },
-	'assignbktbutton' => { 241 => '4.2', 242 => '16.1', 244 => '16.1', 252 => '16.1' },
-	'assignfuncbutton' => { 73 => 0x70b },
-	'assignmb-d17af-onbutton' => { 244 => '79.1' },
-	'assignmb-d17funcbutton' => { 244 => '67.1' },
-	'assignmb-d17funcbuttonplusdials' => { 244 => '68.1' },
-	'assignmoviefunc1buttonplusdials' => { 244 => '75.1' },
-	'assignmoviefunc2button' => { 244 => '82.1' },
-	'assignmoviepreviewbuttonplusdials' => { 244 => '75.2' },
-	'assignmovierecordbutton' => { 242 => '43.2', 252 => '45.1' },
-	'assignmovierecordbuttonplusdials' => { 244 => '45.1' },
-	'assignmoviesubselector' => { 244 => '74.1' },
-	'assignmoviesubselectorplusdials' => { 244 => '76.1' },
-	'assignremotefnbutton' => { 242 => '54.1', 252 => '51.1' },
-	'assistbuttonfunction' => { 71 => 0xd },
-	'attributionname' => { 405 => 'attributionName' },
-	'attributionurl' => { 405 => 'attributionURL' },
-	'audio' => { 276 => 0x20 },
-	'audiobitrate' => { 58 => 0x6c },
-	'audiochannels' => { 58 => 0x70 },
-	'audiochanneltype' => { 432 => 'audioChannelType' },
-	'audiocompression' => { 136 => 'Compression' },
-	'audiocompressor' => { 432 => 'audioCompressor' },
-	'audioduration' => { 115 => 0x99 },
-	'audiomoddate' => { 432 => 'audioModDate' },
-	'audiooutcue' => { 115 => 0x9a },
-	'audiosamplerate' => { 58 => 0x6e, 432 => 'audioSampleRate' },
-	'audiosampletype' => { 432 => 'audioSampleType' },
-	'audiosamplingrate' => { 115 => 0x97 },
-	'audiosamplingresolution' => { 115 => 0x98 },
-	'audiotype' => { 115 => 0x96 },
-	'author' => { 138 => 'Author', 264 => 'Author', 268 => 'Author', 326 => 'Author', 402 => 'author', 419 => 'Author', 430 => 'Author' },
-	'authorsposition' => { 420 => 'AuthorsPosition' },
-	'autoafpointcolortracking' => { 73 => 0x51c },
+	'ambienttemperature' => { 109 => 0x9400, 335 => 0x14, 389 => 0x4 },
+	'ambienttemperaturefahrenheit' => { 335 => 0x13 },
+	'analogbalance' => { 109 => 0xc627 },
+	'angleadj' => { 94 => 0x10003, 100 => 0x8b },
+	'angleinforoll' => { 408 => 'AngleInfoRoll' },
+	'angleinfoyaw' => { 408 => 'AngleInfoYaw' },
+	'anti-blur' => { 369 => 0xb04b },
+	'antialiasstrength' => { 109 => 0xc632 },
+	'aperturelock' => { 244 => '38.2', 246 => '38.2', 247 => '38.2', 256 => '38.2' },
+	'aperturerange' => { 75 => 0x10d },
+	'apertureringuse' => { 295 => '1.4' },
+	'aperturesetting' => { 164 => 0x7, 357 => 0x30, 358 => 0x29, 359 => 0x1 },
+	'aperturevalue' => { 84 => 0x2, 109 => 0x9202, 264 => 0x1002, 323 => 0x401, 417 => 'ApertureValue' },
+	'applekeywords' => { 268 => 'AAPL:Keywords' },
+	'applicationnotes' => { 109 => 0x2bc, 284 => 0x2bc },
+	'applicationrecordversion' => { 117 => 0x0 },
+	'applyshootingmeteringmode' => { 75 => 0x10e },
+	'approved' => { 419 => 'Approved' },
+	'approvedby' => { 419 => 'ApprovedBy' },
+	'approximatefnumber' => { 276 => 0x313, 282 => 0x3406 },
+	'approximatefocusdistance' => { 409 => 'ApproximateFocusDistance' },
+	'aquahsl' => { 94 => 0x20913 },
+	'armidentifier' => { 118 => 0x78 },
+	'armversion' => { 118 => 0x7a },
+	'artfilter' => { 259 => 0x529 },
+	'artfiltereffect' => { 259 => 0x52f },
+	'artist' => { 109 => 0x13b, 272 => 'Artist', 314 => 0x22e, 433 => 'Artist', 437 => 'artist' },
+	'artmode' => { 104 => 0x301b },
+	'artmodeparameters' => { 104 => 0x310b },
+	'artworkcircadatecreated' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCircaDateCreated'] },
+	'artworkcontributiondescription' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOContributionDescription'] },
+	'artworkcopyrightnotice' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCopyrightNotice'] },
+	'artworkcopyrightownerid' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerId'] },
+	'artworkcopyrightownername' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentCopyrightOwnerName'] },
+	'artworkcreator' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCreator'] },
+	'artworkcreatorid' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCreatorId'] },
+	'artworkdatecreated' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAODateCreated'] },
+	'artworklicensorid' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorId'] },
+	'artworklicensorname' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOCurrentLicensorName'] },
+	'artworkorobject' => { 423 => 'ArtworkOrObject' },
+	'artworkphysicaldescription' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOPhysicalDescription'] },
+	'artworkscontentdescription' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOContentDescription'] },
+	'artworksource' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOSource'] },
+	'artworksourceinventoryno' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvNo'] },
+	'artworksourceinvurl' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOSourceInvURL'] },
+	'artworkstyleperiod' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOStylePeriod'] },
+	'artworktitle' => { 423 => [\'ArtworkOrObject','ArtworkOrObjectAOTitle'] },
+	'aspectframe' => { 263 => 0x1113 },
+	'aspectratio' => { 5 => 0x0, 263 => 0x1112, 314 => 0x80, 357 => 0x55, 358 => 0x55, 359 => 0xa },
+	'asshoticcprofile' => { 109 => 0xc68f },
+	'asshotneutral' => { 109 => 0xc628 },
+	'asshotpreprofilematrix' => { 109 => 0xc690 },
+	'asshotprofilename' => { 109 => 0xc6f6 },
+	'asshotwhitexy' => { 109 => 0xc629 },
+	'assignbktbutton' => { 243 => '4.2', 244 => '16.1', 246 => '16.1', 247 => '16.1', 256 => '16.1' },
+	'assignfuncbutton' => { 75 => 0x70b },
+	'assignmb-d17af-onbutton' => { 247 => '79.1' },
+	'assignmb-d17funcbutton' => { 247 => '67.1' },
+	'assignmb-d17funcbuttonplusdials' => { 247 => '68.1' },
+	'assignmoviefunc1buttonplusdials' => { 246 => '75.1', 247 => '75.1' },
+	'assignmoviefunc2button' => { 246 => '82.1', 247 => '82.1' },
+	'assignmoviepreviewbuttonplusdials' => { 246 => '75.2', 247 => '75.2' },
+	'assignmovierecordbutton' => { 244 => '43.2', 256 => '45.1' },
+	'assignmovierecordbuttonplusdials' => { 246 => '45.1', 247 => '45.1' },
+	'assignmoviesubselector' => { 246 => '74.1', 247 => '74.1' },
+	'assignmoviesubselectorplusdials' => { 246 => '76.1', 247 => '76.1' },
+	'assignremotefnbutton' => { 244 => '54.1', 256 => '51.1' },
+	'assistbuttonfunction' => { 73 => 0xd },
+	'attributionname' => { 410 => 'attributionName' },
+	'attributionurl' => { 410 => 'attributionURL' },
+	'audio' => { 280 => 0x20 },
+	'audiobitrate' => { 60 => 0x6c },
+	'audiochannels' => { 60 => 0x70 },
+	'audiochanneltype' => { 437 => 'audioChannelType' },
+	'audiocompression' => { 138 => 'Compression' },
+	'audiocompressor' => { 437 => 'audioCompressor' },
+	'audioduration' => { 117 => 0x99 },
+	'audiomoddate' => { 437 => 'audioModDate' },
+	'audiooutcue' => { 117 => 0x9a },
+	'audiosamplerate' => { 60 => 0x6e, 437 => 'audioSampleRate' },
+	'audiosampletype' => { 437 => 'audioSampleType' },
+	'audiosamplingrate' => { 117 => 0x97 },
+	'audiosamplingresolution' => { 117 => 0x98 },
+	'audiotype' => { 117 => 0x96 },
+	'author' => { 140 => 'Author', 268 => 'Author', 272 => 'Author', 330 => 'Author', 407 => 'author', 424 => 'Author', 435 => 'Author' },
+	'authorsposition' => { 425 => 'AuthorsPosition' },
+	'autoafpointcolortracking' => { 75 => 0x51c },
 	'autoafpointseleositraf' => { 2 => 0xa },
-	'autoaperture' => { 301 => '0.1' },
-	'autobracket' => { 344 => 0x19 },
-	'autobracketing' => { 112 => 0x1100, 310 => 0x18, 335 => 0x1007 },
-	'autobracketingmode' => { 251 => '12.3' },
-	'autobracketingset' => { 251 => '12.1' },
-	'autobracketmodem' => { 241 => '21.2', 242 => '13.3', 244 => '13.2', 248 => '26.2', 252 => '13.3' },
-	'autobracketorder' => { 162 => 0x43, 241 => '21.3', 242 => '13.2', 244 => '13.1', 248 => '26.3', 249 => '12.2', 250 => '2.2', 251 => '12.2', 252 => '13.2', 253 => '13.2' },
-	'autobracketset' => { 241 => '21.1', 242 => '13.1', 245 => '11.1', 246 => '12.1', 247 => '12.1', 248 => '26.1', 249 => '12.1', 250 => '2.1', 252 => '13.1', 253 => '13.1' },
-	'autobrightness' => { 408 => 'AutoBrightness' },
-	'autocontrast' => { 408 => 'AutoContrast' },
-	'autodistortioncontrol' => { 181 => 0x4 },
-	'autodynamicrange' => { 112 => 0x140b },
-	'autoexposure' => { 408 => 'AutoExposure' },
-	'autoexposurebracketing' => { 67 => 0x10 },
-	'autoflashisosensitivity' => { 244 => '38.5' },
-	'autofocus' => { 258 => 0x209 },
-	'autofp' => { 250 => '7.3', 253 => '31.4' },
-	'autoiso' => { 67 => 0x1, 102 => 0x3008, 243 => '1.1', 250 => '1.1' },
-	'autoisomax' => { 243 => '1.2', 250 => '1.2' },
-	'autoisominshutterspeed' => { 243 => '1.3', 250 => '1.3' },
-	'autolateralca' => { 408 => 'AutoLateralCA' },
-	'autolightingoptimizer' => { 15 => 0xbe, 16 => 0xbf, 19 => 0xbf, 54 => 0x2, 73 => 0x204, 92 => 0x20500, 98 => 0x6f },
-	'autolightingoptimizeron' => { 92 => '0x20500.0', 98 => 0x6e },
-	'autoportraitframed' => { 364 => 0x2016 },
-	'autoredeye' => { 234 => 0xfe28a44f },
-	'autorotate' => { 67 => 0x1b },
-	'autoshadows' => { 408 => 'AutoShadows' },
-	'autowhiteversion' => { 408 => 'AutoWhiteVersion' },
-	'auxiliarylens' => { 196 => 0x82 },
-	'avaperturesetting' => { 291 => 0x13 },
-	'averageblacklevel' => { 38 => 0xe7, 40 => 0xfb, 41 => 0x114, 42 => 0x146 },
-	'averagelv' => { 165 => 0x38 },
-	'avsettingwithoutlens' => { 73 => 0x707 },
-	'azimuth' => { 146 => 'Azimuth' },
-	'babyage' => { 276 => [0x8010,0x33] },
-	'babyname' => { 276 => 0x66 },
-	'backgroundalpha' => { 427 => 'bgalpha' },
-	'baseexposurecompensation' => { 291 => 0x15 },
-	'baseiso' => { 67 => 0x2, 86 => 0x101c, 121 => 0x903, 278 => 0x312a, 389 => 0x6 },
-	'baselineexposure' => { 107 => 0xc62a },
-	'baselineexposureoffset' => { 107 => 0xc7a5 },
-	'baselinenoise' => { 107 => 0xc62b },
-	'baselinesharpness' => { 107 => 0xc62c },
-	'baseurl' => { 430 => 'BaseURL' },
-	'batterylevel' => { 352 => 0x51, 356 => 0xc, 357 => 0x4, 358 => 0x4, 390 => 0x7 },
-	'batterylevelgrip1' => { 390 => 0x6 },
-	'batterylevelgrip2' => { 390 => 0x8 },
-	'batteryorder' => { 241 => '12.5', 248 => '13.2', 249 => '2.1', 252 => '3.1' },
-	'batterystate' => { 162 => 0x60, 352 => 0x50, 358 => 0x14 },
-	'batterytemperature' => { 356 => 0x1, 358 => 0x2, 390 => 0x5 },
-	'batteryunknown' => { 356 => 0x2, 358 => 0x0 },
-	'batteryvoltage' => { 121 => 0x408, 331 => 0x2a, 356 => 0x8 },
-	'batteryvoltage1' => { 358 => 0x6 },
-	'batteryvoltage2' => { 358 => 0x8 },
-	'bayergreensplit' => { 107 => 0xc62d },
-	'bayerpattern' => { 120 => 0xf902, 166 => 0x17 },
-	'beatspliceparams' => { 432 => 'beatSpliceParams' },
-	'beatspliceparamsriseindecibel' => { 432 => [\'beatSpliceParams','beatSpliceParamsRiseInDecibel'] },
-	'beatspliceparamsriseintimeduration' => { 432 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDuration'] },
-	'beatspliceparamsriseintimedurationscale' => { 432 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationScale'] },
-	'beatspliceparamsriseintimedurationvalue' => { 432 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationValue'] },
-	'beatspliceparamsusefilebeatsmarker' => { 432 => [\'beatSpliceParams','beatSpliceParamsUseFileBeatsMarker'] },
-	'beep' => { 241 => '13.1', 242 => '5.4', 243 => '0.1', 245 => '2.1', 246 => '3.1', 247 => '3.1', 248 => '10.1', 250 => '0.1', 252 => '5.5', 253 => '4.1' },
-	'beeppitch' => { 249 => '3.1' },
-	'beepvolume' => { 249 => '4.5' },
-	'bestqualityscale' => { 107 => 0xc65c },
-	'bestshotmode' => { 102 => 0x3007 },
-	'bitdepth' => { 143 => 'BitDepth', 166 => 0x11, 203 => 0x41 },
-	'bitspercomponent' => { 117 => 0x87 },
-	'bitspersample' => { 107 => 0x102, 428 => 'BitsPerSample' },
-	'blacklevel' => { 107 => 0xc61a, 196 => 0x3d, 260 => [0x401,0x1012], 319 => 0x21d },
-	'blacklevel1' => { 280 => 0x8 },
-	'blacklevel2' => { 259 => 0x600, 263 => 0x600, 280 => 0x9 },
-	'blacklevel3' => { 280 => 0xa },
-	'blacklevelblue' => { 280 => 0x1e },
-	'blackleveldata' => { 319 => 0x223 },
-	'blackleveldeltah' => { 107 => 0xc61b },
-	'blackleveldeltav' => { 107 => 0xc61c },
-	'blacklevelgreen' => { 280 => 0x1d },
-	'blacklevelred' => { 280 => 0x1c },
-	'blacklevelrepeatdim' => { 107 => 0xc619 },
-	'blackpoint' => { 310 => 0x200 },
-	'blacks2012' => { 408 => 'Blacks2012' },
-	'bleachbypasstoning' => { 310 => 0x7f },
-	'blockshotafresponse' => { 244 => '1.5' },
-	'blogtitle' => { 422 => 'blogTitle' },
-	'blogurl' => { 422 => 'blogURL' },
-	'bluebalance' => { 179 => 0x271, 260 => 0x1018, 280 => 0x12, 310 => 0x1b },
-	'bluecurvelimits' => { 97 => 0x1fe },
-	'bluecurvepoints' => { 96 => 0x79, 97 => 0x1d4 },
-	'bluehsl' => { 92 => [0x20914,0x20915] },
-	'bluehue' => { 408 => 'BlueHue' },
-	'bluesaturation' => { 408 => 'BlueSaturation' },
-	'blurcontrol' => { 310 => 0x82 },
-	'blurwarning' => { 112 => 0x1300 },
-	'bodybatteryadload' => { 289 => 0x3 },
-	'bodybatteryadnoload' => { 289 => 0x2 },
-	'bodybatterystate' => { 289 => '1.1' },
-	'bodybatteryvoltage1' => { 289 => 0x2 },
-	'bodybatteryvoltage2' => { 289 => 0x4 },
-	'bodybatteryvoltage3' => { 289 => 0x6 },
-	'bodybatteryvoltage4' => { 289 => 0x8 },
-	'bodyfirmware' => { 336 => 0x0 },
-	'bodyfirmwareversion' => { 256 => 0x104, 257 => 0x100, 260 => 0x104 },
-	'bodyserialnumber' => { 336 => 0x10 },
-	'bookedition' => { 422 => 'bookEdition' },
-	'bracketmode' => { 49 => 0x3 },
-	'bracketsequence' => { 102 => 0x301d },
-	'bracketsettings' => { 276 => 0x45 },
-	'bracketshotnumber' => { 49 => 0x5, 291 => 0x9, 363 => 0x2b },
-	'bracketshotnumber2' => { 363 => 0x2d },
-	'bracketstep' => { 159 => 0xe },
-	'bracketvalue' => { 49 => 0x4 },
-	'brightness' => { 107 => 0xfe53, 137 => 'Brightness', 155 => 'Brightness', 159 => 0x2c, 198 => 0x34, 199 => 0x39, 331 => 0x25, 352 => 0x22, 364 => 0x2007, 408 => 'Brightness' },
-	'brightnessadj' => { 97 => 0x114, 227 => 0x0, 237 => 0x2d, 393 => 0x8018 },
-	'brightnessvalue' => { 107 => 0x9203, 165 => [0x691,0x49c3], 260 => 0x1003, 368 => 0x1e, 371 => 0x1140, 372 => 0x1140, 373 => 0x111c, 374 => 0x1198, 375 => 0x1174, 376 => 0x102c, 377 => 0x224, 378 => 0x224, 412 => 'BrightnessValue' },
-	'bulbduration' => { 67 => 0x18 },
-	'burstmode' => { 123 => 0xa, 276 => 0x2a },
-	'burstmode2' => { 123 => 0x18 },
-	'burstshot' => { 344 => 0x34 },
-	'burstspeed' => { 276 => 0x77 },
+	'autoaperture' => { 305 => '0.1' },
+	'autobracket' => { 349 => 0x19 },
+	'autobracketing' => { 114 => 0x1100, 314 => 0x18, 339 => 0x1007 },
+	'autobracketingmode' => { 255 => '12.3' },
+	'autobracketingset' => { 255 => '12.1' },
+	'autobracketmodem' => { 243 => '21.2', 244 => '13.3', 246 => '13.2', 247 => '13.2', 252 => '26.2', 256 => '13.3' },
+	'autobracketorder' => { 164 => 0x43, 243 => '21.3', 244 => '13.2', 246 => '13.1', 247 => '13.1', 252 => '26.3', 253 => '12.2', 254 => '2.2', 255 => '12.2', 256 => '13.2', 257 => '13.2' },
+	'autobracketset' => { 243 => '21.1', 244 => '13.1', 248 => '11.1', 249 => '12.1', 250 => '12.1', 252 => '26.1', 253 => '12.1', 254 => '2.1', 256 => '13.1', 257 => '13.1' },
+	'autobrightness' => { 413 => 'AutoBrightness' },
+	'autocontrast' => { 413 => 'AutoContrast' },
+	'autodistortioncontrol' => { 183 => 0x4 },
+	'autodynamicrange' => { 114 => 0x140b },
+	'autoexposure' => { 413 => 'AutoExposure' },
+	'autoexposurebracketing' => { 69 => 0x10 },
+	'autoflashisosensitivity' => { 246 => '38.5', 247 => '38.5' },
+	'autofocus' => { 262 => 0x209 },
+	'autofp' => { 254 => '7.3', 257 => '31.4' },
+	'autoiso' => { 69 => 0x1, 104 => 0x3008, 245 => '1.1', 254 => '1.1' },
+	'autoisomax' => { 245 => '1.2', 254 => '1.2' },
+	'autoisominshutterspeed' => { 245 => '1.3', 254 => '1.3' },
+	'autolateralca' => { 413 => 'AutoLateralCA' },
+	'autolightingoptimizer' => { 15 => 0xbe, 16 => 0xbf, 19 => 0xbf, 56 => 0x2, 75 => 0x204, 94 => 0x20500, 100 => 0x6f },
+	'autolightingoptimizeron' => { 94 => '0x20500.0', 100 => 0x6e },
+	'autoportraitframed' => { 369 => 0x2016 },
+	'autoredeye' => { 236 => 0xfe28a44f },
+	'autorotate' => { 69 => 0x1b },
+	'autoshadows' => { 413 => 'AutoShadows' },
+	'autowhiteversion' => { 413 => 'AutoWhiteVersion' },
+	'auxiliarylens' => { 198 => 0x82 },
+	'avaperturesetting' => { 295 => 0x13 },
+	'averageblacklevel' => { 40 => 0xe7, 42 => 0xfb, 43 => 0x114, 44 => 0x146 },
+	'averagelv' => { 167 => 0x38 },
+	'avsettingwithoutlens' => { 75 => 0x707 },
+	'azimuth' => { 148 => 'Azimuth' },
+	'babyage' => { 280 => [0x8010,0x33] },
+	'babyname' => { 280 => 0x66 },
+	'backgroundalpha' => { 432 => 'bgalpha' },
+	'baseexposurecompensation' => { 295 => 0x15 },
+	'baseiso' => { 69 => 0x2, 88 => 0x101c, 123 => 0x903, 282 => 0x312a, 394 => 0x6 },
+	'baselineexposure' => { 109 => 0xc62a },
+	'baselineexposureoffset' => { 109 => 0xc7a5 },
+	'baselinenoise' => { 109 => 0xc62b },
+	'baselinesharpness' => { 109 => 0xc62c },
+	'baseurl' => { 435 => 'BaseURL' },
+	'batterylevel' => { 357 => 0x51, 361 => 0xc, 362 => 0x4, 363 => 0x4, 395 => 0x7 },
+	'batterylevelgrip1' => { 395 => 0x6 },
+	'batterylevelgrip2' => { 395 => 0x8 },
+	'batteryorder' => { 243 => '12.5', 252 => '13.2', 253 => '2.1', 256 => '3.1' },
+	'batterystate' => { 164 => 0x60, 357 => 0x50, 363 => 0x14 },
+	'batterytemperature' => { 361 => 0x1, 363 => 0x2, 395 => 0x5 },
+	'batteryunknown' => { 361 => 0x2, 363 => 0x0 },
+	'batteryvoltage' => { 123 => 0x408, 335 => 0x2a, 361 => 0x8 },
+	'batteryvoltage1' => { 363 => 0x6 },
+	'batteryvoltage2' => { 363 => 0x8 },
+	'bayergreensplit' => { 109 => 0xc62d },
+	'bayerpattern' => { 122 => 0xf902, 168 => 0x17 },
+	'beatspliceparams' => { 437 => 'beatSpliceParams' },
+	'beatspliceparamsriseindecibel' => { 437 => [\'beatSpliceParams','beatSpliceParamsRiseInDecibel'] },
+	'beatspliceparamsriseintimeduration' => { 437 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDuration'] },
+	'beatspliceparamsriseintimedurationscale' => { 437 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationScale'] },
+	'beatspliceparamsriseintimedurationvalue' => { 437 => [\'beatSpliceParams','beatSpliceParamsRiseInTimeDurationValue'] },
+	'beatspliceparamsusefilebeatsmarker' => { 437 => [\'beatSpliceParams','beatSpliceParamsUseFileBeatsMarker'] },
+	'beep' => { 243 => '13.1', 244 => '5.4', 245 => '0.1', 248 => '2.1', 249 => '3.1', 250 => '3.1', 252 => '10.1', 254 => '0.1', 256 => '5.5', 257 => '4.1' },
+	'beeppitch' => { 253 => '3.1' },
+	'beepvolume' => { 253 => '4.5' },
+	'bestqualityscale' => { 109 => 0xc65c },
+	'bestshotmode' => { 104 => 0x3007 },
+	'bitdepth' => { 145 => 'BitDepth', 168 => 0x11, 205 => 0x41 },
+	'bitspercomponent' => { 119 => 0x87 },
+	'bitspersample' => { 109 => 0x102, 433 => 'BitsPerSample' },
+	'blacklevel' => { 109 => 0xc61a, 198 => 0x3d, 264 => [0x401,0x1012], 323 => 0x21d },
+	'blacklevel1' => { 284 => 0x8 },
+	'blacklevel2' => { 263 => 0x600, 267 => 0x600, 284 => 0x9 },
+	'blacklevel3' => { 284 => 0xa },
+	'blacklevelblue' => { 284 => 0x1e },
+	'blackleveldata' => { 323 => 0x223 },
+	'blackleveldeltah' => { 109 => 0xc61b },
+	'blackleveldeltav' => { 109 => 0xc61c },
+	'blacklevelgreen' => { 284 => 0x1d },
+	'blacklevelred' => { 284 => 0x1c },
+	'blacklevelrepeatdim' => { 109 => 0xc619 },
+	'blackpoint' => { 314 => 0x200 },
+	'blacks2012' => { 413 => 'Blacks2012' },
+	'bleachbypasstoning' => { 314 => 0x7f },
+	'blockshotafresponse' => { 246 => '1.5', 247 => '1.5' },
+	'blogtitle' => { 427 => 'blogTitle' },
+	'blogurl' => { 427 => 'blogURL' },
+	'bluebalance' => { 181 => 0x271, 264 => 0x1018, 284 => 0x12, 314 => 0x1b },
+	'bluecurvelimits' => { 99 => 0x1fe },
+	'bluecurvepoints' => { 98 => 0x79, 99 => 0x1d4 },
+	'bluehsl' => { 94 => [0x20914,0x20915] },
+	'bluehue' => { 413 => 'BlueHue' },
+	'bluesaturation' => { 413 => 'BlueSaturation' },
+	'blurcontrol' => { 314 => 0x82 },
+	'blurwarning' => { 114 => 0x1300 },
+	'bodybatteryadload' => { 293 => 0x3 },
+	'bodybatteryadnoload' => { 293 => 0x2 },
+	'bodybatterystate' => { 293 => '1.1' },
+	'bodybatteryvoltage1' => { 293 => 0x2 },
+	'bodybatteryvoltage2' => { 293 => 0x4 },
+	'bodybatteryvoltage3' => { 293 => 0x6 },
+	'bodybatteryvoltage4' => { 293 => 0x8 },
+	'bodyfirmware' => { 340 => 0x0 },
+	'bodyfirmwareversion' => { 260 => 0x104, 261 => 0x100, 264 => 0x104 },
+	'bodyserialnumber' => { 340 => 0x10 },
+	'bookedition' => { 427 => 'bookEdition' },
+	'bracketmode' => { 51 => 0x3 },
+	'bracketsequence' => { 104 => 0x301d },
+	'bracketsettings' => { 280 => 0x45 },
+	'bracketshotnumber' => { 51 => 0x5, 295 => 0x9, 368 => 0x2b },
+	'bracketshotnumber2' => { 368 => 0x2d },
+	'bracketstep' => { 161 => 0xe },
+	'bracketvalue' => { 51 => 0x4 },
+	'brightness' => { 109 => 0xfe53, 139 => 'Brightness', 157 => 'Brightness', 161 => 0x2c, 200 => 0x34, 201 => 0x39, 335 => 0x25, 357 => 0x22, 369 => 0x2007, 413 => 'Brightness' },
+	'brightnessadj' => { 99 => 0x114, 229 => 0x0, 239 => 0x2d, 398 => 0x8018 },
+	'brightnessvalue' => { 109 => 0x9203, 167 => [0x691,0x49c3], 264 => 0x1003, 373 => 0x1e, 376 => 0x1140, 377 => 0x1140, 378 => 0x111c, 379 => 0x1198, 380 => 0x1174, 381 => 0x102c, 382 => 0x224, 383 => 0x224, 417 => 'BrightnessValue' },
+	'bulbduration' => { 69 => 0x18 },
+	'burstmode' => { 125 => 0xa, 280 => 0x2a },
+	'burstmode2' => { 125 => 0x18 },
+	'burstshot' => { 349 => 0x34 },
+	'burstspeed' => { 280 => 0x77 },
 	'burstuuid' => { 1 => 0xb },
-	'buttonfunctioncontroloff' => { 73 => 0x70a },
-	'bwfilter' => { 159 => 0x2a, 167 => 0x39 },
-	'bwmode' => { 260 => 0x203 },
-	'by-line' => { 115 => 0x50 },
-	'by-linetitle' => { 115 => 0x55 },
-	'bytecount' => { 422 => 'byteCount' },
-	'calibration' => { 344 => [0x24,0x30] },
-	'calibrationilluminant1' => { 107 => 0xc65a },
-	'calibrationilluminant2' => { 107 => 0xc65b },
-	'cameraangle' => { 432 => 'cameraAngle' },
-	'cameracalibration1' => { 107 => 0xc623 },
-	'cameracalibration2' => { 107 => 0xc624 },
-	'cameracalibrationsig' => { 107 => 0xc6f3 },
-	'cameracolorcalibration01' => { 33 => 0x0, 39 => 0xba },
-	'cameracolorcalibration02' => { 33 => 0x4, 39 => 0xbf },
-	'cameracolorcalibration03' => { 33 => 0x8, 39 => 0xc4 },
-	'cameracolorcalibration04' => { 33 => 0xc, 39 => 0xc9 },
-	'cameracolorcalibration05' => { 33 => 0x10, 39 => 0xce },
-	'cameracolorcalibration06' => { 33 => 0x14, 39 => 0xd3 },
-	'cameracolorcalibration07' => { 33 => 0x18, 39 => 0xd8 },
-	'cameracolorcalibration08' => { 33 => 0x1c, 39 => 0xdd },
-	'cameracolorcalibration09' => { 33 => 0x20, 39 => 0xe2 },
-	'cameracolorcalibration10' => { 33 => 0x24, 39 => 0xe7 },
-	'cameracolorcalibration11' => { 33 => 0x28, 39 => 0xec },
-	'cameracolorcalibration12' => { 33 => 0x2c, 39 => 0xf1 },
-	'cameracolorcalibration13' => { 33 => 0x30, 39 => 0xf6 },
-	'cameracolorcalibration14' => { 33 => 0x34, 39 => 0xfb },
-	'cameracolorcalibration15' => { 33 => 0x38, 39 => 0x100 },
-	'camerae-mountversion' => { 392 => 0xb },
-	'cameraid' => { 260 => 0x209, 343 => 0x209 },
-	'cameraiso' => { 31 => 0x10 },
-	'cameralabel' => { 107 => 0xc7a1, 432 => 'cameraLabel' },
-	'cameramodel' => { 319 => 0x410, 432 => 'cameraModel' },
-	'cameramodelid' => { 155 => 'CameraModelID' },
-	'cameramove' => { 432 => 'cameraMove' },
-	'cameraorientation' => { 6 => 0x30, 8 => 0x7d, 10 => 0x30, 12 => 0x35, 13 => 0x30, 14 => 0x30, 15 => 0x31, 16 => 0x31, 17 => 0x35, 18 => 0x27, 19 => 0x31, 20 => 0x7d, 21 => 0x38, 22 => 0x36, 23 => 0x7d, 24 => 0x83, 25 => 0x84, 26 => 0x35, 276 => 0x8f, 314 => 0x1, 319 => 0x100, 358 => [0x16,0x18], 381 => 0x28, 382 => 0x24, 383 => 0x29 },
-	'cameraowner' => { 124 => 0xc353 },
-	'cameraparameters' => { 260 => 0x2050 },
-	'camerapicturestyle' => { 26 => 0xaf },
-	'camerapitch' => { 104 => 0x9 },
-	'cameraprofile' => { 408 => 'CameraProfile' },
-	'cameraprofiledigest' => { 408 => 'CameraProfileDigest' },
-	'camerarawcolortone' => { 98 => 0xe1 },
-	'camerarawcontrast' => { 98 => 0xe3 },
-	'camerarawhighlightpoint' => { 98 => 0xe6 },
-	'camerarawlinear' => { 98 => 0xe4 },
-	'camerarawoutputhighlightpoint' => { 98 => 0xe8 },
-	'camerarawoutputshadowpoint' => { 98 => 0xe9 },
-	'camerarawsaturation' => { 98 => 0xe2 },
-	'camerarawshadowpoint' => { 98 => 0xe7 },
-	'camerarawsharpness' => { 98 => 0xe5 },
-	'cameraroll' => { 104 => 0xb },
-	'cameraserialnumber' => { 107 => 0xc62f, 157 => 'CameraSerialNumber' },
-	'camerasettingsversion' => { 255 => 0x0 },
-	'cameratemperature' => { 6 => 0x18, 8 => 0x1b, 10 => 0x18, 12 => 0x19, 13 => 0x18, 14 => 0x18, 15 => 0x19, 16 => 0x19, 17 => 0x19, 18 => 0x17, 19 => 0x19, 20 => 0x1b, 21 => 0x19, 22 => 0x19, 23 => 0x1b, 24 => 0x1b, 25 => 0x1b, 26 => 0x19, 27 => [0x87,0x91], 28 => [0x99,0x9f,0xa4,0xa8,0x105], 30 => ['-3',0x64,0x47,0x53,0x5b,0x5c], 67 => 0xc, 121 => 0x406, 259 => 0x1306, 272 => 0x320, 278 => 0x3402, 310 => 0x47, 341 => 0x43, 385 => 0x5 },
-	'cameratemperature4' => { 315 => 0x14 },
-	'cameratemperature5' => { 315 => 0x16 },
-	'cameratemperaturerangemax' => { 109 => 0x5 },
-	'cameratemperaturerangemin' => { 109 => 0x6 },
-	'cameratype' => { 67 => 0x1a, 260 => 0x207 },
-	'cameratype2' => { 256 => 0x100 },
-	'camerayaw' => { 104 => 0xa },
-	'canondr4' => { 108 => 'CanonDR4' },
-	'canonexposuremode' => { 31 => 0x14 },
-	'canonfiledescription' => { 86 => 0x805 },
-	'canonfilelength' => { 55 => 0xe },
-	'canonfirmwareversion' => { 55 => 0x7, 86 => 0x80b },
-	'canonflashinfo' => { 86 => 0x1028 },
-	'canonflashmode' => { 31 => 0x4 },
-	'canonimagesize' => { 9 => 0x39, 31 => 0xa },
-	'canonimagetype' => { 55 => 0x6, 86 => 0x815 },
-	'canonmodelid' => { 55 => 0x10, 86 => 0x1834 },
-	'canonvrd' => { 108 => 'CanonVRD' },
-	'caption' => { 402 => 'caption' },
-	'caption-abstract' => { 115 => 0x78 },
-	'captionsauthornames' => { 411 => 'CaptionsAuthorNames' },
-	'captionsdatetimestamps' => { 411 => 'CaptionsDateTimeStamps' },
-	'captionwriter' => { 420 => 'CaptionWriter' },
-	'captureframerate' => { 102 => 0x4001 },
-	'capturesoftware' => { 397 => 'CaptureSoftware' },
-	'cardshutterlock' => { 162 => 0x49 },
-	'casioimagesize' => { 102 => 0x9 },
-	'catalogsets' => { 115 => 0xff, 396 => 'CatalogSets', 400 => 'CatalogSets' },
-	'categories' => { 55 => 0x23, 402 => 'categories' },
-	'category' => { 115 => 0xf, 254 => 0x30, 420 => 'Category' },
-	'cbcrgain' => { 341 => 0xa036 },
-	'cbcrgaindefault' => { 341 => 0xa035 },
-	'cbcrmatrix' => { 341 => 0xa034 },
-	'cbcrmatrixdefault' => { 341 => 0xa033 },
-	'ccdboardversion' => { 272 => 0x331 },
-	'ccdscanmode' => { 260 => 0x1039 },
-	'ccdsensitivity' => { 224 => 0x6 },
-	'ccdversion' => { 272 => 0x330 },
-	'cellglobalid' => { 406 => 'cgi' },
-	'celllength' => { 107 => 0x109 },
-	'cellr' => { 406 => 'r' },
-	'celltowerid' => { 406 => 'cellid' },
-	'cellwidth' => { 107 => 0x108 },
-	'centerafarea' => { 250 => '15.1' },
-	'centerfocuspoint' => { 253 => '2.2' },
-	'centerweightedareasize' => { 241 => '7.1', 242 => '8.1', 244 => '8.1', 248 => '5.1', 249 => '7.1', 250 => '6.3', 252 => '8.1', 253 => '8.1' },
-	'certificate' => { 436 => 'Certificate' },
-	'cfapattern' => { 107 => 0xa302, 412 => 'CFAPattern' },
-	'cfapattern2' => { 107 => 0x828e },
-	'cfapatterncolumns' => { 412 => [\'CFAPattern','CFAPatternColumns'] },
-	'cfapatternrows' => { 412 => [\'CFAPattern','CFAPatternRows'] },
-	'cfapatternvalues' => { 412 => [\'CFAPattern','CFAPatternValues'] },
-	'cfarepeatpatterndim' => { 107 => 0x828d },
-	'channel' => { 422 => 'channel' },
-	'channela-lang' => { 422 => [\'channel','channelA-lang'] },
-	'channelchannel' => { 422 => [\'channel','channelChannel'] },
-	'channels' => { 136 => 'Channels' },
-	'channelsubchannel1' => { 422 => [\'channel','channelSubchannel1'] },
-	'channelsubchannel2' => { 422 => [\'channel','channelSubchannel2'] },
-	'channelsubchannel3' => { 422 => [\'channel','channelSubchannel3'] },
-	'channelsubchannel4' => { 422 => [\'channel','channelSubchannel4'] },
-	'checkmark' => { 92 => 0x10101, 97 => 0x26a },
-	'checkmark2' => { 98 => 0x8e },
-	'childfontfiles' => { 437 => [\'Fonts','FontsChildFontFiles'] },
-	'chmodeshootingspeed' => { 241 => '10.3', 242 => '11.2' },
-	'chromablurradius' => { 107 => 0xc631 },
-	'chromaticaberration' => { 92 => 0x20703, 98 => 0x66, 341 => 0xa051 },
-	'chromaticaberrationb' => { 408 => 'ChromaticAberrationB' },
-	'chromaticaberrationblue' => { 92 => 0x20708, 98 => 0x6b },
-	'chromaticaberrationcorr' => { 69 => [0x4,0x5] },
-	'chromaticaberrationcorrection' => { 300 => 0x1 },
-	'chromaticaberrationon' => { 92 => '0x20703.0', 98 => 0x62 },
-	'chromaticaberrationr' => { 408 => 'ChromaticAberrationR' },
-	'chromaticaberrationred' => { 92 => 0x20707, 98 => 0x6a },
-	'chromaticaberrationsetting' => { 70 => 0x6 },
-	'chrominancenoisereduction' => { 92 => 0x20601, 98 => 0x5e, 344 => 0x1a },
-	'chrominancenr_tiff_jpeg' => { 98 => 0x60 },
-	'circgradbasedcorractive' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionActive'] },
-	'circgradbasedcorramount' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionAmount'] },
-	'circgradbasedcorrbrightness' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalBrightness'] },
-	'circgradbasedcorrclarity' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity'] },
-	'circgradbasedcorrclarity2012' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity2012'] },
-	'circgradbasedcorrcontrast' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast'] },
-	'circgradbasedcorrcontrast2012' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast2012'] },
-	'circgradbasedcorrdefringe' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalDefringe'] },
-	'circgradbasedcorrexposure' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure'] },
-	'circgradbasedcorrexposure2012' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure2012'] },
-	'circgradbasedcorrhighlights2012' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalHighlights2012'] },
-	'circgradbasedcorrhue' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalToningHue'] },
-	'circgradbasedcorrluminancenoise' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalLuminanceNoise'] },
-	'circgradbasedcorrmaskalpha' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAlpha'] },
-	'circgradbasedcorrmaskangle' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAngle'] },
-	'circgradbasedcorrmaskbottom' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksBottom'] },
-	'circgradbasedcorrmaskcentervalue' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterValue'] },
-	'circgradbasedcorrmaskcenterweight' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterWeight'] },
-	'circgradbasedcorrmaskdabs' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksDabs'] },
-	'circgradbasedcorrmaskfeather' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFeather'] },
-	'circgradbasedcorrmaskflipped' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlipped'] },
-	'circgradbasedcorrmaskflow' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlow'] },
-	'circgradbasedcorrmaskfullx' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullX'] },
-	'circgradbasedcorrmaskfully' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullY'] },
-	'circgradbasedcorrmaskleft' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksLeft'] },
-	'circgradbasedcorrmaskmidpoint' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMidpoint'] },
-	'circgradbasedcorrmaskperimetervalue' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksPerimeterValue'] },
-	'circgradbasedcorrmaskradius' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRadius'] },
-	'circgradbasedcorrmaskright' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRight'] },
-	'circgradbasedcorrmaskroundness' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRoundness'] },
-	'circgradbasedcorrmasks' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasks'] },
-	'circgradbasedcorrmasksizex' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeX'] },
-	'circgradbasedcorrmasksizey' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeY'] },
-	'circgradbasedcorrmasktop' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksTop'] },
-	'circgradbasedcorrmaskvalue' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMaskValue'] },
-	'circgradbasedcorrmaskversion' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksVersion'] },
-	'circgradbasedcorrmaskwhat' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksWhat'] },
-	'circgradbasedcorrmaskx' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksX'] },
-	'circgradbasedcorrmasky' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksY'] },
-	'circgradbasedcorrmaskzerox' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroX'] },
-	'circgradbasedcorrmaskzeroy' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroY'] },
-	'circgradbasedcorrmoire' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalMoire'] },
-	'circgradbasedcorrsaturation' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSaturation','CircularGradientBasedCorrectionsLocalToningSaturation'] },
-	'circgradbasedcorrshadows2012' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalShadows2012'] },
-	'circgradbasedcorrsharpness' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSharpness'] },
-	'circgradbasedcorrtemperature' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTemperature'] },
-	'circgradbasedcorrtint' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTint'] },
-	'circgradbasedcorrwhat' => { 408 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsWhat'] },
-	'circulargradientbasedcorrections' => { 408 => 'CircularGradientBasedCorrections' },
-	'city' => { 115 => 0x5a, 142 => 'City', 276 => 0x6d, 420 => 'City' },
-	'city2' => { 276 => 0x80 },
-	'clarity' => { 199 => 0x35, 408 => 'Clarity' },
-	'clarity2012' => { 408 => 'Clarity2012' },
-	'classifystate' => { 115 => 0xe1 },
-	'clearretouch' => { 276 => 0x7c },
-	'clearretouchvalue' => { 276 => 0xa3 },
-	'client' => { 432 => 'client' },
-	'clientname' => { 414 => 'ClientName' },
-	'clmodeshootingspeed' => { 241 => '10.2', 242 => '11.3', 244 => '11.2', 248 => '11.2', 249 => '10.2', 252 => '11.2', 253 => '11.1' },
-	'cmcontrast' => { 263 => 0x2022 },
-	'cmexposurecompensation' => { 263 => 0x2000 },
-	'cmhue' => { 263 => 0x2021 },
-	'cmsaturation' => { 263 => 0x2020 },
-	'cmsharpness' => { 263 => 0x2023 },
-	'cmwhitebalance' => { 263 => 0x2001 },
-	'cmwhitebalancecomp' => { 263 => 0x2002 },
-	'cmwhitebalancegraypoint' => { 263 => 0x2010 },
-	'codec' => { 150 => 'Codec' },
-	'codedcharacterset' => { 116 => 0x5a },
-	'collectionname' => { 151 => [\'Collections','CollectionsCollectionName'] },
-	'collections' => { 151 => 'Collections', 402 => 'collections' },
-	'collectionuri' => { 151 => [\'Collections','CollectionsCollectionURI'] },
-	'color' => { 421 => 'color' },
-	'coloraberrationcontrol' => { 234 => 0xc89224b },
-	'coloradjustment' => { 344 => 0x14 },
-	'coloradjustmentmode' => { 343 => 0x210 },
-	'coloranta' => { 437 => [\'Colorants','ColorantsA'] },
-	'colorantb' => { 437 => [\'Colorants','ColorantsB'] },
-	'colorantblack' => { 437 => [\'Colorants','ColorantsBlack'] },
-	'colorantblue' => { 437 => [\'Colorants','ColorantsBlue'] },
-	'colorantcyan' => { 437 => [\'Colorants','ColorantsCyan'] },
-	'colorantgray' => { 437 => [\'Colorants','ColorantsGray'] },
-	'colorantgreen' => { 437 => [\'Colorants','ColorantsGreen'] },
-	'colorantl' => { 437 => [\'Colorants','ColorantsL'] },
-	'colorantmagenta' => { 437 => [\'Colorants','ColorantsMagenta'] },
-	'colorantmode' => { 437 => [\'Colorants','ColorantsMode'] },
-	'colorantred' => { 437 => [\'Colorants','ColorantsRed'] },
-	'colorants' => { 437 => 'Colorants' },
-	'colorantswatchname' => { 437 => [\'Colorants','ColorantsSwatchName'] },
-	'coloranttint' => { 437 => [\'Colorants','ColorantsTint'] },
-	'coloranttype' => { 437 => [\'Colorants','ColorantsType'] },
-	'colorantyellow' => { 437 => [\'Colorants','ColorantsYellow'] },
-	'colorbalance' => { 137 => 'ColorBalance' },
-	'colorbalanceadj' => { 234 => 0x76a43202 },
-	'colorbalanceblue' => { 159 => 0x1e },
-	'colorbalancegreen' => { 159 => 0x1d },
-	'colorbalancered' => { 159 => 0x1c },
-	'colorbalanceversion' => { 180 => 0x0 },
-	'colorblur' => { 98 => 0x65 },
-	'colorbluron' => { 92 => 0x20704 },
-	'colorbooster' => { 234 => 0x5f0e7d23 },
-	'colorboostlevel' => { 228 => 0x1 },
-	'colorboosttype' => { 228 => 0x0 },
-	'colorclass' => { 321 => 0xde, 322 => 'ColorClass' },
-	'colorcompensationfilter' => { 162 => [0x3a,0x5f], 164 => 0x111, 364 => 0xb022 },
-	'colorcompensationfiltercustom' => { 352 => 0xd, 353 => 0xc },
-	'colorcompensationfilterset' => { 352 => 0x8, 353 => 0x7, 354 => 0x18, 368 => 0xf },
-	'colorcontrol' => { 260 => 0x102b },
-	'colorcorrection' => { 393 => 0x8015 },
-	'colorcreatoreffect' => { 255 => 0x532 },
-	'colordataversion' => { 37 => 0x0, 38 => 0x0, 40 => 0x0, 41 => 0x0, 42 => 0x0 },
-	'coloreffect' => { 276 => 0x28 },
-	'colorfilter' => { 101 => 0x17, 102 => 0x3017, 159 => 0x29, 167 => [0x38,0x4d,0x4f], 317 => 0x17 },
-	'colorgain' => { 203 => 0x51 },
-	'colorhue' => { 92 => 0x20900, 196 => 0x8d },
-	'colorimetricreference' => { 107 => 0xc6bf },
-	'colorlabel' => { 411 => 'ColorLabel' },
-	'colormatrix' => { 259 => 0x200, 260 => 0x1011, 341 => 0xa030 },
-	'colormatrix1' => { 107 => 0xc621, 319 => 0x106 },
-	'colormatrix2' => { 107 => 0xc622, 263 => 0x200, 319 => 0x226 },
-	'colormatrixa' => { 310 => 0x203 },
-	'colormatrixadobergb' => { 341 => 0xa032 },
-	'colormatrixb' => { 310 => 0x204 },
-	'colormatrixnumber' => { 260 => 0x1019 },
-	'colormatrixsrgb' => { 341 => 0xa031 },
-	'colormode' => { 102 => 0x3015, 112 => 0x1210, 123 => 0x66, 159 => 0x28, 162 => 0x16, 164 => 0x101, 165 => 0x36, 167 => 0x7, 196 => 0x3, 224 => 0x4, 276 => 0x32, 344 => 0x2c, 364 => 0xb029, 420 => 'ColorMode' },
-	'colormoirereduction' => { 235 => 0x15 },
-	'colormoirereductionmode' => { 235 => 0x5 },
-	'colornoisereduction' => { 393 => 0x8029, 408 => 'ColorNoiseReduction' },
-	'colornoisereductiondetail' => { 408 => 'ColorNoiseReductionDetail' },
-	'colornoisereductionintensity' => { 235 => 0x18 },
-	'colornoisereductionsharpness' => { 235 => 0x1c },
-	'colornoisereductionsmoothness' => { 408 => 'ColorNoiseReductionSmoothness' },
-	'colorplanes' => { 111 => 0x2 },
-	'colorprofile' => { 159 => 0x33 },
-	'colorprofilesettings' => { 255 => 0x539 },
-	'colorrepresentation' => { 117 => 0x3c },
-	'colorsaturationadj' => { 92 => 0x20305 },
-	'colorsequence' => { 117 => 0x41 },
-	'colorspace' => { 43 => 0x3, 55 => 0xb4, 86 => 0x10b4, 107 => 0xa001, 143 => 'ColorSpace', 160 => 0x2f, 161 => 0x25, 162 => 0x17, 196 => 0x1e, 255 => 0x507, 310 => 0x37, 341 => 0xa011, 344 => 0xb, 352 => 0x1b, 353 => 0x83, 354 => 0xe, 368 => 0x6, 412 => 'ColorSpace' },
-	'colortempasshot' => { 34 => 0x4, 35 => 0x1d, 36 => 0x26, 37 => 0x43, 40 => 0x43, 41 => 0x43, 42 => 0x43 },
-	'colortempauto' => { 34 => 0x9, 35 => 0x22, 36 => 0x1c, 37 => 0x48, 40 => 0x48, 41 => 0x48, 42 => 0x48 },
-	'colortempcloudy' => { 34 => 0x22, 35 => 0x31, 36 => 0x35, 37 => 0x5c, 40 => 0x75, 41 => 0x8e, 42 => 0x93, 310 => 0x55 },
-	'colortempcustom' => { 37 => 0x84 },
-	'colortempcustom1' => { 35 => 0x45 },
-	'colortempcustom2' => { 35 => 0x4a },
-	'colortempdaylight' => { 34 => 0x18, 35 => 0x27, 36 => 0x2b, 37 => 0x52, 40 => 0x6b, 41 => 0x84, 42 => 0x89, 310 => 0x53 },
-	'colortemperature' => { 6 => 0x73, 7 => [0x48,0x4e], 8 => 0xc0, 9 => 0x37, 10 => 0x62, 11 => 0x37, 12 => 0x7c, 13 => 0x73, 14 => 0x73, 15 => 0x77, 16 => 0x73, 17 => 0x7c, 18 => 0x58, 19 => 0x73, 20 => 0xc0, 21 => 0x7f, 22 => 0x7d, 23 => 0xc0, 24 => 0xc6, 25 => 0xc7, 26 => 0x7b, 55 => 0xae, 65 => 0x9, 86 => 0x10ae, 112 => 0x1005, 121 => 0x846, 137 => 'ColorTemperature', 160 => [0x6e,0x49], 161 => 0x3f, 162 => [0x39,0x5e], 164 => 0x10b, 167 => [0x3c,0x4c,0x4e], 272 => 0x321, 310 => 0x50,  [...]
-	'colortemperatureadj' => { 393 => 0x8013 },
-	'colortemperaturebg' => { 260 => 0x1013 },
-	'colortemperaturecustom' => { 352 => 0xc, 353 => 0xb },
-	'colortemperaturerg' => { 260 => 0x1014 },
-	'colortemperatureset' => { 352 => 0x7, 353 => 0x6 },
-	'colortemperaturesetting' => { 162 => 0x25, 354 => 0x17, 368 => 0xe },
-	'colortempflash' => { 34 => 0x36, 35 => 0x40, 36 => 0x49, 37 => 0x70, 40 => 0x89, 41 => 0xa2, 42 => 0xa7, 310 => 0x5a },
-	'colortempflashdata' => { 37 => 0x24a },
-	'colortempfluorescent' => { 34 => 0x2c, 35 => 0x3b, 36 => 0x3f, 37 => 0x66, 40 => 0x7f, 41 => 0x98, 42 => 0x9d },
-	'colortempfluorescentd' => { 310 => 0x57 },
-	'colortempfluorescentn' => { 310 => 0x58 },
-	'colortempfluorescentw' => { 310 => 0x59 },
-	'colortempkelvin' => { 34 => 0x31, 36 => 0x44, 37 => 0x6b, 40 => 0x84, 41 => 0x9d, 42 => 0xa2, 276 => 0x44, 335 => 0x1307 },
-	'colortempmeasured' => { 34 => 0xe, 37 => 0x4d, 40 => 0x4d, 41 => 0x4d, 42 => 0x4d },
-	'colortemppc1' => { 36 => 0x94, 37 => 0x75 },
-	'colortemppc2' => { 36 => 0x99, 37 => 0x7a },
-	'colortemppc3' => { 36 => 0x9e, 37 => 0x7f },
-	'colortempshade' => { 34 => 0x1d, 35 => 0x2c, 36 => 0x30, 37 => 0x57, 40 => 0x70, 41 => 0x89, 42 => 0x8e, 310 => 0x54 },
-	'colortemptungsten' => { 34 => 0x27, 35 => 0x36, 36 => 0x3a, 37 => 0x61, 40 => 0x7a, 41 => 0x93, 42 => 0x98, 310 => 0x56 },
-	'colortempunknown' => { 34 => 0x13, 36 => 0x21, 40 => 0x52, 41 => 0x52, 42 => 0x52 },
-	'colortempunknown10' => { 34 => 0x63, 36 => 0x76, 40 => 0xa2, 41 => 0x7f, 42 => 0x7f },
-	'colortempunknown11' => { 34 => 0x68, 36 => 0x7b, 40 => 0xa7, 41 => 0xa7, 42 => 0x84 },
-	'colortempunknown12' => { 34 => 0x6d, 36 => 0x80, 40 => 0xac, 41 => 0xac, 42 => 0xac },
-	'colortempunknown13' => { 34 => 0x72, 36 => 0x85, 40 => 0xb1, 41 => 0xb1, 42 => 0xb1 },
-	'colortempunknown14' => { 36 => 0x8a, 40 => 0xb6, 41 => 0xb6, 42 => 0xb6 },
-	'colortempunknown15' => { 36 => 0x8f, 40 => 0xbb, 41 => 0xbb, 42 => 0xbb },
-	'colortempunknown16' => { 36 => 0xa3, 41 => 0xc0, 42 => 0xc0 },
-	'colortempunknown17' => { 41 => 0xc5, 42 => 0xc5 },
-	'colortempunknown18' => { 41 => 0xca, 42 => 0xca },
-	'colortempunknown19' => { 41 => 0xcf, 42 => 0xcf },
-	'colortempunknown2' => { 34 => 0x3b, 36 => 0x4e, 40 => 0x57, 41 => 0x57, 42 => 0x57 },
-	'colortempunknown20' => { 41 => 0xd4, 42 => 0xd4 },
-	'colortempunknown21' => { 42 => 0xd9 },
-	'colortempunknown22' => { 42 => 0xde },
-	'colortempunknown23' => { 42 => 0xe3 },
-	'colortempunknown24' => { 42 => 0xe8 },
-	'colortempunknown25' => { 42 => 0xed },
-	'colortempunknown26' => { 42 => 0xf2 },
-	'colortempunknown27' => { 42 => 0xf7 },
-	'colortempunknown28' => { 42 => 0xfc },
-	'colortempunknown29' => { 42 => 0x101 },
-	'colortempunknown3' => { 34 => 0x40, 36 => 0x53, 40 => 0x5c, 41 => 0x5c, 42 => 0x5c },
-	'colortempunknown30' => { 42 => 0x106 },
-	'colortempunknown4' => { 34 => 0x45, 36 => 0x58, 40 => 0x61, 41 => 0x61, 42 => 0x61 },
-	'colortempunknown5' => { 34 => 0x4a, 36 => 0x5d, 40 => 0x66, 41 => 0x66, 42 => 0x66 },
-	'colortempunknown6' => { 34 => 0x4f, 36 => 0x62, 40 => 0x8e, 41 => 0x6b, 42 => 0x6b },
-	'colortempunknown7' => { 34 => 0x54, 36 => 0x67, 40 => 0x93, 41 => 0x70, 42 => 0x70 },
-	'colortempunknown8' => { 34 => 0x59, 36 => 0x6c, 40 => 0x98, 41 => 0x75, 42 => 0x75 },
-	'colortempunknown9' => { 34 => 0x5e, 36 => 0x71, 40 => 0x9d, 41 => 0x7a, 42 => 0x7a },
-	'colortone' => { 9 => 0x6f, 11 => 0x77, 31 => 0x2a, 43 => 0x2 },
-	'colortoneadj' => { 92 => 0x20304, 97 => 0x11e },
-	'colortoneauto' => { 62 => 0x9c },
-	'colortonefaithful' => { 18 => 0x107, 61 => 0x6c, 62 => 0x6c },
-	'colortonelandscape' => { 18 => 0x105, 61 => 0x3c, 62 => 0x3c },
-	'colortonemonochrome' => { 61 => 0x84, 62 => 0x84 },
-	'colortoneneutral' => { 18 => 0x106, 61 => 0x54, 62 => 0x54 },
-	'colortoneportrait' => { 18 => 0x104, 61 => 0x24, 62 => 0x24 },
-	'colortonestandard' => { 18 => 0x103, 61 => 0xc, 62 => 0xc },
-	'colortoneuserdef1' => { 18 => 0x109, 61 => 0x9c, 62 => 0xb4 },
-	'colortoneuserdef2' => { 18 => 0x10a, 61 => 0xb4, 62 => 0xcc },
-	'colortoneuserdef3' => { 18 => 0x10b, 61 => 0xcc, 62 => 0xe4 },
-	'commanddials' => { 250 => '5.1' },
-	'commanddialsaperturesetting' => { 241 => '17.3', 242 => '18.3', 244 => '18.3', 248 => '33.3', 249 => '17.3', 252 => '18.3' },
-	'commanddialschangemainsub' => { 241 => '17.2', 242 => '18.1', 244 => '18.1', 248 => '33.2', 249 => '17.2', 252 => '18.1' },
-	'commanddialsmenuandplayback' => { 241 => '17.4', 242 => '18.2', 244 => '18.2', 248 => '33.4', 249 => '17.4', 252 => '18.2' },
-	'commanddialsreverserotation' => { 241 => '17.1', 242 => '6.4', 244 => '6.2', 245 => '16.2', 246 => '17.2', 248 => '33.1', 249 => '17.1', 252 => '6.2', 253 => '18.1' },
-	'commanderchannel' => { 250 => '10.2', 251 => '25.2' },
-	'commandergroupa_ttl-aacomp' => { 250 => '13.1', 251 => '31.1' },
-	'commandergroupa_ttlcomp' => { 253 => '32.1' },
-	'commandergroupamanualoutput' => { 250 => '13.2', 251 => '28.2' },
-	'commandergroupamode' => { 250 => '11.2', 251 => '28.1' },
-	'commandergroupb_ttl-aacomp' => { 250 => '14.1', 251 => '32.1' },
-	'commandergroupb_ttlcomp' => { 253 => '33.1' },
-	'commandergroupbmanualoutput' => { 250 => '14.2', 251 => '29.2' },
-	'commandergroupbmode' => { 250 => '11.3', 251 => '29.1' },
-	'commanderinternalflash' => { 250 => '11.1', 251 => '27.1' },
-	'commanderinternalmanualoutput' => { 250 => '12.2', 251 => '27.2' },
-	'commanderinternalttlchannel' => { 248 => '18.2' },
-	'commanderinternalttlcomp' => { 250 => '12.1', 251 => '30.2', 253 => '31.2' },
-	'commanderinternalttlcompbuiltin' => { 248 => '20.1', 249 => '26.1' },
-	'commanderinternalttlcompgroupa' => { 248 => '21.1', 249 => '27.1' },
-	'commanderinternalttlcompgroupb' => { 248 => '22.1', 249 => '28.1' },
-	'comment' => { 0 => 0x2, 108 => 'Comment', 138 => 'Comment', 268 => 'Comment' },
-	'compass' => { 338 => 0x4 },
-	'complianceprofile' => { 422 => 'complianceProfile' },
-	'componentsconfiguration' => { 107 => 0x9101, 143 => 'Components', 412 => 'ComponentsConfiguration' },
-	'componentversion' => { 86 => 0x80c },
-	'composer' => { 432 => 'composer' },
-	'compositionadjust' => { 309 => '0.1' },
-	'compositionadjustrotation' => { 309 => 0x7 },
-	'compositionadjustx' => { 309 => 0x5 },
-	'compositionadjusty' => { 309 => 0x6 },
-	'compressedbitsperpixel' => { 107 => 0x9102, 412 => 'CompressedBitsPerPixel' },
-	'compressedimagesize' => { 164 => 0x40, 260 => 0x40 },
-	'compression' => { 107 => 0x103, 428 => 'Compression' },
-	'compressionfactor' => { 255 => 0x50d },
-	'compressionratio' => { 143 => 'Compression', 260 => 0x1034 },
-	'confidencelevel' => { 403 => 'ConfidenceLevel' },
-	'constrainedcropheight' => { 97 => 0x266, 321 => 0xd6 },
-	'constrainedcropwidth' => { 97 => 0x262, 321 => 0xd5 },
-	'contact' => { 115 => 0x76 },
-	'contactinfo' => { 421 => 'contactInfo' },
-	'contentlocationcode' => { 115 => 0x1a },
-	'contentlocationname' => { 115 => 0x1b },
-	'contenttype' => { 422 => 'contentType' },
-	'continuousbracketing' => { 162 => 0x20 },
-	'continuousdrive' => { 31 => 0x5 },
-	'continuousshootingspeed' => { 73 => 0x610 },
-	'continuousshotlimit' => { 73 => 0x611 },
-	'contrast' => { 9 => 0x73, 11 => 0x75, 31 => 0xd, 101 => 0xc, 102 => [0x3012,0x20], 107 => [0xa408,0xfe54], 112 => [0x1004,0x1006], 137 => 'Contrast', 155 => 'Contrast', 159 => 0x20, 160 => 0x31, 161 => 0x27, 162 => 0x19, 167 => 0x2, 198 => 0x33, 199 => 0x37, 260 => 0x1029, 276 => 0x39, 278 => 0x300a, 310 => 0x20, 317 => 0xc, 331 => 0x24, 335 => 0x1012, 344 => 0xd, 352 => 0x1d, 353 => 0x1a, 364 => 0x2004, 408 => 'Contrast', 412 => 'Contrast' },
-	'contrast2012' => { 408 => 'Contrast2012' },
-	'contrastadj' => { 92 => 0x20303, 97 => 0x115, 237 => 0x2c, 393 => 0x8017 },
-	'contrastauto' => { 62 => 0x90 },
-	'contrastcurve' => { 196 => 0x8c },
-	'contrastdetectaf' => { 171 => 0x4 },
-	'contrastdetectafarea' => { 310 => 0x231 },
-	'contrastdetectafinfocus' => { 171 => 0x1c },
-	'contrastfaithful' => { 18 => 0xec, 61 => 0x60, 62 => 0x60 },
-	'contrasthighlight' => { 310 => 0x6d },
-	'contrasthighlightshadowadj' => { 310 => 0x6f },
-	'contrastlandscape' => { 18 => 0xea, 61 => 0x30, 62 => 0x30 },
-	'contrastmode' => { 276 => 0x2c },
-	'contrastmonochrome' => { 18 => 0xed, 61 => 0x78, 62 => 0x78 },
-	'contrastneutral' => { 18 => 0xeb, 61 => 0x48, 62 => 0x48 },
-	'contrastportrait' => { 18 => 0xe9, 61 => 0x18, 62 => 0x18 },
-	'contrastsetting' => { 255 => 0x505, 263 => 0x1012, 354 => 0x10, 368 => 0x8 },
-	'contrastshadow' => { 310 => 0x6e },
-	'contraststandard' => { 18 => 0xe8, 61 => 0x0, 62 => 0x0 },
-	'contrastuserdef1' => { 18 => 0xee, 61 => 0x90, 62 => 0xa8 },
-	'contrastuserdef2' => { 18 => 0xef, 61 => 0xa8, 62 => 0xc0 },
-	'contrastuserdef3' => { 18 => 0xf0, 61 => 0xc0, 62 => 0xd8 },
-	'contributedmedia' => { 432 => 'contributedMedia' },
-	'contributedmediaduration' => { 432 => [\'contributedMedia','contributedMediaDuration'] },
-	'contributedmediadurationscale' => { 432 => [\'contributedMedia','contributedMediaDurationScale'] },
-	'contributedmediadurationvalue' => { 432 => [\'contributedMedia','contributedMediaDurationValue'] },
-	'contributedmediamanaged' => { 432 => [\'contributedMedia','contributedMediaManaged'] },
-	'contributedmediapath' => { 432 => [\'contributedMedia','contributedMediaPath'] },
-	'contributedmediastarttime' => { 432 => [\'contributedMedia','contributedMediaStartTime'] },
-	'contributedmediastarttimescale' => { 432 => [\'contributedMedia','contributedMediaStartTimeScale'] },
-	'contributedmediastarttimevalue' => { 432 => [\'contributedMedia','contributedMediaStartTimeValue'] },
-	'contributedmediatrack' => { 432 => [\'contributedMedia','contributedMediaTrack'] },
-	'contributedmediawebstatement' => { 432 => [\'contributedMedia','contributedMediaWebStatement'] },
-	'contributor' => { 409 => 'contributor' },
-	'contributors' => { 138 => 'Contributors' },
-	'controldialset' => { 162 => 0x46 },
-	'controlledvocabularyterm' => { 418 => 'CVterm' },
-	'controllerboardversion' => { 272 => 0x332 },
-	'controlmode' => { 67 => 0x12 },
-	'conversionlens' => { 256 => 0x403, 276 => 0x35 },
-	'converter' => { 107 => 0xfe4d, 224 => 0xb, 408 => 'Converter' },
-	'converttograyscale' => { 408 => 'ConvertToGrayscale' },
-	'cookingequipment' => { 424 => 'cookingEquipment' },
-	'cookingmethod' => { 424 => 'cookingMethod' },
-	'copyright' => { 0 => 0x3, 107 => 0x8298, 138 => 'Copyright', 268 => 'Copyright', 310 => 0x22f, 326 => 'Copyright', 419 => 'Copyright', 425 => 'copyright', 428 => 'Copyright', 432 => 'copyright' },
-	'copyrightflag' => { 324 => 0x40a },
-	'copyrightnotice' => { 115 => 0x74 },
-	'copyrightowner' => { 265 => 'CopyrightOwner' },
-	'copyrightownerid' => { 265 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerID'] },
-	'copyrightownerimageid' => { 265 => 'CopyrightOwnerImageID' },
-	'copyrightownername' => { 265 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerName'] },
-	'copyrightregistrationnumber' => { 265 => 'CopyrightRegistrationNumber' },
-	'copyrightstatus' => { 265 => 'CopyrightStatus' },
-	'copyrightyear' => { 422 => 'copyrightYear' },
-	'coringfilter' => { 259 => 0x310, 260 => 0x102d, 263 => 0x310 },
-	'coringvalues' => { 259 => 0x311, 263 => 0x311 },
-	'corporateentity' => { 422 => 'corporateEntity' },
-	'country' => { 142 => 'Country', 276 => 0x69, 420 => 'Country' },
-	'country-primarylocationcode' => { 115 => 0x64 },
-	'country-primarylocationname' => { 115 => 0x65 },
-	'countrycode' => { 195 => 0x5, 322 => 'CountryCode', 417 => 'CountryCode' },
-	'course' => { 424 => 'course' },
-	'coverage' => { 409 => 'coverage' },
-	'coverdate' => { 422 => 'coverDate' },
-	'coverdisplaydate' => { 422 => 'coverDisplayDate' },
-	'cpufirmwareversion' => { 310 => 0x28 },
-	'crc32' => { 410 => 'crc32' },
-	'createdate' => { 107 => 0x9004, 138 => 'CreateDate', 264 => 'CreationDate', 268 => 'create-date', 326 => 'CreationDate', 328 => 0x1, 430 => 'CreateDate' },
-	'creationdate' => { 419 => 'CreationDate', 422 => 'creationDate' },
-	'creationtime' => { 268 => 'Creation Time' },
-	'creativestyle' => { 352 => 0x1a, 353 => 0x18, 363 => 0x41, 364 => 0xb020, 389 => 0x4a },
-	'creativestylesetting' => { 354 => 0xf, 368 => 0x7 },
-	'creativestylewaschanged' => { 393 => 0x8001 },
-	'creator' => { 264 => 'Creator', 326 => 'Creator', 409 => 'creator', 419 => 'Creator' },
-	'creatoraddress' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiAdrExtadr'] },
-	'creatorappid' => { 157 => 'CreatorAppId' },
-	'creatorcity' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCity'] },
-	'creatorcontactinfo' => { 417 => 'CreatorContactInfo' },
-	'creatorcountry' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCtry'] },
-	'creatoropenwithuioptions' => { 157 => 'CreatorOpenWithUIOptions' },
-	'creatorpostalcode' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiAdrPcode'] },
-	'creatorregion' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiAdrRegion'] },
-	'creatortool' => { 430 => 'CreatorTool' },
-	'creatorworkemail' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiEmailWork'] },
-	'creatorworktelephone' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiTelWork'] },
-	'creatorworkurl' => { 417 => [\'CreatorContactInfo','CreatorContactInfoCiUrlWork'] },
-	'credit' => { 115 => 0x6e, 420 => 'Credit' },
-	'creditline' => { 425 => 'creditLine' },
-	'creditlinereq' => { 435 => 'CreditLineReq' },
-	'creditlinerequired' => { 265 => 'CreditLineRequired' },
-	'cropactive' => { 90 => 0x0, 97 => 0x244 },
-	'cropangle' => { 408 => 'CropAngle' },
-	'cropaspectratio' => { 92 => 0x30101, 97 => 0x260 },
-	'cropaspectratiocustom' => { 92 => 0x30102 },
-	'cropbottom' => { 111 => 0x9, 229 => 0x36, 280 => 0x31, 321 => 0xdc, 408 => 'CropBottom' },
-	'cropbottommargin' => { 45 => 0x3 },
-	'cropcircleactive' => { 98 => 0xd6 },
-	'cropcircleradius' => { 98 => 0xd9 },
-	'cropcirclex' => { 98 => 0xd7 },
-	'cropcircley' => { 98 => 0xd8 },
-	'cropconstraintowarp' => { 408 => 'CropConstrainToWarp' },
-	'croph' => { 401 => 'CropH' },
-	'cropheight' => { 90 => 0x6, 97 => 0x24c, 259 => 0x615, 263 => 0x615, 408 => 'CropHeight' },
-	'crophispeed' => { 196 => 0x1b },
-	'cropleft' => { 97 => 0x246, 111 => 0x6, 229 => 0x1e, 259 => 0x612, 263 => 0x612, 280 => 0x30, 321 => 0xd9, 408 => 'CropLeft' },
-	'cropleftmargin' => { 45 => 0x0 },
-	'cropmode35mm' => { 335 => 0x1018 },
-	'croporiginalheight' => { 90 => 0xb },
-	'croporiginalwidth' => { 90 => 0xa },
-	'cropoutputheight' => { 229 => 0xce },
-	'cropoutputheightinches' => { 229 => 0x96 },
-	'cropoutputpixels' => { 229 => 0xd6 },
-	'cropoutputresolution' => { 229 => 0xb6 },
-	'cropoutputscale' => { 229 => 0xbe },
-	'cropoutputwidth' => { 229 => 0xc6 },
-	'cropoutputwidthinches' => { 229 => 0x8e },
-	'croppedareaimageheightpixels' => { 397 => 'CroppedAreaImageHeightPixels' },
-	'croppedareaimagewidthpixels' => { 397 => 'CroppedAreaImageWidthPixels' },
-	'croppedarealeftpixels' => { 397 => 'CroppedAreaLeftPixels' },
-	'croppedareatoppixels' => { 397 => 'CroppedAreaTopPixels' },
-	'croppedimageheight' => { 5 => 0x2, 335 => 0x1604 },
+	'buttonfunctioncontroloff' => { 75 => 0x70a },
+	'bwfilter' => { 161 => 0x2a, 169 => 0x39 },
+	'bwmode' => { 264 => 0x203 },
+	'by-line' => { 117 => 0x50 },
+	'by-linetitle' => { 117 => 0x55 },
+	'bytecount' => { 427 => 'byteCount' },
+	'calibration' => { 349 => [0x24,0x30] },
+	'calibrationilluminant1' => { 109 => 0xc65a },
+	'calibrationilluminant2' => { 109 => 0xc65b },
+	'cameraangle' => { 437 => 'cameraAngle' },
+	'cameracalibration1' => { 109 => 0xc623 },
+	'cameracalibration2' => { 109 => 0xc624 },
+	'cameracalibrationsig' => { 109 => 0xc6f3 },
+	'cameracolorcalibration01' => { 35 => 0x0, 41 => 0xba },
+	'cameracolorcalibration02' => { 35 => 0x4, 41 => 0xbf },
+	'cameracolorcalibration03' => { 35 => 0x8, 41 => 0xc4 },
+	'cameracolorcalibration04' => { 35 => 0xc, 41 => 0xc9 },
+	'cameracolorcalibration05' => { 35 => 0x10, 41 => 0xce },
+	'cameracolorcalibration06' => { 35 => 0x14, 41 => 0xd3 },
+	'cameracolorcalibration07' => { 35 => 0x18, 41 => 0xd8 },
+	'cameracolorcalibration08' => { 35 => 0x1c, 41 => 0xdd },
+	'cameracolorcalibration09' => { 35 => 0x20, 41 => 0xe2 },
+	'cameracolorcalibration10' => { 35 => 0x24, 41 => 0xe7 },
+	'cameracolorcalibration11' => { 35 => 0x28, 41 => 0xec },
+	'cameracolorcalibration12' => { 35 => 0x2c, 41 => 0xf1 },
+	'cameracolorcalibration13' => { 35 => 0x30, 41 => 0xf6 },
+	'cameracolorcalibration14' => { 35 => 0x34, 41 => 0xfb },
+	'cameracolorcalibration15' => { 35 => 0x38, 41 => 0x100 },
+	'camerae-mountversion' => { 397 => 0xb },
+	'cameraelevationangle' => { 109 => 0x9405 },
+	'cameraid' => { 264 => 0x209, 348 => 0x209 },
+	'cameraiso' => { 33 => 0x10 },
+	'cameralabel' => { 109 => 0xc7a1, 437 => 'cameraLabel' },
+	'cameramodel' => { 323 => 0x410, 437 => 'cameraModel' },
+	'cameramodelid' => { 157 => 'CameraModelID' },
+	'cameramove' => { 437 => 'cameraMove' },
+	'cameraorientation' => { 6 => 0x30, 8 => 0x7d, 10 => 0x30, 12 => 0x35, 13 => 0x30, 14 => 0x30, 15 => 0x31, 16 => 0x31, 17 => 0x35, 18 => 0x27, 19 => 0x31, 20 => 0x7d, 21 => 0x38, 22 => 0x36, 23 => 0x7d, 24 => 0x83, 25 => 0x84, 27 => 0x35, 28 => 0x96, 280 => 0x8f, 318 => 0x1, 323 => 0x100, 363 => [0x16,0x18], 386 => 0x28, 387 => 0x24, 388 => 0x29 },
+	'cameraowner' => { 126 => 0xc353 },
+	'cameraparameters' => { 264 => 0x2050 },
+	'camerapicturestyle' => { 27 => 0xaf },
+	'camerapitch' => { 106 => 0x9 },
+	'cameraprofile' => { 413 => 'CameraProfile' },
+	'cameraprofiledigest' => { 413 => 'CameraProfileDigest' },
+	'camerarawcolortone' => { 100 => 0xe1 },
+	'camerarawcontrast' => { 100 => 0xe3 },
+	'camerarawhighlightpoint' => { 100 => 0xe6 },
+	'camerarawlinear' => { 100 => 0xe4 },
+	'camerarawoutputhighlightpoint' => { 100 => 0xe8 },
+	'camerarawoutputshadowpoint' => { 100 => 0xe9 },
+	'camerarawsaturation' => { 100 => 0xe2 },
+	'camerarawshadowpoint' => { 100 => 0xe7 },
+	'camerarawsharpness' => { 100 => 0xe5 },
+	'cameraroll' => { 106 => 0xb },
+	'cameraserialnumber' => { 109 => 0xc62f, 159 => 'CameraSerialNumber' },
+	'camerasettingsversion' => { 259 => 0x0 },
+	'cameratemperature' => { 6 => 0x18, 8 => 0x1b, 10 => 0x18, 12 => 0x19, 13 => 0x18, 14 => 0x18, 15 => 0x19, 16 => 0x19, 17 => 0x19, 18 => 0x17, 19 => 0x19, 20 => 0x1b, 21 => 0x19, 22 => 0x19, 23 => 0x1b, 24 => 0x1b, 25 => 0x1b, 26 => 0x1b, 27 => 0x19, 28 => 0x1b, 29 => [0x87,0x91], 30 => [0x99,0x9f,0xa4,0xa8,0x105], 32 => ['-3',0x64,0x47,0x53,0x5b,0x5c], 69 => 0xc, 123 => 0x406, 263 => 0x1306, 276 => 0x320, 282 => 0x3402, 314 => 0x47, 346 => 0x43, 390 => 0x5 },
+	'cameratemperature4' => { 319 => 0x14 },
+	'cameratemperature5' => { 319 => 0x16 },
+	'cameratemperaturerangemax' => { 111 => 0x5 },
+	'cameratemperaturerangemin' => { 111 => 0x6 },
+	'cameratype' => { 69 => 0x1a, 264 => 0x207 },
+	'cameratype2' => { 260 => 0x100 },
+	'camerayaw' => { 106 => 0xa },
+	'canondr4' => { 110 => 'CanonDR4' },
+	'canonexposuremode' => { 33 => 0x14 },
+	'canonfiledescription' => { 88 => 0x805 },
+	'canonfilelength' => { 57 => 0xe },
+	'canonfirmwareversion' => { 57 => 0x7, 88 => 0x80b },
+	'canonflashinfo' => { 88 => 0x1028 },
+	'canonflashmode' => { 33 => 0x4 },
+	'canonimagesize' => { 9 => 0x39, 33 => 0xa },
+	'canonimagetype' => { 57 => 0x6, 88 => 0x815 },
+	'canonmodelid' => { 57 => 0x10, 88 => 0x1834 },
+	'canonvrd' => { 110 => 'CanonVRD' },
+	'caption' => { 407 => 'caption' },
+	'caption-abstract' => { 117 => 0x78 },
+	'captionsauthornames' => { 416 => 'CaptionsAuthorNames' },
+	'captionsdatetimestamps' => { 416 => 'CaptionsDateTimeStamps' },
+	'captionwriter' => { 425 => 'CaptionWriter' },
+	'captureframerate' => { 104 => 0x4001 },
+	'capturesoftware' => { 402 => 'CaptureSoftware' },
+	'cardshutterlock' => { 164 => 0x49 },
+	'casioimagesize' => { 104 => 0x9 },
+	'catalogsets' => { 117 => 0xff, 401 => 'CatalogSets', 405 => 'CatalogSets' },
+	'categories' => { 57 => 0x23, 407 => 'categories' },
+	'category' => { 117 => 0xf, 258 => 0x30, 425 => 'Category' },
+	'cbcrgain' => { 346 => 0xa036 },
+	'cbcrgaindefault' => { 346 => 0xa035 },
+	'cbcrmatrix' => { 346 => 0xa034 },
+	'cbcrmatrixdefault' => { 346 => 0xa033 },
+	'ccdboardversion' => { 276 => 0x331 },
+	'ccdscanmode' => { 264 => 0x1039 },
+	'ccdsensitivity' => { 226 => 0x6 },
+	'ccdversion' => { 276 => 0x330 },
+	'cellglobalid' => { 411 => 'cgi' },
+	'celllength' => { 109 => 0x109 },
+	'cellr' => { 411 => 'r' },
+	'celltowerid' => { 411 => 'cellid' },
+	'cellwidth' => { 109 => 0x108 },
+	'centerafarea' => { 254 => '15.1' },
+	'centerfocuspoint' => { 257 => '2.2' },
+	'centerweightedareasize' => { 243 => '7.1', 244 => '8.1', 246 => '8.1', 247 => '8.1', 251 => '7.1', 252 => '5.1', 253 => '7.1', 254 => '6.3', 256 => '8.1', 257 => '8.1' },
+	'certificate' => { 441 => 'Certificate' },
+	'cfapattern' => { 109 => 0xa302, 417 => 'CFAPattern' },
+	'cfapattern2' => { 109 => 0x828e },
+	'cfapatterncolumns' => { 417 => [\'CFAPattern','CFAPatternColumns'] },
+	'cfapatternrows' => { 417 => [\'CFAPattern','CFAPatternRows'] },
+	'cfapatternvalues' => { 417 => [\'CFAPattern','CFAPatternValues'] },
+	'cfarepeatpatterndim' => { 109 => 0x828d },
+	'channel' => { 427 => 'channel' },
+	'channela-lang' => { 427 => [\'channel','channelA-lang'] },
+	'channelchannel' => { 427 => [\'channel','channelChannel'] },
+	'channels' => { 138 => 'Channels' },
+	'channelsubchannel1' => { 427 => [\'channel','channelSubchannel1'] },
+	'channelsubchannel2' => { 427 => [\'channel','channelSubchannel2'] },
+	'channelsubchannel3' => { 427 => [\'channel','channelSubchannel3'] },
+	'channelsubchannel4' => { 427 => [\'channel','channelSubchannel4'] },
+	'checkmark' => { 94 => 0x10101, 99 => 0x26a },
+	'checkmark2' => { 100 => 0x8e },
+	'childfontfiles' => { 442 => [\'Fonts','FontsChildFontFiles'] },
+	'chmodeshootingspeed' => { 243 => '10.3', 244 => '11.2' },
+	'chromablurradius' => { 109 => 0xc631 },
+	'chromaticaberration' => { 94 => 0x20703, 100 => 0x66, 346 => 0xa051 },
+	'chromaticaberrationb' => { 413 => 'ChromaticAberrationB' },
+	'chromaticaberrationblue' => { 94 => 0x20708, 100 => 0x6b },
+	'chromaticaberrationcorr' => { 71 => [0x4,0x5] },
+	'chromaticaberrationcorrection' => { 304 => 0x1 },
+	'chromaticaberrationcorrparams' => { 109 => 0x7035 },
+	'chromaticaberrationon' => { 94 => '0x20703.0', 100 => 0x62 },
+	'chromaticaberrationr' => { 413 => 'ChromaticAberrationR' },
+	'chromaticaberrationred' => { 94 => 0x20707, 100 => 0x6a },
+	'chromaticaberrationsetting' => { 72 => 0x6 },
+	'chrominancenoisereduction' => { 94 => 0x20601, 100 => 0x5e, 349 => 0x1a },
+	'chrominancenr_tiff_jpeg' => { 100 => 0x60 },
+	'circgradbasedcorractive' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionActive'] },
+	'circgradbasedcorramount' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionAmount'] },
+	'circgradbasedcorrbrightness' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalBrightness'] },
+	'circgradbasedcorrclarity' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity'] },
+	'circgradbasedcorrclarity2012' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalClarity2012'] },
+	'circgradbasedcorrcontrast' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast'] },
+	'circgradbasedcorrcontrast2012' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalContrast2012'] },
+	'circgradbasedcorrdefringe' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalDefringe'] },
+	'circgradbasedcorrexposure' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure'] },
+	'circgradbasedcorrexposure2012' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalExposure2012'] },
+	'circgradbasedcorrhighlights2012' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalHighlights2012'] },
+	'circgradbasedcorrhue' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalToningHue'] },
+	'circgradbasedcorrluminancenoise' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalLuminanceNoise'] },
+	'circgradbasedcorrmaskalpha' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAlpha'] },
+	'circgradbasedcorrmaskangle' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksAngle'] },
+	'circgradbasedcorrmaskbottom' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksBottom'] },
+	'circgradbasedcorrmaskcentervalue' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterValue'] },
+	'circgradbasedcorrmaskcenterweight' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksCenterWeight'] },
+	'circgradbasedcorrmaskdabs' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksDabs'] },
+	'circgradbasedcorrmaskfeather' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFeather'] },
+	'circgradbasedcorrmaskflipped' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlipped'] },
+	'circgradbasedcorrmaskflow' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFlow'] },
+	'circgradbasedcorrmaskfullx' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullX'] },
+	'circgradbasedcorrmaskfully' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksFullY'] },
+	'circgradbasedcorrmaskleft' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksLeft'] },
+	'circgradbasedcorrmaskmidpoint' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMidpoint'] },
+	'circgradbasedcorrmaskperimetervalue' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksPerimeterValue'] },
+	'circgradbasedcorrmaskradius' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRadius'] },
+	'circgradbasedcorrmaskright' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRight'] },
+	'circgradbasedcorrmaskroundness' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksRoundness'] },
+	'circgradbasedcorrmasks' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasks'] },
+	'circgradbasedcorrmasksizex' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeX'] },
+	'circgradbasedcorrmasksizey' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksSizeY'] },
+	'circgradbasedcorrmasktop' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksTop'] },
+	'circgradbasedcorrmaskvalue' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksMaskValue'] },
+	'circgradbasedcorrmaskversion' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksVersion'] },
+	'circgradbasedcorrmaskwhat' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksWhat'] },
+	'circgradbasedcorrmaskx' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksX'] },
+	'circgradbasedcorrmasky' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksY'] },
+	'circgradbasedcorrmaskzerox' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroX'] },
+	'circgradbasedcorrmaskzeroy' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsCorrectionMasksZeroY'] },
+	'circgradbasedcorrmoire' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalMoire'] },
+	'circgradbasedcorrsaturation' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSaturation','CircularGradientBasedCorrectionsLocalToningSaturation'] },
+	'circgradbasedcorrshadows2012' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalShadows2012'] },
+	'circgradbasedcorrsharpness' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalSharpness'] },
+	'circgradbasedcorrtemperature' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTemperature'] },
+	'circgradbasedcorrtint' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsLocalTint'] },
+	'circgradbasedcorrwhat' => { 413 => [\'CircularGradientBasedCorrections','CircularGradientBasedCorrectionsWhat'] },
+	'circulargradientbasedcorrections' => { 413 => 'CircularGradientBasedCorrections' },
+	'city' => { 117 => 0x5a, 144 => 'City', 280 => 0x6d, 425 => 'City' },
+	'city2' => { 280 => 0x80 },
+	'clarity' => { 201 => 0x35, 413 => 'Clarity' },
+	'clarity2012' => { 413 => 'Clarity2012' },
+	'classifystate' => { 117 => 0xe1 },
+	'clearretouch' => { 280 => 0x7c },
+	'clearretouchvalue' => { 280 => 0xa3 },
+	'client' => { 437 => 'client' },
+	'clientname' => { 419 => 'ClientName' },
+	'clmodeshootingspeed' => { 243 => '10.2', 244 => '11.3', 246 => '11.2', 247 => '11.2', 252 => '11.2', 253 => '10.2', 256 => '11.2', 257 => '11.1' },
+	'cmcontrast' => { 267 => 0x2022 },
+	'cmexposurecompensation' => { 267 => 0x2000 },
+	'cmhue' => { 267 => 0x2021 },
+	'cmsaturation' => { 267 => 0x2020 },
+	'cmsharpness' => { 267 => 0x2023 },
+	'cmwhitebalance' => { 267 => 0x2001 },
+	'cmwhitebalancecomp' => { 267 => 0x2002 },
+	'cmwhitebalancegraypoint' => { 267 => 0x2010 },
+	'codec' => { 152 => 'Codec' },
+	'codedcharacterset' => { 118 => 0x5a },
+	'collectionname' => { 153 => [\'Collections','CollectionsCollectionName'] },
+	'collections' => { 153 => 'Collections', 407 => 'collections' },
+	'collectionuri' => { 153 => [\'Collections','CollectionsCollectionURI'] },
+	'color' => { 426 => 'color' },
+	'coloraberrationcontrol' => { 236 => 0xc89224b },
+	'coloradjustment' => { 349 => 0x14 },
+	'coloradjustmentmode' => { 348 => 0x210 },
+	'coloranta' => { 442 => [\'Colorants','ColorantsA'] },
+	'colorantb' => { 442 => [\'Colorants','ColorantsB'] },
+	'colorantblack' => { 442 => [\'Colorants','ColorantsBlack'] },
+	'colorantblue' => { 442 => [\'Colorants','ColorantsBlue'] },
+	'colorantcyan' => { 442 => [\'Colorants','ColorantsCyan'] },
+	'colorantgray' => { 442 => [\'Colorants','ColorantsGray'] },
+	'colorantgreen' => { 442 => [\'Colorants','ColorantsGreen'] },
+	'colorantl' => { 442 => [\'Colorants','ColorantsL'] },
+	'colorantmagenta' => { 442 => [\'Colorants','ColorantsMagenta'] },
+	'colorantmode' => { 442 => [\'Colorants','ColorantsMode'] },
+	'colorantred' => { 442 => [\'Colorants','ColorantsRed'] },
+	'colorants' => { 442 => 'Colorants' },
+	'colorantswatchname' => { 442 => [\'Colorants','ColorantsSwatchName'] },
+	'coloranttint' => { 442 => [\'Colorants','ColorantsTint'] },
+	'coloranttype' => { 442 => [\'Colorants','ColorantsType'] },
+	'colorantyellow' => { 442 => [\'Colorants','ColorantsYellow'] },
+	'colorbalance' => { 139 => 'ColorBalance' },
+	'colorbalanceadj' => { 236 => 0x76a43202 },
+	'colorbalanceblue' => { 161 => 0x1e },
+	'colorbalancegreen' => { 161 => 0x1d },
+	'colorbalancered' => { 161 => 0x1c },
+	'colorbalanceversion' => { 182 => 0x0 },
+	'colorblur' => { 100 => 0x65 },
+	'colorbluron' => { 94 => 0x20704 },
+	'colorbooster' => { 236 => 0x5f0e7d23 },
+	'colorboostlevel' => { 230 => 0x1 },
+	'colorboosttype' => { 230 => 0x0 },
+	'colorclass' => { 325 => 0xde, 326 => 'ColorClass' },
+	'colorcompensationfilter' => { 164 => [0x3a,0x5f], 166 => 0x111, 369 => 0xb022 },
+	'colorcompensationfiltercustom' => { 357 => 0xd, 358 => 0xc },
+	'colorcompensationfilterset' => { 357 => 0x8, 358 => 0x7, 359 => 0x18, 373 => 0xf },
+	'colorcontrol' => { 264 => 0x102b },
+	'colorcorrection' => { 398 => 0x8015 },
+	'colorcreatoreffect' => { 259 => 0x532 },
+	'colordataversion' => { 39 => 0x0, 40 => 0x0, 42 => 0x0, 43 => 0x0, 44 => 0x0 },
+	'coloreffect' => { 280 => 0x28 },
+	'colorfilter' => { 103 => 0x17, 104 => 0x3017, 161 => 0x29, 169 => [0x38,0x4d,0x4f], 321 => 0x17 },
+	'colorgain' => { 205 => 0x51 },
+	'colorhue' => { 94 => 0x20900, 198 => 0x8d },
+	'colorimetricreference' => { 109 => 0xc6bf },
+	'colorlabel' => { 416 => 'ColorLabel' },
+	'colormatrix' => { 263 => 0x200, 264 => 0x1011, 346 => 0xa030 },
+	'colormatrix1' => { 109 => 0xc621, 323 => 0x106 },
+	'colormatrix2' => { 109 => 0xc622, 267 => 0x200, 323 => 0x226 },
+	'colormatrixa' => { 314 => 0x203 },
+	'colormatrixadobergb' => { 346 => 0xa032 },
+	'colormatrixb' => { 314 => 0x204 },
+	'colormatrixnumber' => { 264 => 0x1019 },
+	'colormatrixsrgb' => { 346 => 0xa031 },
+	'colormode' => { 104 => 0x3015, 114 => 0x1210, 125 => 0x66, 161 => 0x28, 164 => 0x16, 166 => 0x101, 167 => 0x36, 169 => 0x7, 198 => 0x3, 226 => 0x4, 280 => 0x32, 349 => 0x2c, 369 => 0xb029, 425 => 'ColorMode' },
+	'colormoirereduction' => { 237 => 0x15 },
+	'colormoirereductionmode' => { 237 => 0x5 },
+	'colornoisereduction' => { 398 => 0x8029, 413 => 'ColorNoiseReduction' },
+	'colornoisereductiondetail' => { 413 => 'ColorNoiseReductionDetail' },
+	'colornoisereductionintensity' => { 237 => 0x18 },
+	'colornoisereductionsharpness' => { 237 => 0x1c },
+	'colornoisereductionsmoothness' => { 413 => 'ColorNoiseReductionSmoothness' },
+	'colorplanes' => { 113 => 0x2 },
+	'colorprofile' => { 161 => 0x33 },
+	'colorprofilesettings' => { 259 => 0x539 },
+	'colorrepresentation' => { 119 => 0x3c },
+	'colorsaturationadj' => { 94 => 0x20305 },
+	'colorsequence' => { 119 => 0x41 },
+	'colorspace' => { 45 => 0x3, 57 => 0xb4, 88 => 0x10b4, 109 => 0xa001, 145 => 'ColorSpace', 162 => 0x2f, 163 => 0x25, 164 => 0x17, 198 => 0x1e, 259 => 0x507, 314 => 0x37, 346 => 0xa011, 349 => 0xb, 357 => 0x1b, 358 => 0x83, 359 => 0xe, 373 => 0x6, 417 => 'ColorSpace' },
+	'colortempasshot' => { 36 => 0x4, 37 => 0x1d, 38 => 0x26, 39 => 0x43, 42 => 0x43, 43 => 0x43, 44 => 0x43 },
+	'colortempauto' => { 36 => 0x9, 37 => 0x22, 38 => 0x1c, 39 => 0x48, 42 => 0x48, 43 => 0x48, 44 => 0x48 },
+	'colortempcloudy' => { 36 => 0x22, 37 => 0x31, 38 => 0x35, 39 => 0x5c, 42 => 0x75, 43 => 0x8e, 44 => 0x93, 314 => 0x55 },
+	'colortempcustom' => { 39 => 0x84 },
+	'colortempcustom1' => { 37 => 0x45 },
+	'colortempcustom2' => { 37 => 0x4a },
+	'colortempdaylight' => { 36 => 0x18, 37 => 0x27, 38 => 0x2b, 39 => 0x52, 42 => 0x6b, 43 => 0x84, 44 => 0x89, 314 => 0x53 },
+	'colortemperature' => { 6 => 0x73, 7 => [0x48,0x4e], 8 => 0xc0, 9 => 0x37, 10 => 0x62, 11 => 0x37, 12 => 0x7c, 13 => 0x73, 14 => 0x73, 15 => 0x77, 16 => 0x73, 17 => 0x7c, 18 => 0x58, 19 => 0x73, 20 => 0xc0, 21 => 0x7f, 22 => 0x7d, 23 => 0xc0, 24 => 0xc6, 25 => 0xc7, 26 => 0x135, 27 => 0x7b, 28 => 0x13a, 57 => 0xae, 67 => 0x9, 88 => 0x10ae, 114 => 0x1005, 123 => 0x846, 139 => 'ColorTemperature', 162 => [0x6e,0x49], 163 => 0x3f, 164 => [0x39,0x5e], 166 => 0x10b, 169 => [0x3c,0x4c,0x4e], 2 [...]
+	'colortemperatureadj' => { 398 => 0x8013 },
+	'colortemperaturebg' => { 264 => 0x1013 },
+	'colortemperaturecustom' => { 357 => 0xc, 358 => 0xb },
+	'colortemperaturerg' => { 264 => 0x1014 },
+	'colortemperatureset' => { 357 => 0x7, 358 => 0x6 },
+	'colortemperaturesetting' => { 164 => 0x25, 359 => 0x17, 373 => 0xe },
+	'colortempflash' => { 36 => 0x36, 37 => 0x40, 38 => 0x49, 39 => 0x70, 42 => 0x89, 43 => 0xa2, 44 => 0xa7, 314 => 0x5a },
+	'colortempflashdata' => { 39 => 0x24a },
+	'colortempfluorescent' => { 36 => 0x2c, 37 => 0x3b, 38 => 0x3f, 39 => 0x66, 42 => 0x7f, 43 => 0x98, 44 => 0x9d },
+	'colortempfluorescentd' => { 314 => 0x57 },
+	'colortempfluorescentn' => { 314 => 0x58 },
+	'colortempfluorescentw' => { 314 => 0x59 },
+	'colortempkelvin' => { 36 => 0x31, 38 => 0x44, 39 => 0x6b, 42 => 0x84, 43 => 0x9d, 44 => 0xa2, 280 => 0x44, 339 => 0x1307 },
+	'colortempmeasured' => { 36 => 0xe, 39 => 0x4d, 42 => 0x4d, 43 => 0x4d, 44 => 0x4d },
+	'colortemppc1' => { 38 => 0x94, 39 => 0x75 },
+	'colortemppc2' => { 38 => 0x99, 39 => 0x7a },
+	'colortemppc3' => { 38 => 0x9e, 39 => 0x7f },
+	'colortempshade' => { 36 => 0x1d, 37 => 0x2c, 38 => 0x30, 39 => 0x57, 42 => 0x70, 43 => 0x89, 44 => 0x8e, 314 => 0x54 },
+	'colortemptungsten' => { 36 => 0x27, 37 => 0x36, 38 => 0x3a, 39 => 0x61, 42 => 0x7a, 43 => 0x93, 44 => 0x98, 314 => 0x56 },
+	'colortempunknown' => { 36 => 0x13, 38 => 0x21, 42 => 0x52, 43 => 0x52, 44 => 0x52 },
+	'colortempunknown10' => { 36 => 0x63, 38 => 0x76, 42 => 0xa2, 43 => 0x7f, 44 => 0x7f },
+	'colortempunknown11' => { 36 => 0x68, 38 => 0x7b, 42 => 0xa7, 43 => 0xa7, 44 => 0x84 },
+	'colortempunknown12' => { 36 => 0x6d, 38 => 0x80, 42 => 0xac, 43 => 0xac, 44 => 0xac },
+	'colortempunknown13' => { 36 => 0x72, 38 => 0x85, 42 => 0xb1, 43 => 0xb1, 44 => 0xb1 },
+	'colortempunknown14' => { 38 => 0x8a, 42 => 0xb6, 43 => 0xb6, 44 => 0xb6 },
+	'colortempunknown15' => { 38 => 0x8f, 42 => 0xbb, 43 => 0xbb, 44 => 0xbb },
+	'colortempunknown16' => { 38 => 0xa3, 43 => 0xc0, 44 => 0xc0 },
+	'colortempunknown17' => { 43 => 0xc5, 44 => 0xc5 },
+	'colortempunknown18' => { 43 => 0xca, 44 => 0xca },
+	'colortempunknown19' => { 43 => 0xcf, 44 => 0xcf },
+	'colortempunknown2' => { 36 => 0x3b, 38 => 0x4e, 42 => 0x57, 43 => 0x57, 44 => 0x57 },
+	'colortempunknown20' => { 43 => 0xd4, 44 => 0xd4 },
+	'colortempunknown21' => { 44 => 0xd9 },
+	'colortempunknown22' => { 44 => 0xde },
+	'colortempunknown23' => { 44 => 0xe3 },
+	'colortempunknown24' => { 44 => 0xe8 },
+	'colortempunknown25' => { 44 => 0xed },
+	'colortempunknown26' => { 44 => 0xf2 },
+	'colortempunknown27' => { 44 => 0xf7 },
+	'colortempunknown28' => { 44 => 0xfc },
+	'colortempunknown29' => { 44 => 0x101 },
+	'colortempunknown3' => { 36 => 0x40, 38 => 0x53, 42 => 0x5c, 43 => 0x5c, 44 => 0x5c },
+	'colortempunknown30' => { 44 => 0x106 },
+	'colortempunknown4' => { 36 => 0x45, 38 => 0x58, 42 => 0x61, 43 => 0x61, 44 => 0x61 },
+	'colortempunknown5' => { 36 => 0x4a, 38 => 0x5d, 42 => 0x66, 43 => 0x66, 44 => 0x66 },
+	'colortempunknown6' => { 36 => 0x4f, 38 => 0x62, 42 => 0x8e, 43 => 0x6b, 44 => 0x6b },
+	'colortempunknown7' => { 36 => 0x54, 38 => 0x67, 42 => 0x93, 43 => 0x70, 44 => 0x70 },
+	'colortempunknown8' => { 36 => 0x59, 38 => 0x6c, 42 => 0x98, 43 => 0x75, 44 => 0x75 },
+	'colortempunknown9' => { 36 => 0x5e, 38 => 0x71, 42 => 0x9d, 43 => 0x7a, 44 => 0x7a },
+	'colortone' => { 9 => 0x6f, 11 => 0x77, 33 => 0x2a, 45 => 0x2 },
+	'colortoneadj' => { 94 => 0x20304, 99 => 0x11e },
+	'colortoneauto' => { 64 => 0x9c },
+	'colortonefaithful' => { 18 => 0x107, 63 => 0x6c, 64 => 0x6c },
+	'colortonelandscape' => { 18 => 0x105, 63 => 0x3c, 64 => 0x3c },
+	'colortonemonochrome' => { 63 => 0x84, 64 => 0x84 },
+	'colortoneneutral' => { 18 => 0x106, 63 => 0x54, 64 => 0x54 },
+	'colortoneportrait' => { 18 => 0x104, 63 => 0x24, 64 => 0x24 },
+	'colortonestandard' => { 18 => 0x103, 63 => 0xc, 64 => 0xc },
+	'colortoneuserdef1' => { 18 => 0x109, 63 => 0x9c, 64 => 0xb4 },
+	'colortoneuserdef2' => { 18 => 0x10a, 63 => 0xb4, 64 => 0xcc },
+	'colortoneuserdef3' => { 18 => 0x10b, 63 => 0xcc, 64 => 0xe4 },
+	'commanddials' => { 254 => '5.1' },
+	'commanddialsaperturesetting' => { 243 => '17.3', 244 => '18.3', 246 => '18.3', 247 => '18.3', 252 => '33.3', 253 => '17.3', 256 => '18.3' },
+	'commanddialschangemainsub' => { 243 => '17.2', 244 => '18.1', 246 => '18.1', 247 => '18.1', 252 => '33.2', 253 => '17.2', 256 => '18.1' },
+	'commanddialsmenuandplayback' => { 243 => '17.4', 244 => '18.2', 246 => '18.2', 247 => '18.2', 252 => '33.4', 253 => '17.4', 256 => '18.2' },
+	'commanddialsreverserotation' => { 243 => '17.1', 244 => '6.4', 246 => '6.2', 247 => '6.2', 248 => '16.2', 249 => '17.2', 252 => '33.1', 253 => '17.1', 256 => '6.2', 257 => '18.1' },
+	'commanderchannel' => { 254 => '10.2', 255 => '25.2' },
+	'commandergroupa_ttl-aacomp' => { 254 => '13.1', 255 => '31.1' },
+	'commandergroupa_ttlcomp' => { 257 => '32.1' },
+	'commandergroupamanualoutput' => { 254 => '13.2', 255 => '28.2' },
+	'commandergroupamode' => { 254 => '11.2', 255 => '28.1' },
+	'commandergroupb_ttl-aacomp' => { 254 => '14.1', 255 => '32.1' },
+	'commandergroupb_ttlcomp' => { 257 => '33.1' },
+	'commandergroupbmanualoutput' => { 254 => '14.2', 255 => '29.2' },
+	'commandergroupbmode' => { 254 => '11.3', 255 => '29.1' },
+	'commanderinternalflash' => { 254 => '11.1', 255 => '27.1' },
+	'commanderinternalmanualoutput' => { 254 => '12.2', 255 => '27.2' },
+	'commanderinternalttlchannel' => { 252 => '18.2' },
+	'commanderinternalttlcomp' => { 254 => '12.1', 255 => '30.2', 257 => '31.2' },
+	'commanderinternalttlcompbuiltin' => { 252 => '20.1', 253 => '26.1' },
+	'commanderinternalttlcompgroupa' => { 252 => '21.1', 253 => '27.1' },
+	'commanderinternalttlcompgroupb' => { 252 => '22.1', 253 => '28.1' },
+	'comment' => { 0 => 0x2, 110 => 'Comment', 140 => 'Comment', 272 => 'Comment' },
+	'compass' => { 342 => 0x4 },
+	'complianceprofile' => { 427 => 'complianceProfile' },
+	'componentsconfiguration' => { 109 => 0x9101, 145 => 'Components', 417 => 'ComponentsConfiguration' },
+	'componentversion' => { 88 => 0x80c },
+	'composer' => { 437 => 'composer' },
+	'compositionadjust' => { 313 => '0.1' },
+	'compositionadjustrotation' => { 313 => 0x7 },
+	'compositionadjustx' => { 313 => 0x5 },
+	'compositionadjusty' => { 313 => 0x6 },
+	'compressedbitsperpixel' => { 109 => 0x9102, 417 => 'CompressedBitsPerPixel' },
+	'compressedimagesize' => { 166 => 0x40, 264 => 0x40 },
+	'compression' => { 109 => 0x103, 433 => 'Compression' },
+	'compressionfactor' => { 259 => 0x50d },
+	'compressionratio' => { 145 => 'Compression', 264 => 0x1034 },
+	'confidencelevel' => { 408 => 'ConfidenceLevel' },
+	'constrainedcropheight' => { 99 => 0x266, 325 => 0xd6 },
+	'constrainedcropwidth' => { 99 => 0x262, 325 => 0xd5 },
+	'contact' => { 117 => 0x76 },
+	'contactinfo' => { 426 => 'contactInfo' },
+	'contentlocationcode' => { 117 => 0x1a },
+	'contentlocationname' => { 117 => 0x1b },
+	'contenttype' => { 427 => 'contentType' },
+	'continuousbracketing' => { 164 => 0x20 },
+	'continuousdrive' => { 33 => 0x5 },
+	'continuousshootingspeed' => { 75 => 0x610 },
+	'continuousshotlimit' => { 75 => 0x611 },
+	'contrast' => { 9 => 0x73, 11 => 0x75, 33 => 0xd, 103 => 0xc, 104 => [0x3012,0x20], 109 => [0xa408,0xfe54], 114 => [0x1004,0x1006], 139 => 'Contrast', 157 => 'Contrast', 161 => 0x20, 162 => 0x31, 163 => 0x27, 164 => 0x19, 169 => 0x2, 200 => 0x33, 201 => 0x37, 264 => 0x1029, 280 => 0x39, 282 => 0x300a, 314 => 0x20, 321 => 0xc, 335 => 0x24, 339 => 0x1012, 349 => 0xd, 357 => 0x1d, 358 => 0x1a, 369 => 0x2004, 413 => 'Contrast', 417 => 'Contrast' },
+	'contrast2012' => { 413 => 'Contrast2012' },
+	'contrastadj' => { 94 => 0x20303, 99 => 0x115, 239 => 0x2c, 398 => 0x8017 },
+	'contrastauto' => { 64 => 0x90 },
+	'contrastcurve' => { 198 => 0x8c },
+	'contrastdetectaf' => { 173 => 0x4 },
+	'contrastdetectafarea' => { 314 => 0x231 },
+	'contrastdetectafinfocus' => { 173 => 0x1c },
+	'contrastfaithful' => { 18 => 0xec, 63 => 0x60, 64 => 0x60 },
+	'contrasthighlight' => { 314 => 0x6d },
+	'contrasthighlightshadowadj' => { 314 => 0x6f },
+	'contrastlandscape' => { 18 => 0xea, 63 => 0x30, 64 => 0x30 },
+	'contrastmode' => { 280 => 0x2c },
+	'contrastmonochrome' => { 18 => 0xed, 63 => 0x78, 64 => 0x78 },
+	'contrastneutral' => { 18 => 0xeb, 63 => 0x48, 64 => 0x48 },
+	'contrastportrait' => { 18 => 0xe9, 63 => 0x18, 64 => 0x18 },
+	'contrastsetting' => { 259 => 0x505, 267 => 0x1012, 359 => 0x10, 373 => 0x8 },
+	'contrastshadow' => { 314 => 0x6e },
+	'contraststandard' => { 18 => 0xe8, 63 => 0x0, 64 => 0x0 },
+	'contrastuserdef1' => { 18 => 0xee, 63 => 0x90, 64 => 0xa8 },
+	'contrastuserdef2' => { 18 => 0xef, 63 => 0xa8, 64 => 0xc0 },
+	'contrastuserdef3' => { 18 => 0xf0, 63 => 0xc0, 64 => 0xd8 },
+	'contributedmedia' => { 437 => 'contributedMedia' },
+	'contributedmediaduration' => { 437 => [\'contributedMedia','contributedMediaDuration'] },
+	'contributedmediadurationscale' => { 437 => [\'contributedMedia','contributedMediaDurationScale'] },
+	'contributedmediadurationvalue' => { 437 => [\'contributedMedia','contributedMediaDurationValue'] },
+	'contributedmediamanaged' => { 437 => [\'contributedMedia','contributedMediaManaged'] },
+	'contributedmediapath' => { 437 => [\'contributedMedia','contributedMediaPath'] },
+	'contributedmediastarttime' => { 437 => [\'contributedMedia','contributedMediaStartTime'] },
+	'contributedmediastarttimescale' => { 437 => [\'contributedMedia','contributedMediaStartTimeScale'] },
+	'contributedmediastarttimevalue' => { 437 => [\'contributedMedia','contributedMediaStartTimeValue'] },
+	'contributedmediatrack' => { 437 => [\'contributedMedia','contributedMediaTrack'] },
+	'contributedmediawebstatement' => { 437 => [\'contributedMedia','contributedMediaWebStatement'] },
+	'contributor' => { 414 => 'contributor' },
+	'contributors' => { 140 => 'Contributors' },
+	'controldialset' => { 164 => 0x46 },
+	'controlledvocabularyterm' => { 423 => 'CVterm' },
+	'controllerboardversion' => { 276 => 0x332 },
+	'controlmode' => { 69 => 0x12 },
+	'conversionlens' => { 260 => 0x403, 280 => 0x35 },
+	'converter' => { 109 => 0xfe4d, 226 => 0xb, 413 => 'Converter' },
+	'converttograyscale' => { 413 => 'ConvertToGrayscale' },
+	'cookingequipment' => { 429 => 'cookingEquipment' },
+	'cookingmethod' => { 429 => 'cookingMethod' },
+	'copyright' => { 0 => 0x3, 109 => 0x8298, 140 => 'Copyright', 272 => 'Copyright', 314 => 0x22f, 330 => 'Copyright', 424 => 'Copyright', 430 => 'copyright', 433 => 'Copyright', 437 => 'copyright' },
+	'copyrightflag' => { 328 => 0x40a },
+	'copyrightnotice' => { 117 => 0x74 },
+	'copyrightowner' => { 269 => 'CopyrightOwner' },
+	'copyrightownerid' => { 269 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerID'] },
+	'copyrightownerimageid' => { 269 => 'CopyrightOwnerImageID' },
+	'copyrightownername' => { 269 => [\'CopyrightOwner','CopyrightOwnerCopyrightOwnerName'] },
+	'copyrightregistrationnumber' => { 269 => 'CopyrightRegistrationNumber' },
+	'copyrightstatus' => { 269 => 'CopyrightStatus' },
+	'copyrightyear' => { 427 => 'copyrightYear' },
+	'coringfilter' => { 263 => 0x310, 264 => 0x102d, 267 => 0x310 },
+	'coringvalues' => { 263 => 0x311, 267 => 0x311 },
+	'corporateentity' => { 427 => 'corporateEntity' },
+	'country' => { 144 => 'Country', 280 => 0x69, 425 => 'Country' },
+	'country-primarylocationcode' => { 117 => 0x64 },
+	'country-primarylocationname' => { 117 => 0x65 },
+	'countrycode' => { 197 => 0x5, 326 => 'CountryCode', 422 => 'CountryCode' },
+	'course' => { 429 => 'course' },
+	'coverage' => { 414 => 'coverage' },
+	'coverdate' => { 427 => 'coverDate' },
+	'coverdisplaydate' => { 427 => 'coverDisplayDate' },
+	'cpufirmwareversion' => { 314 => 0x28 },
+	'crc32' => { 415 => 'crc32' },
+	'createdate' => { 109 => 0x9004, 140 => 'CreateDate', 268 => 'CreationDate', 272 => 'create-date', 330 => 'CreationDate', 332 => 0x1, 435 => 'CreateDate' },
+	'creationdate' => { 424 => 'CreationDate', 427 => 'creationDate' },
+	'creationtime' => { 272 => 'Creation Time' },
+	'creativestyle' => { 357 => 0x1a, 358 => 0x18, 368 => 0x41, 369 => 0xb020, 394 => 0x4a },
+	'creativestylesetting' => { 359 => 0xf, 373 => 0x7 },
+	'creativestylewaschanged' => { 398 => 0x8001 },
+	'creator' => { 268 => 'Creator', 330 => 'Creator', 414 => 'creator', 424 => 'Creator' },
+	'creatoraddress' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiAdrExtadr'] },
+	'creatorappid' => { 159 => 'CreatorAppId' },
+	'creatorcity' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCity'] },
+	'creatorcontactinfo' => { 422 => 'CreatorContactInfo' },
+	'creatorcountry' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiAdrCtry'] },
+	'creatoropenwithuioptions' => { 159 => 'CreatorOpenWithUIOptions' },
+	'creatorpostalcode' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiAdrPcode'] },
+	'creatorregion' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiAdrRegion'] },
+	'creatortool' => { 435 => 'CreatorTool' },
+	'creatorworkemail' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiEmailWork'] },
+	'creatorworktelephone' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiTelWork'] },
+	'creatorworkurl' => { 422 => [\'CreatorContactInfo','CreatorContactInfoCiUrlWork'] },
+	'credit' => { 117 => 0x6e, 425 => 'Credit' },
+	'creditline' => { 430 => 'creditLine' },
+	'creditlinereq' => { 440 => 'CreditLineReq' },
+	'creditlinerequired' => { 269 => 'CreditLineRequired' },
+	'cropactive' => { 92 => 0x0, 99 => 0x244 },
+	'cropangle' => { 413 => 'CropAngle' },
+	'cropaspectratio' => { 94 => 0x30101, 99 => 0x260 },
+	'cropaspectratiocustom' => { 94 => 0x30102 },
+	'cropbottom' => { 113 => 0x9, 231 => 0x36, 284 => 0x31, 325 => 0xdc, 413 => 'CropBottom' },
+	'cropbottommargin' => { 47 => 0x3 },
+	'cropcircleactive' => { 100 => 0xd6 },
+	'cropcircleradius' => { 100 => 0xd9 },
+	'cropcirclex' => { 100 => 0xd7 },
+	'cropcircley' => { 100 => 0xd8 },
+	'cropconstraintowarp' => { 413 => 'CropConstrainToWarp' },
+	'croph' => { 406 => 'CropH' },
+	'cropheight' => { 92 => 0x6, 99 => 0x24c, 263 => 0x615, 267 => 0x615, 413 => 'CropHeight' },
+	'crophispeed' => { 198 => 0x1b },
+	'cropleft' => { 99 => 0x246, 113 => 0x6, 231 => 0x1e, 263 => 0x612, 267 => 0x612, 284 => 0x30, 325 => 0xd9, 413 => 'CropLeft' },
+	'cropleftmargin' => { 47 => 0x0 },
+	'cropmode35mm' => { 339 => 0x1018 },
+	'croporiginalheight' => { 92 => 0xb },
+	'croporiginalwidth' => { 92 => 0xa },
+	'cropoutputheight' => { 231 => 0xce },
+	'cropoutputheightinches' => { 231 => 0x96 },
+	'cropoutputpixels' => { 231 => 0xd6 },
+	'cropoutputresolution' => { 231 => 0xb6 },
+	'cropoutputscale' => { 231 => 0xbe },
+	'cropoutputwidth' => { 231 => 0xc6 },
+	'cropoutputwidthinches' => { 231 => 0x8e },
+	'croppedareaimageheightpixels' => { 402 => 'CroppedAreaImageHeightPixels' },
+	'croppedareaimagewidthpixels' => { 402 => 'CroppedAreaImageWidthPixels' },
+	'croppedarealeftpixels' => { 402 => 'CroppedAreaLeftPixels' },
+	'croppedareatoppixels' => { 402 => 'CroppedAreaTopPixels' },
+	'croppedimageheight' => { 5 => 0x2, 339 => 0x1604 },
 	'croppedimageleft' => { 5 => 0x3 },
 	'croppedimagetop' => { 5 => 0x4 },
-	'croppedimagewidth' => { 5 => 0x1, 335 => 0x1603 },
-	'cropright' => { 111 => 0x8, 229 => 0x2e, 280 => 0x32, 321 => 0xdb, 408 => 'CropRight' },
-	'croprightmargin' => { 45 => 0x1 },
-	'croprotatedoriginalheight' => { 90 => 0x2 },
-	'croprotatedoriginalwidth' => { 90 => 0x1 },
-	'croprotation' => { 90 => 0x8, 111 => 0xb },
-	'cropscaledresolution' => { 229 => 0x9e },
-	'cropsourceresolution' => { 229 => 0xae },
-	'croptop' => { 97 => 0x248, 111 => 0x7, 229 => 0x26, 259 => 0x613, 263 => 0x613, 280 => 0x2f, 321 => 0xda, 408 => 'CropTop' },
-	'croptopmargin' => { 45 => 0x2 },
-	'cropunit' => { 408 => 'CropUnit' },
-	'cropunits' => { 408 => 'CropUnits' },
-	'cropw' => { 401 => 'CropW' },
-	'cropwidth' => { 90 => 0x5, 97 => 0x24a, 259 => 0x614, 263 => 0x614, 408 => 'CropWidth' },
-	'cropx' => { 90 => 0x3, 401 => 'CropX' },
-	'cropy' => { 90 => 0x4, 401 => 'CropY' },
-	'crossprocess' => { 310 => 0x7b },
-	'crossprocessparams' => { 310 => 0x235 },
-	'cuisine' => { 424 => 'cuisine' },
-	'currenticcprofile' => { 107 => 0xc691 },
-	'currentpreprofilematrix' => { 107 => 0xc692 },
-	'currentversion' => { 393 => 0xd000 },
-	'curve0x' => { 401 => 'Curve0x' },
-	'curve0y' => { 401 => 'Curve0y' },
-	'curve1x' => { 401 => 'Curve1x' },
-	'curve1y' => { 401 => 'Curve1y' },
-	'curve2x' => { 401 => 'Curve2x' },
-	'curve2y' => { 401 => 'Curve2y' },
-	'curve3x' => { 401 => 'Curve3x' },
-	'curve3y' => { 401 => 'Curve3y' },
-	'curve4x' => { 401 => 'Curve4x' },
-	'curve4y' => { 401 => 'Curve4y' },
-	'curves' => { 234 => 0x76a43201 },
-	'custom1' => { 265 => 'Custom1' },
-	'custom10' => { 265 => 'Custom10' },
-	'custom2' => { 265 => 'Custom2' },
-	'custom3' => { 265 => 'Custom3' },
-	'custom4' => { 265 => 'Custom4' },
-	'custom5' => { 265 => 'Custom5' },
-	'custom6' => { 265 => 'Custom6' },
-	'custom7' => { 265 => 'Custom7' },
-	'custom8' => { 265 => 'Custom8' },
-	'custom9' => { 265 => 'Custom9' },
-	'customcolortone' => { 98 => 0x4c },
-	'customcontrast' => { 98 => 0x4e },
-	'customcontrols' => { 73 => 0x70c },
-	'customdefaultunsharpfineness' => { 98 => 0xbe },
-	'customdefaultunsharpstrength' => { 98 => 0xbc },
-	'customdefaultunsharpthreshold' => { 98 => 0xc0 },
-	'customlinear' => { 98 => 0x4f },
-	'customoutputhighlightpoint' => { 98 => 0x53 },
-	'customoutputshadowpoint' => { 98 => 0x54 },
-	'custompicturestyle' => { 92 => 0x10021 },
-	'custompicturestyledata' => { 92 => 0xf0500 },
-	'custompicturestylefilename' => { 55 => 0x4010 },
-	'customrawhighlight' => { 98 => 0x7c },
-	'customrawhighlightpoint' => { 98 => 0x51 },
-	'customrawshadow' => { 98 => 0x85 },
-	'customrawshadowpoint' => { 98 => 0x52 },
-	'customrendered' => { 107 => 0xa401, 412 => 'CustomRendered' },
-	'customsaturation' => { 98 => 0x4d, 255 => 0x503 },
-	'customsettingsalldefault' => { 241 => '0.2', 248 => '0.2' },
-	'customsettingsbank' => { 241 => '0.1', 242 => '0.1', 244 => '0.1', 248 => '0.1', 252 => '0.2' },
-	'customsharpness' => { 98 => 0x50 },
-	'customunsharpmaskfineness' => { 98 => 0xb8 },
-	'customunsharpmaskstrength' => { 98 => 0xb6 },
-	'customunsharpmaskthreshold' => { 98 => 0xba },
-	'customwb_rblevels' => { 368 => 0x1a },
-	'customwb_rgblevels' => { 353 => 0x8, 354 => 0x19 },
-	'customwbbluelevel' => { 162 => 0x36 },
-	'customwberror' => { 162 => 0x37 },
-	'customwbgreenlevel' => { 162 => 0x35 },
-	'customwbredlevel' => { 162 => 0x34 },
-	'customwbsetting' => { 162 => 0x26 },
-	'd-lightinghq' => { 234 => 0x2175eb78 },
-	'd-lightinghqcolorboost' => { 230 => 0x2 },
-	'd-lightinghqhighlight' => { 230 => 0x1 },
-	'd-lightinghqselected' => { 234 => 0x6a6e36b6 },
-	'd-lightinghqshadow' => { 230 => 0x0 },
-	'd-lightinghs' => { 234 => 0xce5554aa },
-	'd-lightinghsadjustment' => { 231 => 0x0 },
-	'd-lightinghscolorboost' => { 231 => 0x1 },
-	'd-rangeoptimizerhighlight' => { 393 => 0x8024 },
-	'd-rangeoptimizermode' => { 393 => 0x8022 },
-	'd-rangeoptimizershadow' => { 393 => 0x802d },
-	'd-rangeoptimizervalue' => { 393 => 0x8023 },
-	'd810meteringmode' => { 222 => 0x175e },
-	'datacompressionmethod' => { 117 => 0x6e },
-	'dataimprint' => { 159 => 0x34 },
-	'datascaling' => { 310 => 0x3d },
-	'date' => { 310 => 0x6, 409 => 'date' },
-	'dateacquired' => { 157 => 'DateAcquired' },
-	'datecreated' => { 115 => 0x37, 420 => 'DateCreated' },
-	'datedisplayformat' => { 226 => 0x3 },
-	'dateidentified' => { 106 => [\'Identification','IdentificationDateIdentified'] },
-	'dateimprint' => { 245 => '4.2' },
-	'daterecieved' => { 422 => 'dateRecieved' },
-	'datesent' => { 116 => 0x46 },
-	'datestampmode' => { 55 => 0x1c },
-	'datetime' => { 402 => 'datetime', 428 => 'DateTime' },
-	'datetimedigitized' => { 412 => 'DateTimeDigitized' },
-	'datetimeoriginal' => { 89 => 0x0, 107 => 0x9003, 135 => 0x14, 138 => 'OriginalDate', 331 => 0xb, 412 => 'DateTimeOriginal' },
-	'datetimestamp' => { 123 => 0x64 },
-	'datetimeutc' => { 255 => 0x908 },
-	'daylightsavings' => { 68 => 0x3, 226 => 0x2 },
-	'dccontinent' => { 106 => [\'dctermsLocation','dctermsLocationContinent'] },
-	'dccoordinateprecision' => { 106 => [\'dctermsLocation','dctermsLocationCoordinatePrecision'] },
-	'dccoordinateuncertaintyinmeters' => { 106 => [\'dctermsLocation','dctermsLocationCoordinateUncertaintyInMeters'] },
-	'dccountry' => { 106 => [\'dctermsLocation','dctermsLocationCountry'] },
-	'dccountrycode' => { 106 => [\'dctermsLocation','dctermsLocationCountryCode'] },
-	'dccounty' => { 106 => [\'dctermsLocation','dctermsLocationCounty'] },
-	'dcdecimallatitude' => { 106 => [\'dctermsLocation','dctermsLocationDecimalLatitude'] },
-	'dcdecimallongitude' => { 106 => [\'dctermsLocation','dctermsLocationDecimalLongitude'] },
-	'dcevent' => { 106 => 'Event' },
-	'dcfootprintspatialfit' => { 106 => [\'dctermsLocation','dctermsLocationFootprintSpatialFit'] },
-	'dcfootprintsrs' => { 106 => [\'dctermsLocation','dctermsLocationFootprintSRS'] },
-	'dcfootprintwkt' => { 106 => [\'dctermsLocation','dctermsLocationFootprintWKT'] },
-	'dcgeodeticdatum' => { 106 => [\'dctermsLocation','dctermsLocationGeodeticDatum'] },
-	'dcgeoreferencedby' => { 106 => [\'dctermsLocation','dctermsLocationGeoreferencedBy'] },
-	'dcgeoreferenceddate' => { 106 => [\'dctermsLocation','dctermsLocationGeoreferencedDate'] },
-	'dcgeoreferenceprotocol' => { 106 => [\'dctermsLocation','dctermsLocationGeoreferenceProtocol'] },
-	'dcgeoreferenceremarks' => { 106 => [\'dctermsLocation','dctermsLocationGeoreferenceRemarks'] },
-	'dcgeoreferencesources' => { 106 => [\'dctermsLocation','dctermsLocationGeoreferenceSources'] },
-	'dcgeoreferenceverificationstatus' => { 106 => [\'dctermsLocation','dctermsLocationGeoreferenceVerificationStatus'] },
-	'dchighergeography' => { 106 => [\'dctermsLocation','dctermsLocationHigherGeography'] },
-	'dchighergeographyid' => { 106 => [\'dctermsLocation','dctermsLocationHigherGeographyID'] },
-	'dcisland' => { 106 => [\'dctermsLocation','dctermsLocationIsland'] },
-	'dcislandgroup' => { 106 => [\'dctermsLocation','dctermsLocationIslandGroup'] },
-	'dclocality' => { 106 => [\'dctermsLocation','dctermsLocationLocality'] },
-	'dclocationaccordingto' => { 106 => [\'dctermsLocation','dctermsLocationLocationAccordingTo'] },
-	'dclocationid' => { 106 => [\'dctermsLocation','dctermsLocationLocationID'] },
-	'dclocationremarks' => { 106 => [\'dctermsLocation','dctermsLocationLocationRemarks'] },
-	'dcmaximumdepthinmeters' => { 106 => [\'dctermsLocation','dctermsLocationMaximumDepthInMeters'] },
-	'dcmaximumdistanceabovesurfaceinmeters' => { 106 => [\'dctermsLocation','dctermsLocationMaximumDistanceAboveSurfaceInMeters'] },
-	'dcmaximumelevationinmeters' => { 106 => [\'dctermsLocation','dctermsLocationMaximumElevationInMeters'] },
-	'dcminimumdepthinmeters' => { 106 => [\'dctermsLocation','dctermsLocationMinimumDepthInMeters'] },
-	'dcminimumdistanceabovesurfaceinmeters' => { 106 => [\'dctermsLocation','dctermsLocationMinimumDistanceAboveSurfaceInMeters'] },
-	'dcminimumelevationinmeters' => { 106 => [\'dctermsLocation','dctermsLocationMinimumElevationInMeters'] },
-	'dcmunicipality' => { 106 => [\'dctermsLocation','dctermsLocationMunicipality'] },
-	'dcpointradiusspatialfit' => { 106 => [\'dctermsLocation','dctermsLocationPointRadiusSpatialFit'] },
-	'dcstateprovince' => { 106 => [\'dctermsLocation','dctermsLocationStateProvince'] },
-	'dctermslocation' => { 106 => 'dctermsLocation' },
-	'dcverbatimcoordinates' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimCoordinates'] },
-	'dcverbatimcoordinatesystem' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimCoordinateSystem'] },
-	'dcverbatimdepth' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimDepth'] },
-	'dcverbatimelevation' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimElevation'] },
-	'dcverbatimlatitude' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimLatitude'] },
-	'dcverbatimlocality' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimLocality'] },
-	'dcverbatimlongitude' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimLongitude'] },
-	'dcverbatimsrs' => { 106 => [\'dctermsLocation','dctermsLocationVerbatimSRS'] },
-	'dcwaterbody' => { 106 => [\'dctermsLocation','dctermsLocationWaterBody'] },
-	'declination' => { 146 => 'Declination' },
-	'decposition' => { 159 => 0x32 },
-	'defaultautogray' => { 408 => 'DefaultAutoGray' },
-	'defaultautotone' => { 408 => 'DefaultAutoTone' },
-	'defaultblackrender' => { 107 => 0xc7a6 },
-	'defaultcroporigin' => { 107 => 0xc61f },
-	'defaultcropsize' => { 107 => 0xc620 },
-	'defaulteraseoption' => { 73 => 0x813 },
-	'defaultscale' => { 107 => 0xc61e },
-	'defaultsspecifictoiso' => { 408 => 'DefaultsSpecificToISO' },
-	'defaultsspecifictoserial' => { 408 => 'DefaultsSpecificToSerial' },
-	'defaultusercrop' => { 107 => 0xc7b5 },
-	'defringe' => { 408 => 'Defringe' },
-	'defringegreenamount' => { 408 => 'DefringeGreenAmount' },
-	'defringegreenhuehi' => { 408 => 'DefringeGreenHueHi' },
-	'defringegreenhuelo' => { 408 => 'DefringeGreenHueLo' },
-	'defringepurpleamount' => { 408 => 'DefringePurpleAmount' },
-	'defringepurplehuehi' => { 408 => 'DefringePurpleHueHi' },
-	'defringepurplehuelo' => { 408 => 'DefringePurpleHueLo' },
-	'dehaze' => { 408 => 'Dehaze' },
-	'deletedimagecount' => { 196 => 0xa6, 204 => 0x6e },
-	'deprecatedon' => { 405 => 'deprecatedOn' },
-	'derivedfrom' => { 433 => 'DerivedFrom' },
-	'derivedfromalternatepaths' => { 433 => [\'DerivedFrom','DerivedFromAlternatePaths'] },
-	'derivedfromdocumentid' => { 433 => [\'DerivedFrom','DerivedFromDocumentID'] },
-	'derivedfromfilepath' => { 433 => [\'DerivedFrom','DerivedFromFilePath'] },
-	'derivedfromfrompart' => { 433 => [\'DerivedFrom','DerivedFromFromPart'] },
-	'derivedfrominstanceid' => { 433 => [\'DerivedFrom','DerivedFromInstanceID'] },
-	'derivedfromlastmodifydate' => { 433 => [\'DerivedFrom','DerivedFromLastModifyDate'] },
-	'derivedfrommanager' => { 433 => [\'DerivedFrom','DerivedFromManager'] },
-	'derivedfrommanagervariant' => { 433 => [\'DerivedFrom','DerivedFromManagerVariant'] },
-	'derivedfrommanageto' => { 433 => [\'DerivedFrom','DerivedFromManageTo'] },
-	'derivedfrommanageui' => { 433 => [\'DerivedFrom','DerivedFromManageUI'] },
-	'derivedfrommaskmarkers' => { 433 => [\'DerivedFrom','DerivedFromMaskMarkers'] },
-	'derivedfromoriginaldocumentid' => { 433 => [\'DerivedFrom','DerivedFromOriginalDocumentID'] },
-	'derivedfrompartmapping' => { 433 => [\'DerivedFrom','DerivedFromPartMapping'] },
-	'derivedfromrenditionclass' => { 433 => [\'DerivedFrom','DerivedFromRenditionClass'] },
-	'derivedfromrenditionparams' => { 433 => [\'DerivedFrom','DerivedFromRenditionParams'] },
-	'derivedfromtopart' => { 433 => [\'DerivedFrom','DerivedFromToPart'] },
-	'derivedfromversionid' => { 433 => [\'DerivedFrom','DerivedFromVersionID'] },
-	'description' => { 268 => 'Description', 409 => 'description', 430 => 'Description' },
-	'destination' => { 116 => 0x5 },
-	'destinationcity' => { 310 => 0x24, 316 => 0x3 },
-	'destinationcitycode' => { 317 => 0x1001 },
-	'destinationdst' => { 310 => 0x26, 316 => '0.3' },
-	'developmentdynamicrange' => { 112 => 0x1403 },
-	'device' => { 422 => 'device' },
-	'devicesettingdescription' => { 412 => 'DeviceSettingDescription' },
-	'devicesettingdescriptioncolumns' => { 412 => [\'DeviceSettingDescription','DeviceSettingDescriptionColumns'] },
-	'devicesettingdescriptionrows' => { 412 => [\'DeviceSettingDescription','DeviceSettingDescriptionRows'] },
-	'devicesettingdescriptionsettings' => { 412 => [\'DeviceSettingDescription','DeviceSettingDescriptionSettings'] },
-	'devicetype' => { 341 => 0x2 },
-	'dialdirectiontvav' => { 73 => 0x706 },
-	'dietaryneeds' => { 424 => 'dietaryNeeds' },
-	'diffractioncorrection' => { 300 => 0x3 },
-	'digitalcreationdate' => { 115 => 0x3e },
-	'digitalcreationtime' => { 115 => 0x3f },
-	'digitaldeehighlightadj' => { 203 => 0x202 },
-	'digitaldeeshadowadj' => { 203 => 0x200 },
-	'digitaldeethreshold' => { 203 => 0x201 },
-	'digitalfilter' => { 344 => 0x59 },
-	'digitalfilter01' => { 297 => 0x5 },
-	'digitalfilter02' => { 297 => 0x16 },
-	'digitalfilter03' => { 297 => 0x27 },
-	'digitalfilter04' => { 297 => 0x38 },
-	'digitalfilter05' => { 297 => 0x49 },
-	'digitalfilter06' => { 297 => 0x5a },
-	'digitalfilter07' => { 297 => 0x6b },
-	'digitalfilter08' => { 297 => 0x7c },
-	'digitalfilter09' => { 297 => 0x8d },
-	'digitalfilter10' => { 297 => 0x9e },
-	'digitalfilter11' => { 297 => 0xaf },
-	'digitalfilter12' => { 297 => 0xc0 },
-	'digitalfilter13' => { 297 => 0xd1 },
-	'digitalfilter14' => { 297 => 0xe2 },
-	'digitalfilter15' => { 297 => 0xf3 },
-	'digitalfilter16' => { 297 => 0x104 },
-	'digitalfilter17' => { 297 => 0x115 },
-	'digitalfilter18' => { 297 => 0x126 },
-	'digitalfilter19' => { 297 => 0x137 },
-	'digitalfilter20' => { 297 => 0x148 },
-	'digitalgain' => { 65 => 0xb },
-	'digitalgem' => { 188 => 0x0 },
-	'digitalice' => { 203 => 0x100 },
-	'digitalimageguid' => { 418 => 'DigImageGUID' },
-	'digitalroc' => { 201 => 0x0 },
-	'digitalsourcefiletype' => { 418 => 'DigitalSourcefileType' },
-	'digitalsourcetype' => { 418 => 'DigitalSourceType' },
-	'digitalzoom' => { 31 => 0xc, 101 => 0xa, 123 => 0x68, 137 => 'DigitalZoom', 159 => 0xc, 196 => 0x86, 224 => 0xa, 260 => 0x204, 310 => 0x1e, 317 => 0xa, 343 => 0x204, 381 => 0x12, 382 => 0x12 },
-	'digitalzoomon' => { 343 => 0x21b },
-	'digitalzoomratio' => { 107 => 0xa404, 373 => 0x200, 375 => 0x21c, 412 => 'DigitalZoomRatio' },
-	'director' => { 432 => 'director' },
-	'directorphotography' => { 432 => 'directorPhotography' },
-	'directory' => { 108 => 'Directory' },
-	'directoryindex' => { 6 => 0x137, 8 => 0x2dc, 10 => 0x17e, 12 => 0x238, 13 => 0x13f, 14 => 0x133, 15 => 0x1df, 16 => 0x1a7, 17 => 0x1f0, 18 => 0xcc, 19 => 0x1c7, 20 => 0x298, 21 => 0x1e7, 22 => 0x1e5, 23 => [0x27c,0x280], 24 => 0x2b6, 25 => 0x2bf, 26 => 0x1f7 },
+	'croppedimagewidth' => { 5 => 0x1, 339 => 0x1603 },
+	'cropright' => { 113 => 0x8, 231 => 0x2e, 284 => 0x32, 325 => 0xdb, 413 => 'CropRight' },
+	'croprightmargin' => { 47 => 0x1 },
+	'croprotatedoriginalheight' => { 92 => 0x2 },
+	'croprotatedoriginalwidth' => { 92 => 0x1 },
+	'croprotation' => { 92 => 0x8, 113 => 0xb },
+	'cropscaledresolution' => { 231 => 0x9e },
+	'cropsourceresolution' => { 231 => 0xae },
+	'croptop' => { 99 => 0x248, 113 => 0x7, 231 => 0x26, 263 => 0x613, 267 => 0x613, 284 => 0x2f, 325 => 0xda, 413 => 'CropTop' },
+	'croptopmargin' => { 47 => 0x2 },
+	'cropunit' => { 413 => 'CropUnit' },
+	'cropunits' => { 413 => 'CropUnits' },
+	'cropw' => { 406 => 'CropW' },
+	'cropwidth' => { 92 => 0x5, 99 => 0x24a, 263 => 0x614, 267 => 0x614, 413 => 'CropWidth' },
+	'cropx' => { 92 => 0x3, 406 => 'CropX' },
+	'cropy' => { 92 => 0x4, 406 => 'CropY' },
+	'crossprocess' => { 314 => 0x7b },
+	'crossprocessparams' => { 314 => 0x235 },
+	'cuisine' => { 429 => 'cuisine' },
+	'currenticcprofile' => { 109 => 0xc691 },
+	'currentpreprofilematrix' => { 109 => 0xc692 },
+	'currentversion' => { 398 => 0xd000 },
+	'curve0x' => { 406 => 'Curve0x' },
+	'curve0y' => { 406 => 'Curve0y' },
+	'curve1x' => { 406 => 'Curve1x' },
+	'curve1y' => { 406 => 'Curve1y' },
+	'curve2x' => { 406 => 'Curve2x' },
+	'curve2y' => { 406 => 'Curve2y' },
+	'curve3x' => { 406 => 'Curve3x' },
+	'curve3y' => { 406 => 'Curve3y' },
+	'curve4x' => { 406 => 'Curve4x' },
+	'curve4y' => { 406 => 'Curve4y' },
+	'curves' => { 236 => 0x76a43201 },
+	'custom1' => { 269 => 'Custom1' },
+	'custom10' => { 269 => 'Custom10' },
+	'custom2' => { 269 => 'Custom2' },
+	'custom3' => { 269 => 'Custom3' },
+	'custom4' => { 269 => 'Custom4' },
+	'custom5' => { 269 => 'Custom5' },
+	'custom6' => { 269 => 'Custom6' },
+	'custom7' => { 269 => 'Custom7' },
+	'custom8' => { 269 => 'Custom8' },
+	'custom9' => { 269 => 'Custom9' },
+	'customcolortone' => { 100 => 0x4c },
+	'customcontrast' => { 100 => 0x4e },
+	'customcontrols' => { 75 => 0x70c },
+	'customdefaultunsharpfineness' => { 100 => 0xbe },
+	'customdefaultunsharpstrength' => { 100 => 0xbc },
+	'customdefaultunsharpthreshold' => { 100 => 0xc0 },
+	'customlinear' => { 100 => 0x4f },
+	'customoutputhighlightpoint' => { 100 => 0x53 },
+	'customoutputshadowpoint' => { 100 => 0x54 },
+	'custompicturestyle' => { 94 => 0x10021 },
+	'custompicturestyledata' => { 94 => 0xf0500 },
+	'custompicturestylefilename' => { 57 => 0x4010 },
+	'customrawhighlight' => { 100 => 0x7c },
+	'customrawhighlightpoint' => { 100 => 0x51 },
+	'customrawshadow' => { 100 => 0x85 },
+	'customrawshadowpoint' => { 100 => 0x52 },
+	'customrendered' => { 109 => 0xa401, 417 => 'CustomRendered' },
+	'customsaturation' => { 100 => 0x4d, 259 => 0x503 },
+	'customsettingsalldefault' => { 243 => '0.2', 252 => '0.2' },
+	'customsettingsbank' => { 243 => '0.1', 244 => '0.1', 246 => '0.1', 247 => '0.1', 252 => '0.1', 256 => '0.2' },
+	'customsharpness' => { 100 => 0x50 },
+	'customunsharpmaskfineness' => { 100 => 0xb8 },
+	'customunsharpmaskstrength' => { 100 => 0xb6 },
+	'customunsharpmaskthreshold' => { 100 => 0xba },
+	'customwb_rblevels' => { 373 => 0x1a },
+	'customwb_rgblevels' => { 358 => 0x8, 359 => 0x19 },
+	'customwbbluelevel' => { 164 => 0x36 },
+	'customwberror' => { 164 => 0x37 },
+	'customwbgreenlevel' => { 164 => 0x35 },
+	'customwbredlevel' => { 164 => 0x34 },
+	'customwbsetting' => { 164 => 0x26 },
+	'd-lightinghq' => { 236 => 0x2175eb78 },
+	'd-lightinghqcolorboost' => { 232 => 0x2 },
+	'd-lightinghqhighlight' => { 232 => 0x1 },
+	'd-lightinghqselected' => { 236 => 0x6a6e36b6 },
+	'd-lightinghqshadow' => { 232 => 0x0 },
+	'd-lightinghs' => { 236 => 0xce5554aa },
+	'd-lightinghsadjustment' => { 233 => 0x0 },
+	'd-lightinghscolorboost' => { 233 => 0x1 },
+	'd-rangeoptimizerhighlight' => { 398 => 0x8024 },
+	'd-rangeoptimizermode' => { 398 => 0x8022 },
+	'd-rangeoptimizershadow' => { 398 => 0x802d },
+	'd-rangeoptimizervalue' => { 398 => 0x8023 },
+	'd810meteringmode' => { 224 => 0x175e },
+	'datacompressionmethod' => { 119 => 0x6e },
+	'dataimprint' => { 161 => 0x34 },
+	'datascaling' => { 314 => 0x3d },
+	'date' => { 314 => 0x6, 414 => 'date' },
+	'dateacquired' => { 159 => 'DateAcquired' },
+	'datecreated' => { 117 => 0x37, 425 => 'DateCreated' },
+	'datedisplayformat' => { 228 => 0x3 },
+	'dateidentified' => { 108 => [\'Identification','IdentificationDateIdentified'] },
+	'dateimprint' => { 248 => '4.2' },
+	'daterecieved' => { 427 => 'dateRecieved' },
+	'datesent' => { 118 => 0x46 },
+	'datestampmode' => { 57 => 0x1c },
+	'datetime' => { 407 => 'datetime', 433 => 'DateTime' },
+	'datetimedigitized' => { 417 => 'DateTimeDigitized' },
+	'datetimeoriginal' => { 91 => 0x0, 109 => 0x9003, 137 => 0x14, 140 => 'OriginalDate', 335 => 0xb, 417 => 'DateTimeOriginal' },
+	'datetimestamp' => { 125 => 0x64 },
+	'datetimeutc' => { 259 => 0x908 },
+	'daylightsavings' => { 70 => 0x3, 228 => 0x2 },
+	'dccontinent' => { 108 => [\'dctermsLocation','dctermsLocationContinent'] },
+	'dccoordinateprecision' => { 108 => [\'dctermsLocation','dctermsLocationCoordinatePrecision'] },
+	'dccoordinateuncertaintyinmeters' => { 108 => [\'dctermsLocation','dctermsLocationCoordinateUncertaintyInMeters'] },
+	'dccountry' => { 108 => [\'dctermsLocation','dctermsLocationCountry'] },
+	'dccountrycode' => { 108 => [\'dctermsLocation','dctermsLocationCountryCode'] },
+	'dccounty' => { 108 => [\'dctermsLocation','dctermsLocationCounty'] },
+	'dcdecimallatitude' => { 108 => [\'dctermsLocation','dctermsLocationDecimalLatitude'] },
+	'dcdecimallongitude' => { 108 => [\'dctermsLocation','dctermsLocationDecimalLongitude'] },
+	'dcevent' => { 108 => 'Event' },
+	'dcfootprintspatialfit' => { 108 => [\'dctermsLocation','dctermsLocationFootprintSpatialFit'] },
+	'dcfootprintsrs' => { 108 => [\'dctermsLocation','dctermsLocationFootprintSRS'] },
+	'dcfootprintwkt' => { 108 => [\'dctermsLocation','dctermsLocationFootprintWKT'] },
+	'dcgeodeticdatum' => { 108 => [\'dctermsLocation','dctermsLocationGeodeticDatum'] },
+	'dcgeoreferencedby' => { 108 => [\'dctermsLocation','dctermsLocationGeoreferencedBy'] },
+	'dcgeoreferenceddate' => { 108 => [\'dctermsLocation','dctermsLocationGeoreferencedDate'] },
+	'dcgeoreferenceprotocol' => { 108 => [\'dctermsLocation','dctermsLocationGeoreferenceProtocol'] },
+	'dcgeoreferenceremarks' => { 108 => [\'dctermsLocation','dctermsLocationGeoreferenceRemarks'] },
+	'dcgeoreferencesources' => { 108 => [\'dctermsLocation','dctermsLocationGeoreferenceSources'] },
+	'dcgeoreferenceverificationstatus' => { 108 => [\'dctermsLocation','dctermsLocationGeoreferenceVerificationStatus'] },
+	'dchighergeography' => { 108 => [\'dctermsLocation','dctermsLocationHigherGeography'] },
+	'dchighergeographyid' => { 108 => [\'dctermsLocation','dctermsLocationHigherGeographyID'] },
+	'dcisland' => { 108 => [\'dctermsLocation','dctermsLocationIsland'] },
+	'dcislandgroup' => { 108 => [\'dctermsLocation','dctermsLocationIslandGroup'] },
+	'dclocality' => { 108 => [\'dctermsLocation','dctermsLocationLocality'] },
+	'dclocationaccordingto' => { 108 => [\'dctermsLocation','dctermsLocationLocationAccordingTo'] },
+	'dclocationid' => { 108 => [\'dctermsLocation','dctermsLocationLocationID'] },
+	'dclocationremarks' => { 108 => [\'dctermsLocation','dctermsLocationLocationRemarks'] },
+	'dcmaximumdepthinmeters' => { 108 => [\'dctermsLocation','dctermsLocationMaximumDepthInMeters'] },
+	'dcmaximumdistanceabovesurfaceinmeters' => { 108 => [\'dctermsLocation','dctermsLocationMaximumDistanceAboveSurfaceInMeters'] },
+	'dcmaximumelevationinmeters' => { 108 => [\'dctermsLocation','dctermsLocationMaximumElevationInMeters'] },
+	'dcminimumdepthinmeters' => { 108 => [\'dctermsLocation','dctermsLocationMinimumDepthInMeters'] },
+	'dcminimumdistanceabovesurfaceinmeters' => { 108 => [\'dctermsLocation','dctermsLocationMinimumDistanceAboveSurfaceInMeters'] },
+	'dcminimumelevationinmeters' => { 108 => [\'dctermsLocation','dctermsLocationMinimumElevationInMeters'] },
+	'dcmunicipality' => { 108 => [\'dctermsLocation','dctermsLocationMunicipality'] },
+	'dcpointradiusspatialfit' => { 108 => [\'dctermsLocation','dctermsLocationPointRadiusSpatialFit'] },
+	'dcstateprovince' => { 108 => [\'dctermsLocation','dctermsLocationStateProvince'] },
+	'dctermslocation' => { 108 => 'dctermsLocation' },
+	'dcverbatimcoordinates' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimCoordinates'] },
+	'dcverbatimcoordinatesystem' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimCoordinateSystem'] },
+	'dcverbatimdepth' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimDepth'] },
+	'dcverbatimelevation' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimElevation'] },
+	'dcverbatimlatitude' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimLatitude'] },
+	'dcverbatimlocality' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimLocality'] },
+	'dcverbatimlongitude' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimLongitude'] },
+	'dcverbatimsrs' => { 108 => [\'dctermsLocation','dctermsLocationVerbatimSRS'] },
+	'dcwaterbody' => { 108 => [\'dctermsLocation','dctermsLocationWaterBody'] },
+	'declination' => { 148 => 'Declination' },
+	'decposition' => { 161 => 0x32 },
+	'defaultautogray' => { 413 => 'DefaultAutoGray' },
+	'defaultautotone' => { 413 => 'DefaultAutoTone' },
+	'defaultblackrender' => { 109 => 0xc7a6 },
+	'defaultcroporigin' => { 109 => 0xc61f },
+	'defaultcropsize' => { 109 => 0xc620 },
+	'defaulteraseoption' => { 75 => 0x813 },
+	'defaultscale' => { 109 => 0xc61e },
+	'defaultsspecifictoiso' => { 413 => 'DefaultsSpecificToISO' },
+	'defaultsspecifictoserial' => { 413 => 'DefaultsSpecificToSerial' },
+	'defaultusercrop' => { 109 => 0xc7b5 },
+	'defringe' => { 413 => 'Defringe' },
+	'defringegreenamount' => { 413 => 'DefringeGreenAmount' },
+	'defringegreenhuehi' => { 413 => 'DefringeGreenHueHi' },
+	'defringegreenhuelo' => { 413 => 'DefringeGreenHueLo' },
+	'defringepurpleamount' => { 413 => 'DefringePurpleAmount' },
+	'defringepurplehuehi' => { 413 => 'DefringePurpleHueHi' },
+	'defringepurplehuelo' => { 413 => 'DefringePurpleHueLo' },
+	'dehaze' => { 413 => 'Dehaze' },
+	'deletedimagecount' => { 198 => 0xa6, 206 => 0x6e },
+	'deprecatedon' => { 410 => 'deprecatedOn' },
+	'derivedfrom' => { 438 => 'DerivedFrom' },
+	'derivedfromalternatepaths' => { 438 => [\'DerivedFrom','DerivedFromAlternatePaths'] },
+	'derivedfromdocumentid' => { 438 => [\'DerivedFrom','DerivedFromDocumentID'] },
+	'derivedfromfilepath' => { 438 => [\'DerivedFrom','DerivedFromFilePath'] },
+	'derivedfromfrompart' => { 438 => [\'DerivedFrom','DerivedFromFromPart'] },
+	'derivedfrominstanceid' => { 438 => [\'DerivedFrom','DerivedFromInstanceID'] },
+	'derivedfromlastmodifydate' => { 438 => [\'DerivedFrom','DerivedFromLastModifyDate'] },
+	'derivedfromlasturl' => { 438 => [\'DerivedFrom','DerivedFromLastURL'] },
+	'derivedfromlinkcategory' => { 438 => [\'DerivedFrom','DerivedFromLinkCategory'] },
+	'derivedfromlinkform' => { 438 => [\'DerivedFrom','DerivedFromLinkForm'] },
+	'derivedfrommanager' => { 438 => [\'DerivedFrom','DerivedFromManager'] },
+	'derivedfrommanagervariant' => { 438 => [\'DerivedFrom','DerivedFromManagerVariant'] },
+	'derivedfrommanageto' => { 438 => [\'DerivedFrom','DerivedFromManageTo'] },
+	'derivedfrommanageui' => { 438 => [\'DerivedFrom','DerivedFromManageUI'] },
+	'derivedfrommaskmarkers' => { 438 => [\'DerivedFrom','DerivedFromMaskMarkers'] },
+	'derivedfromoriginaldocumentid' => { 438 => [\'DerivedFrom','DerivedFromOriginalDocumentID'] },
+	'derivedfrompartmapping' => { 438 => [\'DerivedFrom','DerivedFromPartMapping'] },
+	'derivedfromplacedresolutionunit' => { 438 => [\'DerivedFrom','DerivedFromPlacedResolutionUnit'] },
+	'derivedfromplacedxresolution' => { 438 => [\'DerivedFrom','DerivedFromPlacedXResolution'] },
+	'derivedfromplacedyresolution' => { 438 => [\'DerivedFrom','DerivedFromPlacedYResolution'] },
+	'derivedfromrenditionclass' => { 438 => [\'DerivedFrom','DerivedFromRenditionClass'] },
+	'derivedfromrenditionparams' => { 438 => [\'DerivedFrom','DerivedFromRenditionParams'] },
+	'derivedfromtopart' => { 438 => [\'DerivedFrom','DerivedFromToPart'] },
+	'derivedfromversionid' => { 438 => [\'DerivedFrom','DerivedFromVersionID'] },
+	'description' => { 272 => 'Description', 414 => 'description', 435 => 'Description' },
+	'destination' => { 118 => 0x5 },
+	'destinationcity' => { 314 => 0x24, 320 => 0x3 },
+	'destinationcitycode' => { 321 => 0x1001 },
+	'destinationdst' => { 314 => 0x26, 320 => '0.3' },
+	'developmentdynamicrange' => { 114 => 0x1403 },
+	'device' => { 427 => 'device' },
+	'devicesettingdescription' => { 417 => 'DeviceSettingDescription' },
+	'devicesettingdescriptioncolumns' => { 417 => [\'DeviceSettingDescription','DeviceSettingDescriptionColumns'] },
+	'devicesettingdescriptionrows' => { 417 => [\'DeviceSettingDescription','DeviceSettingDescriptionRows'] },
+	'devicesettingdescriptionsettings' => { 417 => [\'DeviceSettingDescription','DeviceSettingDescriptionSettings'] },
+	'devicetype' => { 346 => 0x2 },
+	'dialdirectiontvav' => { 75 => 0x706 },
+	'dietaryneeds' => { 429 => 'dietaryNeeds' },
+	'diffractioncorrection' => { 304 => 0x3 },
+	'digitalcreationdate' => { 117 => 0x3e },
+	'digitalcreationtime' => { 117 => 0x3f },
+	'digitaldeehighlightadj' => { 205 => 0x202 },
+	'digitaldeeshadowadj' => { 205 => 0x200 },
+	'digitaldeethreshold' => { 205 => 0x201 },
+	'digitalfilter' => { 349 => 0x59 },
+	'digitalfilter01' => { 301 => 0x5 },
+	'digitalfilter02' => { 301 => 0x16 },
+	'digitalfilter03' => { 301 => 0x27 },
+	'digitalfilter04' => { 301 => 0x38 },
+	'digitalfilter05' => { 301 => 0x49 },
+	'digitalfilter06' => { 301 => 0x5a },
+	'digitalfilter07' => { 301 => 0x6b },
+	'digitalfilter08' => { 301 => 0x7c },
+	'digitalfilter09' => { 301 => 0x8d },
+	'digitalfilter10' => { 301 => 0x9e },
+	'digitalfilter11' => { 301 => 0xaf },
+	'digitalfilter12' => { 301 => 0xc0 },
+	'digitalfilter13' => { 301 => 0xd1 },
+	'digitalfilter14' => { 301 => 0xe2 },
+	'digitalfilter15' => { 301 => 0xf3 },
+	'digitalfilter16' => { 301 => 0x104 },
+	'digitalfilter17' => { 301 => 0x115 },
+	'digitalfilter18' => { 301 => 0x126 },
+	'digitalfilter19' => { 301 => 0x137 },
+	'digitalfilter20' => { 301 => 0x148 },
+	'digitalgain' => { 67 => 0xb },
+	'digitalgem' => { 190 => 0x0 },
+	'digitalice' => { 205 => 0x100 },
+	'digitalimageguid' => { 423 => 'DigImageGUID' },
+	'digitalroc' => { 203 => 0x0 },
+	'digitalsourcefiletype' => { 423 => 'DigitalSourcefileType' },
+	'digitalsourcetype' => { 423 => 'DigitalSourceType' },
+	'digitalzoom' => { 33 => 0xc, 103 => 0xa, 114 => 0x1044, 125 => 0x68, 139 => 'DigitalZoom', 161 => 0xc, 198 => 0x86, 226 => 0xa, 264 => 0x204, 314 => 0x1e, 321 => 0xa, 348 => 0x204, 386 => 0x12, 387 => 0x12 },
+	'digitalzoomon' => { 348 => 0x21b },
+	'digitalzoomratio' => { 109 => 0xa404, 378 => 0x200, 380 => 0x21c, 417 => 'DigitalZoomRatio' },
+	'director' => { 437 => 'director' },
+	'directorphotography' => { 437 => 'directorPhotography' },
+	'directory' => { 110 => 'Directory' },
+	'directoryindex' => { 6 => 0x137, 8 => 0x2dc, 10 => 0x17e, 12 => 0x238, 13 => 0x13f, 14 => 0x133, 15 => 0x1df, 16 => 0x1a7, 17 => 0x1f0, 18 => 0xcc, 19 => 0x1c7, 20 => 0x298, 21 => 0x1e7, 22 => 0x1e5, 23 => [0x27c,0x280], 24 => 0x2b6, 25 => 0x2bf, 27 => 0x1f7, 28 => 0x4ba },
 	'directoryindex2' => { 20 => 0x29c },
-	'directorynumber' => { 183 => 0x3 },
-	'disclaimer' => { 268 => 'Disclaimer' },
-	'discnumber' => { 432 => 'discNumber' },
-	'dishtype' => { 424 => 'dishType' },
-	'displayallafpoints' => { 73 => 0x514 },
-	'displayaperture' => { 31 => 0x23 },
-	'displayedunitsx' => { 325 => 0x2 },
-	'displayedunitsy' => { 325 => 0x6 },
-	'displayname' => { 421 => 'displayName' },
-	'distance1' => { 123 => 0x28 },
-	'distance2' => { 123 => 0x2c },
-	'distance3' => { 123 => 0x30 },
-	'distance4' => { 123 => 0x34 },
-	'distortion' => { 341 => 0xa050 },
-	'distortioncontrol' => { 204 => 0x10 },
-	'distortioncorrection' => { 92 => 0x20705, 98 => 0x67, 255 => 0x50b, 279 => '7.1', 300 => 0x0, 388 => 0x601, 389 => 0x5b },
-	'distortioncorrection2' => { 259 => 0x1011 },
-	'distortioncorrectionalreadyapplied' => { 404 => 'DistortionCorrectionAlreadyApplied' },
-	'distortioncorrectionon' => { 92 => '0x20705.0', 98 => 0x63 },
-	'distortioncorrectionsetting' => { 364 => 0x2013 },
-	'distortioneffect' => { 92 => 0x20709 },
-	'distortionn' => { 279 => 0xc },
-	'distortionparam02' => { 279 => 0x2 },
-	'distortionparam04' => { 279 => 0x4 },
-	'distortionparam08' => { 279 => 0x8 },
-	'distortionparam09' => { 279 => 0x9 },
-	'distortionparam11' => { 279 => 0xb },
-	'distortionscale' => { 279 => 0x5 },
-	'distributor' => { 422 => 'distributor' },
-	'distributorproductid' => { 421 => 'distributorProductID' },
-	'dloon' => { 92 => '0x20706.0', 98 => 0xdc },
-	'dlosetting' => { 92 => 0x20706, 98 => 0xdd },
-	'dlosettingapplied' => { 91 => 0x4 },
-	'dloshootingdistance' => { 98 => 0xde },
-	'dloversion' => { 91 => 0x5 },
-	'dmcomment' => { 432 => 'comment' },
-	'dngadobedata' => { 107 => 0xc634 },
-	'dngbackwardversion' => { 107 => 0xc613 },
-	'dngignoresidecars' => { 408 => 'DNGIgnoreSidecars' },
-	'dnglensinfo' => { 107 => 0xc630 },
-	'dngprivatedata' => { 107 => 0xc634 },
-	'dngversion' => { 107 => 0xc612 },
-	'document' => { 268 => 'Document' },
-	'documentancestors' => { 420 => 'DocumentAncestors' },
-	'documenthistory' => { 115 => 0xe7 },
-	'documentid' => { 433 => 'DocumentID' },
-	'documentname' => { 107 => 0x10d },
-	'documentnotes' => { 115 => 0xe6 },
-	'doi' => { 422 => 'doi' },
-	'dpp' => { 402 => 'dpp' },
-	'dr4cameramodel' => { 93 => 0x3 },
-	'drivemode' => { 102 => 0x3103, 159 => 0x6, 162 => 0x1e, 165 => 0xe, 255 => 0x600, 310 => 0x34, 335 => 0x1002, 344 => 0x3, 352 => 0x4, 353 => 0x7e, 354 => 0x34 },
-	'drivemode2' => { 162 => 0xa, 291 => 0x7, 363 => 0xe, 368 => 0x1 },
-	'drivemodesetting' => { 354 => 0x4 },
-	'dspfirmwareversion' => { 310 => 0x27 },
-	'duration' => { 58 => 0x6a, 136 => 'Duration', 150 => 'Duration', 424 => 'duration', 432 => 'duration' },
-	'durationscale' => { 432 => [\'duration','durationScale'] },
-	'durationvalue' => { 432 => [\'duration','durationValue'] },
-	'dustremovaldata' => { 55 => 0x97 },
-	'dynamicafarea' => { 241 => '1.4', 248 => '1.4' },
-	'dynamicareaafdisplay' => { 242 => '46.1', 244 => '47.1', 252 => '47.1' },
-	'dynamicrange' => { 112 => 0x1400 },
-	'dynamicrangeexpansion' => { 310 => 0x69, 335 => 0x100e },
-	'dynamicrangemax' => { 97 => 0x7c },
-	'dynamicrangemin' => { 97 => 0x7a },
-	'dynamicrangeoptimizer' => { 162 => 0x15, 364 => [0xb025,0xb04f], 371 => 0x1144, 372 => [0x1144,0x324], 373 => [0x1120,0x300], 374 => [0x119c,0x37c], 375 => [0x1178,0x328], 376 => [0x1030,0x50], 377 => [0x228,0x50], 378 => [0x228,0x50] },
-	'dynamicrangeoptimizerbracket' => { 363 => 0x2e },
-	'dynamicrangeoptimizerlevel' => { 352 => 0x19, 353 => 0x17, 354 => 0xd, 363 => 0x79, 368 => 0x5 },
-	'dynamicrangeoptimizermode' => { 165 => 0x15, 352 => 0x18, 353 => 0x16, 363 => [0x77,0x15] },
-	'dynamicrangeoptimizersetting' => { 162 => 0x27, 354 => 0xc, 368 => 0x4 },
-	'dynamicrangesetting' => { 112 => 0x1402 },
-	'e-dialinprogram' => { 291 => '1.3' },
-	'earliestageorloweststage' => { 106 => [\'GeologicalContext','GeologicalContextEarliestAgeOrLowestStage'] },
-	'earliesteonorlowesteonothem' => { 106 => [\'GeologicalContext','GeologicalContextEarliestEonOrLowestEonothem'] },
-	'earliestepochorlowestseries' => { 106 => [\'GeologicalContext','GeologicalContextEarliestEpochOrLowestSeries'] },
-	'earliesteraorlowesterathem' => { 106 => [\'GeologicalContext','GeologicalContextEarliestEraOrLowestErathem'] },
-	'earliestperiodorlowestsystem' => { 106 => [\'GeologicalContext','GeologicalContextEarliestPeriodOrLowestSystem'] },
-	'easyexposurecomp' => { 253 => '6.1' },
-	'easyexposurecompensation' => { 241 => '6.4', 242 => '6.5', 244 => '6.3', 248 => '4.4', 249 => '5.2', 252 => '6.3' },
-	'easymode' => { 31 => 0xb },
-	'edgenoisereduction' => { 235 => 0x4, 393 => 0x8028 },
-	'edition' => { 422 => 'edition' },
-	'editorialupdate' => { 115 => 0x8 },
-	'editstatus' => { 115 => 0x7, 322 => 'EditStatus', 402 => 'EditStatus' },
-	'editversionname' => { 234 => 0x3d136244 },
-	'effectivelv' => { 310 => 0x2d },
-	'effectivemaxaperture' => { 192 => 0x12, 193 => 0x13 },
-	'eissn' => { 422 => 'eIssn' },
-	'electronicfront-curtainshutter' => { 244 => '5.2', 252 => '5.3' },
-	'elevation' => { 146 => 'Elevation' },
-	'email' => { 138 => 'EMail' },
-	'embargodate' => { 425 => 'embargoDate' },
-	'embdencrightsexpr' => { 418 => 'EmbdEncRightsExpr' },
-	'embeddedencodedrightsexpr' => { 418 => [\'EmbdEncRightsExpr','EmbdEncRightsExprEncRightsExpr'] },
-	'embeddedencodedrightsexprlangid' => { 418 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprLangId'] },
-	'embeddedencodedrightsexprtype' => { 418 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprEncType'] },
-	'embeddedxmpdigest' => { 420 => 'EmbeddedXMPDigest' },
-	'emissivity' => { 109 => 0x3 },
-	'encryptionkey' => { 341 => 0xa020 },
-	'endingpage' => { 422 => 'endingPage' },
-	'enduser' => { 265 => 'EndUser' },
-	'enduserid' => { 265 => [\'EndUser','EndUserEndUserID'] },
-	'endusername' => { 265 => [\'EndUser','EndUserEndUserName'] },
-	'engineer' => { 432 => 'engineer' },
-	'enhancedarktones' => { 227 => 0x8 },
-	'enhancement' => { 101 => 0x16, 102 => 0x3016 },
-	'enhancer' => { 259 => 0x300 },
-	'enhancervalues' => { 259 => 0x301 },
-	'envelopenumber' => { 116 => 0x28 },
-	'envelopepriority' => { 116 => 0x3c },
-	'enveloperecordversion' => { 116 => 0x0 },
-	'epsonimageheight' => { 260 => 0x20c },
-	'epsonimagewidth' => { 260 => 0x20b },
-	'epsonsoftware' => { 260 => 0x20d },
-	'equipmentinstitution' => { 395 => 'EquipmentInstitution' },
-	'equipmentmanufacturer' => { 395 => 'EquipmentManufacturer' },
-	'equipmentversion' => { 256 => 0x0 },
-	'ettlii' => { 73 => 0x304, 74 => 0xd, 75 => 0xe, 76 => 0x7, 77 => 0x7, 78 => 0xe },
-	'event' => { 396 => 'Event', 400 => 'Event', 418 => 'Event', 422 => 'event' },
-	'eventalias' => { 421 => 'eventAlias' },
-	'eventday' => { 106 => [\'Event','EventDay'] },
-	'eventearliestdate' => { 106 => [\'Event','EventEarliestDate'] },
-	'eventend' => { 421 => 'eventEnd' },
-	'eventenddayofyear' => { 106 => [\'Event','EventEndDayOfYear'] },
-	'eventfieldnotes' => { 106 => [\'Event','EventFieldNotes'] },
-	'eventfieldnumber' => { 106 => [\'Event','EventFieldNumber'] },
-	'eventhabitat' => { 106 => [\'Event','EventHabitat'] },
-	'eventid' => { 106 => [\'Event','EventEventID'] },
-	'eventlatestdate' => { 106 => [\'Event','EventLatestDate'] },
-	'eventmonth' => { 106 => [\'Event','EventMonth'] },
-	'eventnumber' => { 331 => 0x9 },
-	'eventremarks' => { 106 => [\'Event','EventEventRemarks'] },
-	'eventsamplingeffort' => { 106 => [\'Event','EventSamplingEffort'] },
-	'eventsamplingprotocol' => { 106 => [\'Event','EventSamplingProtocol'] },
-	'eventstart' => { 421 => 'eventStart' },
-	'eventstartdayofyear' => { 106 => [\'Event','EventStartDayOfYear'] },
-	'eventsubtype' => { 421 => 'eventSubtype' },
-	'eventtime' => { 106 => [\'Event','EventEventTime'] },
-	'eventtype' => { 421 => 'eventType' },
-	'eventverbatimeventdate' => { 106 => [\'Event','EventVerbatimEventDate'] },
-	'eventyear' => { 106 => [\'Event','EventYear'] },
-	'evsteps' => { 291 => '1.2', 293 => 0x0 },
-	'evstepsize' => { 245 => '5.1', 246 => '6.1', 247 => '6.1', 250 => '0.7' },
-	'exclusivityenddate' => { 425 => 'exclusivityEndDate' },
-	'excursiontolerance' => { 117 => 0x82 },
-	'exif' => { 108 => 'EXIF' },
-	'exifbyteorder' => { 108 => 'ExifByteOrder' },
-	'exifcamerainfo' => { 115 => 0xe8 },
-	'exifimageheight' => { 107 => 0xa003, 412 => 'PixelYDimension' },
-	'exifimagewidth' => { 107 => 0xa002, 412 => 'PixelXDimension' },
-	'exifunicodebyteorder' => { 108 => 'ExifUnicodeByteOrder' },
-	'exifversion' => { 107 => 0x9000, 412 => 'ExifVersion' },
-	'exitpupilposition' => { 192 => 0x4, 193 => 0x4 },
-	'expirationdate' => { 115 => 0x25, 425 => 'expirationDate' },
-	'expirationtime' => { 115 => 0x26 },
-	'exposure' => { 107 => 0xfe51, 408 => 'Exposure' },
-	'exposure2012' => { 408 => 'Exposure2012' },
-	'exposureadj' => { 232 => 0x0 },
-	'exposureadj2' => { 232 => 0x12 },
-	'exposureadjust' => { 344 => 0xc },
-	'exposurebracketingindicatorlast' => { 162 => 0x52 },
-	'exposurebracketshotnumber' => { 165 => 0x2d, 363 => 0x2f },
-	'exposurebracketstepsize' => { 291 => 0x8 },
-	'exposurebracketvalue' => { 196 => 0x19 },
-	'exposurecompensation' => { 67 => 0x6, 82 => 0x0, 107 => 0x9204, 123 => 0x24, 137 => 'ExposureComp', 155 => 'ExposureCompensation', 159 => 0xd, 160 => 0x53, 161 => 0x1e, 165 => 0x49c0, 260 => 0x1006, 310 => 0x16, 319 => 0x402, 341 => 0xa013, 344 => [0xc,0x35,0x4d], 371 => 0x114c, 372 => 0x114c, 373 => 0x1128, 375 => 0x1180, 376 => 0x1038, 377 => 0x230, 378 => 0x230, 412 => 'ExposureBiasValue' },
-	'exposurecompensation2' => { 368 => [0x24,0x26,0x2a] },
-	'exposurecompensationmode' => { 162 => 0x47, 165 => 0x2a },
-	'exposurecompensationset' => { 352 => 0x3, 353 => 0x3, 354 => 0x3, 368 => 0x1e },
-	'exposurecompensationsetting' => { 162 => 0x1 },
-	'exposurecompstepsize' => { 241 => '6.3', 242 => '7.3', 244 => '7.3', 248 => '4.3', 252 => '7.3' },
-	'exposurecontrolstep' => { 249 => '6.1' },
-	'exposurecontrolstepsize' => { 241 => '6.2', 242 => '7.1', 244 => '7.1', 248 => '4.2', 252 => '7.1', 253 => '7.1' },
-	'exposurecount' => { 112 => 0x1032 },
-	'exposuredelaymode' => { 241 => '10.1', 242 => '11.1', 244 => '11.1', 245 => '9.1', 246 => '10.1', 247 => '10.1', 248 => '10.4', 249 => '10.1', 250 => '6.4', 252 => '11.1', 253 => '11.2' },
-	'exposuredifference' => { 196 => 0xe },
-	'exposureindex' => { 107 => 0xa215, 412 => 'ExposureIndex' },
-	'exposureindicator' => { 162 => 0x50 },
-	'exposurelevelincrements' => { 71 => 0x6, 72 => 0x6, 73 => 0x101, 74 => 0x5, 75 => 0x6, 76 => 0x5, 77 => 0x5, 78 => 0x6, 79 => 0x4, 352 => 0x58, 353 => 0x58 },
-	'exposurelockused' => { 397 => 'ExposureLockUsed' },
-	'exposuremode' => { 107 => 0xa402, 137 => 'ExposureMode', 159 => 0x1, 160 => 0xa, 161 => 0x0, 162 => 0x0, 165 => 0x34, 255 => 0x200, 274 => 0x40d, 344 => 0x8, 364 => 0xb041, 412 => 'ExposureMode' },
-	'exposuremodeinmanual' => { 73 => 0x10b },
-	'exposureprogram' => { 107 => 0x8822, 335 => 0x1001, 345 => [0x17e,0x43], 352 => 0x3c, 353 => 0x3c, 354 => 0x5, 358 => 0x14, 363 => 0x3f, 368 => 0x2, 371 => 0x1175, 372 => 0x1179, 373 => 0x1155, 374 => 0x11d1, 375 => 0x11ad, 376 => 0x1065, 377 => 0x25d, 378 => 0x25d, 389 => 0x48, 412 => 'ExposureProgram' },
-	'exposureshift' => { 255 => 0x203 },
-	'exposuretime' => { 6 => 0x4, 7 => 0x4, 8 => 0x4, 9 => 0x4, 10 => 0x4, 11 => 0x4, 12 => 0x4, 13 => 0x4, 14 => 0x4, 15 => 0x4, 16 => 0x4, 17 => 0x4, 18 => 0x4, 19 => 0x4, 20 => 0x4, 21 => 0x4, 22 => 0x4, 23 => 0x4, 24 => 0x4, 25 => 0x4, 26 => 0x4, 27 => 0x6, 28 => 0x7, 67 => 0x16, 107 => 0x829a, 120 => 0xfd05, 123 => 0x20, 125 => 0xfa24, 127 => 0xf104, 130 => 0x12, 132 => 0x38, 135 => 0x10, 137 => 'ExposureTime', 159 => 0x9, 160 => 0x35, 161 => 0x48, 162 => 0x8, 165 => 0x49b8, 310 => 0x1 [...]
-	'exposuretime2' => { 344 => [0x33,0x4b] },
-	'exposuretuning' => { 196 => 0x1c },
-	'exposurevalue' => { 121 => 0x3 },
-	'exposurewarning' => { 112 => 0x1302 },
-	'exrauto' => { 112 => 0x1033 },
-	'exrmode' => { 112 => 0x1034 },
-	'extendedwbdetect' => { 255 => 0x902 },
-	'extender' => { 256 => 0x301 },
-	'extenderfirmwareversion' => { 256 => 0x304 },
-	'extendermagnification' => { 139 => 'Magnification' },
-	'extendermake' => { 139 => 'Make' },
-	'extendermodel' => { 139 => 'Model', 256 => 0x303 },
-	'extenderserialnumber' => { 139 => 'SerialNumber', 256 => 0x302 },
-	'extenderstatus' => { 308 => 0x3 },
-	'externalflash' => { 258 => 0x1201 },
-	'externalflashae1' => { 260 => 0x101f },
-	'externalflashae1_0' => { 260 => 0x101b },
-	'externalflashae2' => { 260 => 0x1020 },
-	'externalflashae2_0' => { 260 => 0x101c },
-	'externalflashbounce' => { 258 => 0x1204, 260 => 0x1026, 298 => 0x1a },
-	'externalflashcompensation' => { 186 => 0x1b },
-	'externalflashexposurecomp' => { 196 => 0x17, 298 => 0x19 },
-	'externalflashfirmware' => { 184 => 0x6, 185 => 0x6, 186 => 0x6 },
-	'externalflashflags' => { 184 => 0x8, 185 => 0x8, 186 => 0x8 },
-	'externalflashguidenumber' => { 258 => 0x1203, 298 => '24.1' },
-	'externalflashgvalue' => { 260 => 0x1025 },
-	'externalflashmode' => { 260 => 0x1028, 298 => 0x2 },
-	'externalflashstatus' => { 187 => 0x8 },
-	'externalflashzoom' => { 258 => 0x1205, 260 => 0x1027 },
-	'externalsensorbrightnessvalue' => { 272 => 0x311, 278 => 0x3408 },
-	'extrainfoversion' => { 356 => 0x1a },
-	'eyestartaf' => { 162 => 0x40 },
-	'face10position' => { 99 => 0x3f4, 100 => 0x1ec, 182 => 0x28, 295 => 0x12 },
-	'face10size' => { 296 => 0x12 },
-	'face11position' => { 182 => 0x2c, 295 => 0x14 },
-	'face11size' => { 296 => 0x14 },
-	'face12position' => { 182 => 0x30, 295 => 0x16 },
-	'face12size' => { 296 => 0x16 },
-	'face13position' => { 295 => 0x18 },
-	'face13size' => { 296 => 0x18 },
-	'face14position' => { 295 => 0x1a },
-	'face14size' => { 296 => 0x1a },
-	'face15position' => { 295 => 0x1c },
-	'face15size' => { 296 => 0x1c },
-	'face16position' => { 295 => 0x1e },
-	'face16size' => { 296 => 0x1e },
-	'face17position' => { 295 => 0x20 },
-	'face17size' => { 296 => 0x20 },
-	'face18position' => { 295 => 0x22 },
-	'face18size' => { 296 => 0x22 },
-	'face19position' => { 295 => 0x24 },
-	'face19size' => { 296 => 0x24 },
-	'face1position' => { 46 => 0x8, 99 => 0xd, 100 => 0x18, 182 => 0x4, 270 => 0x1, 295 => 0x0, 332 => 0xbc, 359 => 0x1, 360 => 0x0, 361 => 0x0, 362 => 0x5b },
-	'face1size' => { 296 => 0x0 },
-	'face20position' => { 295 => 0x26 },
-	'face20size' => { 296 => 0x26 },
-	'face21position' => { 295 => 0x28 },
-	'face21size' => { 296 => 0x28 },
-	'face22position' => { 295 => 0x2a },
-	'face22size' => { 296 => 0x2a },
-	'face23position' => { 295 => 0x2c },
-	'face23size' => { 296 => 0x2c },
-	'face24position' => { 295 => 0x2e },
-	'face24size' => { 296 => 0x2e },
-	'face25position' => { 295 => 0x30 },
-	'face25size' => { 296 => 0x30 },
-	'face26position' => { 295 => 0x32 },
-	'face26size' => { 296 => 0x32 },
-	'face27position' => { 295 => 0x34 },
-	'face27size' => { 296 => 0x34 },
-	'face28position' => { 295 => 0x36 },
-	'face28size' => { 296 => 0x36 },
-	'face29position' => { 295 => 0x38 },
-	'face29size' => { 296 => 0x38 },
-	'face2position' => { 46 => 0xa, 99 => 0x7c, 100 => 0x4c, 182 => 0x8, 270 => 0x5, 295 => 0x2, 332 => 0xc8, 359 => 0x6, 360 => 0x20, 361 => 0x25, 362 => 0x65 },
-	'face2size' => { 296 => 0x2 },
-	'face30position' => { 295 => 0x3a },
-	'face30size' => { 296 => 0x3a },
-	'face31position' => { 295 => 0x3c },
-	'face31size' => { 296 => 0x3c },
-	'face32position' => { 295 => 0x3e },
-	'face32size' => { 296 => 0x3e },
-	'face3position' => { 46 => 0xc, 99 => 0xeb, 100 => 0x80, 182 => 0xc, 270 => 0x9, 295 => 0x4, 332 => 0xd4, 359 => 0xb, 360 => 0x40, 361 => 0x4a, 362 => 0x6f },
-	'face3size' => { 296 => 0x4 },
-	'face4position' => { 46 => 0xe, 99 => 0x15a, 100 => 0xb4, 182 => 0x10, 270 => 0xd, 295 => 0x6, 332 => 0xe0, 359 => 0x10, 360 => 0x60, 361 => 0x6f, 362 => 0x79 },
-	'face4size' => { 296 => 0x6 },
-	'face5position' => { 46 => 0x10, 99 => 0x1c9, 100 => 0xe8, 182 => 0x14, 270 => 0x11, 295 => 0x8, 332 => 0xec, 359 => 0x15, 360 => 0x80, 361 => 0x94 },
-	'face5size' => { 296 => 0x8 },
-	'face6position' => { 46 => 0x12, 99 => 0x238, 100 => 0x11c, 182 => 0x18, 295 => 0xa, 332 => 0xf8, 359 => 0x1a, 360 => 0xa0, 361 => 0xb9 },
-	'face6size' => { 296 => 0xa },
-	'face7position' => { 46 => 0x14, 99 => 0x2a7, 100 => 0x150, 182 => 0x1c, 295 => 0xc, 332 => 0x104, 359 => 0x1f, 360 => 0xc0, 361 => 0xde },
-	'face7size' => { 296 => 0xc },
-	'face8position' => { 46 => 0x16, 99 => 0x316, 100 => 0x184, 182 => 0x20, 295 => 0xe, 332 => 0x110, 359 => 0x24, 360 => 0xe0, 361 => 0x103 },
-	'face8size' => { 296 => 0xe },
-	'face9position' => { 46 => 0x18, 99 => 0x385, 100 => 0x1b8, 182 => 0x24, 295 => 0x10 },
-	'face9size' => { 296 => 0x10 },
-	'facedetect' => { 310 => 0x76, 341 => 0x100 },
-	'facedetectarea' => { 259 => 0x1201 },
-	'facedetectframecrop' => { 259 => 0x1207 },
-	'facedetectframesize' => { 46 => 0x3, 99 => 0x1, 100 => 0x4, 182 => 0x1, 259 => 0x1203, 310 => 0x77, 332 => 0xb6 },
-	'facedetection' => { 354 => 0x30, 368 => 0x19 },
-	'faceid' => { 403 => 'FaceID' },
-	'faceinfounknown' => { 102 => 0x2089 },
-	'facename' => { 341 => 0x123 },
-	'faceorientation' => { 100 => 0x8 },
-	'faceposition' => { 294 => 0x2, 342 => 0x4 },
-	'facepositions' => { 112 => 0x4103 },
-	'facerecognition' => { 341 => 0x120 },
-	'facesdetected' => { 46 => 0x2, 47 => 0x2, 48 => 0x3, 99 => 0x0, 100 => 0x2, 102 => 0x211c, 112 => 0x4100, 182 => 0x3, 259 => 0x1200, 276 => 0x3f, 294 => 0x0, 332 => 0xb5, 342 => 0x0, 359 => 0x0, 362 => 0x3, 370 => 0x30 },
-	'facesrecognized' => { 271 => 0x0 },
-	'facewidth' => { 47 => 0x1 },
-	'faithfuloutputhighlightpoint' => { 98 => 0x38 },
-	'faithfuloutputshadowpoint' => { 98 => 0x39 },
-	'faithfulrawcolortone' => { 98 => 0x31 },
-	'faithfulrawcontrast' => { 98 => 0x33 },
-	'faithfulrawhighlight' => { 98 => 0x79 },
-	'faithfulrawhighlightpoint' => { 98 => 0x36 },
-	'faithfulrawlinear' => { 98 => 0x34 },
-	'faithfulrawsaturation' => { 98 => 0x32 },
-	'faithfulrawshadow' => { 98 => 0x82 },
-	'faithfulrawshadowpoint' => { 98 => 0x37 },
-	'faithfulrawsharpness' => { 98 => 0x35 },
-	'faithfulunsharpmaskfineness' => { 98 => 0xac },
-	'faithfulunsharpmaskstrength' => { 98 => 0xaa },
-	'faithfulunsharpmaskthreshold' => { 98 => 0xae },
-	'femicroadjustment' => { 73 => 0x111 },
-	'ffid' => { 410 => 'ffid' },
-	'field' => { 421 => 'field' },
-	'fieldcount' => { 260 => 0x103f },
-	'filecreatedate' => { 108 => 'FileCreateDate' },
-	'filedatarate' => { 432 => 'fileDataRate' },
-	'fileformat' => { 84 => 0x0, 116 => 0x14, 344 => [0x22,0x26], 364 => 0xb000 },
-	'fileindex' => { 6 => 0x143, 8 => 0x2d0, 10 => 0x172, 12 => 0x22c, 13 => 0x133, 14 => 0x13f, 15 => 0x1d3, 16 => 0x19b, 17 => 0x1e4, 18 => 0xd0, 19 => 0x1bb, 20 => 0x28c, 21 => 0x1db, 22 => 0x1d9, 23 => [0x270,0x274], 24 => 0x2aa, 25 => 0x2b3, 26 => 0x1eb, 277 => 0x0 },
+	'directorynumber' => { 185 => 0x3 },
+	'disclaimer' => { 272 => 'Disclaimer' },
+	'discnumber' => { 437 => 'discNumber' },
+	'dishtype' => { 429 => 'dishType' },
+	'displayallafpoints' => { 75 => 0x514 },
+	'displayaperture' => { 33 => 0x23 },
+	'displayedunitsx' => { 329 => 0x2 },
+	'displayedunitsy' => { 329 => 0x6 },
+	'displayname' => { 426 => 'displayName' },
+	'distance1' => { 125 => 0x28 },
+	'distance2' => { 125 => 0x2c },
+	'distance3' => { 125 => 0x30 },
+	'distance4' => { 125 => 0x34 },
+	'distortion' => { 346 => 0xa050 },
+	'distortioncontrol' => { 206 => 0x10 },
+	'distortioncorrection' => { 94 => 0x20705, 100 => 0x67, 259 => 0x50b, 283 => '7.1', 304 => 0x0, 393 => 0x601, 394 => 0x5b },
+	'distortioncorrection2' => { 263 => 0x1011 },
+	'distortioncorrectionalreadyapplied' => { 409 => 'DistortionCorrectionAlreadyApplied' },
+	'distortioncorrectionon' => { 94 => '0x20705.0', 100 => 0x63 },
+	'distortioncorrectionsetting' => { 369 => 0x2013 },
+	'distortioncorrparams' => { 109 => 0x7037 },
+	'distortioneffect' => { 94 => 0x20709 },
+	'distortionn' => { 283 => 0xc },
+	'distortionparam02' => { 283 => 0x2 },
+	'distortionparam04' => { 283 => 0x4 },
+	'distortionparam08' => { 283 => 0x8 },
+	'distortionparam09' => { 283 => 0x9 },
+	'distortionparam11' => { 283 => 0xb },
+	'distortionscale' => { 283 => 0x5 },
+	'distributor' => { 427 => 'distributor' },
+	'distributorproductid' => { 426 => 'distributorProductID' },
+	'dloon' => { 94 => '0x20706.0', 100 => 0xdc },
+	'dlosetting' => { 94 => 0x20706, 100 => 0xdd },
+	'dlosettingapplied' => { 93 => 0x4 },
+	'dloshootingdistance' => { 100 => 0xde },
+	'dloversion' => { 93 => 0x5 },
+	'dmcomment' => { 437 => 'comment' },
+	'dngadobedata' => { 109 => 0xc634 },
+	'dngbackwardversion' => { 109 => 0xc613 },
+	'dngignoresidecars' => { 413 => 'DNGIgnoreSidecars' },
+	'dnglensinfo' => { 109 => 0xc630 },
+	'dngprivatedata' => { 109 => 0xc634 },
+	'dngversion' => { 109 => 0xc612 },
+	'document' => { 272 => 'Document' },
+	'documentancestors' => { 425 => 'DocumentAncestors' },
+	'documenthistory' => { 117 => 0xe7 },
+	'documentid' => { 438 => 'DocumentID' },
+	'documentname' => { 109 => 0x10d },
+	'documentnotes' => { 117 => 0xe6 },
+	'doi' => { 427 => 'doi' },
+	'dpp' => { 407 => 'dpp' },
+	'dr4cameramodel' => { 95 => 0x3 },
+	'drivemode' => { 104 => 0x3103, 161 => 0x6, 164 => 0x1e, 167 => 0xe, 259 => 0x600, 314 => 0x34, 339 => 0x1002, 349 => 0x3, 357 => 0x4, 358 => 0x7e, 359 => 0x34 },
+	'drivemode2' => { 164 => 0xa, 295 => 0x7, 368 => 0xe, 373 => 0x1 },
+	'drivemodesetting' => { 359 => 0x4 },
+	'dspfirmwareversion' => { 314 => 0x27 },
+	'duration' => { 60 => 0x6a, 138 => 'Duration', 152 => 'Duration', 429 => 'duration', 437 => 'duration' },
+	'durationscale' => { 437 => [\'duration','durationScale'] },
+	'durationvalue' => { 437 => [\'duration','durationValue'] },
+	'dustremovaldata' => { 57 => 0x97 },
+	'dynamicafarea' => { 243 => '1.4', 252 => '1.4' },
+	'dynamicareaafdisplay' => { 244 => '46.1', 246 => '47.1', 247 => '47.1', 256 => '47.1' },
+	'dynamicrange' => { 114 => 0x1400 },
+	'dynamicrangeexpansion' => { 314 => 0x69, 339 => 0x100e },
+	'dynamicrangemax' => { 99 => 0x7c },
+	'dynamicrangemin' => { 99 => 0x7a },
+	'dynamicrangeoptimizer' => { 164 => 0x15, 369 => [0xb025,0xb04f], 376 => 0x1144, 377 => [0x1144,0x324], 378 => [0x1120,0x300], 379 => [0x119c,0x37c], 380 => [0x1178,0x328], 381 => [0x1030,0x50], 382 => [0x228,0x50], 383 => [0x228,0x50] },
+	'dynamicrangeoptimizerbracket' => { 368 => 0x2e },
+	'dynamicrangeoptimizerlevel' => { 357 => 0x19, 358 => 0x17, 359 => 0xd, 368 => 0x79, 373 => 0x5 },
+	'dynamicrangeoptimizermode' => { 167 => 0x15, 357 => 0x18, 358 => 0x16, 368 => [0x77,0x15] },
+	'dynamicrangeoptimizersetting' => { 164 => 0x27, 359 => 0xc, 373 => 0x4 },
+	'dynamicrangesetting' => { 114 => 0x1402 },
+	'e-dialinprogram' => { 295 => '1.3' },
+	'earliestageorloweststage' => { 108 => [\'GeologicalContext','GeologicalContextEarliestAgeOrLowestStage'] },
+	'earliesteonorlowesteonothem' => { 108 => [\'GeologicalContext','GeologicalContextEarliestEonOrLowestEonothem'] },
+	'earliestepochorlowestseries' => { 108 => [\'GeologicalContext','GeologicalContextEarliestEpochOrLowestSeries'] },
+	'earliesteraorlowesterathem' => { 108 => [\'GeologicalContext','GeologicalContextEarliestEraOrLowestErathem'] },
+	'earliestperiodorlowestsystem' => { 108 => [\'GeologicalContext','GeologicalContextEarliestPeriodOrLowestSystem'] },
+	'easyexposurecomp' => { 257 => '6.1' },
+	'easyexposurecompensation' => { 243 => '6.4', 244 => '6.5', 246 => '6.3', 247 => '6.3', 251 => '5.1', 252 => '4.4', 253 => '5.2', 256 => '6.3' },
+	'easymode' => { 33 => 0xb },
+	'edgenoisereduction' => { 237 => 0x4, 398 => 0x8028 },
+	'edition' => { 427 => 'edition' },
+	'editorialupdate' => { 117 => 0x8 },
+	'editstatus' => { 117 => 0x7, 326 => 'EditStatus', 407 => 'EditStatus' },
+	'editversionname' => { 236 => 0x3d136244 },
+	'effectivelv' => { 314 => 0x2d },
+	'effectivemaxaperture' => { 194 => 0x12, 195 => 0x13 },
+	'eissn' => { 427 => 'eIssn' },
+	'electronicfront-curtainshutter' => { 246 => '5.2', 247 => '5.2', 256 => '5.3' },
+	'elevation' => { 148 => 'Elevation' },
+	'email' => { 140 => 'EMail' },
+	'embargodate' => { 430 => 'embargoDate' },
+	'embdencrightsexpr' => { 423 => 'EmbdEncRightsExpr' },
+	'embeddedencodedrightsexpr' => { 423 => [\'EmbdEncRightsExpr','EmbdEncRightsExprEncRightsExpr'] },
+	'embeddedencodedrightsexprlangid' => { 423 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprLangId'] },
+	'embeddedencodedrightsexprtype' => { 423 => [\'EmbdEncRightsExpr','EmbdEncRightsExprRightsExprEncType'] },
+	'embeddedxmpdigest' => { 425 => 'EmbeddedXMPDigest' },
+	'emissivity' => { 111 => 0x3 },
+	'encryptionkey' => { 346 => 0xa020 },
+	'endingpage' => { 427 => 'endingPage' },
+	'enduser' => { 269 => 'EndUser' },
+	'enduserid' => { 269 => [\'EndUser','EndUserEndUserID'] },
+	'endusername' => { 269 => [\'EndUser','EndUserEndUserName'] },
+	'engineer' => { 437 => 'engineer' },
+	'enhancedarktones' => { 229 => 0x8 },
+	'enhancement' => { 103 => 0x16, 104 => 0x3016 },
+	'enhancer' => { 263 => 0x300 },
+	'enhancervalues' => { 263 => 0x301 },
+	'envelopenumber' => { 118 => 0x28 },
+	'envelopepriority' => { 118 => 0x3c },
+	'enveloperecordversion' => { 118 => 0x0 },
+	'epsonimageheight' => { 264 => 0x20c },
+	'epsonimagewidth' => { 264 => 0x20b },
+	'epsonsoftware' => { 264 => 0x20d },
+	'equipmentinstitution' => { 400 => 'EquipmentInstitution' },
+	'equipmentmanufacturer' => { 400 => 'EquipmentManufacturer' },
+	'equipmentversion' => { 260 => 0x0 },
+	'ettlii' => { 75 => 0x304, 76 => 0xd, 77 => 0xe, 78 => 0x7, 79 => 0x7, 80 => 0xe },
+	'event' => { 401 => 'Event', 405 => 'Event', 423 => 'Event', 427 => 'event' },
+	'eventalias' => { 426 => 'eventAlias' },
+	'eventday' => { 108 => [\'Event','EventDay'] },
+	'eventearliestdate' => { 108 => [\'Event','EventEarliestDate'] },
+	'eventend' => { 426 => 'eventEnd' },
+	'eventenddayofyear' => { 108 => [\'Event','EventEndDayOfYear'] },
+	'eventfieldnotes' => { 108 => [\'Event','EventFieldNotes'] },
+	'eventfieldnumber' => { 108 => [\'Event','EventFieldNumber'] },
+	'eventhabitat' => { 108 => [\'Event','EventHabitat'] },
+	'eventid' => { 108 => [\'Event','EventEventID'] },
+	'eventlatestdate' => { 108 => [\'Event','EventLatestDate'] },
+	'eventmonth' => { 108 => [\'Event','EventMonth'] },
+	'eventnumber' => { 335 => 0x9 },
+	'eventremarks' => { 108 => [\'Event','EventEventRemarks'] },
+	'eventsamplingeffort' => { 108 => [\'Event','EventSamplingEffort'] },
+	'eventsamplingprotocol' => { 108 => [\'Event','EventSamplingProtocol'] },
+	'eventstart' => { 426 => 'eventStart' },
+	'eventstartdayofyear' => { 108 => [\'Event','EventStartDayOfYear'] },
+	'eventsubtype' => { 426 => 'eventSubtype' },
+	'eventtime' => { 108 => [\'Event','EventEventTime'] },
+	'eventtype' => { 426 => 'eventType' },
+	'eventverbatimeventdate' => { 108 => [\'Event','EventVerbatimEventDate'] },
+	'eventyear' => { 108 => [\'Event','EventYear'] },
+	'evsteps' => { 295 => '1.2', 297 => 0x0 },
+	'evstepsize' => { 248 => '5.1', 249 => '6.1', 250 => '6.1', 254 => '0.7' },
+	'exclusivityenddate' => { 430 => 'exclusivityEndDate' },
+	'excursiontolerance' => { 119 => 0x82 },
+	'exif' => { 110 => 'EXIF' },
+	'exifbyteorder' => { 110 => 'ExifByteOrder' },
+	'exifcamerainfo' => { 117 => 0xe8 },
+	'exifimageheight' => { 109 => 0xa003, 417 => 'PixelYDimension' },
+	'exifimagewidth' => { 109 => 0xa002, 417 => 'PixelXDimension' },
+	'exifunicodebyteorder' => { 110 => 'ExifUnicodeByteOrder' },
+	'exifversion' => { 109 => 0x9000, 417 => 'ExifVersion' },
+	'exitpupilposition' => { 194 => 0x4, 195 => 0x4 },
+	'expirationdate' => { 117 => 0x25, 430 => 'expirationDate' },
+	'expirationtime' => { 117 => 0x26 },
+	'exposure' => { 109 => 0xfe51, 413 => 'Exposure' },
+	'exposure2012' => { 413 => 'Exposure2012' },
+	'exposureadj' => { 234 => 0x0 },
+	'exposureadj2' => { 234 => 0x12 },
+	'exposureadjust' => { 349 => 0xc },
+	'exposurebracketingindicatorlast' => { 164 => 0x52 },
+	'exposurebracketshotnumber' => { 167 => 0x2d, 368 => 0x2f },
+	'exposurebracketstepsize' => { 295 => 0x8 },
+	'exposurebracketvalue' => { 198 => 0x19 },
+	'exposurecompensation' => { 69 => 0x6, 84 => 0x0, 109 => 0x9204, 125 => 0x24, 139 => 'ExposureComp', 157 => 'ExposureCompensation', 161 => 0xd, 162 => 0x53, 163 => 0x1e, 167 => 0x49c0, 264 => 0x1006, 314 => 0x16, 323 => 0x402, 346 => 0xa013, 349 => [0xc,0x35,0x4d], 376 => 0x114c, 377 => 0x114c, 378 => 0x1128, 380 => 0x1180, 381 => 0x1038, 382 => 0x230, 383 => 0x230, 417 => 'ExposureBiasValue' },
+	'exposurecompensation2' => { 373 => [0x24,0x26,0x2a] },
+	'exposurecompensationmode' => { 164 => 0x47, 167 => 0x2a },
+	'exposurecompensationset' => { 357 => 0x3, 358 => 0x3, 359 => 0x3, 373 => 0x1e },
+	'exposurecompensationsetting' => { 164 => 0x1 },
+	'exposurecompstepsize' => { 243 => '6.3', 244 => '7.3', 246 => '7.3', 247 => '7.3', 252 => '4.3', 256 => '7.3' },
+	'exposurecontrolstep' => { 251 => '6.1', 253 => '6.1' },
+	'exposurecontrolstepsize' => { 243 => '6.2', 244 => '7.1', 246 => '7.1', 247 => '7.1', 252 => '4.2', 256 => '7.1', 257 => '7.1' },
+	'exposurecount' => { 114 => 0x1032 },
+	'exposuredelaymode' => { 243 => '10.1', 244 => '11.1', 246 => '11.1', 247 => '11.1', 248 => '9.1', 249 => '10.1', 250 => '10.1', 252 => '10.4', 253 => '10.1', 254 => '6.4', 256 => '11.1', 257 => '11.2' },
+	'exposuredifference' => { 198 => 0xe },
+	'exposureindex' => { 109 => 0xa215, 417 => 'ExposureIndex' },
+	'exposureindicator' => { 164 => 0x50 },
+	'exposurelevelincrements' => { 73 => 0x6, 74 => 0x6, 75 => 0x101, 76 => 0x5, 77 => 0x6, 78 => 0x5, 79 => 0x5, 80 => 0x6, 81 => 0x4, 357 => 0x58, 358 => 0x58 },
+	'exposurelockused' => { 402 => 'ExposureLockUsed' },
+	'exposuremode' => { 109 => 0xa402, 139 => 'ExposureMode', 161 => 0x1, 162 => 0xa, 163 => 0x0, 164 => 0x0, 167 => 0x34, 259 => 0x200, 278 => 0x40d, 349 => 0x8, 369 => 0xb041, 417 => 'ExposureMode' },
+	'exposuremodeinmanual' => { 75 => 0x10b },
+	'exposureprogram' => { 109 => 0x8822, 339 => 0x1001, 350 => [0x17e,0x43], 357 => 0x3c, 358 => 0x3c, 359 => 0x5, 363 => 0x14, 368 => 0x3f, 373 => 0x2, 376 => 0x1175, 377 => 0x1179, 378 => 0x1155, 379 => 0x11d1, 380 => 0x11ad, 381 => 0x1065, 382 => 0x25d, 383 => 0x25d, 394 => 0x48, 417 => 'ExposureProgram' },
+	'exposureshift' => { 259 => 0x203 },
+	'exposuretime' => { 6 => 0x4, 7 => 0x4, 8 => 0x4, 9 => 0x4, 10 => 0x4, 11 => 0x4, 12 => 0x4, 13 => 0x4, 14 => 0x4, 15 => 0x4, 16 => 0x4, 17 => 0x4, 18 => 0x4, 19 => 0x4, 20 => 0x4, 21 => 0x4, 22 => 0x4, 23 => 0x4, 24 => 0x4, 25 => 0x4, 26 => 0x4, 27 => 0x4, 28 => 0x4, 29 => 0x6, 30 => 0x7, 69 => 0x16, 109 => 0x829a, 122 => 0xfd05, 125 => 0x20, 127 => 0xfa24, 129 => 0xf104, 132 => 0x12, 134 => 0x38, 137 => 0x10, 139 => 'ExposureTime', 161 => 0x9, 162 => 0x35, 163 => 0x48, 164 => 0x8, 167 [...]
+	'exposuretime2' => { 349 => [0x33,0x4b] },
+	'exposuretuning' => { 198 => 0x1c },
+	'exposurevalue' => { 123 => 0x3 },
+	'exposurewarning' => { 114 => 0x1302 },
+	'exrauto' => { 114 => 0x1033 },
+	'exrmode' => { 114 => 0x1034 },
+	'extendedwbdetect' => { 259 => 0x902 },
+	'extender' => { 260 => 0x301 },
+	'extenderfirmwareversion' => { 260 => 0x304 },
+	'extendermagnification' => { 141 => 'Magnification' },
+	'extendermake' => { 141 => 'Make' },
+	'extendermodel' => { 141 => 'Model', 260 => 0x303 },
+	'extenderserialnumber' => { 141 => 'SerialNumber', 260 => 0x302 },
+	'extenderstatus' => { 312 => 0x3 },
+	'externalflash' => { 262 => 0x1201 },
+	'externalflashae1' => { 264 => 0x101f },
+	'externalflashae1_0' => { 264 => 0x101b },
+	'externalflashae2' => { 264 => 0x1020 },
+	'externalflashae2_0' => { 264 => 0x101c },
+	'externalflashbounce' => { 262 => 0x1204, 264 => 0x1026, 302 => 0x1a },
+	'externalflashcompensation' => { 188 => 0x1b },
+	'externalflashexposurecomp' => { 198 => 0x17, 302 => 0x19 },
+	'externalflashfirmware' => { 186 => 0x6, 187 => 0x6, 188 => 0x6, 189 => 0x6 },
+	'externalflashflags' => { 186 => 0x8, 187 => 0x8, 188 => 0x8 },
+	'externalflashguidenumber' => { 262 => 0x1203, 302 => '24.1' },
+	'externalflashgvalue' => { 264 => 0x1025 },
+	'externalflashmode' => { 264 => 0x1028, 302 => 0x2 },
+	'externalflashreadystate' => { 189 => 0x9 },
+	'externalflashstatus' => { 189 => 0x8 },
+	'externalflashzoom' => { 262 => 0x1205, 264 => 0x1027 },
+	'externalsensorbrightnessvalue' => { 276 => 0x311, 282 => 0x3408 },
+	'extrainfoversion' => { 361 => 0x1a },
+	'eyestartaf' => { 164 => 0x40 },
+	'face10position' => { 101 => 0x3f4, 102 => 0x1ec, 184 => 0x28, 299 => 0x12 },
+	'face10size' => { 300 => 0x12 },
+	'face11position' => { 184 => 0x2c, 299 => 0x14 },
+	'face11size' => { 300 => 0x14 },
+	'face12position' => { 184 => 0x30, 299 => 0x16 },
+	'face12size' => { 300 => 0x16 },
+	'face13position' => { 299 => 0x18 },
+	'face13size' => { 300 => 0x18 },
+	'face14position' => { 299 => 0x1a },
+	'face14size' => { 300 => 0x1a },
+	'face15position' => { 299 => 0x1c },
+	'face15size' => { 300 => 0x1c },
+	'face16position' => { 299 => 0x1e },
+	'face16size' => { 300 => 0x1e },
+	'face17position' => { 299 => 0x20 },
+	'face17size' => { 300 => 0x20 },
+	'face18position' => { 299 => 0x22 },
+	'face18size' => { 300 => 0x22 },
+	'face19position' => { 299 => 0x24 },
+	'face19size' => { 300 => 0x24 },
+	'face1position' => { 48 => 0x8, 101 => 0xd, 102 => 0x18, 184 => 0x4, 274 => 0x1, 299 => 0x0, 336 => 0xbc, 364 => 0x1, 365 => 0x0, 366 => 0x0, 367 => 0x5b },
+	'face1size' => { 300 => 0x0 },
+	'face20position' => { 299 => 0x26 },
+	'face20size' => { 300 => 0x26 },
+	'face21position' => { 299 => 0x28 },
+	'face21size' => { 300 => 0x28 },
+	'face22position' => { 299 => 0x2a },
+	'face22size' => { 300 => 0x2a },
+	'face23position' => { 299 => 0x2c },
+	'face23size' => { 300 => 0x2c },
+	'face24position' => { 299 => 0x2e },
+	'face24size' => { 300 => 0x2e },
+	'face25position' => { 299 => 0x30 },
+	'face25size' => { 300 => 0x30 },
+	'face26position' => { 299 => 0x32 },
+	'face26size' => { 300 => 0x32 },
+	'face27position' => { 299 => 0x34 },
+	'face27size' => { 300 => 0x34 },
+	'face28position' => { 299 => 0x36 },
+	'face28size' => { 300 => 0x36 },
+	'face29position' => { 299 => 0x38 },
+	'face29size' => { 300 => 0x38 },
+	'face2position' => { 48 => 0xa, 101 => 0x7c, 102 => 0x4c, 184 => 0x8, 274 => 0x5, 299 => 0x2, 336 => 0xc8, 364 => 0x6, 365 => 0x20, 366 => 0x25, 367 => 0x65 },
+	'face2size' => { 300 => 0x2 },
+	'face30position' => { 299 => 0x3a },
+	'face30size' => { 300 => 0x3a },
+	'face31position' => { 299 => 0x3c },
+	'face31size' => { 300 => 0x3c },
+	'face32position' => { 299 => 0x3e },
+	'face32size' => { 300 => 0x3e },
+	'face3position' => { 48 => 0xc, 101 => 0xeb, 102 => 0x80, 184 => 0xc, 274 => 0x9, 299 => 0x4, 336 => 0xd4, 364 => 0xb, 365 => 0x40, 366 => 0x4a, 367 => 0x6f },
+	'face3size' => { 300 => 0x4 },
+	'face4position' => { 48 => 0xe, 101 => 0x15a, 102 => 0xb4, 184 => 0x10, 274 => 0xd, 299 => 0x6, 336 => 0xe0, 364 => 0x10, 365 => 0x60, 366 => 0x6f, 367 => 0x79 },
+	'face4size' => { 300 => 0x6 },
+	'face5position' => { 48 => 0x10, 101 => 0x1c9, 102 => 0xe8, 184 => 0x14, 274 => 0x11, 299 => 0x8, 336 => 0xec, 364 => 0x15, 365 => 0x80, 366 => 0x94 },
+	'face5size' => { 300 => 0x8 },
+	'face6position' => { 48 => 0x12, 101 => 0x238, 102 => 0x11c, 184 => 0x18, 299 => 0xa, 336 => 0xf8, 364 => 0x1a, 365 => 0xa0, 366 => 0xb9 },
+	'face6size' => { 300 => 0xa },
+	'face7position' => { 48 => 0x14, 101 => 0x2a7, 102 => 0x150, 184 => 0x1c, 299 => 0xc, 336 => 0x104, 364 => 0x1f, 365 => 0xc0, 366 => 0xde },
+	'face7size' => { 300 => 0xc },
+	'face8position' => { 48 => 0x16, 101 => 0x316, 102 => 0x184, 184 => 0x20, 299 => 0xe, 336 => 0x110, 364 => 0x24, 365 => 0xe0, 366 => 0x103 },
+	'face8size' => { 300 => 0xe },
+	'face9position' => { 48 => 0x18, 101 => 0x385, 102 => 0x1b8, 184 => 0x24, 299 => 0x10 },
+	'face9size' => { 300 => 0x10 },
+	'facedetect' => { 314 => 0x76, 346 => 0x100 },
+	'facedetectarea' => { 263 => 0x1201 },
+	'facedetectframecrop' => { 263 => 0x1207 },
+	'facedetectframesize' => { 48 => 0x3, 101 => 0x1, 102 => 0x4, 184 => 0x1, 263 => 0x1203, 314 => 0x77, 336 => 0xb6 },
+	'facedetection' => { 359 => 0x30, 373 => 0x19 },
+	'faceid' => { 408 => 'FaceID' },
+	'faceinfounknown' => { 104 => 0x2089 },
+	'facename' => { 346 => 0x123 },
+	'faceorientation' => { 102 => 0x8 },
+	'faceposition' => { 298 => 0x2, 347 => 0x4 },
+	'facepositions' => { 114 => 0x4103 },
+	'facerecognition' => { 346 => 0x120 },
+	'facesdetected' => { 48 => 0x2, 49 => 0x2, 50 => 0x3, 101 => 0x0, 102 => 0x2, 104 => 0x211c, 114 => 0x4100, 184 => 0x3, 263 => 0x1200, 280 => 0x3f, 298 => 0x0, 336 => 0xb5, 347 => 0x0, 364 => 0x0, 367 => 0x3, 375 => 0x30 },
+	'facesrecognized' => { 275 => 0x0 },
+	'facewidth' => { 49 => 0x1 },
+	'faithfuloutputhighlightpoint' => { 100 => 0x38 },
+	'faithfuloutputshadowpoint' => { 100 => 0x39 },
+	'faithfulrawcolortone' => { 100 => 0x31 },
+	'faithfulrawcontrast' => { 100 => 0x33 },
+	'faithfulrawhighlight' => { 100 => 0x79 },
+	'faithfulrawhighlightpoint' => { 100 => 0x36 },
+	'faithfulrawlinear' => { 100 => 0x34 },
+	'faithfulrawsaturation' => { 100 => 0x32 },
+	'faithfulrawshadow' => { 100 => 0x82 },
+	'faithfulrawshadowpoint' => { 100 => 0x37 },
+	'faithfulrawsharpness' => { 100 => 0x35 },
+	'faithfulunsharpmaskfineness' => { 100 => 0xac },
+	'faithfulunsharpmaskstrength' => { 100 => 0xaa },
+	'faithfulunsharpmaskthreshold' => { 100 => 0xae },
+	'femicroadjustment' => { 75 => 0x111 },
+	'ffid' => { 415 => 'ffid' },
+	'field' => { 426 => 'field' },
+	'fieldcount' => { 264 => 0x103f },
+	'filecreatedate' => { 110 => 'FileCreateDate' },
+	'filedatarate' => { 437 => 'fileDataRate' },
+	'fileformat' => { 86 => 0x0, 118 => 0x14, 349 => [0x22,0x26], 369 => 0xb000 },
+	'fileindex' => { 6 => 0x143, 8 => 0x2d0, 10 => 0x172, 12 => 0x22c, 13 => 0x133, 14 => 0x13f, 15 => 0x1d3, 16 => 0x19b, 17 => 0x1e4, 18 => 0xd0, 19 => 0x1bb, 20 => 0x28c, 21 => 0x1db, 22 => 0x1d9, 23 => [0x270,0x274], 24 => 0x2aa, 25 => 0x2b3, 27 => 0x1eb, 28 => 0x4ae, 281 => 0x0 },
 	'fileindex2' => { 20 => 0x290 },
-	'filemodifydate' => { 108 => 'FileModifyDate' },
-	'filename' => { 108 => 'FileName' },
-	'filenameasdelivered' => { 265 => 'FileNameAsDelivered' },
-	'filenumber' => { 49 => 0x1, 55 => 0x8, 86 => 0x1817, 103 => 'FileNumber', 183 => 0x4 },
-	'filenumbermemory' => { 159 => 0x1a },
-	'filenumbersequence' => { 241 => '12.2', 245 => '3.1', 246 => '4.1', 247 => '4.1', 248 => '11.1', 249 => '4.3', 253 => '5.2' },
-	'filepermissions' => { 108 => 'FilePermissions' },
-	'filesource' => { 107 => 0xa300, 112 => 0x8000, 412 => 'FileSource' },
-	'fileversion' => { 116 => 0x16 },
-	'fillflashautoreduction' => { 71 => 0xe, 72 => 0xe, 79 => 0xa },
-	'filllight' => { 408 => 'FillLight' },
-	'fillorder' => { 107 => 0x10a },
-	'filmgraineffect' => { 255 => 0x538 },
-	'filmmode' => { 112 => 0x1401, 274 => 0x412, 276 => 0x42 },
-	'filmtype' => { 203 => 0x2 },
-	'filtereffect' => { 49 => 0xe, 198 => 0x37, 199 => 0x3f },
-	'filtereffectauto' => { 62 => 0xa0 },
-	'filtereffectfaithful' => { 61 => 0x70, 62 => 0x70 },
-	'filtereffectlandscape' => { 61 => 0x40, 62 => 0x40 },
-	'filtereffectmonochrome' => { 18 => 0xff, 61 => 0x88, 62 => 0x88 },
-	'filtereffectneutral' => { 61 => 0x58, 62 => 0x58 },
-	'filtereffectportrait' => { 61 => 0x28, 62 => 0x28 },
-	'filtereffectstandard' => { 61 => 0x10, 62 => 0x10 },
-	'filtereffectuserdef1' => { 61 => 0xa0, 62 => 0xb8 },
-	'filtereffectuserdef2' => { 61 => 0xb8, 62 => 0xd0 },
-	'filtereffectuserdef3' => { 61 => 0xd0, 62 => 0xe8 },
-	'finderdisplayduringexposure' => { 72 => 0x1 },
-	'finesharpness' => { 310 => 0x70 },
-	'finetuneoptcenterweighted' => { 241 => '7.2', 242 => '9.1', 244 => '9.1', 252 => '9.1', 253 => '9.1' },
-	'finetuneopthighlightweighted' => { 244 => '46.1', 252 => '46.1' },
-	'finetuneoptmatrixmetering' => { 241 => '8.1', 242 => '8.2', 244 => '8.2', 248 => '6.1', 252 => '8.2', 253 => '8.2' },
-	'finetuneoptspotmetering' => { 241 => '8.2', 242 => '9.2', 244 => '9.2', 248 => '6.2', 252 => '9.2', 253 => '9.2' },
-	'firmware' => { 260 => 0x405, 344 => [0x17,0x3b,0x57], 404 => 'Firmware' },
-	'firmwaredate' => { 101 => 0x15, 102 => 0x2001, 331 => 0x4 },
-	'firmwareid' => { 166 => 0x0 },
-	'firmwarename' => { 341 => 0xa001 },
-	'firmwarerevision' => { 18 => 0xa4, 55 => 0x1e, 333 => 0x0 },
-	'firmwarerevision2' => { 333 => 0xc },
-	'firmwareversion' => { 6 => 0x10b, 10 => 0x136, 13 => 0xff, 14 => 0x107, 121 => 0xce5, 135 => 0x57, 137 => 'FirmwareVersion', 276 => 0x2, 278 => 0x3109, 310 => 0x230, 335 => 0x2 },
-	'firmwareversions' => { 319 => 0x301 },
-	'firstphotodate' => { 397 => 'FirstPhotoDate' },
-	'firstpublicationdate' => { 265 => 'FirstPublicationDate' },
-	'fixtureidentifier' => { 115 => 0x16, 402 => 'FixtureIdentifier' },
-	'flash' => { 103 => 'Flash', 107 => 0x9209, 160 => 0x1f, 161 => 0x15, 412 => 'Flash' },
-	'flashaction' => { 352 => 0x3e, 353 => 0x3e, 364 => 0x2017, 368 => [0x2a,0x2c,0x30] },
-	'flashaction2' => { 352 => 0x4c, 353 => 0x4c, 368 => 0x77 },
-	'flashactionexternal' => { 368 => [0x78,0x7c] },
-	'flashactivity' => { 31 => 0x1c },
-	'flashbatterylevel' => { 37 => 0x249 },
-	'flashbias' => { 276 => 0x24 },
-	'flashbits' => { 31 => 0x1d },
-	'flashbuttonfunction' => { 73 => 0x70e },
-	'flashchargelevel' => { 260 => 0x1010 },
-	'flashcolorfilter' => { 186 => 0x10 },
-	'flashcommandermode' => { 184 => '9.1', 185 => '9.1', 186 => '9.1' },
-	'flashcompensation' => { 184 => 0xa, 185 => 0xa, 186 => 0xa, 404 => 'FlashCompensation' },
-	'flashcontrol' => { 352 => 0x23, 353 => 0x1f, 354 => 0x21 },
-	'flashcontrolbuilt-in' => { 248 => '16.1', 249 => '23.1', 251 => '23.1', 252 => '24.1' },
-	'flashcontrolmode' => { 184 => '9.2', 185 => '9.2', 186 => '9.2', 255 => 0x404 },
-	'flashcurtain' => { 276 => 0x48 },
-	'flashdefault' => { 162 => 0x42 },
-	'flashdevice' => { 260 => 0x1005 },
-	'flashdistance' => { 102 => 0x2034 },
-	'flashenergy' => { 107 => 0xa20b, 412 => 'FlashEnergy' },
-	'flashexposurebracketvalue' => { 196 => 0x18 },
-	'flashexposurecomp' => { 67 => 0xf, 112 => 0x1011, 140 => 'ExposureComp', 159 => 0x23, 164 => 0x104, 165 => 0x49c1, 196 => 0x12, 255 => 0x401, 260 => 0x1023, 310 => 0x4d, 335 => 0x100b, 344 => [0x3a,0x56], 364 => 0x104 },
-	'flashexposurecomp2' => { 221 => 0x4d2 },
-	'flashexposurecomp3' => { 186 => 0x1d },
-	'flashexposurecomp4' => { 186 => 0x27 },
-	'flashexposurecomparea' => { 242 => '38.4', 244 => '38.4', 252 => '38.4' },
-	'flashexposurecompset' => { 162 => 0x10, 283 => 0xe, 352 => 0x14, 353 => 0x12, 354 => 0x23, 368 => 0x1f },
-	'flashexposurecompset2' => { 368 => [0x26,0x2c] },
-	'flashexposureindicator' => { 162 => 0x54 },
-	'flashexposureindicatorlast' => { 162 => 0x56 },
-	'flashexposureindicatornext' => { 162 => 0x55 },
-	'flashexposurelock' => { 49 => 0x19 },
-	'flashfired' => { 123 => 0x5d, 140 => 'Fired', 159 => 0x14, 220 => '590.3', 276 => 0x8007, 412 => [\'Flash','FlashFired'] },
-	'flashfiring' => { 73 => 0x306, 74 => 0x6, 75 => 0x7, 78 => 0x7 },
-	'flashfirmwareversion' => { 256 => 0x1002 },
-	'flashfocallength' => { 184 => 0xb, 185 => 0xc, 186 => 0xc },
-	'flashfunction' => { 165 => 0x31, 412 => [\'Flash','FlashFunction'] },
-	'flashgndistance' => { 184 => 0xe, 185 => 0xf, 186 => 0xf },
-	'flashgroupacompensation' => { 184 => 0x11, 185 => 0x12, 186 => 0x13 },
-	'flashgroupacontrolmode' => { 184 => 0xf, 185 => '16.1', 186 => '17.1' },
-	'flashgroupaoutput' => { 184 => 0x11, 185 => 0x12, 186 => 0x13 },
-	'flashgroupbcompensation' => { 184 => 0x12, 185 => 0x13, 186 => 0x14 },
-	'flashgroupbcontrolmode' => { 184 => 0x10, 185 => '17.1', 186 => '18.1' },
-	'flashgroupboutput' => { 184 => 0x12, 185 => 0x13, 186 => 0x14 },
-	'flashgroupccompensation' => { 185 => 0x14, 186 => 0x15 },
-	'flashgroupccontrolmode' => { 185 => '17.2', 186 => '18.2' },
-	'flashgroupcoutput' => { 185 => 0x14, 186 => 0x15 },
-	'flashguidenumber' => { 67 => 0xd, 83 => 0x0, 140 => 'GuideNumber' },
-	'flashintensity' => { 101 => [0x19,0x5], 255 => 0x405 },
-	'flashlevel' => { 243 => 0x9, 364 => 0xb048 },
-	'flashmake' => { 140 => 'Make' },
-	'flashmanufacturer' => { 157 => 'FlashManufacturer' },
-	'flashmetering' => { 159 => 0x3f, 162 => 0x1c },
-	'flashmeteringmode' => { 6 => 0x15, 12 => 0x15, 13 => 0x15, 14 => 0x15, 15 => 0x15, 16 => 0x15, 17 => 0x15, 19 => 0x15, 21 => 0x15, 26 => 0x15 },
-	'flashmeteringsegments' => { 310 => 0x20a },
-	'flashmode' => { 101 => 0x4, 123 => 0x5c, 140 => 'Mode', 159 => 0x2, 160 => 0x20, 161 => 0x16, 162 => 0xf, 196 => 0x87, 255 => 0x400, 260 => 0x1004, 310 => 0xc, 317 => 0x4, 334 => 0x20, 335 => 0x100a, 343 => 0x225, 352 => 0x13, 353 => 0x7f, 354 => 0x20, 368 => 0x10, 371 => 0x1138, 372 => 0x1138, 373 => 0x1114, 374 => 0x1190, 375 => 0x116c, 376 => 0x1024, 377 => 0x21c, 378 => 0x21c, 412 => [\'Flash','FlashMode'] },
-	'flashmodel' => { 140 => 'Model', 157 => 'FlashModel', 256 => 0x1001 },
-	'flashoptions' => { 291 => 0x2 },
-	'flashoptions2' => { 291 => 0x10 },
-	'flashoutput' => { 37 => 0x248, 67 => 0x21, 184 => 0xa, 185 => 0xa, 186 => 0xa },
-	'flashpixversion' => { 107 => 0xa000, 412 => 'FlashpixVersion' },
-	'flashredeyemode' => { 412 => [\'Flash','FlashRedEyeMode'] },
-	'flashremotecontrol' => { 255 => 0x403 },
-	'flashreturn' => { 412 => [\'Flash','FlashReturn'] },
-	'flashserialnumber' => { 140 => 'SerialNumber', 256 => 0x1003 },
-	'flashsetting' => { 196 => 0x8 },
-	'flashshutterspeed' => { 241 => '20.2', 242 => '23.2', 244 => '23.2', 248 => '15.2', 249 => '22.2', 250 => '7.2', 251 => '22.2', 252 => '23.2', 253 => '23.1' },
-	'flashsource' => { 184 => 0x4, 185 => 0x4, 186 => 0x4 },
-	'flashstatus' => { 298 => 0x0, 368 => [0x82,0x86], 380 => [0x31,0x39] },
-	'flashstatusbuilt-in' => { 354 => [0x87,0x287] },
-	'flashstatusexternal' => { 354 => [0x88,0x288] },
-	'flashsyncspeed' => { 241 => '20.1', 242 => '23.1', 244 => '23.1', 248 => '15.1', 249 => '22.1', 251 => '22.1', 252 => '23.1' },
-	'flashsyncspeedav' => { 71 => 0x3, 73 => 0x10f, 74 => 0x2, 75 => 0x3, 76 => 0x2, 77 => 0x2, 78 => 0x3, 79 => 0x6 },
-	'flashthreshold' => { 83 => 0x1 },
-	'flashtype' => { 140 => 'Type', 162 => 0x59, 196 => 0x9, 256 => 0x1000 },
-	'flashwarning' => { 249 => '30.1', 250 => '7.1', 253 => '31.1', 276 => 0x62 },
-	'flexiblespotposition' => { 364 => 0x201d },
-	'flickerreduce' => { 343 => 0x218 },
-	'flickerreduction' => { 214 => 0xe84 },
-	'flickerreductionindicator' => { 214 => 0x5e2 },
-	'fliphorizontal' => { 234 => 0x76a43206 },
-	'fnumber' => { 6 => 0x3, 8 => 0x3, 10 => 0x3, 12 => 0x3, 13 => 0x3, 14 => 0x3, 15 => 0x3, 16 => 0x3, 17 => 0x3, 18 => 0x3, 19 => 0x3, 20 => 0x3, 21 => 0x3, 22 => 0x3, 23 => 0x3, 24 => 0x3, 25 => 0x3, 26 => 0x3, 27 => 0x5, 28 => 0x6, 67 => 0x15, 107 => 0x829d, 120 => 0xfd04, 123 => 0x1e, 125 => 0xfa23, 127 => 0xf103, 130 => 0x13, 132 => 0x3c, 135 => 0xc, 144 => 'FNumber', 159 => 0xa, 160 => 0x36, 161 => 0x47, 162 => 0x9, 165 => 0x49c7, 310 => 0x13, 341 => 0xa019, 344 => [0x31,0x49], 352  [...]
-	'focallength' => { 6 => 0x1d, 7 => 0xa, 8 => 0x23, 9 => 0x9, 10 => 0x1d, 11 => 0x9, 12 => 0x1e, 13 => 0x1d, 14 => 0x1d, 15 => 0x1e, 16 => 0x1e, 17 => 0x1e, 18 => 0x28, 19 => 0x1e, 20 => 0x23, 21 => 0x1e, 22 => 0x1e, 23 => 0x23, 24 => 0x23, 25 => 0x23, 26 => 0x1e, 51 => 0x1, 102 => 0x1d, 107 => 0x920a, 130 => 0x1d, 144 => 'FocalLength', 159 => 0x12, 192 => 0xa, 193 => 0xb, 310 => 0x1d, 319 => 0x403, 335 => 0x1500, 351 => 0xe, 375 => 0x1278, 376 => 0x1134, 377 => 0x32c, 378 => 0x32c, 412  [...]
-	'focallength2' => { 368 => [0x23,0x25,0x29] },
-	'focallengthin35mmformat' => { 107 => 0xa405, 341 => 0xa01a, 412 => 'FocalLengthIn35mmFilm' },
-	'focallengthtelezoom' => { 351 => 0x10 },
-	'focalplaneafpointarea' => { 379 => 0x2 },
-	'focalplaneafpointlocation1' => { 379 => 0x6 },
-	'focalplaneafpointlocation10' => { 379 => 0x2a },
-	'focalplaneafpointlocation11' => { 379 => 0x2e },
-	'focalplaneafpointlocation12' => { 379 => 0x32 },
-	'focalplaneafpointlocation13' => { 379 => 0x36 },
-	'focalplaneafpointlocation14' => { 379 => 0x3a },
-	'focalplaneafpointlocation15' => { 379 => 0x3e },
-	'focalplaneafpointlocation2' => { 379 => 0xa },
-	'focalplaneafpointlocation3' => { 379 => 0xe },
-	'focalplaneafpointlocation4' => { 379 => 0x12 },
-	'focalplaneafpointlocation5' => { 379 => 0x16 },
-	'focalplaneafpointlocation6' => { 379 => 0x1a },
-	'focalplaneafpointlocation7' => { 379 => 0x1e },
-	'focalplaneafpointlocation8' => { 379 => 0x22 },
-	'focalplaneafpointlocation9' => { 379 => 0x26 },
-	'focalplaneafpointsused' => { 379 => 0x1 },
-	'focalplanediagonal' => { 256 => 0x103, 260 => 0x205 },
-	'focalplaneresolutionunit' => { 107 => 0xa210, 412 => 'FocalPlaneResolutionUnit' },
-	'focalplanexresolution' => { 107 => 0xa20e, 412 => 'FocalPlaneXResolution' },
-	'focalplanexsize' => { 51 => 0x2 },
-	'focalplanexunknown' => { 51 => 0x2 },
-	'focalplaneyresolution' => { 107 => 0xa20f, 412 => 'FocalPlaneYResolution' },
-	'focalplaneysize' => { 51 => 0x3 },
-	'focalplaneyunknown' => { 51 => 0x3 },
-	'focaltype' => { 9 => 0x2d, 51 => 0x0 },
-	'focalunits' => { 31 => 0x19 },
-	'focus' => { 224 => 0x8 },
-	'focusarea' => { 159 => 0x31 },
-	'focusareaselection' => { 250 => '15.2' },
-	'focuscontinuous' => { 31 => 0x20 },
-	'focusdisplayaiservoandmf' => { 73 => 0x515 },
-	'focusdistance' => { 144 => 'FocusDistance', 159 => 0x13, 165 => 0x49bb, 192 => 0x9, 193 => 0xa, 258 => 0x305 },
-	'focusdistancelower' => { 6 => 0x45, 8 => 0x8e, 10 => 0x45, 12 => 0x56, 13 => 0x45, 14 => 0x45, 15 => 0x52, 16 => 0x52, 17 => 0x56, 19 => 0x52, 20 => 0x8e, 21 => 0x59, 22 => 0x57, 23 => 0x8e, 24 => 0x94, 25 => 0x95, 26 => 0x56, 49 => 0x15, 67 => 0x14 },
-	'focusdistanceupper' => { 6 => 0x43, 8 => 0x8c, 10 => 0x43, 12 => 0x54, 13 => 0x43, 14 => 0x43, 15 => 0x50, 16 => 0x50, 17 => 0x54, 19 => 0x50, 20 => 0x8c, 21 => 0x57, 22 => 0x55, 23 => 0x8c, 24 => 0x92, 25 => 0x93, 26 => 0x54, 49 => 0x14, 67 => 0x13 },
-	'focusholdbutton' => { 162 => 0x44 },
-	'focusinfoversion' => { 258 => 0x0 },
-	'focusingscreen' => { 72 => 0x0, 73 => 0x80b, 78 => 0x0 },
-	'focuslocation' => { 364 => 0x2027 },
-	'focuslocked' => { 158 => 0x14 },
-	'focusmode' => { 31 => 0x7, 101 => 0x3, 102 => [0x3003,0xd], 112 => 0x1021, 123 => 0x38, 137 => 'FocusMode', 159 => 0x30, 161 => 0xe, 162 => 0xc, 196 => 0x7, 255 => 0x301, 260 => 0x100b, 276 => 0x7, 310 => 0xd, 317 => 0x3, 335 => 0x1006, 345 => [0xb,0x5], 351 => [0x15,0x1d], 352 => 0x4d, 353 => 0x4d, 364 => [0xb042,0xb04e,0x201b], 368 => 0x13, 384 => 0x16 },
-	'focusmode2' => { 291 => '3.1', 368 => [0x2c,0x2e,0x32] },
-	'focusmodesetting' => { 243 => '10.1', 349 => 0x14, 350 => 0x15, 352 => 0x10, 353 => 0xf, 354 => 0x6 },
-	'focusmodeswitch' => { 162 => 0x58, 352 => 0x2e },
-	'focuspixel' => { 112 => 0x1023 },
-	'focuspointwrap' => { 241 => '2.2', 242 => '2.2', 244 => '2.1', 248 => '2.2', 249 => '1.2', 252 => '2.2', 253 => '2.5' },
-	'focusposition' => { 192 => 0x8, 193 => 0x8, 310 => 0x10, 363 => 0x9bb },
-	'focusposition2' => { 368 => [0x29,0x2b,0x2f], 384 => 0x2d, 387 => 0x20 },
-	'focusprocess' => { 255 => 0x302 },
-	'focusrange' => { 31 => 0x12, 260 => 0x100a },
-	'focusrangeindex' => { 301 => '3.1' },
-	'focussetting' => { 344 => 0x6 },
-	'focusstatus' => { 351 => 0x19, 352 => 0x53, 353 => 0x53 },
-	'focusstepcount' => { 258 => 0x301, 260 => 0x100e },
-	'focusstepinfinity' => { 258 => 0x303, 260 => 0x103b },
-	'focusstepnear' => { 258 => 0x304, 260 => 0x103c },
-	'focustrackinglockon' => { 241 => ['1.5','4.1'], 242 => '1.4', 248 => '3.1', 249 => '0.4', 252 => '1.4' },
-	'focuswarning' => { 112 => 0x1301 },
-	'foldername' => { 159 => 0x27 },
-	'foldernumber' => { 352 => 0x9a, 354 => [0x402,0x114,0x316] },
-	'fontcomposite' => { 437 => [\'Fonts','FontsComposite'] },
-	'fontface' => { 437 => [\'Fonts','FontsFontFace'] },
-	'fontfamily' => { 437 => [\'Fonts','FontsFontFamily'] },
-	'fontfilename' => { 437 => [\'Fonts','FontsFontFileName'] },
-	'fontname' => { 437 => [\'Fonts','FontsFontName'] },
-	'fonts' => { 437 => 'Fonts' },
-	'fonttype' => { 437 => [\'Fonts','FontsFontType'] },
-	'fontversion' => { 437 => [\'Fonts','FontsVersionString'] },
-	'for' => { 326 => 'For' },
-	'format' => { 409 => 'format', 430 => 'Format' },
-	'forwardlock' => { 427 => 'forwardlock' },
-	'forwardmatrix1' => { 107 => 0xc714 },
-	'forwardmatrix2' => { 107 => 0xc715 },
-	'framecount' => { 58 => [0x2,0x4] },
-	'frameheight' => { 112 => 0x3822 },
-	'framenum' => { 321 => 0xd7 },
-	'framenumber' => { 112 => 0x8003, 165 => 0x3c, 310 => 0x29 },
-	'framerate' => { 58 => [0x1,0x6], 107 => 0xc764, 112 => 0x3820 },
-	'framewidth' => { 112 => 0x3821 },
-	'framing' => { 421 => 'framing' },
-	'freebytes' => { 86 => 0x1 },
-	'freememorycardimages' => { 160 => [0x37,0x54], 161 => [0x2d,0x4a], 162 => 0x32 },
-	'fujiflashmode' => { 112 => 0x1010 },
-	'fullimagesize' => { 364 => 0xb02b },
-	'fullpanoheightpixels' => { 397 => 'FullPanoHeightPixels' },
-	'fullpanowidthpixels' => { 397 => 'FullPanoWidthPixels' },
-	'fullpresssnap' => { 335 => 0x100d },
-	'fullsizeimage' => { 143 => 'data' },
-	'fullsizeimagename' => { 143 => '1Name' },
-	'fullsizeimagetype' => { 143 => '0Type' },
-	'func1button' => { 244 => '14.1' },
-	'func1buttonplusdials' => { 244 => '42.1' },
-	'func2button' => { 244 => '80.1' },
-	'funcbutton' => { 241 => ['14.1','15.1'], 242 => '14.1', 248 => '28.1', 249 => '13.1', 252 => '14.1', 253 => '14.1' },
-	'funcbuttonplusdials' => { 241 => ['14.2','15.2'], 242 => '14.2', 248 => '31.1', 252 => '42.1' },
-	'functionbutton' => { 247 => '13.1', 250 => '5.2' },
-	'gainbase' => { 259 => 0x610 },
-	'gaincontrol' => { 107 => 0xa407, 412 => 'GainControl' },
-	'gamma' => { 107 => 0xa500, 413 => 'Gamma' },
-	'gammablackpoint' => { 94 => 0xc },
-	'gammacolortone' => { 94 => 0x3 },
-	'gammacompensatedvalue' => { 117 => 0x91 },
-	'gammacontrast' => { 94 => 0x2 },
-	'gammacurveoutputrange' => { 94 => 0xf },
-	'gammahighlight' => { 94 => 0xa },
-	'gammalinear' => { 92 => 0x20200 },
-	'gammamidpoint' => { 94 => 0xe },
-	'gammasaturation' => { 94 => 0x4 },
-	'gammashadow' => { 94 => 0x9 },
-	'gammasharpnessstrength' => { 94 => 0x8 },
-	'gammaunsharpmaskfineness' => { 94 => 0x6 },
-	'gammaunsharpmaskstrength' => { 94 => 0x5 },
-	'gammaunsharpmaskthreshold' => { 94 => 0x7 },
-	'gammawhitepoint' => { 94 => 0xd },
-	'geimagesize' => { 112 => 0x1304 },
-	'gemake' => { 113 => 0x300 },
-	'gemodel' => { 113 => 0x207 },
-	'genre' => { 422 => 'genre', 432 => 'genre' },
-	'geography' => { 423 => 'geography' },
-	'geologicalcontext' => { 106 => 'GeologicalContext' },
-	'geologicalcontextbed' => { 106 => [\'GeologicalContext','GeologicalContextBed'] },
-	'geologicalcontextformation' => { 106 => [\'GeologicalContext','GeologicalContextFormation'] },
-	'geologicalcontextgroup' => { 106 => [\'GeologicalContext','GeologicalContextGroup'] },
-	'geologicalcontextid' => { 106 => [\'GeologicalContext','GeologicalContextGeologicalContextID'] },
-	'geologicalcontextmember' => { 106 => [\'GeologicalContext','GeologicalContextMember'] },
-	'geosync' => { 108 => 'Geosync' },
-	'geotag' => { 108 => 'Geotag' },
-	'geotiffasciiparams' => { 107 => 0x87b1 },
-	'geotiffdirectory' => { 107 => 0x87af },
-	'geotiffdoubleparams' => { 107 => 0x87b0 },
-	'geotime' => { 108 => 'Geotime' },
-	'globalaltitude' => { 324 => 0x419 },
-	'globalangle' => { 324 => 0x40d },
-	'good' => { 432 => 'good' },
-	'googleplusuploadcode' => { 107 => 0x9009 },
-	'gpsaltitude' => { 114 => 0x6, 141 => 'Altitude', 412 => 'GPSAltitude' },
-	'gpsaltituderef' => { 114 => 0x5, 412 => 'GPSAltitudeRef' },
-	'gpsareainformation' => { 114 => 0x1c, 412 => 'GPSAreaInformation' },
-	'gpsdatestamp' => { 114 => 0x1d },
-	'gpsdatetime' => { 141 => 'DateTime', 412 => 'GPSTimeStamp' },
-	'gpsdestbearing' => { 114 => 0x18, 141 => 'Bearing', 412 => 'GPSDestBearing' },
-	'gpsdestbearingref' => { 114 => 0x17, 412 => 'GPSDestBearingRef' },
-	'gpsdestdistance' => { 114 => 0x1a, 141 => 'Distance', 412 => 'GPSDestDistance' },
-	'gpsdestdistanceref' => { 114 => 0x19, 412 => 'GPSDestDistanceRef' },
-	'gpsdestlatitude' => { 114 => 0x14, 412 => 'GPSDestLatitude' },
-	'gpsdestlatituderef' => { 114 => 0x13 },
-	'gpsdestlongitude' => { 114 => 0x16, 412 => 'GPSDestLongitude' },
-	'gpsdestlongituderef' => { 114 => 0x15 },
-	'gpsdifferential' => { 114 => 0x1e, 141 => 'Differential', 412 => 'GPSDifferential' },
-	'gpsdop' => { 114 => 0xb, 412 => 'GPSDOP' },
-	'gpshpositioningerror' => { 114 => 0x1f, 412 => 'GPSHPositioningError' },
-	'gpsimgdirection' => { 114 => 0x11, 412 => 'GPSImgDirection' },
-	'gpsimgdirectionref' => { 114 => 0x10, 412 => 'GPSImgDirectionRef' },
-	'gpslatitude' => { 114 => 0x2, 141 => 'Latitude', 412 => 'GPSLatitude' },
-	'gpslatituderef' => { 114 => 0x1 },
-	'gpslongitude' => { 114 => 0x4, 141 => 'Longitude', 412 => 'GPSLongitude' },
-	'gpslongituderef' => { 114 => 0x3 },
-	'gpsmapdatum' => { 114 => 0x12, 141 => 'Datum', 412 => 'GPSMapDatum' },
-	'gpsmeasuremode' => { 114 => 0xa, 141 => 'MeasureMode', 412 => 'GPSMeasureMode' },
-	'gpsprocessingmethod' => { 114 => 0x1b, 412 => 'GPSProcessingMethod' },
-	'gpssatellites' => { 114 => 0x8, 141 => 'Satellites', 412 => 'GPSSatellites' },
-	'gpsspeed' => { 114 => 0xd, 141 => 'Speed', 412 => 'GPSSpeed' },
-	'gpsspeedref' => { 114 => 0xc, 412 => 'GPSSpeedRef' },
-	'gpsstatus' => { 114 => 0x9, 412 => 'GPSStatus' },
-	'gpstimestamp' => { 114 => 0x7 },
-	'gpstrack' => { 114 => 0xf, 141 => 'Heading', 412 => 'GPSTrack' },
-	'gpstrackref' => { 114 => 0xe, 412 => 'GPSTrackRef' },
-	'gpsversionid' => { 114 => 0x0, 412 => 'GPSVersionID' },
-	'gradation' => { 255 => 0x50f },
-	'gradientbasedcorractive' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionActive'] },
-	'gradientbasedcorramount' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionAmount'] },
-	'gradientbasedcorrbrightness' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalBrightness'] },
-	'gradientbasedcorrclarity' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity'] },
-	'gradientbasedcorrclarity2012' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity2012'] },
-	'gradientbasedcorrcontrast' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast'] },
-	'gradientbasedcorrcontrast2012' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast2012'] },
-	'gradientbasedcorrdefringe' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalDefringe'] },
-	'gradientbasedcorrections' => { 408 => 'GradientBasedCorrections' },
-	'gradientbasedcorrexposure' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure'] },
-	'gradientbasedcorrexposure2012' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure2012'] },
-	'gradientbasedcorrhighlights2012' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalHighlights2012'] },
-	'gradientbasedcorrhue' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalToningHue'] },
-	'gradientbasedcorrluminancenoise' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalLuminanceNoise'] },
-	'gradientbasedcorrmaskalpha' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAlpha'] },
-	'gradientbasedcorrmaskangle' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAngle'] },
-	'gradientbasedcorrmaskbottom' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksBottom'] },
-	'gradientbasedcorrmaskcentervalue' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterValue'] },
-	'gradientbasedcorrmaskcenterweight' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterWeight'] },
-	'gradientbasedcorrmaskdabs' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksDabs'] },
-	'gradientbasedcorrmaskfeather' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFeather'] },
-	'gradientbasedcorrmaskflipped' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlipped'] },
-	'gradientbasedcorrmaskflow' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlow'] },
-	'gradientbasedcorrmaskfullx' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullX'] },
-	'gradientbasedcorrmaskfully' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullY'] },
-	'gradientbasedcorrmaskleft' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksLeft'] },
-	'gradientbasedcorrmaskmidpoint' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMidpoint'] },
-	'gradientbasedcorrmaskperimetervalue' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksPerimeterValue'] },
-	'gradientbasedcorrmaskradius' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRadius'] },
-	'gradientbasedcorrmaskright' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRight'] },
-	'gradientbasedcorrmaskroundness' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRoundness'] },
-	'gradientbasedcorrmasks' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasks'] },
-	'gradientbasedcorrmasksizex' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeX'] },
-	'gradientbasedcorrmasksizey' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeY'] },
-	'gradientbasedcorrmasktop' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksTop'] },
-	'gradientbasedcorrmaskvalue' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMaskValue'] },
-	'gradientbasedcorrmaskversion' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksVersion'] },
-	'gradientbasedcorrmaskwhat' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksWhat'] },
-	'gradientbasedcorrmaskx' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksX'] },
-	'gradientbasedcorrmasky' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksY'] },
-	'gradientbasedcorrmaskzerox' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroX'] },
-	'gradientbasedcorrmaskzeroy' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroY'] },
-	'gradientbasedcorrmoire' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalMoire'] },
-	'gradientbasedcorrsaturation' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSaturation','GradientBasedCorrectionsLocalToningSaturation'] },
-	'gradientbasedcorrshadows2012' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalShadows2012'] },
-	'gradientbasedcorrsharpness' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSharpness'] },
-	'gradientbasedcorrtemperature' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTemperature'] },
-	'gradientbasedcorrtint' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTint'] },
-	'gradientbasedcorrwhat' => { 408 => [\'GradientBasedCorrections','GradientBasedCorrectionsWhat'] },
-	'grainamount' => { 408 => 'GrainAmount' },
-	'grainfrequency' => { 408 => 'GrainFrequency' },
-	'grainsize' => { 408 => 'GrainSize' },
-	'graymixeraqua' => { 408 => 'GrayMixerAqua' },
-	'graymixerblue' => { 408 => 'GrayMixerBlue' },
-	'graymixergreen' => { 408 => 'GrayMixerGreen' },
-	'graymixermagenta' => { 408 => 'GrayMixerMagenta' },
-	'graymixerorange' => { 408 => 'GrayMixerOrange' },
-	'graymixerpurple' => { 408 => 'GrayMixerPurple' },
-	'graymixerred' => { 408 => 'GrayMixerRed' },
-	'graymixeryellow' => { 408 => 'GrayMixerYellow' },
-	'graypoint' => { 393 => 0x8021 },
-	'grayresponseunit' => { 107 => 0x122 },
-	'greencurvelimits' => { 97 => 0x1c4 },
-	'greencurvepoints' => { 96 => 0x53, 97 => 0x19a },
-	'greenhsl' => { 92 => 0x20912 },
-	'greenhue' => { 408 => 'GreenHue' },
-	'greensaturation' => { 408 => 'GreenSaturation' },
-	'griddisplay' => { 241 => '13.3', 242 => '4.3', 244 => '4.2', 245 => '2.2', 248 => '10.5', 249 => '3.4', 250 => '6.1', 252 => '4.4', 253 => '4.2' },
-	'gripbatteryadload' => { 289 => 0x5 },
-	'gripbatteryadnoload' => { 289 => 0x4 },
-	'gripbatterystate' => { 289 => '1.2' },
-	'groupareaafillumination' => { 242 => '46.4', 244 => '47.4', 252 => '47.4' },
-	'halftonehints' => { 107 => 0x141 },
-	'hardlink' => { 108 => 'HardLink' },
-	'hasalternative' => { 422 => 'hasAlternative' },
-	'hascorrection' => { 422 => 'hasCorrection' },
-	'hascorrectiona-lang' => { 422 => [\'hasCorrection','hasCorrectionA-lang'] },
-	'hascorrectiona-platform' => { 422 => [\'hasCorrection','hasCorrectionA-platform'] },
-	'hascorrectiontext' => { 422 => [\'hasCorrection','hasCorrectionText'] },
-	'hascrop' => { 408 => 'HasCrop' },
-	'hasextendedxmp' => { 434 => 'HasExtendedXMP' },
-	'hassettings' => { 408 => 'HasSettings' },
-	'hastranslation' => { 422 => 'hasTranslation' },
-	'hasvisibleoverprint' => { 437 => 'HasVisibleOverprint' },
-	'hasvisibletransparency' => { 437 => 'HasVisibleTransparency' },
-	'hdr' => { 52 => 0x1, 189 => 0x4, 276 => 0x9e, 310 => 0x85, 364 => 0x200a },
-	'hdreffect' => { 52 => 0x2 },
+	'filemodifydate' => { 110 => 'FileModifyDate' },
+	'filename' => { 110 => 'FileName' },
+	'filenameasdelivered' => { 269 => 'FileNameAsDelivered' },
+	'filenumber' => { 51 => 0x1, 57 => 0x8, 88 => 0x1817, 105 => 'FileNumber', 185 => 0x4 },
+	'filenumbermemory' => { 161 => 0x1a },
+	'filenumbersequence' => { 243 => '12.2', 248 => '3.1', 249 => '4.1', 250 => '4.1', 252 => '11.1', 253 => '4.3', 257 => '5.2' },
+	'filepermissions' => { 110 => 'FilePermissions' },
+	'filesource' => { 109 => 0xa300, 114 => 0x8000, 417 => 'FileSource' },
+	'fileversion' => { 118 => 0x16 },
+	'fillflashautoreduction' => { 73 => 0xe, 74 => 0xe, 81 => 0xa },
+	'filllight' => { 413 => 'FillLight' },
+	'fillorder' => { 109 => 0x10a },
+	'filmgraineffect' => { 259 => 0x538 },
+	'filmmode' => { 114 => 0x1401, 278 => 0x412, 280 => 0x42 },
+	'filmtype' => { 205 => 0x2 },
+	'filtereffect' => { 51 => 0xe, 200 => 0x37, 201 => 0x3f },
+	'filtereffectauto' => { 64 => 0xa0 },
+	'filtereffectfaithful' => { 63 => 0x70, 64 => 0x70 },
+	'filtereffectlandscape' => { 63 => 0x40, 64 => 0x40 },
+	'filtereffectmonochrome' => { 18 => 0xff, 63 => 0x88, 64 => 0x88 },
+	'filtereffectneutral' => { 63 => 0x58, 64 => 0x58 },
+	'filtereffectportrait' => { 63 => 0x28, 64 => 0x28 },
+	'filtereffectstandard' => { 63 => 0x10, 64 => 0x10 },
+	'filtereffectuserdef1' => { 63 => 0xa0, 64 => 0xb8 },
+	'filtereffectuserdef2' => { 63 => 0xb8, 64 => 0xd0 },
+	'filtereffectuserdef3' => { 63 => 0xd0, 64 => 0xe8 },
+	'finderdisplayduringexposure' => { 74 => 0x1 },
+	'finesharpness' => { 314 => 0x70 },
+	'finetuneoptcenterweighted' => { 243 => '7.2', 244 => '9.1', 246 => '9.1', 247 => '9.1', 251 => '8.1', 256 => '9.1', 257 => '9.1' },
+	'finetuneopthighlightweighted' => { 246 => '46.1', 247 => '46.1', 256 => '46.1' },
+	'finetuneoptmatrixmetering' => { 243 => '8.1', 244 => '8.2', 246 => '8.2', 247 => '8.2', 251 => '7.2', 252 => '6.1', 256 => '8.2', 257 => '8.2' },
+	'finetuneoptspotmetering' => { 243 => '8.2', 244 => '9.2', 246 => '9.2', 247 => '9.2', 251 => '8.2', 252 => '6.2', 256 => '9.2', 257 => '9.2' },
+	'firmware' => { 264 => 0x405, 349 => [0x17,0x3b,0x57], 409 => 'Firmware' },
+	'firmwaredate' => { 103 => 0x15, 104 => 0x2001, 335 => 0x4 },
+	'firmwareid' => { 168 => 0x0 },
+	'firmwarename' => { 346 => 0xa001 },
+	'firmwarerevision' => { 18 => 0xa4, 57 => 0x1e, 337 => 0x0 },
+	'firmwarerevision2' => { 337 => 0xc },
+	'firmwareversion' => { 6 => 0x10b, 10 => 0x136, 13 => 0xff, 14 => 0x107, 123 => 0xce5, 137 => 0x57, 139 => 'FirmwareVersion', 280 => 0x2, 282 => 0x3109, 314 => 0x230, 339 => 0x2 },
+	'firmwareversions' => { 323 => 0x301 },
+	'firstphotodate' => { 402 => 'FirstPhotoDate' },
+	'firstpublicationdate' => { 269 => 'FirstPublicationDate' },
+	'fixtureidentifier' => { 117 => 0x16, 407 => 'FixtureIdentifier' },
+	'flash' => { 105 => 'Flash', 109 => 0x9209, 162 => 0x1f, 163 => 0x15, 417 => 'Flash' },
+	'flashaction' => { 357 => 0x3e, 358 => 0x3e, 369 => 0x2017, 373 => [0x2a,0x2c,0x30] },
+	'flashaction2' => { 357 => 0x4c, 358 => 0x4c, 373 => 0x77 },
+	'flashactionexternal' => { 373 => [0x78,0x7c] },
+	'flashactivity' => { 33 => 0x1c },
+	'flashbatterylevel' => { 39 => 0x249 },
+	'flashbias' => { 280 => 0x24 },
+	'flashbits' => { 33 => 0x1d },
+	'flashbuttonfunction' => { 75 => 0x70e },
+	'flashchargelevel' => { 264 => 0x1010 },
+	'flashcolorfilter' => { 188 => 0x10 },
+	'flashcommandermode' => { 186 => '9.1', 187 => '9.1', 188 => '9.1' },
+	'flashcompensation' => { 186 => 0xa, 187 => 0xa, 188 => 0xa, 189 => 0xa, 409 => 'FlashCompensation' },
+	'flashcontrol' => { 357 => 0x23, 358 => 0x1f, 359 => 0x21 },
+	'flashcontrolbuilt-in' => { 252 => '16.1', 253 => '23.1', 255 => '23.1', 256 => '24.1' },
+	'flashcontrolmode' => { 186 => '9.2', 187 => '9.2', 188 => '9.2', 259 => 0x404 },
+	'flashcurtain' => { 280 => 0x48 },
+	'flashdefault' => { 164 => 0x42 },
+	'flashdevice' => { 264 => 0x1005 },
+	'flashdistance' => { 104 => 0x2034 },
+	'flashenergy' => { 109 => 0xa20b, 417 => 'FlashEnergy' },
+	'flashexposurebracketvalue' => { 198 => 0x18 },
+	'flashexposurecomp' => { 69 => 0xf, 114 => 0x1011, 142 => 'ExposureComp', 161 => 0x23, 166 => 0x104, 167 => 0x49c1, 198 => 0x12, 259 => 0x401, 264 => 0x1023, 314 => 0x4d, 339 => 0x100b, 349 => [0x3a,0x56], 369 => 0x104 },
+	'flashexposurecomp2' => { 223 => 0x4d2 },
+	'flashexposurecomp3' => { 188 => 0x1d },
+	'flashexposurecomp4' => { 188 => 0x27 },
+	'flashexposurecomparea' => { 244 => '38.4', 246 => '38.4', 247 => '38.4', 256 => '38.4' },
+	'flashexposurecompset' => { 164 => 0x10, 287 => 0xe, 357 => 0x14, 358 => 0x12, 359 => 0x23, 373 => 0x1f },
+	'flashexposurecompset2' => { 373 => [0x26,0x2c] },
+	'flashexposureindicator' => { 164 => 0x54 },
+	'flashexposureindicatorlast' => { 164 => 0x56 },
+	'flashexposureindicatornext' => { 164 => 0x55 },
+	'flashexposurelock' => { 51 => 0x19 },
+	'flashfired' => { 125 => 0x5d, 142 => 'Fired', 161 => 0x14, 222 => '590.3', 280 => 0x8007, 417 => [\'Flash','FlashFired'] },
+	'flashfiring' => { 75 => 0x306, 76 => 0x6, 77 => 0x7, 80 => 0x7 },
+	'flashfirmwareversion' => { 260 => 0x1002 },
+	'flashfocallength' => { 186 => 0xb, 187 => 0xc, 188 => 0xc },
+	'flashfunction' => { 167 => 0x31, 417 => [\'Flash','FlashFunction'] },
+	'flashgndistance' => { 186 => 0xe, 187 => 0xf, 188 => 0xf, 189 => 0xf },
+	'flashgroupacompensation' => { 186 => 0x11, 187 => 0x12, 188 => 0x13 },
+	'flashgroupacontrolmode' => { 186 => 0xf, 187 => '16.1', 188 => '17.1' },
+	'flashgroupaoutput' => { 186 => 0x11, 187 => 0x12, 188 => 0x13 },
+	'flashgroupbcompensation' => { 186 => 0x12, 187 => 0x13, 188 => 0x14 },
+	'flashgroupbcontrolmode' => { 186 => 0x10, 187 => '17.1', 188 => '18.1' },
+	'flashgroupboutput' => { 186 => 0x12, 187 => 0x13, 188 => 0x14 },
+	'flashgroupccompensation' => { 187 => 0x14, 188 => 0x15 },
+	'flashgroupccontrolmode' => { 187 => '17.2', 188 => '18.2' },
+	'flashgroupcoutput' => { 187 => 0x14, 188 => 0x15 },
+	'flashguidenumber' => { 69 => 0xd, 85 => 0x0, 142 => 'GuideNumber' },
+	'flashintensity' => { 103 => [0x19,0x5], 259 => 0x405 },
+	'flashlevel' => { 245 => 0x9, 369 => 0xb048 },
+	'flashmake' => { 142 => 'Make' },
+	'flashmanufacturer' => { 159 => 'FlashManufacturer' },
+	'flashmetering' => { 161 => 0x3f, 164 => 0x1c },
+	'flashmeteringmode' => { 6 => 0x15, 12 => 0x15, 13 => 0x15, 14 => 0x15, 15 => 0x15, 16 => 0x15, 17 => 0x15, 19 => 0x15, 21 => 0x15, 27 => 0x15 },
+	'flashmeteringsegments' => { 314 => 0x20a },
+	'flashmode' => { 103 => 0x4, 125 => 0x5c, 142 => 'Mode', 161 => 0x2, 162 => 0x20, 163 => 0x16, 164 => 0xf, 198 => 0x87, 259 => 0x400, 264 => 0x1004, 314 => 0xc, 321 => 0x4, 338 => 0x20, 339 => 0x100a, 348 => 0x225, 357 => 0x13, 358 => 0x7f, 359 => 0x20, 373 => 0x10, 376 => 0x1138, 377 => 0x1138, 378 => 0x1114, 379 => 0x1190, 380 => 0x116c, 381 => 0x1024, 382 => 0x21c, 383 => 0x21c, 417 => [\'Flash','FlashMode'] },
+	'flashmodel' => { 142 => 'Model', 159 => 'FlashModel', 260 => 0x1001 },
+	'flashoptions' => { 295 => 0x2 },
+	'flashoptions2' => { 295 => 0x10 },
+	'flashoutput' => { 39 => 0x248, 69 => 0x21, 186 => 0xa, 187 => 0xa, 188 => 0xa },
+	'flashpixversion' => { 109 => 0xa000, 417 => 'FlashpixVersion' },
+	'flashredeyemode' => { 417 => [\'Flash','FlashRedEyeMode'] },
+	'flashremotecontrol' => { 259 => 0x403 },
+	'flashreturn' => { 417 => [\'Flash','FlashReturn'] },
+	'flashserialnumber' => { 142 => 'SerialNumber', 260 => 0x1003 },
+	'flashsetting' => { 198 => 0x8 },
+	'flashshutterspeed' => { 243 => '20.2', 244 => '23.2', 246 => '23.2', 247 => '23.2', 252 => '15.2', 253 => '22.2', 254 => '7.2', 255 => '22.2', 256 => '23.2', 257 => '23.1' },
+	'flashsource' => { 186 => 0x4, 187 => 0x4, 188 => 0x4, 189 => 0x4 },
+	'flashstatus' => { 302 => 0x0, 373 => [0x82,0x86], 385 => [0x31,0x39] },
+	'flashstatusbuilt-in' => { 359 => [0x87,0x287] },
+	'flashstatusexternal' => { 359 => [0x88,0x288] },
+	'flashsyncspeed' => { 243 => '20.1', 244 => '23.1', 246 => '23.1', 247 => '23.1', 252 => '15.1', 253 => '22.1', 255 => '22.1', 256 => '23.1' },
+	'flashsyncspeedav' => { 73 => 0x3, 75 => 0x10f, 76 => 0x2, 77 => 0x3, 78 => 0x2, 79 => 0x2, 80 => 0x3, 81 => 0x6 },
+	'flashthreshold' => { 85 => 0x1 },
+	'flashtype' => { 142 => 'Type', 164 => 0x59, 198 => 0x9, 260 => 0x1000 },
+	'flashwarning' => { 253 => '30.1', 254 => '7.1', 257 => '31.1', 280 => 0x62 },
+	'flexiblespotposition' => { 369 => 0x201d },
+	'flickerreduce' => { 348 => 0x218 },
+	'flickerreduction' => { 216 => 0xe84 },
+	'flickerreductionindicator' => { 216 => 0x5e2 },
+	'fliphorizontal' => { 236 => 0x76a43206 },
+	'fnumber' => { 6 => 0x3, 8 => 0x3, 10 => 0x3, 12 => 0x3, 13 => 0x3, 14 => 0x3, 15 => 0x3, 16 => 0x3, 17 => 0x3, 18 => 0x3, 19 => 0x3, 20 => 0x3, 21 => 0x3, 22 => 0x3, 23 => 0x3, 24 => 0x3, 25 => 0x3, 26 => 0x3, 27 => 0x3, 28 => 0x3, 29 => 0x5, 30 => 0x6, 69 => 0x15, 109 => 0x829d, 122 => 0xfd04, 125 => 0x1e, 127 => 0xfa23, 129 => 0xf103, 132 => 0x13, 134 => 0x3c, 137 => 0xc, 146 => 'FNumber', 161 => 0xa, 162 => 0x36, 163 => 0x47, 164 => 0x9, 167 => 0x49c7, 314 => 0x13, 346 => 0xa019, 34 [...]
+	'focallength' => { 6 => 0x1d, 7 => 0xa, 8 => 0x23, 9 => 0x9, 10 => 0x1d, 11 => 0x9, 12 => 0x1e, 13 => 0x1d, 14 => 0x1d, 15 => 0x1e, 16 => 0x1e, 17 => 0x1e, 18 => 0x28, 19 => 0x1e, 20 => 0x23, 21 => 0x1e, 22 => 0x1e, 23 => 0x23, 24 => 0x23, 25 => 0x23, 26 => 0x23, 27 => 0x1e, 28 => 0x23, 53 => 0x1, 104 => 0x1d, 109 => 0x920a, 132 => 0x1d, 146 => 'FocalLength', 161 => 0x12, 194 => 0xa, 195 => 0xb, 314 => 0x1d, 323 => 0x403, 339 => 0x1500, 356 => 0xe, 380 => 0x1278, 381 => 0x1134, 382 => 0 [...]
+	'focallength2' => { 373 => [0x23,0x25,0x29] },
+	'focallengthin35mmformat' => { 109 => 0xa405, 346 => 0xa01a, 417 => 'FocalLengthIn35mmFilm' },
+	'focallengthtelezoom' => { 356 => 0x10 },
+	'focalplaneafpointarea' => { 384 => 0x2 },
+	'focalplaneafpointlocation1' => { 384 => 0x6 },
+	'focalplaneafpointlocation10' => { 384 => 0x2a },
+	'focalplaneafpointlocation11' => { 384 => 0x2e },
+	'focalplaneafpointlocation12' => { 384 => 0x32 },
+	'focalplaneafpointlocation13' => { 384 => 0x36 },
+	'focalplaneafpointlocation14' => { 384 => 0x3a },
+	'focalplaneafpointlocation15' => { 384 => 0x3e },
+	'focalplaneafpointlocation2' => { 384 => 0xa },
+	'focalplaneafpointlocation3' => { 384 => 0xe },
+	'focalplaneafpointlocation4' => { 384 => 0x12 },
+	'focalplaneafpointlocation5' => { 384 => 0x16 },
+	'focalplaneafpointlocation6' => { 384 => 0x1a },
+	'focalplaneafpointlocation7' => { 384 => 0x1e },
+	'focalplaneafpointlocation8' => { 384 => 0x22 },
+	'focalplaneafpointlocation9' => { 384 => 0x26 },
+	'focalplaneafpointsused' => { 384 => 0x1 },
+	'focalplanediagonal' => { 260 => 0x103, 264 => 0x205 },
+	'focalplaneresolutionunit' => { 109 => 0xa210, 417 => 'FocalPlaneResolutionUnit' },
+	'focalplanexresolution' => { 109 => 0xa20e, 417 => 'FocalPlaneXResolution' },
+	'focalplanexsize' => { 53 => 0x2 },
+	'focalplanexunknown' => { 53 => 0x2 },
+	'focalplaneyresolution' => { 109 => 0xa20f, 417 => 'FocalPlaneYResolution' },
+	'focalplaneysize' => { 53 => 0x3 },
+	'focalplaneyunknown' => { 53 => 0x3 },
+	'focaltype' => { 9 => 0x2d, 53 => 0x0 },
+	'focalunits' => { 33 => 0x19 },
+	'focus' => { 226 => 0x8 },
+	'focusarea' => { 161 => 0x31 },
+	'focusareaselection' => { 254 => '15.2' },
+	'focuscontinuous' => { 33 => 0x20 },
+	'focusdisplayaiservoandmf' => { 75 => 0x515 },
+	'focusdistance' => { 146 => 'FocusDistance', 161 => 0x13, 167 => 0x49bb, 194 => 0x9, 195 => 0xa, 262 => 0x305 },
+	'focusdistancelower' => { 6 => 0x45, 8 => 0x8e, 10 => 0x45, 12 => 0x56, 13 => 0x45, 14 => 0x45, 15 => 0x52, 16 => 0x52, 17 => 0x56, 19 => 0x52, 20 => 0x8e, 21 => 0x59, 22 => 0x57, 23 => 0x8e, 24 => 0x94, 25 => 0x95, 26 => 0xa7, 27 => 0x56, 28 => 0xa7, 51 => 0x15, 69 => 0x14 },
+	'focusdistanceupper' => { 6 => 0x43, 8 => 0x8c, 10 => 0x43, 12 => 0x54, 13 => 0x43, 14 => 0x43, 15 => 0x50, 16 => 0x50, 17 => 0x54, 19 => 0x50, 20 => 0x8c, 21 => 0x57, 22 => 0x55, 23 => 0x8c, 24 => 0x92, 25 => 0x93, 26 => 0xa5, 27 => 0x54, 28 => 0xa5, 51 => 0x14, 69 => 0x13 },
+	'focusholdbutton' => { 164 => 0x44 },
+	'focusinfoversion' => { 262 => 0x0 },
+	'focusingscreen' => { 74 => 0x0, 75 => 0x80b, 80 => 0x0 },
+	'focuslocation' => { 369 => 0x2027 },
+	'focuslocked' => { 160 => 0x14 },
+	'focusmode' => { 33 => 0x7, 103 => 0x3, 104 => [0x3003,0xd], 114 => 0x1021, 125 => 0x38, 139 => 'FocusMode', 161 => 0x30, 163 => 0xe, 164 => 0xc, 198 => 0x7, 259 => 0x301, 264 => 0x100b, 280 => 0x7, 314 => 0xd, 321 => 0x3, 339 => 0x1006, 350 => [0xb,0x5], 356 => [0x15,0x1d], 357 => 0x4d, 358 => 0x4d, 369 => [0xb042,0xb04e,0x201b], 373 => 0x13, 389 => 0x16 },
+	'focusmode2' => { 295 => '3.1', 373 => [0x2c,0x2e,0x32] },
+	'focusmodesetting' => { 245 => '10.1', 354 => 0x14, 355 => 0x15, 357 => 0x10, 358 => 0xf, 359 => 0x6 },
+	'focusmodeswitch' => { 164 => 0x58, 357 => 0x2e },
+	'focuspixel' => { 114 => 0x1023 },
+	'focuspointwrap' => { 243 => '2.2', 244 => '2.2', 246 => '2.1', 247 => '2.1', 251 => '1.1', 252 => '2.2', 253 => '1.1', 256 => '2.2', 257 => '2.5' },
+	'focusposition' => { 194 => 0x8, 195 => 0x8, 314 => 0x10, 368 => 0x9bb },
+	'focusposition2' => { 373 => [0x29,0x2b,0x2f], 389 => 0x2d, 392 => 0x20 },
+	'focusprocess' => { 259 => 0x302 },
+	'focusrange' => { 33 => 0x12, 264 => 0x100a },
+	'focusrangeindex' => { 305 => '3.1' },
+	'focussetting' => { 349 => 0x6 },
+	'focusstatus' => { 356 => 0x19, 357 => 0x53, 358 => 0x53 },
+	'focusstepcount' => { 262 => 0x301, 264 => 0x100e },
+	'focusstepinfinity' => { 262 => 0x303, 264 => 0x103b },
+	'focusstepnear' => { 262 => 0x304, 264 => 0x103c },
+	'focustrackinglockon' => { 243 => ['1.5','4.1'], 244 => '1.4', 251 => '0.4', 252 => '3.1', 253 => '0.4', 256 => '1.4' },
+	'focuswarning' => { 114 => 0x1301 },
+	'foldername' => { 161 => 0x27 },
+	'foldernumber' => { 357 => 0x9a, 359 => [0x402,0x114,0x316] },
+	'fontcomposite' => { 442 => [\'Fonts','FontsComposite'] },
+	'fontface' => { 442 => [\'Fonts','FontsFontFace'] },
+	'fontfamily' => { 442 => [\'Fonts','FontsFontFamily'] },
+	'fontfilename' => { 442 => [\'Fonts','FontsFontFileName'] },
+	'fontname' => { 442 => [\'Fonts','FontsFontName'] },
+	'fonts' => { 442 => 'Fonts' },
+	'fonttype' => { 442 => [\'Fonts','FontsFontType'] },
+	'fontversion' => { 442 => [\'Fonts','FontsVersionString'] },
+	'for' => { 330 => 'For' },
+	'format' => { 414 => 'format', 435 => 'Format' },
+	'forwardlock' => { 432 => 'forwardlock' },
+	'forwardmatrix1' => { 109 => 0xc714 },
+	'forwardmatrix2' => { 109 => 0xc715 },
+	'framecount' => { 60 => [0x2,0x4] },
+	'frameheight' => { 114 => 0x3822 },
+	'framenum' => { 325 => 0xd7 },
+	'framenumber' => { 114 => 0x8003, 167 => 0x3c, 314 => 0x29 },
+	'framerate' => { 60 => [0x1,0x6], 109 => 0xc764, 114 => 0x3820 },
+	'framewidth' => { 114 => 0x3821 },
+	'framing' => { 426 => 'framing' },
+	'freebytes' => { 88 => 0x1 },
+	'freememorycardimages' => { 162 => [0x37,0x54], 163 => [0x2d,0x4a], 164 => 0x32 },
+	'fujiflashmode' => { 114 => 0x1010 },
+	'fullimagesize' => { 369 => 0xb02b },
+	'fullpanoheightpixels' => { 402 => 'FullPanoHeightPixels' },
+	'fullpanowidthpixels' => { 402 => 'FullPanoWidthPixels' },
+	'fullpresssnap' => { 339 => 0x100d },
+	'fullsizeimage' => { 145 => 'data' },
+	'fullsizeimagename' => { 145 => '1Name' },
+	'fullsizeimagetype' => { 145 => '0Type' },
+	'func1button' => { 246 => '14.1', 247 => '14.1' },
+	'func1buttonplusdials' => { 246 => '42.1', 247 => '42.1' },
+	'func2button' => { 246 => '80.1', 247 => '80.1' },
+	'func2buttonplusdials' => { 246 => '81.1' },
+	'func3button' => { 246 => '83.1' },
+	'funcbutton' => { 243 => ['14.1','15.1'], 244 => '14.1', 252 => '28.1', 253 => '13.1', 256 => '14.1', 257 => '14.1' },
+	'funcbuttonplusdials' => { 243 => ['14.2','15.2'], 244 => '14.2', 252 => '31.1', 256 => '42.1' },
+	'functionbutton' => { 250 => '13.1', 254 => '5.2' },
+	'gainbase' => { 263 => 0x610 },
+	'gaincontrol' => { 109 => 0xa407, 417 => 'GainControl' },
+	'gamma' => { 109 => 0xa500, 418 => 'Gamma' },
+	'gammablackpoint' => { 96 => 0xc },
+	'gammacolortone' => { 96 => 0x3 },
+	'gammacompensatedvalue' => { 119 => 0x91 },
+	'gammacontrast' => { 96 => 0x2 },
+	'gammacurveoutputrange' => { 96 => 0xf },
+	'gammahighlight' => { 96 => 0xa },
+	'gammalinear' => { 94 => 0x20200 },
+	'gammamidpoint' => { 96 => 0xe },
+	'gammasaturation' => { 96 => 0x4 },
+	'gammashadow' => { 96 => 0x9 },
+	'gammasharpnessstrength' => { 96 => 0x8 },
+	'gammaunsharpmaskfineness' => { 96 => 0x6 },
+	'gammaunsharpmaskstrength' => { 96 => 0x5 },
+	'gammaunsharpmaskthreshold' => { 96 => 0x7 },
+	'gammawhitepoint' => { 96 => 0xd },
+	'geimagesize' => { 114 => 0x1304 },
+	'gemake' => { 115 => 0x300 },
+	'gemodel' => { 115 => 0x207 },
+	'genre' => { 427 => 'genre', 437 => 'genre' },
+	'geography' => { 428 => 'geography' },
+	'geologicalcontext' => { 108 => 'GeologicalContext' },
+	'geologicalcontextbed' => { 108 => [\'GeologicalContext','GeologicalContextBed'] },
+	'geologicalcontextformation' => { 108 => [\'GeologicalContext','GeologicalContextFormation'] },
+	'geologicalcontextgroup' => { 108 => [\'GeologicalContext','GeologicalContextGroup'] },
+	'geologicalcontextid' => { 108 => [\'GeologicalContext','GeologicalContextGeologicalContextID'] },
+	'geologicalcontextmember' => { 108 => [\'GeologicalContext','GeologicalContextMember'] },
+	'geosync' => { 110 => 'Geosync' },
+	'geotag' => { 110 => 'Geotag' },
+	'geotiffasciiparams' => { 109 => 0x87b1 },
+	'geotiffdirectory' => { 109 => 0x87af },
+	'geotiffdoubleparams' => { 109 => 0x87b0 },
+	'geotime' => { 110 => 'Geotime' },
+	'globalaltitude' => { 328 => 0x419 },
+	'globalangle' => { 328 => 0x40d },
+	'good' => { 437 => 'good' },
+	'googleplusuploadcode' => { 109 => 0x9009 },
+	'gpsaltitude' => { 116 => 0x6, 143 => 'Altitude', 417 => 'GPSAltitude' },
+	'gpsaltituderef' => { 116 => 0x5, 417 => 'GPSAltitudeRef' },
+	'gpsareainformation' => { 116 => 0x1c, 417 => 'GPSAreaInformation' },
+	'gpsdatestamp' => { 116 => 0x1d },
+	'gpsdatetime' => { 143 => 'DateTime', 417 => 'GPSTimeStamp' },
+	'gpsdestbearing' => { 116 => 0x18, 143 => 'Bearing', 417 => 'GPSDestBearing' },
+	'gpsdestbearingref' => { 116 => 0x17, 417 => 'GPSDestBearingRef' },
+	'gpsdestdistance' => { 116 => 0x1a, 143 => 'Distance', 417 => 'GPSDestDistance' },
+	'gpsdestdistanceref' => { 116 => 0x19, 417 => 'GPSDestDistanceRef' },
+	'gpsdestlatitude' => { 116 => 0x14, 417 => 'GPSDestLatitude' },
+	'gpsdestlatituderef' => { 116 => 0x13 },
+	'gpsdestlongitude' => { 116 => 0x16, 417 => 'GPSDestLongitude' },
+	'gpsdestlongituderef' => { 116 => 0x15 },
+	'gpsdifferential' => { 116 => 0x1e, 143 => 'Differential', 417 => 'GPSDifferential' },
+	'gpsdop' => { 116 => 0xb, 417 => 'GPSDOP' },
+	'gpshpositioningerror' => { 116 => 0x1f, 417 => 'GPSHPositioningError' },
+	'gpsimgdirection' => { 116 => 0x11, 417 => 'GPSImgDirection' },
+	'gpsimgdirectionref' => { 116 => 0x10, 417 => 'GPSImgDirectionRef' },
+	'gpslatitude' => { 116 => 0x2, 143 => 'Latitude', 417 => 'GPSLatitude' },
+	'gpslatituderef' => { 116 => 0x1 },
+	'gpslongitude' => { 116 => 0x4, 143 => 'Longitude', 417 => 'GPSLongitude' },
+	'gpslongituderef' => { 116 => 0x3 },
+	'gpsmapdatum' => { 116 => 0x12, 143 => 'Datum', 417 => 'GPSMapDatum' },
+	'gpsmeasuremode' => { 116 => 0xa, 143 => 'MeasureMode', 417 => 'GPSMeasureMode' },
+	'gpsprocessingmethod' => { 116 => 0x1b, 417 => 'GPSProcessingMethod' },
+	'gpssatellites' => { 116 => 0x8, 143 => 'Satellites', 417 => 'GPSSatellites' },
+	'gpsspeed' => { 116 => 0xd, 143 => 'Speed', 417 => 'GPSSpeed' },
+	'gpsspeedref' => { 116 => 0xc, 417 => 'GPSSpeedRef' },
+	'gpsstatus' => { 116 => 0x9, 417 => 'GPSStatus' },
+	'gpstimestamp' => { 116 => 0x7 },
+	'gpstrack' => { 116 => 0xf, 143 => 'Heading', 417 => 'GPSTrack' },
+	'gpstrackref' => { 116 => 0xe, 417 => 'GPSTrackRef' },
+	'gpsversionid' => { 116 => 0x0, 417 => 'GPSVersionID' },
+	'gradation' => { 259 => 0x50f },
+	'gradientbasedcorractive' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionActive'] },
+	'gradientbasedcorramount' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionAmount'] },
+	'gradientbasedcorrbrightness' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalBrightness'] },
+	'gradientbasedcorrclarity' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity'] },
+	'gradientbasedcorrclarity2012' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalClarity2012'] },
+	'gradientbasedcorrcontrast' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast'] },
+	'gradientbasedcorrcontrast2012' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalContrast2012'] },
+	'gradientbasedcorrdefringe' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalDefringe'] },
+	'gradientbasedcorrections' => { 413 => 'GradientBasedCorrections' },
+	'gradientbasedcorrexposure' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure'] },
+	'gradientbasedcorrexposure2012' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalExposure2012'] },
+	'gradientbasedcorrhighlights2012' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalHighlights2012'] },
+	'gradientbasedcorrhue' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalToningHue'] },
+	'gradientbasedcorrluminancenoise' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalLuminanceNoise'] },
+	'gradientbasedcorrmaskalpha' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAlpha'] },
+	'gradientbasedcorrmaskangle' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksAngle'] },
+	'gradientbasedcorrmaskbottom' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksBottom'] },
+	'gradientbasedcorrmaskcentervalue' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterValue'] },
+	'gradientbasedcorrmaskcenterweight' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksCenterWeight'] },
+	'gradientbasedcorrmaskdabs' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksDabs'] },
+	'gradientbasedcorrmaskfeather' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFeather'] },
+	'gradientbasedcorrmaskflipped' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlipped'] },
+	'gradientbasedcorrmaskflow' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFlow'] },
+	'gradientbasedcorrmaskfullx' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullX'] },
+	'gradientbasedcorrmaskfully' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksFullY'] },
+	'gradientbasedcorrmaskleft' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksLeft'] },
+	'gradientbasedcorrmaskmidpoint' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMidpoint'] },
+	'gradientbasedcorrmaskperimetervalue' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksPerimeterValue'] },
+	'gradientbasedcorrmaskradius' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRadius'] },
+	'gradientbasedcorrmaskright' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRight'] },
+	'gradientbasedcorrmaskroundness' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksRoundness'] },
+	'gradientbasedcorrmasks' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasks'] },
+	'gradientbasedcorrmasksizex' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeX'] },
+	'gradientbasedcorrmasksizey' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksSizeY'] },
+	'gradientbasedcorrmasktop' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksTop'] },
+	'gradientbasedcorrmaskvalue' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksMaskValue'] },
+	'gradientbasedcorrmaskversion' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksVersion'] },
+	'gradientbasedcorrmaskwhat' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksWhat'] },
+	'gradientbasedcorrmaskx' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksX'] },
+	'gradientbasedcorrmasky' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksY'] },
+	'gradientbasedcorrmaskzerox' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroX'] },
+	'gradientbasedcorrmaskzeroy' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsCorrectionMasksZeroY'] },
+	'gradientbasedcorrmoire' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalMoire'] },
+	'gradientbasedcorrsaturation' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSaturation','GradientBasedCorrectionsLocalToningSaturation'] },
+	'gradientbasedcorrshadows2012' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalShadows2012'] },
+	'gradientbasedcorrsharpness' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalSharpness'] },
+	'gradientbasedcorrtemperature' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTemperature'] },
+	'gradientbasedcorrtint' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsLocalTint'] },
+	'gradientbasedcorrwhat' => { 413 => [\'GradientBasedCorrections','GradientBasedCorrectionsWhat'] },
+	'grainamount' => { 413 => 'GrainAmount' },
+	'grainfrequency' => { 413 => 'GrainFrequency' },
+	'grainsize' => { 413 => 'GrainSize' },
+	'graymixeraqua' => { 413 => 'GrayMixerAqua' },
+	'graymixerblue' => { 413 => 'GrayMixerBlue' },
+	'graymixergreen' => { 413 => 'GrayMixerGreen' },
+	'graymixermagenta' => { 413 => 'GrayMixerMagenta' },
+	'graymixerorange' => { 413 => 'GrayMixerOrange' },
+	'graymixerpurple' => { 413 => 'GrayMixerPurple' },
+	'graymixerred' => { 413 => 'GrayMixerRed' },
+	'graymixeryellow' => { 413 => 'GrayMixerYellow' },
+	'graypoint' => { 398 => 0x8021 },
+	'grayresponseunit' => { 109 => 0x122 },
+	'greencurvelimits' => { 99 => 0x1c4 },
+	'greencurvepoints' => { 98 => 0x53, 99 => 0x19a },
+	'greenhsl' => { 94 => 0x20912 },
+	'greenhue' => { 413 => 'GreenHue' },
+	'greensaturation' => { 413 => 'GreenSaturation' },
+	'griddisplay' => { 243 => '13.3', 244 => '4.3', 246 => '4.2', 247 => '4.2', 248 => '2.2', 252 => '10.5', 253 => '3.4', 254 => '6.1', 256 => '4.4', 257 => '4.2' },
+	'gripbatteryadload' => { 293 => 0x5 },
+	'gripbatteryadnoload' => { 293 => 0x4 },
+	'gripbatterystate' => { 293 => '1.2' },
+	'groupareaafillumination' => { 244 => '46.4', 247 => '47.4', 256 => '47.4' },
+	'halftonehints' => { 109 => 0x141 },
+	'hardlink' => { 110 => 'HardLink' },
+	'hasalternative' => { 427 => 'hasAlternative' },
+	'hascorrection' => { 427 => 'hasCorrection' },
+	'hascorrectiona-lang' => { 427 => [\'hasCorrection','hasCorrectionA-lang'] },
+	'hascorrectiona-platform' => { 427 => [\'hasCorrection','hasCorrectionA-platform'] },
+	'hascorrectiontext' => { 427 => [\'hasCorrection','hasCorrectionText'] },
+	'hascrop' => { 413 => 'HasCrop' },
+	'hasextendedxmp' => { 439 => 'HasExtendedXMP' },
+	'hassettings' => { 413 => 'HasSettings' },
+	'hastranslation' => { 427 => 'hasTranslation' },
+	'hasvisibleoverprint' => { 442 => 'HasVisibleOverprint' },
+	'hasvisibletransparency' => { 442 => 'HasVisibleTransparency' },
+	'hdr' => { 54 => 0x1, 191 => 0x4, 280 => 0x9e, 314 => 0x85, 369 => 0x200a },
+	'hdreffect' => { 54 => 0x2 },
 	'hdrimagetype' => { 1 => 0xa },
-	'hdrinfoversion' => { 189 => 0x0 },
-	'hdrlevel' => { 189 => 0x5, 354 => 0x2e, 368 => 0x17 },
-	'hdrlevel2' => { 189 => 0x7 },
-	'hdrsetting' => { 354 => 0x2d, 368 => 0x16, 371 => 0x1148, 372 => 0x1148, 373 => 0x1124, 374 => 0x11a0, 375 => 0x117c, 376 => 0x1034, 377 => 0x22c, 378 => 0x22c },
-	'hdrsmoothing' => { 189 => 0x6 },
-	'headline' => { 115 => 0x69, 420 => 'Headline' },
-	'hierarchicalkeywords' => { 152 => [\'Keywords','KeywordsHierarchy'] },
-	'hierarchicalkeywords1' => { 152 => [\'Keywords','KeywordsHierarchyKeyword'] },
-	'hierarchicalkeywords1applied' => { 152 => [\'Keywords','KeywordsHierarchyApplied'] },
-	'hierarchicalkeywords1children' => { 152 => [\'Keywords','KeywordsHierarchyChildren'] },
-	'hierarchicalkeywords2' => { 152 => [\'Keywords','KeywordsHierarchyChildrenKeyword'] },
-	'hierarchicalkeywords2applied' => { 152 => [\'Keywords','KeywordsHierarchyChildrenApplied'] },
-	'hierarchicalkeywords2children' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildren'] },
-	'hierarchicalkeywords3' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenKeyword'] },
-	'hierarchicalkeywords3applied' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenApplied'] },
-	'hierarchicalkeywords3children' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildren'] },
-	'hierarchicalkeywords4' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenKeyword'] },
-	'hierarchicalkeywords4applied' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenApplied'] },
-	'hierarchicalkeywords4children' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildren'] },
-	'hierarchicalkeywords5' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenKeyword'] },
-	'hierarchicalkeywords5applied' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenApplied'] },
-	'hierarchicalkeywords5children' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenChildren'] },
-	'hierarchicalkeywords6' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenChildrenKeyword'] },
-	'hierarchicalkeywords6applied' => { 152 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenChildrenApplied'] },
-	'hierarchicalsubject' => { 399 => 'hierarchicalSubject' },
-	'highestbiostratigraphiczone' => { 106 => [\'GeologicalContext','GeologicalContextHighestBiostratigraphicZone'] },
-	'highisomultiplierblue' => { 280 => 0x1a },
-	'highisomultipliergreen' => { 280 => 0x19 },
-	'highisomultiplierred' => { 280 => 0x18 },
-	'highisonoisereduction' => { 15 => 0xbc, 16 => 0xbd, 19 => 0xbd, 26 => 0xc9, 54 => 0x5, 73 => 0x202, 112 => 0x100e, 196 => 0xb1, 310 => 0x71, 352 => 0x2c, 353 => 0x26, 354 => 0x26, 364 => 0x2009, 368 => 0x12, 389 => 0x42 },
-	'highisonoisereduction2' => { 364 => 0xb050 },
-	'highlight' => { 344 => 0xf },
-	'highlightadj' => { 92 => 0x2030c },
-	'highlightcolordistortreduct' => { 393 => 0x8026 },
-	'highlightlinearitylimit' => { 341 => 0xa025 },
-	'highlightprotection' => { 233 => 0x6 },
-	'highlightrecovery' => { 408 => 'HighlightRecovery' },
-	'highlights' => { 401 => 'Highlights' },
-	'highlights2012' => { 408 => 'Highlights2012' },
-	'highlighttone' => { 112 => 0x1041 },
-	'highlighttonepriority' => { 12 => 0x7, 15 => 0x7, 16 => 0x7, 17 => 0x7, 19 => 0x7, 21 => 0x7, 26 => 0x7, 54 => 0x3, 73 => 0x203 },
-	'highlowkeyadj' => { 310 => 0x6c },
-	'highspeedsync' => { 162 => 0x5, 352 => 0x2, 353 => 0x2 },
-	'histogramxml' => { 234 => 0x83a1a25 },
-	'history' => { 420 => 'History', 433 => 'History' },
-	'historyaction' => { 433 => [\'History','HistoryAction'] },
-	'historychanged' => { 433 => [\'History','HistoryChanged'] },
-	'historyinstanceid' => { 433 => [\'History','HistoryInstanceID'] },
-	'historyparameters' => { 433 => [\'History','HistoryParameters'] },
-	'historysoftwareagent' => { 433 => [\'History','HistorySoftwareAgent'] },
-	'historywhen' => { 433 => [\'History','HistoryWhen'] },
-	'hometowncity' => { 102 => 0x3006, 310 => 0x23, 316 => 0x2 },
-	'hometowncitycode' => { 317 => 0x1000 },
-	'hometowndst' => { 310 => 0x25, 316 => '0.2' },
-	'hostcomputer' => { 107 => 0x13c },
-	'hue' => { 167 => 0x3b, 199 => 0x3d, 310 => 0x67 },
-	'hueadj' => { 237 => 0x2f, 393 => 0x8019 },
-	'hueadjust' => { 335 => 0x1016 },
-	'hueadjustment' => { 160 => 0x4a, 161 => 0x40, 196 => 0x92, 198 => 0x36 },
-	'hueadjustmentaqua' => { 408 => 'HueAdjustmentAqua' },
-	'hueadjustmentblue' => { 408 => 'HueAdjustmentBlue' },
-	'hueadjustmentgreen' => { 408 => 'HueAdjustmentGreen' },
-	'hueadjustmentmagenta' => { 408 => 'HueAdjustmentMagenta' },
-	'hueadjustmentorange' => { 408 => 'HueAdjustmentOrange' },
-	'hueadjustmentpurple' => { 408 => 'HueAdjustmentPurple' },
-	'hueadjustmentred' => { 408 => 'HueAdjustmentRed' },
-	'hueadjustmentyellow' => { 408 => 'HueAdjustmentYellow' },
-	'huesetting' => { 263 => 0x1011 },
-	'icc_profile' => { 108 => 'ICC_Profile' },
-	'iccprofilename' => { 420 => 'ICCProfile' },
-	'idccreativestyle' => { 393 => 0x8000 },
-	'idcpreviewlength' => { 393 => 0x202 },
-	'idcpreviewstart' => { 393 => 0x201 },
-	'identification' => { 106 => 'Identification' },
-	'identificationid' => { 106 => [\'Identification','IdentificationIdentificationID'] },
-	'identificationqualifier' => { 106 => [\'Identification','IdentificationIdentificationQualifier'] },
-	'identificationreferences' => { 106 => [\'Identification','IdentificationIdentificationReferences'] },
-	'identificationremarks' => { 106 => [\'Identification','IdentificationIdentificationRemarks'] },
-	'identificationverificationstatus' => { 106 => [\'Identification','IdentificationIdentificationVerificationStatus'] },
-	'identifiedby' => { 106 => [\'Identification','IdentificationIdentifiedBy'] },
-	'identifier' => { 409 => 'identifier', 430 => 'Identifier' },
-	'illumination' => { 250 => '0.5' },
-	'imageadjustment' => { 196 => 0x80, 224 => 0x5 },
-	'imagealterationconstraints' => { 265 => 'ImageAlterationConstraints' },
-	'imagearea' => { 208 => 0x10, 211 => 0x10 },
-	'imageareaoffset' => { 310 => 0x38 },
-	'imageauthentication' => { 196 => 0x20 },
-	'imageboundary' => { 196 => 0x16 },
-	'imagecount' => { 112 => 0x1438, 196 => 0xa5, 366 => 0x11b, 380 => [0x32,0x3a] },
-	'imagecount2' => { 380 => [0x4c,0x58] },
-	'imagecount3' => { 380 => [0x1a0,0x1aa,0x1bd,0x1cb] },
-	'imagecreator' => { 265 => 'ImageCreator' },
-	'imagecreatorid' => { 265 => [\'ImageCreator','ImageCreatorImageCreatorID'] },
-	'imagecreatorimageid' => { 265 => 'ImageCreatorImageID' },
-	'imagecreatorname' => { 265 => [\'ImageCreator','ImageCreatorImageCreatorName'] },
-	'imagedatasize' => { 196 => 0xa2 },
-	'imagedescription' => { 107 => 0x10e, 428 => 'ImageDescription' },
-	'imageduplicationconstraints' => { 265 => 'ImageDuplicationConstraints' },
-	'imagedustoff' => { 234 => 0xfe443a45 },
-	'imageeditcount' => { 310 => 0x41 },
-	'imageediting' => { 310 => 0x32 },
-	'imageeffects' => { 335 => 0x1010 },
-	'imagefileconstraints' => { 265 => 'ImageFileConstraints' },
-	'imagefileformatasdelivered' => { 265 => 'ImageFileFormatAsDelivered' },
-	'imagefilesizeasdelivered' => { 265 => 'ImageFileSizeAsDelivered' },
-	'imagegeneration' => { 112 => 0x1436 },
-	'imageheight' => { 107 => 0x101, 166 => 0xc, 319 => 0x10d, 428 => 'ImageLength' },
-	'imagehistory' => { 107 => 0x9213, 411 => 'ImageHistory' },
-	'imageidnumber' => { 272 => 0x340 },
-	'imagenumber' => { 107 => 0x9211, 137 => 'ImageNumber', 160 => 0xae, 161 => 0x5e, 319 => 0x113, 352 => 0x9b, 354 => [0x400,'276.1',0x314], 404 => 'ImageNumber' },
-	'imagenumber2' => { 161 => 0x62 },
-	'imageoptimization' => { 196 => 0xa9 },
-	'imageorientation' => { 115 => 0x83 },
-	'imageprocessing' => { 196 => 0x1a },
-	'imageprocessingversion' => { 259 => 0x0 },
-	'imagequality' => { 137 => 'ImageQuality', 210 => '723.2', 211 => '732.2', 220 => '708.1', 276 => 0x1 },
-	'imagequality2' => { 255 => 0x603 },
-	'imageref' => { 416 => 'ImageRef' },
-	'imagereview' => { 243 => '0.4', 250 => '0.4' },
-	'imagereviewmonitorofftime' => { 242 => '21.1', 244 => '21.1', 252 => '21.1' },
-	'imagereviewtime' => { 241 => '25.1', 243 => '2.1', 245 => '19.1', 246 => '20.1', 247 => '20.1', 248 => '9.2', 249 => '20.1', 253 => '21.2' },
-	'imagesize' => { 143 => 'ImageSize' },
-	'imagesizerestriction' => { 425 => 'imageSizeRestriction' },
-	'imagesourcedata' => { 107 => 0x935c },
-	'imagestabilization' => { 31 => 0x22, 102 => 0x3020, 112 => 0x1422, 137 => 'ImageStabilization', 160 => 0xbd, 161 => 0x71, 162 => 0x57, 163 => 0x0, 164 => [0x18,0x107,0x113], 165 => 0x49c2, 196 => 0xac, 255 => 0x604, 258 => 0x1600, 276 => 0x1a, 357 => 0x12, 358 => 0x11, 364 => 0xb026 },
-	'imagestabilization2' => { 356 => 0xa },
-	'imagestabilizationsetting' => { 165 => 0x14, 352 => 0x3d, 353 => 0x3d, 363 => 0x14 },
-	'imagestyle' => { 352 => 0x2d, 353 => 0x27 },
-	'imagesupplier' => { 265 => 'ImageSupplier' },
-	'imagesupplierid' => { 265 => [\'ImageSupplier','ImageSupplierImageSupplierID'] },
-	'imagesupplierimageid' => { 265 => 'ImageSupplierImageID' },
-	'imagesuppliername' => { 265 => [\'ImageSupplier','ImageSupplierImageSupplierName'] },
-	'imagetemperaturemax' => { 109 => 0x1 },
-	'imagetemperaturemin' => { 109 => 0x2 },
-	'imagetone' => { 310 => 0x4f },
-	'imagetype' => { 115 => 0x82, 265 => 'ImageType' },
-	'imageuniqueid' => { 55 => 0x28, 107 => 0xa420, 412 => 'ImageUniqueID' },
-	'imagewidth' => { 107 => 0x100, 166 => 0xe, 319 => 0x10c, 428 => 'ImageWidth' },
-	'incrementaltemperature' => { 408 => 'IncrementalTemperature' },
-	'incrementaltint' => { 408 => 'IncrementalTint' },
-	'industry' => { 422 => 'industry', 423 => 'industry' },
-	'infobuttonwhenshooting' => { 73 => 0x409 },
-	'infraredilluminator' => { 331 => 0x28 },
-	'ingredientexclusion' => { 424 => 'ingredientExclusion' },
-	'ingredients' => { 433 => 'Ingredients' },
-	'ingredientsalternatepaths' => { 433 => [\'Ingredients','IngredientsAlternatePaths'] },
-	'ingredientsdocumentid' => { 433 => [\'Ingredients','IngredientsDocumentID'] },
-	'ingredientsfilepath' => { 433 => [\'Ingredients','IngredientsFilePath'] },
-	'ingredientsfrompart' => { 433 => [\'Ingredients','IngredientsFromPart'] },
-	'ingredientsinstanceid' => { 433 => [\'Ingredients','IngredientsInstanceID'] },
-	'ingredientslastmodifydate' => { 433 => [\'Ingredients','IngredientsLastModifyDate'] },
-	'ingredientsmanager' => { 433 => [\'Ingredients','IngredientsManager'] },
-	'ingredientsmanagervariant' => { 433 => [\'Ingredients','IngredientsManagerVariant'] },
-	'ingredientsmanageto' => { 433 => [\'Ingredients','IngredientsManageTo'] },
-	'ingredientsmanageui' => { 433 => [\'Ingredients','IngredientsManageUI'] },
-	'ingredientsmaskmarkers' => { 433 => [\'Ingredients','IngredientsMaskMarkers'] },
-	'ingredientsoriginaldocumentid' => { 433 => [\'Ingredients','IngredientsOriginalDocumentID'] },
-	'ingredientspartmapping' => { 433 => [\'Ingredients','IngredientsPartMapping'] },
-	'ingredientsrenditionclass' => { 433 => [\'Ingredients','IngredientsRenditionClass'] },
-	'ingredientsrenditionparams' => { 433 => [\'Ingredients','IngredientsRenditionParams'] },
-	'ingredientstopart' => { 433 => [\'Ingredients','IngredientsToPart'] },
-	'ingredientsversionid' => { 433 => [\'Ingredients','IngredientsVersionID'] },
-	'initialafpointaiservoaf' => { 73 => 0x51e },
+	'hdrinfoversion' => { 191 => 0x0 },
+	'hdrlevel' => { 191 => 0x5, 359 => 0x2e, 373 => 0x17 },
+	'hdrlevel2' => { 191 => 0x7 },
+	'hdrsetting' => { 359 => 0x2d, 373 => 0x16, 376 => 0x1148, 377 => 0x1148, 378 => 0x1124, 379 => 0x11a0, 380 => 0x117c, 381 => 0x1034, 382 => 0x22c, 383 => 0x22c },
+	'hdrsmoothing' => { 191 => 0x6 },
+	'headline' => { 117 => 0x69, 425 => 'Headline' },
+	'hierarchicalkeywords' => { 154 => [\'Keywords','KeywordsHierarchy'] },
+	'hierarchicalkeywords1' => { 154 => [\'Keywords','KeywordsHierarchyKeyword'] },
+	'hierarchicalkeywords1applied' => { 154 => [\'Keywords','KeywordsHierarchyApplied'] },
+	'hierarchicalkeywords1children' => { 154 => [\'Keywords','KeywordsHierarchyChildren'] },
+	'hierarchicalkeywords2' => { 154 => [\'Keywords','KeywordsHierarchyChildrenKeyword'] },
+	'hierarchicalkeywords2applied' => { 154 => [\'Keywords','KeywordsHierarchyChildrenApplied'] },
+	'hierarchicalkeywords2children' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildren'] },
+	'hierarchicalkeywords3' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenKeyword'] },
+	'hierarchicalkeywords3applied' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenApplied'] },
+	'hierarchicalkeywords3children' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildren'] },
+	'hierarchicalkeywords4' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenKeyword'] },
+	'hierarchicalkeywords4applied' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenApplied'] },
+	'hierarchicalkeywords4children' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildren'] },
+	'hierarchicalkeywords5' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenKeyword'] },
+	'hierarchicalkeywords5applied' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenApplied'] },
+	'hierarchicalkeywords5children' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenChildren'] },
+	'hierarchicalkeywords6' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenChildrenKeyword'] },
+	'hierarchicalkeywords6applied' => { 154 => [\'Keywords','KeywordsHierarchyChildrenChildrenChildrenChildrenChildrenApplied'] },
+	'hierarchicalsubject' => { 404 => 'hierarchicalSubject' },
+	'highestbiostratigraphiczone' => { 108 => [\'GeologicalContext','GeologicalContextHighestBiostratigraphicZone'] },
+	'highisomultiplierblue' => { 284 => 0x1a },
+	'highisomultipliergreen' => { 284 => 0x19 },
+	'highisomultiplierred' => { 284 => 0x18 },
+	'highisonoisereduction' => { 15 => 0xbc, 16 => 0xbd, 19 => 0xbd, 27 => 0xc9, 56 => 0x5, 75 => 0x202, 114 => 0x100e, 198 => 0xb1, 314 => 0x71, 357 => 0x2c, 358 => 0x26, 359 => 0x26, 369 => 0x2009, 373 => 0x12, 394 => 0x42 },
+	'highisonoisereduction2' => { 369 => 0xb050 },
+	'highlight' => { 349 => 0xf },
+	'highlightadj' => { 94 => 0x2030c },
+	'highlightcolordistortreduct' => { 398 => 0x8026 },
+	'highlightlinearitylimit' => { 346 => 0xa025 },
+	'highlightprotection' => { 235 => 0x6 },
+	'highlightrecovery' => { 413 => 'HighlightRecovery' },
+	'highlights' => { 406 => 'Highlights' },
+	'highlights2012' => { 413 => 'Highlights2012' },
+	'highlighttone' => { 114 => 0x1041 },
+	'highlighttonepriority' => { 12 => 0x7, 15 => 0x7, 16 => 0x7, 17 => 0x7, 19 => 0x7, 21 => 0x7, 27 => 0x7, 56 => 0x3, 75 => 0x203 },
+	'highlowkeyadj' => { 314 => 0x6c },
+	'highspeedsync' => { 164 => 0x5, 357 => 0x2, 358 => 0x2 },
+	'histogramxml' => { 236 => 0x83a1a25 },
+	'history' => { 425 => 'History', 438 => 'History' },
+	'historyaction' => { 438 => [\'History','HistoryAction'] },
+	'historychanged' => { 438 => [\'History','HistoryChanged'] },
+	'historyinstanceid' => { 438 => [\'History','HistoryInstanceID'] },
+	'historyparameters' => { 438 => [\'History','HistoryParameters'] },
+	'historysoftwareagent' => { 438 => [\'History','HistorySoftwareAgent'] },
+	'historywhen' => { 438 => [\'History','HistoryWhen'] },
+	'hometowncity' => { 104 => 0x3006, 314 => 0x23, 320 => 0x2 },
+	'hometowncitycode' => { 321 => 0x1000 },
+	'hometowndst' => { 314 => 0x25, 320 => '0.2' },
+	'hostcomputer' => { 109 => 0x13c },
+	'hue' => { 169 => 0x3b, 201 => 0x3d, 314 => 0x67 },
+	'hueadj' => { 239 => 0x2f, 398 => 0x8019 },
+	'hueadjust' => { 339 => 0x1016 },
+	'hueadjustment' => { 162 => 0x4a, 163 => 0x40, 198 => 0x92, 200 => 0x36 },
+	'hueadjustmentaqua' => { 413 => 'HueAdjustmentAqua' },
+	'hueadjustmentblue' => { 413 => 'HueAdjustmentBlue' },
+	'hueadjustmentgreen' => { 413 => 'HueAdjustmentGreen' },
+	'hueadjustmentmagenta' => { 413 => 'HueAdjustmentMagenta' },
+	'hueadjustmentorange' => { 413 => 'HueAdjustmentOrange' },
+	'hueadjustmentpurple' => { 413 => 'HueAdjustmentPurple' },
+	'hueadjustmentred' => { 413 => 'HueAdjustmentRed' },
+	'hueadjustmentyellow' => { 413 => 'HueAdjustmentYellow' },
+	'huesetting' => { 267 => 0x1011 },
+	'humidity' => { 109 => 0x9401 },
+	'icc_profile' => { 110 => 'ICC_Profile' },
+	'iccprofilename' => { 425 => 'ICCProfile' },
+	'idccreativestyle' => { 398 => 0x8000 },
+	'idcpreviewlength' => { 398 => 0x202 },
+	'idcpreviewstart' => { 398 => 0x201 },
+	'identification' => { 108 => 'Identification' },
+	'identificationid' => { 108 => [\'Identification','IdentificationIdentificationID'] },
+	'identificationqualifier' => { 108 => [\'Identification','IdentificationIdentificationQualifier'] },
+	'identificationreferences' => { 108 => [\'Identification','IdentificationIdentificationReferences'] },
+	'identificationremarks' => { 108 => [\'Identification','IdentificationIdentificationRemarks'] },
+	'identificationverificationstatus' => { 108 => [\'Identification','IdentificationIdentificationVerificationStatus'] },
+	'identifiedby' => { 108 => [\'Identification','IdentificationIdentifiedBy'] },
+	'identifier' => { 414 => 'identifier', 435 => 'Identifier' },
+	'illumination' => { 254 => '0.5' },
+	'imageadjustment' => { 198 => 0x80, 226 => 0x5 },
+	'imagealterationconstraints' => { 269 => 'ImageAlterationConstraints' },
+	'imagearea' => { 210 => 0x10, 213 => 0x10 },
+	'imageareaoffset' => { 314 => 0x38 },
+	'imageauthentication' => { 198 => 0x20 },
+	'imageboundary' => { 198 => 0x16 },
+	'imagecount' => { 114 => 0x1438, 198 => 0xa5, 371 => 0x11b, 385 => [0x32,0x3a] },
+	'imagecount2' => { 385 => [0x4c,0x58] },
+	'imagecount3' => { 385 => [0x1a0,0x1aa,0x1bd,0x1cb] },
+	'imagecreator' => { 269 => 'ImageCreator' },
+	'imagecreatorid' => { 269 => [\'ImageCreator','ImageCreatorImageCreatorID'] },
+	'imagecreatorimageid' => { 269 => 'ImageCreatorImageID' },
+	'imagecreatorname' => { 269 => [\'ImageCreator','ImageCreatorImageCreatorName'] },
+	'imagedatasize' => { 198 => 0xa2 },
+	'imagedescription' => { 109 => 0x10e, 433 => 'ImageDescription' },
+	'imageduplicationconstraints' => { 269 => 'ImageDuplicationConstraints' },
+	'imagedustoff' => { 236 => 0xfe443a45 },
+	'imageeditcount' => { 314 => 0x41 },
+	'imageediting' => { 314 => 0x32 },
+	'imageeffects' => { 339 => 0x1010 },
+	'imagefileconstraints' => { 269 => 'ImageFileConstraints' },
+	'imagefileformatasdelivered' => { 269 => 'ImageFileFormatAsDelivered' },
+	'imagefilesizeasdelivered' => { 269 => 'ImageFileSizeAsDelivered' },
+	'imagegeneration' => { 114 => 0x1436 },
+	'imageheight' => { 109 => 0x101, 168 => 0xc, 323 => 0x10d, 433 => 'ImageLength' },
+	'imagehistory' => { 109 => 0x9213, 416 => 'ImageHistory' },
+	'imageidnumber' => { 276 => 0x340 },
+	'imagenumber' => { 109 => 0x9211, 139 => 'ImageNumber', 162 => 0xae, 163 => 0x5e, 323 => 0x113, 357 => 0x9b, 359 => [0x400,'276.1',0x314], 409 => 'ImageNumber' },
+	'imagenumber2' => { 163 => 0x62 },
+	'imageoptimization' => { 198 => 0xa9 },
+	'imageorientation' => { 117 => 0x83 },
+	'imageprocessing' => { 198 => 0x1a },
+	'imageprocessingversion' => { 263 => 0x0 },
+	'imagequality' => { 139 => 'ImageQuality', 212 => '723.2', 213 => '732.2', 222 => '708.1', 280 => 0x1 },
+	'imagequality2' => { 259 => 0x603 },
+	'imageref' => { 421 => 'ImageRef' },
+	'imagereview' => { 245 => '0.4', 254 => '0.4' },
+	'imagereviewmonitorofftime' => { 244 => '21.1', 246 => '21.1', 247 => '21.1', 251 => '20.1', 256 => '21.1' },
+	'imagereviewtime' => { 243 => '25.1', 245 => '2.1', 248 => '19.1', 249 => '20.1', 250 => '20.1', 252 => '9.2', 253 => '20.1', 257 => '21.2' },
+	'imagesize' => { 145 => 'ImageSize' },
+	'imagesizerestriction' => { 430 => 'imageSizeRestriction' },
+	'imagesourcedata' => { 109 => 0x935c },
+	'imagestabilization' => { 33 => 0x22, 104 => 0x3020, 114 => 0x1422, 139 => 'ImageStabilization', 162 => 0xbd, 163 => 0x71, 164 => 0x57, 165 => 0x0, 166 => [0x18,0x107,0x113], 167 => 0x49c2, 198 => 0xac, 259 => 0x604, 262 => 0x1600, 280 => 0x1a, 362 => 0x12, 363 => 0x11, 369 => 0xb026 },
+	'imagestabilization2' => { 361 => 0xa },
+	'imagestabilizationsetting' => { 167 => 0x14, 357 => 0x3d, 358 => 0x3d, 368 => 0x14 },
+	'imagestyle' => { 357 => 0x2d, 358 => 0x27 },
+	'imagesupplier' => { 269 => 'ImageSupplier' },
+	'imagesupplierid' => { 269 => [\'ImageSupplier','ImageSupplierImageSupplierID'] },
+	'imagesupplierimageid' => { 269 => 'ImageSupplierImageID' },
+	'imagesuppliername' => { 269 => [\'ImageSupplier','ImageSupplierImageSupplierName'] },
+	'imagetemperaturemax' => { 111 => 0x1 },
+	'imagetemperaturemin' => { 111 => 0x2 },
+	'imagetone' => { 314 => 0x4f },
+	'imagetype' => { 117 => 0x82, 269 => 'ImageType' },
+	'imageuniqueid' => { 1 => 0x15, 57 => 0x28, 109 => 0xa420, 416 => 'ImageUniqueID', 417 => 'ImageUniqueID' },
+	'imagewidth' => { 109 => 0x100, 168 => 0xe, 323 => 0x10c, 433 => 'ImageWidth' },
+	'incrementaltemperature' => { 413 => 'IncrementalTemperature' },
+	'incrementaltint' => { 413 => 'IncrementalTint' },
+	'industry' => { 427 => 'industry', 428 => 'industry' },
+	'infobuttonwhenshooting' => { 75 => 0x409 },
+	'infraredilluminator' => { 335 => 0x28 },
+	'ingredientexclusion' => { 429 => 'ingredientExclusion' },
+	'ingredients' => { 438 => 'Ingredients' },
+	'ingredientsalternatepaths' => { 438 => [\'Ingredients','IngredientsAlternatePaths'] },
+	'ingredientsdocumentid' => { 438 => [\'Ingredients','IngredientsDocumentID'] },
+	'ingredientsfilepath' => { 438 => [\'Ingredients','IngredientsFilePath'] },
+	'ingredientsfrompart' => { 438 => [\'Ingredients','IngredientsFromPart'] },
+	'ingredientsinstanceid' => { 438 => [\'Ingredients','IngredientsInstanceID'] },
+	'ingredientslastmodifydate' => { 438 => [\'Ingredients','IngredientsLastModifyDate'] },
+	'ingredientslasturl' => { 438 => [\'Ingredients','IngredientsLastURL'] },
+	'ingredientslinkcategory' => { 438 => [\'Ingredients','IngredientsLinkCategory'] },
+	'ingredientslinkform' => { 438 => [\'Ingredients','IngredientsLinkForm'] },
+	'ingredientsmanager' => { 438 => [\'Ingredients','IngredientsManager'] },
+	'ingredientsmanagervariant' => { 438 => [\'Ingredients','IngredientsManagerVariant'] },
+	'ingredientsmanageto' => { 438 => [\'Ingredients','IngredientsManageTo'] },
+	'ingredientsmanageui' => { 438 => [\'Ingredients','IngredientsManageUI'] },
+	'ingredientsmaskmarkers' => { 438 => [\'Ingredients','IngredientsMaskMarkers'] },
+	'ingredientsoriginaldocumentid' => { 438 => [\'Ingredients','IngredientsOriginalDocumentID'] },
+	'ingredientspartmapping' => { 438 => [\'Ingredients','IngredientsPartMapping'] },
+	'ingredientsplacedresolutionunit' => { 438 => [\'Ingredients','IngredientsPlacedResolutionUnit'] },
+	'ingredientsplacedxresolution' => { 438 => [\'Ingredients','IngredientsPlacedXResolution'] },
+	'ingredientsplacedyresolution' => { 438 => [\'Ingredients','IngredientsPlacedYResolution'] },
+	'ingredientsrenditionclass' => { 438 => [\'Ingredients','IngredientsRenditionClass'] },
+	'ingredientsrenditionparams' => { 438 => [\'Ingredients','IngredientsRenditionParams'] },
+	'ingredientstopart' => { 438 => [\'Ingredients','IngredientsToPart'] },
+	'ingredientsversionid' => { 438 => [\'Ingredients','IngredientsVersionID'] },
+	'initialafpointaiservoaf' => { 75 => 0x51e },
 	'initialafpointinservo' => { 2 => 0x13 },
-	'initialhorizontalfovdegrees' => { 397 => 'InitialHorizontalFOVDegrees' },
-	'initialviewheadingdegrees' => { 397 => 'InitialViewHeadingDegrees' },
-	'initialviewpitchdegrees' => { 397 => 'InitialViewPitchDegrees' },
-	'initialviewrolldegrees' => { 397 => 'InitialViewRollDegrees' },
-	'initialzoomliveview' => { 241 => '4.4' },
-	'initialzoomsetting' => { 241 => '9.3', 248 => '27.3' },
-	'inkset' => { 107 => 0x14c },
-	'inputprofile' => { 121 => 0x1389 },
-	'instanceid' => { 433 => 'InstanceID' },
-	'instantplaybacksetup' => { 162 => 0x3e },
-	'instantplaybacktime' => { 162 => 0x3d },
-	'instructions' => { 420 => 'Instructions' },
-	'instrument' => { 432 => 'instrument' },
-	'intellectualgenre' => { 417 => 'IntellectualGenre' },
-	'intelligentauto' => { 364 => 0xb052 },
-	'intelligentcontrast' => { 44 => 0x4 },
-	'intelligentd-range' => { 276 => 0x79 },
-	'intelligentexposure' => { 276 => 0x5d },
-	'intelligentresolution' => { 276 => 0x70 },
-	'interchangecolorspace' => { 117 => 0x40 },
-	'internalflash' => { 159 => 0x2b, 241 => '23.1', 243 => '8.1', 245 => '22.1', 247 => '23.1', 250 => '8.1', 253 => '24.1', 258 => 0x1208 },
-	'internalflashae1' => { 260 => 0x1021 },
-	'internalflashae1_0' => { 260 => 0x101d },
-	'internalflashae2' => { 260 => 0x1022 },
-	'internalflashae2_0' => { 260 => 0x101e },
-	'internalflashmode' => { 298 => 0x1 },
-	'internalflashstrength' => { 298 => 0x3 },
-	'internalflashtable' => { 260 => 0x1024 },
-	'internallensserialnumber' => { 341 => 0xa005 },
-	'internalndfilter' => { 276 => 0x9d },
-	'internalserialnumber' => { 55 => 0x96, 66 => 0x9, 112 => 0x10, 165 => 0x49dc, 254 => 0x18, 256 => 0x102, 276 => 0x25, 290 => 0x4, 335 => 0x5, 380 => [0x7c,0x88,0xf0] },
-	'interopindex' => { 107 => 0x1, 413 => 'InteroperabilityIndex' },
-	'interopversion' => { 107 => 0x2 },
-	'intervallength' => { 159 => 0x10 },
-	'intervalmode' => { 159 => 0x26 },
-	'intervalnumber' => { 159 => 0x11 },
-	'introtime' => { 432 => 'introTime' },
-	'introtimescale' => { 432 => [\'introTime','introTimeScale'] },
-	'introtimevalue' => { 432 => [\'introTime','introTimeValue'] },
-	'iptc' => { 108 => 'IPTC' },
-	'iptc-naa' => { 107 => 0x83bb, 280 => 0x83bb },
-	'iptcbitspersample' => { 117 => 0x56 },
-	'iptcdigest' => { 324 => 0x425 },
-	'iptcimageheight' => { 117 => 0x1e },
-	'iptcimagerotation' => { 117 => 0x66 },
-	'iptcimagewidth' => { 117 => 0x14 },
-	'iptclastedited' => { 418 => 'IptcLastEdited' },
-	'iptcpicturenumber' => { 117 => 0xa },
-	'iptcpixelheight' => { 117 => 0x32 },
-	'iptcpixelwidth' => { 117 => 0x28 },
-	'isalternativeof' => { 422 => 'isAlternativeOf' },
-	'isbn' => { 422 => 'isbn' },
-	'iscorrectionof' => { 422 => 'isCorrectionOf' },
-	'iscustompicturestyle' => { 98 => 0x3 },
-	'ismergedhdr' => { 404 => 'IsMergedHDR' },
-	'ismergedpanorama' => { 404 => 'IsMergedPanorama' },
-	'iso' => { 6 => 0x6, 8 => 0x6, 9 => 0x75, 10 => 0x6, 11 => 0x79, 12 => 0x6, 13 => 0x6, 14 => 0x6, 15 => 0x6, 16 => 0x6, 17 => 0x6, 18 => 0x6, 19 => 0x6, 20 => 0x6, 21 => 0x6, 22 => 0x6, 23 => 0x6, 24 => 0x6, 25 => 0x6, 26 => 0x6, 27 => 0x0, 28 => 0x1, 101 => 0x14, 102 => [0x3014,0x14], 107 => 0x8827, 120 => 0xfd06, 121 => 0x1784, 123 => 0x60, 125 => [0xfa2e,0xfa46], 126 => [0x27,0x28], 127 => 0xf105, 130 => 0x14, 132 => 0x4e, 135 => 0x34, 137 => 'ISO', 159 => 0x8, 165 => 0x49ba, 190 =>  [...]
-	'iso2' => { 190 => 0x6, 205 => 0x265, 206 => 0x25c, 207 => 0x265, 208 => 0x221, 209 => 0x25d, 210 => 0x256, 211 => 0x25d, 215 => 0x2b5, 218 => 0x265, 223 => 0x2b5 },
-	'isoauto' => { 291 => '14.4' },
-	'isoautohilimit' => { 213 => 0x18eb, 214 => 0xe82, 222 => 0x185d },
-	'isoautoparameters' => { 310 => 0x7a },
-	'isoautoshuttertime' => { 213 => 0x18ea, 214 => 0xe81, 222 => 0x185c },
-	'isodisplay' => { 244 => '4.1', 245 => '2.3', 246 => '3.3', 247 => '3.3', 249 => '3.3', 252 => '4.3', 253 => '4.3' },
-	'isoexpansion' => { 73 => 0x103, 74 => 0x7, 75 => 0x8, 78 => 0x8, 190 => 0x4 },
-	'isoexpansion2' => { 190 => 0xa },
-	'isofloor' => { 291 => 0x6 },
-	'isoselection' => { 196 => 0xf },
-	'isosensitivitystep' => { 249 => '6.2' },
-	'isosetting' => { 123 => 0x5e, 137 => 'ISOSetting', 159 => 0x24, 160 => 0x26, 161 => 0x1c, 162 => 0x13, 167 => 0x6, 196 => 0x13, 291 => '17.3', 334 => 0x27, 352 => 0x16, 353 => 0x14, 354 => 0x2, 363 => 0x6d },
-	'isospeed' => { 107 => 0x8833, 413 => 'ISOSpeed' },
-	'isospeedexpansion' => { 72 => 0x3 },
-	'isospeedincrements' => { 73 => 0x102 },
-	'isospeedlatitudeyyy' => { 107 => 0x8834, 413 => 'ISOSpeedLatitudeyyy' },
-	'isospeedlatitudezzz' => { 107 => 0x8835, 413 => 'ISOSpeedLatitudezzz' },
-	'isospeedrange' => { 73 => 0x103 },
-	'isostepsize' => { 241 => '6.1', 242 => '7.2', 244 => '7.2', 248 => '4.1', 252 => '7.2' },
-	'isovalue' => { 260 => 0x1001 },
-	'issn' => { 422 => 'issn' },
-	'issueidentifier' => { 422 => 'issueIdentifier' },
-	'issuename' => { 422 => 'issueName' },
-	'issueteaser' => { 422 => 'issueTeaser' },
-	'issuetype' => { 422 => 'issueType' },
-	'istranslationof' => { 422 => 'isTranslationOf' },
-	'jobid' => { 115 => 0xb8 },
-	'jobname' => { 414 => 'JobName' },
-	'jobref' => { 431 => 'JobRef' },
-	'jobrefid' => { 431 => [\'JobRef','JobRefId'] },
-	'jobrefname' => { 431 => [\'JobRef','JobRefName'] },
-	'jobrefurl' => { 431 => [\'JobRef','JobRefUrl'] },
-	'jobstatus' => { 414 => 'JobStatus' },
-	'jpeghandling' => { 408 => 'JPEGHandling' },
-	'jpegquality' => { 9 => 0x66, 278 => 0x3034, 364 => 0xb047 },
-	'jpegsize' => { 278 => 0x303a },
-	'jpgcompression' => { 214 => 0x7d4 },
-	'jpgfromraw' => { 86 => 0x2007, 103 => 'JpgFromRaw', 280 => 0x2e },
-	'jpgfromrawlength' => { 107 => [0x117,0x202] },
-	'jpgfromrawstart' => { 107 => [0x111,0x201] },
-	'jpgrecordedpixels' => { 291 => '14.1' },
-	'jurisdiction' => { 405 => 'jurisdiction' },
-	'kelvinwb_01' => { 299 => 0x5 },
-	'kelvinwb_02' => { 299 => 0x9 },
-	'kelvinwb_03' => { 299 => 0xd },
-	'kelvinwb_04' => { 299 => 0x11 },
-	'kelvinwb_05' => { 299 => 0x15 },
-	'kelvinwb_06' => { 299 => 0x19 },
-	'kelvinwb_07' => { 299 => 0x1d },
-	'kelvinwb_08' => { 299 => 0x21 },
-	'kelvinwb_09' => { 299 => 0x25 },
-	'kelvinwb_10' => { 299 => 0x29 },
-	'kelvinwb_11' => { 299 => 0x2d },
-	'kelvinwb_12' => { 299 => 0x31 },
-	'kelvinwb_13' => { 299 => 0x35 },
-	'kelvinwb_14' => { 299 => 0x39 },
-	'kelvinwb_15' => { 299 => 0x3d },
-	'kelvinwb_16' => { 299 => 0x41 },
-	'kelvinwb_daylight' => { 299 => 0x1 },
-	'key' => { 432 => 'key' },
-	'keystonecompensation' => { 259 => 0x1900 },
-	'keystonedirection' => { 259 => 0x1901 },
-	'keystonevalue' => { 259 => 0x1906 },
-	'keyword' => { 422 => 'keyword' },
-	'keywordinfo' => { 152 => 'Keywords' },
-	'keywords' => { 115 => 0x19, 138 => 'Keywords', 264 => 'Keywords', 326 => 'Keywords', 402 => 'keywords', 419 => 'Keywords', 430 => 'Keywords' },
-	'killdate' => { 422 => 'killDate' },
-	'killdatea-platform' => { 422 => [\'killDate','killDateA-platform'] },
-	'killdatedate' => { 422 => [\'killDate','killDateDate'] },
-	'kodakimageheight' => { 120 => 0xf908, 123 => 0xe, 125 => [0xfa1e,0xfa52], 131 => 0x70 },
-	'kodakimagewidth' => { 120 => 0xf907, 123 => 0xc, 125 => [0xfa1d,0xfa51], 131 => 0x6c },
-	'kodakinfotype' => { 120 => 0xfa00 },
-	'kodaklook' => { 121 => 0xe4c },
-	'kodaklookprofile' => { 121 => 0x138a },
-	'kodakmaker' => { 131 => 0x8 },
-	'kodakmodel' => { 123 => 0x0, 131 => 0x28 },
-	'label' => { 268 => 'Label', 430 => 'Label' },
-	'labelname1' => { 416 => [\'TagStructure','TagStructureLabelName'] },
-	'labelname2' => { 416 => [\'TagStructure','TagStructureSubLabelsLabelName'] },
-	'labelname3' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsLabelName'] },
-	'labelname4' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsLabelName'] },
-	'labelname5' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] },
-	'labelname6' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] },
-	'landmark' => { 276 => 0x6f },
-	'landscapeoutputhighlightpoint' => { 98 => 0x26 },
-	'landscapeoutputshadowpoint' => { 98 => 0x27 },
-	'landscaperawcolortone' => { 98 => 0x1f },
-	'landscaperawcontrast' => { 98 => 0x21 },
-	'landscaperawhighlight' => { 98 => 0x77 },
-	'landscaperawhighlightpoint' => { 98 => 0x24 },
-	'landscaperawlinear' => { 98 => 0x22 },
-	'landscaperawsaturation' => { 98 => 0x20 },
-	'landscaperawshadow' => { 98 => 0x80 },
-	'landscaperawshadowpoint' => { 98 => 0x25 },
-	'landscaperawsharpness' => { 98 => 0x23 },
-	'landscapeunsharpmaskfineness' => { 98 => 0xa0 },
-	'landscapeunsharpmaskstrength' => { 98 => 0x9e },
-	'landscapeunsharpmaskthreshold' => { 98 => 0xa2 },
-	'language' => { 409 => 'language' },
-	'languageidentifier' => { 115 => 0x87 },
-	'largestvalidinteriorrectheight' => { 397 => 'LargestValidInteriorRectHeight' },
-	'largestvalidinteriorrectleft' => { 397 => 'LargestValidInteriorRectLeft' },
-	'largestvalidinteriorrecttop' => { 397 => 'LargestValidInteriorRectTop' },
-	'largestvalidinteriorrectwidth' => { 397 => 'LargestValidInteriorRectWidth' },
-	'lastfilenumber' => { 159 => 0x1b },
-	'lastkeywordiptc' => { 157 => 'LastKeywordIPTC' },
-	'lastkeywordxmp' => { 157 => 'LastKeywordXMP' },
-	'lastphotodate' => { 397 => 'LastPhotoDate' },
-	'lasturl' => { 433 => 'LastURL' },
-	'lateralchromaticaberration' => { 364 => 0x2012 },
-	'lateralchromaticaberrationcorrectionalreadyapplied' => { 404 => 'LateralChromaticAberrationCorrectionAlreadyApplied' },
-	'latestageorhigheststage' => { 106 => [\'GeologicalContext','GeologicalContextLatestAgeOrHighestStage'] },
-	'latesteonorhighesteonothem' => { 106 => [\'GeologicalContext','GeologicalContextLatestEonOrHighestEonothem'] },
-	'latestepochorhighestseries' => { 106 => [\'GeologicalContext','GeologicalContextLatestEpochOrHighestSeries'] },
-	'latesteraorhighesterathem' => { 106 => [\'GeologicalContext','GeologicalContextLatestEraOrHighestErathem'] },
-	'latestperiodorhighestsystem' => { 106 => [\'GeologicalContext','GeologicalContextLatestPeriodOrHighestSystem'] },
-	'lc1' => { 301 => 0x2 },
-	'lc10' => { 301 => 0xb },
-	'lc11' => { 301 => 0xc },
-	'lc12' => { 301 => 0xd },
-	'lc14' => { 301 => 0xf },
-	'lc15' => { 301 => 0x10 },
-	'lc3' => { 301 => 0x4 },
-	'lc4' => { 301 => 0x5 },
-	'lc5' => { 301 => 0x6 },
-	'lc6' => { 301 => 0x7 },
-	'lc7' => { 301 => 0x8 },
-	'lc8' => { 301 => 0x9 },
-	'lcddisplayatpoweron' => { 73 => 0x811, 77 => 0xa },
-	'lcddisplayreturntoshoot' => { 78 => 0x12 },
-	'lcdillumination' => { 241 => '17.5', 242 => '5.2', 244 => '5.1', 248 => '10.3', 249 => '4.2', 252 => '5.2', 253 => '5.4' },
-	'lcdilluminationduringbulb' => { 73 => 0x408 },
-	'lcdpanels' => { 72 => 0x8 },
-	'lcheditor' => { 234 => 0x8ae85e },
-	'legacyiptcdigest' => { 420 => 'LegacyIPTCDigest' },
-	'legalcode' => { 405 => 'legalcode' },
-	'lens' => { 107 => 0xfdea, 196 => 0x84, 404 => 'Lens' },
-	'lensafstopbutton' => { 71 => 0x11, 72 => 0x13, 73 => 0x506, 74 => 0x10, 75 => 0x12, 78 => 0x13, 79 => 0x9 },
-	'lensaperturerange' => { 344 => [0x30,0x48] },
-	'lenscorrectionsettings' => { 411 => 'LensCorrectionSettings' },
-	'lensdistortinfo' => { 404 => 'LensDistortInfo' },
-	'lensdistortionparams' => { 260 => 0x206 },
-	'lensdrivenoaf' => { 73 => 0x505 },
+	'initialcameradolly' => { 402 => 'InitialCameraDolly' },
+	'initialhorizontalfovdegrees' => { 402 => 'InitialHorizontalFOVDegrees' },
+	'initialviewheadingdegrees' => { 402 => 'InitialViewHeadingDegrees' },
+	'initialviewpitchdegrees' => { 402 => 'InitialViewPitchDegrees' },
+	'initialviewrolldegrees' => { 402 => 'InitialViewRollDegrees' },
+	'initialzoomliveview' => { 243 => '4.4' },
+	'initialzoomsetting' => { 243 => '9.3', 252 => '27.3' },
+	'inkset' => { 109 => 0x14c },
+	'inputprofile' => { 123 => 0x1389 },
+	'instanceid' => { 438 => 'InstanceID' },
+	'instantplaybacksetup' => { 164 => 0x3e },
+	'instantplaybacktime' => { 164 => 0x3d },
+	'instructions' => { 425 => 'Instructions' },
+	'instrument' => { 437 => 'instrument' },
+	'intellectualgenre' => { 422 => 'IntellectualGenre' },
+	'intelligentauto' => { 369 => 0xb052 },
+	'intelligentcontrast' => { 46 => 0x4 },
+	'intelligentd-range' => { 280 => 0x79 },
+	'intelligentexposure' => { 280 => 0x5d },
+	'intelligentresolution' => { 280 => 0x70 },
+	'interchangecolorspace' => { 119 => 0x40 },
+	'internalflash' => { 161 => 0x2b, 243 => '23.1', 245 => '8.1', 248 => '22.1', 250 => '23.1', 254 => '8.1', 257 => '24.1', 262 => 0x1208 },
+	'internalflashae1' => { 264 => 0x1021 },
+	'internalflashae1_0' => { 264 => 0x101d },
+	'internalflashae2' => { 264 => 0x1022 },
+	'internalflashae2_0' => { 264 => 0x101e },
+	'internalflashmode' => { 302 => 0x1 },
+	'internalflashstrength' => { 302 => 0x3 },
+	'internalflashtable' => { 264 => 0x1024 },
+	'internallensserialnumber' => { 346 => 0xa005 },
+	'internalndfilter' => { 280 => 0x9d },
+	'internalserialnumber' => { 57 => 0x96, 68 => 0x9, 114 => 0x10, 167 => 0x49dc, 258 => 0x18, 260 => 0x102, 280 => 0x25, 294 => 0x4, 339 => 0x5, 385 => [0x7c,0x88,0xf0] },
+	'interopindex' => { 109 => 0x1, 418 => 'InteroperabilityIndex' },
+	'interopversion' => { 109 => 0x2 },
+	'intervallength' => { 161 => 0x10 },
+	'intervalmode' => { 161 => 0x26 },
+	'intervalnumber' => { 161 => 0x11 },
+	'introtime' => { 437 => 'introTime' },
+	'introtimescale' => { 437 => [\'introTime','introTimeScale'] },
+	'introtimevalue' => { 437 => [\'introTime','introTimeValue'] },
+	'iptc' => { 110 => 'IPTC' },
+	'iptc-naa' => { 109 => 0x83bb, 284 => 0x83bb },
+	'iptcbitspersample' => { 119 => 0x56 },
+	'iptcdigest' => { 328 => 0x425 },
+	'iptcimageheight' => { 119 => 0x1e },
+	'iptcimagerotation' => { 119 => 0x66 },
+	'iptcimagewidth' => { 119 => 0x14 },
+	'iptclastedited' => { 423 => 'IptcLastEdited' },
+	'iptcpicturenumber' => { 119 => 0xa },
+	'iptcpixelheight' => { 119 => 0x32 },
+	'iptcpixelwidth' => { 119 => 0x28 },
+	'isalternativeof' => { 427 => 'isAlternativeOf' },
+	'isbn' => { 427 => 'isbn' },
+	'iscorrectionof' => { 427 => 'isCorrectionOf' },
+	'iscustompicturestyle' => { 100 => 0x3 },
+	'ismergedhdr' => { 409 => 'IsMergedHDR' },
+	'ismergedpanorama' => { 409 => 'IsMergedPanorama' },
+	'iso' => { 6 => 0x6, 8 => 0x6, 9 => 0x75, 10 => 0x6, 11 => 0x79, 12 => 0x6, 13 => 0x6, 14 => 0x6, 15 => 0x6, 16 => 0x6, 17 => 0x6, 18 => 0x6, 19 => 0x6, 20 => 0x6, 21 => 0x6, 22 => 0x6, 23 => 0x6, 24 => 0x6, 25 => 0x6, 26 => 0x6, 27 => 0x6, 28 => 0x6, 29 => 0x0, 30 => 0x1, 103 => 0x14, 104 => [0x3014,0x14], 109 => 0x8827, 122 => 0xfd06, 123 => 0x1784, 125 => 0x60, 127 => [0xfa2e,0xfa46], 128 => [0x27,0x28], 129 => 0xf105, 132 => 0x14, 134 => 0x4e, 137 => 0x34, 139 => 'ISO', 161 => 0x8,  [...]
+	'iso2' => { 192 => 0x6, 207 => 0x265, 208 => 0x25c, 209 => 0x265, 210 => 0x221, 211 => 0x25d, 212 => 0x256, 213 => 0x25d, 217 => 0x2b5, 220 => 0x265, 225 => 0x2b5 },
+	'isoauto' => { 295 => '14.4' },
+	'isoautohilimit' => { 215 => 0x18eb, 216 => 0xe82, 224 => 0x185d },
+	'isoautoparameters' => { 314 => 0x7a },
+	'isoautoshuttertime' => { 215 => 0x18ea, 216 => 0xe81, 224 => 0x185c },
+	'isodisplay' => { 246 => '4.1', 247 => '4.1', 248 => '2.3', 249 => '3.3', 250 => '3.3', 253 => '3.3', 256 => '4.3', 257 => '4.3' },
+	'isoexpansion' => { 75 => 0x103, 76 => 0x7, 77 => 0x8, 80 => 0x8, 192 => 0x4 },
+	'isoexpansion2' => { 192 => 0xa },
+	'isofloor' => { 295 => 0x6 },
+	'isoselection' => { 198 => 0xf },
+	'isosensitivitystep' => { 251 => '6.2', 253 => '6.2' },
+	'isosetting' => { 125 => 0x5e, 139 => 'ISOSetting', 161 => 0x24, 162 => 0x26, 163 => 0x1c, 164 => 0x13, 169 => 0x6, 198 => 0x13, 295 => '17.3', 338 => 0x27, 357 => 0x16, 358 => 0x14, 359 => 0x2, 368 => 0x6d },
+	'isospeed' => { 109 => 0x8833, 418 => 'ISOSpeed' },
+	'isospeedexpansion' => { 74 => 0x3 },
+	'isospeedincrements' => { 75 => 0x102 },
+	'isospeedlatitudeyyy' => { 109 => 0x8834, 418 => 'ISOSpeedLatitudeyyy' },
+	'isospeedlatitudezzz' => { 109 => 0x8835, 418 => 'ISOSpeedLatitudezzz' },
+	'isospeedrange' => { 75 => 0x103 },
+	'isostepsize' => { 243 => '6.1', 244 => '7.2', 246 => '7.2', 247 => '7.2', 252 => '4.1', 256 => '7.2' },
+	'isovalue' => { 264 => 0x1001 },
+	'issn' => { 427 => 'issn' },
+	'issueidentifier' => { 427 => 'issueIdentifier' },
+	'issuename' => { 427 => 'issueName' },
+	'issueteaser' => { 427 => 'issueTeaser' },
+	'issuetype' => { 427 => 'issueType' },
+	'istranslationof' => { 427 => 'isTranslationOf' },
+	'jobid' => { 117 => 0xb8 },
+	'jobname' => { 419 => 'JobName' },
+	'jobref' => { 436 => 'JobRef' },
+	'jobrefid' => { 436 => [\'JobRef','JobRefId'] },
+	'jobrefname' => { 436 => [\'JobRef','JobRefName'] },
+	'jobrefurl' => { 436 => [\'JobRef','JobRefUrl'] },
+	'jobstatus' => { 419 => 'JobStatus' },
+	'jpeghandling' => { 413 => 'JPEGHandling' },
+	'jpegquality' => { 9 => 0x66, 282 => 0x3034, 369 => 0xb047 },
+	'jpegsize' => { 282 => 0x303a },
+	'jpgcompression' => { 216 => 0x7d4 },
+	'jpgfromraw' => { 88 => 0x2007, 105 => 'JpgFromRaw', 284 => 0x2e },
+	'jpgfromrawlength' => { 109 => [0x117,0x202] },
+	'jpgfromrawstart' => { 109 => [0x111,0x201] },
+	'jpgrecordedpixels' => { 295 => '14.1' },
+	'jurisdiction' => { 410 => 'jurisdiction' },
+	'kelvinwb_01' => { 303 => 0x5 },
+	'kelvinwb_02' => { 303 => 0x9 },
+	'kelvinwb_03' => { 303 => 0xd },
+	'kelvinwb_04' => { 303 => 0x11 },
+	'kelvinwb_05' => { 303 => 0x15 },
+	'kelvinwb_06' => { 303 => 0x19 },
+	'kelvinwb_07' => { 303 => 0x1d },
+	'kelvinwb_08' => { 303 => 0x21 },
+	'kelvinwb_09' => { 303 => 0x25 },
+	'kelvinwb_10' => { 303 => 0x29 },
+	'kelvinwb_11' => { 303 => 0x2d },
+	'kelvinwb_12' => { 303 => 0x31 },
+	'kelvinwb_13' => { 303 => 0x35 },
+	'kelvinwb_14' => { 303 => 0x39 },
+	'kelvinwb_15' => { 303 => 0x3d },
+	'kelvinwb_16' => { 303 => 0x41 },
+	'kelvinwb_daylight' => { 303 => 0x1 },
+	'key' => { 437 => 'key' },
+	'keystonecompensation' => { 263 => 0x1900 },
+	'keystonedirection' => { 263 => 0x1901 },
+	'keystonevalue' => { 263 => 0x1906 },
+	'keyword' => { 427 => 'keyword' },
+	'keywordinfo' => { 154 => 'Keywords' },
+	'keywords' => { 117 => 0x19, 140 => 'Keywords', 268 => 'Keywords', 330 => 'Keywords', 407 => 'keywords', 424 => 'Keywords', 435 => 'Keywords' },
+	'killdate' => { 427 => 'killDate' },
+	'killdatea-platform' => { 427 => [\'killDate','killDateA-platform'] },
+	'killdatedate' => { 427 => [\'killDate','killDateDate'] },
+	'kodakimageheight' => { 122 => 0xf908, 125 => 0xe, 127 => [0xfa1e,0xfa52], 133 => 0x70 },
+	'kodakimagewidth' => { 122 => 0xf907, 125 => 0xc, 127 => [0xfa1d,0xfa51], 133 => 0x6c },
+	'kodakinfotype' => { 122 => 0xfa00 },
+	'kodaklook' => { 123 => 0xe4c },
+	'kodaklookprofile' => { 123 => 0x138a },
+	'kodakmaker' => { 133 => 0x8 },
+	'kodakmodel' => { 125 => 0x0, 133 => 0x28 },
+	'label' => { 272 => 'Label', 435 => 'Label' },
+	'labelname1' => { 421 => [\'TagStructure','TagStructureLabelName'] },
+	'labelname2' => { 421 => [\'TagStructure','TagStructureSubLabelsLabelName'] },
+	'labelname3' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsLabelName'] },
+	'labelname4' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsLabelName'] },
+	'labelname5' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] },
+	'labelname6' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsLabelName'] },
+	'landmark' => { 280 => 0x6f },
+	'landscapeoutputhighlightpoint' => { 100 => 0x26 },
+	'landscapeoutputshadowpoint' => { 100 => 0x27 },
+	'landscaperawcolortone' => { 100 => 0x1f },
+	'landscaperawcontrast' => { 100 => 0x21 },
+	'landscaperawhighlight' => { 100 => 0x77 },
+	'landscaperawhighlightpoint' => { 100 => 0x24 },
+	'landscaperawlinear' => { 100 => 0x22 },
+	'landscaperawsaturation' => { 100 => 0x20 },
+	'landscaperawshadow' => { 100 => 0x80 },
+	'landscaperawshadowpoint' => { 100 => 0x25 },
+	'landscaperawsharpness' => { 100 => 0x23 },
+	'landscapeunsharpmaskfineness' => { 100 => 0xa0 },
+	'landscapeunsharpmaskstrength' => { 100 => 0x9e },
+	'landscapeunsharpmaskthreshold' => { 100 => 0xa2 },
+	'language' => { 414 => 'language' },
+	'languageidentifier' => { 117 => 0x87 },
+	'largestvalidinteriorrectheight' => { 402 => 'LargestValidInteriorRectHeight' },
+	'largestvalidinteriorrectleft' => { 402 => 'LargestValidInteriorRectLeft' },
+	'largestvalidinteriorrecttop' => { 402 => 'LargestValidInteriorRectTop' },
+	'largestvalidinteriorrectwidth' => { 402 => 'LargestValidInteriorRectWidth' },
+	'lastfilenumber' => { 161 => 0x1b },
+	'lastkeywordiptc' => { 159 => 'LastKeywordIPTC' },
+	'lastkeywordxmp' => { 159 => 'LastKeywordXMP' },
+	'lastphotodate' => { 402 => 'LastPhotoDate' },
+	'lasturl' => { 438 => 'LastURL' },
+	'lateralchromaticaberration' => { 369 => 0x2012 },
+	'lateralchromaticaberrationcorrectionalreadyapplied' => { 409 => 'LateralChromaticAberrationCorrectionAlreadyApplied' },
+	'latestageorhigheststage' => { 108 => [\'GeologicalContext','GeologicalContextLatestAgeOrHighestStage'] },
+	'latesteonorhighesteonothem' => { 108 => [\'GeologicalContext','GeologicalContextLatestEonOrHighestEonothem'] },
+	'latestepochorhighestseries' => { 108 => [\'GeologicalContext','GeologicalContextLatestEpochOrHighestSeries'] },
+	'latesteraorhighesterathem' => { 108 => [\'GeologicalContext','GeologicalContextLatestEraOrHighestErathem'] },
+	'latestperiodorhighestsystem' => { 108 => [\'GeologicalContext','GeologicalContextLatestPeriodOrHighestSystem'] },
+	'lc1' => { 305 => 0x2 },
+	'lc10' => { 305 => 0xb },
+	'lc11' => { 305 => 0xc },
+	'lc12' => { 305 => 0xd },
+	'lc14' => { 305 => 0xf },
+	'lc15' => { 305 => 0x10 },
+	'lc3' => { 305 => 0x4 },
+	'lc4' => { 305 => 0x5 },
+	'lc5' => { 305 => 0x6 },
+	'lc6' => { 305 => 0x7 },
+	'lc7' => { 305 => 0x8 },
+	'lc8' => { 305 => 0x9 },
+	'lcddisplayatpoweron' => { 75 => 0x811, 79 => 0xa },
+	'lcddisplayreturntoshoot' => { 80 => 0x12 },
+	'lcdillumination' => { 243 => '17.5', 244 => '5.2', 246 => '5.1', 247 => '5.1', 252 => '10.3', 253 => '4.2', 256 => '5.2', 257 => '5.4' },
+	'lcdilluminationduringbulb' => { 75 => 0x408 },
+	'lcdpanels' => { 74 => 0x8 },
+	'lcheditor' => { 236 => 0x8ae85e },
+	'legacyiptcdigest' => { 425 => 'LegacyIPTCDigest' },
+	'legalcode' => { 410 => 'legalcode' },
+	'lens' => { 109 => 0xfdea, 198 => 0x84, 409 => 'Lens' },
+	'lensafstopbutton' => { 73 => 0x11, 74 => 0x13, 75 => 0x506, 76 => 0x10, 77 => 0x12, 80 => 0x13, 81 => 0x9 },
+	'lensaperturerange' => { 349 => [0x30,0x48] },
+	'lenscorrectionsettings' => { 416 => 'LensCorrectionSettings' },
+	'lensdistortinfo' => { 409 => 'LensDistortInfo' },
+	'lensdistortionparams' => { 264 => 0x206 },
+	'lensdrivenoaf' => { 75 => 0x505 },
 	'lensdrivewhenafimpossible' => { 2 => 0xb },
-	'lense-mountversion' => { 354 => 0x3f0, 392 => 0xd },
-	'lensfirmware' => { 336 => 0x20, 341 => 0xa004 },
-	'lensfirmwareversion' => { 256 => 0x204, 276 => 0x60, 354 => 0x3f4, 392 => 0x15 },
-	'lensfocallength' => { 92 => 0xf0512, 301 => 0x9 },
-	'lensfocalrange' => { 344 => [0xa,0x2a] },
-	'lensfocusfunctionbuttons' => { 242 => '55.1', 244 => '52.1', 252 => '52.1' },
-	'lensformat' => { 375 => 0x1891, 377 => 0x18bd, 378 => 0x18ed, 380 => 0x106, 388 => 0x603, 389 => 0x5d },
-	'lensfstops' => { 191 => 0x7, 192 => 0xc, 193 => 0xd, 196 => 0x8b, 301 => '0.3' },
-	'lensid' => { 404 => 'LensID' },
-	'lensidnumber' => { 191 => 0x6, 192 => 0xb, 193 => 0xc },
-	'lensinfo' => { 107 => 0xa432, 307 => 0x2a, 404 => 'LensInfo', 413 => 'LensSpecification' },
-	'lenskind' => { 301 => 0x1 },
-	'lensmake' => { 107 => 0xa433, 144 => 'Make', 413 => 'LensMake' },
-	'lensmanualdistortionamount' => { 408 => 'LensManualDistortionAmount' },
-	'lensmanufacturer' => { 157 => 'LensManufacturer' },
-	'lensmaxaperturerange' => { 344 => 0x2b },
-	'lensmodel' => { 6 => 0x937, 13 => 0x92b, 14 => 0x933, 55 => 0x95, 107 => 0xa434, 144 => 'Model', 157 => 'LensModel', 194 => 0x18a, 256 => 0x203, 274 => 0x303, 307 => 0xc, 319 => 0x412, 413 => 'LensModel' },
-	'lensmount' => { 354 => 0x99, 375 => 0x1892, 377 => 0x18be, 378 => 0x18ee, 380 => 0x105, 388 => 0x604, 389 => 0x5e },
-	'lensmount2' => { 392 => 0x8 },
-	'lensparameters' => { 372 => 0x1a23, 375 => 0x1870, 377 => 0x189c, 378 => 0x18cc, 388 => 0x6ca, 389 => 0x64 },
-	'lensprofilechromaticaberrationscale' => { 408 => 'LensProfileChromaticAberrationScale' },
-	'lensprofiledigest' => { 408 => 'LensProfileDigest' },
-	'lensprofiledistortionscale' => { 408 => 'LensProfileDistortionScale' },
-	'lensprofileenable' => { 408 => 'LensProfileEnable' },
-	'lensprofilefilename' => { 408 => 'LensProfileFilename' },
-	'lensprofilematchkeycameramodelname' => { 408 => 'LensProfileMatchKeyCameraModelName' },
-	'lensprofilematchkeyexifmake' => { 408 => 'LensProfileMatchKeyExifMake' },
-	'lensprofilematchkeyexifmodel' => { 408 => 'LensProfileMatchKeyExifModel' },
-	'lensprofilematchkeyisraw' => { 408 => 'LensProfileMatchKeyIsRaw' },
-	'lensprofilematchkeylensid' => { 408 => 'LensProfileMatchKeyLensID' },
-	'lensprofilematchkeylensinfo' => { 408 => 'LensProfileMatchKeyLensInfo' },
-	'lensprofilematchkeylensname' => { 408 => 'LensProfileMatchKeyLensName' },
-	'lensprofilematchkeysensorformatfactor' => { 408 => 'LensProfileMatchKeySensorFormatFactor' },
-	'lensprofilename' => { 408 => 'LensProfileName' },
-	'lensprofilesetup' => { 408 => 'LensProfileSetup' },
-	'lensprofilevignettingscale' => { 408 => 'LensProfileVignettingScale' },
-	'lensproperties' => { 256 => 0x20b },
-	'lensserialnumber' => { 20 => 0x164, 29 => 0x16b, 53 => 0x0, 107 => 0xa435, 144 => 'SerialNumber', 256 => 0x202, 276 => 0x52, 336 => 0x30, 404 => 'LensSerialNumber', 413 => 'LensSerialNumber' },
-	'lensshutterlock' => { 162 => 0x4a },
-	'lensspec' => { 349 => 0x0, 350 => 0x0, 351 => 0x0, 364 => 0xb02a },
-	'lensspecfeatures' => { 380 => [0x115,0x116] },
-	'lenstemperature' => { 260 => 0x1008 },
-	'lenstype' => { 6 => 0xe2, 7 => 0xd, 8 => 0x1a7, 9 => 0xc, 10 => 0x111, 11 => 0xc, 12 => 0x14f, 13 => 0xd6, 14 => 0xde, 15 => 0xf6, 16 => 0xea, 17 => 0xff, 18 => [0xc,0x97], 19 => 0xe6, 20 => 0x153, 21 => 0xea, 22 => 0xe8, 23 => 0x127, 24 => 0x161, 25 => 0x166, 26 => 0x112, 31 => 0x16, 164 => 0x10c, 165 => 0x49bd, 196 => 0x83, 256 => 0x201, 269 => 0x16, 272 => 0x310, 275 => 0x303, 276 => 0x51, 278 => 0x3405, 302 => 0x0, 303 => 0x0, 304 => 0x1, 305 => 0x1, 306 => 0x1, 308 => 0x0, 341 =>  [...]
-	'lenstype2' => { 354 => 0x3f7, 375 => 0x1893, 377 => 0x18bf, 378 => 0x18ef, 380 => 0x107, 388 => 0x605, 389 => 0x60 },
-	'lenstype3' => { 392 => 0x9 },
-	'lenszoomposition' => { 386 => 0x19, 387 => 0x1e, 389 => [0x342,0x35a] },
-	'levelindicator' => { 283 => 0x15 },
-	'levelorientation' => { 309 => 0x0 },
-	'license' => { 405 => 'license' },
-	'licensee' => { 265 => 'Licensee' },
-	'licenseeid' => { 265 => [\'Licensee','LicenseeLicenseeID'] },
-	'licenseeimageid' => { 265 => 'LicenseeImageID' },
-	'licenseeimagenotes' => { 265 => 'LicenseeImageNotes' },
-	'licenseename' => { 265 => [\'Licensee','LicenseeLicenseeName'] },
-	'licenseenddate' => { 265 => 'LicenseEndDate' },
-	'licenseeprojectreference' => { 265 => 'LicenseeProjectReference' },
-	'licenseetransactionid' => { 265 => 'LicenseeTransactionID' },
-	'licenseid' => { 265 => 'LicenseID' },
-	'licensestartdate' => { 265 => 'LicenseStartDate' },
-	'licensetransactiondate' => { 265 => 'LicenseTransactionDate' },
-	'licensetype' => { 410 => 'licensetype' },
-	'licensor' => { 265 => 'Licensor' },
-	'licensorcity' => { 265 => [\'Licensor','LicensorLicensorCity'] },
-	'licensorcountry' => { 265 => [\'Licensor','LicensorLicensorCountry'] },
-	'licensoremail' => { 265 => [\'Licensor','LicensorLicensorEmail'] },
-	'licensorextendedaddress' => { 265 => [\'Licensor','LicensorLicensorExtendedAddress'] },
-	'licensorid' => { 265 => [\'Licensor','LicensorLicensorID'] },
-	'licensorimageid' => { 265 => 'LicensorImageID' },
-	'licensorname' => { 265 => [\'Licensor','LicensorLicensorName'] },
-	'licensornotes' => { 265 => 'LicensorNotes' },
-	'licensorpostalcode' => { 265 => [\'Licensor','LicensorLicensorPostalCode'] },
-	'licensorregion' => { 265 => [\'Licensor','LicensorLicensorRegion'] },
-	'licensorstreetaddress' => { 265 => [\'Licensor','LicensorLicensorStreetAddress'] },
-	'licensortelephone1' => { 265 => [\'Licensor','LicensorLicensorTelephone1'] },
-	'licensortelephone2' => { 265 => [\'Licensor','LicensorLicensorTelephone2'] },
-	'licensortelephonetype1' => { 265 => [\'Licensor','LicensorLicensorTelephoneType1'] },
-	'licensortelephonetype2' => { 265 => [\'Licensor','LicensorLicensorTelephoneType2'] },
-	'licensortransactionid' => { 265 => 'LicensorTransactionID' },
-	'licensorurl' => { 265 => [\'Licensor','LicensorLicensorURL'] },
-	'lightcondition' => { 260 => 0x1009 },
-	'lightingmode' => { 102 => 0x302a },
-	'lightreading' => { 310 => 0x15 },
-	'lightsource' => { 107 => 0x9208, 196 => 0x90, 263 => 0x1000, 412 => 'LightSource' },
-	'lightsourcespecial' => { 343 => 0x21d },
-	'lightswitch' => { 252 => '0.1', 253 => '0.1' },
-	'lightvaluecenter' => { 260 => 0x103d },
-	'lightvalueperiphery' => { 260 => 0x103e },
-	'limitafareamodeselection' => { 242 => '51.1', 244 => '49.1', 252 => '49.1' },
-	'linearitylimitblue' => { 280 => 0x10 },
-	'linearitylimitgreen' => { 280 => 0xf },
-	'linearitylimitred' => { 280 => 0xe },
-	'linearityuppermargin' => { 38 => [0x2ba,0x2d1,0x2d5], 40 => 0x1e5, 41 => [0x1fe,0x2de], 42 => [0x232,0x310] },
-	'linearizationtable' => { 107 => 0xc618 },
-	'linearresponselimit' => { 107 => 0xc62e },
-	'link' => { 422 => 'link' },
-	'linkaetoafpoint' => { 291 => '14.2' },
-	'linkedencodedrightsexpr' => { 418 => [\'LinkedEncRightsExpr','LinkedEncRightsExprLinkedRightsExpr'] },
-	'linkedencodedrightsexprlangid' => { 418 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprLangId'] },
-	'linkedencodedrightsexprtype' => { 418 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprEncType'] },
-	'linkedencrightsexpr' => { 418 => 'LinkedEncRightsExpr' },
-	'lithostratigraphicterms' => { 106 => [\'GeologicalContext','GeologicalContextLithostratigraphicTerms'] },
-	'liveviewaf' => { 245 => '32.1', 253 => '34.1' },
-	'liveviewafareamode' => { 249 => '34.1' },
-	'liveviewafmethod' => { 368 => 0x20 },
-	'liveviewafmode' => { 249 => '34.2' },
-	'liveviewafsetting' => { 354 => 0x36 },
-	'liveviewbuttonoptions' => { 242 => '50.2', 244 => '48.2', 252 => '48.2' },
-	'liveviewexposuresimulation' => { 73 => 0x810 },
-	'liveviewfocusmode' => { 354 => [0x8b,0x28b] },
-	'liveviewmetering' => { 354 => [0x84,0x284] },
-	'liveviewmonitorofftime' => { 242 => '21.2', 244 => '21.2', 246 => '20.2', 247 => '20.2', 249 => '20.2', 252 => '21.2' },
-	'liveviewshooting' => { 49 => 0x13 },
-	'localcaption' => { 115 => 0x79 },
-	'localizedcameramodel' => { 107 => 0xc615 },
-	'locallocationname' => { 341 => 0x30 },
-	'location' => { 195 => 0x9, 276 => 0x67, 400 => 'Location', 417 => 'Location', 421 => 'location', 422 => 'location' },
-	'locationareacode' => { 406 => 'lac' },
-	'locationcreated' => { 418 => 'LocationCreated' },
-	'locationcreatedcity' => { 418 => [\'LocationCreated','LocationCreatedCity'] },
-	'locationcreatedcountrycode' => { 418 => [\'LocationCreated','LocationCreatedCountryCode'] },
-	'locationcreatedcountryname' => { 418 => [\'LocationCreated','LocationCreatedCountryName'] },
-	'locationcreatedlocationid' => { 418 => [\'LocationCreated','LocationCreatedLocationId'] },
-	'locationcreatedprovincestate' => { 418 => [\'LocationCreated','LocationCreatedProvinceState'] },
-	'locationcreatedsublocation' => { 418 => [\'LocationCreated','LocationCreatedSublocation'] },
-	'locationcreatedworldregion' => { 418 => [\'LocationCreated','LocationCreatedWorldRegion'] },
-	'locationinfoversion' => { 195 => 0x0 },
-	'locationname' => { 341 => 0x31 },
-	'locationshown' => { 418 => 'LocationShown' },
-	'locationshowncity' => { 418 => [\'LocationShown','LocationShownCity'] },
-	'locationshowncountrycode' => { 418 => [\'LocationShown','LocationShownCountryCode'] },
-	'locationshowncountryname' => { 418 => [\'LocationShown','LocationShownCountryName'] },
-	'locationshownlocationid' => { 418 => [\'LocationShown','LocationShownLocationId'] },
-	'locationshownprovincestate' => { 418 => [\'LocationShown','LocationShownProvinceState'] },
-	'locationshownsublocation' => { 418 => [\'LocationShown','LocationShownSublocation'] },
-	'locationshownworldregion' => { 418 => [\'LocationShown','LocationShownWorldRegion'] },
-	'lockmicrophonebutton' => { 73 => 0x709 },
-	'logcomment' => { 432 => 'logComment' },
-	'longexposurenoisereduction' => { 54 => 0x4, 73 => 0x201, 74 => 0x1, 75 => 0x2, 76 => 0x1, 77 => 0x1, 78 => 0x2, 79 => 0x1, 276 => 0x49, 352 => 0x2b, 353 => 0x25, 354 => 0x25, 364 => 0x2008, 368 => 0x11, 389 => 0x44 },
-	'longexposurenoisereduction2' => { 49 => 0x8 },
-	'loop' => { 432 => 'loop' },
-	'lowestbiostratigraphiczone' => { 106 => [\'GeologicalContext','GeologicalContextLowestBiostratigraphicZone'] },
-	'luminanceadjustmentaqua' => { 408 => 'LuminanceAdjustmentAqua' },
-	'luminanceadjustmentblue' => { 408 => 'LuminanceAdjustmentBlue' },
-	'luminanceadjustmentgreen' => { 408 => 'LuminanceAdjustmentGreen' },
-	'luminanceadjustmentmagenta' => { 408 => 'LuminanceAdjustmentMagenta' },
-	'luminanceadjustmentorange' => { 408 => 'LuminanceAdjustmentOrange' },
-	'luminanceadjustmentpurple' => { 408 => 'LuminanceAdjustmentPurple' },
-	'luminanceadjustmentred' => { 408 => 'LuminanceAdjustmentRed' },
-	'luminanceadjustmentyellow' => { 408 => 'LuminanceAdjustmentYellow' },
-	'luminancecurvelimits' => { 97 => 0x150 },
-	'luminancecurvepoints' => { 97 => 0x126 },
-	'luminancenoisereduction' => { 92 => 0x20600, 98 => 0x5f, 344 => 0x1b },
-	'luminancenoisereductioncontrast' => { 408 => 'LuminanceNoiseReductionContrast' },
-	'luminancenoisereductiondetail' => { 408 => 'LuminanceNoiseReductionDetail' },
-	'luminancenr_tiff_jpeg' => { 98 => 0x6d },
-	'luminancesmoothing' => { 408 => 'LuminanceSmoothing' },
-	'lvshootingareadisplay' => { 73 => [0x40b,0x40c] },
-	'lyrics' => { 432 => 'lyrics' },
-	'm16cversion' => { 272 => 0x333 },
-	'macatom' => { 407 => 'macAtom' },
-	'macatomapplicationcode' => { 407 => [\'macAtom','macAtomApplicationCode'] },
-	'macatominvocationappleevent' => { 407 => [\'macAtom','macAtomInvocationAppleEvent'] },
-	'macatomposixprojectpath' => { 407 => [\'macAtom','macAtomPosixProjectPath'] },
-	'macro' => { 112 => 0x1020, 113 => 0x202, 260 => 0x202, 334 => 0x21, 343 => 0x202, 364 => 0xb040 },
-	'macroled' => { 258 => 0x120a },
-	'macromagnification' => { 6 => 0x1b, 10 => 0x1b, 13 => 0x1b, 14 => 0x1b, 18 => 0x1b, 19 => 0x1b, 49 => 0x10 },
-	'macromode' => { 31 => 0x1, 159 => 0xb, 255 => 0x300, 276 => 0x1c, 335 => 0x1009 },
-	'magentahsl' => { 92 => 0x20917 },
-	'magicfilter' => { 255 => 0x52c },
-	'magnifiedview' => { 75 => 0x11, 77 => 0x9 },
-	'maindialexposurecomp' => { 250 => '0.6' },
-	'mainingredient' => { 424 => 'mainIngredient' },
-	'make' => { 87 => 0x0, 104 => 0x1, 107 => 0x10f, 137 => 'Make', 268 => 'Make', 280 => 0x10f, 421 => 'make', 428 => 'Make' },
-	'makernote' => { 412 => 'MakerNote' },
-	'makernoteapple' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotecanon' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotecasio' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotecasio2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotedji' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteflir' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotefujifilm' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotege' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotege2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotehasselblad' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotehp' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotehp2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotehp4' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotehp6' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteisl' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotejvc' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotejvctext' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak10' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak11' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak1a' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak1b' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak3' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak4' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak5' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak6a' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak6b' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak7' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak8a' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak8b' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak8c' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodak9' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekodakunknown' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotekyocera' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica3' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica4' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica5' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica6' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica7' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica8' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteleica9' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteminolta' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteminolta2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteminolta3' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotemotorola' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotenikon' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotenikon2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotenikon3' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotenintendo' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteoffset' => { 343 => 0xff },
-	'makernoteolympus' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteolympus2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepanasonic' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepanasonic2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepentax' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepentax2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepentax3' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepentax4' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepentax5' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotepentax6' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotephaseone' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotereconyx' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotericoh' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotericoh2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotericohtext' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesafety' => { 107 => 0xc635 },
-	'makernotesamsung1a' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesamsung1b' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesamsung2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesanyo' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesanyoc4' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesanyopatch' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesigma' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesony' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesony2' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesony3' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesony4' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesony5' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesonyericsson' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotesonysrf' => { 105 => 'MakN', 107 => 0x927c },
-	'makernotetype' => { 335 => 0x1 },
-	'makernoteunknown' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteunknownbinary' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteunknowntext' => { 105 => 'MakN', 107 => 0x927c },
-	'makernoteversion' => { 164 => 0x0, 196 => 0x1, 260 => 0x0, 276 => 0x8000, 339 => 0x0, 341 => 0x1, 344 => [0x1d,0x1f], 355 => 0x2000 },
-	'managedfrom' => { 433 => 'ManagedFrom' },
-	'managedfromalternatepaths' => { 433 => [\'ManagedFrom','ManagedFromAlternatePaths'] },
-	'managedfromdocumentid' => { 433 => [\'ManagedFrom','ManagedFromDocumentID'] },
-	'managedfromfilepath' => { 433 => [\'ManagedFrom','ManagedFromFilePath'] },
-	'managedfromfrompart' => { 433 => [\'ManagedFrom','ManagedFromFromPart'] },
-	'managedfrominstanceid' => { 433 => [\'ManagedFrom','ManagedFromInstanceID'] },
-	'managedfromlastmodifydate' => { 433 => [\'ManagedFrom','ManagedFromLastModifyDate'] },
-	'managedfrommanager' => { 433 => [\'ManagedFrom','ManagedFromManager'] },
-	'managedfrommanagervariant' => { 433 => [\'ManagedFrom','ManagedFromManagerVariant'] },
-	'managedfrommanageto' => { 433 => [\'ManagedFrom','ManagedFromManageTo'] },
-	'managedfrommanageui' => { 433 => [\'ManagedFrom','ManagedFromManageUI'] },
-	'managedfrommaskmarkers' => { 433 => [\'ManagedFrom','ManagedFromMaskMarkers'] },
-	'managedfromoriginaldocumentid' => { 433 => [\'ManagedFrom','ManagedFromOriginalDocumentID'] },
-	'managedfrompartmapping' => { 433 => [\'ManagedFrom','ManagedFromPartMapping'] },
-	'managedfromrenditionclass' => { 433 => [\'ManagedFrom','ManagedFromRenditionClass'] },
-	'managedfromrenditionparams' => { 433 => [\'ManagedFrom','ManagedFromRenditionParams'] },
-	'managedfromtopart' => { 433 => [\'ManagedFrom','ManagedFromToPart'] },
-	'managedfromversionid' => { 433 => [\'ManagedFrom','ManagedFromVersionID'] },
-	'manager' => { 433 => 'Manager' },
-	'managervariant' => { 433 => 'ManagerVariant' },
-	'manageto' => { 433 => 'ManageTo' },
-	'manageui' => { 433 => 'ManageUI' },
-	'manifest' => { 433 => 'Manifest' },
-	'manifestlinkform' => { 433 => [\'Manifest','ManifestLinkForm'] },
-	'manifestplacedresolutionunit' => { 433 => [\'Manifest','ManifestPlacedResolutionUnit'] },
-	'manifestplacedxresolution' => { 433 => [\'Manifest','ManifestPlacedXResolution'] },
-	'manifestplacedyresolution' => { 433 => [\'Manifest','ManifestPlacedYResolution'] },
-	'manifestreference' => { 433 => [\'Manifest','ManifestReference'] },
-	'manifestreferencealternatepaths' => { 433 => [\'Manifest','ManifestReferenceAlternatePaths'] },
-	'manifestreferencedocumentid' => { 433 => [\'Manifest','ManifestReferenceDocumentID'] },
-	'manifestreferencefilepath' => { 433 => [\'Manifest','ManifestReferenceFilePath'] },
-	'manifestreferencefrompart' => { 433 => [\'Manifest','ManifestReferenceFromPart'] },
-	'manifestreferenceinstanceid' => { 433 => [\'Manifest','ManifestReferenceInstanceID'] },
-	'manifestreferencelastmodifydate' => { 433 => [\'Manifest','ManifestReferenceLastModifyDate'] },
-	'manifestreferencemanager' => { 433 => [\'Manifest','ManifestReferenceManager'] },
-	'manifestreferencemanagervariant' => { 433 => [\'Manifest','ManifestReferenceManagerVariant'] },
-	'manifestreferencemanageto' => { 433 => [\'Manifest','ManifestReferenceManageTo'] },
-	'manifestreferencemanageui' => { 433 => [\'Manifest','ManifestReferenceManageUI'] },
-	'manifestreferencemaskmarkers' => { 433 => [\'Manifest','ManifestReferenceMaskMarkers'] },
-	'manifestreferenceoriginaldocumentid' => { 433 => [\'Manifest','ManifestReferenceOriginalDocumentID'] },
-	'manifestreferencepartmapping' => { 433 => [\'Manifest','ManifestReferencePartMapping'] },
-	'manifestreferencerenditionclass' => { 433 => [\'Manifest','ManifestReferenceRenditionClass'] },
-	'manifestreferencerenditionparams' => { 433 => [\'Manifest','ManifestReferenceRenditionParams'] },
-	'manifestreferencetopart' => { 433 => [\'Manifest','ManifestReferenceToPart'] },
-	'manifestreferenceversionid' => { 433 => [\'Manifest','ManifestReferenceVersionID'] },
-	'manometerpressure' => { 255 => 0x900, 276 => 0x86 },
-	'manometerreading' => { 255 => 0x901 },
-	'manualafpointselectpattern' => { 73 => 0x513 },
+	'lense-mountversion' => { 359 => 0x3f0, 397 => 0xd },
+	'lensfirmware' => { 340 => 0x20, 346 => 0xa004 },
+	'lensfirmwareversion' => { 260 => 0x204, 280 => 0x60, 359 => 0x3f4, 397 => 0x15 },
+	'lensfocallength' => { 94 => 0xf0512, 305 => 0x9 },
+	'lensfocalrange' => { 349 => [0xa,0x2a] },
+	'lensfocusfunctionbuttons' => { 244 => '55.1', 246 => '52.1', 247 => '52.1', 256 => '52.1' },
+	'lensformat' => { 380 => 0x1891, 382 => 0x18bd, 383 => 0x18ed, 385 => 0x106, 393 => 0x603, 394 => 0x5d },
+	'lensfstops' => { 193 => 0x7, 194 => 0xc, 195 => 0xd, 198 => 0x8b, 305 => '0.3' },
+	'lensid' => { 409 => 'LensID' },
+	'lensidnumber' => { 193 => 0x6, 194 => 0xb, 195 => 0xc },
+	'lensinfo' => { 109 => 0xa432, 311 => 0x2a, 409 => 'LensInfo', 418 => 'LensSpecification' },
+	'lenskind' => { 305 => 0x1 },
+	'lensmake' => { 109 => 0xa433, 146 => 'Make', 418 => 'LensMake' },
+	'lensmanualdistortionamount' => { 413 => 'LensManualDistortionAmount' },
+	'lensmanufacturer' => { 159 => 'LensManufacturer' },
+	'lensmaxaperturerange' => { 349 => 0x2b },
+	'lensmodel' => { 6 => 0x937, 13 => 0x92b, 14 => 0x933, 57 => 0x95, 109 => 0xa434, 146 => 'Model', 159 => 'LensModel', 196 => 0x18a, 260 => 0x203, 278 => 0x303, 311 => 0xc, 323 => 0x412, 418 => 'LensModel' },
+	'lensmount' => { 359 => 0x99, 380 => 0x1892, 382 => 0x18be, 383 => 0x18ee, 385 => 0x105, 393 => 0x604, 394 => 0x5e },
+	'lensmount2' => { 397 => 0x8 },
+	'lensparameters' => { 377 => 0x1a23, 380 => 0x1870, 382 => 0x189c, 383 => 0x18cc, 393 => 0x6ca, 394 => 0x64 },
+	'lensprofilechromaticaberrationscale' => { 413 => 'LensProfileChromaticAberrationScale' },
+	'lensprofiledigest' => { 413 => 'LensProfileDigest' },
+	'lensprofiledistortionscale' => { 413 => 'LensProfileDistortionScale' },
+	'lensprofileenable' => { 413 => 'LensProfileEnable' },
+	'lensprofilefilename' => { 413 => 'LensProfileFilename' },
+	'lensprofilematchkeycameramodelname' => { 413 => 'LensProfileMatchKeyCameraModelName' },
+	'lensprofilematchkeyexifmake' => { 413 => 'LensProfileMatchKeyExifMake' },
+	'lensprofilematchkeyexifmodel' => { 413 => 'LensProfileMatchKeyExifModel' },
+	'lensprofilematchkeyisraw' => { 413 => 'LensProfileMatchKeyIsRaw' },
+	'lensprofilematchkeylensid' => { 413 => 'LensProfileMatchKeyLensID' },
+	'lensprofilematchkeylensinfo' => { 413 => 'LensProfileMatchKeyLensInfo' },
+	'lensprofilematchkeylensname' => { 413 => 'LensProfileMatchKeyLensName' },
+	'lensprofilematchkeysensorformatfactor' => { 413 => 'LensProfileMatchKeySensorFormatFactor' },
+	'lensprofilename' => { 413 => 'LensProfileName' },
+	'lensprofilesetup' => { 413 => 'LensProfileSetup' },
+	'lensprofilevignettingscale' => { 413 => 'LensProfileVignettingScale' },
+	'lensproperties' => { 260 => 0x20b },
+	'lensserialnumber' => { 20 => 0x164, 31 => 0x16b, 55 => 0x0, 109 => 0xa435, 146 => 'SerialNumber', 260 => 0x202, 280 => 0x52, 340 => 0x30, 409 => 'LensSerialNumber', 418 => 'LensSerialNumber' },
+	'lensshutterlock' => { 164 => 0x4a },
+	'lensspec' => { 354 => 0x0, 355 => 0x0, 356 => 0x0, 369 => 0xb02a },
+	'lensspecfeatures' => { 385 => [0x115,0x116] },
+	'lenstemperature' => { 264 => 0x1008 },
+	'lenstype' => { 6 => 0xe2, 7 => 0xd, 8 => 0x1a7, 9 => 0xc, 10 => 0x111, 11 => 0xc, 12 => 0x14f, 13 => 0xd6, 14 => 0xde, 15 => 0xf6, 16 => 0xea, 17 => 0xff, 18 => [0xc,0x97], 19 => 0xe6, 20 => 0x153, 21 => 0xea, 22 => 0xe8, 23 => 0x127, 24 => 0x161, 25 => 0x166, 26 => 0x184, 27 => 0x112, 28 => 0x189, 33 => 0x16, 166 => 0x10c, 167 => 0x49bd, 198 => 0x83, 260 => 0x201, 273 => 0x16, 276 => 0x310, 279 => 0x303, 280 => 0x51, 282 => 0x3405, 306 => 0x0, 307 => 0x0, 308 => 0x1, 309 => 0x1, 310 = [...]
+	'lenstype2' => { 359 => 0x3f7, 380 => 0x1893, 382 => 0x18bf, 383 => 0x18ef, 385 => 0x107, 393 => 0x605, 394 => 0x60 },
+	'lenstype3' => { 397 => 0x9 },
+	'lenszoomposition' => { 391 => 0x19, 392 => 0x1e, 394 => [0x342,0x35a] },
+	'levelindicator' => { 287 => 0x15 },
+	'levelorientation' => { 313 => 0x0 },
+	'license' => { 410 => 'license' },
+	'licensee' => { 269 => 'Licensee' },
+	'licenseeid' => { 269 => [\'Licensee','LicenseeLicenseeID'] },
+	'licenseeimageid' => { 269 => 'LicenseeImageID' },
+	'licenseeimagenotes' => { 269 => 'LicenseeImageNotes' },
+	'licenseename' => { 269 => [\'Licensee','LicenseeLicenseeName'] },
+	'licenseenddate' => { 269 => 'LicenseEndDate' },
+	'licenseeprojectreference' => { 269 => 'LicenseeProjectReference' },
+	'licenseetransactionid' => { 269 => 'LicenseeTransactionID' },
+	'licenseid' => { 269 => 'LicenseID' },
+	'licensestartdate' => { 269 => 'LicenseStartDate' },
+	'licensetransactiondate' => { 269 => 'LicenseTransactionDate' },
+	'licensetype' => { 415 => 'licensetype' },
+	'licensor' => { 269 => 'Licensor' },
+	'licensorcity' => { 269 => [\'Licensor','LicensorLicensorCity'] },
+	'licensorcountry' => { 269 => [\'Licensor','LicensorLicensorCountry'] },
+	'licensoremail' => { 269 => [\'Licensor','LicensorLicensorEmail'] },
+	'licensorextendedaddress' => { 269 => [\'Licensor','LicensorLicensorExtendedAddress'] },
+	'licensorid' => { 269 => [\'Licensor','LicensorLicensorID'] },
+	'licensorimageid' => { 269 => 'LicensorImageID' },
+	'licensorname' => { 269 => [\'Licensor','LicensorLicensorName'] },
+	'licensornotes' => { 269 => 'LicensorNotes' },
+	'licensorpostalcode' => { 269 => [\'Licensor','LicensorLicensorPostalCode'] },
+	'licensorregion' => { 269 => [\'Licensor','LicensorLicensorRegion'] },
+	'licensorstreetaddress' => { 269 => [\'Licensor','LicensorLicensorStreetAddress'] },
+	'licensortelephone1' => { 269 => [\'Licensor','LicensorLicensorTelephone1'] },
+	'licensortelephone2' => { 269 => [\'Licensor','LicensorLicensorTelephone2'] },
+	'licensortelephonetype1' => { 269 => [\'Licensor','LicensorLicensorTelephoneType1'] },
+	'licensortelephonetype2' => { 269 => [\'Licensor','LicensorLicensorTelephoneType2'] },
+	'licensortransactionid' => { 269 => 'LicensorTransactionID' },
+	'licensorurl' => { 269 => [\'Licensor','LicensorLicensorURL'] },
+	'lightcondition' => { 264 => 0x1009 },
+	'lightfalloffparams' => { 109 => 0x7032 },
+	'lightingmode' => { 104 => 0x302a },
+	'lightreading' => { 314 => 0x15 },
+	'lightsource' => { 109 => 0x9208, 198 => 0x90, 267 => 0x1000, 417 => 'LightSource' },
+	'lightsourcespecial' => { 348 => 0x21d },
+	'lightswitch' => { 256 => '0.1', 257 => '0.1' },
+	'lightvaluecenter' => { 264 => 0x103d },
+	'lightvalueperiphery' => { 264 => 0x103e },
+	'limitafareamodeselection' => { 244 => '51.1', 246 => '49.1', 247 => '49.1', 256 => '49.1' },
+	'linearitylimitblue' => { 284 => 0x10 },
+	'linearitylimitgreen' => { 284 => 0xf },
+	'linearitylimitred' => { 284 => 0xe },
+	'linearityuppermargin' => { 40 => [0x2ba,0x2d1,0x2d5], 42 => 0x1e5, 43 => [0x1fe,0x2de], 44 => [0x232,0x310] },
+	'linearizationtable' => { 109 => 0xc618 },
+	'linearresponselimit' => { 109 => 0xc62e },
+	'link' => { 427 => 'link' },
+	'linkaetoafpoint' => { 295 => '14.2' },
+	'linkedencodedrightsexpr' => { 423 => [\'LinkedEncRightsExpr','LinkedEncRightsExprLinkedRightsExpr'] },
+	'linkedencodedrightsexprlangid' => { 423 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprLangId'] },
+	'linkedencodedrightsexprtype' => { 423 => [\'LinkedEncRightsExpr','LinkedEncRightsExprRightsExprEncType'] },
+	'linkedencrightsexpr' => { 423 => 'LinkedEncRightsExpr' },
+	'lithostratigraphicterms' => { 108 => [\'GeologicalContext','GeologicalContextLithostratigraphicTerms'] },
+	'liveviewaf' => { 248 => '32.1', 257 => '34.1' },
+	'liveviewafareamode' => { 253 => '34.1' },
+	'liveviewafmethod' => { 373 => 0x20 },
+	'liveviewafmode' => { 253 => '34.2' },
+	'liveviewafsetting' => { 359 => 0x36 },
+	'liveviewbuttonoptions' => { 244 => '50.2', 246 => '48.2', 247 => '48.2', 256 => '48.2' },
+	'liveviewexposuresimulation' => { 75 => 0x810 },
+	'liveviewfocusmode' => { 359 => [0x8b,0x28b] },
+	'liveviewmetering' => { 359 => [0x84,0x284] },
+	'liveviewmonitorofftime' => { 244 => '21.2', 246 => '21.2', 247 => '21.2', 249 => '20.2', 250 => '20.2', 251 => '20.2', 253 => '20.2', 256 => '21.2' },
+	'liveviewshooting' => { 51 => 0x13 },
+	'localcaption' => { 117 => 0x79 },
+	'localizedcameramodel' => { 109 => 0xc615 },
+	'locallocationname' => { 346 => 0x30 },
+	'location' => { 197 => 0x9, 280 => 0x67, 405 => 'Location', 422 => 'Location', 426 => 'location', 427 => 'location' },
+	'locationareacode' => { 411 => 'lac' },
+	'locationcreated' => { 423 => 'LocationCreated' },
+	'locationcreatedcity' => { 423 => [\'LocationCreated','LocationCreatedCity'] },
+	'locationcreatedcountrycode' => { 423 => [\'LocationCreated','LocationCreatedCountryCode'] },
+	'locationcreatedcountryname' => { 423 => [\'LocationCreated','LocationCreatedCountryName'] },
+	'locationcreatedlocationid' => { 423 => [\'LocationCreated','LocationCreatedLocationId'] },
+	'locationcreatedprovincestate' => { 423 => [\'LocationCreated','LocationCreatedProvinceState'] },
+	'locationcreatedsublocation' => { 423 => [\'LocationCreated','LocationCreatedSublocation'] },
+	'locationcreatedworldregion' => { 423 => [\'LocationCreated','LocationCreatedWorldRegion'] },
+	'locationinfoversion' => { 197 => 0x0 },
+	'locationname' => { 346 => 0x31 },
+	'locationshown' => { 423 => 'LocationShown' },
+	'locationshowncity' => { 423 => [\'LocationShown','LocationShownCity'] },
+	'locationshowncountrycode' => { 423 => [\'LocationShown','LocationShownCountryCode'] },
+	'locationshowncountryname' => { 423 => [\'LocationShown','LocationShownCountryName'] },
+	'locationshownlocationid' => { 423 => [\'LocationShown','LocationShownLocationId'] },
+	'locationshownprovincestate' => { 423 => [\'LocationShown','LocationShownProvinceState'] },
+	'locationshownsublocation' => { 423 => [\'LocationShown','LocationShownSublocation'] },
+	'locationshownworldregion' => { 423 => [\'LocationShown','LocationShownWorldRegion'] },
+	'lockmicrophonebutton' => { 75 => 0x709 },
+	'logcomment' => { 437 => 'logComment' },
+	'longexposurenoisereduction' => { 56 => 0x4, 75 => 0x201, 76 => 0x1, 77 => 0x2, 78 => 0x1, 79 => 0x1, 80 => 0x2, 81 => 0x1, 280 => 0x49, 357 => 0x2b, 358 => 0x25, 359 => 0x25, 369 => 0x2008, 373 => 0x11, 394 => 0x44 },
+	'longexposurenoisereduction2' => { 51 => 0x8 },
+	'loop' => { 437 => 'loop' },
+	'lowestbiostratigraphiczone' => { 108 => [\'GeologicalContext','GeologicalContextLowestBiostratigraphicZone'] },
+	'luminanceadjustmentaqua' => { 413 => 'LuminanceAdjustmentAqua' },
+	'luminanceadjustmentblue' => { 413 => 'LuminanceAdjustmentBlue' },
+	'luminanceadjustmentgreen' => { 413 => 'LuminanceAdjustmentGreen' },
+	'luminanceadjustmentmagenta' => { 413 => 'LuminanceAdjustmentMagenta' },
+	'luminanceadjustmentorange' => { 413 => 'LuminanceAdjustmentOrange' },
+	'luminanceadjustmentpurple' => { 413 => 'LuminanceAdjustmentPurple' },
+	'luminanceadjustmentred' => { 413 => 'LuminanceAdjustmentRed' },
+	'luminanceadjustmentyellow' => { 413 => 'LuminanceAdjustmentYellow' },
+	'luminancecurvelimits' => { 99 => 0x150 },
+	'luminancecurvepoints' => { 99 => 0x126 },
+	'luminancenoisereduction' => { 94 => 0x20600, 100 => 0x5f, 349 => 0x1b },
+	'luminancenoisereductioncontrast' => { 413 => 'LuminanceNoiseReductionContrast' },
+	'luminancenoisereductiondetail' => { 413 => 'LuminanceNoiseReductionDetail' },
+	'luminancenr_tiff_jpeg' => { 100 => 0x6d },
+	'luminancesmoothing' => { 413 => 'LuminanceSmoothing' },
+	'lvshootingareadisplay' => { 75 => [0x40b,0x40c] },
+	'lyrics' => { 437 => 'lyrics' },
+	'm16cversion' => { 276 => 0x333 },
+	'macatom' => { 412 => 'macAtom' },
+	'macatomapplicationcode' => { 412 => [\'macAtom','macAtomApplicationCode'] },
+	'macatominvocationappleevent' => { 412 => [\'macAtom','macAtomInvocationAppleEvent'] },
+	'macatomposixprojectpath' => { 412 => [\'macAtom','macAtomPosixProjectPath'] },
+	'macro' => { 114 => 0x1020, 115 => 0x202, 264 => 0x202, 338 => 0x21, 348 => 0x202, 369 => 0xb040 },
+	'macroled' => { 262 => 0x120a },
+	'macromagnification' => { 6 => 0x1b, 10 => 0x1b, 13 => 0x1b, 14 => 0x1b, 18 => 0x1b, 19 => 0x1b, 51 => 0x10 },
+	'macromode' => { 33 => 0x1, 161 => 0xb, 259 => 0x300, 280 => 0x1c, 339 => 0x1009 },
+	'magentahsl' => { 94 => 0x20917 },
+	'magicfilter' => { 259 => 0x52c },
+	'magnifiedview' => { 77 => 0x11, 79 => 0x9 },
+	'maindialexposurecomp' => { 254 => '0.6' },
+	'mainingredient' => { 429 => 'mainIngredient' },
+	'make' => { 89 => 0x0, 106 => 0x1, 109 => 0x10f, 139 => 'Make', 272 => 'Make', 284 => 0x10f, 426 => 'make', 433 => 'Make' },
+	'makernote' => { 417 => 'MakerNote' },
+	'makernoteapple' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotecanon' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotecasio' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotecasio2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotedji' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteflir' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotefujifilm' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotege' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotege2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotehasselblad' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotehp' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotehp2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotehp4' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotehp6' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteisl' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotejvc' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotejvctext' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak10' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak11' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak1a' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak1b' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak3' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak4' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak5' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak6a' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak6b' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak7' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak8a' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak8b' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak8c' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodak9' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekodakunknown' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotekyocera' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica3' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica4' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica5' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica6' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica7' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica8' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteleica9' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteminolta' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteminolta2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteminolta3' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotemotorola' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotenikon' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotenikon2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotenikon3' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotenintendo' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteoffset' => { 348 => 0xff },
+	'makernoteolympus' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteolympus2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepanasonic' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepanasonic2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepentax' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepentax2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepentax3' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepentax4' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepentax5' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotepentax6' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotephaseone' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotereconyx' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotericoh' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotericoh2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotericohtext' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesafety' => { 109 => 0xc635 },
+	'makernotesamsung1a' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesamsung1b' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesamsung2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesanyo' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesanyoc4' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesanyopatch' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesigma' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesony' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesony2' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesony3' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesony4' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesony5' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesonyericsson' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotesonysrf' => { 107 => 'MakN', 109 => 0x927c },
+	'makernotetype' => { 339 => 0x1 },
+	'makernoteunknown' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteunknownbinary' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteunknowntext' => { 107 => 'MakN', 109 => 0x927c },
+	'makernoteversion' => { 166 => 0x0, 198 => 0x1, 264 => 0x0, 280 => 0x8000, 343 => 0x0, 346 => 0x1, 349 => [0x1d,0x1f], 360 => 0x2000 },
+	'managedfrom' => { 438 => 'ManagedFrom' },
+	'managedfromalternatepaths' => { 438 => [\'ManagedFrom','ManagedFromAlternatePaths'] },
+	'managedfromdocumentid' => { 438 => [\'ManagedFrom','ManagedFromDocumentID'] },
+	'managedfromfilepath' => { 438 => [\'ManagedFrom','ManagedFromFilePath'] },
+	'managedfromfrompart' => { 438 => [\'ManagedFrom','ManagedFromFromPart'] },
+	'managedfrominstanceid' => { 438 => [\'ManagedFrom','ManagedFromInstanceID'] },
+	'managedfromlastmodifydate' => { 438 => [\'ManagedFrom','ManagedFromLastModifyDate'] },
+	'managedfromlasturl' => { 438 => [\'ManagedFrom','ManagedFromLastURL'] },
+	'managedfromlinkcategory' => { 438 => [\'ManagedFrom','ManagedFromLinkCategory'] },
+	'managedfromlinkform' => { 438 => [\'ManagedFrom','ManagedFromLinkForm'] },
+	'managedfrommanager' => { 438 => [\'ManagedFrom','ManagedFromManager'] },
+	'managedfrommanagervariant' => { 438 => [\'ManagedFrom','ManagedFromManagerVariant'] },
+	'managedfrommanageto' => { 438 => [\'ManagedFrom','ManagedFromManageTo'] },
+	'managedfrommanageui' => { 438 => [\'ManagedFrom','ManagedFromManageUI'] },
+	'managedfrommaskmarkers' => { 438 => [\'ManagedFrom','ManagedFromMaskMarkers'] },
+	'managedfromoriginaldocumentid' => { 438 => [\'ManagedFrom','ManagedFromOriginalDocumentID'] },
+	'managedfrompartmapping' => { 438 => [\'ManagedFrom','ManagedFromPartMapping'] },
+	'managedfromplacedresolutionunit' => { 438 => [\'ManagedFrom','ManagedFromPlacedResolutionUnit'] },
+	'managedfromplacedxresolution' => { 438 => [\'ManagedFrom','ManagedFromPlacedXResolution'] },
+	'managedfromplacedyresolution' => { 438 => [\'ManagedFrom','ManagedFromPlacedYResolution'] },
+	'managedfromrenditionclass' => { 438 => [\'ManagedFrom','ManagedFromRenditionClass'] },
+	'managedfromrenditionparams' => { 438 => [\'ManagedFrom','ManagedFromRenditionParams'] },
+	'managedfromtopart' => { 438 => [\'ManagedFrom','ManagedFromToPart'] },
+	'managedfromversionid' => { 438 => [\'ManagedFrom','ManagedFromVersionID'] },
+	'manager' => { 438 => 'Manager' },
+	'managervariant' => { 438 => 'ManagerVariant' },
+	'manageto' => { 438 => 'ManageTo' },
+	'manageui' => { 438 => 'ManageUI' },
+	'manifest' => { 438 => 'Manifest' },
+	'manifestlinkform' => { 438 => [\'Manifest','ManifestLinkForm'] },
+	'manifestplacedresolutionunit' => { 438 => [\'Manifest','ManifestPlacedResolutionUnit'] },
+	'manifestplacedxresolution' => { 438 => [\'Manifest','ManifestPlacedXResolution'] },
+	'manifestplacedyresolution' => { 438 => [\'Manifest','ManifestPlacedYResolution'] },
+	'manifestreference' => { 438 => [\'Manifest','ManifestReference'] },
+	'manifestreferencealternatepaths' => { 438 => [\'Manifest','ManifestReferenceAlternatePaths'] },
+	'manifestreferencedocumentid' => { 438 => [\'Manifest','ManifestReferenceDocumentID'] },
+	'manifestreferencefilepath' => { 438 => [\'Manifest','ManifestReferenceFilePath'] },
+	'manifestreferencefrompart' => { 438 => [\'Manifest','ManifestReferenceFromPart'] },
+	'manifestreferenceinstanceid' => { 438 => [\'Manifest','ManifestReferenceInstanceID'] },
+	'manifestreferencelastmodifydate' => { 438 => [\'Manifest','ManifestReferenceLastModifyDate'] },
+	'manifestreferencelasturl' => { 438 => [\'Manifest','ManifestReferenceLastURL'] },
+	'manifestreferencelinkcategory' => { 438 => [\'Manifest','ManifestReferenceLinkCategory'] },
+	'manifestreferencelinkform' => { 438 => [\'Manifest','ManifestReferenceLinkForm'] },
+	'manifestreferencemanager' => { 438 => [\'Manifest','ManifestReferenceManager'] },
+	'manifestreferencemanagervariant' => { 438 => [\'Manifest','ManifestReferenceManagerVariant'] },
+	'manifestreferencemanageto' => { 438 => [\'Manifest','ManifestReferenceManageTo'] },
+	'manifestreferencemanageui' => { 438 => [\'Manifest','ManifestReferenceManageUI'] },
+	'manifestreferencemaskmarkers' => { 438 => [\'Manifest','ManifestReferenceMaskMarkers'] },
+	'manifestreferenceoriginaldocumentid' => { 438 => [\'Manifest','ManifestReferenceOriginalDocumentID'] },
+	'manifestreferencepartmapping' => { 438 => [\'Manifest','ManifestReferencePartMapping'] },
+	'manifestreferenceplacedresolutionunit' => { 438 => [\'Manifest','ManifestReferencePlacedResolutionUnit'] },
+	'manifestreferenceplacedxresolution' => { 438 => [\'Manifest','ManifestReferencePlacedXResolution'] },
+	'manifestreferenceplacedyresolution' => { 438 => [\'Manifest','ManifestReferencePlacedYResolution'] },
+	'manifestreferencerenditionclass' => { 438 => [\'Manifest','ManifestReferenceRenditionClass'] },
+	'manifestreferencerenditionparams' => { 438 => [\'Manifest','ManifestReferenceRenditionParams'] },
+	'manifestreferencetopart' => { 438 => [\'Manifest','ManifestReferenceToPart'] },
+	'manifestreferenceversionid' => { 438 => [\'Manifest','ManifestReferenceVersionID'] },
+	'manometerpressure' => { 259 => 0x900, 280 => 0x86 },
+	'manometerreading' => { 259 => 0x901 },
+	'manualafpointselectpattern' => { 75 => 0x513 },
 	'manualafpointselpattern' => { 2 => 0xf },
-	'manualflash' => { 258 => 0x1209 },
-	'manualflashoutput' => { 31 => 0x29, 243 => '8.2', 245 => '22.2', 246 => '23.1', 247 => '23.2', 248 => '16.2', 249 => '23.2', 250 => '8.2', 251 => '23.2', 253 => '24.2', 335 => 0x100c },
-	'manualflashstrength' => { 255 => 0x406 },
-	'manualfocusdistance' => { 196 => 0x85, 260 => 0x100c, 343 => 0x223 },
-	'manualtv' => { 72 => 0x5, 73 => 0x705 },
-	'manufacturedate' => { 169 => 0x6705, 290 => 0x1 },
-	'manufacturedate1' => { 337 => 0x4 },
-	'manufacturedate2' => { 337 => 0x5 },
-	'manufacturer' => { 421 => 'manufacturer' },
-	'marked' => { 419 => 'Marked', 436 => 'Marked' },
-	'markers' => { 432 => 'markers' },
-	'markerscomment' => { 432 => [\'markers','markersComment'] },
-	'markerscuepointparams' => { 432 => [\'markers','markersCuePointParams'] },
-	'markerscuepointparamskey' => { 432 => [\'markers','markersCuePointParamsKey'] },
-	'markerscuepointparamsvalue' => { 432 => [\'markers','markersCuePointParamsValue'] },
-	'markerscuepointtype' => { 432 => [\'markers','markersCuePointType'] },
-	'markersduration' => { 432 => [\'markers','markersDuration'] },
-	'markerslocation' => { 432 => [\'markers','markersLocation'] },
-	'markersname' => { 432 => [\'markers','markersName'] },
-	'markersprobability' => { 432 => [\'markers','markersProbability'] },
-	'markersspeaker' => { 432 => [\'markers','markersSpeaker'] },
-	'markersstarttime' => { 432 => [\'markers','markersStartTime'] },
-	'markerstarget' => { 432 => [\'markers','markersTarget'] },
-	'markerstype' => { 432 => [\'markers','markersType'] },
-	'maskedareas' => { 107 => 0xc68e },
-	'masterdocumentid' => { 115 => 0xb9 },
-	'mastergain' => { 203 => 0x50 },
-	'matrixmetering' => { 242 => '50.1', 244 => '48.1', 252 => '48.1' },
-	'maxaperture' => { 31 => 0x1a, 127 => 0x6103, 144 => 'MaxAperture', 159 => 0x17, 165 => 0x49c5, 256 => 0x20a, 301 => '14.1', 380 => 0x0 },
-	'maxapertureatmaxfocal' => { 112 => 0x1407, 144 => 'MaxApertureAtMaxFocal', 191 => 0xb, 192 => 0x10, 193 => 0x11, 256 => 0x206 },
-	'maxapertureatminfocal' => { 112 => 0x1406, 191 => 0xa, 192 => 0xf, 193 => 0x10, 256 => 0x205 },
-	'maxaperturevalue' => { 107 => 0x9205, 319 => 0x414, 412 => 'MaxApertureValue' },
-	'maxavailheight' => { 418 => 'MaxAvailHeight' },
-	'maxavailwidth' => { 418 => 'MaxAvailWidth' },
-	'maxcontinuousrelease' => { 241 => 0xb, 242 => 0xc, 244 => '12.1', 248 => 0xc, 249 => 0xb, 252 => '12.1' },
-	'maxfaces' => { 259 => 0x1202 },
-	'maxfocallength' => { 6 => 0xe6, 7 => 0x10, 8 => 0x1ab, 9 => 0x13, 10 => 0x115, 11 => 0x13, 12 => 0x153, 13 => 0xda, 15 => 0xfa, 16 => 0xee, 17 => 0x103, 18 => 0x95, 19 => 0xea, 20 => 0x157, 21 => 0xee, 22 => 0xec, 23 => 0x12b, 24 => 0x165, 25 => 0x16a, 26 => 0x116, 31 => 0x17, 112 => 0x1405, 144 => 'MaxFocalLength', 191 => 0x9, 192 => 0xe, 193 => 0xf, 256 => 0x208, 375 => 0x127c, 376 => 0x1138, 377 => 0x330, 378 => 0x330 },
-	'maximumdensityrange' => { 117 => 0x8c },
-	'maxpagesize' => { 437 => 'MaxPageSize' },
-	'maxpagesizeh' => { 437 => [\'MaxPageSize','MaxPageSizeH'] },
-	'maxpagesizeunit' => { 437 => [\'MaxPageSize','MaxPageSizeUnit'] },
-	'maxpagesizew' => { 437 => [\'MaxPageSize','MaxPageSizeW'] },
-	'maxsamplevalue' => { 107 => 0x119 },
-	'maxstorage' => { 427 => 'maxstorage' },
-	'mb-d10batteries' => { 241 => '12.6' },
-	'mb-d10batterytype' => { 248 => '13.3' },
-	'mb-d11batterytype' => { 249 => '2.3' },
-	'mb-d12batterytype' => { 252 => '3.2' },
-	'mb-d80batteries' => { 250 => '6.5' },
-	'mb-d80batterytype' => { 253 => '3.2' },
-	'mcuversion' => { 191 => 0xc, 192 => 0x11, 193 => 0x12 },
-	'md5digest' => { 145 => 'zmd5' },
-	'meal' => { 424 => 'meal' },
-	'measuredev' => { 26 => 0x9, 67 => 0x3, 86 => 0x1814, 137 => 'MeasuredEV' },
-	'measuredev2' => { 12 => 0x8, 26 => 0x8, 67 => 0x17 },
+	'manualflash' => { 262 => 0x1209 },
+	'manualflashoutput' => { 33 => 0x29, 245 => '8.2', 248 => '22.2', 249 => '23.1', 250 => '23.2', 252 => '16.2', 253 => '23.2', 254 => '8.2', 255 => '23.2', 257 => '24.2', 339 => 0x100c },
+	'manualflashstrength' => { 259 => 0x406 },
+	'manualfocusdistance' => { 198 => 0x85, 264 => 0x100c, 348 => 0x223 },
+	'manualtv' => { 74 => 0x5, 75 => 0x705 },
+	'manufacturedate' => { 171 => 0x6705, 294 => 0x1 },
+	'manufacturedate1' => { 341 => 0x4 },
+	'manufacturedate2' => { 341 => 0x5 },
+	'manufacturer' => { 426 => 'manufacturer' },
+	'marked' => { 424 => 'Marked', 441 => 'Marked' },
+	'markers' => { 437 => 'markers' },
+	'markerscomment' => { 437 => [\'markers','markersComment'] },
+	'markerscuepointparams' => { 437 => [\'markers','markersCuePointParams'] },
+	'markerscuepointparamskey' => { 437 => [\'markers','markersCuePointParamsKey'] },
+	'markerscuepointparamsvalue' => { 437 => [\'markers','markersCuePointParamsValue'] },
+	'markerscuepointtype' => { 437 => [\'markers','markersCuePointType'] },
+	'markersduration' => { 437 => [\'markers','markersDuration'] },
+	'markerslocation' => { 437 => [\'markers','markersLocation'] },
+	'markersname' => { 437 => [\'markers','markersName'] },
+	'markersprobability' => { 437 => [\'markers','markersProbability'] },
+	'markersspeaker' => { 437 => [\'markers','markersSpeaker'] },
+	'markersstarttime' => { 437 => [\'markers','markersStartTime'] },
+	'markerstarget' => { 437 => [\'markers','markersTarget'] },
+	'markerstype' => { 437 => [\'markers','markersType'] },
+	'maskedareas' => { 109 => 0xc68e },
+	'masterdocumentid' => { 117 => 0xb9 },
+	'mastergain' => { 205 => 0x50 },
+	'matrixmetering' => { 244 => '50.1', 246 => '48.1', 247 => '48.1', 256 => '48.1' },
+	'maxaperture' => { 33 => 0x1a, 129 => 0x6103, 146 => 'MaxAperture', 161 => 0x17, 167 => 0x49c5, 260 => 0x20a, 305 => '14.1', 385 => 0x0 },
+	'maxapertureatmaxfocal' => { 114 => 0x1407, 146 => 'MaxApertureAtMaxFocal', 193 => 0xb, 194 => 0x10, 195 => 0x11, 260 => 0x206 },
+	'maxapertureatminfocal' => { 114 => 0x1406, 193 => 0xa, 194 => 0xf, 195 => 0x10, 260 => 0x205 },
+	'maxaperturevalue' => { 109 => 0x9205, 323 => 0x414, 417 => 'MaxApertureValue' },
+	'maxavailheight' => { 423 => 'MaxAvailHeight' },
+	'maxavailwidth' => { 423 => 'MaxAvailWidth' },
+	'maxcontinuousrelease' => { 243 => 0xb, 244 => 0xc, 246 => '12.1', 247 => '12.1', 252 => 0xc, 253 => 0xb, 256 => '12.1' },
+	'maxfaces' => { 263 => 0x1202 },
+	'maxfocallength' => { 6 => 0xe6, 7 => 0x10, 8 => 0x1ab, 9 => 0x13, 10 => 0x115, 11 => 0x13, 12 => 0x153, 13 => 0xda, 15 => 0xfa, 16 => 0xee, 17 => 0x103, 18 => 0x95, 19 => 0xea, 20 => 0x157, 21 => 0xee, 22 => 0xec, 23 => 0x12b, 24 => 0x165, 25 => 0x16a, 26 => 0x188, 27 => 0x116, 28 => 0x18d, 33 => 0x17, 114 => 0x1405, 146 => 'MaxFocalLength', 193 => 0x9, 194 => 0xe, 195 => 0xf, 260 => 0x208, 380 => 0x127c, 381 => 0x1138, 382 => 0x330, 383 => 0x330 },
+	'maximumdensityrange' => { 119 => 0x8c },
+	'maxpagesize' => { 442 => 'MaxPageSize' },
+	'maxpagesizeh' => { 442 => [\'MaxPageSize','MaxPageSizeH'] },
+	'maxpagesizeunit' => { 442 => [\'MaxPageSize','MaxPageSizeUnit'] },
+	'maxpagesizew' => { 442 => [\'MaxPageSize','MaxPageSizeW'] },
+	'maxsamplevalue' => { 109 => 0x119 },
+	'maxstorage' => { 432 => 'maxstorage' },
+	'mb-d10batteries' => { 243 => '12.6' },
+	'mb-d10batterytype' => { 252 => '13.3' },
+	'mb-d11batterytype' => { 253 => '2.3' },
+	'mb-d12batterytype' => { 256 => '3.2' },
+	'mb-d80batteries' => { 254 => '6.5' },
+	'mb-d80batterytype' => { 257 => '3.2' },
+	'mcuversion' => { 193 => 0xc, 194 => 0x11, 195 => 0x12 },
+	'md5digest' => { 147 => 'zmd5' },
+	'meal' => { 429 => 'meal' },
+	'measuredev' => { 27 => 0x9, 69 => 0x3, 88 => 0x1814, 139 => 'MeasuredEV' },
+	'measuredev2' => { 12 => 0x8, 27 => 0x8, 69 => 0x17 },
 	'measuredev3' => { 12 => 0x9 },
-	'measuredlv' => { 165 => 0x690, 272 => 0x312, 278 => 0x3407 },
-	'measuredrggb' => { 56 => 0x1 },
-	'measuredrggbdata' => { 37 => 0x287 },
-	'measurementaccuracy' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementAccuracy'] },
-	'measurementdeterminedby' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementDeterminedBy'] },
-	'measurementdetermineddate' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementDeterminedDate'] },
-	'measurementid' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementID'] },
-	'measurementmethod' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementMethod'] },
-	'measurementorfact' => { 106 => 'MeasurementOrFact' },
-	'measurementremarks' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementRemarks'] },
-	'measurementtype' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementType'] },
-	'measurementunit' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementUnit'] },
-	'measurementvalue' => { 106 => [\'MeasurementOrFact','MeasurementOrFactMeasurementValue'] },
-	'mediaconstraints' => { 265 => 'MediaConstraints' },
-	'mediacreatedate' => { 327 => 0x1 },
-	'mediamodifydate' => { 327 => 0x2 },
-	'mediasummarycode' => { 265 => 'MediaSummaryCode' },
-	'memoaudioquality' => { 73 => 0x812 },
-	'memorycardconfiguration' => { 358 => 0x16 },
-	'memorycardnumber' => { 183 => 0x2 },
-	'menubuttondisplayposition' => { 71 => 0xb, 74 => 0xa, 75 => 0xb, 78 => 0xb },
-	'menubuttonreturn' => { 79 => 0xb },
-	'menumonitorofftime' => { 241 => '26.1', 242 => '22.1', 244 => '22.1', 248 => '8.2', 249 => '21.1', 252 => '22.1', 253 => '22.1' },
-	'metadatadate' => { 430 => 'MetadataDate' },
-	'metadatamoddate' => { 432 => 'metadataModDate' },
-	'metaversion' => { 370 => 0x34 },
-	'meterinfo1row1' => { 365 => 0x0 },
-	'meterinfo1row2' => { 365 => 0x6c },
-	'meterinfo1row3' => { 365 => 0xd8 },
-	'meterinfo1row4' => { 365 => 0x144 },
-	'meterinfo1row5' => { 365 => 0x1b0 },
-	'meterinfo1row6' => { 365 => 0x21c },
-	'meterinfo1row7' => { 365 => 0x288 },
-	'meterinfo2row1' => { 365 => 0x2f4 },
-	'meterinfo2row2' => { 365 => 0x378 },
-	'meterinfo2row3' => { 365 => 0x3fc },
-	'meterinfo2row4' => { 365 => 0x480 },
-	'meterinfo2row5' => { 365 => 0x504 },
-	'meterinfo2row6' => { 365 => 0x588 },
-	'meterinfo2row7' => { 365 => 0x60c },
-	'meterinfo2row8' => { 365 => 0x690 },
-	'meterinfo2row9' => { 365 => 0x714 },
-	'metering' => { 243 => '6.1' },
-	'meteringmode' => { 31 => 0x11, 107 => 0x9207, 123 => 0x1c, 159 => 0x7, 160 => 0x25, 162 => 0x12, 255 => 0x202, 310 => 0x17, 344 => 0x9, 352 => 0x15, 353 => 0x13, 354 => 0x7, 368 => 0x3, 371 => 0x1174, 372 => 0x1178, 373 => 0x1154, 374 => 0x11d0, 375 => 0x11ac, 376 => 0x1064, 377 => 0x25c, 378 => 0x25c, 412 => 'MeteringMode' },
-	'meteringmode2' => { 291 => '2.1' },
-	'meteringmode3' => { 291 => '16.1' },
-	'meteringoffscaleindicator' => { 162 => 0x53 },
-	'meteringtime' => { 241 => '22.2', 243 => '3.2', 245 => '17.1', 246 => '18.1', 248 => '7.3', 249 => '18.1', 250 => '3.2', 253 => '19.1' },
-	'mieversion' => { 145 => '0Vers' },
-	'minaperture' => { 31 => 0x1b, 144 => 'MinAperture', 301 => '0.2', 380 => 0x1 },
-	'minaperturevalue' => { 319 => 0x415 },
-	'minfocallength' => { 6 => 0xe4, 7 => 0xe, 8 => 0x1a9, 9 => 0x11, 10 => 0x113, 11 => 0x11, 12 => 0x151, 13 => 0xd8, 15 => 0xf8, 16 => 0xec, 17 => 0x101, 18 => 0x93, 19 => 0xe8, 20 => 0x155, 21 => 0xec, 22 => 0xea, 23 => 0x129, 24 => 0x163, 25 => 0x168, 26 => 0x114, 31 => 0x18, 112 => 0x1404, 144 => 'MinFocalLength', 191 => 0x8, 192 => 0xd, 193 => 0xe, 256 => 0x207, 375 => 0x127a, 376 => 0x1136, 377 => 0x32e, 378 => 0x32e },
-	'minfocusdistance' => { 301 => 0x3 },
-	'minoltadate' => { 159 => 0x15 },
-	'minoltaimagesize' => { 159 => 0x4, 160 => 0xc, 161 => 0x2, 164 => 0x103 },
-	'minoltamodelid' => { 159 => 0x25 },
-	'minoltaquality' => { 159 => 0x5, 160 => 0xd, 161 => 0x3, 164 => [0x102,0x103] },
-	'minoltatime' => { 159 => 0x16 },
-	'minormodelagedisclosure' => { 265 => 'MinorModelAgeDisclosure' },
-	'minsamplevalue' => { 107 => 0x118 },
-	'mirrorlockup' => { 71 => 0xc, 72 => 0xc, 73 => 0x60f, 74 => 0xb, 75 => 0xc, 76 => 0x6, 77 => 0x6, 78 => 0xc, 79 => 0x3 },
-	'mobilecountrycode' => { 406 => 'mcc' },
-	'mobilenetworkcode' => { 406 => 'mnc' },
-	'moddate' => { 268 => 'modify-date', 419 => 'ModDate' },
-	'modedialposition' => { 358 => 0x14 },
-	'model' => { 87 => 0x6, 107 => 0x110, 137 => 'Model', 268 => 'Model', 280 => 0x110, 421 => 'model', 428 => 'Model' },
-	'modelage' => { 418 => 'ModelAge' },
-	'modelid' => { 254 => 0x0 },
-	'modelingflash' => { 241 => '21.4', 242 => '31.1', 244 => '31.1', 248 => '26.4', 249 => '30.2', 250 => '7.4', 251 => '30.1', 252 => '31.1', 253 => '31.3' },
-	'modelreleaseid' => { 265 => 'ModelReleaseID' },
-	'modelreleasestatus' => { 265 => 'ModelReleaseStatus' },
-	'modelreleaseyear' => { 381 => 0x52, 382 => 0x46, 383 => 0x53 },
-	'modelyear' => { 421 => 'modelYear' },
-	'modificationdate' => { 422 => 'modificationDate' },
-	'modifiedcolortemp' => { 57 => 0x9 },
-	'modifieddigitalgain' => { 57 => 0xb },
-	'modifiedparamflag' => { 50 => 0x1 },
-	'modifiedpicturestyle' => { 57 => 0xa },
-	'modifiedsaturation' => { 255 => 0x504 },
-	'modifiedsensorbluelevel' => { 57 => 0x5 },
-	'modifiedsensorredlevel' => { 57 => 0x4 },
-	'modifiedsharpness' => { 57 => 0x2 },
-	'modifiedsharpnessfreq' => { 57 => 0x3 },
-	'modifiedtonecurve' => { 57 => 0x1 },
-	'modifiedwhitebalance' => { 57 => 0x8 },
-	'modifiedwhitebalanceblue' => { 57 => 0x7 },
-	'modifiedwhitebalancered' => { 57 => 0x6 },
-	'modifydate' => { 107 => 0x132, 138 => 'ModifyDate', 264 => 'ModDate', 266 => 'tIME', 326 => 'ModDate', 328 => 0x2, 430 => 'ModifyDate' },
-	'moirefilter' => { 107 => 0xfe58, 408 => 'MoireFilter' },
-	'monitordisplayoff' => { 162 => 0x4c },
-	'monitorofftime' => { 241 => '18.2', 243 => '3.1', 250 => '3.1' },
-	'monochromecolor' => { 255 => 0x53b },
-	'monochromecontrast' => { 98 => 0x3c },
-	'monochromefiltereffect' => { 92 => 0x20307, 98 => 0x3a, 310 => 0x73 },
-	'monochromelinear' => { 98 => 0x3d },
-	'monochromeoutputhighlightpoint' => { 98 => 0x41 },
-	'monochromeoutputshadowpoint' => { 98 => 0x42 },
-	'monochromeprofilesettings' => { 255 => 0x537 },
-	'monochromerawhighlight' => { 98 => 0x7a },
-	'monochromerawhighlightpoint' => { 98 => 0x3f },
-	'monochromerawshadow' => { 98 => 0x83 },
-	'monochromerawshadowpoint' => { 98 => 0x40 },
-	'monochromesharpness' => { 98 => 0x3e },
-	'monochrometoning' => { 310 => 0x74 },
-	'monochrometoningeffect' => { 92 => 0x20306, 98 => 0x3b },
-	'monochromeunsharpmaskfineness' => { 98 => 0xb2 },
-	'monochromeunsharpmaskstrength' => { 98 => 0xb0 },
-	'monochromeunsharpmaskthreshold' => { 98 => 0xb4 },
-	'monochromevignetting' => { 255 => 0x53a },
-	'monthdaycreated' => { 123 => 0x12, 132 => 0xe },
-	'moonphase' => { 331 => 0x12 },
-	'morepermissions' => { 405 => 'morePermissions' },
-	'motionsensitivity' => { 331 => 0x29 },
-	'movieaelockbuttonassignment' => { 252 => '40.1' },
-	'moviefunctionbutton' => { 242 => '41.1', 252 => '41.1' },
-	'moviefunctionbuttonplusdials' => { 242 => '52.1' },
-	'moviepreviewbutton' => { 242 => '41.2', 244 => ['41.1','41.2'], 252 => '41.2' },
-	'moviepreviewbuttonplusdials' => { 242 => '52.2' },
-	'movieshutterbutton' => { 242 => '38.3', 244 => '38.3', 252 => '38.3' },
-	'moviesubselectorassignment' => { 242 => '48.2' },
-	'moviesubselectorassignmentplusdials' => { 242 => '53.1' },
-	'multiburstimageheight' => { 364 => 0x1002 },
-	'multiburstimagewidth' => { 364 => 0x1001 },
-	'multiburstmode' => { 364 => 0x1000 },
-	'multicontrollerwhilemetering' => { 73 => 0x517 },
-	'multiexposure' => { 59 => 0x1 },
-	'multiexposureautogain' => { 197 => 0x3 },
-	'multiexposurecontrol' => { 59 => 0x2 },
-	'multiexposuremode' => { 197 => 0x1 },
-	'multiexposureshots' => { 59 => 0x3, 197 => 0x2 },
-	'multiframenoisereduction' => { 354 => 0x35, 364 => 0x200b, 368 => 0x15 },
-	'multifunctionlock' => { 73 => 0x70f },
-	'multipleexposuremode' => { 259 => 0x101c },
-	'multipleexposureset' => { 291 => '10.1' },
-	'multisample' => { 203 => 0x40 },
-	'multiselector' => { 241 => '9.4', 242 => '10.3', 244 => '10.3', 248 => '27.4', 252 => '10.3' },
-	'multiselectorliveview' => { 241 => '4.3', 244 => '37.1', 252 => '37.1' },
-	'multiselectorliveviewmode' => { 213 => 0x18c2 },
-	'multiselectorplaybackmode' => { 241 => ['13.5','9.2'], 242 => '10.2', 244 => '10.2', 248 => '27.2', 252 => '10.2' },
-	'multiselectorshootmode' => { 241 => '9.1', 242 => '10.1', 244 => '10.1', 248 => '27.1', 252 => '10.1' },
-	'mycolormode' => { 60 => 0x2 },
-	'nationalcatalognumber' => { 422 => 'nationalCatalogNumber' },
-	'nativedigest' => { 412 => 'NativeDigest', 428 => 'NativeDigest' },
-	'ncdfileinfo' => { 121 => 0x414 },
-	'ndfilter' => { 67 => 0x1c, 255 => 0x204, 335 => 0x1019 },
-	'nefbitdepth' => { 196 => 0xe22 },
-	'nefcompression' => { 196 => 0x93 },
-	'neflinearizationtable' => { 196 => 0x96 },
-	'negativecachelargepreviewsize' => { 408 => 'NegativeCacheLargePreviewSize' },
-	'negativecachemaximumsize' => { 408 => 'NegativeCacheMaximumSize' },
-	'negativecachepath' => { 408 => 'NegativeCachePath' },
-	'neutraldensityfilter' => { 310 => 0x88 },
-	'neutraloutputhighlightpoint' => { 98 => 0x2f },
-	'neutraloutputshadowpoint' => { 98 => 0x30 },
-	'neutralrawcolortone' => { 98 => 0x28 },
-	'neutralrawcontrast' => { 98 => 0x2a },
-	'neutralrawhighlight' => { 98 => 0x78 },
-	'neutralrawhighlightpoint' => { 98 => 0x2d },
-	'neutralrawlinear' => { 98 => 0x2b },
-	'neutralrawsaturation' => { 98 => 0x29 },
-	'neutralrawshadow' => { 98 => 0x81 },
-	'neutralrawshadowpoint' => { 98 => 0x2e },
-	'neutralrawsharpness' => { 98 => 0x2c },
-	'neutralunsharpmaskfineness' => { 98 => 0xa6 },
-	'neutralunsharpmaskthreshold' => { 98 => 0xa8 },
-	'neutraunsharpmaskstrength' => { 98 => 0xa4 },
-	'newrawimagedigest' => { 107 => 0xc7a7 },
-	'newsphotoversion' => { 117 => 0x0 },
-	'nickname' => { 430 => 'Nickname' },
-	'nikoncapturedata' => { 196 => 0xe01 },
-	'nikoncaptureeditversions' => { 196 => 0xe13 },
-	'nikoncaptureoutput' => { 196 => 0xe1e },
-	'nikoncaptureversion' => { 196 => 0xe09 },
-	'nikoniccprofile' => { 196 => 0xe1d },
-	'nikonimagesize' => { 210 => '723.1', 211 => '732.1', 220 => 0x2c4 },
-	'noisefilter' => { 255 => 0x527 },
-	'noiseprofile' => { 107 => 0xc761 },
-	'noisereduction' => { 112 => 0x100b, 160 => 0xb0, 161 => 0x60, 162 => 0x3f, 196 => 0x95, 234 => 0x753dcbc0, 235 => 0x17, 255 => 0x50a, 260 => 0x103a, 276 => 0x2d, 310 => 0x49, 335 => 0x100f, 337 => 0x2a },
-	'noisereduction2' => { 259 => 0x1010 },
-	'noisereductionapplied' => { 107 => 0xc6f7 },
-	'noisereductionintensity' => { 235 => 0x9 },
-	'noisereductionmethod' => { 235 => 0x11 },
-	'noisereductionmode' => { 393 => 0x801e },
-	'noisereductionsharpness' => { 235 => 0xd },
-	'noisereductionvalue' => { 393 => 0x8027 },
-	'nomemorycard' => { 241 => '22.1', 242 => '4.2', 243 => '0.3', 245 => '2.4', 246 => '3.2', 247 => '3.2', 248 => '33.7', 249 => '3.2', 250 => '0.3', 252 => '4.2', 253 => '4.5' },
-	'nominalmaxaperture' => { 301 => 0xa },
-	'nominalminaperture' => { 301 => '10.1' },
-	'normalwhitelevel' => { 38 => [0x2b8,0x2cf,0x2d3], 40 => 0x1e3, 41 => [0x1fc,0x2dc], 42 => [0x230,0x30e] },
-	'notes' => { 394 => 'Notes', 402 => 'notes' },
-	'npages' => { 437 => 'NPages' },
-	'nrwdata' => { 196 => 0x14 },
-	'nullrecord' => { 86 => 0x0 },
-	'numafpoints' => { 287 => 0x2 },
-	'number' => { 422 => 'number' },
-	'numberofbeats' => { 432 => 'numberOfBeats' },
-	'numberoffocuspoints' => { 244 => '1.2', 247 => '0.2', 249 => '0.3' },
-	'numfacepositions' => { 270 => 0x0 },
-	'numindexentries' => { 117 => 0x54 },
-	'numwbentries' => { 281 => 0x0, 282 => 0x0 },
-	'object' => { 422 => 'object' },
-	'objectattributereference' => { 115 => 0x4 },
-	'objectcycle' => { 115 => 0x4b, 402 => 'ObjectCycle' },
-	'objectdescription' => { 421 => 'objectDescription' },
-	'objectdistance' => { 101 => 0x6, 102 => 0x2022 },
-	'objectname' => { 115 => 0x5 },
-	'objectpreviewdata' => { 115 => 0xca },
-	'objectpreviewfileformat' => { 115 => 0xc8 },
-	'objectpreviewfileversion' => { 115 => 0xc9 },
-	'objectsubtype' => { 421 => 'objectSubtype' },
-	'objecttype' => { 421 => 'objectType' },
-	'objecttypereference' => { 115 => 0x3 },
-	'occurrence' => { 106 => 'Occurrence' },
-	'occurrenceassociatedmedia' => { 106 => [\'Occurrence','OccurrenceAssociatedMedia'] },
-	'occurrenceassociatedoccurrences' => { 106 => [\'Occurrence','OccurrenceAssociatedOccurrences'] },
-	'occurrenceassociatedreferences' => { 106 => [\'Occurrence','OccurrenceAssociatedReferences'] },
-	'occurrenceassociatedsequences' => { 106 => [\'Occurrence','OccurrenceAssociatedSequences'] },
-	'occurrenceassociatedtaxa' => { 106 => [\'Occurrence','OccurrenceAssociatedTaxa'] },
-	'occurrencebehavior' => { 106 => [\'Occurrence','OccurrenceBehavior'] },
-	'occurrencecatalognumber' => { 106 => [\'Occurrence','OccurrenceCatalogNumber'] },
-	'occurrencedetails' => { 106 => [\'Occurrence','OccurrenceOccurrenceDetails'] },
-	'occurrencedisposition' => { 106 => [\'Occurrence','OccurrenceDisposition'] },
-	'occurrenceestablishmentmeans' => { 106 => [\'Occurrence','OccurrenceEstablishmentMeans'] },
-	'occurrenceid' => { 106 => [\'Occurrence','OccurrenceOccurrenceID'] },
-	'occurrenceindividualcount' => { 106 => [\'Occurrence','OccurrenceIndividualCount'] },
-	'occurrenceindividualid' => { 106 => [\'Occurrence','OccurrenceIndividualID'] },
-	'occurrencelifestage' => { 106 => [\'Occurrence','OccurrenceLifeStage'] },
-	'occurrenceothercatalognumbers' => { 106 => [\'Occurrence','OccurrenceOtherCatalogNumbers'] },
-	'occurrencepreparations' => { 106 => [\'Occurrence','OccurrencePreparations'] },
-	'occurrencepreviousidentifications' => { 106 => [\'Occurrence','OccurrencePreviousIdentifications'] },
-	'occurrencerecordedby' => { 106 => [\'Occurrence','OccurrenceRecordedBy'] },
-	'occurrencerecordnumber' => { 106 => [\'Occurrence','OccurrenceRecordNumber'] },
-	'occurrenceremarks' => { 106 => [\'Occurrence','OccurrenceOccurrenceRemarks'] },
-	'occurrencereproductivecondition' => { 106 => [\'Occurrence','OccurrenceReproductiveCondition'] },
-	'occurrencesex' => { 106 => [\'Occurrence','OccurrenceSex'] },
-	'occurrencestatus' => { 106 => [\'Occurrence','OccurrenceOccurrenceStatus'] },
-	'oecfcolumns' => { 412 => [\'OECF','OECFColumns'] },
-	'oecfnames' => { 412 => [\'OECF','OECFNames'] },
-	'oecfrows' => { 412 => [\'OECF','OECFRows'] },
-	'oecfvalues' => { 412 => [\'OECF','OECFValues'] },
-	'offsaledate' => { 422 => 'offSaleDate' },
-	'offsaledatea-platform' => { 422 => [\'offSaleDate','offSaleDateA-platform'] },
-	'offsaledatedate' => { 422 => [\'offSaleDate','offSaleDateDate'] },
-	'offsetschema' => { 107 => 0xea1d },
-	'okbutton' => { 249 => '15.1', 253 => '16.1' },
-	'oldsubfiletype' => { 107 => 0xff },
-	'olympusimageheight' => { 260 => 0x102f },
-	'olympusimagewidth' => { 260 => 0x102e },
+	'measuredlv' => { 167 => 0x690, 276 => 0x312, 282 => 0x3407 },
+	'measuredrggb' => { 58 => 0x1 },
+	'measuredrggbdata' => { 39 => 0x287 },
+	'measurementaccuracy' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementAccuracy'] },
+	'measurementdeterminedby' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementDeterminedBy'] },
+	'measurementdetermineddate' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementDeterminedDate'] },
+	'measurementid' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementID'] },
+	'measurementmethod' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementMethod'] },
+	'measurementorfact' => { 108 => 'MeasurementOrFact' },
+	'measurementremarks' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementRemarks'] },
+	'measurementtype' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementType'] },
+	'measurementunit' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementUnit'] },
+	'measurementvalue' => { 108 => [\'MeasurementOrFact','MeasurementOrFactMeasurementValue'] },
+	'mediaconstraints' => { 269 => 'MediaConstraints' },
+	'mediacreatedate' => { 331 => 0x1 },
+	'mediamodifydate' => { 331 => 0x2 },
+	'mediasummarycode' => { 269 => 'MediaSummaryCode' },
+	'memoaudioquality' => { 75 => 0x812 },
+	'memorycardconfiguration' => { 363 => 0x16 },
+	'memorycardnumber' => { 185 => 0x2 },
+	'menubuttondisplayposition' => { 73 => 0xb, 76 => 0xa, 77 => 0xb, 80 => 0xb },
+	'menubuttonreturn' => { 81 => 0xb },
+	'menumonitorofftime' => { 243 => '26.1', 244 => '22.1', 246 => '22.1', 247 => '22.1', 251 => '21.1', 252 => '8.2', 253 => '21.1', 256 => '22.1', 257 => '22.1' },
+	'metadatadate' => { 435 => 'MetadataDate' },
+	'metadatamoddate' => { 437 => 'metadataModDate' },
+	'metaversion' => { 375 => 0x34 },
+	'meterinfo1row1' => { 370 => 0x0 },
+	'meterinfo1row2' => { 370 => 0x6c },
+	'meterinfo1row3' => { 370 => 0xd8 },
+	'meterinfo1row4' => { 370 => 0x144 },
+	'meterinfo1row5' => { 370 => 0x1b0 },
+	'meterinfo1row6' => { 370 => 0x21c },
+	'meterinfo1row7' => { 370 => 0x288 },
+	'meterinfo2row1' => { 370 => 0x2f4 },
+	'meterinfo2row2' => { 370 => 0x378 },
+	'meterinfo2row3' => { 370 => 0x3fc },
+	'meterinfo2row4' => { 370 => 0x480 },
+	'meterinfo2row5' => { 370 => 0x504 },
+	'meterinfo2row6' => { 370 => 0x588 },
+	'meterinfo2row7' => { 370 => 0x60c },
+	'meterinfo2row8' => { 370 => 0x690 },
+	'meterinfo2row9' => { 370 => 0x714 },
+	'metering' => { 245 => '6.1' },
+	'meteringmode' => { 33 => 0x11, 109 => 0x9207, 125 => 0x1c, 161 => 0x7, 162 => 0x25, 164 => 0x12, 259 => 0x202, 314 => 0x17, 349 => 0x9, 357 => 0x15, 358 => 0x13, 359 => 0x7, 373 => 0x3, 376 => 0x1174, 377 => 0x1178, 378 => 0x1154, 379 => 0x11d0, 380 => 0x11ac, 381 => 0x1064, 382 => 0x25c, 383 => 0x25c, 417 => 'MeteringMode' },
+	'meteringmode2' => { 295 => '2.1' },
+	'meteringmode3' => { 295 => '16.1' },
+	'meteringoffscaleindicator' => { 164 => 0x53 },
+	'meteringtime' => { 243 => '22.2', 245 => '3.2', 248 => '17.1', 249 => '18.1', 252 => '7.3', 253 => '18.1', 254 => '3.2', 257 => '19.1' },
+	'mieversion' => { 147 => '0Vers' },
+	'minaperture' => { 33 => 0x1b, 146 => 'MinAperture', 305 => '0.2', 385 => 0x1 },
+	'minaperturevalue' => { 323 => 0x415 },
+	'minfocallength' => { 6 => 0xe4, 7 => 0xe, 8 => 0x1a9, 9 => 0x11, 10 => 0x113, 11 => 0x11, 12 => 0x151, 13 => 0xd8, 15 => 0xf8, 16 => 0xec, 17 => 0x101, 18 => 0x93, 19 => 0xe8, 20 => 0x155, 21 => 0xec, 22 => 0xea, 23 => 0x129, 24 => 0x163, 25 => 0x168, 26 => 0x186, 27 => 0x114, 28 => 0x18b, 33 => 0x18, 114 => 0x1404, 146 => 'MinFocalLength', 193 => 0x8, 194 => 0xd, 195 => 0xe, 260 => 0x207, 380 => 0x127a, 381 => 0x1136, 382 => 0x32e, 383 => 0x32e },
+	'minfocusdistance' => { 305 => 0x3 },
+	'minoltadate' => { 161 => 0x15 },
+	'minoltaimagesize' => { 161 => 0x4, 162 => 0xc, 163 => 0x2, 166 => 0x103 },
+	'minoltamodelid' => { 161 => 0x25 },
+	'minoltaquality' => { 161 => 0x5, 162 => 0xd, 163 => 0x3, 166 => [0x102,0x103] },
+	'minoltatime' => { 161 => 0x16 },
+	'minormodelagedisclosure' => { 269 => 'MinorModelAgeDisclosure' },
+	'minsamplevalue' => { 109 => 0x118 },
+	'mirrorlockup' => { 73 => 0xc, 74 => 0xc, 75 => 0x60f, 76 => 0xb, 77 => 0xc, 78 => 0x6, 79 => 0x6, 80 => 0xc, 81 => 0x3 },
+	'mobilecountrycode' => { 411 => 'mcc' },
+	'mobilenetworkcode' => { 411 => 'mnc' },
+	'moddate' => { 272 => 'modify-date', 424 => 'ModDate' },
+	'modedialposition' => { 363 => 0x14 },
+	'model' => { 89 => 0x6, 109 => 0x110, 139 => 'Model', 272 => 'Model', 284 => 0x110, 349 => 0x84, 426 => 'model', 433 => 'Model' },
+	'modelage' => { 423 => 'ModelAge' },
+	'modelid' => { 258 => 0x0 },
+	'modelingflash' => { 243 => '21.4', 244 => '31.1', 246 => '31.1', 247 => '31.1', 252 => '26.4', 253 => '30.2', 254 => '7.4', 255 => '30.1', 256 => '31.1', 257 => '31.3' },
+	'modelreleaseid' => { 269 => 'ModelReleaseID' },
+	'modelreleasestatus' => { 269 => 'ModelReleaseStatus' },
+	'modelreleaseyear' => { 386 => 0x52, 387 => 0x46, 388 => 0x53 },
+	'modelyear' => { 426 => 'modelYear' },
+	'modificationdate' => { 427 => 'modificationDate' },
+	'modifiedcolortemp' => { 59 => 0x9 },
+	'modifieddigitalgain' => { 59 => 0xb },
+	'modifiedparamflag' => { 52 => 0x1 },
+	'modifiedpicturestyle' => { 59 => 0xa },
+	'modifiedsaturation' => { 259 => 0x504 },
+	'modifiedsensorbluelevel' => { 59 => 0x5 },
+	'modifiedsensorredlevel' => { 59 => 0x4 },
+	'modifiedsharpness' => { 59 => 0x2 },
+	'modifiedsharpnessfreq' => { 59 => 0x3 },
+	'modifiedtonecurve' => { 59 => 0x1 },
+	'modifiedwhitebalance' => { 59 => 0x8 },
+	'modifiedwhitebalanceblue' => { 59 => 0x7 },
+	'modifiedwhitebalancered' => { 59 => 0x6 },
+	'modifydate' => { 109 => 0x132, 140 => 'ModifyDate', 268 => 'ModDate', 270 => 'tIME', 330 => 'ModDate', 332 => 0x2, 435 => 'ModifyDate' },
+	'moirefilter' => { 109 => 0xfe58, 413 => 'MoireFilter' },
+	'monitordisplayoff' => { 164 => 0x4c },
+	'monitorofftime' => { 243 => '18.2', 245 => '3.1', 254 => '3.1' },
+	'monochromecolor' => { 259 => 0x53b },
+	'monochromecontrast' => { 100 => 0x3c },
+	'monochromefiltereffect' => { 94 => 0x20307, 100 => 0x3a, 314 => 0x73 },
+	'monochromelinear' => { 100 => 0x3d },
+	'monochromeoutputhighlightpoint' => { 100 => 0x41 },
+	'monochromeoutputshadowpoint' => { 100 => 0x42 },
+	'monochromeprofilesettings' => { 259 => 0x537 },
+	'monochromerawhighlight' => { 100 => 0x7a },
+	'monochromerawhighlightpoint' => { 100 => 0x3f },
+	'monochromerawshadow' => { 100 => 0x83 },
+	'monochromerawshadowpoint' => { 100 => 0x40 },
+	'monochromesharpness' => { 100 => 0x3e },
+	'monochrometoning' => { 314 => 0x74 },
+	'monochrometoningeffect' => { 94 => 0x20306, 100 => 0x3b },
+	'monochromeunsharpmaskfineness' => { 100 => 0xb2 },
+	'monochromeunsharpmaskstrength' => { 100 => 0xb0 },
+	'monochromeunsharpmaskthreshold' => { 100 => 0xb4 },
+	'monochromevignetting' => { 259 => 0x53a },
+	'monthdaycreated' => { 125 => 0x12, 134 => 0xe },
+	'moonphase' => { 335 => 0x12 },
+	'morepermissions' => { 410 => 'morePermissions' },
+	'motionsensitivity' => { 335 => 0x29 },
+	'movieaelockbuttonassignment' => { 256 => '40.1' },
+	'moviefunc1button' => { 246 => '41.1', 247 => '41.1' },
+	'moviefunctionbutton' => { 244 => '41.1', 256 => '41.1' },
+	'moviefunctionbuttonplusdials' => { 244 => '52.1' },
+	'moviepreviewbutton' => { 244 => '41.2', 246 => '41.2', 247 => '41.2', 256 => '41.2' },
+	'moviepreviewbuttonplusdials' => { 244 => '52.2' },
+	'movieshutterbutton' => { 244 => '38.3', 246 => '38.3', 247 => '38.3', 256 => '38.3' },
+	'moviesubselectorassignment' => { 244 => '48.2' },
+	'moviesubselectorassignmentplusdials' => { 244 => '53.1' },
+	'multiburstimageheight' => { 369 => 0x1002 },
+	'multiburstimagewidth' => { 369 => 0x1001 },
+	'multiburstmode' => { 369 => 0x1000 },
+	'multicontrollerwhilemetering' => { 75 => 0x517 },
+	'multiexposure' => { 61 => 0x1 },
+	'multiexposureautogain' => { 199 => 0x3 },
+	'multiexposurecontrol' => { 61 => 0x2 },
+	'multiexposuremode' => { 199 => 0x1 },
+	'multiexposureshots' => { 61 => 0x3, 199 => 0x2 },
+	'multiframenoisereduction' => { 359 => 0x35, 369 => 0x200b, 373 => 0x15 },
+	'multifunctionlock' => { 75 => 0x70f },
+	'multipleexposuremode' => { 263 => 0x101c },
+	'multipleexposureset' => { 295 => '10.1' },
+	'multisample' => { 205 => 0x40 },
+	'multiselector' => { 243 => '9.4', 244 => '10.3', 246 => '10.3', 247 => '10.3', 252 => '27.4', 256 => '10.3' },
+	'multiselectorliveview' => { 243 => '4.3', 246 => '37.1', 247 => '37.1', 256 => '37.1' },
+	'multiselectorliveviewmode' => { 215 => 0x18c2 },
+	'multiselectorplaybackmode' => { 243 => ['13.5','9.2'], 244 => '10.2', 247 => '10.2', 252 => '27.2', 256 => '10.2' },
+	'multiselectorshootmode' => { 243 => '9.1', 244 => '10.1', 246 => '10.1', 247 => '10.1', 252 => '27.1', 256 => '10.1' },
+	'mycolormode' => { 62 => 0x2 },
+	'nationalcatalognumber' => { 427 => 'nationalCatalogNumber' },
+	'nativedigest' => { 417 => 'NativeDigest', 433 => 'NativeDigest' },
+	'ncdfileinfo' => { 123 => 0x414 },
+	'ndfilter' => { 69 => 0x1c, 259 => 0x204, 339 => 0x1019 },
+	'nefbitdepth' => { 198 => 0xe22 },
+	'nefcompression' => { 198 => 0x93 },
+	'neflinearizationtable' => { 198 => 0x96 },
+	'negativecachelargepreviewsize' => { 413 => 'NegativeCacheLargePreviewSize' },
+	'negativecachemaximumsize' => { 413 => 'NegativeCacheMaximumSize' },
+	'negativecachepath' => { 413 => 'NegativeCachePath' },
+	'neutraldensityfilter' => { 314 => 0x88 },
+	'neutraloutputhighlightpoint' => { 100 => 0x2f },
+	'neutraloutputshadowpoint' => { 100 => 0x30 },
+	'neutralrawcolortone' => { 100 => 0x28 },
+	'neutralrawcontrast' => { 100 => 0x2a },
+	'neutralrawhighlight' => { 100 => 0x78 },
+	'neutralrawhighlightpoint' => { 100 => 0x2d },
+	'neutralrawlinear' => { 100 => 0x2b },
+	'neutralrawsaturation' => { 100 => 0x29 },
+	'neutralrawshadow' => { 100 => 0x81 },
+	'neutralrawshadowpoint' => { 100 => 0x2e },
+	'neutralrawsharpness' => { 100 => 0x2c },
+	'neutralunsharpmaskfineness' => { 100 => 0xa6 },
+	'neutralunsharpmaskthreshold' => { 100 => 0xa8 },
+	'neutraunsharpmaskstrength' => { 100 => 0xa4 },
+	'newrawimagedigest' => { 109 => 0xc7a7 },
+	'newsphotoversion' => { 119 => 0x0 },
+	'nickname' => { 435 => 'Nickname' },
+	'nikoncapturedata' => { 198 => 0xe01 },
+	'nikoncaptureeditversions' => { 198 => 0xe13 },
+	'nikoncaptureoutput' => { 198 => 0xe1e },
+	'nikoncaptureversion' => { 198 => 0xe09 },
+	'nikoniccprofile' => { 198 => 0xe1d },
+	'nikonimagesize' => { 212 => '723.1', 213 => '732.1', 222 => 0x2c4 },
+	'noisefilter' => { 259 => 0x527 },
+	'noiseprofile' => { 109 => 0xc761 },
+	'noisereduction' => { 114 => 0x100b, 162 => 0xb0, 163 => 0x60, 164 => 0x3f, 198 => 0x95, 236 => 0x753dcbc0, 237 => 0x17, 259 => 0x50a, 264 => 0x103a, 280 => 0x2d, 314 => 0x49, 339 => 0x100f, 341 => 0x2a },
+	'noisereduction2' => { 263 => 0x1010 },
+	'noisereductionapplied' => { 109 => 0xc6f7 },
+	'noisereductionintensity' => { 237 => 0x9 },
+	'noisereductionmethod' => { 237 => 0x11 },
+	'noisereductionmode' => { 398 => 0x801e },
+	'noisereductionsharpness' => { 237 => 0xd },
+	'noisereductionvalue' => { 398 => 0x8027 },
+	'nomemorycard' => { 243 => '22.1', 244 => '4.2', 245 => '0.3', 248 => '2.4', 249 => '3.2', 250 => '3.2', 252 => '33.7', 253 => '3.2', 254 => '0.3', 256 => '4.2', 257 => '4.5' },
+	'nominalmaxaperture' => { 305 => 0xa },
+	'nominalminaperture' => { 305 => '10.1' },
+	'normalwhitelevel' => { 40 => [0x2b8,0x2cf,0x2d3], 42 => 0x1e3, 43 => [0x1fc,0x2dc], 44 => [0x230,0x30e] },
+	'notes' => { 399 => 'Notes', 407 => 'notes' },
+	'npages' => { 442 => 'NPages' },
+	'nrwdata' => { 198 => 0x14 },
+	'nullrecord' => { 88 => 0x0 },
+	'numafpoints' => { 291 => 0x2 },
+	'number' => { 427 => 'number' },
+	'numberofbeats' => { 437 => 'numberOfBeats' },
+	'numberoffocuspoints' => { 246 => '1.2', 247 => '1.2', 250 => '0.2', 251 => '0.3', 253 => '0.3' },
+	'numfacepositions' => { 274 => 0x0 },
+	'numindexentries' => { 119 => 0x54 },
+	'numwbentries' => { 285 => 0x0, 286 => 0x0 },
+	'object' => { 427 => 'object' },
+	'objectattributereference' => { 117 => 0x4 },
+	'objectcycle' => { 117 => 0x4b, 407 => 'ObjectCycle' },
+	'objectdescription' => { 426 => 'objectDescription' },
+	'objectdistance' => { 103 => 0x6, 104 => 0x2022 },
+	'objectname' => { 117 => 0x5 },
+	'objectpreviewdata' => { 117 => 0xca },
+	'objectpreviewfileformat' => { 117 => 0xc8 },
+	'objectpreviewfileversion' => { 117 => 0xc9 },
+	'objectsubtype' => { 426 => 'objectSubtype' },
+	'objecttype' => { 426 => 'objectType' },
+	'objecttypereference' => { 117 => 0x3 },
+	'occurrence' => { 108 => 'Occurrence' },
+	'occurrenceassociatedmedia' => { 108 => [\'Occurrence','OccurrenceAssociatedMedia'] },
+	'occurrenceassociatedoccurrences' => { 108 => [\'Occurrence','OccurrenceAssociatedOccurrences'] },
+	'occurrenceassociatedreferences' => { 108 => [\'Occurrence','OccurrenceAssociatedReferences'] },
+	'occurrenceassociatedsequences' => { 108 => [\'Occurrence','OccurrenceAssociatedSequences'] },
+	'occurrenceassociatedtaxa' => { 108 => [\'Occurrence','OccurrenceAssociatedTaxa'] },
+	'occurrencebehavior' => { 108 => [\'Occurrence','OccurrenceBehavior'] },
+	'occurrencecatalognumber' => { 108 => [\'Occurrence','OccurrenceCatalogNumber'] },
+	'occurrencedetails' => { 108 => [\'Occurrence','OccurrenceOccurrenceDetails'] },
+	'occurrencedisposition' => { 108 => [\'Occurrence','OccurrenceDisposition'] },
+	'occurrenceestablishmentmeans' => { 108 => [\'Occurrence','OccurrenceEstablishmentMeans'] },
+	'occurrenceid' => { 108 => [\'Occurrence','OccurrenceOccurrenceID'] },
+	'occurrenceindividualcount' => { 108 => [\'Occurrence','OccurrenceIndividualCount'] },
+	'occurrenceindividualid' => { 108 => [\'Occurrence','OccurrenceIndividualID'] },
+	'occurrencelifestage' => { 108 => [\'Occurrence','OccurrenceLifeStage'] },
+	'occurrenceothercatalognumbers' => { 108 => [\'Occurrence','OccurrenceOtherCatalogNumbers'] },
+	'occurrencepreparations' => { 108 => [\'Occurrence','OccurrencePreparations'] },
+	'occurrencepreviousidentifications' => { 108 => [\'Occurrence','OccurrencePreviousIdentifications'] },
+	'occurrencerecordedby' => { 108 => [\'Occurrence','OccurrenceRecordedBy'] },
+	'occurrencerecordnumber' => { 108 => [\'Occurrence','OccurrenceRecordNumber'] },
+	'occurrenceremarks' => { 108 => [\'Occurrence','OccurrenceOccurrenceRemarks'] },
+	'occurrencereproductivecondition' => { 108 => [\'Occurrence','OccurrenceReproductiveCondition'] },
+	'occurrencesex' => { 108 => [\'Occurrence','OccurrenceSex'] },
+	'occurrencestatus' => { 108 => [\'Occurrence','OccurrenceOccurrenceStatus'] },
+	'oecfcolumns' => { 417 => [\'OECF','OECFColumns'] },
+	'oecfnames' => { 417 => [\'OECF','OECFNames'] },
+	'oecfrows' => { 417 => [\'OECF','OECFRows'] },
+	'oecfvalues' => { 417 => [\'OECF','OECFValues'] },
+	'offsaledate' => { 427 => 'offSaleDate' },
+	'offsaledatea-platform' => { 427 => [\'offSaleDate','offSaleDateA-platform'] },
+	'offsaledatedate' => { 427 => [\'offSaleDate','offSaleDateDate'] },
+	'offsetschema' => { 109 => 0xea1d },
+	'offsettime' => { 109 => 0x9010 },
+	'offsettimedigitized' => { 109 => 0x9012 },
+	'offsettimeoriginal' => { 109 => 0x9011 },
+	'okbutton' => { 253 => '15.1', 257 => '16.1' },
+	'oldsubfiletype' => { 109 => 0xff },
+	'olympusimageheight' => { 264 => 0x102f },
+	'olympusimagewidth' => { 264 => 0x102e },
 	'oneshotafrelease' => { 2 => 0x9 },
-	'onetouchwb' => { 260 => 0x302 },
-	'onsaledate' => { 422 => 'onSaleDate' },
-	'onsaledatea-platform' => { 422 => [\'onSaleDate','onSaleDateA-platform'] },
-	'onsaledatedate' => { 422 => [\'onSaleDate','onSaleDateDate'] },
-	'onsaleday' => { 422 => 'onSaleDay' },
-	'onsaledaya-platform' => { 422 => [\'onSaleDay','onSaleDayA-platform'] },
-	'onsaledayday' => { 422 => [\'onSaleDay','onSaleDayDay'] },
-	'opcodelist1' => { 107 => 0xc740 },
-	'opcodelist2' => { 107 => 0xc741 },
-	'opcodelist3' => { 107 => 0xc74e },
-	'opticalzoom' => { 125 => 0xfa3d, 127 => [0x6006,0xf006], 128 => 0x1000, 129 => 0xf, 132 => 0x1e, 144 => 'OpticalZoom' },
-	'opticalzoomcode' => { 67 => 0xa },
-	'opticalzoommode' => { 276 => 0x34 },
-	'opticalzoomon' => { 343 => 0x219 },
-	'optionenddate' => { 425 => 'optionEndDate' },
-	'opto-electricconvfactor' => { 412 => 'OECF' },
-	'orangehsl' => { 92 => 0x20911 },
-	'ordernumber' => { 112 => 0x8002 },
-	'organisationinimagecode' => { 418 => 'OrganisationInImageCode' },
-	'organisationinimagename' => { 418 => 'OrganisationInImageName' },
-	'organization' => { 422 => 'organization' },
-	'orientation' => { 107 => 0x112, 280 => 0x112, 421 => 'orientation', 428 => 'Orientation' },
-	'orientation2' => { 368 => [0x28,0x2e] },
+	'onetouchwb' => { 264 => 0x302 },
+	'onsaledate' => { 427 => 'onSaleDate' },
+	'onsaledatea-platform' => { 427 => [\'onSaleDate','onSaleDateA-platform'] },
+	'onsaledatedate' => { 427 => [\'onSaleDate','onSaleDateDate'] },
+	'onsaleday' => { 427 => 'onSaleDay' },
+	'onsaledaya-platform' => { 427 => [\'onSaleDay','onSaleDayA-platform'] },
+	'onsaledayday' => { 427 => [\'onSaleDay','onSaleDayDay'] },
+	'opcodelist1' => { 109 => 0xc740 },
+	'opcodelist2' => { 109 => 0xc741 },
+	'opcodelist3' => { 109 => 0xc74e },
+	'opticalzoom' => { 127 => 0xfa3d, 129 => [0x6006,0xf006], 130 => 0x1000, 131 => 0xf, 134 => 0x1e, 146 => 'OpticalZoom' },
+	'opticalzoomcode' => { 69 => 0xa },
+	'opticalzoommode' => { 280 => 0x34 },
+	'opticalzoomon' => { 348 => 0x219 },
+	'optionenddate' => { 430 => 'optionEndDate' },
+	'opto-electricconvfactor' => { 417 => 'OECF' },
+	'orangehsl' => { 94 => 0x20911 },
+	'ordernumber' => { 114 => 0x8002 },
+	'organisationinimagecode' => { 423 => 'OrganisationInImageCode' },
+	'organisationinimagename' => { 423 => 'OrganisationInImageName' },
+	'organization' => { 427 => 'organization' },
+	'orientation' => { 109 => 0x112, 284 => 0x112, 426 => 'orientation', 433 => 'Orientation' },
+	'orientation2' => { 373 => [0x28,0x2e] },
 	'orientationlinkedaf' => { 2 => 0xe },
-	'orientationlinkedafpoint' => { 73 => 0x516 },
-	'originalbestqualitysize' => { 107 => 0xc792 },
-	'originaldecisiondata' => { 103 => 'OriginalDecisionData' },
-	'originaldecisiondataoffset' => { 55 => 0x83 },
-	'originaldefaultcropsize' => { 107 => 0xc793 },
-	'originaldefaultfinalsize' => { 107 => 0xc791 },
-	'originaldirectory' => { 274 => 0x408 },
-	'originaldocumentid' => { 433 => 'OriginalDocumentID' },
-	'originalfilename' => { 86 => 0x816, 121 => 0x3e9, 133 => 0x20, 274 => 0x407, 398 => 'OriginalFilename' },
-	'originalimageheight' => { 69 => 0xc, 111 => 0x1 },
-	'originalimagewidth' => { 69 => 0xb, 111 => 0x0 },
-	'originalrawfiledata' => { 107 => 0xc68c },
-	'originalrawfiledigest' => { 107 => 0xc71d },
-	'originalrawfilename' => { 107 => 0xc68b },
-	'originaltransmissionreference' => { 115 => 0x67 },
-	'originatingprogram' => { 115 => 0x41, 402 => 'OriginatingProgram' },
-	'originplatform' => { 422 => 'originPlatform' },
-	'os' => { 410 => 'os' },
-	'otherconditions' => { 265 => 'OtherConditions' },
-	'otherconstraints' => { 265 => 'OtherConstraints' },
-	'otherimage' => { 103 => 'OtherImage' },
-	'otherimageinfo' => { 265 => 'OtherImageInfo' },
-	'otherimagelength' => { 107 => 0x202 },
-	'otherimagestart' => { 107 => 0x201 },
-	'otherlicensedocuments' => { 265 => 'OtherLicenseDocuments' },
-	'otherlicenseinfo' => { 265 => 'OtherLicenseInfo' },
-	'otherlicenserequirements' => { 265 => 'OtherLicenseRequirements' },
-	'outcue' => { 432 => 'outCue' },
-	'outcuescale' => { 432 => [\'outCue','outCueScale'] },
-	'outcuevalue' => { 432 => [\'outCue','outCueValue'] },
-	'outputimageheight' => { 174 => 0x3 },
-	'outputimagewidth' => { 174 => 0x2 },
-	'outputprofile' => { 121 => 0x138b },
-	'outputresolution' => { 174 => 0x4 },
-	'owner' => { 436 => 'Owner' },
-	'ownerid' => { 115 => 0xbc },
-	'ownername' => { 14 => 0x10f, 55 => 0x9, 86 => 0x810, 107 => [0xa430,0xfde8], 137 => 'OwnerName', 404 => 'OwnerName', 413 => 'CameraOwnerName' },
-	'padding' => { 107 => 0xea1c },
-	'pagecount' => { 422 => 'pageCount' },
-	'pageimage' => { 430 => [\'PageInfo','PageInfoImage'] },
-	'pageimageformat' => { 430 => [\'PageInfo','PageInfoFormat'] },
-	'pageimageheight' => { 430 => [\'PageInfo','PageInfoHeight'] },
-	'pageimagepagenumber' => { 430 => [\'PageInfo','PageInfoPageNumber'] },
-	'pageimagewidth' => { 430 => [\'PageInfo','PageInfoWidth'] },
-	'pageinfo' => { 430 => 'PageInfo' },
-	'pagename' => { 107 => 0x11d },
-	'pagenumber' => { 107 => 0x129 },
-	'pageprogressiondirection' => { 422 => 'pageProgressionDirection' },
-	'pagerange' => { 422 => 'pageRange' },
-	'paintbasedcorrectionmasks' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasks'] },
-	'paintbasedcorrections' => { 408 => 'PaintBasedCorrections' },
-	'paintcorrectionactive' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionActive'] },
-	'paintcorrectionamount' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionAmount'] },
-	'paintcorrectionbrightness' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalBrightness'] },
-	'paintcorrectionclarity' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity'] },
-	'paintcorrectionclarity2012' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity2012'] },
-	'paintcorrectioncontrast' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast'] },
-	'paintcorrectioncontrast2012' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast2012'] },
-	'paintcorrectiondefringe' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalDefringe'] },
-	'paintcorrectionexposure' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure'] },
-	'paintcorrectionexposure2012' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure2012'] },
-	'paintcorrectionhighlights2012' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalHighlights2012'] },
-	'paintcorrectionhue' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalToningHue'] },
-	'paintcorrectionluminancenoise' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalLuminanceNoise'] },
-	'paintcorrectionmaskalpha' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAlpha'] },
-	'paintcorrectionmaskangle' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAngle'] },
-	'paintcorrectionmaskbottom' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksBottom'] },
-	'paintcorrectionmaskcentervalue' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterValue'] },
-	'paintcorrectionmaskcenterweight' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterWeight'] },
-	'paintcorrectionmaskdabs' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksDabs'] },
-	'paintcorrectionmaskfeather' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFeather'] },
-	'paintcorrectionmaskflipped' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlipped'] },
-	'paintcorrectionmaskflow' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlow'] },
-	'paintcorrectionmaskfullx' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullX'] },
-	'paintcorrectionmaskfully' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullY'] },
-	'paintcorrectionmaskleft' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksLeft'] },
-	'paintcorrectionmaskmidpoint' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMidpoint'] },
-	'paintcorrectionmaskperimetervalue' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksPerimeterValue'] },
-	'paintcorrectionmaskradius' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRadius'] },
-	'paintcorrectionmaskright' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRight'] },
-	'paintcorrectionmaskroundness' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRoundness'] },
-	'paintcorrectionmasksizex' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeX'] },
-	'paintcorrectionmasksizey' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeY'] },
-	'paintcorrectionmasktop' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksTop'] },
-	'paintcorrectionmaskvalue' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMaskValue'] },
-	'paintcorrectionmaskversion' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksVersion'] },
-	'paintcorrectionmaskwhat' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksWhat'] },
-	'paintcorrectionmaskx' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksX'] },
-	'paintcorrectionmasky' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksY'] },
-	'paintcorrectionmaskzerox' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroX'] },
-	'paintcorrectionmaskzeroy' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroY'] },
-	'paintcorrectionmoire' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalMoire'] },
-	'paintcorrectionsaturation' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSaturation','PaintBasedCorrectionsLocalToningSaturation'] },
-	'paintcorrectionshadows2012' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalShadows2012'] },
-	'paintcorrectionsharpness' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSharpness'] },
-	'paintcorrectiontemperature' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTemperature'] },
-	'paintcorrectiontint' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTint'] },
-	'paintcorrectionwhat' => { 408 => [\'PaintBasedCorrections','PaintBasedCorrectionsWhat'] },
-	'panasonicexifversion' => { 276 => 0x26 },
-	'panasonicimageheight' => { 276 => 0x4c },
-	'panasonicimagewidth' => { 276 => 0x4b },
-	'panasonicrawversion' => { 280 => 0x1 },
-	'panasonictitle' => { 107 => 0xc6d2 },
-	'panasonictitle2' => { 107 => 0xc6d3 },
-	'panoramacropbottom' => { 369 => 0x7 },
-	'panoramacropleft' => { 369 => 0x4 },
-	'panoramacropright' => { 369 => 0x6 },
-	'panoramacroptop' => { 369 => 0x5 },
-	'panoramadirection' => { 63 => 0x5, 369 => 0x3 },
-	'panoramaframeheight' => { 369 => 0x9 },
-	'panoramaframenumber' => { 63 => 0x2 },
-	'panoramaframewidth' => { 369 => 0x8 },
-	'panoramafullheight' => { 369 => 0x2 },
-	'panoramafullwidth' => { 369 => 0x1 },
-	'panoramamode' => { 123 => 0x3c, 255 => 0x601 },
-	'panoramasize3d' => { 354 => 0x38 },
-	'panoramasourceheight' => { 369 => 0xb },
-	'panoramasourcewidth' => { 369 => 0xa },
-	'panoramicstitchcameramotion' => { 155 => 'PanoramicStitchCameraMotion', 156 => 0x1 },
-	'panoramicstitchmaptype' => { 155 => 'PanoramicStitchMapType', 156 => 0x2 },
-	'panoramicstitchphi0' => { 155 => 'PanoramicStitchPhi0', 156 => 0x5 },
-	'panoramicstitchphi1' => { 155 => 'PanoramicStitchPhi1', 156 => 0x6 },
-	'panoramicstitchtheta0' => { 155 => 'PanoramicStitchTheta0', 156 => 0x3 },
-	'panoramicstitchtheta1' => { 155 => 'PanoramicStitchTheta1', 156 => 0x4 },
-	'panoramicstitchversion' => { 156 => 0x0 },
-	'pantry' => { 433 => 'Pantry' },
-	'parallax' => { 112 => 0xb211, 254 => 0x28 },
-	'parametricdarks' => { 408 => 'ParametricDarks' },
-	'parametrichighlights' => { 408 => 'ParametricHighlights' },
-	'parametrichighlightsplit' => { 408 => 'ParametricHighlightSplit' },
-	'parametriclights' => { 408 => 'ParametricLights' },
-	'parametricmidtonesplit' => { 408 => 'ParametricMidtoneSplit' },
-	'parametricshadows' => { 408 => 'ParametricShadows' },
-	'parametricshadowsplit' => { 408 => 'ParametricShadowSplit' },
-	'parentmeid' => { 398 => 'ParentMEID' },
-	'parentreference1' => { 416 => [\'TagStructure','TagStructureParentReference'] },
-	'parentreference2' => { 416 => [\'TagStructure','TagStructureSubLabelsParentReference'] },
-	'parentreference3' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsParentReference'] },
-	'parentreference4' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsParentReference'] },
-	'parentreference5' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] },
-	'parentreference6' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] },
-	'partofcompilation' => { 432 => 'partOfCompilation' },
-	'patientbirthdate' => { 395 => 'PatientDOB' },
-	'patientid' => { 395 => 'PatientID' },
-	'patientname' => { 395 => 'PatientName' },
-	'patientsex' => { 395 => 'PatientSex' },
-	'pdfversion' => { 419 => 'PDFVersion' },
-	'pentaximagesize' => { 310 => 0x9 },
-	'pentaxmodelid' => { 290 => 0x0, 310 => 0x5 },
-	'pentaxmodeltype' => { 310 => 0x1 },
-	'pentaxversion' => { 310 => 0x0 },
-	'people' => { 396 => 'People', 400 => 'People' },
-	'perchannelblacklevel' => { 37 => 0xc4, 38 => [0x2b4,0x2cb,0x2cf], 39 => 0x108, 40 => 0x1df, 41 => [0x1f8,0x2d8], 42 => [0x22c,0x30a] },
-	'peripheralillumcentralradius' => { 393 => 0x8030 },
-	'peripheralillumcentralvalue' => { 393 => 0x8031 },
-	'peripheralillumination' => { 92 => 0x20702, 98 => 0x68 },
-	'peripheralilluminationcorr' => { 54 => 0x1, 300 => 0x2 },
-	'peripheralilluminationon' => { 92 => '0x20702.0', 98 => 0x64 },
-	'peripheralillumperiphvalue' => { 393 => 0x8032 },
-	'peripherallighting' => { 69 => 0x2 },
-	'peripherallightingsetting' => { 70 => 0x5 },
-	'peripherallightingvalue' => { 69 => 0x6 },
-	'permissions' => { 425 => 'permissions' },
-	'permits' => { 405 => 'permits' },
-	'person' => { 422 => 'person' },
-	'personality' => { 398 => 'Personality' },
-	'personinimage' => { 418 => 'PersonInImage' },
-	'personinimagecharacteristic' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristic'] },
-	'personinimagecvtermcvid' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvId'] },
-	'personinimagecvtermid' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermId'] },
-	'personinimagecvtermname' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermName'] },
-	'personinimagecvtermrefinedabout' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermRefinedAbout'] },
-	'personinimagedescription' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonDescription'] },
-	'personinimageid' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonId'] },
-	'personinimagename' => { 418 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonName'] },
-	'personinimagewdetails' => { 418 => 'PersonInImageWDetails' },
-	'perspectiveaspect' => { 408 => 'PerspectiveAspect' },
-	'perspectivehorizontal' => { 408 => 'PerspectiveHorizontal' },
-	'perspectiverotate' => { 408 => 'PerspectiveRotate' },
-	'perspectivescale' => { 408 => 'PerspectiveScale' },
-	'perspectiveupright' => { 408 => 'PerspectiveUpright' },
-	'perspectivevertical' => { 408 => 'PerspectiveVertical' },
-	'perspectivex' => { 408 => 'PerspectiveX' },
-	'perspectivey' => { 408 => 'PerspectiveY' },
-	'pf0customfuncregistration' => { 81 => 0x1 },
-	'pf10retainprogramshift' => { 81 => 0xb },
-	'pf13drivepriority' => { 81 => 0xe },
-	'pf14disablefocussearch' => { 81 => 0xf },
-	'pf15disableafassistbeam' => { 81 => 0x10 },
-	'pf16autofocuspointshoot' => { 81 => 0x11 },
-	'pf17disableafpointsel' => { 81 => 0x12 },
-	'pf18enableautoafpointsel' => { 81 => 0x13 },
-	'pf19continuousshootspeed' => { 81 => 0x14 },
-	'pf19shootingspeedhigh' => { 80 => 0xa },
-	'pf19shootingspeedlow' => { 80 => 0x9 },
-	'pf1disableshootingmodes' => { 81 => 0x2 },
-	'pf1value' => { 80 => 0x1 },
-	'pf20limitcontinousshots' => { 81 => 0x15 },
-	'pf20maxcontinousshots' => { 80 => 0xb },
-	'pf21enablequietoperation' => { 81 => 0x16 },
-	'pf23felocktime' => { 80 => 0xd },
-	'pf23postreleasetime' => { 80 => 0xe },
-	'pf23settimerlengths' => { 81 => 0x18 },
-	'pf23shutterbuttontime' => { 80 => 0xc },
-	'pf24lightlcdduringbulb' => { 81 => 0x19 },
-	'pf25aemode' => { 80 => 0xf },
-	'pf25afmode' => { 80 => 0x12 },
-	'pf25afpointsel' => { 80 => 0x13 },
-	'pf25colormatrix' => { 80 => 0x17 },
-	'pf25defaultclearsettings' => { 81 => 0x1a },
-	'pf25drivemode' => { 80 => 0x11 },
-	'pf25imagesize' => { 80 => 0x14 },
-	'pf25meteringmode' => { 80 => 0x10 },
-	'pf25parameters' => { 80 => 0x16 },
-	'pf25wbmode' => { 80 => 0x15 },
-	'pf26shortenreleaselag' => { 81 => 0x1b },
-	'pf27reversedialrotation' => { 81 => 0x1c },
-	'pf27value' => { 80 => 0x18 },
-	'pf28noquickdialexpcomp' => { 81 => 0x1d },
-	'pf29quickdialswitchoff' => { 81 => 0x1e },
-	'pf2disablemeteringmodes' => { 81 => 0x3 },
-	'pf2value' => { 80 => 0x2 },
-	'pf30enlargementmode' => { 81 => 0x1f },
-	'pf31originaldecisiondata' => { 81 => 0x20 },
-	'pf3manualexposuremetering' => { 81 => 0x4 },
-	'pf3value' => { 80 => 0x3 },
-	'pf4exposuretimelimits' => { 81 => 0x5 },
-	'pf4exposuretimemax' => { 80 => 0x5 },
-	'pf4exposuretimemin' => { 80 => 0x4 },
-	'pf5aperturelimits' => { 81 => 0x6 },
-	'pf5aperturemax' => { 80 => 0x7 },
-	'pf5aperturemin' => { 80 => 0x6 },
-	'pf6presetshootingmodes' => { 81 => 0x7 },
-	'pf7bracketcontinuousshoot' => { 81 => 0x8 },
-	'pf8bracketshots' => { 80 => 0x8 },
-	'pf8setbracketshots' => { 81 => 0x9 },
-	'pf9changebracketsequence' => { 81 => 0xa },
-	'phasedetectaf' => { 171 => 0x6 },
-	'phonenumber' => { 138 => 'Phone' },
-	'photoeffect' => { 31 => 0x28 },
-	'photoeffecthistoryxml' => { 234 => 0xe9651831 },
-	'photoeffects' => { 234 => 0xab5eca5e },
-	'photoeffectsblue' => { 236 => 0x8 },
-	'photoeffectsgreen' => { 236 => 0x6 },
-	'photoeffectsred' => { 236 => 0x4 },
-	'photoeffectstype' => { 236 => 0x0 },
-	'photographicsensitivity' => { 413 => 'PhotographicSensitivity' },
-	'photoinfoplayback' => { 241 => '17.6', 248 => '33.6' },
-	'photometricinterpretation' => { 107 => 0x106, 428 => 'PhotometricInterpretation' },
-	'photoshootingmenubank' => { 214 => 0xe7d },
-	'photoshootingmenubankimagearea' => { 214 => '3716.1' },
-	'photoshopbgrthumbnail' => { 324 => 0x409 },
-	'photoshopquality' => { 323 => 0x0 },
-	'photoshopthumbnail' => { 324 => 0x40c },
-	'photostyle' => { 276 => 0x89 },
-	'picklabel' => { 411 => 'PickLabel' },
-	'pictinfo' => { 343 => 0x208 },
-	'picturecontrol' => { 234 => 0xe2173c47 },
-	'picturecontrolactive' => { 237 => 0x0 },
-	'picturecontroladjust' => { 198 => 0x30, 199 => 0x30 },
-	'picturecontrolbase' => { 198 => 0x18, 199 => 0x18 },
-	'picturecontroldata' => { 196 => [0xbd,0x23] },
-	'picturecontrolmode' => { 237 => 0x13 },
-	'picturecontrolname' => { 198 => 0x4, 199 => 0x4 },
-	'picturecontrolquickadjust' => { 198 => 0x31, 199 => 0x31 },
-	'pictureeffect' => { 364 => 0x200e },
-	'pictureeffect2' => { 371 => 0x1163, 372 => 0x1167, 373 => 0x1143, 374 => 0x11bf, 375 => 0x119b, 376 => 0x1053, 377 => 0x24b, 378 => 0x24b, 389 => 0x46 },
-	'picturefinish' => { 160 => 0x71 },
-	'picturemode' => { 112 => 0x1031, 255 => 0x520, 310 => [0xb,0x33], 344 => 0x3d },
-	'picturemode2' => { 291 => 0x0 },
-	'picturemodebwfilter' => { 255 => 0x525 },
-	'picturemodecontrast' => { 255 => 0x523 },
-	'picturemodeeffect' => { 255 => 0x52d },
-	'picturemodehue' => { 255 => 0x522 },
-	'picturemodesaturation' => { 255 => 0x521 },
-	'picturemodesharpness' => { 255 => 0x524 },
-	'picturemodetone' => { 255 => 0x526 },
-	'pictureprofile' => { 371 => [0x115e,0x115f], 372 => [0x1162,0x1163], 373 => [0x113e,0x113f], 374 => [0x11ba,0x11bb], 375 => [0x1196,0x1197], 376 => [0x104e,0x104f], 377 => [0x246,0x247], 378 => [0x246,0x247] },
-	'picturestyle' => { 7 => [0x4b,0x51], 8 => 0xf4, 9 => 0x6c, 10 => 0x86, 11 => 0x73, 15 => 0xab, 16 => 0xa7, 17 => 0xb0, 18 => 0x6c, 19 => 0xa7, 20 => 0xf4, 21 => 0xb3, 23 => 0xf4, 24 => 0xfa, 65 => 0xa, 92 => 0x20301, 98 => 0x2 },
-	'picturewizard' => { 341 => 0x21 },
-	'picturewizardcolor' => { 340 => 0x1 },
-	'picturewizardcontrast' => { 340 => 0x4 },
-	'picturewizardmode' => { 340 => 0x0 },
-	'picturewizardsaturation' => { 340 => 0x2 },
-	'picturewizardsharpness' => { 340 => 0x3 },
-	'pipelineversion' => { 155 => 'PipelineVersion' },
-	'pitch' => { 104 => 0x6, 242 => '4.1', 252 => '4.1' },
-	'pitchangle' => { 213 => 0x350f, 222 => 0x36f8, 255 => 0x904, 276 => 0x91, 309 => 0x2 },
-	'pixelshiftresolution' => { 311 => 0x0 },
-	'pixelsperunitx' => { 267 => 0x0 },
-	'pixelsperunity' => { 267 => 0x4 },
-	'pixelunits' => { 267 => 0x8 },
-	'planarconfiguration' => { 107 => 0x11c, 428 => 'PlanarConfiguration' },
-	'platenames' => { 437 => 'PlateNames' },
-	'platform' => { 422 => 'platform' },
-	'playbackmenustime' => { 245 => '20.1', 246 => '21.1', 247 => '21.1' },
-	'playbackmonitorofftime' => { 241 => '25.2', 242 => '36.1', 244 => '36.1', 248 => '8.1', 249 => '35.1', 252 => '36.1', 253 => '21.1' },
-	'playbackzoom' => { 242 => '37.1' },
-	'playdisplay' => { 162 => 0x4e },
-	'plusversion' => { 265 => 'Version' },
-	'pmversion' => { 322 => 'PMVersion' },
-	'pngwarning' => { 268 => 'Warning' },
-	'poilevel' => { 195 => 0x8 },
-	'portraitoutputhighlightpoint' => { 98 => 0x1d },
-	'portraitoutputshadowpoint' => { 98 => 0x1e },
-	'portraitrawcolortone' => { 98 => 0x16 },
-	'portraitrawcontrast' => { 98 => 0x18 },
-	'portraitrawhighlight' => { 98 => 0x76 },
-	'portraitrawhighlightpoint' => { 98 => 0x1b },
-	'portraitrawlinear' => { 98 => 0x19 },
-	'portraitrawsaturation' => { 98 => 0x17 },
-	'portraitrawshadow' => { 98 => 0x7f },
-	'portraitrawshadowpoint' => { 98 => 0x1c },
-	'portraitrawsharpness' => { 98 => 0x1a },
-	'portraitrefiner' => { 102 => 0x302b },
-	'portraitunsharpmaskfineness' => { 98 => 0x9a },
-	'portraitunsharpmaskstrength' => { 98 => 0x98 },
-	'portraitunsharpmaskthreshold' => { 98 => 0x9c },
-	'poseheadingdegrees' => { 397 => 'PoseHeadingDegrees' },
-	'posepitchdegrees' => { 397 => 'PosePitchDegrees' },
-	'poserolldegrees' => { 397 => 'PoseRollDegrees' },
-	'positiondescriptor' => { 421 => 'positionDescriptor' },
-	'postalcode' => { 142 => 'PostalCode' },
-	'postcropvignetteamount' => { 408 => 'PostCropVignetteAmount' },
-	'postcropvignettefeather' => { 408 => 'PostCropVignetteFeather' },
-	'postcropvignettehighlightcontrast' => { 408 => 'PostCropVignetteHighlightContrast' },
-	'postcropvignettemidpoint' => { 408 => 'PostCropVignetteMidpoint' },
-	'postcropvignetteroundness' => { 408 => 'PostCropVignetteRoundness' },
-	'postcropvignettestyle' => { 408 => 'PostCropVignetteStyle' },
-	'potentialface1position' => { 362 => 0xb },
-	'potentialface2position' => { 362 => 0x15 },
-	'potentialface3position' => { 362 => 0x1f },
-	'potentialface4position' => { 362 => 0x29 },
-	'potentialface5position' => { 362 => 0x33 },
-	'potentialface6position' => { 362 => 0x3d },
-	'potentialface7position' => { 362 => 0x47 },
-	'potentialface8position' => { 362 => 0x51 },
-	'powersource' => { 289 => '0.1' },
-	'poweruptime' => { 196 => 0xb6 },
-	'precaptureframes' => { 260 => 0x300 },
-	'predictor' => { 107 => 0x13d },
-	'preflashreturnstrength' => { 211 => 0x28a },
-	'prefs' => { 115 => 0xdd, 322 => 'Prefs' },
-	'preservedfilename' => { 433 => 'PreservedFileName' },
-	'presetwhitebalance' => { 162 => 0x24, 393 => 0x8002 },
-	'presetwhitebalanceadj' => { 393 => 0x8014 },
-	'previewapplicationname' => { 107 => 0xc716 },
-	'previewapplicationversion' => { 107 => 0xc717 },
-	'previewbutton' => { 241 => ['14.1','15.1'], 242 => '15.1', 244 => '15.1', 248 => '29.1', 249 => '14.1', 252 => '15.1' },
-	'previewbuttonplusdials' => { 241 => ['14.2','15.2'], 242 => '15.2', 244 => '43.1', 248 => '31.2', 252 => '43.1' },
-	'previewcolorspace' => { 107 => 0xc71a },
-	'previewcropbottom' => { 321 => 0xef },
-	'previewcropleft' => { 321 => 0xec },
-	'previewcropright' => { 321 => 0xee },
-	'previewcroptop' => { 321 => 0xed },
-	'previewdate' => { 329 => 0x0 },
-	'previewdatetime' => { 107 => 0xc71b },
-	'previewimage' => { 102 => 0x2000, 103 => 'PreviewImage', 108 => 'PreviewImage', 110 => 0x4, 147 => 'data', 164 => 0x81, 260 => 0x280, 275 => 0x300, 364 => 0x2001 },
-	'previewimageborders' => { 310 => 0x3e },
-	'previewimageheight' => { 64 => 0x4, 125 => 0xfa58 },
-	'previewimagelength' => { 64 => 0x2, 102 => 0x3, 107 => [0x117,0x202], 164 => 0x89, 200 => 0x202, 255 => 0x102, 260 => 0x1037, 310 => 0x3, 334 => 0x1e, 339 => 0x3, 344 => [0x1b,0x1d], 355 => 0x202 },
-	'previewimagename' => { 147 => '1Name' },
-	'previewimagesize' => { 102 => 0x2, 130 => 0x2, 147 => 'ImageSize', 310 => 0x2, 344 => [0x1c,0x1e], 364 => 0xb02c },
-	'previewimagestart' => { 64 => 0x5, 102 => 0x4, 107 => [0x111,0x201], 164 => 0x88, 200 => 0x201, 255 => 0x101, 260 => 0x1036, 310 => 0x4, 334 => 0x1c, 339 => 0x2, 344 => [0x1a,0x1c], 355 => 0x201 },
-	'previewimagetype' => { 147 => '0Type' },
-	'previewimagevalid' => { 255 => 0x100, 260 => 0x1035 },
-	'previewimagewidth' => { 64 => 0x3, 125 => 0xfa57 },
-	'previewquality' => { 64 => 0x1 },
-	'previewsettingsdigest' => { 107 => 0xc719 },
-	'previewsettingsname' => { 107 => 0xc718 },
-	'primaryafpoint' => { 171 => 0x7 },
-	'primarychromaticities' => { 107 => 0x13f, 428 => 'PrimaryChromaticities' },
-	'primaryslot' => { 214 => 0xe7f },
-	'printim' => { 107 => 0xc4a5 },
-	'prioritysetupshutterrelease' => { 162 => 0x1d, 352 => 0x28 },
-	'privatertkinfo' => { 399 => 'privateRTKInfo' },
-	'processingsoftware' => { 107 => 0xb },
-	'processversion' => { 408 => 'ProcessVersion' },
-	'producer' => { 264 => 'Producer', 419 => 'Producer' },
-	'productcode' => { 422 => 'productCode' },
-	'productid' => { 116 => 0x32, 421 => 'productID' },
-	'productidtype' => { 421 => 'productIDType' },
-	'productinimage' => { 418 => 'ProductInImage' },
-	'productinimagedescription' => { 418 => [\'ProductInImage','ProductInImageProductDescription'] },
-	'productinimagegtin' => { 418 => [\'ProductInImage','ProductInImageProductGTIN'] },
-	'productinimagename' => { 418 => [\'ProductInImage','ProductInImageProductName'] },
-	'productioncode' => { 290 => 0x2 },
-	'productorserviceconstraints' => { 265 => 'ProductOrServiceConstraints' },
-	'profession' => { 422 => 'profession' },
-	'profilecalibrationsig' => { 107 => 0xc6f4 },
-	'profilecopyright' => { 107 => 0xc6fe },
-	'profileembedpolicy' => { 107 => 0xc6fd },
-	'profilehuesatmapdata1' => { 107 => 0xc6fa },
-	'profilehuesatmapdata2' => { 107 => 0xc6fb },
-	'profilehuesatmapdims' => { 107 => 0xc6f9 },
-	'profilehuesatmapencoding' => { 107 => 0xc7a3 },
-	'profilelooktabledata' => { 107 => 0xc726 },
-	'profilelooktabledims' => { 107 => 0xc725 },
-	'profilelooktableencoding' => { 107 => 0xc7a4 },
-	'profilename' => { 107 => 0xc6f8 },
-	'profiletonecurve' => { 107 => 0xc6fc },
-	'programiso' => { 276 => 0x3c },
-	'programline' => { 291 => '1.1' },
-	'programmode' => { 167 => 0x5 },
-	'programshift' => { 196 => 0xd },
-	'programversion' => { 115 => 0x46 },
-	'prohibits' => { 405 => 'prohibits' },
-	'projectiontype' => { 397 => 'ProjectionType' },
-	'projectname' => { 432 => 'projectName' },
-	'projectref' => { 432 => 'projectRef' },
-	'projectrefpath' => { 432 => [\'projectRef','projectRefPath'] },
-	'projectreftype' => { 432 => [\'projectRef','projectRefType'] },
-	'propertyreleaseid' => { 265 => 'PropertyReleaseID' },
-	'propertyreleasestatus' => { 265 => 'PropertyReleaseStatus' },
-	'province-state' => { 115 => 0x5f },
-	'publicationdate' => { 422 => 'publicationDate' },
-	'publicationdatea-platform' => { 422 => [\'publicationDate','publicationDateA-platform'] },
-	'publicationdatedate' => { 422 => [\'publicationDate','publicationDateDate'] },
-	'publicationdisplaydate' => { 422 => 'publicationDisplayDate' },
-	'publicationdisplaydatea-platform' => { 422 => [\'publicationDisplayDate','publicationDisplayDateA-platform'] },
-	'publicationdisplaydatedate' => { 422 => [\'publicationDisplayDate','publicationDisplayDateDate'] },
-	'publicationname' => { 422 => 'publicationName' },
-	'publisher' => { 409 => 'publisher' },
-	'publishingfrequency' => { 422 => 'publishingFrequency' },
-	'pulldown' => { 432 => 'pullDown' },
-	'purplehsl' => { 92 => 0x20916 },
-	'quality' => { 0 => 0x1, 31 => 0x3, 101 => 0x2, 102 => 0x3002, 112 => 0x1000, 123 => 0x9, 196 => 0x4, 224 => 0x3, 260 => 0x201, 272 => 0x300, 310 => 0x8, 317 => 0x2, 344 => 0x16, 352 => 0x56, 353 => 0x56, 354 => 0xb, 364 => 0x102 },
-	'quality2' => { 371 => 0x1170, 372 => 0x1174, 373 => 0x1150, 375 => 0x11a8, 376 => 0x1060, 377 => 0x258, 378 => 0x258, 381 => 0x29, 382 => 0x25, 383 => 0x2a },
-	'qualitymode' => { 102 => 0x8 },
-	'quantizationmethod' => { 117 => 0x78 },
-	'quickadjust' => { 237 => 0x2a },
-	'quickcontroldialinmeter' => { 73 => 0x703 },
-	'quickfix' => { 234 => 0x416391c6 },
-	'quickshot' => { 343 => 0x213 },
-	'rangefinder' => { 245 => '4.1', 246 => '5.1', 247 => '5.1' },
-	'rasterizedcaption' => { 115 => 0x7d },
-	'rating' => { 107 => 0x4746, 112 => 0x1431, 321 => 0xdf, 364 => 0x2002, 402 => 'rating', 410 => 'rating', 422 => 'rating', 430 => 'Rating' },
-	'ratingpercent' => { 107 => 0x4749, 157 => 'Rating' },
-	'rawandjpgrecording' => { 71 => 0x8, 164 => 0x109, 291 => 0xd },
-	'rawbrightnessadj' => { 92 => 0x20001, 97 => 0x38 },
-	'rawcoloradj' => { 97 => 0x2e },
-	'rawcompressionmode' => { 341 => 0x45 },
-	'rawcropbottom' => { 321 => 0xd4 },
-	'rawcropleft' => { 321 => 0xd1 },
-	'rawcropright' => { 321 => 0xd3 },
-	'rawcroptop' => { 321 => 0xd2 },
-	'rawcustomsaturation' => { 97 => 0x30 },
-	'rawcustomtone' => { 97 => 0x34 },
-	'rawdata' => { 341 => 0xa048 },
-	'rawdatauniqueid' => { 107 => 0xc65d },
-	'rawdepth' => { 166 => 0x10 },
-	'rawdevartfilter' => { 262 => 0x121 },
-	'rawdevautogradation' => { 262 => 0x119 },
-	'rawdevcolorspace' => { 261 => 0x108, 262 => 0x109 },
-	'rawdevcontrastvalue' => { 261 => 0x106, 262 => 0x105 },
-	'rawdeveditstatus' => { 261 => 0x10b },
-	'rawdevelopmentprocess' => { 310 => 0x62 },
-	'rawdevengine' => { 261 => 0x109, 262 => 0x10b },
-	'rawdevexposurebiasvalue' => { 261 => 0x100, 262 => 0x100 },
-	'rawdevgradation' => { 262 => 0x112 },
-	'rawdevgraypoint' => { 261 => 0x103, 262 => 0x104 },
-	'rawdevmemorycoloremphasis' => { 261 => 0x105, 262 => 0x108 },
-	'rawdevnoisereduction' => { 261 => 0x10a, 262 => 0x10a },
-	'rawdevpicturemode' => { 262 => 0x10c },
-	'rawdevpm_bwfilter' => { 262 => 0x110 },
-	'rawdevpmcontrast' => { 262 => 0x10e },
-	'rawdevpmnoisefilter' => { 262 => 0x120 },
-	'rawdevpmpicturetone' => { 262 => 0x111 },
-	'rawdevpmsaturation' => { 262 => 0x10d },
-	'rawdevpmsharpness' => { 262 => 0x10f },
-	'rawdevsaturation3' => { 262 => 0x113 },
-	'rawdevsaturationemphasis' => { 261 => 0x104, 262 => 0x107 },
-	'rawdevsettings' => { 261 => 0x10c },
-	'rawdevsharpnessvalue' => { 261 => 0x107, 262 => 0x106 },
-	'rawdevversion' => { 261 => 0x0, 262 => 0x0 },
-	'rawdevwbfineadjustment' => { 261 => 0x102, 262 => 0x103 },
-	'rawdevwhitebalance' => { 262 => 0x101 },
-	'rawdevwhitebalancevalue' => { 261 => 0x101, 262 => 0x102 },
-	'rawfile' => { 107 => 0xfe4c },
-	'rawfilename' => { 408 => 'RawFileName' },
-	'rawformat' => { 319 => 0x10e },
-	'rawimagecenter' => { 196 => 0x99 },
-	'rawimagedigest' => { 107 => 0xc71c },
-	'rawimagesize' => { 310 => 0x39 },
-	'rawinfoversion' => { 263 => 0x0 },
-	'rawjpgheight' => { 88 => 0x4 },
-	'rawjpgquality' => { 49 => 0x6, 88 => 0x1 },
-	'rawjpgsize' => { 49 => 0x7, 88 => 0x2 },
-	'rawjpgwidth' => { 88 => 0x3 },
-	'rawmeasuredrggb' => { 36 => 0x26a, 38 => 0x280, 40 => 0x194, 41 => [0x1ad,0x26b] },
-	'rawrppused' => { 402 => 'rawrppused' },
-	'rawtopreviewgain' => { 107 => 0xc7a8 },
-	'reardisplay' => { 241 => '12.3', 242 => '6.2' },
-	'recipeendingpage' => { 424 => 'recipeEndingPage' },
-	'recipepagerange' => { 424 => 'recipePageRange' },
-	'recipesource' => { 424 => 'recipeSource' },
-	'recipestartingpage' => { 424 => 'recipeStartingPage' },
-	'recipetitle' => { 424 => 'recipeTitle' },
-	'recognizedface1age' => { 271 => 0x20 },
-	'recognizedface1name' => { 271 => 0x4 },
-	'recognizedface1position' => { 271 => 0x18 },
-	'recognizedface2age' => { 271 => 0x50 },
-	'recognizedface2name' => { 271 => 0x34 },
-	'recognizedface2position' => { 271 => 0x48 },
-	'recognizedface3age' => { 271 => 0x80 },
-	'recognizedface3name' => { 271 => 0x64 },
-	'recognizedface3position' => { 271 => 0x78 },
-	'recognizedfaceflags' => { 276 => 0x63 },
-	'recommendedexposureindex' => { 107 => 0x8832, 413 => 'RecommendedExposureIndex' },
-	'record' => { 106 => 'Record' },
-	'recordbasisofrecord' => { 106 => [\'Record','RecordBasisOfRecord'] },
-	'recordcollectioncode' => { 106 => [\'Record','RecordCollectionCode'] },
-	'recordcollectionid' => { 106 => [\'Record','RecordCollectionID'] },
-	'recorddatageneralizations' => { 106 => [\'Record','RecordDataGeneralizations'] },
-	'recorddatasetid' => { 106 => [\'Record','RecordDatasetID'] },
-	'recorddatasetname' => { 106 => [\'Record','RecordDatasetName'] },
-	'recorddisplay' => { 162 => 0x4d },
-	'recorddynamicproperties' => { 106 => [\'Record','RecordDynamicProperties'] },
-	'recordid' => { 86 => 0x1804 },
-	'recordinformationwithheld' => { 106 => [\'Record','RecordInformationWithheld'] },
-	'recordingformat' => { 335 => 0x1000 },
-	'recordingmode' => { 101 => 0x1, 317 => 0x1 },
-	'recordinstitutioncode' => { 106 => [\'Record','RecordInstitutionCode'] },
-	'recordinstitutionid' => { 106 => [\'Record','RecordInstitutionID'] },
-	'recordmode' => { 31 => 0x9, 102 => 0x3000 },
-	'recordownerinstitutioncode' => { 106 => [\'Record','RecordOwnerInstitutionCode'] },
-	'recordshutterrelease' => { 343 => 0x217 },
-	'redbalance' => { 179 => 0x270, 260 => 0x1017, 280 => 0x11, 310 => 0x1c },
-	'redcurvelimits' => { 97 => 0x18a },
-	'redcurvepoints' => { 96 => 0x2d, 97 => 0x160 },
-	'redeyecorrection' => { 238 => 0x0 },
-	'redeyeinfo' => { 408 => 'RedEyeInfo' },
-	'redeyereduction' => { 162 => 0x41, 352 => 0x6a, 354 => 0x28 },
-	'redhsl' => { 92 => 0x20910 },
-	'redhue' => { 408 => 'RedHue' },
-	'redsaturation' => { 408 => 'RedSaturation' },
-	'reductionmatrix1' => { 107 => 0xc625 },
-	'reductionmatrix2' => { 107 => 0xc626 },
-	'reelname' => { 107 => 0xc789 },
-	'reference1' => { 416 => [\'TagStructure','TagStructureReference'] },
-	'reference2' => { 416 => [\'TagStructure','TagStructureSubLabelsReference'] },
-	'reference3' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsReference'] },
-	'reference4' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsReference'] },
-	'reference5' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsReference'] },
-	'reference6' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsReference'] },
-	'referenceblackwhite' => { 107 => 0x214, 428 => 'ReferenceBlackWhite' },
-	'referencedate' => { 115 => 0x2f },
-	'referencenumber' => { 115 => 0x32 },
-	'references' => { 138 => 'References' },
-	'referenceservice' => { 115 => 0x2d },
-	'regionappliedtodimensions' => { 153 => [\'Regions','RegionsAppliedToDimensions'] },
-	'regionappliedtodimensionsh' => { 153 => [\'Regions','RegionsAppliedToDimensionsH'] },
-	'regionappliedtodimensionsunit' => { 153 => [\'Regions','RegionsAppliedToDimensionsUnit'] },
-	'regionappliedtodimensionsw' => { 153 => [\'Regions','RegionsAppliedToDimensionsW'] },
-	'regionarea' => { 153 => [\'Regions','RegionsRegionListArea'] },
-	'regionaread' => { 153 => [\'Regions','RegionsRegionListAreaD'] },
-	'regionareah' => { 153 => [\'Regions','RegionsRegionListAreaH'] },
-	'regionareaunit' => { 153 => [\'Regions','RegionsRegionListAreaUnit'] },
-	'regionareaw' => { 153 => [\'Regions','RegionsRegionListAreaW'] },
-	'regionareax' => { 153 => [\'Regions','RegionsRegionListAreaX'] },
-	'regionareay' => { 153 => [\'Regions','RegionsRegionListAreaY'] },
-	'regionbarcodevalue' => { 153 => [\'Regions','RegionsRegionListBarCodeValue'] },
-	'regionconstraints' => { 265 => 'RegionConstraints' },
-	'regiondescription' => { 153 => [\'Regions','RegionsRegionListDescription'] },
-	'regionextensions' => { 153 => [\'Regions','RegionsRegionListExtensions'] },
-	'regionfocususage' => { 153 => [\'Regions','RegionsRegionListFocusUsage'] },
-	'regioninfo' => { 153 => 'Regions' },
-	'regioninfodateregionsvalid' => { 154 => [\'RegionInfo','RegionInfoDateRegionsValid'] },
-	'regioninfomp' => { 154 => 'RegionInfo' },
-	'regioninforegions' => { 154 => [\'RegionInfo','RegionInfoRegions'] },
-	'regionlist' => { 153 => [\'Regions','RegionsRegionList'] },
-	'regionname' => { 153 => [\'Regions','RegionsRegionListName'] },
-	'regionpersondisplayname' => { 154 => [\'RegionInfo','RegionInfoRegionsPersonDisplayName'] },
-	'regionpersonemaildigest' => { 154 => [\'RegionInfo','RegionInfoRegionsPersonEmailDigest'] },
-	'regionpersonliveidcid' => { 154 => [\'RegionInfo','RegionInfoRegionsPersonLiveIdCID'] },
-	'regionpersonsourceid' => { 154 => [\'RegionInfo','RegionInfoRegionsPersonSourceID'] },
-	'regionrectangle' => { 154 => [\'RegionInfo','RegionInfoRegionsRectangle'] },
-	'regionrotation' => { 153 => [\'Regions','RegionsRegionListRotation'] },
-	'regionseealso' => { 153 => [\'Regions','RegionsRegionListSeeAlso'] },
-	'regiontype' => { 153 => [\'Regions','RegionsRegionListType'] },
-	'registryid' => { 418 => 'RegistryId' },
-	'registryitemid' => { 418 => [\'RegistryId','RegistryIdRegItemId'] },
-	'registryorganisationid' => { 418 => [\'RegistryId','RegistryIdRegOrgId'] },
-	'relatedaudiofile' => { 136 => 'data' },
-	'relatedaudiofilename' => { 136 => '1Name' },
-	'relatedaudiofiletype' => { 136 => '0Type' },
-	'relatedimagefileformat' => { 107 => 0x1000 },
-	'relatedimageheight' => { 107 => 0x1002 },
-	'relatedimagewidth' => { 107 => 0x1001 },
-	'relatedresourceid' => { 106 => [\'ResourceRelationship','ResourceRelationshipRelatedResourceID'] },
-	'relatedsoundfile' => { 107 => 0xa004, 412 => 'RelatedSoundFile' },
-	'relatedvideofile' => { 150 => 'data' },
-	'relatedvideofilename' => { 150 => '1Name' },
-	'relatedvideofiletype' => { 150 => '0Type' },
-	'relation' => { 409 => 'relation' },
-	'relationshipaccordingto' => { 106 => [\'ResourceRelationship','ResourceRelationshipRelationshipAccordingTo'] },
-	'relationshipestablisheddate' => { 106 => [\'ResourceRelationship','ResourceRelationshipRelationshipEstablishedDate'] },
-	'relationshipofresource' => { 106 => [\'ResourceRelationship','ResourceRelationshipRelationshipOfResource'] },
-	'relationshipremarks' => { 106 => [\'ResourceRelationship','ResourceRelationshipRelationshipRemarks'] },
-	'relativepeakaudiofilepath' => { 432 => 'relativePeakAudioFilePath' },
-	'relativetimestamp' => { 432 => 'relativeTimestamp' },
-	'relativetimestampscale' => { 432 => [\'relativeTimestamp','relativeTimestampScale'] },
-	'relativetimestampvalue' => { 432 => [\'relativeTimestamp','relativeTimestampValue'] },
-	'releasebuttontousedial' => { 241 => '17.8', 242 => '18.5', 244 => '18.4', 248 => '33.8', 249 => '17.6', 252 => '18.5' },
-	'releasedate' => { 115 => 0x1e, 402 => 'ReleaseDate', 432 => 'releaseDate' },
-	'releasemode' => { 102 => 0x3001, 213 => 0x184d, 364 => 0xb049 },
-	'releasemode2' => { 371 => 0x112c, 372 => [0x112c,0x8], 373 => [0x1108,0x8], 374 => [0x1184,0x8], 375 => [0x1160,0x8], 376 => [0x4,0x1018], 377 => [0x4,0x210], 378 => [0x4,0x210], 380 => [0x67,0x73,0x3f,0x4b], 381 => 0x10, 382 => 0x10, 383 => 0x9, 389 => 0x34 },
-	'releasemode3' => { 371 => 0x1128, 372 => 0x1128, 373 => 0x1104, 374 => 0x1180, 375 => 0x115c, 376 => 0x1014, 377 => 0x20c, 378 => 0x20c },
-	'releasesetting' => { 86 => 0x1016 },
-	'releasetime' => { 115 => 0x23, 402 => 'ReleaseTime' },
-	'remoteonduration' => { 243 => '3.4', 245 => '17.2', 246 => '18.2', 247 => '18.2', 249 => '18.2', 250 => '4.3', 253 => '19.2' },
-	'renditionclass' => { 433 => 'RenditionClass' },
-	'renditionof' => { 433 => 'RenditionOf' },
-	'renditionofalternatepaths' => { 433 => [\'RenditionOf','RenditionOfAlternatePaths'] },
-	'renditionofdocumentid' => { 433 => [\'RenditionOf','RenditionOfDocumentID'] },
-	'renditionoffilepath' => { 433 => [\'RenditionOf','RenditionOfFilePath'] },
-	'renditionoffrompart' => { 433 => [\'RenditionOf','RenditionOfFromPart'] },
-	'renditionofinstanceid' => { 433 => [\'RenditionOf','RenditionOfInstanceID'] },
-	'renditionoflastmodifydate' => { 433 => [\'RenditionOf','RenditionOfLastModifyDate'] },
-	'renditionofmanager' => { 433 => [\'RenditionOf','RenditionOfManager'] },
-	'renditionofmanagervariant' => { 433 => [\'RenditionOf','RenditionOfManagerVariant'] },
-	'renditionofmanageto' => { 433 => [\'RenditionOf','RenditionOfManageTo'] },
-	'renditionofmanageui' => { 433 => [\'RenditionOf','RenditionOfManageUI'] },
-	'renditionofmaskmarkers' => { 433 => [\'RenditionOf','RenditionOfMaskMarkers'] },
-	'renditionoforiginaldocumentid' => { 433 => [\'RenditionOf','RenditionOfOriginalDocumentID'] },
-	'renditionofpartmapping' => { 433 => [\'RenditionOf','RenditionOfPartMapping'] },
-	'renditionofrenditionclass' => { 433 => [\'RenditionOf','RenditionOfRenditionClass'] },
-	'renditionofrenditionparams' => { 433 => [\'RenditionOf','RenditionOfRenditionParams'] },
-	'renditionoftopart' => { 433 => [\'RenditionOf','RenditionOfToPart'] },
-	'renditionofversionid' => { 433 => [\'RenditionOf','RenditionOfVersionID'] },
-	'renditionparams' => { 433 => 'RenditionParams' },
-	'repeatingflashcount' => { 184 => 0xd, 185 => 0xe, 186 => 0xe, 248 => '17.2', 249 => '24.2', 250 => '9.2', 251 => '24.2', 253 => '25.2' },
-	'repeatingflashcountbuilt-in' => { 221 => 0x4db },
-	'repeatingflashcountexternal' => { 221 => 0x4c3 },
-	'repeatingflashoutput' => { 248 => '17.1', 249 => '24.1', 250 => '9.1', 251 => '24.1', 253 => '25.1' },
-	'repeatingflashoutputexternal' => { 221 => 0x4c0 },
-	'repeatingflashrate' => { 184 => 0xc, 185 => 0xd, 186 => 0xd, 248 => '18.1', 249 => '25.1', 250 => '10.1', 251 => '25.1', 253 => '26.1' },
-	'repeatingflashratebuilt-in' => { 221 => 0x4da },
-	'repeatingflashrateexternal' => { 221 => 0x4c2 },
-	'requires' => { 405 => 'requires' },
-	'resampleparams' => { 432 => 'resampleParams' },
-	'resampleparamsquality' => { 432 => [\'resampleParams','resampleParamsQuality'] },
-	'resaved' => { 343 => 0x21e },
-	'resolution' => { 143 => 'Resolution' },
-	'resolutionmode' => { 344 => 0x4 },
-	'resolutionunit' => { 107 => 0x128, 118 => 0x2, 428 => 'ResolutionUnit' },
-	'resourceid' => { 106 => [\'ResourceRelationship','ResourceRelationshipResourceID'] },
-	'resourcerelationship' => { 106 => 'ResourceRelationship' },
-	'resourcerelationshipid' => { 106 => [\'ResourceRelationship','ResourceRelationshipResourceRelationshipID'] },
-	'restrictdrivemodes' => { 73 => 0x612 },
-	'restrictions' => { 425 => 'restrictions' },
-	'retouchareafeather' => { 408 => [\'RetouchAreas','RetouchAreasFeather'] },
-	'retouchareamaskalpha' => { 408 => [\'RetouchAreas','RetouchAreasMasksAlpha'] },
-	'retouchareamaskangle' => { 408 => [\'RetouchAreas','RetouchAreasMasksAngle'] },
-	'retouchareamaskbottom' => { 408 => [\'RetouchAreas','RetouchAreasMasksBottom'] },
-	'retouchareamaskcentervalue' => { 408 => [\'RetouchAreas','RetouchAreasMasksCenterValue'] },
-	'retouchareamaskcenterweight' => { 408 => [\'RetouchAreas','RetouchAreasMasksCenterWeight'] },
-	'retouchareamaskdabs' => { 408 => [\'RetouchAreas','RetouchAreasMasksDabs'] },
-	'retouchareamaskfeather' => { 408 => [\'RetouchAreas','RetouchAreasMasksFeather'] },
-	'retouchareamaskflipped' => { 408 => [\'RetouchAreas','RetouchAreasMasksFlipped'] },
-	'retouchareamaskflow' => { 408 => [\'RetouchAreas','RetouchAreasMasksFlow'] },
-	'retouchareamaskfullx' => { 408 => [\'RetouchAreas','RetouchAreasMasksFullX'] },
-	'retouchareamaskfully' => { 408 => [\'RetouchAreas','RetouchAreasMasksFullY'] },
-	'retouchareamaskleft' => { 408 => [\'RetouchAreas','RetouchAreasMasksLeft'] },
-	'retouchareamaskmidpoint' => { 408 => [\'RetouchAreas','RetouchAreasMasksMidpoint'] },
-	'retouchareamaskperimetervalue' => { 408 => [\'RetouchAreas','RetouchAreasMasksPerimeterValue'] },
-	'retouchareamaskradius' => { 408 => [\'RetouchAreas','RetouchAreasMasksRadius'] },
-	'retouchareamaskright' => { 408 => [\'RetouchAreas','RetouchAreasMasksRight'] },
-	'retouchareamaskroundness' => { 408 => [\'RetouchAreas','RetouchAreasMasksRoundness'] },
-	'retouchareamasks' => { 408 => [\'RetouchAreas','RetouchAreasMasks'] },
-	'retouchareamasksizex' => { 408 => [\'RetouchAreas','RetouchAreasMasksSizeX'] },
-	'retouchareamasksizey' => { 408 => [\'RetouchAreas','RetouchAreasMasksSizeY'] },
-	'retouchareamasktop' => { 408 => [\'RetouchAreas','RetouchAreasMasksTop'] },
-	'retouchareamaskvalue' => { 408 => [\'RetouchAreas','RetouchAreasMasksMaskValue'] },
-	'retouchareamaskversion' => { 408 => [\'RetouchAreas','RetouchAreasMasksVersion'] },
-	'retouchareamaskwhat' => { 408 => [\'RetouchAreas','RetouchAreasMasksWhat'] },
-	'retouchareamaskx' => { 408 => [\'RetouchAreas','RetouchAreasMasksX'] },
-	'retouchareamasky' => { 408 => [\'RetouchAreas','RetouchAreasMasksY'] },
-	'retouchareamaskzerox' => { 408 => [\'RetouchAreas','RetouchAreasMasksZeroX'] },
-	'retouchareamaskzeroy' => { 408 => [\'RetouchAreas','RetouchAreasMasksZeroY'] },
-	'retouchareamethod' => { 408 => [\'RetouchAreas','RetouchAreasMethod'] },
-	'retouchareaoffsety' => { 408 => [\'RetouchAreas','RetouchAreasOffsetY'] },
-	'retouchareaopacity' => { 408 => [\'RetouchAreas','RetouchAreasOpacity'] },
-	'retouchareas' => { 408 => 'RetouchAreas' },
-	'retouchareaseed' => { 408 => [\'RetouchAreas','RetouchAreasSeed'] },
-	'retouchareasourcestate' => { 408 => [\'RetouchAreas','RetouchAreasSourceState'] },
-	'retouchareasourcex' => { 408 => [\'RetouchAreas','RetouchAreasSourceX'] },
-	'retouchareaspottype' => { 408 => [\'RetouchAreas','RetouchAreasSpotType'] },
-	'retouchhistory' => { 196 => 0x9e },
-	'retouchinfo' => { 408 => 'RetouchInfo' },
-	'retouchnefprocessing' => { 202 => 0x5 },
-	'retractlensonpoweroff' => { 73 => 0x814 },
-	'reuse' => { 265 => 'Reuse' },
-	'reuseallowed' => { 435 => 'ReuseAllowed' },
-	'reuseprohibited' => { 425 => 'reuseProhibited' },
-	'reverseexposurecompdial' => { 247 => '5.2' },
-	'reverseindicators' => { 241 => '12.1', 242 => '6.1', 244 => '6.1', 245 => '4.3', 246 => '5.2', 247 => '5.4', 248 => '33.5', 249 => '5.1', 252 => '6.1', 253 => '6.2' },
-	'reverseshutterspeedaperture' => { 247 => '5.3' },
-	'revision' => { 410 => 'revision' },
-	'rgbcurvelimits' => { 97 => 0x238 },
-	'rgbcurvepoints' => { 96 => 0x7, 97 => 0x20e },
-	'richtextcomment' => { 415 => 'RichTextComment' },
-	'ricohdate' => { 334 => 0x6 },
-	'ricohimageheight' => { 334 => 0x2 },
-	'ricohimagewidth' => { 334 => 0x0 },
-	'rightascension' => { 146 => 'RightAscension' },
-	'rights' => { 409 => 'rights' },
-	'rightsagent' => { 425 => 'rightsAgent' },
-	'rightsowner' => { 425 => 'rightsOwner' },
-	'roll' => { 104 => 0x8 },
-	'rollangle' => { 213 => 0x350b, 222 => 0x36f4, 255 => 0x903, 276 => 0x90, 309 => 0x1 },
-	'romoperationmode' => { 86 => 0x80d },
-	'rotation' => { 27 => 0x17, 28 => 0x18, 85 => 0x3, 92 => 0x10002, 97 => 0x26e, 111 => 0x4, 146 => 'Rotation', 160 => [0x65,0x50], 161 => 0x46, 162 => 0x5a, 165 => 0x10, 213 => 0x3693, 214 => 0xca, 220 => '590.1', 222 => 0x38be, 234 => 0x76a43207, 276 => 0x30, 291 => '17.2', 321 => 0xd8, 352 => 0x3f, 353 => 0x3f, 363 => 0x10 },
-	'routedto' => { 414 => 'RoutedTo' },
-	'routing' => { 326 => 'Routing' },
-	'routingnotes' => { 414 => 'RoutingNotes' },
-	'rowsperstrip' => { 107 => 0x116 },
-	'rpp' => { 402 => 'rpp' },
-	'safetyshift' => { 73 => 0x108 },
-	'safetyshiftinavortv' => { 71 => 0x10, 72 => 0x10, 74 => 0xf, 75 => 0x10, 78 => 0x10 },
-	'sameexposurefornewaperture' => { 73 => 0x112 },
-	'samplebits' => { 136 => 'SampleBits' },
-	'samplepagerange' => { 422 => 'samplePageRange' },
-	'samplerate' => { 136 => 'SampleRate' },
-	'samplesperpixel' => { 107 => 0x115, 428 => 'SamplesPerPixel' },
-	'samplestructure' => { 117 => 0x5a },
-	'samsungmodelid' => { 341 => 0x3 },
-	'sanyoquality' => { 343 => 0x201 },
-	'sanyothumbnail' => { 343 => 0x100 },
-	'saturation' => { 9 => 0x6e, 11 => 0x76, 31 => 0xe, 43 => 0x1, 101 => 0xd, 102 => [0x3013,0x1f], 107 => [0xa409,0xfe55], 112 => 0x1003, 137 => 'Saturation', 159 => 0x1f, 160 => 0x32, 161 => 0x28, 162 => 0x1a, 167 => 0x1, 196 => [0x94,0xaa], 198 => 0x35, 199 => 0x3b, 276 => 0x40, 278 => 0x300d, 310 => 0x1f, 317 => 0xd, 331 => 0x27, 334 => 0x28, 335 => 0x1013, 344 => 0x10, 352 => 0x1e, 353 => 0x1b, 364 => 0x2005, 408 => 'Saturation', 412 => 'Saturation' },
-	'saturationadj' => { 92 => 0x20901, 97 => 0x116, 233 => 0x1, 237 => 0x2e, 393 => 0x8016 },
-	'saturationadjustmentaqua' => { 408 => 'SaturationAdjustmentAqua' },
-	'saturationadjustmentblue' => { 408 => 'SaturationAdjustmentBlue' },
-	'saturationadjustmentgreen' => { 408 => 'SaturationAdjustmentGreen' },
-	'saturationadjustmentmagenta' => { 408 => 'SaturationAdjustmentMagenta' },
-	'saturationadjustmentorange' => { 408 => 'SaturationAdjustmentOrange' },
-	'saturationadjustmentpurple' => { 408 => 'SaturationAdjustmentPurple' },
-	'saturationadjustmentred' => { 408 => 'SaturationAdjustmentRed' },
-	'saturationadjustmentyellow' => { 408 => 'SaturationAdjustmentYellow' },
-	'saturationauto' => { 62 => 0x98 },
-	'saturationfaithful' => { 18 => 0xfe, 61 => 0x68, 62 => 0x68 },
-	'saturationlandscape' => { 18 => 0xfc, 61 => 0x38, 62 => 0x38 },
-	'saturationmonochrome' => { 61 => 0x80, 62 => 0x80 },
-	'saturationneutral' => { 18 => 0xfd, 61 => 0x50, 62 => 0x50 },
-	'saturationportrait' => { 18 => 0xfb, 61 => 0x20, 62 => 0x20 },
-	'saturationsetting' => { 263 => 0x1010, 354 => 0x11, 368 => 0x9 },
-	'saturationstandard' => { 18 => 0xfa, 61 => 0x8, 62 => 0x8 },
-	'saturationuserdef1' => { 18 => 0x100, 61 => 0x98, 62 => 0xb0 },
-	'saturationuserdef2' => { 18 => 0x101, 61 => 0xb0, 62 => 0xc8 },
-	'saturationuserdef3' => { 18 => 0x102, 61 => 0xc8, 62 => 0xe0 },
-	'saveid' => { 433 => 'SaveID' },
-	'scaletype' => { 432 => 'scaleType' },
-	'scanimageenhancer' => { 203 => 0x60 },
-	'scanningdirection' => { 117 => 0x64 },
-	'scene' => { 417 => 'Scene', 432 => 'scene' },
-	'scenearea' => { 258 => 0x211, 260 => 0x1031 },
-	'sceneassist' => { 196 => 0x9c },
-	'scenecapturetype' => { 107 => 0xa406, 412 => 'SceneCaptureType' },
-	'scenedetect' => { 258 => 0x210, 260 => 0x1030 },
-	'scenedetectdata' => { 258 => 0x212, 260 => 0x1033 },
-	'scenemode' => { 125 => 0xfa02, 164 => 0x100, 196 => 0x8f, 255 => 0x509, 260 => 0x403, 276 => 0x8001, 284 => 0xf, 364 => 0xb023 },
-	'scenemodeused' => { 127 => [0x6002,0xf002] },
-	'sceneselect' => { 343 => 0x21f },
-	'scenetype' => { 107 => 0xa301, 412 => 'SceneType' },
-	'screentips' => { 241 => '12.7', 242 => '5.3', 248 => '13.1', 249 => '4.4', 252 => '5.4', 253 => '5.1' },
-	'season' => { 421 => 'season' },
-	'secondaryslotfunction' => { 213 => 0x1d0, 222 => 0x1d0 },
-	'section' => { 422 => 'section' },
-	'securityclassification' => { 107 => 0x9212 },
-	'selectableafpoint' => { 73 => 0x509 },
+	'orientationlinkedafpoint' => { 75 => 0x516 },
+	'originalbestqualitysize' => { 109 => 0xc792 },
+	'originaldecisiondata' => { 105 => 'OriginalDecisionData' },
+	'originaldecisiondataoffset' => { 57 => 0x83 },
+	'originaldefaultcropsize' => { 109 => 0xc793 },
+	'originaldefaultfinalsize' => { 109 => 0xc791 },
+	'originaldirectory' => { 278 => 0x408 },
+	'originaldocumentid' => { 438 => 'OriginalDocumentID' },
+	'originalfilename' => { 88 => 0x816, 123 => 0x3e9, 135 => 0x20, 278 => 0x407, 403 => 'OriginalFilename' },
+	'originalimageheight' => { 71 => 0xc, 113 => 0x1 },
+	'originalimagewidth' => { 71 => 0xb, 113 => 0x0 },
+	'originalrawfiledata' => { 109 => 0xc68c },
+	'originalrawfiledigest' => { 109 => 0xc71d },
+	'originalrawfilename' => { 109 => 0xc68b },
+	'originaltransmissionreference' => { 117 => 0x67 },
+	'originatingprogram' => { 117 => 0x41, 407 => 'OriginatingProgram' },
+	'originplatform' => { 427 => 'originPlatform' },
+	'os' => { 415 => 'os' },
+	'otherconditions' => { 269 => 'OtherConditions' },
+	'otherconstraints' => { 269 => 'OtherConstraints' },
+	'otherimage' => { 105 => 'OtherImage' },
+	'otherimageinfo' => { 269 => 'OtherImageInfo' },
+	'otherimagelength' => { 109 => 0x202 },
+	'otherimagestart' => { 109 => 0x201 },
+	'otherlicensedocuments' => { 269 => 'OtherLicenseDocuments' },
+	'otherlicenseinfo' => { 269 => 'OtherLicenseInfo' },
+	'otherlicenserequirements' => { 269 => 'OtherLicenseRequirements' },
+	'outcue' => { 437 => 'outCue' },
+	'outcuescale' => { 437 => [\'outCue','outCueScale'] },
+	'outcuevalue' => { 437 => [\'outCue','outCueValue'] },
+	'outputimageheight' => { 176 => 0x3 },
+	'outputimagewidth' => { 176 => 0x2 },
+	'outputprofile' => { 123 => 0x138b },
+	'outputresolution' => { 176 => 0x4 },
+	'owner' => { 441 => 'Owner' },
+	'ownerid' => { 117 => 0xbc },
+	'ownername' => { 14 => 0x10f, 57 => 0x9, 88 => 0x810, 109 => [0xa430,0xfde8], 139 => 'OwnerName', 409 => 'OwnerName', 418 => 'CameraOwnerName' },
+	'padding' => { 109 => 0xea1c },
+	'pagecount' => { 427 => 'pageCount' },
+	'pageimage' => { 435 => [\'PageInfo','PageInfoImage'] },
+	'pageimageformat' => { 435 => [\'PageInfo','PageInfoFormat'] },
+	'pageimageheight' => { 435 => [\'PageInfo','PageInfoHeight'] },
+	'pageimagepagenumber' => { 435 => [\'PageInfo','PageInfoPageNumber'] },
+	'pageimagewidth' => { 435 => [\'PageInfo','PageInfoWidth'] },
+	'pageinfo' => { 435 => 'PageInfo' },
+	'pagename' => { 109 => 0x11d },
+	'pagenumber' => { 109 => 0x129 },
+	'pageprogressiondirection' => { 427 => 'pageProgressionDirection' },
+	'pagerange' => { 427 => 'pageRange' },
+	'paintbasedcorrectionmasks' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasks'] },
+	'paintbasedcorrections' => { 413 => 'PaintBasedCorrections' },
+	'paintcorrectionactive' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionActive'] },
+	'paintcorrectionamount' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionAmount'] },
+	'paintcorrectionbrightness' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalBrightness'] },
+	'paintcorrectionclarity' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity'] },
+	'paintcorrectionclarity2012' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalClarity2012'] },
+	'paintcorrectioncontrast' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast'] },
+	'paintcorrectioncontrast2012' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalContrast2012'] },
+	'paintcorrectiondefringe' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalDefringe'] },
+	'paintcorrectionexposure' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure'] },
+	'paintcorrectionexposure2012' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalExposure2012'] },
+	'paintcorrectionhighlights2012' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalHighlights2012'] },
+	'paintcorrectionhue' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalToningHue'] },
+	'paintcorrectionluminancenoise' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalLuminanceNoise'] },
+	'paintcorrectionmaskalpha' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAlpha'] },
+	'paintcorrectionmaskangle' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksAngle'] },
+	'paintcorrectionmaskbottom' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksBottom'] },
+	'paintcorrectionmaskcentervalue' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterValue'] },
+	'paintcorrectionmaskcenterweight' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksCenterWeight'] },
+	'paintcorrectionmaskdabs' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksDabs'] },
+	'paintcorrectionmaskfeather' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFeather'] },
+	'paintcorrectionmaskflipped' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlipped'] },
+	'paintcorrectionmaskflow' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFlow'] },
+	'paintcorrectionmaskfullx' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullX'] },
+	'paintcorrectionmaskfully' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksFullY'] },
+	'paintcorrectionmaskleft' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksLeft'] },
+	'paintcorrectionmaskmidpoint' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMidpoint'] },
+	'paintcorrectionmaskperimetervalue' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksPerimeterValue'] },
+	'paintcorrectionmaskradius' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRadius'] },
+	'paintcorrectionmaskright' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRight'] },
+	'paintcorrectionmaskroundness' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksRoundness'] },
+	'paintcorrectionmasksizex' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeX'] },
+	'paintcorrectionmasksizey' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksSizeY'] },
+	'paintcorrectionmasktop' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksTop'] },
+	'paintcorrectionmaskvalue' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksMaskValue'] },
+	'paintcorrectionmaskversion' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksVersion'] },
+	'paintcorrectionmaskwhat' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksWhat'] },
+	'paintcorrectionmaskx' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksX'] },
+	'paintcorrectionmasky' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksY'] },
+	'paintcorrectionmaskzerox' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroX'] },
+	'paintcorrectionmaskzeroy' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsCorrectionMasksZeroY'] },
+	'paintcorrectionmoire' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalMoire'] },
+	'paintcorrectionsaturation' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSaturation','PaintBasedCorrectionsLocalToningSaturation'] },
+	'paintcorrectionshadows2012' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalShadows2012'] },
+	'paintcorrectionsharpness' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalSharpness'] },
+	'paintcorrectiontemperature' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTemperature'] },
+	'paintcorrectiontint' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsLocalTint'] },
+	'paintcorrectionwhat' => { 413 => [\'PaintBasedCorrections','PaintBasedCorrectionsWhat'] },
+	'panasonicexifversion' => { 280 => 0x26 },
+	'panasonicimageheight' => { 280 => 0x4c },
+	'panasonicimagewidth' => { 280 => 0x4b },
+	'panasonicrawversion' => { 284 => 0x1 },
+	'panasonictitle' => { 109 => 0xc6d2 },
+	'panasonictitle2' => { 109 => 0xc6d3 },
+	'panoramaangle' => { 114 => 0x1153 },
+	'panoramacropbottom' => { 374 => 0x7 },
+	'panoramacropleft' => { 374 => 0x4 },
+	'panoramacropright' => { 374 => 0x6 },
+	'panoramacroptop' => { 374 => 0x5 },
+	'panoramadirection' => { 65 => 0x5, 114 => 0x1154, 374 => 0x3 },
+	'panoramaframeheight' => { 374 => 0x9 },
+	'panoramaframenumber' => { 65 => 0x2 },
+	'panoramaframewidth' => { 374 => 0x8 },
+	'panoramafullheight' => { 374 => 0x2 },
+	'panoramafullwidth' => { 374 => 0x1 },
+	'panoramamode' => { 125 => 0x3c, 259 => 0x601 },
+	'panoramasize3d' => { 359 => 0x38 },
+	'panoramasourceheight' => { 374 => 0xb },
+	'panoramasourcewidth' => { 374 => 0xa },
+	'panoramicstitchcameramotion' => { 157 => 'PanoramicStitchCameraMotion', 158 => 0x1 },
+	'panoramicstitchmaptype' => { 157 => 'PanoramicStitchMapType', 158 => 0x2 },
+	'panoramicstitchphi0' => { 157 => 'PanoramicStitchPhi0', 158 => 0x5 },
+	'panoramicstitchphi1' => { 157 => 'PanoramicStitchPhi1', 158 => 0x6 },
+	'panoramicstitchtheta0' => { 157 => 'PanoramicStitchTheta0', 158 => 0x3 },
+	'panoramicstitchtheta1' => { 157 => 'PanoramicStitchTheta1', 158 => 0x4 },
+	'panoramicstitchversion' => { 158 => 0x0 },
+	'pantry' => { 438 => 'Pantry' },
+	'parallax' => { 114 => 0xb211, 258 => 0x28 },
+	'parametricdarks' => { 413 => 'ParametricDarks' },
+	'parametrichighlights' => { 413 => 'ParametricHighlights' },
+	'parametrichighlightsplit' => { 413 => 'ParametricHighlightSplit' },
+	'parametriclights' => { 413 => 'ParametricLights' },
+	'parametricmidtonesplit' => { 413 => 'ParametricMidtoneSplit' },
+	'parametricshadows' => { 413 => 'ParametricShadows' },
+	'parametricshadowsplit' => { 413 => 'ParametricShadowSplit' },
+	'parentmeid' => { 403 => 'ParentMEID' },
+	'parentreference1' => { 421 => [\'TagStructure','TagStructureParentReference'] },
+	'parentreference2' => { 421 => [\'TagStructure','TagStructureSubLabelsParentReference'] },
+	'parentreference3' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsParentReference'] },
+	'parentreference4' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsParentReference'] },
+	'parentreference5' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] },
+	'parentreference6' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsParentReference'] },
+	'partofcompilation' => { 437 => 'partOfCompilation' },
+	'patientbirthdate' => { 400 => 'PatientDOB' },
+	'patientid' => { 400 => 'PatientID' },
+	'patientname' => { 400 => 'PatientName' },
+	'patientsex' => { 400 => 'PatientSex' },
+	'pdfversion' => { 424 => 'PDFVersion' },
+	'pentaximagesize' => { 314 => 0x9 },
+	'pentaxmodelid' => { 294 => 0x0, 314 => 0x5 },
+	'pentaxmodeltype' => { 314 => 0x1 },
+	'pentaxversion' => { 314 => 0x0 },
+	'people' => { 401 => 'People', 405 => 'People' },
+	'perchannelblacklevel' => { 39 => 0xc4, 40 => [0x2b4,0x2cb,0x2cf], 41 => 0x108, 42 => 0x1df, 43 => [0x1f8,0x2d8], 44 => [0x22c,0x30a] },
+	'peripheralillumcentralradius' => { 398 => 0x8030 },
+	'peripheralillumcentralvalue' => { 398 => 0x8031 },
+	'peripheralillumination' => { 94 => 0x20702, 100 => 0x68 },
+	'peripheralilluminationcorr' => { 56 => 0x1, 304 => 0x2 },
+	'peripheralilluminationon' => { 94 => '0x20702.0', 100 => 0x64 },
+	'peripheralillumperiphvalue' => { 398 => 0x8032 },
+	'peripherallighting' => { 71 => 0x2 },
+	'peripherallightingsetting' => { 72 => 0x5 },
+	'peripherallightingvalue' => { 71 => 0x6 },
+	'permissions' => { 430 => 'permissions' },
+	'permits' => { 410 => 'permits' },
+	'person' => { 427 => 'person' },
+	'personality' => { 403 => 'Personality' },
+	'personinimage' => { 423 => 'PersonInImage' },
+	'personinimagecharacteristic' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristic'] },
+	'personinimagecvtermcvid' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvId'] },
+	'personinimagecvtermid' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermId'] },
+	'personinimagecvtermname' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermName'] },
+	'personinimagecvtermrefinedabout' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonCharacteristicCvTermRefinedAbout'] },
+	'personinimagedescription' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonDescription'] },
+	'personinimageid' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonId'] },
+	'personinimagename' => { 423 => [\'PersonInImageWDetails','PersonInImageWDetailsPersonName'] },
+	'personinimagewdetails' => { 423 => 'PersonInImageWDetails' },
+	'perspectiveaspect' => { 413 => 'PerspectiveAspect' },
+	'perspectivehorizontal' => { 413 => 'PerspectiveHorizontal' },
+	'perspectiverotate' => { 413 => 'PerspectiveRotate' },
+	'perspectivescale' => { 413 => 'PerspectiveScale' },
+	'perspectiveupright' => { 413 => 'PerspectiveUpright' },
+	'perspectivevertical' => { 413 => 'PerspectiveVertical' },
+	'perspectivex' => { 413 => 'PerspectiveX' },
+	'perspectivey' => { 413 => 'PerspectiveY' },
+	'pf0customfuncregistration' => { 83 => 0x1 },
+	'pf10retainprogramshift' => { 83 => 0xb },
+	'pf13drivepriority' => { 83 => 0xe },
+	'pf14disablefocussearch' => { 83 => 0xf },
+	'pf15disableafassistbeam' => { 83 => 0x10 },
+	'pf16autofocuspointshoot' => { 83 => 0x11 },
+	'pf17disableafpointsel' => { 83 => 0x12 },
+	'pf18enableautoafpointsel' => { 83 => 0x13 },
+	'pf19continuousshootspeed' => { 83 => 0x14 },
+	'pf19shootingspeedhigh' => { 82 => 0xa },
+	'pf19shootingspeedlow' => { 82 => 0x9 },
+	'pf1disableshootingmodes' => { 83 => 0x2 },
+	'pf1value' => { 82 => 0x1 },
+	'pf20limitcontinousshots' => { 83 => 0x15 },
+	'pf20maxcontinousshots' => { 82 => 0xb },
+	'pf21enablequietoperation' => { 83 => 0x16 },
+	'pf23felocktime' => { 82 => 0xd },
+	'pf23postreleasetime' => { 82 => 0xe },
+	'pf23settimerlengths' => { 83 => 0x18 },
+	'pf23shutterbuttontime' => { 82 => 0xc },
+	'pf24lightlcdduringbulb' => { 83 => 0x19 },
+	'pf25aemode' => { 82 => 0xf },
+	'pf25afmode' => { 82 => 0x12 },
+	'pf25afpointsel' => { 82 => 0x13 },
+	'pf25colormatrix' => { 82 => 0x17 },
+	'pf25defaultclearsettings' => { 83 => 0x1a },
+	'pf25drivemode' => { 82 => 0x11 },
+	'pf25imagesize' => { 82 => 0x14 },
+	'pf25meteringmode' => { 82 => 0x10 },
+	'pf25parameters' => { 82 => 0x16 },
+	'pf25wbmode' => { 82 => 0x15 },
+	'pf26shortenreleaselag' => { 83 => 0x1b },
+	'pf27reversedialrotation' => { 83 => 0x1c },
+	'pf27value' => { 82 => 0x18 },
+	'pf28noquickdialexpcomp' => { 83 => 0x1d },
+	'pf29quickdialswitchoff' => { 83 => 0x1e },
+	'pf2disablemeteringmodes' => { 83 => 0x3 },
+	'pf2value' => { 82 => 0x2 },
+	'pf30enlargementmode' => { 83 => 0x1f },
+	'pf31originaldecisiondata' => { 83 => 0x20 },
+	'pf3manualexposuremetering' => { 83 => 0x4 },
+	'pf3value' => { 82 => 0x3 },
+	'pf4exposuretimelimits' => { 83 => 0x5 },
+	'pf4exposuretimemax' => { 82 => 0x5 },
+	'pf4exposuretimemin' => { 82 => 0x4 },
+	'pf5aperturelimits' => { 83 => 0x6 },
+	'pf5aperturemax' => { 82 => 0x7 },
+	'pf5aperturemin' => { 82 => 0x6 },
+	'pf6presetshootingmodes' => { 83 => 0x7 },
+	'pf7bracketcontinuousshoot' => { 83 => 0x8 },
+	'pf8bracketshots' => { 82 => 0x8 },
+	'pf8setbracketshots' => { 83 => 0x9 },
+	'pf9changebracketsequence' => { 83 => 0xa },
+	'phasedetectaf' => { 173 => 0x6 },
+	'phonenumber' => { 140 => 'Phone' },
+	'photoeffect' => { 33 => 0x28 },
+	'photoeffecthistoryxml' => { 236 => 0xe9651831 },
+	'photoeffects' => { 236 => 0xab5eca5e },
+	'photoeffectsblue' => { 238 => 0x8 },
+	'photoeffectsgreen' => { 238 => 0x6 },
+	'photoeffectsred' => { 238 => 0x4 },
+	'photoeffectstype' => { 238 => 0x0 },
+	'photographicsensitivity' => { 418 => 'PhotographicSensitivity' },
+	'photoinfoplayback' => { 243 => '17.6', 252 => '33.6' },
+	'photometricinterpretation' => { 109 => 0x106, 433 => 'PhotometricInterpretation' },
+	'photoshootingmenubank' => { 216 => 0xe7d },
+	'photoshootingmenubankimagearea' => { 216 => '3716.1' },
+	'photoshopbgrthumbnail' => { 328 => 0x409 },
+	'photoshopquality' => { 327 => 0x0 },
+	'photoshopthumbnail' => { 328 => 0x40c },
+	'photostyle' => { 280 => 0x89 },
+	'picklabel' => { 416 => 'PickLabel' },
+	'pictinfo' => { 348 => 0x208 },
+	'picturecontrol' => { 236 => 0xe2173c47 },
+	'picturecontrolactive' => { 239 => 0x0 },
+	'picturecontroladjust' => { 200 => 0x30, 201 => 0x30 },
+	'picturecontrolbase' => { 200 => 0x18, 201 => 0x18 },
+	'picturecontroldata' => { 198 => [0xbd,0x23] },
+	'picturecontrolmode' => { 239 => 0x13 },
+	'picturecontrolname' => { 200 => 0x4, 201 => 0x4 },
+	'picturecontrolquickadjust' => { 200 => 0x31, 201 => 0x31 },
+	'pictureeffect' => { 369 => 0x200e },
+	'pictureeffect2' => { 376 => 0x1163, 377 => 0x1167, 378 => 0x1143, 379 => 0x11bf, 380 => 0x119b, 381 => 0x1053, 382 => 0x24b, 383 => 0x24b, 394 => 0x46 },
+	'picturefinish' => { 162 => 0x71 },
+	'picturemode' => { 114 => 0x1031, 259 => 0x520, 314 => [0xb,0x33], 349 => 0x3d },
+	'picturemode2' => { 295 => 0x0 },
+	'picturemodebwfilter' => { 259 => 0x525 },
+	'picturemodecontrast' => { 259 => 0x523 },
+	'picturemodeeffect' => { 259 => 0x52d },
+	'picturemodehue' => { 259 => 0x522 },
+	'picturemodesaturation' => { 259 => 0x521 },
+	'picturemodesharpness' => { 259 => 0x524 },
+	'picturemodetone' => { 259 => 0x526 },
+	'pictureprofile' => { 376 => [0x115e,0x115f], 377 => [0x1162,0x1163], 378 => [0x113e,0x113f], 379 => [0x11ba,0x11bb], 380 => [0x1196,0x1197], 381 => [0x104e,0x104f], 382 => [0x246,0x247], 383 => [0x246,0x247] },
+	'picturestyle' => { 7 => [0x4b,0x51], 8 => 0xf4, 9 => 0x6c, 10 => 0x86, 11 => 0x73, 15 => 0xab, 16 => 0xa7, 17 => 0xb0, 18 => 0x6c, 19 => 0xa7, 20 => 0xf4, 21 => 0xb3, 23 => 0xf4, 24 => 0xfa, 26 => 0x169, 67 => 0xa, 94 => 0x20301, 100 => 0x2 },
+	'picturewizard' => { 346 => 0x21 },
+	'picturewizardcolor' => { 345 => 0x1 },
+	'picturewizardcontrast' => { 345 => 0x4 },
+	'picturewizardmode' => { 345 => 0x0 },
+	'picturewizardsaturation' => { 345 => 0x2 },
+	'picturewizardsharpness' => { 345 => 0x3 },
+	'pipelineversion' => { 157 => 'PipelineVersion' },
+	'pitch' => { 106 => 0x6, 244 => '4.1', 256 => '4.1' },
+	'pitchangle' => { 215 => 0x350f, 224 => 0x36f8, 259 => 0x904, 280 => 0x91, 313 => 0x2, 344 => 0x1 },
+	'pixelshiftresolution' => { 315 => 0x0 },
+	'pixelsperunitx' => { 271 => 0x0 },
+	'pixelsperunity' => { 271 => 0x4 },
+	'pixelunits' => { 271 => 0x8 },
+	'planarconfiguration' => { 109 => 0x11c, 433 => 'PlanarConfiguration' },
+	'platenames' => { 442 => 'PlateNames' },
+	'platform' => { 427 => 'platform' },
+	'playbackmenustime' => { 248 => '20.1', 249 => '21.1', 250 => '21.1' },
+	'playbackmonitorofftime' => { 243 => '25.2', 244 => '36.1', 246 => '36.1', 247 => '36.1', 251 => '35.1', 252 => '8.1', 253 => '35.1', 256 => '36.1', 257 => '21.1' },
+	'playbackzoom' => { 244 => '37.1' },
+	'playdisplay' => { 164 => 0x4e },
+	'plusversion' => { 269 => 'Version' },
+	'pmversion' => { 326 => 'PMVersion' },
+	'pngwarning' => { 272 => 'Warning' },
+	'poilevel' => { 197 => 0x8 },
+	'portraitoutputhighlightpoint' => { 100 => 0x1d },
+	'portraitoutputshadowpoint' => { 100 => 0x1e },
+	'portraitrawcolortone' => { 100 => 0x16 },
+	'portraitrawcontrast' => { 100 => 0x18 },
+	'portraitrawhighlight' => { 100 => 0x76 },
+	'portraitrawhighlightpoint' => { 100 => 0x1b },
+	'portraitrawlinear' => { 100 => 0x19 },
+	'portraitrawsaturation' => { 100 => 0x17 },
+	'portraitrawshadow' => { 100 => 0x7f },
+	'portraitrawshadowpoint' => { 100 => 0x1c },
+	'portraitrawsharpness' => { 100 => 0x1a },
+	'portraitrefiner' => { 104 => 0x302b },
+	'portraitunsharpmaskfineness' => { 100 => 0x9a },
+	'portraitunsharpmaskstrength' => { 100 => 0x98 },
+	'portraitunsharpmaskthreshold' => { 100 => 0x9c },
+	'poseheadingdegrees' => { 402 => 'PoseHeadingDegrees' },
+	'posepitchdegrees' => { 402 => 'PosePitchDegrees' },
+	'poserolldegrees' => { 402 => 'PoseRollDegrees' },
+	'positiondescriptor' => { 426 => 'positionDescriptor' },
+	'postalcode' => { 144 => 'PostalCode' },
+	'postcropvignetteamount' => { 413 => 'PostCropVignetteAmount' },
+	'postcropvignettefeather' => { 413 => 'PostCropVignetteFeather' },
+	'postcropvignettehighlightcontrast' => { 413 => 'PostCropVignetteHighlightContrast' },
+	'postcropvignettemidpoint' => { 413 => 'PostCropVignetteMidpoint' },
+	'postcropvignetteroundness' => { 413 => 'PostCropVignetteRoundness' },
+	'postcropvignettestyle' => { 413 => 'PostCropVignetteStyle' },
+	'potentialface1position' => { 367 => 0xb },
+	'potentialface2position' => { 367 => 0x15 },
+	'potentialface3position' => { 367 => 0x1f },
+	'potentialface4position' => { 367 => 0x29 },
+	'potentialface5position' => { 367 => 0x33 },
+	'potentialface6position' => { 367 => 0x3d },
+	'potentialface7position' => { 367 => 0x47 },
+	'potentialface8position' => { 367 => 0x51 },
+	'powersource' => { 293 => '0.1' },
+	'poweruptime' => { 198 => 0xb6 },
+	'precaptureframes' => { 264 => 0x300 },
+	'predictor' => { 109 => 0x13d },
+	'preflashreturnstrength' => { 213 => 0x28a },
+	'prefs' => { 117 => 0xdd, 326 => 'Prefs' },
+	'preservedfilename' => { 438 => 'PreservedFileName' },
+	'presetwhitebalance' => { 164 => 0x24, 398 => 0x8002 },
+	'presetwhitebalanceadj' => { 398 => 0x8014 },
+	'pressure' => { 109 => 0x9402 },
+	'previewapplicationname' => { 109 => 0xc716 },
+	'previewapplicationversion' => { 109 => 0xc717 },
+	'previewbutton' => { 243 => ['14.1','15.1'], 244 => '15.1', 246 => '15.1', 247 => '15.1', 252 => '29.1', 253 => '14.1', 256 => '15.1' },
+	'previewbuttonplusdials' => { 243 => ['14.2','15.2'], 244 => '15.2', 246 => '43.1', 247 => '43.1', 252 => '31.2', 256 => '43.1' },
+	'previewcolorspace' => { 109 => 0xc71a },
+	'previewcropbottom' => { 325 => 0xef },
+	'previewcropleft' => { 325 => 0xec },
+	'previewcropright' => { 325 => 0xee },
+	'previewcroptop' => { 325 => 0xed },
+	'previewdate' => { 333 => 0x0 },
+	'previewdatetime' => { 109 => 0xc71b },
+	'previewimage' => { 104 => 0x2000, 105 => 'PreviewImage', 110 => 'PreviewImage', 112 => 0x4, 149 => 'data', 166 => 0x81, 264 => 0x280, 279 => 0x300, 369 => 0x2001 },
+	'previewimageborders' => { 314 => 0x3e },
+	'previewimageheight' => { 66 => 0x4, 127 => 0xfa58 },
+	'previewimagelength' => { 66 => 0x2, 104 => 0x3, 109 => [0x117,0x202], 166 => 0x89, 202 => 0x202, 259 => 0x102, 264 => 0x1037, 314 => 0x3, 338 => 0x1e, 343 => 0x3, 349 => [0x1b,0x1d], 360 => 0x202 },
+	'previewimagename' => { 149 => '1Name' },
+	'previewimagesize' => { 104 => 0x2, 132 => 0x2, 149 => 'ImageSize', 314 => 0x2, 349 => [0x1c,0x1e], 369 => 0xb02c },
+	'previewimagestart' => { 66 => 0x5, 104 => 0x4, 109 => [0x111,0x201], 166 => 0x88, 202 => 0x201, 259 => 0x101, 264 => 0x1036, 314 => 0x4, 338 => 0x1c, 343 => 0x2, 349 => [0x1a,0x1c], 360 => 0x201 },
+	'previewimagetype' => { 149 => '0Type' },
+	'previewimagevalid' => { 259 => 0x100, 264 => 0x1035 },
+	'previewimagewidth' => { 66 => 0x3, 127 => 0xfa57 },
+	'previewquality' => { 66 => 0x1 },
+	'previewsettingsdigest' => { 109 => 0xc719 },
+	'previewsettingsname' => { 109 => 0xc718 },
+	'primaryafpoint' => { 173 => 0x7 },
+	'primarychromaticities' => { 109 => 0x13f, 433 => 'PrimaryChromaticities' },
+	'primaryslot' => { 216 => 0xe7f },
+	'printim' => { 109 => 0xc4a5 },
+	'prioritysetupshutterrelease' => { 164 => 0x1d, 357 => 0x28 },
+	'privatertkinfo' => { 404 => 'privateRTKInfo' },
+	'processingsoftware' => { 109 => 0xb },
+	'processversion' => { 413 => 'ProcessVersion' },
+	'producer' => { 268 => 'Producer', 424 => 'Producer' },
+	'productcode' => { 427 => 'productCode' },
+	'productid' => { 118 => 0x32, 426 => 'productID' },
+	'productidtype' => { 426 => 'productIDType' },
+	'productinimage' => { 423 => 'ProductInImage' },
+	'productinimagedescription' => { 423 => [\'ProductInImage','ProductInImageProductDescription'] },
+	'productinimagegtin' => { 423 => [\'ProductInImage','ProductInImageProductGTIN'] },
+	'productinimagename' => { 423 => [\'ProductInImage','ProductInImageProductName'] },
+	'productioncode' => { 294 => 0x2 },
+	'productorserviceconstraints' => { 269 => 'ProductOrServiceConstraints' },
+	'profession' => { 427 => 'profession' },
+	'profilecalibrationsig' => { 109 => 0xc6f4 },
+	'profilecopyright' => { 109 => 0xc6fe },
+	'profileembedpolicy' => { 109 => 0xc6fd },
+	'profilehuesatmapdata1' => { 109 => 0xc6fa },
+	'profilehuesatmapdata2' => { 109 => 0xc6fb },
+	'profilehuesatmapdims' => { 109 => 0xc6f9 },
+	'profilehuesatmapencoding' => { 109 => 0xc7a3 },
+	'profilelooktabledata' => { 109 => 0xc726 },
+	'profilelooktabledims' => { 109 => 0xc725 },
+	'profilelooktableencoding' => { 109 => 0xc7a4 },
+	'profilename' => { 109 => 0xc6f8 },
+	'profiletonecurve' => { 109 => 0xc6fc },
+	'programiso' => { 280 => 0x3c },
+	'programline' => { 295 => '1.1' },
+	'programmode' => { 169 => 0x5 },
+	'programshift' => { 198 => 0xd },
+	'programversion' => { 117 => 0x46 },
+	'prohibits' => { 410 => 'prohibits' },
+	'projectiontype' => { 402 => 'ProjectionType' },
+	'projectname' => { 437 => 'projectName' },
+	'projectref' => { 437 => 'projectRef' },
+	'projectrefpath' => { 437 => [\'projectRef','projectRefPath'] },
+	'projectreftype' => { 437 => [\'projectRef','projectRefType'] },
+	'propertyreleaseid' => { 269 => 'PropertyReleaseID' },
+	'propertyreleasestatus' => { 269 => 'PropertyReleaseStatus' },
+	'province-state' => { 117 => 0x5f },
+	'publicationdate' => { 427 => 'publicationDate' },
+	'publicationdatea-platform' => { 427 => [\'publicationDate','publicationDateA-platform'] },
+	'publicationdatedate' => { 427 => [\'publicationDate','publicationDateDate'] },
+	'publicationdisplaydate' => { 427 => 'publicationDisplayDate' },
+	'publicationdisplaydatea-platform' => { 427 => [\'publicationDisplayDate','publicationDisplayDateA-platform'] },
+	'publicationdisplaydatedate' => { 427 => [\'publicationDisplayDate','publicationDisplayDateDate'] },
+	'publicationname' => { 427 => 'publicationName' },
+	'publisher' => { 414 => 'publisher' },
+	'publishingfrequency' => { 427 => 'publishingFrequency' },
+	'pulldown' => { 437 => 'pullDown' },
+	'purplehsl' => { 94 => 0x20916 },
+	'quality' => { 0 => 0x1, 33 => 0x3, 103 => 0x2, 104 => 0x3002, 114 => 0x1000, 125 => 0x9, 198 => 0x4, 226 => 0x3, 264 => 0x201, 276 => 0x300, 314 => 0x8, 321 => 0x2, 349 => 0x16, 357 => 0x56, 358 => 0x56, 359 => 0xb, 369 => 0x102 },
+	'quality2' => { 376 => 0x1170, 377 => 0x1174, 378 => 0x1150, 380 => 0x11a8, 381 => 0x1060, 382 => 0x258, 383 => 0x258, 386 => 0x29, 387 => 0x25, 388 => 0x2a },
+	'qualitymode' => { 104 => 0x8 },
+	'quantizationmethod' => { 119 => 0x78 },
+	'quickadjust' => { 239 => 0x2a },
+	'quickcontroldialinmeter' => { 75 => 0x703 },
+	'quickfix' => { 236 => 0x416391c6 },
+	'quickshot' => { 348 => 0x213 },
+	'rangefinder' => { 248 => '4.1', 249 => '5.1', 250 => '5.1' },
+	'rasterizedcaption' => { 117 => 0x7d },
+	'rating' => { 109 => 0x4746, 114 => 0x1431, 325 => 0xdf, 369 => 0x2002, 407 => 'rating', 415 => 'rating', 427 => 'rating', 435 => 'Rating' },
+	'ratingpercent' => { 109 => 0x4749, 159 => 'Rating' },
+	'rawandjpgrecording' => { 73 => 0x8, 166 => 0x109, 295 => 0xd },
+	'rawbrightnessadj' => { 94 => 0x20001, 99 => 0x38 },
+	'rawcoloradj' => { 99 => 0x2e },
+	'rawcropbottom' => { 325 => 0xd4 },
+	'rawcropleft' => { 325 => 0xd1 },
+	'rawcropright' => { 325 => 0xd3 },
+	'rawcroptop' => { 325 => 0xd2 },
+	'rawcustomsaturation' => { 99 => 0x30 },
+	'rawcustomtone' => { 99 => 0x34 },
+	'rawdata' => { 346 => 0xa048 },
+	'rawdatabyteorder' => { 346 => 0x40 },
+	'rawdatacfapattern' => { 346 => 0x50 },
+	'rawdatauniqueid' => { 109 => 0xc65d },
+	'rawdepth' => { 168 => 0x10 },
+	'rawdevartfilter' => { 266 => 0x121 },
+	'rawdevautogradation' => { 266 => 0x119 },
+	'rawdevcolorspace' => { 265 => 0x108, 266 => 0x109 },
+	'rawdevcontrastvalue' => { 265 => 0x106, 266 => 0x105 },
+	'rawdeveditstatus' => { 265 => 0x10b },
+	'rawdevelopmentprocess' => { 314 => 0x62 },
+	'rawdevengine' => { 265 => 0x109, 266 => 0x10b },
+	'rawdevexposurebiasvalue' => { 265 => 0x100, 266 => 0x100 },
+	'rawdevgradation' => { 266 => 0x112 },
+	'rawdevgraypoint' => { 265 => 0x103, 266 => 0x104 },
+	'rawdevmemorycoloremphasis' => { 265 => 0x105, 266 => 0x108 },
+	'rawdevnoisereduction' => { 265 => 0x10a, 266 => 0x10a },
+	'rawdevpicturemode' => { 266 => 0x10c },
+	'rawdevpm_bwfilter' => { 266 => 0x110 },
+	'rawdevpmcontrast' => { 266 => 0x10e },
+	'rawdevpmnoisefilter' => { 266 => 0x120 },
+	'rawdevpmpicturetone' => { 266 => 0x111 },
+	'rawdevpmsaturation' => { 266 => 0x10d },
+	'rawdevpmsharpness' => { 266 => 0x10f },
+	'rawdevsaturation3' => { 266 => 0x113 },
+	'rawdevsaturationemphasis' => { 265 => 0x104, 266 => 0x107 },
+	'rawdevsettings' => { 265 => 0x10c },
+	'rawdevsharpnessvalue' => { 265 => 0x107, 266 => 0x106 },
+	'rawdevversion' => { 265 => 0x0, 266 => 0x0 },
+	'rawdevwbfineadjustment' => { 265 => 0x102, 266 => 0x103 },
+	'rawdevwhitebalance' => { 266 => 0x101 },
+	'rawdevwhitebalancevalue' => { 265 => 0x101, 266 => 0x102 },
+	'rawfile' => { 109 => 0xfe4c },
+	'rawfilename' => { 413 => 'RawFileName' },
+	'rawformat' => { 323 => 0x10e },
+	'rawimagecenter' => { 198 => 0x99 },
+	'rawimagedigest' => { 109 => 0xc71c },
+	'rawimagesize' => { 314 => 0x39 },
+	'rawinfoversion' => { 267 => 0x0 },
+	'rawjpgheight' => { 90 => 0x4 },
+	'rawjpgquality' => { 51 => 0x6, 90 => 0x1 },
+	'rawjpgsize' => { 51 => 0x7, 90 => 0x2 },
+	'rawjpgwidth' => { 90 => 0x3 },
+	'rawmeasuredrggb' => { 38 => 0x26a, 40 => 0x280, 42 => 0x194, 43 => [0x1ad,0x26b] },
+	'rawrppused' => { 407 => 'rawrppused' },
+	'rawtopreviewgain' => { 109 => 0xc7a8 },
+	'reardisplay' => { 243 => '12.3', 244 => '6.2' },
+	'recipeendingpage' => { 429 => 'recipeEndingPage' },
+	'recipepagerange' => { 429 => 'recipePageRange' },
+	'recipesource' => { 429 => 'recipeSource' },
+	'recipestartingpage' => { 429 => 'recipeStartingPage' },
+	'recipetitle' => { 429 => 'recipeTitle' },
+	'recognizedface1age' => { 275 => 0x20 },
+	'recognizedface1name' => { 275 => 0x4 },
+	'recognizedface1position' => { 275 => 0x18 },
+	'recognizedface2age' => { 275 => 0x50 },
+	'recognizedface2name' => { 275 => 0x34 },
+	'recognizedface2position' => { 275 => 0x48 },
+	'recognizedface3age' => { 275 => 0x80 },
+	'recognizedface3name' => { 275 => 0x64 },
+	'recognizedface3position' => { 275 => 0x78 },
+	'recognizedfaceflags' => { 280 => 0x63 },
+	'recommendedexposureindex' => { 109 => 0x8832, 418 => 'RecommendedExposureIndex' },
+	'record' => { 108 => 'Record' },
+	'recordbasisofrecord' => { 108 => [\'Record','RecordBasisOfRecord'] },
+	'recordcollectioncode' => { 108 => [\'Record','RecordCollectionCode'] },
+	'recordcollectionid' => { 108 => [\'Record','RecordCollectionID'] },
+	'recorddatageneralizations' => { 108 => [\'Record','RecordDataGeneralizations'] },
+	'recorddatasetid' => { 108 => [\'Record','RecordDatasetID'] },
+	'recorddatasetname' => { 108 => [\'Record','RecordDatasetName'] },
+	'recorddisplay' => { 164 => 0x4d },
+	'recorddynamicproperties' => { 108 => [\'Record','RecordDynamicProperties'] },
+	'recordid' => { 88 => 0x1804 },
+	'recordinformationwithheld' => { 108 => [\'Record','RecordInformationWithheld'] },
+	'recordingformat' => { 339 => 0x1000 },
+	'recordingmode' => { 103 => 0x1, 321 => 0x1 },
+	'recordinstitutioncode' => { 108 => [\'Record','RecordInstitutionCode'] },
+	'recordinstitutionid' => { 108 => [\'Record','RecordInstitutionID'] },
+	'recordmode' => { 33 => 0x9, 104 => 0x3000 },
+	'recordownerinstitutioncode' => { 108 => [\'Record','RecordOwnerInstitutionCode'] },
+	'recordshutterrelease' => { 348 => 0x217 },
+	'redbalance' => { 181 => 0x270, 264 => 0x1017, 284 => 0x11, 314 => 0x1c },
+	'redcurvelimits' => { 99 => 0x18a },
+	'redcurvepoints' => { 98 => 0x2d, 99 => 0x160 },
+	'redeyecorrection' => { 240 => 0x0 },
+	'redeyeinfo' => { 413 => 'RedEyeInfo' },
+	'redeyereduction' => { 164 => 0x41, 357 => 0x6a, 359 => 0x28 },
+	'redhsl' => { 94 => 0x20910 },
+	'redhue' => { 413 => 'RedHue' },
+	'redsaturation' => { 413 => 'RedSaturation' },
+	'reductionmatrix1' => { 109 => 0xc625 },
+	'reductionmatrix2' => { 109 => 0xc626 },
+	'reelname' => { 109 => 0xc789 },
+	'reference1' => { 421 => [\'TagStructure','TagStructureReference'] },
+	'reference2' => { 421 => [\'TagStructure','TagStructureSubLabelsReference'] },
+	'reference3' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsReference'] },
+	'reference4' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsReference'] },
+	'reference5' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsReference'] },
+	'reference6' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabelsReference'] },
+	'referenceblackwhite' => { 109 => 0x214, 433 => 'ReferenceBlackWhite' },
+	'referencedate' => { 117 => 0x2f },
+	'referencenumber' => { 117 => 0x32 },
+	'references' => { 140 => 'References' },
+	'referenceservice' => { 117 => 0x2d },
+	'regionappliedtodimensions' => { 155 => [\'Regions','RegionsAppliedToDimensions'] },
+	'regionappliedtodimensionsh' => { 155 => [\'Regions','RegionsAppliedToDimensionsH'] },
+	'regionappliedtodimensionsunit' => { 155 => [\'Regions','RegionsAppliedToDimensionsUnit'] },
+	'regionappliedtodimensionsw' => { 155 => [\'Regions','RegionsAppliedToDimensionsW'] },
+	'regionarea' => { 155 => [\'Regions','RegionsRegionListArea'] },
+	'regionaread' => { 155 => [\'Regions','RegionsRegionListAreaD'] },
+	'regionareah' => { 155 => [\'Regions','RegionsRegionListAreaH'] },
+	'regionareaunit' => { 155 => [\'Regions','RegionsRegionListAreaUnit'] },
+	'regionareaw' => { 155 => [\'Regions','RegionsRegionListAreaW'] },
+	'regionareax' => { 155 => [\'Regions','RegionsRegionListAreaX'] },
+	'regionareay' => { 155 => [\'Regions','RegionsRegionListAreaY'] },
+	'regionbarcodevalue' => { 155 => [\'Regions','RegionsRegionListBarCodeValue'] },
+	'regionconstraints' => { 269 => 'RegionConstraints' },
+	'regiondescription' => { 155 => [\'Regions','RegionsRegionListDescription'] },
+	'regionextensions' => { 155 => [\'Regions','RegionsRegionListExtensions'] },
+	'regionfocususage' => { 155 => [\'Regions','RegionsRegionListFocusUsage'] },
+	'regioninfo' => { 155 => 'Regions' },
+	'regioninfodateregionsvalid' => { 156 => [\'RegionInfo','RegionInfoDateRegionsValid'] },
+	'regioninfomp' => { 156 => 'RegionInfo' },
+	'regioninforegions' => { 156 => [\'RegionInfo','RegionInfoRegions'] },
+	'regionlist' => { 155 => [\'Regions','RegionsRegionList'] },
+	'regionname' => { 155 => [\'Regions','RegionsRegionListName'] },
+	'regionpersondisplayname' => { 156 => [\'RegionInfo','RegionInfoRegionsPersonDisplayName'] },
+	'regionpersonemaildigest' => { 156 => [\'RegionInfo','RegionInfoRegionsPersonEmailDigest'] },
+	'regionpersonliveidcid' => { 156 => [\'RegionInfo','RegionInfoRegionsPersonLiveIdCID'] },
+	'regionpersonsourceid' => { 156 => [\'RegionInfo','RegionInfoRegionsPersonSourceID'] },
+	'regionrectangle' => { 156 => [\'RegionInfo','RegionInfoRegionsRectangle'] },
+	'regionrotation' => { 155 => [\'Regions','RegionsRegionListRotation'] },
+	'regionseealso' => { 155 => [\'Regions','RegionsRegionListSeeAlso'] },
+	'regiontype' => { 155 => [\'Regions','RegionsRegionListType'] },
+	'registryid' => { 423 => 'RegistryId' },
+	'registryitemid' => { 423 => [\'RegistryId','RegistryIdRegItemId'] },
+	'registryorganisationid' => { 423 => [\'RegistryId','RegistryIdRegOrgId'] },
+	'relatedaudiofile' => { 138 => 'data' },
+	'relatedaudiofilename' => { 138 => '1Name' },
+	'relatedaudiofiletype' => { 138 => '0Type' },
+	'relatedimagefileformat' => { 109 => 0x1000 },
+	'relatedimageheight' => { 109 => 0x1002 },
+	'relatedimagewidth' => { 109 => 0x1001 },
+	'relatedresourceid' => { 108 => [\'ResourceRelationship','ResourceRelationshipRelatedResourceID'] },
+	'relatedsoundfile' => { 109 => 0xa004, 417 => 'RelatedSoundFile' },
+	'relatedvideofile' => { 152 => 'data' },
+	'relatedvideofilename' => { 152 => '1Name' },
+	'relatedvideofiletype' => { 152 => '0Type' },
+	'relation' => { 414 => 'relation' },
+	'relationshipaccordingto' => { 108 => [\'ResourceRelationship','ResourceRelationshipRelationshipAccordingTo'] },
+	'relationshipestablisheddate' => { 108 => [\'ResourceRelationship','ResourceRelationshipRelationshipEstablishedDate'] },
+	'relationshipofresource' => { 108 => [\'ResourceRelationship','ResourceRelationshipRelationshipOfResource'] },
+	'relationshipremarks' => { 108 => [\'ResourceRelationship','ResourceRelationshipRelationshipRemarks'] },
+	'relativepeakaudiofilepath' => { 437 => 'relativePeakAudioFilePath' },
+	'relativetimestamp' => { 437 => 'relativeTimestamp' },
+	'relativetimestampscale' => { 437 => [\'relativeTimestamp','relativeTimestampScale'] },
+	'relativetimestampvalue' => { 437 => [\'relativeTimestamp','relativeTimestampValue'] },
+	'releasebuttontousedial' => { 243 => '17.8', 244 => '18.5', 246 => '18.4', 247 => '18.4', 252 => '33.8', 253 => '17.6', 256 => '18.5' },
+	'releasedate' => { 117 => 0x1e, 407 => 'ReleaseDate', 437 => 'releaseDate' },
+	'releasemode' => { 104 => 0x3001, 215 => 0x184d, 369 => 0xb049 },
+	'releasemode2' => { 376 => 0x112c, 377 => [0x112c,0x8], 378 => [0x1108,0x8], 379 => [0x1184,0x8], 380 => [0x1160,0x8], 381 => [0x4,0x1018], 382 => [0x4,0x210], 383 => [0x4,0x210], 385 => [0x67,0x73,0x3f,0x4b], 386 => 0x10, 387 => 0x10, 388 => 0x9, 394 => 0x34 },
+	'releasemode3' => { 376 => 0x1128, 377 => 0x1128, 378 => 0x1104, 379 => 0x1180, 380 => 0x115c, 381 => 0x1014, 382 => 0x20c, 383 => 0x20c },
+	'releasesetting' => { 88 => 0x1016 },
+	'releasetime' => { 117 => 0x23, 407 => 'ReleaseTime' },
+	'remoteonduration' => { 245 => '3.4', 248 => '17.2', 249 => '18.2', 250 => '18.2', 251 => '18.2', 253 => '18.2', 254 => '4.3', 257 => '19.2' },
+	'renditionclass' => { 438 => 'RenditionClass' },
+	'renditionof' => { 438 => 'RenditionOf' },
+	'renditionofalternatepaths' => { 438 => [\'RenditionOf','RenditionOfAlternatePaths'] },
+	'renditionofdocumentid' => { 438 => [\'RenditionOf','RenditionOfDocumentID'] },
+	'renditionoffilepath' => { 438 => [\'RenditionOf','RenditionOfFilePath'] },
+	'renditionoffrompart' => { 438 => [\'RenditionOf','RenditionOfFromPart'] },
+	'renditionofinstanceid' => { 438 => [\'RenditionOf','RenditionOfInstanceID'] },
+	'renditionoflastmodifydate' => { 438 => [\'RenditionOf','RenditionOfLastModifyDate'] },
+	'renditionoflasturl' => { 438 => [\'RenditionOf','RenditionOfLastURL'] },
+	'renditionoflinkcategory' => { 438 => [\'RenditionOf','RenditionOfLinkCategory'] },
+	'renditionoflinkform' => { 438 => [\'RenditionOf','RenditionOfLinkForm'] },
+	'renditionofmanager' => { 438 => [\'RenditionOf','RenditionOfManager'] },
+	'renditionofmanagervariant' => { 438 => [\'RenditionOf','RenditionOfManagerVariant'] },
+	'renditionofmanageto' => { 438 => [\'RenditionOf','RenditionOfManageTo'] },
+	'renditionofmanageui' => { 438 => [\'RenditionOf','RenditionOfManageUI'] },
+	'renditionofmaskmarkers' => { 438 => [\'RenditionOf','RenditionOfMaskMarkers'] },
+	'renditionoforiginaldocumentid' => { 438 => [\'RenditionOf','RenditionOfOriginalDocumentID'] },
+	'renditionofpartmapping' => { 438 => [\'RenditionOf','RenditionOfPartMapping'] },
+	'renditionofplacedresolutionunit' => { 438 => [\'RenditionOf','RenditionOfPlacedResolutionUnit'] },
+	'renditionofplacedxresolution' => { 438 => [\'RenditionOf','RenditionOfPlacedXResolution'] },
+	'renditionofplacedyresolution' => { 438 => [\'RenditionOf','RenditionOfPlacedYResolution'] },
+	'renditionofrenditionclass' => { 438 => [\'RenditionOf','RenditionOfRenditionClass'] },
+	'renditionofrenditionparams' => { 438 => [\'RenditionOf','RenditionOfRenditionParams'] },
+	'renditionoftopart' => { 438 => [\'RenditionOf','RenditionOfToPart'] },
+	'renditionofversionid' => { 438 => [\'RenditionOf','RenditionOfVersionID'] },
+	'renditionparams' => { 438 => 'RenditionParams' },
+	'repeatingflashcount' => { 186 => 0xd, 187 => 0xe, 188 => 0xe, 189 => 0xe, 252 => '17.2', 253 => '24.2', 254 => '9.2', 255 => '24.2', 257 => '25.2' },
+	'repeatingflashcountbuilt-in' => { 223 => 0x4db },
+	'repeatingflashcountexternal' => { 223 => 0x4c3 },
+	'repeatingflashoutput' => { 252 => '17.1', 253 => '24.1', 254 => '9.1', 255 => '24.1', 257 => '25.1' },
+	'repeatingflashoutputexternal' => { 223 => 0x4c0 },
+	'repeatingflashrate' => { 186 => 0xc, 187 => 0xd, 188 => 0xd, 189 => 0xd, 252 => '18.1', 253 => '25.1', 254 => '10.1', 255 => '25.1', 257 => '26.1' },
+	'repeatingflashratebuilt-in' => { 223 => 0x4da },
+	'repeatingflashrateexternal' => { 223 => 0x4c2 },
+	'requires' => { 410 => 'requires' },
+	'resampleparams' => { 437 => 'resampleParams' },
+	'resampleparamsquality' => { 437 => [\'resampleParams','resampleParamsQuality'] },
+	'resaved' => { 348 => 0x21e },
+	'resolution' => { 145 => 'Resolution' },
+	'resolutionmode' => { 349 => 0x4 },
+	'resolutionunit' => { 109 => 0x128, 120 => 0x2, 433 => 'ResolutionUnit' },
+	'resourceid' => { 108 => [\'ResourceRelationship','ResourceRelationshipResourceID'] },
+	'resourcerelationship' => { 108 => 'ResourceRelationship' },
+	'resourcerelationshipid' => { 108 => [\'ResourceRelationship','ResourceRelationshipResourceRelationshipID'] },
+	'restrictdrivemodes' => { 75 => 0x612 },
+	'restrictions' => { 430 => 'restrictions' },
+	'retouchareafeather' => { 413 => [\'RetouchAreas','RetouchAreasFeather'] },
+	'retouchareamaskalpha' => { 413 => [\'RetouchAreas','RetouchAreasMasksAlpha'] },
+	'retouchareamaskangle' => { 413 => [\'RetouchAreas','RetouchAreasMasksAngle'] },
+	'retouchareamaskbottom' => { 413 => [\'RetouchAreas','RetouchAreasMasksBottom'] },
+	'retouchareamaskcentervalue' => { 413 => [\'RetouchAreas','RetouchAreasMasksCenterValue'] },
+	'retouchareamaskcenterweight' => { 413 => [\'RetouchAreas','RetouchAreasMasksCenterWeight'] },
+	'retouchareamaskdabs' => { 413 => [\'RetouchAreas','RetouchAreasMasksDabs'] },
+	'retouchareamaskfeather' => { 413 => [\'RetouchAreas','RetouchAreasMasksFeather'] },
+	'retouchareamaskflipped' => { 413 => [\'RetouchAreas','RetouchAreasMasksFlipped'] },
+	'retouchareamaskflow' => { 413 => [\'RetouchAreas','RetouchAreasMasksFlow'] },
+	'retouchareamaskfullx' => { 413 => [\'RetouchAreas','RetouchAreasMasksFullX'] },
+	'retouchareamaskfully' => { 413 => [\'RetouchAreas','RetouchAreasMasksFullY'] },
+	'retouchareamaskleft' => { 413 => [\'RetouchAreas','RetouchAreasMasksLeft'] },
+	'retouchareamaskmidpoint' => { 413 => [\'RetouchAreas','RetouchAreasMasksMidpoint'] },
+	'retouchareamaskperimetervalue' => { 413 => [\'RetouchAreas','RetouchAreasMasksPerimeterValue'] },
+	'retouchareamaskradius' => { 413 => [\'RetouchAreas','RetouchAreasMasksRadius'] },
+	'retouchareamaskright' => { 413 => [\'RetouchAreas','RetouchAreasMasksRight'] },
+	'retouchareamaskroundness' => { 413 => [\'RetouchAreas','RetouchAreasMasksRoundness'] },
+	'retouchareamasks' => { 413 => [\'RetouchAreas','RetouchAreasMasks'] },
+	'retouchareamasksizex' => { 413 => [\'RetouchAreas','RetouchAreasMasksSizeX'] },
+	'retouchareamasksizey' => { 413 => [\'RetouchAreas','RetouchAreasMasksSizeY'] },
+	'retouchareamasktop' => { 413 => [\'RetouchAreas','RetouchAreasMasksTop'] },
+	'retouchareamaskvalue' => { 413 => [\'RetouchAreas','RetouchAreasMasksMaskValue'] },
+	'retouchareamaskversion' => { 413 => [\'RetouchAreas','RetouchAreasMasksVersion'] },
+	'retouchareamaskwhat' => { 413 => [\'RetouchAreas','RetouchAreasMasksWhat'] },
+	'retouchareamaskx' => { 413 => [\'RetouchAreas','RetouchAreasMasksX'] },
+	'retouchareamasky' => { 413 => [\'RetouchAreas','RetouchAreasMasksY'] },
+	'retouchareamaskzerox' => { 413 => [\'RetouchAreas','RetouchAreasMasksZeroX'] },
+	'retouchareamaskzeroy' => { 413 => [\'RetouchAreas','RetouchAreasMasksZeroY'] },
+	'retouchareamethod' => { 413 => [\'RetouchAreas','RetouchAreasMethod'] },
+	'retouchareaoffsety' => { 413 => [\'RetouchAreas','RetouchAreasOffsetY'] },
+	'retouchareaopacity' => { 413 => [\'RetouchAreas','RetouchAreasOpacity'] },
+	'retouchareas' => { 413 => 'RetouchAreas' },
+	'retouchareaseed' => { 413 => [\'RetouchAreas','RetouchAreasSeed'] },
+	'retouchareasourcestate' => { 413 => [\'RetouchAreas','RetouchAreasSourceState'] },
+	'retouchareasourcex' => { 413 => [\'RetouchAreas','RetouchAreasSourceX'] },
+	'retouchareaspottype' => { 413 => [\'RetouchAreas','RetouchAreasSpotType'] },
+	'retouchhistory' => { 198 => 0x9e },
+	'retouchinfo' => { 413 => 'RetouchInfo' },
+	'retouchnefprocessing' => { 204 => 0x5 },
+	'retractlensonpoweroff' => { 75 => 0x814 },
+	'reuse' => { 269 => 'Reuse' },
+	'reuseallowed' => { 440 => 'ReuseAllowed' },
+	'reuseprohibited' => { 430 => 'reuseProhibited' },
+	'reverseexposurecompdial' => { 250 => '5.2' },
+	'reverseindicators' => { 243 => '12.1', 244 => '6.1', 246 => '6.1', 247 => '6.1', 248 => '4.3', 249 => '5.2', 250 => '5.4', 252 => '33.5', 253 => '5.1', 256 => '6.1', 257 => '6.2' },
+	'reverseshutterspeedaperture' => { 250 => '5.3' },
+	'revision' => { 415 => 'revision' },
+	'rgbcurvelimits' => { 99 => 0x238 },
+	'rgbcurvepoints' => { 98 => 0x7, 99 => 0x20e },
+	'richtextcomment' => { 420 => 'RichTextComment' },
+	'ricohdate' => { 338 => 0x6 },
+	'ricohimageheight' => { 338 => 0x2 },
+	'ricohimagewidth' => { 338 => 0x0 },
+	'rightascension' => { 148 => 'RightAscension' },
+	'rights' => { 414 => 'rights' },
+	'rightsagent' => { 430 => 'rightsAgent' },
+	'rightsowner' => { 430 => 'rightsOwner' },
+	'roll' => { 106 => 0x8 },
+	'rollangle' => { 215 => 0x350b, 224 => 0x36f4, 259 => 0x903, 280 => 0x90, 313 => 0x1, 344 => 0x2 },
+	'romoperationmode' => { 88 => 0x80d },
+	'rotation' => { 29 => 0x17, 30 => 0x18, 87 => 0x3, 94 => 0x10002, 99 => 0x26e, 113 => 0x4, 148 => 'Rotation', 162 => [0x65,0x50], 163 => 0x46, 164 => 0x5a, 167 => 0x10, 215 => 0x3693, 216 => 0xca, 222 => '590.1', 224 => 0x38be, 236 => 0x76a43207, 280 => 0x30, 295 => '17.2', 325 => 0xd8, 357 => 0x3f, 358 => 0x3f, 368 => 0x10 },
+	'routedto' => { 419 => 'RoutedTo' },
+	'routing' => { 330 => 'Routing' },
+	'routingnotes' => { 419 => 'RoutingNotes' },
+	'rowsperstrip' => { 109 => 0x116 },
+	'rpp' => { 407 => 'rpp' },
+	'safetyshift' => { 75 => 0x108 },
+	'safetyshiftinavortv' => { 73 => 0x10, 74 => 0x10, 76 => 0xf, 77 => 0x10, 80 => 0x10 },
+	'sameexposurefornewaperture' => { 75 => 0x112 },
+	'samplebits' => { 138 => 'SampleBits' },
+	'samplepagerange' => { 427 => 'samplePageRange' },
+	'samplerate' => { 138 => 'SampleRate' },
+	'samplesperpixel' => { 109 => 0x115, 433 => 'SamplesPerPixel' },
+	'samplestructure' => { 119 => 0x5a },
+	'samsungmodelid' => { 346 => 0x3 },
+	'sanyoquality' => { 348 => 0x201 },
+	'sanyothumbnail' => { 348 => 0x100 },
+	'saturation' => { 9 => 0x6e, 11 => 0x76, 33 => 0xe, 45 => 0x1, 103 => 0xd, 104 => [0x3013,0x1f], 109 => [0xa409,0xfe55], 114 => 0x1003, 139 => 'Saturation', 161 => 0x1f, 162 => 0x32, 163 => 0x28, 164 => 0x1a, 169 => 0x1, 198 => [0x94,0xaa], 200 => 0x35, 201 => 0x3b, 280 => 0x40, 282 => 0x300d, 314 => 0x1f, 321 => 0xd, 335 => 0x27, 338 => 0x28, 339 => 0x1013, 349 => 0x10, 357 => 0x1e, 358 => 0x1b, 369 => 0x2005, 413 => 'Saturation', 417 => 'Saturation' },
+	'saturationadj' => { 94 => 0x20901, 99 => 0x116, 235 => 0x1, 239 => 0x2e, 398 => 0x8016 },
+	'saturationadjustmentaqua' => { 413 => 'SaturationAdjustmentAqua' },
+	'saturationadjustmentblue' => { 413 => 'SaturationAdjustmentBlue' },
+	'saturationadjustmentgreen' => { 413 => 'SaturationAdjustmentGreen' },
+	'saturationadjustmentmagenta' => { 413 => 'SaturationAdjustmentMagenta' },
+	'saturationadjustmentorange' => { 413 => 'SaturationAdjustmentOrange' },
+	'saturationadjustmentpurple' => { 413 => 'SaturationAdjustmentPurple' },
+	'saturationadjustmentred' => { 413 => 'SaturationAdjustmentRed' },
+	'saturationadjustmentyellow' => { 413 => 'SaturationAdjustmentYellow' },
+	'saturationauto' => { 64 => 0x98 },
+	'saturationfaithful' => { 18 => 0xfe, 63 => 0x68, 64 => 0x68 },
+	'saturationlandscape' => { 18 => 0xfc, 63 => 0x38, 64 => 0x38 },
+	'saturationmonochrome' => { 63 => 0x80, 64 => 0x80 },
+	'saturationneutral' => { 18 => 0xfd, 63 => 0x50, 64 => 0x50 },
+	'saturationportrait' => { 18 => 0xfb, 63 => 0x20, 64 => 0x20 },
+	'saturationsetting' => { 267 => 0x1010, 359 => 0x11, 373 => 0x9 },
+	'saturationstandard' => { 18 => 0xfa, 63 => 0x8, 64 => 0x8 },
+	'saturationuserdef1' => { 18 => 0x100, 63 => 0x98, 64 => 0xb0 },
+	'saturationuserdef2' => { 18 => 0x101, 63 => 0xb0, 64 => 0xc8 },
+	'saturationuserdef3' => { 18 => 0x102, 63 => 0xc8, 64 => 0xe0 },
+	'saveid' => { 438 => 'SaveID' },
+	'scaletype' => { 437 => 'scaleType' },
+	'scanimageenhancer' => { 205 => 0x60 },
+	'scanningdirection' => { 119 => 0x64 },
+	'scene' => { 422 => 'Scene', 437 => 'scene' },
+	'scenearea' => { 262 => 0x211, 264 => 0x1031 },
+	'sceneassist' => { 198 => 0x9c },
+	'scenecapturetype' => { 109 => 0xa406, 417 => 'SceneCaptureType' },
+	'scenedetect' => { 262 => 0x210, 264 => 0x1030 },
+	'scenedetectdata' => { 262 => 0x212, 264 => 0x1033 },
+	'scenemode' => { 127 => 0xfa02, 166 => 0x100, 198 => 0x8f, 259 => 0x509, 264 => 0x403, 280 => 0x8001, 288 => 0xf, 369 => 0xb023 },
+	'scenemodeused' => { 129 => [0x6002,0xf002] },
+	'sceneselect' => { 348 => 0x21f },
+	'scenetype' => { 109 => 0xa301, 417 => 'SceneType' },
+	'screentips' => { 243 => '12.7', 244 => '5.3', 252 => '13.1', 253 => '4.4', 256 => '5.4', 257 => '5.1' },
+	'season' => { 426 => 'season' },
+	'secondaryslotfunction' => { 215 => 0x1d0, 224 => 0x1d0 },
+	'section' => { 427 => 'section' },
+	'securityclassification' => { 109 => 0x9212 },
+	'selectableafpoint' => { 75 => 0x509 },
 	'selectafareaselectionmode' => { 2 => 0xc },
-	'selectafareaselectmode' => { 73 => 0x512 },
-	'selftimer' => { 31 => 0x2, 276 => 0x2e, 343 => 0x214, 371 => 0x1134, 372 => 0x1134, 373 => 0x1110, 374 => 0x118c, 375 => 0x1168, 376 => 0x1020, 377 => 0x218, 378 => 0x218 },
-	'selftimer2' => { 67 => 0x1d },
-	'selftimerinterval' => { 249 => '19.2' },
-	'selftimermode' => { 107 => 0x882b },
-	'selftimershotcount' => { 242 => '20.2', 244 => '20.3', 245 => '18.2', 246 => '19.2', 247 => '19.2', 249 => '19.3', 252 => '20.3', 253 => '20.2' },
-	'selftimershotinterval' => { 242 => '20.3', 244 => '20.2', 252 => '20.2' },
-	'selftimertime' => { 86 => 0x1806, 162 => 0x1f, 241 => '18.1', 242 => '20.1', 243 => '3.3', 244 => '20.1', 245 => '18.1', 246 => '19.1', 247 => '19.1', 248 => '7.2', 249 => '19.1', 250 => '3.3', 252 => '20.1', 253 => '20.1' },
-	'sellingagency' => { 422 => 'sellingAgency' },
-	'seminfo' => { 107 => 0x8546 },
-	'sensingmethod' => { 107 => 0xa217, 412 => 'SensingMethod' },
-	'sensitivityadjust' => { 310 => 0x40 },
-	'sensitivitysteps' => { 291 => ['14.3','17.4'], 293 => 0x1 },
-	'sensitivitytype' => { 107 => 0x8830, 413 => 'SensitivityType' },
-	'sensor' => { 169 => 0x665e },
-	'sensorareas' => { 341 => 0xa010 },
-	'sensorbitdepth' => { 278 => 0x312d },
-	'sensorbluelevel' => { 65 => 0x5 },
-	'sensorcalibration' => { 259 => 0x805 },
-	'sensorcleaning' => { 79 => 0xd },
-	'sensorfullheight' => { 120 => 0xf904 },
-	'sensorfullwidth' => { 120 => 0xf903 },
-	'sensorheight' => { 120 => 0xf901, 125 => 0xfa21, 166 => 0x8, 278 => 0x312c, 319 => 0x109, 335 => 0x1602 },
-	'sensorleftmargin' => { 319 => 0x10a },
-	'sensorpixelsize' => { 196 => 0x9a },
-	'sensorredlevel' => { 65 => 0x4 },
-	'sensorserialnumber' => { 121 => 0x9ce },
-	'sensorsize' => { 137 => 'SensorSize', 310 => 0x35 },
-	'sensortemperature' => { 258 => 0x1500, 260 => 0x1007, 315 => 0xc, 319 => 0x210, 344 => [0x39,0x55] },
-	'sensortemperature2' => { 315 => 0xe, 319 => 0x211 },
-	'sensortopmargin' => { 319 => 0x10b },
-	'sensorwidth' => { 120 => 0xf900, 125 => 0xfa20, 166 => 0xa, 278 => 0x312b, 319 => 0x108, 335 => 0x1601 },
-	'sequence' => { 331 => 0x7 },
-	'sequencefilenumber' => { 372 => 0x4, 373 => 0x4, 374 => 0x4, 375 => 0x4, 381 => 0xc, 382 => 0xc, 383 => 0x1a },
-	'sequenceimagenumber' => { 372 => 0x0, 373 => 0x0, 374 => 0x0, 375 => 0x0, 381 => 0x8, 382 => 0x8, 383 => 0x12, 389 => 0x24 },
-	'sequencelength' => { 381 => 0x22, 382 => 0x1e, 383 => [0x16,0x1e] },
-	'sequencename' => { 421 => 'sequenceName' },
-	'sequencenumber' => { 67 => 0x9, 102 => 0x301c, 112 => 0x1101, 123 => 0x1d, 221 => 0x51c, 276 => 0x2b, 354 => [0x10c,0x30c], 364 => 0xb04a, 421 => 'sequenceNumber' },
-	'sequenceshotinterval' => { 343 => 0x224 },
-	'sequencetotalnumber' => { 421 => 'sequenceTotalNumber' },
-	'sequentialshot' => { 343 => 0x20e },
-	'serialnumber' => { 55 => 0xc, 86 => 0x180b, 107 => [0xa431,0xfde9], 120 => 0xfa04, 122 => 0xfa00, 124 => 0xc354, 125 => 0xfa19, 134 => 0x0, 137 => 'SerialNumber', 196 => [0xa0,0x1d], 256 => 0x101, 260 => [0x404,0x101a], 272 => 0x303, 278 => 0x3103, 310 => 0x229, 319 => 0x102, 320 => 0x407, 331 => 0x15, 335 => 0x5, 344 => 0x2, 404 => 'SerialNumber', 413 => 'BodySerialNumber' },
-	'serialnumberformat' => { 55 => 0x15, 86 => 0x183b },
-	'seriesdatetime' => { 395 => 'SeriesDateTime' },
-	'seriesdescription' => { 395 => 'SeriesDescription' },
-	'seriesmodality' => { 395 => 'SeriesModality' },
-	'seriesnumber' => { 395 => 'SeriesNumber', 422 => 'seriesNumber' },
-	'seriestitle' => { 422 => 'seriesTitle' },
-	'serviceidentifier' => { 116 => 0x1e },
-	'servingsize' => { 424 => 'servingSize' },
-	'setbuttoncrosskeysfunc' => { 76 => 0x0, 77 => 0x0 },
-	'setbuttonwhenshooting' => { 71 => 0x1, 73 => 0x704, 79 => 0xc },
-	'setfunctionwhenshooting' => { 74 => 0x0, 75 => 0x1, 78 => 0x1 },
-	'setting' => { 421 => 'setting' },
-	'shadingcompensation' => { 255 => 0x50c, 276 => 0x8a },
-	'shadingcompensation2' => { 259 => 0x1012 },
-	'shadow' => { 344 => 0xe },
-	'shadowadj' => { 92 => 0x2030b },
-	'shadowcorrection' => { 310 => 0x79 },
-	'shadowprotection' => { 233 => 0x0 },
-	'shadows' => { 107 => 0xfe52, 401 => 'Shadows', 408 => 'Shadows' },
-	'shadows2012' => { 408 => 'Shadows2012' },
-	'shadowscale' => { 107 => 0xc633 },
-	'shadowtint' => { 408 => 'ShadowTint' },
-	'shadowtone' => { 112 => 0x1040 },
-	'shakereduction' => { 312 => 0x1, 313 => 0x1 },
-	'sharpendetail' => { 408 => 'SharpenDetail' },
-	'sharpenedgemasking' => { 408 => 'SharpenEdgeMasking' },
-	'sharpening' => { 278 => 0x300b },
-	'sharpeningadj' => { 237 => 0x2b },
-	'sharpenradius' => { 408 => 'SharpenRadius' },
-	'sharpness' => { 7 => [0x42,0x48], 9 => 0x72, 11 => 0x74, 31 => 0xf, 65 => 0x2, 101 => 0xb, 102 => [0x3011,0x21], 107 => [0xa40a,0xfe56], 112 => 0x1001, 123 => 0x6b, 132 => 0x37, 137 => 'Sharpness', 159 => 0x21, 160 => 0x30, 161 => 0x26, 162 => 0x18, 167 => 0x3, 196 => 0x6, 198 => 0x32, 199 => 0x33, 260 => 0x100f, 276 => 0x41, 310 => 0x21, 317 => 0xb, 331 => 0x26, 334 => 0x22, 335 => [0x1003,0x1014], 344 => 0x11, 352 => 0x1c, 353 => 0x19, 364 => 0x2006, 389 => 0x52, 408 => 'Sharpness',  [...]
-	'sharpnessadj' => { 92 => 0x20310, 97 => 0x25a, 393 => 0x801a },
-	'sharpnessadjon' => { 92 => '0x20310.0' },
-	'sharpnessauto' => { 62 => 0x94 },
-	'sharpnessfactor' => { 260 => 0x102a },
-	'sharpnessfaithful' => { 18 => 0xf5, 61 => 0x64, 62 => 0x64 },
-	'sharpnessfrequency' => { 7 => [0x41,0x47], 65 => 0x3 },
-	'sharpnesslandscape' => { 18 => 0xf3, 61 => 0x34, 62 => 0x34 },
-	'sharpnessmonochrome' => { 18 => 0xf6, 61 => 0x7c, 62 => 0x7c },
-	'sharpnessneutral' => { 18 => 0xf4, 61 => 0x4c, 62 => 0x4c },
-	'sharpnessovershoot' => { 393 => 0x801b },
-	'sharpnessportrait' => { 18 => 0xf2, 61 => 0x1c, 62 => 0x1c },
-	'sharpnesssetting' => { 255 => 0x506, 263 => 0x1013, 354 => 0x12, 368 => 0xa },
-	'sharpnessstandard' => { 18 => 0xf1, 61 => 0x4, 62 => 0x4 },
-	'sharpnessstrength' => { 92 => 0x20311 },
-	'sharpnessthreshold' => { 393 => 0x801d },
-	'sharpnessundershoot' => { 393 => 0x801c },
-	'sharpnessuserdef1' => { 18 => 0xf7, 61 => 0x94, 62 => 0xac },
-	'sharpnessuserdef2' => { 18 => 0xf8, 61 => 0xac, 62 => 0xc4 },
-	'sharpnessuserdef3' => { 18 => 0xf9, 61 => 0xc4, 62 => 0xdc },
-	'shootid' => { 421 => 'shootID' },
-	'shootingdistance' => { 92 => 0x20701 },
-	'shootinginfodisplay' => { 241 => '13.2', 242 => '5.1', 248 => '10.2', 249 => '4.1', 252 => '5.1', 253 => '5.3' },
-	'shootinginfomonitorofftime' => { 241 => '26.2', 242 => '22.2', 244 => '22.2', 248 => '9.1', 249 => '21.2', 252 => '22.2', 253 => '22.2' },
-	'shootingmode' => { 137 => 'ShootingMode', 196 => 0x89, 276 => 0x1f },
-	'shootingmodesetting' => { 243 => '5.1' },
-	'shortdescription' => { 410 => 'shortdescription' },
-	'shortdocumentid' => { 115 => 0xba },
+	'selectafareaselectmode' => { 75 => 0x512 },
+	'selftimer' => { 33 => 0x2, 280 => 0x2e, 348 => 0x214, 376 => 0x1134, 377 => 0x1134, 378 => 0x1110, 379 => 0x118c, 380 => 0x1168, 381 => 0x1020, 382 => 0x218, 383 => 0x218 },
+	'selftimer2' => { 69 => 0x1d },
+	'selftimerinterval' => { 253 => '19.2' },
+	'selftimermode' => { 109 => 0x882b },
+	'selftimershotcount' => { 244 => '20.2', 246 => '20.3', 247 => '20.3', 248 => '18.2', 249 => '19.2', 250 => '19.2', 251 => '19.3', 253 => '19.3', 256 => '20.3', 257 => '20.2' },
+	'selftimershotinterval' => { 244 => '20.3', 246 => '20.2', 247 => '20.2', 251 => '19.2', 256 => '20.2' },
+	'selftimertime' => { 88 => 0x1806, 164 => 0x1f, 243 => '18.1', 244 => '20.1', 245 => '3.3', 246 => '20.1', 247 => '20.1', 248 => '18.1', 249 => '19.1', 250 => '19.1', 251 => '19.1', 252 => '7.2', 253 => '19.1', 254 => '3.3', 256 => '20.1', 257 => '20.1' },
+	'sellingagency' => { 427 => 'sellingAgency' },
+	'seminfo' => { 109 => 0x8546 },
+	'sensingmethod' => { 109 => 0xa217, 417 => 'SensingMethod' },
+	'sensitivityadjust' => { 314 => 0x40 },
+	'sensitivitysteps' => { 295 => ['14.3','17.4'], 297 => 0x1 },
+	'sensitivitytype' => { 109 => 0x8830, 418 => 'SensitivityType' },
+	'sensor' => { 171 => 0x665e },
+	'sensorareas' => { 346 => 0xa010 },
+	'sensorbitdepth' => { 282 => 0x312d },
+	'sensorbluelevel' => { 67 => 0x5 },
+	'sensorcalibration' => { 263 => 0x805 },
+	'sensorcleaning' => { 81 => 0xd },
+	'sensorfullheight' => { 122 => 0xf904 },
+	'sensorfullwidth' => { 122 => 0xf903 },
+	'sensorheight' => { 122 => 0xf901, 127 => 0xfa21, 168 => 0x8, 282 => 0x312c, 323 => 0x109, 339 => 0x1602 },
+	'sensorleftmargin' => { 323 => 0x10a },
+	'sensorpixelsize' => { 198 => 0x9a },
+	'sensorredlevel' => { 67 => 0x4 },
+	'sensorserialnumber' => { 123 => 0x9ce },
+	'sensorsize' => { 139 => 'SensorSize', 314 => 0x35 },
+	'sensortemperature' => { 262 => 0x1500, 264 => 0x1007, 319 => 0xc, 323 => 0x210, 349 => [0x39,0x55] },
+	'sensortemperature2' => { 319 => 0xe, 323 => 0x211 },
+	'sensortopmargin' => { 323 => 0x10b },
+	'sensorwidth' => { 122 => 0xf900, 127 => 0xfa20, 168 => 0xa, 282 => 0x312b, 323 => 0x108, 339 => 0x1601 },
+	'sequence' => { 335 => 0x7 },
+	'sequencefilenumber' => { 377 => 0x4, 378 => 0x4, 379 => 0x4, 380 => 0x4, 386 => 0xc, 387 => 0xc, 388 => 0x1a },
+	'sequenceimagenumber' => { 377 => 0x0, 378 => 0x0, 379 => 0x0, 380 => 0x0, 386 => 0x8, 387 => 0x8, 388 => 0x12, 394 => 0x24 },
+	'sequencelength' => { 386 => 0x22, 387 => 0x1e, 388 => [0x16,0x1e] },
+	'sequencename' => { 426 => 'sequenceName' },
+	'sequencenumber' => { 69 => 0x9, 104 => 0x301c, 114 => 0x1101, 125 => 0x1d, 223 => 0x51c, 280 => 0x2b, 359 => [0x10c,0x30c], 369 => 0xb04a, 426 => 'sequenceNumber' },
+	'sequenceshotinterval' => { 348 => 0x224 },
+	'sequencetotalnumber' => { 426 => 'sequenceTotalNumber' },
+	'sequentialshot' => { 348 => 0x20e },
+	'serialnumber' => { 57 => 0xc, 88 => 0x180b, 109 => [0xa431,0xfde9], 122 => 0xfa04, 124 => 0xfa00, 126 => 0xc354, 127 => 0xfa19, 136 => 0x0, 139 => 'SerialNumber', 198 => [0xa0,0x1d], 260 => 0x101, 264 => [0x404,0x101a], 276 => 0x303, 282 => 0x3103, 314 => 0x229, 323 => 0x102, 324 => 0x407, 335 => 0x15, 339 => 0x5, 349 => 0x2, 409 => 'SerialNumber', 418 => 'BodySerialNumber' },
+	'serialnumberformat' => { 57 => 0x15, 88 => 0x183b },
+	'seriesdatetime' => { 400 => 'SeriesDateTime' },
+	'seriesdescription' => { 400 => 'SeriesDescription' },
+	'seriesmodality' => { 400 => 'SeriesModality' },
+	'seriesnumber' => { 400 => 'SeriesNumber', 427 => 'seriesNumber' },
+	'seriestitle' => { 427 => 'seriesTitle' },
+	'serviceidentifier' => { 118 => 0x1e },
+	'servingsize' => { 429 => 'servingSize' },
+	'setbuttoncrosskeysfunc' => { 78 => 0x0, 79 => 0x0 },
+	'setbuttonwhenshooting' => { 73 => 0x1, 75 => 0x704, 81 => 0xc },
+	'setfunctionwhenshooting' => { 76 => 0x0, 77 => 0x1, 80 => 0x1 },
+	'setting' => { 426 => 'setting' },
+	'shadingcompensation' => { 259 => 0x50c, 280 => 0x8a },
+	'shadingcompensation2' => { 263 => 0x1012 },
+	'shadow' => { 349 => 0xe },
+	'shadowadj' => { 94 => 0x2030b },
+	'shadowcorrection' => { 314 => 0x79 },
+	'shadowprotection' => { 235 => 0x0 },
+	'shadows' => { 109 => 0xfe52, 406 => 'Shadows', 413 => 'Shadows' },
+	'shadows2012' => { 413 => 'Shadows2012' },
+	'shadowscale' => { 109 => 0xc633 },
+	'shadowtint' => { 413 => 'ShadowTint' },
+	'shadowtone' => { 114 => 0x1040 },
+	'shakereduction' => { 316 => 0x1, 317 => 0x1 },
+	'sharpendetail' => { 413 => 'SharpenDetail' },
+	'sharpenedgemasking' => { 413 => 'SharpenEdgeMasking' },
+	'sharpening' => { 282 => 0x300b },
+	'sharpeningadj' => { 239 => 0x2b },
+	'sharpenradius' => { 413 => 'SharpenRadius' },
+	'sharpness' => { 7 => [0x42,0x48], 9 => 0x72, 11 => 0x74, 33 => 0xf, 67 => 0x2, 103 => 0xb, 104 => [0x3011,0x21], 109 => [0xa40a,0xfe56], 114 => 0x1001, 125 => 0x6b, 134 => 0x37, 139 => 'Sharpness', 161 => 0x21, 162 => 0x30, 163 => 0x26, 164 => 0x18, 169 => 0x3, 198 => 0x6, 200 => 0x32, 201 => 0x33, 264 => 0x100f, 280 => 0x41, 314 => 0x21, 321 => 0xb, 335 => 0x26, 338 => 0x22, 339 => [0x1003,0x1014], 349 => 0x11, 357 => 0x1c, 358 => 0x19, 369 => 0x2006, 394 => 0x52, 413 => 'Sharpness',  [...]
+	'sharpnessadj' => { 94 => 0x20310, 99 => 0x25a, 398 => 0x801a },
+	'sharpnessadjon' => { 94 => '0x20310.0' },
+	'sharpnessauto' => { 64 => 0x94 },
+	'sharpnessfactor' => { 264 => 0x102a },
+	'sharpnessfaithful' => { 18 => 0xf5, 63 => 0x64, 64 => 0x64 },
+	'sharpnessfrequency' => { 7 => [0x41,0x47], 67 => 0x3 },
+	'sharpnesslandscape' => { 18 => 0xf3, 63 => 0x34, 64 => 0x34 },
+	'sharpnessmonochrome' => { 18 => 0xf6, 63 => 0x7c, 64 => 0x7c },
+	'sharpnessneutral' => { 18 => 0xf4, 63 => 0x4c, 64 => 0x4c },
+	'sharpnessovershoot' => { 398 => 0x801b },
+	'sharpnessportrait' => { 18 => 0xf2, 63 => 0x1c, 64 => 0x1c },
+	'sharpnesssetting' => { 259 => 0x506, 267 => 0x1013, 359 => 0x12, 373 => 0xa },
+	'sharpnessstandard' => { 18 => 0xf1, 63 => 0x4, 64 => 0x4 },
+	'sharpnessstrength' => { 94 => 0x20311 },
+	'sharpnessthreshold' => { 398 => 0x801d },
+	'sharpnessundershoot' => { 398 => 0x801c },
+	'sharpnessuserdef1' => { 18 => 0xf7, 63 => 0x94, 64 => 0xac },
+	'sharpnessuserdef2' => { 18 => 0xf8, 63 => 0xac, 64 => 0xc4 },
+	'sharpnessuserdef3' => { 18 => 0xf9, 63 => 0xc4, 64 => 0xdc },
+	'shootid' => { 426 => 'shootID' },
+	'shootingdistance' => { 94 => 0x20701 },
+	'shootinginfodisplay' => { 243 => '13.2', 244 => '5.1', 252 => '10.2', 253 => '4.1', 256 => '5.1', 257 => '5.3' },
+	'shootinginfomonitorofftime' => { 243 => '26.2', 244 => '22.2', 246 => '22.2', 247 => '22.2', 251 => '21.2', 252 => '9.1', 253 => '21.2', 256 => '22.2', 257 => '22.2' },
+	'shootingmode' => { 139 => 'ShootingMode', 198 => 0x89, 280 => 0x1f },
+	'shootingmodesetting' => { 245 => '5.1' },
+	'shortdescription' => { 415 => 'shortdescription' },
+	'shortdocumentid' => { 117 => 0xba },
 	'shortownername' => { 18 => 0xac },
-	'shortreleasetimelag' => { 73 => 0x80d },
-	'shotdate' => { 432 => 'shotDate' },
-	'shotday' => { 432 => 'shotDay' },
-	'shotlocation' => { 432 => 'shotLocation' },
-	'shotname' => { 432 => 'shotName' },
-	'shotnumber' => { 432 => 'shotNumber' },
-	'shotnumbersincepowerup' => { 367 => 0x44e, 381 => 0x1a, 382 => 0x16, 383 => 0xa },
-	'shotnumbersincepowerup2' => { 354 => 0x200 },
-	'shotsize' => { 432 => 'shotSize' },
-	'shutter-aelock' => { 71 => 0x4, 73 => 0x701, 74 => 0x3, 75 => 0x4, 76 => 0x3, 77 => 0x3, 78 => 0x4, 79 => 0x2 },
-	'shutteraelbutton' => { 72 => 0x4 },
-	'shutterbuttonafonbutton' => { 73 => 0x701 },
-	'shuttercount' => { 10 => 0x176, 49 => 0x1, 196 => 0xa7, 204 => [0x6a,0x157,0x24d], 205 => 0x286, 206 => 0x279, 207 => 0x284, 208 => 0x242, 209 => 0x280, 210 => 0x276, 211 => [0x27d,0x27f], 212 => 0x246, 215 => 0x2d6, 216 => 0x321, 217 => 0xbd8, 218 => 0x287, 219 => 0x320, 220 => 0x24a, 221 => 0x5fb, 223 => 0x2d5, 310 => 0x5d, 363 => 0x846, 366 => [0x125,0x14a] },
-	'shuttercurtainsync' => { 71 => 0xf, 72 => 0xf, 73 => 0x305, 74 => 0xe, 75 => 0xf, 76 => 0x8, 77 => 0x8, 78 => 0xf, 79 => 0x8 },
-	'shuttermode' => { 123 => 0x1b },
-	'shutterreleasebuttonae-l' => { 241 => '17.7', 242 => '18.4', 244 => '78.4', 245 => '16.1', 246 => '17.1', 247 => '17.1', 248 => '7.1', 249 => '17.5', 252 => '18.4', 253 => '18.2' },
-	'shutterreleasemethod' => { 86 => 0x1010 },
-	'shutterreleasenocfcard' => { 71 => 0x2, 72 => 0x2, 79 => 0xf },
-	'shutterreleasetiming' => { 86 => 0x1011 },
-	'shutterreleasewithoutlens' => { 73 => 0x711 },
-	'shutterspeedlock' => { 242 => '38.1', 244 => '38.1', 252 => '38.1' },
-	'shutterspeedrange' => { 73 => 0x10c },
-	'shutterspeedsetting' => { 162 => 0x6, 352 => 0x2f, 353 => 0x28, 354 => 0x0 },
-	'shutterspeedvalue' => { 82 => 0x1, 107 => 0x9201, 260 => 0x1000, 319 => 0x400, 412 => 'ShutterSpeedValue' },
-	'shuttertype' => { 112 => 0x1050, 276 => 0x9f },
-	'sidecarforextension' => { 420 => 'SidecarForExtension' },
-	'similarityindex' => { 115 => 0xe4 },
-	'singleframebracketing' => { 162 => 0x21 },
-	'skilllevel' => { 424 => 'skillLevel' },
-	'slaveflashmeteringsegments' => { 310 => 0x20b },
-	'slideshowname' => { 421 => 'slideshowName' },
-	'slideshownumber' => { 421 => 'slideshowNumber' },
-	'slideshowtotalnumber' => { 421 => 'slideshowTotalNumber' },
-	'slowshutter' => { 67 => 0x8 },
-	'slowsync' => { 112 => 0x1030 },
-	'smartrange' => { 341 => 0xa012 },
-	'smileshutter' => { 354 => 0x31 },
-	'smileshuttermode' => { 354 => 0x27 },
-	'smoothness' => { 107 => 0xfe57, 408 => 'Smoothness' },
-	'snapshots' => { 402 => 'Snapshots' },
-	'softskineffect' => { 364 => 0x200f },
-	'software' => { 107 => 0x131, 138 => 'Software', 268 => 'Software', 319 => 0x203, 344 => 0x18, 428 => 'Software' },
-	'softwareversion' => { 343 => 0x207 },
-	'sonydatetime' => { 370 => 0x6, 372 => 0x1b6, 373 => 0x210, 374 => 0x1fe, 375 => 0x22c },
-	'sonydatetime2' => { 380 => [0x51,0x5d] },
-	'sonyexposuretime' => { 380 => 0x46 },
-	'sonyexposuretime2' => { 389 => 0xe },
-	'sonyfnumber' => { 380 => [0x3c,0x48], 389 => 0x14 },
-	'sonyimageheight' => { 370 => 0x1a, 381 => 0x44, 382 => 0x3f, 383 => 0x47 },
-	'sonyimagesize' => { 162 => 0x3b, 352 => 0x54, 353 => 0x54, 354 => 0x9 },
-	'sonyimagewidth' => { 370 => 0x1c },
-	'sonyiso' => { 372 => 0x1218, 373 => 0x11f4, 374 => 0x1270, 375 => [0x1254,0x1258,0x1280], 376 => 0x113c, 377 => 0x344, 378 => 0x346, 389 => 0x4 },
-	'sonymaxaperturevalue' => { 389 => 0x16 },
-	'sonymodelid' => { 364 => 0xb001 },
-	'sonyquality' => { 162 => 0x3c },
-	'source' => { 115 => 0x73, 268 => 'Source', 409 => 'source', 410 => 'source', 420 => 'Source' },
-	'sourcedirectoryindex' => { 297 => 0x0 },
-	'sourcefileindex' => { 297 => 0x2 },
-	'sourcephotoscount' => { 397 => 'SourcePhotosCount' },
-	'spatialfrequencyresponse' => { 412 => 'SpatialFrequencyResponse' },
-	'spatialfrequencyresponsecolumns' => { 412 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseColumns'] },
-	'spatialfrequencyresponsenames' => { 412 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseNames'] },
-	'spatialfrequencyresponserows' => { 412 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseRows'] },
-	'spatialfrequencyresponsevalues' => { 412 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseValues'] },
-	'speakerplacement' => { 432 => 'speakerPlacement' },
-	'specialeffectlevel' => { 102 => 0x3030 },
-	'specialeffectmode' => { 102 => 0x2076 },
-	'specialeffectsetting' => { 102 => 0x3031 },
-	'specialinstructions' => { 115 => 0x28 },
-	'specialmode' => { 260 => 0x200, 343 => 0x200 },
-	'specialoccasion' => { 424 => 'specialOccasion' },
-	'spectralsensitivity' => { 107 => 0x8824, 412 => 'SpectralSensitivity' },
-	'specularwhitelevel' => { 38 => [0x2b9,0x2d0,0x2d4], 40 => 0x1e4, 41 => [0x1fd,0x2dd], 42 => [0x231,0x30f] },
-	'speedx' => { 104 => 0x3 },
-	'speedy' => { 104 => 0x4 },
-	'speedz' => { 104 => 0x5 },
-	'splitcolumn' => { 319 => 0x222 },
-	'splittoningbalance' => { 408 => 'SplitToningBalance' },
-	'splittoninghighlighthue' => { 408 => 'SplitToningHighlightHue' },
-	'splittoninghighlightsaturation' => { 408 => 'SplitToningHighlightSaturation' },
-	'splittoningshadowhue' => { 408 => 'SplitToningShadowHue' },
-	'splittoningshadowsaturation' => { 408 => 'SplitToningShadowSaturation' },
-	'sport' => { 422 => 'sport' },
-	'spotfocuspointx' => { 159 => 0x2d },
-	'spotfocuspointy' => { 159 => 0x2e },
-	'spotmeteringmode' => { 31 => 0x27 },
-	'spotmeterlinktoafpoint' => { 73 => 0x107 },
-	'sractive' => { 291 => '17.1' },
-	'srawquality' => { 31 => 0x2e },
-	'srfocallength' => { 312 => 0x3 },
-	'srhalfpresstime' => { 312 => 0x2 },
-	'srresult' => { 312 => 0x0, 313 => 0x0 },
-	'stackedimage' => { 255 => 0x804 },
-	'standardoutputhighlightpoint' => { 98 => 0x14 },
-	'standardoutputsensitivity' => { 107 => 0x8831, 413 => 'StandardOutputSensitivity' },
-	'standardoutputshadowpoint' => { 98 => 0x15 },
-	'standardrawcolortone' => { 98 => 0xd },
-	'standardrawcontrast' => { 98 => 0xf },
-	'standardrawhighlight' => { 98 => 0x75 },
-	'standardrawhighlightpoint' => { 98 => 0x12 },
-	'standardrawlinear' => { 98 => 0x10 },
-	'standardrawsaturation' => { 98 => 0xe },
-	'standardrawshadow' => { 98 => 0x7e },
-	'standardrawshadowpoint' => { 98 => 0x13 },
-	'standardrawsharpness' => { 98 => 0x11 },
-	'standardunsharpmaskfineness' => { 98 => 0x94 },
-	'standardunsharpmaskstrength' => { 98 => 0x92 },
-	'standardunsharpmaskthreshold' => { 98 => 0x96 },
-	'standbytimer' => { 242 => '19.1', 244 => '19.1', 247 => '18.1', 252 => '19.1' },
-	'startingpage' => { 422 => 'startingPage' },
-	'startmovieshooting' => { 73 => 0x70d },
-	'starttimecode' => { 432 => 'startTimecode' },
-	'starttimecodetimeformat' => { 432 => [\'startTimecode','startTimecodeTimeFormat'] },
-	'starttimecodetimevalue' => { 432 => [\'startTimecode','startTimecodeTimeValue'] },
-	'starttimecodevalue' => { 432 => [\'startTimecode','startTimecodeValue'] },
-	'starttimesamplesize' => { 432 => 'startTimeSampleSize' },
-	'starttimescale' => { 432 => 'startTimeScale' },
-	'state' => { 142 => 'State', 276 => 0x6b, 420 => 'State' },
-	'status' => { 396 => 'Status', 400 => 'Status' },
-	'stitchingsoftware' => { 397 => 'StitchingSoftware' },
-	'stopsabovebaseiso' => { 371 => 0x113e, 372 => 0x113e, 373 => 0x111a, 374 => 0x1196, 375 => 0x1172, 376 => 0x102a, 377 => 0x222, 378 => 0x222, 389 => 0xa },
-	'storagemethod' => { 166 => 0x12 },
-	'storebyorientation' => { 242 => '46.3', 244 => '47.3', 252 => '47.3' },
-	'straightenangle' => { 234 => 0x2fc08431 },
-	'streamtype' => { 155 => 'StreamType' },
-	'stretchmode' => { 432 => 'stretchMode' },
-	'studydatetime' => { 395 => 'StudyDateTime' },
-	'studydescription' => { 395 => 'StudyDescription' },
-	'studyid' => { 395 => 'StudyID' },
-	'studyphysician' => { 395 => 'StudyPhysician' },
-	'sub-location' => { 115 => 0x5c },
-	'subfiledata' => { 145 => 'data' },
-	'subfiledirectory' => { 145 => '1Directory' },
-	'subfilemimetype' => { 145 => '2MIME' },
-	'subfilename' => { 145 => '1Name' },
-	'subfileresource' => { 145 => 'rsrc' },
-	'subfiletype' => { 107 => 0xfe, 145 => '0Type' },
-	'subject' => { 264 => 'Subject', 326 => 'Subject', 409 => 'subject', 419 => 'Subject', 433 => 'subject' },
-	'subjectarea' => { 107 => 0x9214, 412 => 'SubjectArea' },
-	'subjectcode' => { 417 => 'SubjectCode' },
-	'subjectdistance' => { 107 => 0x9206, 123 => 0x3e, 412 => 'SubjectDistance' },
-	'subjectdistancerange' => { 107 => 0xa40c, 412 => 'SubjectDistanceRange' },
-	'subjectlocation' => { 107 => 0xa214, 412 => 'SubjectLocation' },
-	'subjectmotion' => { 244 => '78.2' },
-	'subjectprogram' => { 159 => 0x22 },
-	'subjectreference' => { 115 => 0xc },
-	'sublabels4' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabels'] },
-	'sublabels5' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabels'] },
-	'sublables1' => { 416 => [\'TagStructure','TagStructureSubLabels'] },
-	'sublables2' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabels'] },
-	'sublables3' => { 416 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabels'] },
-	'subsectime' => { 107 => 0x9290 },
-	'subsectimedigitized' => { 107 => 0x9292 },
-	'subsectimeoriginal' => { 107 => 0x9291 },
-	'subsection1' => { 422 => 'subsection1' },
-	'subsection2' => { 422 => 'subsection2' },
-	'subsection3' => { 422 => 'subsection3' },
-	'subsection4' => { 422 => 'subsection4' },
-	'subselector' => { 242 => '49.1', 244 => '71.1' },
-	'subselectorassignment' => { 242 => '48.1' },
-	'subselectorcenter' => { 244 => '72.1' },
-	'subselectorplusdials' => { 242 => '49.2', 244 => '73.1' },
-	'subtitle' => { 422 => 'subtitle' },
-	'subversionfilename' => { 416 => [\'SubVersions','SubVersionsFileName'] },
-	'subversionreference' => { 416 => [\'SubVersions','SubVersionsVersRef'] },
-	'subversions' => { 416 => 'SubVersions' },
-	'superimposeddisplay' => { 71 => 0xa, 73 => 0x510, 74 => 0x9, 75 => 0xa, 78 => 0xa, 79 => 0xe },
-	'supermacro' => { 55 => 0x1a },
-	'supplementalcategories' => { 115 => 0x14, 420 => 'SupplementalCategories' },
-	'supplementaltype' => { 117 => 0x37 },
-	'supplementdisplayid' => { 422 => 'supplementDisplayID' },
-	'supplementstartingpage' => { 422 => 'supplementStartingPage' },
-	'supplementtitle' => { 422 => 'supplementTitle' },
-	'svisosetting' => { 291 => 0x14 },
-	'swatchcoloranta' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsA'] },
-	'swatchcolorantb' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsB'] },
-	'swatchcolorantblack' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsBlack'] },
-	'swatchcolorantblue' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsBlue'] },
-	'swatchcolorantcyan' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsCyan'] },
-	'swatchcolorantgray' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsGray'] },
-	'swatchcolorantgreen' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsGreen'] },
-	'swatchcolorantl' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsL'] },
-	'swatchcolorantmagenta' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsMagenta'] },
-	'swatchcolorantmode' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsMode'] },
-	'swatchcolorantred' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsRed'] },
-	'swatchcolorantswatchname' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsSwatchName'] },
-	'swatchcoloranttint' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsTint'] },
-	'swatchcoloranttype' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsType'] },
-	'swatchcolorantyellow' => { 437 => [\'SwatchGroups','SwatchGroupsColorantsYellow'] },
-	'swatchgroupname' => { 437 => [\'SwatchGroups','SwatchGroupsGroupName'] },
-	'swatchgroups' => { 437 => 'SwatchGroups' },
-	'swatchgroupscolorants' => { 437 => [\'SwatchGroups','SwatchGroupsColorants'] },
-	'swatchgrouptype' => { 437 => [\'SwatchGroups','SwatchGroupsGroupType'] },
-	'sweeppanoramadirection' => { 276 => 0x93, 354 => 0x33 },
-	'sweeppanoramafieldofview' => { 276 => 0x94 },
-	'sweeppanoramasize' => { 354 => 0x32 },
-	'switchtoregisteredafpoint' => { 72 => 0x12, 73 => 0x50a },
-	'syncreleasemode' => { 244 => '77.1' },
-	'system' => { 319 => 0x204 },
-	'tagged' => { 321 => 0xdd, 322 => 'Tagged', 402 => 'tagged' },
-	'tagslist' => { 411 => 'TagsList' },
-	'tagstructure' => { 416 => 'TagStructure' },
-	'takenumber' => { 432 => 'takeNumber' },
-	'tapename' => { 432 => 'tapeName' },
-	'targetaperture' => { 67 => 0x4 },
-	'targetcompressionratio' => { 84 => 0x1 },
-	'targetdistancesetting' => { 86 => 0x1807 },
-	'targetexposuretime' => { 67 => 0x5 },
-	'targetimagetype' => { 86 => 0x100a },
-	'targetprinter' => { 107 => 0x151 },
-	'taxon' => { 106 => 'Taxon' },
-	'taxonacceptednameusage' => { 106 => [\'Taxon','TaxonAcceptedNameUsage'] },
-	'taxonacceptednameusageid' => { 106 => [\'Taxon','TaxonAcceptedNameUsageID'] },
-	'taxonclass' => { 106 => [\'Taxon','TaxonClass'] },
-	'taxonconceptid' => { 106 => [\'Taxon','TaxonTaxonConceptID'] },
-	'taxonfamily' => { 106 => [\'Taxon','TaxonFamily'] },
-	'taxongenus' => { 106 => [\'Taxon','TaxonGenus'] },
-	'taxonhigherclassification' => { 106 => [\'Taxon','TaxonHigherClassification'] },
-	'taxonid' => { 106 => [\'Taxon','TaxonTaxonID'] },
-	'taxoninfraspecificepithet' => { 106 => [\'Taxon','TaxonInfraspecificEpithet'] },
-	'taxonkingdom' => { 106 => [\'Taxon','TaxonKingdom'] },
-	'taxonnameaccordingto' => { 106 => [\'Taxon','TaxonNameAccordingTo'] },
-	'taxonnameaccordingtoid' => { 106 => [\'Taxon','TaxonNameAccordingToID'] },
-	'taxonnamepublishedin' => { 106 => [\'Taxon','TaxonNamePublishedIn'] },
-	'taxonnamepublishedinid' => { 106 => [\'Taxon','TaxonNamePublishedInID'] },
-	'taxonnamepublishedinyear' => { 106 => [\'Taxon','TaxonNamePublishedInYear'] },
-	'taxonnomenclaturalcode' => { 106 => [\'Taxon','TaxonNomenclaturalCode'] },
-	'taxonnomenclaturalstatus' => { 106 => [\'Taxon','TaxonNomenclaturalStatus'] },
-	'taxonorder' => { 106 => [\'Taxon','TaxonOrder'] },
-	'taxonoriginalnameusage' => { 106 => [\'Taxon','TaxonOriginalNameUsage'] },
-	'taxonoriginalnameusageid' => { 106 => [\'Taxon','TaxonOriginalNameUsageID'] },
-	'taxonparentnameusage' => { 106 => [\'Taxon','TaxonParentNameUsage'] },
-	'taxonparentnameusageid' => { 106 => [\'Taxon','TaxonParentNameUsageID'] },
-	'taxonphylum' => { 106 => [\'Taxon','TaxonPhylum'] },
-	'taxonrank' => { 106 => [\'Taxon','TaxonTaxonRank'] },
-	'taxonremarks' => { 106 => [\'Taxon','TaxonTaxonRemarks'] },
-	'taxonscientificname' => { 106 => [\'Taxon','TaxonScientificName'] },
-	'taxonscientificnameauthorship' => { 106 => [\'Taxon','TaxonScientificNameAuthorship'] },
-	'taxonscientificnameid' => { 106 => [\'Taxon','TaxonScientificNameID'] },
-	'taxonspecificepithet' => { 106 => [\'Taxon','TaxonSpecificEpithet'] },
-	'taxonsubgenus' => { 106 => [\'Taxon','TaxonSubgenus'] },
-	'taxontaxonomicstatus' => { 106 => [\'Taxon','TaxonTaxonomicStatus'] },
-	'taxonverbatimtaxonrank' => { 106 => [\'Taxon','TaxonVerbatimTaxonRank'] },
-	'taxonvernacularname' => { 106 => [\'Taxon','TaxonVernacularName'] },
-	'teaser' => { 422 => 'teaser' },
-	'teleconverter' => { 164 => 0x105, 364 => 0x105 },
-	'tempo' => { 432 => 'tempo' },
-	'termsandconditionstext' => { 265 => 'TermsAndConditionsText' },
-	'termsandconditionsurl' => { 265 => 'TermsAndConditionsURL' },
-	'testname' => { 108 => 'TestName' },
-	'textencoding' => { 195 => 0x4 },
-	'textlayername' => { 420 => [\'TextLayers','TextLayersLayerName'] },
-	'textlayers' => { 420 => 'TextLayers' },
-	'textlayertext' => { 420 => [\'TextLayers','TextLayersLayerText'] },
-	'textstamp' => { 276 => [0x8008,0x8009,0x3b,0x3e] },
-	'three-dtrackingfacedetection' => { 244 => '1.3' },
-	'three-dtrackingwatcharea' => { 244 => '78.1' },
-	'thresholding' => { 107 => 0x107 },
-	'thumbnailfilename' => { 86 => 0x817 },
-	'thumbnailformat' => { 430 => [\'Thumbnails','ThumbnailsFormat'] },
-	'thumbnailheight' => { 125 => 0xfa55, 430 => [\'Thumbnails','ThumbnailsHeight'] },
-	'thumbnailimage' => { 86 => 0x2008, 103 => 'ThumbnailImage', 110 => 0x3, 148 => 'data', 260 => 0x100, 430 => [\'Thumbnails','ThumbnailsImage'] },
-	'thumbnailimagename' => { 148 => '1Name' },
-	'thumbnailimagesize' => { 148 => 'ImageSize' },
-	'thumbnailimagetype' => { 148 => '0Type' },
-	'thumbnailimagevalidarea' => { 55 => 0x13 },
-	'thumbnaillength' => { 107 => 0x202 },
-	'thumbnailoffset' => { 107 => 0x201 },
-	'thumbnails' => { 430 => 'Thumbnails' },
-	'thumbnailwidth' => { 125 => 0xfa54, 430 => [\'Thumbnails','ThumbnailsWidth'] },
-	'ticker' => { 422 => 'ticker' },
-	'tiffhandling' => { 408 => 'TIFFHandling' },
-	'tiffmeteringimage' => { 165 => 0x104c, 363 => 0x1110 },
-	'tilelength' => { 107 => 0x143 },
-	'tilewidth' => { 107 => 0x142 },
-	'time' => { 121 => 0x401, 310 => 0x7 },
-	'timecodes' => { 107 => 0xc763 },
-	'timecreated' => { 115 => 0x3c, 123 => 0x14, 132 => 0x10, 322 => 'TimeCreated' },
-	'timeperiod' => { 422 => 'timePeriod' },
-	'timerfunctionbutton' => { 243 => '5.2', 245 => '12.1', 246 => '13.1' },
-	'timerlength' => { 73 => 0x80c },
-	'timerrecording' => { 276 => 0x96 },
-	'timescaleparams' => { 432 => 'timeScaleParams' },
-	'timescaleparamsframeoverlappingpercentage' => { 432 => [\'timeScaleParams','timeScaleParamsFrameOverlappingPercentage'] },
-	'timescaleparamsframesize' => { 432 => [\'timeScaleParams','timeScaleParamsFrameSize'] },
-	'timescaleparamsquality' => { 432 => [\'timeScaleParams','timeScaleParamsQuality'] },
-	'timesent' => { 116 => 0x50 },
-	'timesignature' => { 432 => 'timeSignature' },
-	'timesincepoweron' => { 276 => 0x29 },
-	'timestamp' => { 10 => 0x45e, 18 => 0x11c, 254 => 0x8, 268 => 'TimeStamp', 403 => 'Timestamp' },
+	'shortreleasetimelag' => { 75 => 0x80d },
+	'shotdate' => { 437 => 'shotDate' },
+	'shotday' => { 437 => 'shotDay' },
+	'shotlocation' => { 437 => 'shotLocation' },
+	'shotname' => { 437 => 'shotName' },
+	'shotnumber' => { 437 => 'shotNumber' },
+	'shotnumbersincepowerup' => { 372 => 0x44e, 386 => 0x1a, 387 => 0x16, 388 => 0xa },
+	'shotnumbersincepowerup2' => { 359 => 0x200 },
+	'shotsize' => { 437 => 'shotSize' },
+	'shutter-aelock' => { 73 => 0x4, 75 => 0x701, 76 => 0x3, 77 => 0x4, 78 => 0x3, 79 => 0x3, 80 => 0x4, 81 => 0x2 },
+	'shutteraelbutton' => { 74 => 0x4 },
+	'shutterbuttonafonbutton' => { 75 => 0x701 },
+	'shuttercount' => { 10 => 0x176, 51 => 0x1, 198 => 0xa7, 206 => [0x6a,0x157,0x24d], 207 => 0x286, 208 => 0x279, 209 => 0x284, 210 => 0x242, 211 => 0x280, 212 => 0x276, 213 => [0x27d,0x27f], 214 => 0x246, 217 => 0x2d6, 218 => 0x321, 219 => 0xbd8, 220 => 0x287, 221 => 0x320, 222 => 0x24a, 223 => 0x5fb, 225 => 0x2d5, 314 => 0x5d, 368 => 0x846, 371 => [0x125,0x14a] },
+	'shuttercurtainsync' => { 73 => 0xf, 74 => 0xf, 75 => 0x305, 76 => 0xe, 77 => 0xf, 78 => 0x8, 79 => 0x8, 80 => 0xf, 81 => 0x8 },
+	'shuttermode' => { 125 => 0x1b },
+	'shutterreleasebuttonae-l' => { 243 => '17.7', 244 => '18.4', 246 => '78.4', 247 => '78.4', 248 => '16.1', 249 => '17.1', 250 => '17.1', 251 => '17.1', 252 => '7.1', 253 => '17.5', 256 => '18.4', 257 => '18.2' },
+	'shutterreleasemethod' => { 88 => 0x1010 },
+	'shutterreleasenocfcard' => { 73 => 0x2, 74 => 0x2, 81 => 0xf },
+	'shutterreleasetiming' => { 88 => 0x1011 },
+	'shutterreleasewithoutlens' => { 75 => 0x711 },
+	'shutterspeedlock' => { 244 => '38.1', 246 => '38.1', 247 => '38.1', 256 => '38.1' },
+	'shutterspeedrange' => { 75 => 0x10c },
+	'shutterspeedsetting' => { 164 => 0x6, 357 => 0x2f, 358 => 0x28, 359 => 0x0 },
+	'shutterspeedvalue' => { 84 => 0x1, 109 => 0x9201, 264 => 0x1000, 323 => 0x400, 417 => 'ShutterSpeedValue' },
+	'shuttertype' => { 114 => 0x1050, 280 => 0x9f },
+	'sidecarforextension' => { 425 => 'SidecarForExtension' },
+	'similarityindex' => { 117 => 0xe4 },
+	'singleframebracketing' => { 164 => 0x21 },
+	'skilllevel' => { 429 => 'skillLevel' },
+	'slaveflashmeteringsegments' => { 314 => 0x20b },
+	'slideshowname' => { 426 => 'slideshowName' },
+	'slideshownumber' => { 426 => 'slideshowNumber' },
+	'slideshowtotalnumber' => { 426 => 'slideshowTotalNumber' },
+	'slowshutter' => { 69 => 0x8 },
+	'slowsync' => { 114 => 0x1030 },
+	'smartalbumcolor' => { 346 => 0x20 },
+	'smartrange' => { 346 => 0xa012 },
+	'smileshutter' => { 359 => 0x31 },
+	'smileshuttermode' => { 359 => 0x27 },
+	'smoothness' => { 109 => 0xfe57, 413 => 'Smoothness' },
+	'snapshots' => { 407 => 'Snapshots' },
+	'softskineffect' => { 369 => 0x200f },
+	'software' => { 109 => 0x131, 140 => 'Software', 272 => 'Software', 323 => 0x203, 349 => 0x18, 433 => 'Software' },
+	'softwareversion' => { 348 => 0x207 },
+	'sonydatetime' => { 375 => 0x6, 377 => 0x1b6, 378 => 0x210, 379 => 0x1fe, 380 => 0x22c },
+	'sonydatetime2' => { 385 => [0x51,0x5d] },
+	'sonyexposuretime' => { 385 => 0x46 },
+	'sonyexposuretime2' => { 394 => 0xe },
+	'sonyfnumber' => { 385 => [0x3c,0x48], 394 => 0x14 },
+	'sonyimageheight' => { 375 => 0x1a, 386 => 0x44, 387 => 0x3f, 388 => 0x47 },
+	'sonyimagesize' => { 164 => 0x3b, 357 => 0x54, 358 => 0x54, 359 => 0x9 },
+	'sonyimagewidth' => { 375 => 0x1c },
+	'sonyiso' => { 377 => 0x1218, 378 => 0x11f4, 379 => 0x1270, 380 => [0x1254,0x1258,0x1280], 381 => 0x113c, 382 => 0x344, 383 => 0x346, 394 => 0x4 },
+	'sonymaxaperturevalue' => { 394 => 0x16 },
+	'sonymodelid' => { 369 => 0xb001 },
+	'sonyquality' => { 164 => 0x3c },
+	'source' => { 117 => 0x73, 272 => 'Source', 414 => 'source', 415 => 'source', 425 => 'Source' },
+	'sourcedirectoryindex' => { 301 => 0x0 },
+	'sourcefileindex' => { 301 => 0x2 },
+	'sourcephotoscount' => { 402 => 'SourcePhotosCount' },
+	'spatialfrequencyresponse' => { 417 => 'SpatialFrequencyResponse' },
+	'spatialfrequencyresponsecolumns' => { 417 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseColumns'] },
+	'spatialfrequencyresponsenames' => { 417 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseNames'] },
+	'spatialfrequencyresponserows' => { 417 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseRows'] },
+	'spatialfrequencyresponsevalues' => { 417 => [\'SpatialFrequencyResponse','SpatialFrequencyResponseValues'] },
+	'speakerplacement' => { 437 => 'speakerPlacement' },
+	'specialeffectlevel' => { 104 => 0x3030 },
+	'specialeffectmode' => { 104 => 0x2076 },
+	'specialeffectsetting' => { 104 => 0x3031 },
+	'specialinstructions' => { 117 => 0x28 },
+	'specialmode' => { 264 => 0x200, 348 => 0x200 },
+	'specialoccasion' => { 429 => 'specialOccasion' },
+	'spectralsensitivity' => { 109 => 0x8824, 417 => 'SpectralSensitivity' },
+	'specularwhitelevel' => { 40 => [0x2b9,0x2d0,0x2d4], 42 => 0x1e4, 43 => [0x1fd,0x2dd], 44 => [0x231,0x30f] },
+	'speedx' => { 106 => 0x3 },
+	'speedy' => { 106 => 0x4 },
+	'speedz' => { 106 => 0x5 },
+	'splitcolumn' => { 323 => 0x222 },
+	'splittoningbalance' => { 413 => 'SplitToningBalance' },
+	'splittoninghighlighthue' => { 413 => 'SplitToningHighlightHue' },
+	'splittoninghighlightsaturation' => { 413 => 'SplitToningHighlightSaturation' },
+	'splittoningshadowhue' => { 413 => 'SplitToningShadowHue' },
+	'splittoningshadowsaturation' => { 413 => 'SplitToningShadowSaturation' },
+	'sport' => { 427 => 'sport' },
+	'spotfocuspointx' => { 161 => 0x2d },
+	'spotfocuspointy' => { 161 => 0x2e },
+	'spotmeteringmode' => { 33 => 0x27 },
+	'spotmeterlinktoafpoint' => { 75 => 0x107 },
+	'sractive' => { 295 => '17.1' },
+	'srawquality' => { 33 => 0x2e },
+	'srfocallength' => { 316 => 0x3 },
+	'srhalfpresstime' => { 316 => 0x2 },
+	'srresult' => { 316 => 0x0, 317 => 0x0 },
+	'stackedimage' => { 259 => 0x804 },
+	'standardoutputhighlightpoint' => { 100 => 0x14 },
+	'standardoutputsensitivity' => { 109 => 0x8831, 418 => 'StandardOutputSensitivity' },
+	'standardoutputshadowpoint' => { 100 => 0x15 },
+	'standardrawcolortone' => { 100 => 0xd },
+	'standardrawcontrast' => { 100 => 0xf },
+	'standardrawhighlight' => { 100 => 0x75 },
+	'standardrawhighlightpoint' => { 100 => 0x12 },
+	'standardrawlinear' => { 100 => 0x10 },
+	'standardrawsaturation' => { 100 => 0xe },
+	'standardrawshadow' => { 100 => 0x7e },
+	'standardrawshadowpoint' => { 100 => 0x13 },
+	'standardrawsharpness' => { 100 => 0x11 },
+	'standardunsharpmaskfineness' => { 100 => 0x94 },
+	'standardunsharpmaskstrength' => { 100 => 0x92 },
+	'standardunsharpmaskthreshold' => { 100 => 0x96 },
+	'standbytimer' => { 244 => '19.1', 246 => '19.1', 247 => '19.1', 250 => '18.1', 251 => '18.1', 256 => '19.1' },
+	'startingpage' => { 427 => 'startingPage' },
+	'startmovieshooting' => { 75 => 0x70d },
+	'starttimecode' => { 437 => 'startTimecode' },
+	'starttimecodetimeformat' => { 437 => [\'startTimecode','startTimecodeTimeFormat'] },
+	'starttimecodetimevalue' => { 437 => [\'startTimecode','startTimecodeTimeValue'] },
+	'starttimecodevalue' => { 437 => [\'startTimecode','startTimecodeValue'] },
+	'starttimesamplesize' => { 437 => 'startTimeSampleSize' },
+	'starttimescale' => { 437 => 'startTimeScale' },
+	'state' => { 144 => 'State', 280 => 0x6b, 425 => 'State' },
+	'status' => { 401 => 'Status', 405 => 'Status' },
+	'stitchingsoftware' => { 402 => 'StitchingSoftware' },
+	'stopsabovebaseiso' => { 376 => 0x113e, 377 => 0x113e, 378 => 0x111a, 379 => 0x1196, 380 => 0x1172, 381 => 0x102a, 382 => 0x222, 383 => 0x222, 394 => 0xa },
+	'storagemethod' => { 168 => 0x12 },
+	'storebyorientation' => { 244 => '46.3', 246 => '47.3', 247 => '47.3', 256 => '47.3' },
+	'straightenangle' => { 236 => 0x2fc08431 },
+	'streamtype' => { 157 => 'StreamType' },
+	'stretchmode' => { 437 => 'stretchMode' },
+	'studydatetime' => { 400 => 'StudyDateTime' },
+	'studydescription' => { 400 => 'StudyDescription' },
+	'studyid' => { 400 => 'StudyID' },
+	'studyphysician' => { 400 => 'StudyPhysician' },
+	'sub-location' => { 117 => 0x5c },
+	'subfiledata' => { 147 => 'data' },
+	'subfiledirectory' => { 147 => '1Directory' },
+	'subfilemimetype' => { 147 => '2MIME' },
+	'subfilename' => { 147 => '1Name' },
+	'subfileresource' => { 147 => 'rsrc' },
+	'subfiletype' => { 109 => 0xfe, 147 => '0Type' },
+	'subject' => { 268 => 'Subject', 330 => 'Subject', 414 => 'subject', 424 => 'Subject', 438 => 'subject' },
+	'subjectarea' => { 109 => 0x9214, 417 => 'SubjectArea' },
+	'subjectcode' => { 422 => 'SubjectCode' },
+	'subjectdistance' => { 109 => 0x9206, 125 => 0x3e, 417 => 'SubjectDistance' },
+	'subjectdistancerange' => { 109 => 0xa40c, 417 => 'SubjectDistanceRange' },
+	'subjectlocation' => { 109 => 0xa214, 417 => 'SubjectLocation' },
+	'subjectmotion' => { 246 => '78.2', 247 => '78.2' },
+	'subjectprogram' => { 161 => 0x22 },
+	'subjectreference' => { 117 => 0xc },
+	'sublabels4' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabels'] },
+	'sublabels5' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabelsSubLabelsSubLabels'] },
+	'sublables1' => { 421 => [\'TagStructure','TagStructureSubLabels'] },
+	'sublables2' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabels'] },
+	'sublables3' => { 421 => [\'TagStructure','TagStructureSubLabelsSubLabelsSubLabels'] },
+	'subseccreatedate' => { 105 => 'SubSecCreateDate' },
+	'subsecdatetimeoriginal' => { 105 => 'SubSecDateTimeOriginal' },
+	'subsecmodifydate' => { 105 => 'SubSecModifyDate' },
+	'subsectime' => { 109 => 0x9290 },
+	'subsectimedigitized' => { 109 => 0x9292 },
+	'subsectimeoriginal' => { 109 => 0x9291 },
+	'subsection1' => { 427 => 'subsection1' },
+	'subsection2' => { 427 => 'subsection2' },
+	'subsection3' => { 427 => 'subsection3' },
+	'subsection4' => { 427 => 'subsection4' },
+	'subselector' => { 244 => '49.1', 246 => '71.1', 247 => '71.1' },
+	'subselectorassignment' => { 244 => '48.1' },
+	'subselectorcenter' => { 246 => '72.1', 247 => '72.1' },
+	'subselectorplusdials' => { 244 => '49.2', 246 => '73.1', 247 => '73.1' },
+	'subtitle' => { 427 => 'subtitle' },
+	'subversionfilename' => { 421 => [\'SubVersions','SubVersionsFileName'] },
+	'subversionreference' => { 421 => [\'SubVersions','SubVersionsVersRef'] },
+	'subversions' => { 421 => 'SubVersions' },
+	'superimposeddisplay' => { 73 => 0xa, 75 => 0x510, 76 => 0x9, 77 => 0xa, 80 => 0xa, 81 => 0xe },
+	'supermacro' => { 57 => 0x1a },
+	'supplementalcategories' => { 117 => 0x14, 425 => 'SupplementalCategories' },
+	'supplementaltype' => { 119 => 0x37 },
+	'supplementdisplayid' => { 427 => 'supplementDisplayID' },
+	'supplementstartingpage' => { 427 => 'supplementStartingPage' },
+	'supplementtitle' => { 427 => 'supplementTitle' },
+	'svisosetting' => { 295 => 0x14 },
+	'swatchcoloranta' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsA'] },
+	'swatchcolorantb' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsB'] },
+	'swatchcolorantblack' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsBlack'] },
+	'swatchcolorantblue' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsBlue'] },
+	'swatchcolorantcyan' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsCyan'] },
+	'swatchcolorantgray' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsGray'] },
+	'swatchcolorantgreen' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsGreen'] },
+	'swatchcolorantl' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsL'] },
+	'swatchcolorantmagenta' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsMagenta'] },
+	'swatchcolorantmode' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsMode'] },
+	'swatchcolorantred' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsRed'] },
+	'swatchcolorantswatchname' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsSwatchName'] },
+	'swatchcoloranttint' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsTint'] },
+	'swatchcoloranttype' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsType'] },
+	'swatchcolorantyellow' => { 442 => [\'SwatchGroups','SwatchGroupsColorantsYellow'] },
+	'swatchgroupname' => { 442 => [\'SwatchGroups','SwatchGroupsGroupName'] },
+	'swatchgroups' => { 442 => 'SwatchGroups' },
+	'swatchgroupscolorants' => { 442 => [\'SwatchGroups','SwatchGroupsColorants'] },
+	'swatchgrouptype' => { 442 => [\'SwatchGroups','SwatchGroupsGroupType'] },
+	'sweeppanoramadirection' => { 280 => 0x93, 359 => 0x33 },
+	'sweeppanoramafieldofview' => { 280 => 0x94 },
+	'sweeppanoramasize' => { 359 => 0x32 },
+	'switchtoregisteredafpoint' => { 74 => 0x12, 75 => 0x50a },
+	'syncreleasemode' => { 246 => '77.1', 247 => '77.1' },
+	'system' => { 323 => 0x204 },
+	'tagged' => { 325 => 0xdd, 326 => 'Tagged', 407 => 'tagged' },
+	'tagslist' => { 416 => 'TagsList' },
+	'tagstructure' => { 421 => 'TagStructure' },
+	'takenumber' => { 437 => 'takeNumber' },
+	'tapename' => { 437 => 'tapeName' },
+	'targetaperture' => { 69 => 0x4 },
+	'targetcompressionratio' => { 86 => 0x1 },
+	'targetdistancesetting' => { 88 => 0x1807 },
+	'targetexposuretime' => { 69 => 0x5 },
+	'targetimagetype' => { 88 => 0x100a },
+	'targetprinter' => { 109 => 0x151 },
+	'taxon' => { 108 => 'Taxon' },
+	'taxonacceptednameusage' => { 108 => [\'Taxon','TaxonAcceptedNameUsage'] },
+	'taxonacceptednameusageid' => { 108 => [\'Taxon','TaxonAcceptedNameUsageID'] },
+	'taxonclass' => { 108 => [\'Taxon','TaxonClass'] },
+	'taxonconceptid' => { 108 => [\'Taxon','TaxonTaxonConceptID'] },
+	'taxonfamily' => { 108 => [\'Taxon','TaxonFamily'] },
+	'taxongenus' => { 108 => [\'Taxon','TaxonGenus'] },
+	'taxonhigherclassification' => { 108 => [\'Taxon','TaxonHigherClassification'] },
+	'taxonid' => { 108 => [\'Taxon','TaxonTaxonID'] },
+	'taxoninfraspecificepithet' => { 108 => [\'Taxon','TaxonInfraspecificEpithet'] },
+	'taxonkingdom' => { 108 => [\'Taxon','TaxonKingdom'] },
+	'taxonnameaccordingto' => { 108 => [\'Taxon','TaxonNameAccordingTo'] },
+	'taxonnameaccordingtoid' => { 108 => [\'Taxon','TaxonNameAccordingToID'] },
+	'taxonnamepublishedin' => { 108 => [\'Taxon','TaxonNamePublishedIn'] },
+	'taxonnamepublishedinid' => { 108 => [\'Taxon','TaxonNamePublishedInID'] },
+	'taxonnamepublishedinyear' => { 108 => [\'Taxon','TaxonNamePublishedInYear'] },
+	'taxonnomenclaturalcode' => { 108 => [\'Taxon','TaxonNomenclaturalCode'] },
+	'taxonnomenclaturalstatus' => { 108 => [\'Taxon','TaxonNomenclaturalStatus'] },
+	'taxonorder' => { 108 => [\'Taxon','TaxonOrder'] },
+	'taxonoriginalnameusage' => { 108 => [\'Taxon','TaxonOriginalNameUsage'] },
+	'taxonoriginalnameusageid' => { 108 => [\'Taxon','TaxonOriginalNameUsageID'] },
+	'taxonparentnameusage' => { 108 => [\'Taxon','TaxonParentNameUsage'] },
+	'taxonparentnameusageid' => { 108 => [\'Taxon','TaxonParentNameUsageID'] },
+	'taxonphylum' => { 108 => [\'Taxon','TaxonPhylum'] },
+	'taxonrank' => { 108 => [\'Taxon','TaxonTaxonRank'] },
+	'taxonremarks' => { 108 => [\'Taxon','TaxonTaxonRemarks'] },
+	'taxonscientificname' => { 108 => [\'Taxon','TaxonScientificName'] },
+	'taxonscientificnameauthorship' => { 108 => [\'Taxon','TaxonScientificNameAuthorship'] },
+	'taxonscientificnameid' => { 108 => [\'Taxon','TaxonScientificNameID'] },
+	'taxonspecificepithet' => { 108 => [\'Taxon','TaxonSpecificEpithet'] },
+	'taxonsubgenus' => { 108 => [\'Taxon','TaxonSubgenus'] },
+	'taxontaxonomicstatus' => { 108 => [\'Taxon','TaxonTaxonomicStatus'] },
+	'taxonverbatimtaxonrank' => { 108 => [\'Taxon','TaxonVerbatimTaxonRank'] },
+	'taxonvernacularname' => { 108 => [\'Taxon','TaxonVernacularName'] },
+	'teaser' => { 427 => 'teaser' },
+	'teleconverter' => { 166 => 0x105, 369 => 0x105 },
+	'tempo' => { 437 => 'tempo' },
+	'termsandconditionstext' => { 269 => 'TermsAndConditionsText' },
+	'termsandconditionsurl' => { 269 => 'TermsAndConditionsURL' },
+	'testname' => { 110 => 'TestName' },
+	'textencoding' => { 197 => 0x4 },
+	'textlayername' => { 425 => [\'TextLayers','TextLayersLayerName'] },
+	'textlayers' => { 425 => 'TextLayers' },
+	'textlayertext' => { 425 => [\'TextLayers','TextLayersLayerText'] },
+	'textstamp' => { 280 => [0x8008,0x8009,0x3b,0x3e] },
+	'three-dtrackingfacedetection' => { 246 => '1.3', 247 => '1.3' },
+	'three-dtrackingwatcharea' => { 246 => '78.1', 247 => '78.1' },
+	'thresholding' => { 109 => 0x107 },
+	'thumbnailfilename' => { 88 => 0x817 },
+	'thumbnailformat' => { 435 => [\'Thumbnails','ThumbnailsFormat'] },
+	'thumbnailheight' => { 127 => 0xfa55, 435 => [\'Thumbnails','ThumbnailsHeight'] },
+	'thumbnailimage' => { 88 => 0x2008, 105 => 'ThumbnailImage', 112 => 0x3, 150 => 'data', 264 => 0x100, 435 => [\'Thumbnails','ThumbnailsImage'] },
+	'thumbnailimagename' => { 150 => '1Name' },
+	'thumbnailimagesize' => { 150 => 'ImageSize' },
+	'thumbnailimagetype' => { 150 => '0Type' },
+	'thumbnailimagevalidarea' => { 57 => 0x13 },
+	'thumbnaillength' => { 109 => 0x202 },
+	'thumbnailoffset' => { 109 => 0x201 },
+	'thumbnails' => { 435 => 'Thumbnails' },
+	'thumbnailwidth' => { 127 => 0xfa54, 435 => [\'Thumbnails','ThumbnailsWidth'] },
+	'ticker' => { 427 => 'ticker' },
+	'tiffhandling' => { 413 => 'TIFFHandling' },
+	'tiffmeteringimage' => { 167 => 0x104c, 368 => 0x1110 },
+	'tilelength' => { 109 => 0x143 },
+	'tilewidth' => { 109 => 0x142 },
+	'time' => { 123 => 0x401, 314 => 0x7 },
+	'timecodes' => { 109 => 0xc763 },
+	'timecreated' => { 117 => 0x3c, 125 => 0x14, 134 => 0x10, 326 => 'TimeCreated' },
+	'timeperiod' => { 427 => 'timePeriod' },
+	'timerfunctionbutton' => { 245 => '5.2', 248 => '12.1', 249 => '13.1' },
+	'timerlength' => { 75 => 0x80c },
+	'timerrecording' => { 280 => 0x96 },
+	'timescaleparams' => { 437 => 'timeScaleParams' },
+	'timescaleparamsframeoverlappingpercentage' => { 437 => [\'timeScaleParams','timeScaleParamsFrameOverlappingPercentage'] },
+	'timescaleparamsframesize' => { 437 => [\'timeScaleParams','timeScaleParamsFrameSize'] },
+	'timescaleparamsquality' => { 437 => [\'timeScaleParams','timeScaleParamsQuality'] },
+	'timesent' => { 118 => 0x50 },
+	'timesignature' => { 437 => 'timeSignature' },
+	'timesincepoweron' => { 280 => 0x29 },
+	'timestamp' => { 10 => 0x45e, 18 => 0x11c, 258 => 0x8, 272 => 'TimeStamp', 408 => 'Timestamp' },
 	'timestamp1' => { 10 => 0x45a },
-	'timezone' => { 68 => 0x1, 226 => 0x0, 338 => 0xa },
-	'timezonecity' => { 68 => 0x2 },
-	'timezonecode' => { 89 => 0x1 },
-	'timezoneinfo' => { 89 => 0x2 },
-	'timezoneoffset' => { 107 => 0x882a },
-	'tint' => { 408 => 'Tint' },
-	'title' => { 138 => 'Title', 264 => 'Title', 268 => 'Title', 276 => 0x65, 326 => 'Title', 409 => 'title', 419 => 'Title', 430 => 'Title' },
-	'tonecomp' => { 196 => 0x81 },
-	'tonecurve' => { 65 => 0x1, 310 => 0x402, 408 => 'ToneCurve' },
-	'tonecurveactive' => { 97 => 0x110 },
-	'tonecurveadobergb' => { 341 => 0xa043 },
-	'tonecurveadobergbdefault' => { 341 => 0xa041 },
-	'tonecurveblue' => { 408 => 'ToneCurveBlue' },
-	'tonecurvebluex' => { 393 => 0x9003 },
-	'tonecurvebluey' => { 393 => 0x9007 },
-	'tonecurvebrightness' => { 92 => 0x20410 },
-	'tonecurvebrightnessx' => { 393 => 0x9000 },
-	'tonecurvebrightnessy' => { 393 => 0x9004 },
-	'tonecurvecolorspace' => { 96 => 0x0 },
-	'tonecurvecontrast' => { 92 => 0x20411 },
-	'tonecurvefilename' => { 121 => 0x1391 },
-	'tonecurvegreen' => { 408 => 'ToneCurveGreen' },
-	'tonecurvegreenx' => { 393 => 0x9002 },
-	'tonecurvegreeny' => { 393 => 0x9006 },
-	'tonecurveinputrange' => { 96 => 0x3 },
-	'tonecurveinterpolation' => { 97 => 0x159 },
-	'tonecurvemode' => { 97 => 0x113 },
-	'tonecurvename' => { 408 => 'ToneCurveName' },
-	'tonecurvename2012' => { 408 => 'ToneCurveName2012' },
-	'tonecurveoriginal' => { 92 => '0x20400.1' },
-	'tonecurveoutputrange' => { 96 => 0x5 },
-	'tonecurveproperty' => { 97 => 0x3c },
-	'tonecurvepv2012' => { 408 => 'ToneCurvePV2012' },
-	'tonecurvepv2012blue' => { 408 => 'ToneCurvePV2012Blue' },
-	'tonecurvepv2012green' => { 408 => 'ToneCurvePV2012Green' },
-	'tonecurvepv2012red' => { 408 => 'ToneCurvePV2012Red' },
-	'tonecurvered' => { 408 => 'ToneCurveRed' },
-	'tonecurveredx' => { 393 => 0x9001 },
-	'tonecurveredy' => { 393 => 0x9005 },
-	'tonecurves' => { 310 => 0x403 },
-	'tonecurveshape' => { 96 => 0x1 },
-	'tonecurvesrgb' => { 341 => 0xa042 },
-	'tonecurvesrgbdefault' => { 341 => 0xa040 },
-	'tonecurvex' => { 96 => 0xa },
-	'tonecurvey' => { 96 => 0xb },
-	'tonelevel' => { 255 => 0x52e },
-	'tonemapstrength' => { 408 => 'ToneMapStrength' },
-	'toningeffect' => { 49 => 0xf, 196 => 0xb3, 198 => 0x38, 199 => 0x40, 335 => 0x1015 },
-	'toningeffectauto' => { 62 => 0xa4 },
-	'toningeffectfaithful' => { 61 => 0x74, 62 => 0x74 },
-	'toningeffectlandscape' => { 61 => 0x44, 62 => 0x44 },
-	'toningeffectmonochrome' => { 18 => 0x108, 61 => 0x8c, 62 => 0x8c },
-	'toningeffectneutral' => { 61 => 0x5c, 62 => 0x5c },
-	'toningeffectportrait' => { 61 => 0x2c, 62 => 0x2c },
-	'toningeffectstandard' => { 61 => 0x14, 62 => 0x14 },
-	'toningeffectuserdef1' => { 61 => 0xa4, 62 => 0xbc },
-	'toningeffectuserdef2' => { 61 => 0xbc, 62 => 0xd4 },
-	'toningeffectuserdef3' => { 61 => 0xd4, 62 => 0xec },
-	'toningsaturation' => { 198 => 0x39, 199 => 0x41 },
-	'totalzoom' => { 123 => 0x62 },
-	'touchae' => { 276 => 0xab },
-	'trackcreatedate' => { 330 => 0x1 },
-	'trackmodifydate' => { 330 => 0x2 },
-	'tracknumber' => { 432 => 'trackNumber' },
-	'tracks' => { 432 => 'Tracks' },
-	'tracksframerate' => { 432 => [\'Tracks','TracksFrameRate'] },
-	'tracksmarkers' => { 432 => [\'Tracks','TracksMarkers'] },
-	'tracksmarkerscomment' => { 432 => [\'Tracks','TracksMarkersComment'] },
-	'tracksmarkerscuepointparams' => { 432 => [\'Tracks','TracksMarkersCuePointParams'] },
-	'tracksmarkerscuepointparamskey' => { 432 => [\'Tracks','TracksMarkersCuePointParamsKey'] },
-	'tracksmarkerscuepointparamsvalue' => { 432 => [\'Tracks','TracksMarkersCuePointParamsValue'] },
-	'tracksmarkerscuepointtype' => { 432 => [\'Tracks','TracksMarkersCuePointType'] },
-	'tracksmarkersduration' => { 432 => [\'Tracks','TracksMarkersDuration'] },
-	'tracksmarkerslocation' => { 432 => [\'Tracks','TracksMarkersLocation'] },
-	'tracksmarkersname' => { 432 => [\'Tracks','TracksMarkersName'] },
-	'tracksmarkersprobability' => { 432 => [\'Tracks','TracksMarkersProbability'] },
-	'tracksmarkersspeaker' => { 432 => [\'Tracks','TracksMarkersSpeaker'] },
-	'tracksmarkersstarttime' => { 432 => [\'Tracks','TracksMarkersStartTime'] },
-	'tracksmarkerstarget' => { 432 => [\'Tracks','TracksMarkersTarget'] },
-	'tracksmarkerstype' => { 432 => [\'Tracks','TracksMarkersType'] },
-	'trackstrackname' => { 432 => [\'Tracks','TracksTrackName'] },
-	'trackstracktype' => { 432 => [\'Tracks','TracksTrackType'] },
-	'trailersignature' => { 145 => 'zmie' },
-	'transferfunction' => { 107 => 0x12d, 428 => 'TransferFunction' },
-	'transform' => { 276 => [0x8012,0x59] },
-	'transmissionreference' => { 420 => 'TransmissionReference' },
-	'trapped' => { 264 => 'Trapped', 419 => 'Trapped' },
-	'trashbuttonfunction' => { 73 => 0x710 },
-	'travelday' => { 276 => 0x36 },
-	'triggermode' => { 331 => 0x6 },
-	'tstop' => { 107 => 0xc772 },
-	'ttl_da_adown' => { 298 => 0x5 },
-	'ttl_da_aup' => { 298 => 0x4 },
-	'ttl_da_bdown' => { 298 => 0x7 },
-	'ttl_da_bup' => { 298 => 0x6 },
-	'tungstenawb' => { 288 => 0x1 },
-	'tvexposuretimesetting' => { 291 => 0x12 },
-	'type' => { 409 => 'type', 427 => 'type' },
-	'typestatus' => { 106 => [\'Identification','IdentificationTypeStatus'] },
-	'uniquecameramodel' => { 107 => 0xc614 },
-	'uniquedocumentid' => { 115 => 0xbb },
-	'uniqueobjectname' => { 116 => 0x64 },
-	'unknownblock' => { 310 => 0x405 },
-	'unknownblock1' => { 259 => 0x635 },
-	'unknownblock2' => { 259 => 0x636 },
-	'unknownblock3' => { 259 => 0x1103 },
-	'unknownblock4' => { 259 => 0x1104 },
-	'unknowncontrast' => { 98 => 0x45 },
-	'unknowndate' => { 319 => 0x212 },
-	'unknownev' => { 121 => 0x1 },
-	'unknownlinear' => { 98 => 0x46 },
-	'unknownnumber' => { 86 => 0x180b },
-	'unknownoutputhighlightpoint' => { 98 => 0x4a },
-	'unknownoutputshadowpoint' => { 98 => 0x4b },
-	'unknownrawhighlight' => { 98 => 0x7b },
-	'unknownrawhighlightpoint' => { 98 => 0x48 },
-	'unknownrawshadow' => { 98 => 0x84 },
-	'unknownrawshadowpoint' => { 98 => 0x49 },
-	'unknownsharpness' => { 98 => 0x47 },
-	'unknowntemperature' => { 109 => 0x4 },
-	'unsharp1color' => { 239 => 0x13 },
-	'unsharp1halowidth' => { 239 => 0x19 },
-	'unsharp1intensity' => { 239 => 0x17 },
-	'unsharp1threshold' => { 239 => 0x1b },
-	'unsharp2color' => { 239 => 0x2e },
-	'unsharp2halowidth' => { 239 => 0x34 },
-	'unsharp2intensity' => { 239 => 0x32 },
-	'unsharp2threshold' => { 239 => 0x36 },
-	'unsharp3color' => { 239 => 0x49 },
-	'unsharp3halowidth' => { 239 => 0x4f },
-	'unsharp3intensity' => { 239 => 0x4d },
-	'unsharp3threshold' => { 239 => 0x51 },
-	'unsharp4color' => { 239 => 0x64 },
-	'unsharp4halowidth' => { 239 => 0x6a },
-	'unsharp4intensity' => { 239 => 0x68 },
-	'unsharp4threshold' => { 239 => 0x6c },
-	'unsharpcount' => { 239 => 0x0 },
-	'unsharpmask' => { 98 => 0x90, 234 => 0x76a43200 },
-	'unsharpmaskfineness' => { 92 => 0x20309 },
-	'unsharpmaskstrength' => { 92 => 0x20308 },
-	'unsharpmaskthreshold' => { 92 => 0x2030a },
-	'uprightcentermode' => { 408 => 'UprightCenterMode' },
-	'uprightcenternormx' => { 408 => 'UprightCenterNormX' },
-	'uprightcenternormy' => { 408 => 'UprightCenterNormY' },
-	'uprightdependentdigest' => { 408 => 'UprightDependentDigest' },
-	'uprightfocallength35mm' => { 408 => 'UprightFocalLength35mm' },
-	'uprightfocalmode' => { 408 => 'UprightFocalMode' },
-	'uprightfoursegmentscount' => { 408 => 'UprightFourSegmentsCount' },
-	'uprightpreview' => { 408 => 'UprightPreview' },
-	'uprighttransform_0' => { 408 => 'UprightTransform_0' },
-	'uprighttransform_1' => { 408 => 'UprightTransform_1' },
-	'uprighttransform_2' => { 408 => 'UprightTransform_2' },
-	'uprighttransform_3' => { 408 => 'UprightTransform_3' },
-	'uprighttransform_4' => { 408 => 'UprightTransform_4' },
-	'uprighttransformcount' => { 408 => 'UprightTransformCount' },
-	'uprightversion' => { 408 => 'UprightVersion' },
-	'urgency' => { 115 => 0xa, 420 => 'Urgency' },
-	'url' => { 138 => 'URL', 268 => 'URL', 324 => 0x40b, 422 => 'url' },
-	'url_list' => { 324 => 0x41e },
-	'urla-platform' => { 422 => [\'url','urlA-platform'] },
-	'urlurl' => { 422 => [\'url','urlUrl'] },
-	'usablemeteringmodes' => { 73 => 0x10a },
-	'usableshootingmodes' => { 73 => 0x109 },
-	'usage' => { 423 => 'usage' },
-	'usageterms' => { 436 => 'UsageTerms' },
-	'useguidelines' => { 405 => 'useGuidelines' },
-	'usepanoramaviewer' => { 397 => 'UsePanoramaViewer' },
-	'usercomment' => { 86 => 0x805, 107 => 0x9286, 412 => 'UserComment' },
-	'userdef1picturestyle' => { 18 => 0x10c, 61 => 0xd8, 62 => 0xf0 },
-	'userdef2picturestyle' => { 18 => 0x10e, 61 => 0xda, 62 => 0xf2 },
-	'userdef3picturestyle' => { 18 => 0x110, 61 => 0xdc, 62 => 0xf4 },
-	'userfields' => { 400 => 'UserFields' },
-	'userlabel' => { 331 => 0x2b },
-	'userprofile' => { 272 => 0x302, 278 => 0x3038 },
-	'usmlenselectronicmf' => { 2 => 0x7, 72 => 0x7, 73 => 0x501 },
-	'uspsnumber' => { 422 => 'uspsNumber' },
-	'utmeasting' => { 149 => 'Easting' },
-	'utmmapdatum' => { 149 => 'Datum' },
-	'utmnorthing' => { 149 => 'Northing' },
-	'utmzone' => { 149 => 'Zone' },
-	'uv-irfiltercorrection' => { 272 => 0x325 },
-	'validbits' => { 259 => 0x611, 260 => 0x102c },
-	'validpixeldepth' => { 263 => 0x611 },
-	'variousmodes' => { 123 => 0x26 },
-	'variousmodes2' => { 123 => 0x3a },
-	'variprogram' => { 196 => 0xab },
-	'version' => { 112 => 0x0, 326 => 'Version', 408 => 'Version' },
-	'versioncreatedate' => { 393 => 0xd100 },
-	'versionid' => { 433 => 'VersionID' },
-	'versionidentifier' => { 422 => 'versionIdentifier' },
-	'versionmodifydate' => { 393 => 0xd101 },
-	'versions' => { 433 => 'Versions' },
-	'versionscomments' => { 433 => [\'Versions','VersionsComments'] },
-	'versionsevent' => { 433 => [\'Versions','VersionsEvent'] },
-	'versionseventaction' => { 433 => [\'Versions','VersionsEventAction'] },
-	'versionseventchanged' => { 433 => [\'Versions','VersionsEventChanged'] },
-	'versionseventinstanceid' => { 433 => [\'Versions','VersionsEventInstanceID'] },
-	'versionseventparameters' => { 433 => [\'Versions','VersionsEventParameters'] },
-	'versionseventsoftwareagent' => { 433 => [\'Versions','VersionsEventSoftwareAgent'] },
-	'versionseventwhen' => { 433 => [\'Versions','VersionsEventWhen'] },
-	'versionsmodifier' => { 433 => [\'Versions','VersionsModifier'] },
-	'versionsmodifydate' => { 433 => [\'Versions','VersionsModifyDate'] },
-	'versionsversion' => { 433 => [\'Versions','VersionsVersion'] },
-	'verticalafonbutton' => { 241 => '3.2', 242 => '47.2' },
-	'verticalfuncbutton' => { 242 => '42.2' },
-	'verticalfuncbuttonplusdials' => { 242 => '43.1' },
-	'verticalmultiselector' => { 242 => '42.1', 244 => '66.1' },
-	'vfdisplayillumination' => { 2 => 0x11, 73 => [0x510,0x51d] },
-	'vibrance' => { 401 => 'Vibrance', 408 => 'Vibrance' },
-	'vibrationreduction' => { 204 => [0x75,0x82,0x1ae], 212 => '586.1', 220 => '590.2', 225 => 0x4 },
-	'videoalphamode' => { 432 => 'videoAlphaMode' },
-	'videoalphapremultiplecolor' => { 432 => 'videoAlphaPremultipleColor' },
-	'videoalphapremultiplecolora' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorA'] },
-	'videoalphapremultiplecolorb' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorB'] },
-	'videoalphapremultiplecolorblack' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlack'] },
-	'videoalphapremultiplecolorblue' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlue'] },
-	'videoalphapremultiplecolorcyan' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorCyan'] },
-	'videoalphapremultiplecolorgray' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorGray'] },
-	'videoalphapremultiplecolorgreen' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorGreen'] },
-	'videoalphapremultiplecolorl' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorL'] },
-	'videoalphapremultiplecolormagenta' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMagenta'] },
-	'videoalphapremultiplecolormode' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMode'] },
-	'videoalphapremultiplecolorred' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorRed'] },
-	'videoalphapremultiplecolorswatchname' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorSwatchName'] },
-	'videoalphapremultiplecolortint' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorTint'] },
-	'videoalphapremultiplecolortype' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorType'] },
-	'videoalphapremultiplecoloryellow' => { 432 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorYellow'] },
-	'videoalphaunityistransparent' => { 432 => 'videoAlphaUnityIsTransparent' },
-	'videocodec' => { 58 => 0x74 },
-	'videocolorspace' => { 432 => 'videoColorSpace' },
-	'videocompressor' => { 432 => 'videoCompressor' },
-	'videofieldorder' => { 432 => 'videoFieldOrder' },
-	'videoframerate' => { 432 => 'videoFrameRate' },
-	'videoframesize' => { 432 => 'videoFrameSize' },
-	'videoframesizeh' => { 432 => [\'videoFrameSize','videoFrameSizeH'] },
-	'videoframesizeunit' => { 432 => [\'videoFrameSize','videoFrameSizeUnit'] },
-	'videoframesizew' => { 432 => [\'videoFrameSize','videoFrameSizeW'] },
-	'videomoddate' => { 432 => 'videoModDate' },
-	'videopixelaspectratio' => { 432 => 'videoPixelAspectRatio' },
-	'videopixeldepth' => { 432 => 'videoPixelDepth' },
-	'videoquality' => { 102 => 0x4003 },
-	'viewfinderdisplay' => { 241 => '12.4', 242 => '6.3' },
-	'viewfinderwarning' => { 241 => '13.4', 249 => '3.5', 250 => '6.2', 253 => '4.4' },
-	'viewfinderwarnings' => { 73 => 0x40a },
-	'viewinfoduringexposure' => { 73 => 0x407 },
-	'viewingmode' => { 354 => 0x2f, 368 => 0x18 },
-	'viewingmode2' => { 354 => [0x85,0x285] },
-	'viewpoint' => { 421 => 'viewpoint' },
-	'vignetteamount' => { 408 => 'VignetteAmount' },
-	'vignettecontrol' => { 196 => 0x2a, 234 => 0x76a43205 },
-	'vignettecontrolintensity' => { 234 => 0xac6bd5c0 },
-	'vignettecorrectionalreadyapplied' => { 404 => 'VignetteCorrectionAlreadyApplied' },
-	'vignettemidpoint' => { 408 => 'VignetteMidpoint' },
-	'vignetting' => { 335 => 0x1011, 341 => 0xa052 },
-	'vignettingcorrection' => { 341 => 0xa053, 364 => 0x2011 },
-	'vignettingsetting' => { 341 => 0xa054 },
-	'visualtechnique' => { 421 => 'visualTechnique' },
-	'voicememo' => { 343 => 0x216 },
-	'volume' => { 422 => 'volume' },
-	'vr_0x66' => { 204 => 0x66 },
-	'vrdoffset' => { 55 => 0xd0 },
-	'vrmode' => { 225 => 0x6 },
-	'wb_bluelevel3500k' => { 165 => 0x19a },
-	'wb_bluelevel6500k' => { 165 => 0x18a },
-	'wb_bluelevelcustom' => { 165 => 0x18e },
-	'wb_bluelevelscloudy' => { 165 => 0x106 },
-	'wb_bluelevelsdaylight' => { 165 => 0xea },
-	'wb_bluelevelsflash' => { 165 => 0x122 },
-	'wb_bluelevelsfluorescent' => { 165 => [0x40a,0x15a] },
-	'wb_bluelevelskelvin' => { 165 => 0x254 },
-	'wb_bluelevelsshade' => { 165 => 0x176 },
-	'wb_bluelevelstungsten' => { 165 => 0xce },
-	'wb_gbrglevels' => { 165 => 0xae, 168 => 0x4 },
-	'wb_glevel' => { 259 => 0x11f },
-	'wb_glevel3000k' => { 259 => 0x113 },
-	'wb_glevel3300k' => { 259 => 0x114 },
-	'wb_glevel3600k' => { 259 => 0x115 },
-	'wb_glevel3900k' => { 259 => 0x116 },
-	'wb_glevel4000k' => { 259 => 0x117 },
-	'wb_glevel4300k' => { 259 => 0x118 },
-	'wb_glevel4500k' => { 259 => 0x119 },
-	'wb_glevel4800k' => { 259 => 0x11a },
-	'wb_glevel5300k' => { 259 => 0x11b },
-	'wb_glevel6000k' => { 259 => 0x11c },
-	'wb_glevel6600k' => { 259 => 0x11d },
-	'wb_glevel7500k' => { 259 => 0x11e },
-	'wb_grbglevels' => { 178 => 0x0 },
-	'wb_rbgglevels' => { 175 => 0x0 },
-	'wb_rblevels' => { 196 => 0xc, 259 => 0x100 },
-	'wb_rblevels1' => { 281 => 0x2 },
-	'wb_rblevels2' => { 281 => 0x5 },
-	'wb_rblevels3' => { 281 => 0x8 },
-	'wb_rblevels3000k' => { 259 => 0x102 },
-	'wb_rblevels3300k' => { 259 => 0x103 },
-	'wb_rblevels3500k' => { 165 => 0x430 },
-	'wb_rblevels3600k' => { 259 => 0x104 },
-	'wb_rblevels3900k' => { 259 => 0x105 },
-	'wb_rblevels4' => { 281 => 0xb },
-	'wb_rblevels4000k' => { 259 => 0x106 },
-	'wb_rblevels4300k' => { 259 => 0x107 },
-	'wb_rblevels4500k' => { 259 => 0x108 },
-	'wb_rblevels4800k' => { 259 => 0x109 },
-	'wb_rblevels5' => { 281 => 0xe },
-	'wb_rblevels5300k' => { 259 => 0x10a },
-	'wb_rblevels6' => { 281 => 0x11 },
-	'wb_rblevels6000k' => { 259 => 0x10b },
-	'wb_rblevels6500k' => { 165 => 0x420 },
-	'wb_rblevels6600k' => { 259 => 0x10c },
-	'wb_rblevels7' => { 281 => 0x14 },
-	'wb_rblevels7500k' => { 259 => 0x10d },
-	'wb_rblevelsauto' => { 263 => 0x110 },
-	'wb_rblevelscloudy' => { 165 => 0x3f0, 167 => 0x10, 263 => 0x121 },
-	'wb_rblevelscoolwhitef' => { 165 => 0x308, 167 => 0x14 },
-	'wb_rblevelscoolwhitefluor' => { 263 => 0x132 },
-	'wb_rblevelscustom' => { 165 => 0x424 },
-	'wb_rblevelscwb1' => { 259 => 0x10e },
-	'wb_rblevelscwb2' => { 259 => 0x10f },
-	'wb_rblevelscwb3' => { 259 => 0x110 },
-	'wb_rblevelscwb4' => { 259 => 0x111 },
-	'wb_rblevelsdaylight' => { 165 => [0x3ec,0x528], 167 => 0xc },
-	'wb_rblevelsdaylightf' => { 167 => 0x24 },
-	'wb_rblevelsdaylightfluor' => { 263 => 0x130 },
-	'wb_rblevelsdaywhitef' => { 167 => 0x28 },
-	'wb_rblevelsdaywhitefluor' => { 263 => 0x131 },
-	'wb_rblevelseveningsunlight' => { 263 => 0x124 },
-	'wb_rblevelsfineweather' => { 263 => 0x122 },
-	'wb_rblevelsflash' => { 165 => [0x3f4,0x304], 167 => 0x18 },
-	'wb_rblevelsshade' => { 165 => 0x418, 167 => 0x20, 263 => 0x120 },
-	'wb_rblevelstungsten' => { 165 => 0x3e8, 167 => 0x8, 263 => 0x123 },
-	'wb_rblevelsunknown' => { 167 => 0x1c },
-	'wb_rblevelsused' => { 263 => 0x100 },
-	'wb_rblevelswhitef' => { 167 => 0x2c },
-	'wb_rblevelswhitefluorescent' => { 263 => 0x133 },
-	'wb_redlevel3500k' => { 165 => 0x198 },
-	'wb_redlevel6500k' => { 165 => 0x188 },
-	'wb_redlevelcustom' => { 165 => 0x18c },
-	'wb_redlevelscloudy' => { 165 => 0xf8 },
-	'wb_redlevelsdaylight' => { 165 => 0xdc },
-	'wb_redlevelsflash' => { 165 => 0x114 },
-	'wb_redlevelsfluorescent' => { 165 => [0x3fc,0x14c] },
-	'wb_redlevelskelvin' => { 165 => 0x1be },
-	'wb_redlevelsshade' => { 165 => 0x168 },
-	'wb_redlevelstungsten' => { 165 => 0xc0 },
-	'wb_rgbglevels' => { 177 => 0x0 },
-	'wb_rgblevels' => { 165 => [0x546,0x96], 273 => 0xd, 274 => 0x413, 278 => 0x3036, 319 => 0x107, 371 => 0x117c, 372 => 0x1180, 373 => 0x115c, 374 => 0x11d8, 375 => 0x11b4, 376 => 0x106c, 377 => 0x264, 378 => 0x264 },
-	'wb_rgblevels1' => { 282 => 0x2 },
-	'wb_rgblevels2' => { 282 => 0x6 },
-	'wb_rgblevels3' => { 282 => 0xa },
-	'wb_rgblevels4' => { 282 => 0xe },
-	'wb_rgblevels5' => { 282 => 0x12 },
-	'wb_rgblevels6' => { 282 => 0x16 },
-	'wb_rgblevels7' => { 282 => 0x1a },
-	'wb_rggbblacklevels' => { 32 => 0x25 },
-	'wb_rggblevels' => { 168 => 0x4, 176 => 0x0 },
-	'wb_rggblevelsasshot' => { 34 => 0x0, 35 => 0x19, 36 => 0x22, 37 => 0x3f, 40 => 0x3f, 41 => 0x3f, 42 => 0x3f },
-	'wb_rggblevelsauto' => { 32 => 0x1, 34 => 0x5, 35 => 0x1e, 36 => 0x18, 37 => 0x44, 40 => 0x44, 41 => 0x44, 42 => 0x44, 341 => 0xa022 },
-	'wb_rggblevelsblack' => { 341 => 0xa028 },
-	'wb_rggblevelscloudy' => { 32 => 0xd, 34 => 0x1e, 35 => 0x2d, 36 => 0x31, 37 => 0x58, 40 => 0x71, 41 => 0x8a, 42 => 0x8f, 310 => 0x20f, 318 => 0x14 },
-	'wb_rggblevelscustom' => { 32 => 0x1d, 37 => 0x80 },
-	'wb_rggblevelscustom1' => { 35 => 0x41 },
-	'wb_rggblevelscustom2' => { 35 => 0x46 },
-	'wb_rggblevelsdaylight' => { 32 => 0x5, 34 => 0x14, 35 => 0x23, 36 => 0x27, 37 => 0x4e, 40 => 0x67, 41 => 0x80, 42 => 0x85, 310 => 0x20d, 318 => 0x2 },
-	'wb_rggblevelsflash' => { 32 => 0x19, 34 => 0x32, 35 => 0x3c, 36 => 0x45, 37 => 0x6c, 40 => 0x85, 41 => 0x9e, 42 => 0xa3, 310 => 0x214, 318 => 0x41 },
-	'wb_rggblevelsfluorescent' => { 32 => 0x15, 34 => 0x28, 35 => 0x37, 36 => 0x3b, 37 => 0x62, 40 => 0x7b, 41 => 0x94, 42 => 0x99 },
-	'wb_rggblevelsfluorescentd' => { 310 => 0x211, 318 => 0x26 },
-	'wb_rggblevelsfluorescentl' => { 318 => 0x4a },
-	'wb_rggblevelsfluorescentn' => { 310 => 0x212, 318 => 0x2f },
-	'wb_rggblevelsfluorescentw' => { 310 => 0x213, 318 => 0x38 },
-	'wb_rggblevelsilluminator1' => { 341 => 0xa023 },
-	'wb_rggblevelsilluminator2' => { 341 => 0xa024 },
-	'wb_rggblevelskelvin' => { 32 => 0x21, 34 => 0x2d, 36 => 0x40, 37 => 0x67, 40 => 0x80, 41 => 0x99, 42 => 0x9e },
-	'wb_rggblevelsmeasured' => { 34 => 0xa, 37 => 0x49, 40 => 0x49, 41 => 0x49, 42 => 0x49 },
-	'wb_rggblevelspc1' => { 36 => 0x90, 37 => 0x71 },
-	'wb_rggblevelspc2' => { 36 => 0x95, 37 => 0x76 },
-	'wb_rggblevelspc3' => { 36 => 0x9a, 37 => 0x7b },
-	'wb_rggblevelsshade' => { 32 => 0x9, 34 => 0x19, 35 => 0x28, 36 => 0x2c, 37 => 0x53, 40 => 0x6c, 41 => 0x85, 42 => 0x8a, 310 => 0x20e, 318 => 0xb },
-	'wb_rggblevelstungsten' => { 32 => 0x11, 34 => 0x23, 35 => 0x32, 36 => 0x36, 37 => 0x5d, 40 => 0x76, 41 => 0x8f, 42 => 0x94, 310 => 0x210, 318 => 0x1d },
-	'wb_rggblevelsuncorrected' => { 341 => 0xa021 },
-	'wb_rggblevelsunknown' => { 34 => 0xf, 36 => 0x1d, 40 => 0x4e, 41 => 0x4e, 42 => 0x4e, 318 => 0x53 },
-	'wb_rggblevelsunknown10' => { 34 => 0x5f, 36 => 0x72, 40 => 0x9e, 41 => 0x7b, 42 => 0x7b },
-	'wb_rggblevelsunknown11' => { 34 => 0x64, 36 => 0x77, 40 => 0xa3, 41 => 0xa3, 42 => 0x80 },
-	'wb_rggblevelsunknown12' => { 34 => 0x69, 36 => 0x7c, 40 => 0xa8, 41 => 0xa8, 42 => 0xa8 },
-	'wb_rggblevelsunknown13' => { 34 => 0x6e, 36 => 0x81, 40 => 0xad, 41 => 0xad, 42 => 0xad },
-	'wb_rggblevelsunknown14' => { 36 => 0x86, 40 => 0xb2, 41 => 0xb2, 42 => 0xb2 },
-	'wb_rggblevelsunknown15' => { 36 => 0x8b, 40 => 0xb7, 41 => 0xb7, 42 => 0xb7 },
-	'wb_rggblevelsunknown16' => { 36 => 0x9f, 41 => 0xbc, 42 => 0xbc },
-	'wb_rggblevelsunknown17' => { 41 => 0xc1, 42 => 0xc1 },
-	'wb_rggblevelsunknown18' => { 41 => 0xc6, 42 => 0xc6 },
-	'wb_rggblevelsunknown19' => { 41 => 0xcb, 42 => 0xcb },
-	'wb_rggblevelsunknown2' => { 34 => 0x37, 36 => 0x4a, 40 => 0x53, 41 => 0x53, 42 => 0x53 },
-	'wb_rggblevelsunknown20' => { 41 => 0xd0, 42 => 0xd0 },
-	'wb_rggblevelsunknown21' => { 42 => 0xd5 },
-	'wb_rggblevelsunknown22' => { 42 => 0xda },
-	'wb_rggblevelsunknown23' => { 42 => 0xdf },
-	'wb_rggblevelsunknown24' => { 42 => 0xe4 },
-	'wb_rggblevelsunknown25' => { 42 => 0xe9 },
-	'wb_rggblevelsunknown26' => { 42 => 0xee },
-	'wb_rggblevelsunknown27' => { 42 => 0xf3 },
-	'wb_rggblevelsunknown28' => { 42 => 0xf8 },
-	'wb_rggblevelsunknown29' => { 42 => 0xfd },
-	'wb_rggblevelsunknown3' => { 34 => 0x3c, 36 => 0x4f, 40 => 0x58, 41 => 0x58, 42 => 0x58 },
-	'wb_rggblevelsunknown30' => { 42 => 0x102 },
-	'wb_rggblevelsunknown4' => { 34 => 0x41, 36 => 0x54, 40 => 0x5d, 41 => 0x5d, 42 => 0x5d },
-	'wb_rggblevelsunknown5' => { 34 => 0x46, 36 => 0x59, 40 => 0x62, 41 => 0x62, 42 => 0x62 },
-	'wb_rggblevelsunknown6' => { 34 => 0x4b, 36 => 0x5e, 40 => 0x8a, 41 => 0x67, 42 => 0x67 },
-	'wb_rggblevelsunknown7' => { 34 => 0x50, 36 => 0x63, 40 => 0x8f, 41 => 0x6c, 42 => 0x6c },
-	'wb_rggblevelsunknown8' => { 34 => 0x55, 36 => 0x68, 40 => 0x94, 41 => 0x71, 42 => 0x71 },
-	'wb_rggblevelsunknown9' => { 34 => 0x5a, 36 => 0x6d, 40 => 0x99, 41 => 0x76, 42 => 0x76 },
-	'wb_rggblevelsuserselected' => { 318 => 0x5c },
-	'wbadjblueamber' => { 92 => 0x20106 },
-	'wbadjbluebalance' => { 240 => 0x8 },
-	'wbadjcolortemp' => { 92 => 0x20102, 97 => 0x1a },
-	'wbadjlighting' => { 240 => 0x14 },
-	'wbadjmagentagreen' => { 92 => 0x20105 },
-	'wbadjmode' => { 240 => 0x10 },
-	'wbadjredbalance' => { 240 => 0x0 },
-	'wbadjrggblevels' => { 92 => 0x20125, 97 => 0x6 },
-	'wbadjtemperature' => { 240 => 0x18 },
-	'wbadjtint' => { 240 => 0x25 },
-	'wbbluelevel' => { 272 => 0x324, 276 => 0x8006, 280 => 0x26 },
-	'wbbracketingsteps' => { 213 => 0x174d, 214 => 0x87c, 222 => 0x1757 },
-	'wbbracketmode' => { 49 => 0x9 },
-	'wbbracketshotnumber' => { 165 => 0x2b, 335 => 0x101a },
-	'wbbracketvalueab' => { 49 => 0xc },
-	'wbbracketvaluegm' => { 49 => 0xd },
-	'wbfinetuneactive' => { 97 => 0x24 },
-	'wbfinetunesaturation' => { 97 => 0x28 },
-	'wbfinetunetone' => { 97 => 0x2c },
-	'wbgreenlevel' => { 272 => 0x323, 276 => 0x8005, 280 => 0x25 },
-	'wbmediaimagesizesetting' => { 73 => 0x708 },
-	'wbmode' => { 167 => 0x4, 260 => 0x1015 },
-	'wbredlevel' => { 272 => 0x322, 276 => 0x8004, 280 => 0x24 },
-	'wbscale' => { 168 => 0x0 },
-	'wbshiftab' => { 65 => 0xc, 276 => 0x46, 292 => 0x10 },
-	'wbshiftab_gm' => { 364 => 0x2014 },
-	'wbshiftab_gm_precise' => { 364 => 0x2026 },
-	'wbshiftgm' => { 65 => 0xd, 276 => 0x47, 292 => 0x11 },
-	'wbtype1' => { 281 => 0x1, 282 => 0x1 },
-	'wbtype2' => { 281 => 0x4, 282 => 0x5 },
-	'wbtype3' => { 281 => 0x7, 282 => 0x9 },
-	'wbtype4' => { 281 => 0xa, 282 => 0xd },
-	'wbtype5' => { 281 => 0xd, 282 => 0x11 },
-	'wbtype6' => { 281 => 0x10, 282 => 0x15 },
-	'wbtype7' => { 281 => 0x13, 282 => 0x19 },
-	'webstatement' => { 436 => 'WebStatement' },
-	'what' => { 408 => 'What' },
-	'whitebalance' => { 6 => 0x6f, 7 => [0x44,0x4a], 8 => 0xbc, 9 => 0x36, 10 => 0x5e, 11 => 0x36, 12 => 0x78, 13 => 0x6f, 14 => 0x6f, 15 => 0x73, 16 => 0x6f, 17 => 0x78, 18 => 0x54, 19 => 0x6f, 20 => 0xbc, 21 => 0x7b, 23 => 0xbc, 24 => 0xc2, 26 => 0x77, 65 => 0x8, 67 => 0x7, 101 => 0x7, 102 => [0x19,0x2012], 107 => [0xa403,0xfe4e], 112 => 0x1002, 121 => 0x3fc, 122 => 0xfa0d, 123 => 0x40, 159 => 0x3, 160 => 0xe, 161 => 0x4, 162 => 0xb, 164 => 0x115, 196 => 0x5, 224 => 0x7, 272 => 0x304, 276 [...]
-	'whitebalance0' => { 155 => 'WhiteBalance0' },
-	'whitebalance1' => { 155 => 'WhiteBalance1' },
-	'whitebalance2' => { 155 => 'WhiteBalance2', 255 => 0x500 },
-	'whitebalanceadj' => { 92 => 0x20101, 97 => 0x18, 234 => 0x76a43204 },
-	'whitebalanceautoadjustment' => { 288 => 0x0 },
-	'whitebalancebias' => { 102 => 0x2011, 260 => 0x304, 276 => 0x23 },
-	'whitebalanceblue' => { 65 => 0x7 },
-	'whitebalancebracket' => { 255 => 0x502, 260 => 0x303 },
-	'whitebalancebracketing' => { 162 => 0x22, 165 => 0x2c, 363 => 0x2c },
-	'whitebalancecomp' => { 263 => 0x1001 },
-	'whitebalancefinetune' => { 112 => 0x100a, 162 => 0x38, 164 => 0x112, 196 => 0xb, 335 => 0x1004, 352 => 0x6, 353 => 0x5, 364 => 0x112 },
-	'whitebalancemode' => { 310 => 0x1a },
-	'whitebalancered' => { 65 => 0x6 },
-	'whitebalanceset' => { 291 => 0xa },
-	'whitebalancesetting' => { 162 => 0x23, 352 => 0x5, 353 => 0x4, 354 => 0x16, 368 => 0xd },
-	'whitebalancetemperature' => { 255 => 0x501 },
-	'whiteboard' => { 260 => 0x301 },
-	'whitelevel' => { 107 => 0xc61d, 310 => 0x7e },
-	'whitepoint' => { 107 => 0x13e, 310 => 0x201, 428 => 'WhitePoint' },
-	'whites2012' => { 408 => 'Whites2012' },
-	'wideadapter' => { 335 => 0x1017 },
-	'widefocuszone' => { 159 => 0x2f },
-	'widerange' => { 343 => 0x20f },
-	'windowsatom' => { 407 => 'windowsAtom' },
-	'windowsatomextension' => { 407 => [\'windowsAtom','windowsAtomExtension'] },
-	'windowsatominvocationflags' => { 407 => [\'windowsAtom','windowsAtomInvocationFlags'] },
-	'windowsatomuncprojectpath' => { 407 => [\'windowsAtom','windowsAtomUncProjectPath'] },
-	'wordcount' => { 422 => 'wordCount' },
-	'workcolorspace' => { 92 => 0x10200, 97 => 0x270 },
-	'worktodo' => { 414 => 'WorkToDo' },
-	'worldtimelocation' => { 276 => 0x3a, 310 => 0x22, 316 => '0.1' },
-	'writer-editor' => { 115 => 0x7a },
-	'x3filllight' => { 344 => 0x12 },
-	'xml' => { 119 => 'xml ' },
-	'xmp' => { 95 => 0xffff00f6, 108 => 'XMP' },
-	'xmptoolkit' => { 429 => 'xmptk' },
-	'xpauthor' => { 107 => 0x9c9d },
-	'xpcomment' => { 107 => 0x9c9c },
-	'xpkeywords' => { 107 => 0x9c9e },
-	'xposition' => { 107 => 0x11e },
-	'xpsubject' => { 107 => 0x9c9f },
-	'xptitle' => { 107 => 0x9c9b },
-	'xresolution' => { 107 => 0x11a, 118 => 0x3, 325 => 0x0, 428 => 'XResolution' },
-	'xyresolution' => { 111 => 0x3 },
-	'yaw' => { 104 => 0x7 },
-	'yawangle' => { 213 => 0x3513, 222 => 0x36fc },
-	'ycbcrcoefficients' => { 107 => 0x211, 428 => 'YCbCrCoefficients' },
-	'ycbcrpositioning' => { 107 => 0x213, 428 => 'YCbCrPositioning' },
-	'ycbcrsubsampling' => { 107 => 0x212, 428 => 'YCbCrSubSampling' },
-	'yearcreated' => { 123 => 0x10, 132 => 0xc },
-	'yield' => { 424 => 'yield' },
-	'yposition' => { 107 => 0x11f },
-	'yresolution' => { 107 => 0x11b, 118 => 0x5, 325 => 0x4, 428 => 'YResolution' },
-	'zonematching' => { 164 => 0x10a, 167 => [0x3a,0x4a], 364 => 0xb024 },
-	'zonematchingmode' => { 162 => 0x14 },
-	'zonematchingon' => { 161 => 0x75 },
-	'zonematchingvalue' => { 352 => 0x1f },
-	'zoomedpreviewlength' => { 260 => 0xf05 },
-	'zoomedpreviewsize' => { 260 => 0xf06 },
-	'zoomedpreviewstart' => { 260 => 0xf04 },
-	'zoomsourcewidth' => { 31 => 0x24 },
-	'zoomstepcount' => { 258 => 0x300, 260 => 0x100d },
-	'zoomtargetwidth' => { 31 => 0x25 },
+	'timezone' => { 70 => 0x1, 228 => 0x0, 342 => 0xa },
+	'timezonecity' => { 70 => 0x2 },
+	'timezonecode' => { 91 => 0x1 },
+	'timezoneinfo' => { 91 => 0x2 },
+	'timezoneoffset' => { 109 => 0x882a },
+	'tint' => { 413 => 'Tint' },
+	'title' => { 140 => 'Title', 268 => 'Title', 272 => 'Title', 280 => 0x65, 330 => 'Title', 414 => 'title', 424 => 'Title', 435 => 'Title' },
+	'tonecomp' => { 198 => 0x81 },
+	'tonecurve' => { 67 => 0x1, 314 => 0x402, 413 => 'ToneCurve' },
+	'tonecurveactive' => { 99 => 0x110 },
+	'tonecurveadobergb' => { 346 => 0xa043 },
+	'tonecurveadobergbdefault' => { 346 => 0xa041 },
+	'tonecurveblue' => { 413 => 'ToneCurveBlue' },
+	'tonecurvebluex' => { 398 => 0x9003 },
+	'tonecurvebluey' => { 398 => 0x9007 },
+	'tonecurvebrightness' => { 94 => 0x20410 },
+	'tonecurvebrightnessx' => { 398 => 0x9000 },
+	'tonecurvebrightnessy' => { 398 => 0x9004 },
+	'tonecurvecolorspace' => { 98 => 0x0 },
+	'tonecurvecontrast' => { 94 => 0x20411 },
+	'tonecurvefilename' => { 123 => 0x1391 },
+	'tonecurvegreen' => { 413 => 'ToneCurveGreen' },
+	'tonecurvegreenx' => { 398 => 0x9002 },
+	'tonecurvegreeny' => { 398 => 0x9006 },
+	'tonecurveinputrange' => { 98 => 0x3 },
+	'tonecurveinterpolation' => { 99 => 0x159 },
+	'tonecurvemode' => { 99 => 0x113 },
+	'tonecurvename' => { 413 => 'ToneCurveName' },
+	'tonecurvename2012' => { 413 => 'ToneCurveName2012' },
+	'tonecurveoriginal' => { 94 => '0x20400.1' },
+	'tonecurveoutputrange' => { 98 => 0x5 },
+	'tonecurveproperty' => { 99 => 0x3c },
+	'tonecurvepv2012' => { 413 => 'ToneCurvePV2012' },
+	'tonecurvepv2012blue' => { 413 => 'ToneCurvePV2012Blue' },
+	'tonecurvepv2012green' => { 413 => 'ToneCurvePV2012Green' },
+	'tonecurvepv2012red' => { 413 => 'ToneCurvePV2012Red' },
+	'tonecurvered' => { 413 => 'ToneCurveRed' },
+	'tonecurveredx' => { 398 => 0x9001 },
+	'tonecurveredy' => { 398 => 0x9005 },
+	'tonecurves' => { 314 => 0x403 },
+	'tonecurveshape' => { 98 => 0x1 },
+	'tonecurvesrgb' => { 346 => 0xa042 },
+	'tonecurvesrgbdefault' => { 346 => 0xa040 },
+	'tonecurvex' => { 98 => 0xa },
+	'tonecurvey' => { 98 => 0xb },
+	'tonelevel' => { 259 => 0x52e },
+	'tonemapstrength' => { 413 => 'ToneMapStrength' },
+	'toningeffect' => { 51 => 0xf, 198 => 0xb3, 200 => 0x38, 201 => 0x40, 339 => 0x1015 },
+	'toningeffectauto' => { 64 => 0xa4 },
+	'toningeffectfaithful' => { 63 => 0x74, 64 => 0x74 },
+	'toningeffectlandscape' => { 63 => 0x44, 64 => 0x44 },
+	'toningeffectmonochrome' => { 18 => 0x108, 63 => 0x8c, 64 => 0x8c },
+	'toningeffectneutral' => { 63 => 0x5c, 64 => 0x5c },
+	'toningeffectportrait' => { 63 => 0x2c, 64 => 0x2c },
+	'toningeffectstandard' => { 63 => 0x14, 64 => 0x14 },
+	'toningeffectuserdef1' => { 63 => 0xa4, 64 => 0xbc },
+	'toningeffectuserdef2' => { 63 => 0xbc, 64 => 0xd4 },
+	'toningeffectuserdef3' => { 63 => 0xd4, 64 => 0xec },
+	'toningsaturation' => { 200 => 0x39, 201 => 0x41 },
+	'totalzoom' => { 125 => 0x62 },
+	'touchae' => { 280 => 0xab },
+	'trackcreatedate' => { 334 => 0x1 },
+	'trackmodifydate' => { 334 => 0x2 },
+	'tracknumber' => { 437 => 'trackNumber' },
+	'tracks' => { 437 => 'Tracks' },
+	'tracksframerate' => { 437 => [\'Tracks','TracksFrameRate'] },
+	'tracksmarkers' => { 437 => [\'Tracks','TracksMarkers'] },
+	'tracksmarkerscomment' => { 437 => [\'Tracks','TracksMarkersComment'] },
+	'tracksmarkerscuepointparams' => { 437 => [\'Tracks','TracksMarkersCuePointParams'] },
+	'tracksmarkerscuepointparamskey' => { 437 => [\'Tracks','TracksMarkersCuePointParamsKey'] },
+	'tracksmarkerscuepointparamsvalue' => { 437 => [\'Tracks','TracksMarkersCuePointParamsValue'] },
+	'tracksmarkerscuepointtype' => { 437 => [\'Tracks','TracksMarkersCuePointType'] },
+	'tracksmarkersduration' => { 437 => [\'Tracks','TracksMarkersDuration'] },
+	'tracksmarkerslocation' => { 437 => [\'Tracks','TracksMarkersLocation'] },
+	'tracksmarkersname' => { 437 => [\'Tracks','TracksMarkersName'] },
+	'tracksmarkersprobability' => { 437 => [\'Tracks','TracksMarkersProbability'] },
+	'tracksmarkersspeaker' => { 437 => [\'Tracks','TracksMarkersSpeaker'] },
+	'tracksmarkersstarttime' => { 437 => [\'Tracks','TracksMarkersStartTime'] },
+	'tracksmarkerstarget' => { 437 => [\'Tracks','TracksMarkersTarget'] },
+	'tracksmarkerstype' => { 437 => [\'Tracks','TracksMarkersType'] },
+	'trackstrackname' => { 437 => [\'Tracks','TracksTrackName'] },
+	'trackstracktype' => { 437 => [\'Tracks','TracksTrackType'] },
+	'trailersignature' => { 147 => 'zmie' },
+	'transferfunction' => { 109 => 0x12d, 433 => 'TransferFunction' },
+	'transform' => { 280 => [0x8012,0x59] },
+	'transmissionreference' => { 425 => 'TransmissionReference' },
+	'trapped' => { 268 => 'Trapped', 424 => 'Trapped' },
+	'trashbuttonfunction' => { 75 => 0x710 },
+	'travelday' => { 280 => 0x36 },
+	'triggermode' => { 335 => 0x6 },
+	'tstop' => { 109 => 0xc772 },
+	'ttl_da_adown' => { 302 => 0x5 },
+	'ttl_da_aup' => { 302 => 0x4 },
+	'ttl_da_bdown' => { 302 => 0x7 },
+	'ttl_da_bup' => { 302 => 0x6 },
+	'tungstenawb' => { 292 => 0x1 },
+	'tvexposuretimesetting' => { 295 => 0x12 },
+	'type' => { 414 => 'type', 432 => 'type' },
+	'typestatus' => { 108 => [\'Identification','IdentificationTypeStatus'] },
+	'uniquecameramodel' => { 109 => 0xc614 },
+	'uniquedocumentid' => { 117 => 0xbb },
+	'uniqueobjectname' => { 118 => 0x64 },
+	'unknownblock' => { 314 => 0x405 },
+	'unknownblock1' => { 263 => 0x635 },
+	'unknownblock2' => { 263 => 0x636 },
+	'unknownblock3' => { 263 => 0x1103 },
+	'unknownblock4' => { 263 => 0x1104 },
+	'unknowncontrast' => { 100 => 0x45 },
+	'unknowndate' => { 323 => 0x212 },
+	'unknownev' => { 123 => 0x1 },
+	'unknownlinear' => { 100 => 0x46 },
+	'unknownnumber' => { 88 => 0x180b },
+	'unknownoutputhighlightpoint' => { 100 => 0x4a },
+	'unknownoutputshadowpoint' => { 100 => 0x4b },
+	'unknownrawhighlight' => { 100 => 0x7b },
+	'unknownrawhighlightpoint' => { 100 => 0x48 },
+	'unknownrawshadow' => { 100 => 0x84 },
+	'unknownrawshadowpoint' => { 100 => 0x49 },
+	'unknownsharpness' => { 100 => 0x47 },
+	'unknowntemperature' => { 111 => 0x4 },
+	'unsharp1color' => { 241 => 0x13 },
+	'unsharp1halowidth' => { 241 => 0x19 },
+	'unsharp1intensity' => { 241 => 0x17 },
+	'unsharp1threshold' => { 241 => 0x1b },
+	'unsharp2color' => { 241 => 0x2e },
+	'unsharp2halowidth' => { 241 => 0x34 },
+	'unsharp2intensity' => { 241 => 0x32 },
+	'unsharp2threshold' => { 241 => 0x36 },
+	'unsharp3color' => { 241 => 0x49 },
+	'unsharp3halowidth' => { 241 => 0x4f },
+	'unsharp3intensity' => { 241 => 0x4d },
+	'unsharp3threshold' => { 241 => 0x51 },
+	'unsharp4color' => { 241 => 0x64 },
+	'unsharp4halowidth' => { 241 => 0x6a },
+	'unsharp4intensity' => { 241 => 0x68 },
+	'unsharp4threshold' => { 241 => 0x6c },
+	'unsharpcount' => { 241 => 0x0 },
+	'unsharpmask' => { 100 => 0x90, 236 => 0x76a43200 },
+	'unsharpmaskfineness' => { 94 => 0x20309 },
+	'unsharpmaskstrength' => { 94 => 0x20308 },
+	'unsharpmaskthreshold' => { 94 => 0x2030a },
+	'uprightcentermode' => { 413 => 'UprightCenterMode' },
+	'uprightcenternormx' => { 413 => 'UprightCenterNormX' },
+	'uprightcenternormy' => { 413 => 'UprightCenterNormY' },
+	'uprightdependentdigest' => { 413 => 'UprightDependentDigest' },
+	'uprightfocallength35mm' => { 413 => 'UprightFocalLength35mm' },
+	'uprightfocalmode' => { 413 => 'UprightFocalMode' },
+	'uprightfoursegmentscount' => { 413 => 'UprightFourSegmentsCount' },
+	'uprightpreview' => { 413 => 'UprightPreview' },
+	'uprighttransform_0' => { 413 => 'UprightTransform_0' },
+	'uprighttransform_1' => { 413 => 'UprightTransform_1' },
+	'uprighttransform_2' => { 413 => 'UprightTransform_2' },
+	'uprighttransform_3' => { 413 => 'UprightTransform_3' },
+	'uprighttransform_4' => { 413 => 'UprightTransform_4' },
+	'uprighttransform_5' => { 413 => 'UprightTransform_5' },
+	'uprighttransformcount' => { 413 => 'UprightTransformCount' },
+	'uprightversion' => { 413 => 'UprightVersion' },
+	'urgency' => { 117 => 0xa, 425 => 'Urgency' },
+	'url' => { 140 => 'URL', 272 => 'URL', 328 => 0x40b, 427 => 'url' },
+	'url_list' => { 328 => 0x41e },
+	'urla-platform' => { 427 => [\'url','urlA-platform'] },
+	'urlurl' => { 427 => [\'url','urlUrl'] },
+	'usablemeteringmodes' => { 75 => 0x10a },
+	'usableshootingmodes' => { 75 => 0x109 },
+	'usage' => { 428 => 'usage' },
+	'usageterms' => { 441 => 'UsageTerms' },
+	'useguidelines' => { 410 => 'useGuidelines' },
+	'usepanoramaviewer' => { 402 => 'UsePanoramaViewer' },
+	'usercomment' => { 88 => 0x805, 109 => 0x9286, 417 => 'UserComment' },
+	'userdef1picturestyle' => { 18 => 0x10c, 63 => 0xd8, 64 => 0xf0 },
+	'userdef2picturestyle' => { 18 => 0x10e, 63 => 0xda, 64 => 0xf2 },
+	'userdef3picturestyle' => { 18 => 0x110, 63 => 0xdc, 64 => 0xf4 },
+	'userfields' => { 405 => 'UserFields' },
+	'userlabel' => { 335 => 0x2b },
+	'userprofile' => { 276 => 0x302, 282 => 0x3038 },
+	'usmlenselectronicmf' => { 2 => 0x7, 74 => 0x7, 75 => 0x501 },
+	'uspsnumber' => { 427 => 'uspsNumber' },
+	'utmeasting' => { 151 => 'Easting' },
+	'utmmapdatum' => { 151 => 'Datum' },
+	'utmnorthing' => { 151 => 'Northing' },
+	'utmzone' => { 151 => 'Zone' },
+	'uv-irfiltercorrection' => { 276 => 0x325 },
+	'validbits' => { 263 => 0x611, 264 => 0x102c },
+	'validpixeldepth' => { 267 => 0x611 },
+	'variousmodes' => { 125 => 0x26 },
+	'variousmodes2' => { 125 => 0x3a },
+	'variprogram' => { 198 => 0xab },
+	'version' => { 114 => 0x0, 330 => 'Version', 413 => 'Version' },
+	'versioncreatedate' => { 398 => 0xd100 },
+	'versionid' => { 438 => 'VersionID' },
+	'versionidentifier' => { 427 => 'versionIdentifier' },
+	'versionmodifydate' => { 398 => 0xd101 },
+	'versions' => { 438 => 'Versions' },
+	'versionscomments' => { 438 => [\'Versions','VersionsComments'] },
+	'versionsevent' => { 438 => [\'Versions','VersionsEvent'] },
+	'versionseventaction' => { 438 => [\'Versions','VersionsEventAction'] },
+	'versionseventchanged' => { 438 => [\'Versions','VersionsEventChanged'] },
+	'versionseventinstanceid' => { 438 => [\'Versions','VersionsEventInstanceID'] },
+	'versionseventparameters' => { 438 => [\'Versions','VersionsEventParameters'] },
+	'versionseventsoftwareagent' => { 438 => [\'Versions','VersionsEventSoftwareAgent'] },
+	'versionseventwhen' => { 438 => [\'Versions','VersionsEventWhen'] },
+	'versionsmodifier' => { 438 => [\'Versions','VersionsModifier'] },
+	'versionsmodifydate' => { 438 => [\'Versions','VersionsModifyDate'] },
+	'versionsversion' => { 438 => [\'Versions','VersionsVersion'] },
+	'verticalafonbutton' => { 243 => '3.2', 244 => '47.2', 246 => '79.1' },
+	'verticalfuncbutton' => { 244 => '42.2', 246 => '67.1' },
+	'verticalfuncbuttonplusdials' => { 244 => '43.1' },
+	'verticalfuncplusdials' => { 246 => '68.1' },
+	'verticalmultiselector' => { 244 => '42.1', 246 => '66.1', 247 => '66.1' },
+	'vfdisplayillumination' => { 2 => 0x11, 75 => [0x510,0x51d] },
+	'vibrance' => { 406 => 'Vibrance', 413 => 'Vibrance' },
+	'vibrationreduction' => { 206 => [0x75,0x82,0x1ae], 214 => '586.1', 222 => '590.2', 227 => 0x4 },
+	'videoalphamode' => { 437 => 'videoAlphaMode' },
+	'videoalphapremultiplecolor' => { 437 => 'videoAlphaPremultipleColor' },
+	'videoalphapremultiplecolora' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorA'] },
+	'videoalphapremultiplecolorb' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorB'] },
+	'videoalphapremultiplecolorblack' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlack'] },
+	'videoalphapremultiplecolorblue' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorBlue'] },
+	'videoalphapremultiplecolorcyan' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorCyan'] },
+	'videoalphapremultiplecolorgray' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorGray'] },
+	'videoalphapremultiplecolorgreen' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorGreen'] },
+	'videoalphapremultiplecolorl' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorL'] },
+	'videoalphapremultiplecolormagenta' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMagenta'] },
+	'videoalphapremultiplecolormode' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorMode'] },
+	'videoalphapremultiplecolorred' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorRed'] },
+	'videoalphapremultiplecolorswatchname' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorSwatchName'] },
+	'videoalphapremultiplecolortint' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorTint'] },
+	'videoalphapremultiplecolortype' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorType'] },
+	'videoalphapremultiplecoloryellow' => { 437 => [\'videoAlphaPremultipleColor','videoAlphaPremultipleColorYellow'] },
+	'videoalphaunityistransparent' => { 437 => 'videoAlphaUnityIsTransparent' },
+	'videocodec' => { 60 => 0x74 },
+	'videocolorspace' => { 437 => 'videoColorSpace' },
+	'videocompressor' => { 437 => 'videoCompressor' },
+	'videofieldorder' => { 437 => 'videoFieldOrder' },
+	'videoframerate' => { 437 => 'videoFrameRate' },
+	'videoframesize' => { 437 => 'videoFrameSize' },
+	'videoframesizeh' => { 437 => [\'videoFrameSize','videoFrameSizeH'] },
+	'videoframesizeunit' => { 437 => [\'videoFrameSize','videoFrameSizeUnit'] },
+	'videoframesizew' => { 437 => [\'videoFrameSize','videoFrameSizeW'] },
+	'videomoddate' => { 437 => 'videoModDate' },
+	'videopixelaspectratio' => { 437 => 'videoPixelAspectRatio' },
+	'videopixeldepth' => { 437 => 'videoPixelDepth' },
+	'videoquality' => { 104 => 0x4003 },
+	'viewfinderdisplay' => { 243 => '12.4', 244 => '6.3' },
+	'viewfinderwarning' => { 243 => '13.4', 253 => '3.5', 254 => '6.2', 257 => '4.4' },
+	'viewfinderwarnings' => { 75 => 0x40a },
+	'viewinfoduringexposure' => { 75 => 0x407 },
+	'viewingmode' => { 359 => 0x2f, 373 => 0x18 },
+	'viewingmode2' => { 359 => [0x85,0x285] },
+	'viewpoint' => { 426 => 'viewpoint' },
+	'vignetteamount' => { 413 => 'VignetteAmount' },
+	'vignettecontrol' => { 198 => 0x2a, 236 => 0x76a43205 },
+	'vignettecontrolintensity' => { 236 => 0xac6bd5c0 },
+	'vignettecorrectionalreadyapplied' => { 409 => 'VignetteCorrectionAlreadyApplied' },
+	'vignettemidpoint' => { 413 => 'VignetteMidpoint' },
+	'vignetting' => { 339 => 0x1011, 346 => 0xa052 },
+	'vignettingcorrection' => { 346 => 0xa053, 369 => 0x2011 },
+	'vignettingsetting' => { 346 => 0xa054 },
+	'visualtechnique' => { 426 => 'visualTechnique' },
+	'voicememo' => { 348 => 0x216 },
+	'volume' => { 427 => 'volume' },
+	'vr_0x66' => { 206 => 0x66 },
+	'vrdoffset' => { 57 => 0xd0 },
+	'vrmode' => { 227 => 0x6 },
+	'waterdepth' => { 109 => 0x9403 },
+	'wb_bluelevel3500k' => { 167 => 0x19a },
+	'wb_bluelevel6500k' => { 167 => 0x18a },
+	'wb_bluelevelcustom' => { 167 => 0x18e },
+	'wb_bluelevelscloudy' => { 167 => 0x106 },
+	'wb_bluelevelsdaylight' => { 167 => 0xea },
+	'wb_bluelevelsflash' => { 167 => 0x122 },
+	'wb_bluelevelsfluorescent' => { 167 => [0x40a,0x15a] },
+	'wb_bluelevelskelvin' => { 167 => 0x254 },
+	'wb_bluelevelsshade' => { 167 => 0x176 },
+	'wb_bluelevelstungsten' => { 167 => 0xce },
+	'wb_gbrglevels' => { 167 => 0xae, 170 => 0x4 },
+	'wb_glevel' => { 263 => 0x11f },
+	'wb_glevel3000k' => { 263 => 0x113 },
+	'wb_glevel3300k' => { 263 => 0x114 },
+	'wb_glevel3600k' => { 263 => 0x115 },
+	'wb_glevel3900k' => { 263 => 0x116 },
+	'wb_glevel4000k' => { 263 => 0x117 },
+	'wb_glevel4300k' => { 263 => 0x118 },
+	'wb_glevel4500k' => { 263 => 0x119 },
+	'wb_glevel4800k' => { 263 => 0x11a },
+	'wb_glevel5300k' => { 263 => 0x11b },
+	'wb_glevel6000k' => { 263 => 0x11c },
+	'wb_glevel6600k' => { 263 => 0x11d },
+	'wb_glevel7500k' => { 263 => 0x11e },
+	'wb_grbglevels' => { 180 => 0x0 },
+	'wb_rbgglevels' => { 177 => 0x0 },
+	'wb_rblevels' => { 198 => 0xc, 263 => 0x100 },
+	'wb_rblevels1' => { 285 => 0x2 },
+	'wb_rblevels2' => { 285 => 0x5 },
+	'wb_rblevels3' => { 285 => 0x8 },
+	'wb_rblevels3000k' => { 263 => 0x102 },
+	'wb_rblevels3300k' => { 263 => 0x103 },
+	'wb_rblevels3500k' => { 167 => 0x430 },
+	'wb_rblevels3600k' => { 263 => 0x104 },
+	'wb_rblevels3900k' => { 263 => 0x105 },
+	'wb_rblevels4' => { 285 => 0xb },
+	'wb_rblevels4000k' => { 263 => 0x106 },
+	'wb_rblevels4300k' => { 263 => 0x107 },
+	'wb_rblevels4500k' => { 263 => 0x108 },
+	'wb_rblevels4800k' => { 263 => 0x109 },
+	'wb_rblevels5' => { 285 => 0xe },
+	'wb_rblevels5300k' => { 263 => 0x10a },
+	'wb_rblevels6' => { 285 => 0x11 },
+	'wb_rblevels6000k' => { 263 => 0x10b },
+	'wb_rblevels6500k' => { 167 => 0x420 },
+	'wb_rblevels6600k' => { 263 => 0x10c },
+	'wb_rblevels7' => { 285 => 0x14 },
+	'wb_rblevels7500k' => { 263 => 0x10d },
+	'wb_rblevelsauto' => { 267 => 0x110 },
+	'wb_rblevelscloudy' => { 167 => 0x3f0, 169 => 0x10, 267 => 0x121 },
+	'wb_rblevelscoolwhitef' => { 167 => 0x308, 169 => 0x14 },
+	'wb_rblevelscoolwhitefluor' => { 267 => 0x132 },
+	'wb_rblevelscustom' => { 167 => 0x424 },
+	'wb_rblevelscwb1' => { 263 => 0x10e },
+	'wb_rblevelscwb2' => { 263 => 0x10f },
+	'wb_rblevelscwb3' => { 263 => 0x110 },
+	'wb_rblevelscwb4' => { 263 => 0x111 },
+	'wb_rblevelsdaylight' => { 167 => [0x3ec,0x528], 169 => 0xc },
+	'wb_rblevelsdaylightf' => { 169 => 0x24 },
+	'wb_rblevelsdaylightfluor' => { 267 => 0x130 },
+	'wb_rblevelsdaywhitef' => { 169 => 0x28 },
+	'wb_rblevelsdaywhitefluor' => { 267 => 0x131 },
+	'wb_rblevelseveningsunlight' => { 267 => 0x124 },
+	'wb_rblevelsfineweather' => { 267 => 0x122 },
+	'wb_rblevelsflash' => { 167 => [0x3f4,0x304], 169 => 0x18 },
+	'wb_rblevelsshade' => { 167 => 0x418, 169 => 0x20, 267 => 0x120 },
+	'wb_rblevelstungsten' => { 167 => 0x3e8, 169 => 0x8, 267 => 0x123 },
+	'wb_rblevelsunknown' => { 169 => 0x1c },
+	'wb_rblevelsused' => { 267 => 0x100 },
+	'wb_rblevelswhitef' => { 169 => 0x2c },
+	'wb_rblevelswhitefluorescent' => { 267 => 0x133 },
+	'wb_redlevel3500k' => { 167 => 0x198 },
+	'wb_redlevel6500k' => { 167 => 0x188 },
+	'wb_redlevelcustom' => { 167 => 0x18c },
+	'wb_redlevelscloudy' => { 167 => 0xf8 },
+	'wb_redlevelsdaylight' => { 167 => 0xdc },
+	'wb_redlevelsflash' => { 167 => 0x114 },
+	'wb_redlevelsfluorescent' => { 167 => [0x3fc,0x14c] },
+	'wb_redlevelskelvin' => { 167 => 0x1be },
+	'wb_redlevelsshade' => { 167 => 0x168 },
+	'wb_redlevelstungsten' => { 167 => 0xc0 },
+	'wb_rgbglevels' => { 179 => 0x0 },
+	'wb_rgblevels' => { 167 => [0x546,0x96], 277 => 0xd, 278 => 0x413, 282 => 0x3036, 323 => 0x107, 376 => 0x117c, 377 => 0x1180, 378 => 0x115c, 379 => 0x11d8, 380 => 0x11b4, 381 => 0x106c, 382 => 0x264, 383 => 0x264 },
+	'wb_rgblevels1' => { 286 => 0x2 },
+	'wb_rgblevels2' => { 286 => 0x6 },
+	'wb_rgblevels3' => { 286 => 0xa },
+	'wb_rgblevels4' => { 286 => 0xe },
+	'wb_rgblevels5' => { 286 => 0x12 },
+	'wb_rgblevels6' => { 286 => 0x16 },
+	'wb_rgblevels7' => { 286 => 0x1a },
+	'wb_rggbblacklevels' => { 34 => 0x25 },
+	'wb_rggblevels' => { 170 => 0x4, 178 => 0x0 },
+	'wb_rggblevelsasshot' => { 36 => 0x0, 37 => 0x19, 38 => 0x22, 39 => 0x3f, 42 => 0x3f, 43 => 0x3f, 44 => 0x3f },
+	'wb_rggblevelsauto' => { 34 => 0x1, 36 => 0x5, 37 => 0x1e, 38 => 0x18, 39 => 0x44, 42 => 0x44, 43 => 0x44, 44 => 0x44, 346 => 0xa022 },
+	'wb_rggblevelsblack' => { 346 => 0xa028 },
+	'wb_rggblevelscloudy' => { 34 => 0xd, 36 => 0x1e, 37 => 0x2d, 38 => 0x31, 39 => 0x58, 42 => 0x71, 43 => 0x8a, 44 => 0x8f, 314 => 0x20f, 322 => 0x14 },
+	'wb_rggblevelscustom' => { 34 => 0x1d, 39 => 0x80 },
+	'wb_rggblevelscustom1' => { 37 => 0x41 },
+	'wb_rggblevelscustom2' => { 37 => 0x46 },
+	'wb_rggblevelsdaylight' => { 34 => 0x5, 36 => 0x14, 37 => 0x23, 38 => 0x27, 39 => 0x4e, 42 => 0x67, 43 => 0x80, 44 => 0x85, 314 => 0x20d, 322 => 0x2 },
+	'wb_rggblevelsflash' => { 34 => 0x19, 36 => 0x32, 37 => 0x3c, 38 => 0x45, 39 => 0x6c, 42 => 0x85, 43 => 0x9e, 44 => 0xa3, 314 => 0x214, 322 => 0x41 },
+	'wb_rggblevelsfluorescent' => { 34 => 0x15, 36 => 0x28, 37 => 0x37, 38 => 0x3b, 39 => 0x62, 42 => 0x7b, 43 => 0x94, 44 => 0x99 },
+	'wb_rggblevelsfluorescentd' => { 314 => 0x211, 322 => 0x26 },
+	'wb_rggblevelsfluorescentl' => { 322 => 0x4a },
+	'wb_rggblevelsfluorescentn' => { 314 => 0x212, 322 => 0x2f },
+	'wb_rggblevelsfluorescentw' => { 314 => 0x213, 322 => 0x38 },
+	'wb_rggblevelsilluminator1' => { 346 => 0xa023 },
+	'wb_rggblevelsilluminator2' => { 346 => 0xa024 },
+	'wb_rggblevelskelvin' => { 34 => 0x21, 36 => 0x2d, 38 => 0x40, 39 => 0x67, 42 => 0x80, 43 => 0x99, 44 => 0x9e },
+	'wb_rggblevelsmeasured' => { 36 => 0xa, 39 => 0x49, 42 => 0x49, 43 => 0x49, 44 => 0x49 },
+	'wb_rggblevelspc1' => { 38 => 0x90, 39 => 0x71 },
+	'wb_rggblevelspc2' => { 38 => 0x95, 39 => 0x76 },
+	'wb_rggblevelspc3' => { 38 => 0x9a, 39 => 0x7b },
+	'wb_rggblevelsshade' => { 34 => 0x9, 36 => 0x19, 37 => 0x28, 38 => 0x2c, 39 => 0x53, 42 => 0x6c, 43 => 0x85, 44 => 0x8a, 314 => 0x20e, 322 => 0xb },
+	'wb_rggblevelstungsten' => { 34 => 0x11, 36 => 0x23, 37 => 0x32, 38 => 0x36, 39 => 0x5d, 42 => 0x76, 43 => 0x8f, 44 => 0x94, 314 => 0x210, 322 => 0x1d },
+	'wb_rggblevelsuncorrected' => { 346 => 0xa021 },
+	'wb_rggblevelsunknown' => { 36 => 0xf, 38 => 0x1d, 42 => 0x4e, 43 => 0x4e, 44 => 0x4e, 322 => 0x53 },
+	'wb_rggblevelsunknown10' => { 36 => 0x5f, 38 => 0x72, 42 => 0x9e, 43 => 0x7b, 44 => 0x7b },
+	'wb_rggblevelsunknown11' => { 36 => 0x64, 38 => 0x77, 42 => 0xa3, 43 => 0xa3, 44 => 0x80 },
+	'wb_rggblevelsunknown12' => { 36 => 0x69, 38 => 0x7c, 42 => 0xa8, 43 => 0xa8, 44 => 0xa8 },
+	'wb_rggblevelsunknown13' => { 36 => 0x6e, 38 => 0x81, 42 => 0xad, 43 => 0xad, 44 => 0xad },
+	'wb_rggblevelsunknown14' => { 38 => 0x86, 42 => 0xb2, 43 => 0xb2, 44 => 0xb2 },
+	'wb_rggblevelsunknown15' => { 38 => 0x8b, 42 => 0xb7, 43 => 0xb7, 44 => 0xb7 },
+	'wb_rggblevelsunknown16' => { 38 => 0x9f, 43 => 0xbc, 44 => 0xbc },
+	'wb_rggblevelsunknown17' => { 43 => 0xc1, 44 => 0xc1 },
+	'wb_rggblevelsunknown18' => { 43 => 0xc6, 44 => 0xc6 },
+	'wb_rggblevelsunknown19' => { 43 => 0xcb, 44 => 0xcb },
+	'wb_rggblevelsunknown2' => { 36 => 0x37, 38 => 0x4a, 42 => 0x53, 43 => 0x53, 44 => 0x53 },
+	'wb_rggblevelsunknown20' => { 43 => 0xd0, 44 => 0xd0 },
+	'wb_rggblevelsunknown21' => { 44 => 0xd5 },
+	'wb_rggblevelsunknown22' => { 44 => 0xda },
+	'wb_rggblevelsunknown23' => { 44 => 0xdf },
+	'wb_rggblevelsunknown24' => { 44 => 0xe4 },
+	'wb_rggblevelsunknown25' => { 44 => 0xe9 },
+	'wb_rggblevelsunknown26' => { 44 => 0xee },
+	'wb_rggblevelsunknown27' => { 44 => 0xf3 },
+	'wb_rggblevelsunknown28' => { 44 => 0xf8 },
+	'wb_rggblevelsunknown29' => { 44 => 0xfd },
+	'wb_rggblevelsunknown3' => { 36 => 0x3c, 38 => 0x4f, 42 => 0x58, 43 => 0x58, 44 => 0x58 },
+	'wb_rggblevelsunknown30' => { 44 => 0x102 },
+	'wb_rggblevelsunknown4' => { 36 => 0x41, 38 => 0x54, 42 => 0x5d, 43 => 0x5d, 44 => 0x5d },
+	'wb_rggblevelsunknown5' => { 36 => 0x46, 38 => 0x59, 42 => 0x62, 43 => 0x62, 44 => 0x62 },
+	'wb_rggblevelsunknown6' => { 36 => 0x4b, 38 => 0x5e, 42 => 0x8a, 43 => 0x67, 44 => 0x67 },
+	'wb_rggblevelsunknown7' => { 36 => 0x50, 38 => 0x63, 42 => 0x8f, 43 => 0x6c, 44 => 0x6c },
+	'wb_rggblevelsunknown8' => { 36 => 0x55, 38 => 0x68, 42 => 0x94, 43 => 0x71, 44 => 0x71 },
+	'wb_rggblevelsunknown9' => { 36 => 0x5a, 38 => 0x6d, 42 => 0x99, 43 => 0x76, 44 => 0x76 },
+	'wb_rggblevelsuserselected' => { 322 => 0x5c },
+	'wbadjblueamber' => { 94 => 0x20106 },
+	'wbadjbluebalance' => { 242 => 0x8 },
+	'wbadjcolortemp' => { 94 => 0x20102, 99 => 0x1a },
+	'wbadjlighting' => { 242 => 0x14 },
+	'wbadjmagentagreen' => { 94 => 0x20105 },
+	'wbadjmode' => { 242 => 0x10 },
+	'wbadjredbalance' => { 242 => 0x0 },
+	'wbadjrggblevels' => { 94 => 0x20125, 99 => 0x6 },
+	'wbadjtemperature' => { 242 => 0x18 },
+	'wbadjtint' => { 242 => 0x25 },
+	'wbbluelevel' => { 276 => 0x324, 280 => 0x8006, 284 => 0x26 },
+	'wbbracketingsteps' => { 215 => 0x174d, 216 => 0x87c, 224 => 0x1757 },
+	'wbbracketmode' => { 51 => 0x9 },
+	'wbbracketshotnumber' => { 167 => 0x2b, 339 => 0x101a },
+	'wbbracketvalueab' => { 51 => 0xc },
+	'wbbracketvaluegm' => { 51 => 0xd },
+	'wbfinetuneactive' => { 99 => 0x24 },
+	'wbfinetunesaturation' => { 99 => 0x28 },
+	'wbfinetunetone' => { 99 => 0x2c },
+	'wbgreenlevel' => { 276 => 0x323, 280 => 0x8005, 284 => 0x25 },
+	'wbmediaimagesizesetting' => { 75 => 0x708 },
+	'wbmode' => { 169 => 0x4, 264 => 0x1015 },
+	'wbredlevel' => { 276 => 0x322, 280 => 0x8004, 284 => 0x24 },
+	'wbscale' => { 170 => 0x0 },
+	'wbshiftab' => { 67 => 0xc, 280 => 0x46, 296 => 0x10 },
+	'wbshiftab_gm' => { 369 => 0x2014 },
+	'wbshiftab_gm_precise' => { 369 => 0x2026 },
+	'wbshiftgm' => { 67 => 0xd, 280 => 0x47, 296 => 0x11 },
+	'wbtype1' => { 285 => 0x1, 286 => 0x1 },
+	'wbtype2' => { 285 => 0x4, 286 => 0x5 },
+	'wbtype3' => { 285 => 0x7, 286 => 0x9 },
+	'wbtype4' => { 285 => 0xa, 286 => 0xd },
+	'wbtype5' => { 285 => 0xd, 286 => 0x11 },
+	'wbtype6' => { 285 => 0x10, 286 => 0x15 },
+	'wbtype7' => { 285 => 0x13, 286 => 0x19 },
+	'webstatement' => { 441 => 'WebStatement' },
+	'what' => { 413 => 'What' },
+	'whitebalance' => { 6 => 0x6f, 7 => [0x44,0x4a], 8 => 0xbc, 9 => 0x36, 10 => 0x5e, 11 => 0x36, 12 => 0x78, 13 => 0x6f, 14 => 0x6f, 15 => 0x73, 16 => 0x6f, 17 => 0x78, 18 => 0x54, 19 => 0x6f, 20 => 0xbc, 21 => 0x7b, 23 => 0xbc, 24 => 0xc2, 26 => 0x131, 27 => 0x77, 67 => 0x8, 69 => 0x7, 103 => 0x7, 104 => [0x19,0x2012], 109 => [0xa403,0xfe4e], 114 => 0x1002, 123 => 0x3fc, 124 => 0xfa0d, 125 => 0x40, 161 => 0x3, 162 => 0xe, 163 => 0x4, 164 => 0xb, 166 => 0x115, 198 => 0x5, 226 => 0x7, 276  [...]
+	'whitebalance0' => { 157 => 'WhiteBalance0' },
+	'whitebalance1' => { 157 => 'WhiteBalance1' },
+	'whitebalance2' => { 157 => 'WhiteBalance2', 259 => 0x500 },
+	'whitebalanceadj' => { 94 => 0x20101, 99 => 0x18, 236 => 0x76a43204 },
+	'whitebalanceautoadjustment' => { 292 => 0x0 },
+	'whitebalancebias' => { 104 => 0x2011, 264 => 0x304, 280 => 0x23 },
+	'whitebalanceblue' => { 67 => 0x7 },
+	'whitebalancebracket' => { 259 => 0x502, 264 => 0x303 },
+	'whitebalancebracketing' => { 164 => 0x22, 167 => 0x2c, 368 => 0x2c },
+	'whitebalancecomp' => { 267 => 0x1001 },
+	'whitebalancefinetune' => { 114 => 0x100a, 164 => 0x38, 166 => 0x112, 198 => 0xb, 339 => 0x1004, 357 => 0x6, 358 => 0x5, 369 => 0x112 },
+	'whitebalancemode' => { 314 => 0x1a },
+	'whitebalancered' => { 67 => 0x6 },
+	'whitebalanceset' => { 295 => 0xa },
+	'whitebalancesetting' => { 164 => 0x23, 357 => 0x5, 358 => 0x4, 359 => 0x16, 373 => 0xd },
+	'whitebalancesetup' => { 346 => 0x41 },
+	'whitebalancetemperature' => { 259 => 0x501 },
+	'whiteboard' => { 264 => 0x301 },
+	'whitelevel' => { 109 => 0xc61d, 314 => 0x7e },
+	'whitepoint' => { 109 => 0x13e, 314 => 0x201, 433 => 'WhitePoint' },
+	'whites2012' => { 413 => 'Whites2012' },
+	'wideadapter' => { 339 => 0x1017 },
+	'widefocuszone' => { 161 => 0x2f },
+	'widerange' => { 348 => 0x20f },
+	'windowsatom' => { 412 => 'windowsAtom' },
+	'windowsatomextension' => { 412 => [\'windowsAtom','windowsAtomExtension'] },
+	'windowsatominvocationflags' => { 412 => [\'windowsAtom','windowsAtomInvocationFlags'] },
+	'windowsatomuncprojectpath' => { 412 => [\'windowsAtom','windowsAtomUncProjectPath'] },
+	'wordcount' => { 427 => 'wordCount' },
+	'workcolorspace' => { 94 => 0x10200, 99 => 0x270 },
+	'worktodo' => { 419 => 'WorkToDo' },
+	'worldtimelocation' => { 280 => 0x3a, 314 => 0x22, 320 => '0.1' },
+	'writer-editor' => { 117 => 0x7a },
+	'x3filllight' => { 349 => 0x12 },
+	'xml' => { 121 => 'xml ' },
+	'xmp' => { 97 => 0xffff00f6, 110 => 'XMP' },
+	'xmptoolkit' => { 434 => 'xmptk' },
+	'xpauthor' => { 109 => 0x9c9d },
+	'xpcomment' => { 109 => 0x9c9c },
+	'xpkeywords' => { 109 => 0x9c9e },
+	'xposition' => { 109 => 0x11e },
+	'xpsubject' => { 109 => 0x9c9f },
+	'xptitle' => { 109 => 0x9c9b },
+	'xresolution' => { 109 => 0x11a, 120 => 0x3, 329 => 0x0, 433 => 'XResolution' },
+	'xyresolution' => { 113 => 0x3 },
+	'yaw' => { 106 => 0x7 },
+	'yawangle' => { 215 => 0x3513, 224 => 0x36fc, 344 => 0x0 },
+	'ycbcrcoefficients' => { 109 => 0x211, 433 => 'YCbCrCoefficients' },
+	'ycbcrpositioning' => { 109 => 0x213, 433 => 'YCbCrPositioning' },
+	'ycbcrsubsampling' => { 109 => 0x212, 433 => 'YCbCrSubSampling' },
+	'yearcreated' => { 125 => 0x10, 134 => 0xc },
+	'yield' => { 429 => 'yield' },
+	'yposition' => { 109 => 0x11f },
+	'yresolution' => { 109 => 0x11b, 120 => 0x5, 329 => 0x4, 433 => 'YResolution' },
+	'zonematching' => { 166 => 0x10a, 169 => [0x3a,0x4a], 369 => 0xb024 },
+	'zonematchingmode' => { 164 => 0x14 },
+	'zonematchingon' => { 163 => 0x75 },
+	'zonematchingvalue' => { 357 => 0x1f },
+	'zoomedpreviewlength' => { 264 => 0xf05 },
+	'zoomedpreviewsize' => { 264 => 0xf06 },
+	'zoomedpreviewstart' => { 264 => 0xf04 },
+	'zoomsourcewidth' => { 33 => 0x24 },
+	'zoomstepcount' => { 262 => 0x300, 264 => 0x100d },
+	'zoomtargetwidth' => { 33 => 0x25 },
 );
 
 # lookup for non-writable tags to check if the name exists
@@ -5277,8 +5338,10 @@ my %tagExists = (
 	'ambienceinfo' => 1,
 	'anim' => 1,
 	'animationcontrol' => 1,
+	'animationframes' => 1,
 	'animationiterations' => 1,
 	'animationloopcount' => 1,
+	'animationplays' => 1,
 	'anmf' => 1,
 	'anniversary' => 1,
 	'annotation' => 1,
@@ -5510,6 +5573,7 @@ my %tagExists = (
 	'bottommag' => 1,
 	'boundaryorigin' => 1,
 	'boundingbox' => 1,
+	'bracketinginfooffset' => 1,
 	'bracketshot' => 1,
 	'breakchar' => 1,
 	'brightnessdata' => 1,
@@ -5592,6 +5656,12 @@ my %tagExists = (
 	'camerasetup' => 1,
 	'camerasoftware' => 1,
 	'cameraspecification' => 1,
+	'cameratemperaturemaxclip' => 1,
+	'cameratemperaturemaxsaturated' => 1,
+	'cameratemperaturemaxwarn' => 1,
+	'cameratemperatureminclip' => 1,
+	'cameratemperatureminsaturated' => 1,
+	'cameratemperatureminwarn' => 1,
 	'can_skip_backward' => 1,
 	'can_skip_forward' => 1,
 	'canon' => 1,
@@ -5601,6 +5671,7 @@ my %tagExists = (
 	'canonafinfo2' => 1,
 	'canoncamerainfo1000d' => 1,
 	'canoncamerainfo1100d' => 1,
+	'canoncamerainfo1200d' => 1,
 	'canoncamerainfo1d' => 1,
 	'canoncamerainfo1dmkii' => 1,
 	'canoncamerainfo1dmkiii' => 1,
@@ -5619,8 +5690,12 @@ my %tagExists = (
 	'canoncamerainfo60d' => 1,
 	'canoncamerainfo650d' => 1,
 	'canoncamerainfo6d' => 1,
+	'canoncamerainfo700d' => 1,
 	'canoncamerainfo70d' => 1,
+	'canoncamerainfo750d' => 1,
+	'canoncamerainfo760d' => 1,
 	'canoncamerainfo7d' => 1,
+	'canoncamerainfo80d' => 1,
 	'canoncamerainfopowershot' => 1,
 	'canoncamerainfopowershot2' => 1,
 	'canoncamerainfounknown' => 1,
@@ -5718,7 +5793,6 @@ my %tagExists = (
 	'checkedby' => 1,
 	'children' => 1,
 	'chmversion' => 1,
-	'chromaticaberrationcorrparams' => 1,
 	'chromaticadaptation' => 1,
 	'chromaticities' => 1,
 	'chromaticity' => 1,
@@ -5989,6 +6063,7 @@ my %tagExists = (
 	'crs' => 1,
 	'crwparam' => 1,
 	'cs1' => 1,
+	'cubemapproj' => 1,
 	'cuepoint' => 1,
 	'cuepoints' => 1,
 	'cuesheet' => 1,
@@ -6016,10 +6091,12 @@ my %tagExists = (
 	'customsettingsd4' => 1,
 	'customsettingsd40' => 1,
 	'customsettingsd4s' => 1,
+	'customsettingsd5' => 1,
 	'customsettingsd500' => 1,
 	'customsettingsd5000' => 1,
 	'customsettingsd5100' => 1,
 	'customsettingsd5200' => 1,
+	'customsettingsd610' => 1,
 	'customsettingsd700' => 1,
 	'customsettingsd7000' => 1,
 	'customsettingsd80' => 1,
@@ -6147,7 +6224,6 @@ my %tagExists = (
 	'dispose' => 1,
 	'disposition' => 1,
 	'distortinfo' => 1,
-	'distortioncorrparams' => 1,
 	'distortioninfo' => 1,
 	'distortionversion' => 1,
 	'distributedby' => 1,
@@ -6288,6 +6364,7 @@ my %tagExists = (
 	'epsoptions' => 1,
 	'equipment' => 1,
 	'equipmentifd' => 1,
+	'equirectangularproj' => 1,
 	'error' => 1,
 	'errorcorrection' => 1,
 	'errorcorrectiontype' => 1,
@@ -6643,6 +6720,7 @@ my %tagExists = (
 	'groupcaption' => 1,
 	'grouping' => 1,
 	'groupmutualexclusion' => 1,
+	'gspherical' => 1,
 	'gtcitation' => 1,
 	'gtmodeltype' => 1,
 	'gtrastertype' => 1,
@@ -6952,6 +7030,7 @@ my %tagExists = (
 	'jpegqualityestimate' => 1,
 	'jpegrestartinterval' => 1,
 	'jpegtables' => 1,
+	'jpginfooffset' => 1,
 	'jplcartoifd' => 1,
 	'jsonmetadata' => 1,
 	'jumptoxpep' => 1,
@@ -7225,6 +7304,7 @@ my %tagExists = (
 	'metadataid' => 1,
 	'metadatalibrary' => 1,
 	'metadatanumber' => 1,
+	'metadatasource' => 1,
 	'meterinfo' => 1,
 	'meterlink' => 1,
 	'metermode' => 1,
@@ -7476,6 +7556,7 @@ my %tagExists = (
 	'orderingrestrictions' => 1,
 	'organizeraddress' => 1,
 	'organizername' => 1,
+	'orientationinfo' => 1,
 	'originalalbum' => 1,
 	'originalalbumtitle' => 1,
 	'originalartist' => 1,
@@ -7701,6 +7782,7 @@ my %tagExists = (
 	'popularimeter' => 1,
 	'popupfillattributes' => 1,
 	'popupflash' => 1,
+	'poseyawdegrees' => 1,
 	'postertime' => 1,
 	'postscript2crd0' => 1,
 	'postscript2crd1' => 1,
@@ -7811,6 +7893,11 @@ my %tagExists = (
 	'project' => 1,
 	'projectedcstype' => 1,
 	'projection' => 1,
+	'projectionboundsbottom' => 1,
+	'projectionboundsleft' => 1,
+	'projectionboundsright' => 1,
+	'projectionboundstop' => 1,
+	'projectionheader' => 1,
 	'projects' => 1,
 	'projfalseeasting' => 1,
 	'projfalsenorthing' => 1,
@@ -8034,6 +8121,7 @@ my %tagExists = (
 	'root' => 1,
 	'rootdirectorycreatedate' => 1,
 	'rotationangle' => 1,
+	'rotationinfooffset' => 1,
 	'roundtripversion' => 1,
 	'rowinterleavefactor' => 1,
 	'rtptimescale' => 1,
@@ -8060,6 +8148,10 @@ my %tagExists = (
 	'samsung' => 1,
 	'samsungifd' => 1,
 	'samsunginfo' => 1,
+	'samsungrawbyteorder' => 1,
+	'samsungrawpointerslength' => 1,
+	'samsungrawpointersoffset' => 1,
+	'samsungrawunknown' => 1,
 	'samsungsec' => 1,
 	'samsungsmta' => 1,
 	'samsungsvss' => 1,
@@ -8193,10 +8285,12 @@ my %tagExists = (
 	'shotinfod4' => 1,
 	'shotinfod40' => 1,
 	'shotinfod4s' => 1,
+	'shotinfod5' => 1,
 	'shotinfod500' => 1,
 	'shotinfod5000' => 1,
 	'shotinfod5100' => 1,
 	'shotinfod5200' => 1,
+	'shotinfod610' => 1,
 	'shotinfod700' => 1,
 	'shotinfod7000' => 1,
 	'shotinfod80' => 1,
@@ -8260,6 +8354,7 @@ my %tagExists = (
 	'sortshow' => 1,
 	'soundfile' => 1,
 	'soundschemetitle' => 1,
+	'sourcecount' => 1,
 	'sourcecreatedate' => 1,
 	'sourcecredits' => 1,
 	'sourcedata' => 1,
@@ -8286,6 +8381,9 @@ my %tagExists = (
 	'specialfolderdata' => 1,
 	'specificationversion' => 1,
 	'speed' => 1,
+	'spherical' => 1,
+	'sphericalvideo' => 1,
+	'sphericalvideoxml' => 1,
 	'spiff' => 1,
 	'spiffversion' => 1,
 	'spothalftone' => 1,
@@ -8325,8 +8423,10 @@ my %tagExists = (
 	'stereo' => 1,
 	'stereoimage' => 1,
 	'stereomode' => 1,
+	'stereoscopic3d' => 1,
 	'stim' => 1,
 	'stimversion' => 1,
+	'stitched' => 1,
 	'stitchinfo' => 1,
 	'stonits' => 1,
 	'storage-streampathname' => 1,
@@ -8399,9 +8499,6 @@ my %tagExists = (
 	'subpacketh' => 1,
 	'subpacketsize' => 1,
 	'subscriptioncontentid' => 1,
-	'subseccreatedate' => 1,
-	'subsecdatetimeoriginal' => 1,
-	'subsecmodifydate' => 1,
 	'subsystem' => 1,
 	'subsystemversion' => 1,
 	'subtileblocksize' => 1,
@@ -8647,10 +8744,6 @@ my %tagExists = (
 	'unknowntags' => 1,
 	'unknowntemperature1' => 1,
 	'unknowntemperature2' => 1,
-	'unknowntemperature3' => 1,
-	'unknowntemperature4' => 1,
-	'unknowntemperature5' => 1,
-	'unknowntemperature6' => 1,
 	'unknownthumbnail' => 1,
 	'unsharpdata' => 1,
 	'untitled0' => 1,
@@ -8694,6 +8787,7 @@ my %tagExists = (
 	'uuid-canon' => 1,
 	'uuid-exif' => 1,
 	'uuid-exif2' => 1,
+	'uuid-exif_bad' => 1,
 	'uuid-flip' => 1,
 	'uuid-geojp2' => 1,
 	'uuid-iptc' => 1,
@@ -8983,6 +9077,9 @@ my %compositeModules = (
 	'originaldecisiondata' => 'Image::ExifTool::Canon',
 	'otherimage' => 'Image::ExifTool::Exif',
 	'previewimage' => 'Image::ExifTool::Exif',
+	'subseccreatedate' => 'Image::ExifTool::Exif',
+	'subsecdatetimeoriginal' => 'Image::ExifTool::Exif',
+	'subsecmodifydate' => 'Image::ExifTool::Exif',
 	'thumbnailimage' => 'Image::ExifTool::Exif',
 );
 
@@ -9049,7 +9146,8 @@ sub AddFields($$$$$$;$$)
         my $fieldInfo = $$strTable{$field};
         my $flatName;
         $flatName = $$fieldInfo{FlatName} if ref $fieldInfo eq 'HASH';
-        my $lc = ($flatInfo and $$flatInfo{Name}) ? lc $$flatInfo{Name} : $lcTag . lc($flatName || $field);
+        $flatName or ($flatName = $field) =~ tr/-_a-zA-Z0-9//dc;    # remove illegal characters
+        my $lc = ($flatInfo and $$flatInfo{Name}) ? lc $$flatInfo{Name} : $lcTag . lc($flatName);
         my $copyID = $baseID;
         push @$tagIDs, \$copyID, $id;
         push @$lcTags, $lc, $lc;
diff --git a/lib/Image/ExifTool/TagNames.pod b/lib/Image/ExifTool/TagNames.pod
index fbf47c1..e594e9f 100644
--- a/lib/Image/ExifTool/TagNames.pod
+++ b/lib/Image/ExifTool/TagNames.pod
@@ -17,8 +17,8 @@ B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
 table.  A B<Tag ID> is the computer-readable equivalent of a tag name, and
 is the identifier that is actually stored in the file.  B<Index#> refers to
 the location of a value when found at a fixed position within a data block
-(B<#> is the multiplier for calculating a byte offset: B<1>, B<2> or B<4>).
-B<Sequence> gives the order of values for a serial data stream.
+(B<#> is the multiplier for calculating a byte offset: B<1>, B<2>, B<4> or
+B<8>). B<Sequence> gives the order of values for a serial data stream.
 
 A B<Tag Name> is the handle by which the information is accessed in
 ExifTool.  In some instances, more than one name may correspond to a single
@@ -50,7 +50,7 @@ when the print conversion is disabled (by setting PrintConv to 0, using the
 -n option, or suffixing the tag name with a C<#> character).  An exclamation
 point (C<!>) indicates a tag that is considered I<Unsafe> to write under
 normal circumstances.  These tags are not written unless specified
-explicitly (ie. wildcards and "all" may not be used), and care should be
+explicitly (ie. not when wildcards or "all" are used), and care should be
 taken when editing them manually since they may affect the way an image is
 rendered.  An asterisk (C<*>) indicates a I<Protected> tag which is not
 writable directly, but is written automatically by ExifTool (often when a
@@ -295,11 +295,11 @@ B<Group> listed below is used unless another group is specified.
 
 The table below lists all EXIF tags.  Also listed are TIFF, DNG, HDP and
 other tags which are not part of the EXIF specification, but may co-exist
-with EXIF tags in some images.  Tags which are part of the EXIF 2.3
+with EXIF tags in some images.  Tags which are part of the EXIF 2.31
 specification have an underlined B<Tag Name> in the HTML version of this
 documentation.  See
-L<http://www.cipa.jp/std/documents/e/DC-008-2012_E.pdf> for the official
-EXIF 2.3 specification.
+L<http://www.cipa.jp/std/documents/e/DC-008-Translation-2016-E.pdf> for the
+official EXIF 2.31 specification.
 
   Tag ID   Tag Name                  Group      Writable
   ------   --------                  -----      --------
@@ -436,8 +436,9 @@ EXIF 2.3 specification.
   0x4748   StitchInfo                -          Microsoft Stitch
   0x4749   RatingPercent             IFD0       int16u/
   0x7000   SonyRawFileType           -          N
-  0x7035   ChromaticAberrationCorrParams -      N
-  0x7037   DistortionCorrParams      -          N
+  0x7032   LightFalloffParams        SubIFD     int16s[17]!
+  0x7035   ChromaticAberrationCorrParams SubIFD int16s[33]!
+  0x7037   DistortionCorrParams      SubIFD     int16s[17]!
   0x800d   ImageID                   -          N
   0x80a3   WangTag1                  -          N
   0x80a4   WangAnnotation            -          N
@@ -546,6 +547,9 @@ EXIF 2.3 specification.
   0x9003   DateTimeOriginal          ExifIFD    string
   0x9004   CreateDate                ExifIFD    string
   0x9009   GooglePlusUploadCode      ExifIFD    undef[n]
+  0x9010   OffsetTime                ExifIFD    string
+  0x9011   OffsetTimeOriginal        ExifIFD    string
+  0x9012   OffsetTimeDigitized       ExifIFD    string
   0x9101   ComponentsConfiguration   ExifIFD    undef[4]!:
   0x9102   CompressedBitsPerPixel    ExifIFD    rational64u!
   0x9201   ShutterSpeedValue         ExifIFD    rational64s
@@ -666,6 +670,12 @@ EXIF 2.3 specification.
   0x9330   MSPropertySetStorage      -          N
   0x9331   MSDocumentTextPosition    -          N
   0x935c   ImageSourceData           IFD0       undef!
+  0x9400   AmbientTemperature        ExifIFD    rational64s
+  0x9401   Humidity                  ExifIFD    rational64u
+  0x9402   Pressure                  ExifIFD    rational64u
+  0x9403   WaterDepth                ExifIFD    rational64s
+  0x9404   Acceleration              ExifIFD    rational64u
+  0x9405   CameraElevationAngle      ExifIFD    rational64s
   0x9c9b   XPTitle                   IFD0       int8u
   0x9c9c   XPComment                 IFD0       int8u
   0x9c9d   XPAuthor                  IFD0       int8u
@@ -677,6 +687,10 @@ EXIF 2.3 specification.
   0xa003   ExifImageHeight           ExifIFD    int16u:
   0xa004   RelatedSoundFile          ExifIFD    string
   0xa005   InteropOffset             -          EXIF
+  0xa010   SamsungRawPointersOffset  -          N
+  0xa011   SamsungRawPointersLength  -          N
+  0xa101   SamsungRawByteOrder       -          N
+  0xa102   SamsungRawUnknown?        -          N
   0xa20b   FlashEnergy               ExifIFD    rational64u[n]
   0xa20c   SpatialFrequencyResponse  -          N
   0xa20d   Noise                     -          N
@@ -1168,6 +1182,7 @@ L<http://www.adobe.com/devnet/xmp/> for the official XMP specification.
   fpv                                           XMP fpv
   getty                                         XMP GettyImages
   GPano                                         XMP GPano
+  GSpherical                                    XMP GSpherical
   ics                                           XMP ics
   iptcCore                                      XMP iptcCore
   iptcExt                                       XMP iptcExt
@@ -1207,6 +1222,8 @@ L<http://www.adobe.com/devnet/xmp/> for the official XMP specification.
 
 Apple Adjustment Settings used by iPhone/iPad.
 
+These tags belong to the ExifTool XMP-aas family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AffineA                                       real
@@ -1243,6 +1260,9 @@ most valuable features of metadata: interoperability.  Your applications
 mumble to themselves instead of speaking out for the rest of the world to
 hear.)
 
+
+These tags belong to the ExifTool XMP-acdsee family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Author                                        string/
@@ -1269,6 +1289,8 @@ hear.)
 
 Adobe Album namespace tags.
 
+These tags belong to the ExifTool XMP-album family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Notes                                         string
@@ -1278,6 +1300,9 @@ Adobe Album namespace tags.
 Face information tags written by the Apple iPhone 5 inside the mwg-rs
 RegionExtensions.
 
+
+These tags belong to the ExifTool XMP-apple-fi family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AngleInfoRoll                                 integer
@@ -1294,6 +1319,9 @@ introduction of the EXIF 2.3 for XMP specification and the exifEX namespace
 at this time.  For this reason, tags below with equivalents in the
 L<exifEX namespace|/XMP exifEX Tags> are avoided when writing.
 
+
+These tags belong to the ExifTool XMP-aux family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   ApproximateFocusDistance                      rational
@@ -1319,6 +1347,9 @@ Creative Commons namespace tags.  Note that the CC specification for XMP is
 non-existent, so ExifTool must make some assumptions about the format of the
 specific properties in XMP (see L<http://creativecommons.org/ns>).
 
+
+These tags belong to the ExifTool XMP-cc family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AttributionName                               string
@@ -1337,6 +1368,8 @@ specific properties in XMP (see L<http://creativecommons.org/ns>).
 
 Location tags written by some Sony Ericsson phones.
 
+These tags belong to the ExifTool XMP-cell family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CellTowerID                                   string
@@ -1350,6 +1383,8 @@ Location tags written by some Sony Ericsson phones.
 
 Adobe creatorAtom tags, written by After Effects.
 
+These tags belong to the ExifTool XMP-creatorAtom family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AeProjectLink                                 AEProjectLink Struct
@@ -1398,6 +1433,9 @@ Adobe creatorAtom tags, written by After Effects.
 Photoshop Camera Raw namespace tags.  It is a shame that Adobe pollutes the
 metadata space with these incredibly bulky image editing parameters.
 
+
+These tags belong to the ExifTool XMP-crs family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AlreadyApplied                                boolean
@@ -1773,6 +1811,7 @@ metadata space with these incredibly bulky image editing parameters.
   UprightTransform_2                            string
   UprightTransform_3                            string
   UprightTransform_4                            string
+  UprightTransform_5                            string
   UprightTransformCount                         integer
   UprightVersion                                integer
   Version                                       string
@@ -1860,6 +1899,8 @@ metadata space with these incredibly bulky image editing parameters.
 
 Dublin Core namespace tags.
 
+These tags belong to the ExifTool XMP-dc family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Contributor                                   string+
@@ -1884,6 +1925,9 @@ Description Explorer namespace tags.  These tags are not very common.  The
 Source and Rating tags are avoided when writing due to name conflicts with
 other XMP tags.  (see L<http://www.optimasc.com/products/fileid/>)
 
+
+These tags belong to the ExifTool XMP-dex family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CRC32                                         integer
@@ -1902,6 +1946,9 @@ stored in files of other than DICOM format.  See the
 L<DICOM Tags documentation|Image::ExifTool::TagNames/DICOM Tags> for a list
 of tags available in DICOM-format files.
 
+
+These tags belong to the ExifTool XMP-DICOM family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   EquipmentInstitution                          string
@@ -1923,12 +1970,15 @@ of tags available in DICOM-format files.
 
 DigiKam namespace tags.
 
+These tags belong to the ExifTool XMP-digiKam family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CaptionsAuthorNames                           lang-alt
   CaptionsDateTimeStamps                        lang-alt
   ColorLabel                                    string
   ImageHistory                                  string/
+  ImageUniqueID                                 string/
   LensCorrectionSettings                        string
   PickLabel                                     string
   TagsList                                      string+
@@ -1939,6 +1989,9 @@ EXIF namespace for EXIF tags.  See
 L<http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf> for the
 specification.
 
+
+These tags belong to the ExifTool XMP-exif family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   ApertureValue                                 rational
@@ -2082,6 +2135,9 @@ specification.
 EXIF tags added by the EXIF 2.3 for XMP specification (see
 L<http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf>).
 
+
+These tags belong to the ExifTool XMP-exifEX family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   SerialNumber                                  string
@@ -2105,6 +2161,9 @@ L<http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf>).
 Microsoft Expression Media namespace tags.  These tags are avoided when
 writing due to name conflicts with tags in other schemas.
 
+
+These tags belong to the ExifTool XMP-expressionmedia family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CatalogSets                                   string/+
@@ -2116,6 +2175,8 @@ writing due to name conflicts with tags in other schemas.
 
 Tags used by Extensis Portfolio.
 
+These tags belong to the ExifTool XMP-extensis family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Approved                                      boolean
@@ -2132,6 +2193,9 @@ Tags used by Extensis Portfolio.
 Fast Picture Viewer tags (see
 L<http://www.fastpictureviewer.com/help/#rtfcomments>).
 
+
+These tags belong to the ExifTool XMP-fpv family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   RichTextComment                               string
@@ -2139,8 +2203,11 @@ L<http://www.fastpictureviewer.com/help/#rtfcomments>).
 =head3 XMP GettyImages Tags
 
 The actual Getty Images namespace prefix is "GettyImagesGIFT", which is the
-prefix recorded in the file, but ExifTool shortens this for the "XMP-getty"
-family 1 group name.
+prefix recorded in the file, but ExifTool shortens this for the family 1
+group name.
+
+
+These tags belong to the ExifTool XMP-getty family 1 group.
 
   Tag Name                                      Writable
   --------                                      --------
@@ -2153,6 +2220,9 @@ family 1 group name.
 Panorama tags written by Google Photosphere. See
 L<https://developers.google.com/panorama/metadata/> for the specification.
 
+
+These tags belong to the ExifTool XMP-GPano family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CaptureSoftware                               string
@@ -2164,6 +2234,7 @@ L<https://developers.google.com/panorama/metadata/> for the specification.
   FirstPhotoDate                                date
   FullPanoHeightPixels                          real
   FullPanoWidthPixels                           real
+  InitialCameraDolly                            real
   InitialHorizontalFOVDegrees                   real
   InitialViewHeadingDegrees                     real
   InitialViewPitchDegrees                       real
@@ -2181,11 +2252,43 @@ L<https://developers.google.com/panorama/metadata/> for the specification.
   StitchingSoftware                             string
   UsePanoramaViewer                             boolean
 
+=head3 XMP GSpherical Tags
+
+Not actually XMP.  These RDF/XML tags are used in Google spherical MP4
+videos.  See
+L<https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md>
+for the specification.
+
+
+These tags belong to the ExifTool XMP-GSpherical family 1 group.
+
+  Tag Name                                      Writable
+  --------                                      --------
+  CroppedAreaImageHeightPixels                  N
+  CroppedAreaImageWidthPixels                   N
+  CroppedAreaLeftPixels                         N
+  CroppedAreaTopPixels                          N
+  FullPanoHeightPixels                          N
+  FullPanoWidthPixels                           N
+  InitialViewHeadingDegrees                     N
+  InitialViewPitchDegrees                       N
+  InitialViewRollDegrees                        N
+  ProjectionType                                N
+  SourceCount                                   N
+  Spherical                                     N
+  StereoMode                                    N
+  Stitched                                      N
+  StitchingSoftware                             N
+  TimeStamp                                     N
+
 =head3 XMP ics Tags
 
 Tags used by IDimager.  Nested TagStructure structures are unrolled to an
 arbitrary depth of 6 to avoid infinite recursion.
 
+
+These tags belong to the ExifTool XMP-ics family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   ImageRef                                      string
@@ -2237,9 +2340,12 @@ arbitrary depth of 6 to avoid infinite recursion.
 
 IPTC Core namespace tags.  The actual IPTC Core namespace prefix is
 "Iptc4xmpCore", which is the prefix recorded in the file, but ExifTool
-shortens this for the "XMP-iptcCore" family 1 group name. (see
+shortens this for the family 1 group name. (see
 L<http://www.iptc.org/IPTC4XMP/>)
 
+
+These tags belong to the ExifTool XMP-iptcCore family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CountryCode                                   string
@@ -2273,8 +2379,11 @@ L<http://www.iptc.org/IPTC4XMP/>)
 =head3 XMP iptcExt Tags
 
 IPTC Extension namespace tags.  The actual namespace prefix is
-"Iptc4xmpExt", but ExifTool shortens this for the "XMP-iptcExt" family 1
-group name. (see L<http://www.iptc.org/IPTC4XMP/>)
+"Iptc4xmpExt", but ExifTool shortens this for the family 1 group name. (see
+L<http://www.iptc.org/IPTC4XMP/>)
+
+
+These tags belong to the ExifTool XMP-iptcExt family 1 group.
 
   Tag Name                                      Writable
   --------                                      --------
@@ -2442,6 +2551,8 @@ group name. (see L<http://www.iptc.org/IPTC4XMP/>)
 
 Adobe Lightroom "lr" namespace tags.
 
+These tags belong to the ExifTool XMP-lr family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   HierarchicalSubject                           string+
@@ -2451,6 +2562,8 @@ Adobe Lightroom "lr" namespace tags.
 
 iView MediaPro namespace tags.
 
+These tags belong to the ExifTool XMP-mediapro family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CatalogSets                                   string+
@@ -2467,6 +2580,9 @@ Keywords, PDFVersion, Producer and Trapped.  The other tags are included
 because they have been observed in PDF files, but some are avoided when
 writing due to name conflicts with other XMP namespaces.
 
+
+These tags belong to the ExifTool XMP-pdf family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Author                                        string
@@ -2488,6 +2604,9 @@ PDF extension tags.  This namespace is used to store application-defined PDF
 information, so there are no pre-defined tags.  User-defined tags must be
 created to enable writing of XMP-pdfx information.
 
+
+These tags belong to the ExifTool XMP-pdfx family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   [no tags known]
@@ -2496,6 +2615,8 @@ created to enable writing of XMP-pdfx information.
 
 Adobe Photoshop namespace tags.
 
+These tags belong to the ExifTool XMP-photoshop family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AuthorsPosition                               string
@@ -2536,6 +2657,9 @@ PixelLive namespace tags.  These tags are not writable becase they are very
 uncommon and I haven't been able to locate a reference which gives the
 namespace URI.
 
+
+These tags belong to the ExifTool XMP-PixelLive family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Author                                        N
@@ -2550,6 +2674,9 @@ namespace URI.
 PRISM Metadata for Images 3.0 namespace tags.  (see
 L<http://www.prismstandard.org/>)
 
+
+These tags belong to the ExifTool XMP-pmi family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Color                                         string/
@@ -2592,6 +2719,9 @@ L<http://www.prismstandard.org/>)
 Publishing Requirements for Industry Standard Metadata 3.0 namespace
 tags.  (see L<http://www.prismstandard.org/>)
 
+
+These tags belong to the ExifTool XMP-prism family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AcedemicField                                 string/
@@ -2782,6 +2912,9 @@ PRISM Rights Language 2.1 namespace tags.  These tags have been deprecated
 since the release of the PRISM Usage Rights 3.0. (see
 L<http://www.prismstandard.org/>)
 
+
+These tags belong to the ExifTool XMP-prl family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Geography                                     string/+
@@ -2793,6 +2926,9 @@ L<http://www.prismstandard.org/>)
 PRISM Recipe Metadata 3.0 namespace tags.  (see
 L<http://www.prismstandard.org/>)
 
+
+These tags belong to the ExifTool XMP-prm family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CookingEquipment                              string/
@@ -2820,6 +2956,9 @@ L<http://www.prismstandard.org/>)
 PRISM Usage Rights 3.0 namespace tags.  (see
 L<http://www.prismstandard.org/>)
 
+
+These tags belong to the ExifTool XMP-pur family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AdultContentWarning                           string/+
@@ -2842,6 +2981,9 @@ L<http://www.prismstandard.org/>)
 Most RDF attributes are handled internally, but the "about" attribute is
 treated specially to allow it to be set to a specific value if required.
 
+
+These tags belong to the ExifTool XMP-rdf family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   About                                         string!
@@ -2850,6 +2992,8 @@ treated specially to allow it to be set to a specific value if required.
 
 Adobe SWF namespace tags.
 
+These tags belong to the ExifTool XMP-swf family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   BackgroundAlpha                               integer
@@ -2863,6 +3007,9 @@ EXIF namespace for TIFF tags.  See
 L<http://www.cipa.jp/std/documents/e/DC-010-2012_E.pdf> for the
 specification.
 
+
+These tags belong to the ExifTool XMP-tiff family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Artist                                        string
@@ -2899,6 +3046,9 @@ The "x" namespace is used for the "xmpmeta" wrapper, and may contain an
 the XMPToolkit tag is generated automatically by ExifTool unless
 specifically set to another value.
 
+
+These tags belong to the ExifTool XMP-x family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   XMPToolkit                                    string!
@@ -2909,6 +3059,9 @@ XMP namespace tags.  If the older "xap", "xapBJ", "xapMM" or "xapRights"
 namespace prefixes are found, they are translated to the newer "xmp",
 "xmpBJ", "xmpMM" and "xmpRights" prefixes for use in family 1 group names.
 
+
+These tags belong to the ExifTool XMP-xmp family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Advisory                                      string+
@@ -2961,6 +3114,8 @@ namespace prefixes are found, they are translated to the newer "xmp",
 
 XMP Basic Job Ticket namespace tags.
 
+These tags belong to the ExifTool XMP-xmpBJ family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   JobRef                                        JobRef Struct+
@@ -2980,6 +3135,8 @@ XMP Basic Job Ticket namespace tags.
 
 XMP Dynamic Media namespace tags.
 
+These tags belong to the ExifTool XMP-xmpDM family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AbsPeakAudioFilePath                          string
@@ -3273,6 +3430,8 @@ XMP Dynamic Media namespace tags.
 
 XMP Media Management namespace tags.
 
+These tags belong to the ExifTool XMP-xmpMM family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   DerivedFrom                                   ResourceRef Struct
@@ -3282,6 +3441,9 @@ XMP Media Management namespace tags.
   DerivedFromFromPart                           string_
   DerivedFromInstanceID                         string_
   DerivedFromLastModifyDate                     date_
+  DerivedFromLastURL                            string_
+  DerivedFromLinkCategory                       string_
+  DerivedFromLinkForm                           string_
   DerivedFromManager                            string_
   DerivedFromManagerVariant                     string_
   DerivedFromManageTo                           string_
@@ -3289,6 +3451,9 @@ XMP Media Management namespace tags.
   DerivedFromMaskMarkers                        string_
   DerivedFromOriginalDocumentID                 string_
   DerivedFromPartMapping                        string_
+  DerivedFromPlacedResolutionUnit               string_
+  DerivedFromPlacedXResolution                  string_
+  DerivedFromPlacedYResolution                  string_
   DerivedFromRenditionClass                     string_
   DerivedFromRenditionParams                    string_
   DerivedFromToPart                             string_
@@ -3308,6 +3473,9 @@ XMP Media Management namespace tags.
   IngredientsFromPart                           string_+
   IngredientsInstanceID                         string_+
   IngredientsLastModifyDate                     date_+
+  IngredientsLastURL                            string_+
+  IngredientsLinkCategory                       string_+
+  IngredientsLinkForm                           string_+
   IngredientsManager                            string_+
   IngredientsManagerVariant                     string_+
   IngredientsManageTo                           string_+
@@ -3315,6 +3483,9 @@ XMP Media Management namespace tags.
   IngredientsMaskMarkers                        string_+
   IngredientsOriginalDocumentID                 string_+
   IngredientsPartMapping                        string_+
+  IngredientsPlacedResolutionUnit               string_+
+  IngredientsPlacedXResolution                  string_+
+  IngredientsPlacedYResolution                  string_+
   IngredientsRenditionClass                     string_+
   IngredientsRenditionParams                    string_+
   IngredientsToPart                             string_+
@@ -3328,6 +3499,9 @@ XMP Media Management namespace tags.
   ManagedFromFromPart                           string_
   ManagedFromInstanceID                         string_
   ManagedFromLastModifyDate                     date_
+  ManagedFromLastURL                            string_
+  ManagedFromLinkCategory                       string_
+  ManagedFromLinkForm                           string_
   ManagedFromManager                            string_
   ManagedFromManagerVariant                     string_
   ManagedFromManageTo                           string_
@@ -3335,6 +3509,9 @@ XMP Media Management namespace tags.
   ManagedFromMaskMarkers                        string_
   ManagedFromOriginalDocumentID                 string_
   ManagedFromPartMapping                        string_
+  ManagedFromPlacedResolutionUnit               string_
+  ManagedFromPlacedXResolution                  string_
+  ManagedFromPlacedYResolution                  string_
   ManagedFromRenditionClass                     string_
   ManagedFromRenditionParams                    string_
   ManagedFromToPart                             string_
@@ -3355,6 +3532,9 @@ XMP Media Management namespace tags.
   ManifestReferenceFromPart                     string_+
   ManifestReferenceInstanceID                   string_+
   ManifestReferenceLastModifyDate               date_+
+  ManifestReferenceLastURL                      string_+
+  ManifestReferenceLinkCategory                 string_+
+  ManifestReferenceLinkForm                     string_+
   ManifestReferenceManager                      string_+
   ManifestReferenceManagerVariant               string_+
   ManifestReferenceManageTo                     string_+
@@ -3362,6 +3542,9 @@ XMP Media Management namespace tags.
   ManifestReferenceMaskMarkers                  string_+
   ManifestReferenceOriginalDocumentID           string_+
   ManifestReferencePartMapping                  string_+
+  ManifestReferencePlacedResolutionUnit         string_+
+  ManifestReferencePlacedXResolution            string_+
+  ManifestReferencePlacedYResolution            string_+
   ManifestReferenceRenditionClass               string_+
   ManifestReferenceRenditionParams              string_+
   ManifestReferenceToPart                       string_+
@@ -3377,6 +3560,9 @@ XMP Media Management namespace tags.
   RenditionOfFromPart                           string_
   RenditionOfInstanceID                         string_
   RenditionOfLastModifyDate                     date_
+  RenditionOfLastURL                            string_
+  RenditionOfLinkCategory                       string_
+  RenditionOfLinkForm                           string_
   RenditionOfManager                            string_
   RenditionOfManagerVariant                     string_
   RenditionOfManageTo                           string_
@@ -3384,6 +3570,9 @@ XMP Media Management namespace tags.
   RenditionOfMaskMarkers                        string_
   RenditionOfOriginalDocumentID                 string_
   RenditionOfPartMapping                        string_
+  RenditionOfPlacedResolutionUnit               string_
+  RenditionOfPlacedXResolution                  string_
+  RenditionOfPlacedYResolution                  string_
   RenditionOfRenditionClass                     string_
   RenditionOfRenditionParams                    string_
   RenditionOfToPart                             string_
@@ -3415,6 +3604,9 @@ XMP Media Management namespace tags.
   FromPart                                      string
   InstanceID                                    string
   LastModifyDate                                date
+  LastURL                                       string
+  LinkCategory                                  string
+  LinkForm                                      string
   ManageTo                                      string
   ManageUI                                      string
   Manager                                       string
@@ -3422,6 +3614,9 @@ XMP Media Management namespace tags.
   MaskMarkers                                   string
   OriginalDocumentID                            string
   PartMapping                                   string
+  PlacedResolutionUnit                          string
+  PlacedXResolution                             string
+  PlacedYResolution                             string
   RenditionClass                                string
   RenditionParams                               string
   ToPart                                        string
@@ -3471,6 +3666,8 @@ XMP properties.
 
 XMP Note namespace tags.
 
+These tags belong to the ExifTool XMP-xmpNote family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   HasExtendedXMP                                string*
@@ -3481,6 +3678,9 @@ XMP Picture Licensing Universal System (PLUS) tags as written by some older
 Adobe applications.  See L<PLUS XMP Tags|Image::ExifTool::TagNames/PLUS XMP Tags>
 for the current PLUS tags.
 
+
+These tags belong to the ExifTool XMP-xmpPLUS family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   CreditLineReq                                 boolean/
@@ -3490,6 +3690,8 @@ for the current PLUS tags.
 
 XMP Rights Management namespace tags.
 
+These tags belong to the ExifTool XMP-xmpRights family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Certificate                                   string
@@ -3502,6 +3704,8 @@ XMP Rights Management namespace tags.
 
 XMP Paged-Text namespace tags.
 
+These tags belong to the ExifTool XMP-xmpTPg family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Colorants                                     Colorant Struct+
@@ -3593,6 +3797,9 @@ may be extracted by setting the Unknown option to 2 (-U on the command
 line).  The SVG tags are not part of XMP as such, but are included with the
 XMP module for convenience.  (see L<http://www.w3.org/TR/SVG11/>)
 
+
+These tags belong to the ExifTool XMP-svg family 1 group.
+
   Tag ID               Tag Name                 Writable
   ------               --------                 --------
   'height'             ImageHeight              N
@@ -3747,6 +3954,9 @@ a fixed set of values) have raw values which begin with
 been removed from the values shown below.  See L<http://ns.useplus.org/> for
 the complete specification.
 
+
+These tags belong to the ExifTool XMP-plus family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   AdultContentWarning                           string
@@ -4244,13 +4454,15 @@ Tags extracted from Photoshop layer information.
 
 =head2 Apple Tags
 
-Tags extracted from maker notes of images from the iPhone 5 with iOS 7.
+Tags extracted from the maker notes of iPhone images.
 
   Tag ID   Tag Name                             Writable
   ------   --------                             --------
   0x0003   RunTime                              Apple RunTime
+  0x0008   AccelerationVector                   rational64s[3]
   0x000a   HDRImageType                         int32s
   0x000b   BurstUUID                            string
+  0x0015   ImageUniqueID                        string
 
 =head3 Apple RunTime Tags
 
@@ -4295,13 +4507,18 @@ boot, not including standby time.
            CanonCameraInfo50D                   Canon CameraInfo50D
            CanonCameraInfo60D                   Canon CameraInfo60D
            CanonCameraInfo70D                   Canon CameraInfo70D
+           CanonCameraInfo80D                   Canon CameraInfo80D
            CanonCameraInfo450D                  Canon CameraInfo450D
            CanonCameraInfo500D                  Canon CameraInfo500D
            CanonCameraInfo550D                  Canon CameraInfo550D
            CanonCameraInfo600D                  Canon CameraInfo600D
            CanonCameraInfo650D                  Canon CameraInfo650D
+           CanonCameraInfo700D                  Canon CameraInfo650D
+           CanonCameraInfo750D                  Canon CameraInfo750D
+           CanonCameraInfo760D                  Canon CameraInfo750D
            CanonCameraInfo1000D                 Canon CameraInfo1000D
            CanonCameraInfo1100D                 Canon CameraInfo600D
+           CanonCameraInfo1200D                 Canon CameraInfo60D
            CanonCameraInfoPowerShot             Canon CameraInfoPowerShot
            CanonCameraInfoPowerShot2            Canon CameraInfoPowerShot2
            CanonCameraInfoUnknown32             Canon CameraInfoUnknown32
@@ -5023,7 +5240,7 @@ CameraInfo tags for the EOS 50D.  Indices shown are for firmware versions
 
 =head3 Canon CameraInfo60D Tags
 
-CameraInfo tags for the EOS 60D.
+CameraInfo tags for the EOS 60D and 1200D.
 
   Index1   Tag Name                             Writable
   ------   --------                             --------
@@ -5042,6 +5259,7 @@ CameraInfo tags for the EOS 60D.
     409    FirmwareVersion                      N
     473    FileIndex                            int32u
     485    DirectoryIndex                       int32u
+    761    PictureStyleInfo                     Canon PSInfo2
     801    PictureStyleInfo                     Canon PSInfo2
 
 =head3 Canon CameraInfo70D Tags
@@ -5067,6 +5285,28 @@ CameraInfo tags for the EOS 70D.
     703    DirectoryIndex                       int32u
     975    PictureStyleInfo                     Canon PSInfo2
 
+=head3 Canon CameraInfo80D Tags
+
+CameraInfo tags for the EOS 70D.
+
+  Index1   Tag Name                             Writable
+  ------   --------                             --------
+      3    FNumber                              int8u
+      4    ExposureTime                         int8u
+      6    ISO                                  int8u
+     27    CameraTemperature                    int8u
+     35    FocalLength                          int16uRev
+    150    CameraOrientation                    int8u
+    165    FocusDistanceUpper                   int16uRev
+    167    FocusDistanceLower                   int16uRev
+    314    ColorTemperature                     int16u
+    393    LensType                             int16uRev
+    395    MinFocalLength                       int16uRev
+    397    MaxFocalLength                       int16uRev
+   1114    FirmwareVersion                      N
+   1198    FileIndex                            int32u
+   1210    DirectoryIndex                       int32u
+
 =head3 Canon CameraInfo450D Tags
 
 CameraInfo tags for the EOS 450D.
@@ -5204,6 +5444,28 @@ CameraInfo tags for the EOS 650D and 700D.
     640    DirectoryIndex                       int32u
     912    PictureStyleInfo                     Canon PSInfo2
 
+=head3 Canon CameraInfo750D Tags
+
+CameraInfo tags for the EOS 750D and 760D.
+
+  Index1   Tag Name                             Writable
+  ------   --------                             --------
+      3    FNumber                              int8u
+      4    ExposureTime                         int8u
+      6    ISO                                  int8u
+     27    CameraTemperature                    int8u
+     35    FocalLength                          int16uRev
+    165    FocusDistanceUpper                   int16uRev
+    167    FocusDistanceLower                   int16uRev
+    305    WhiteBalance                         int16u
+    309    ColorTemperature                     int16u
+    361    PictureStyle                         int8u
+    388    LensType                             int16uRev
+    390    MinFocalLength                       int16uRev
+    392    MaxFocalLength                       int16uRev
+   1085    FirmwareVersion                      N
+   1097    FirmwareVersion                      N
+
 =head3 Canon CameraInfo1000D Tags
 
 CameraInfo tags for the EOS 1000D.
@@ -7238,12 +7500,12 @@ for details.
     128    AtmosphericTransX                    N
     144    CameraTemperatureRangeMax            N
     148    CameraTemperatureRangeMin            N
-    152    UnknownTemperature1?                 N
-    156    UnknownTemperature2?                 N
-    160    UnknownTemperature3?                 N
-    164    UnknownTemperature4?                 N
-    168    UnknownTemperature5?                 N
-    172    UnknownTemperature6?                 N
+    152    CameraTemperatureMaxClip             N
+    156    CameraTemperatureMinClip             N
+    160    CameraTemperatureMaxWarn             N
+    164    CameraTemperatureMinWarn             N
+    168    CameraTemperatureMaxSaturated        N
+    172    CameraTemperatureMinSaturated        N
     212    CameraModel                          N
     244    CameraPartNumber                     N
     260    CameraSerialNumber                   N
@@ -7568,9 +7830,12 @@ Tags extracted from FLIR Public image Format (FPF) files.
   0x1034   EXRMode                              int16u
   0x1040   ShadowTone                           int32s
   0x1041   HighlightTone                        int32s
+  0x1044   DigitalZoom                          int32u
   0x1050   ShutterType                          int16u
   0x1100   AutoBracketing                       int16u
   0x1101   SequenceNumber                       int16u
+  0x1153   PanoramaAngle                        int16u
+  0x1154   PanoramaDirection                    int16u
   0x1201   AdvancedFilter                       int32u
   0x1210   ColorMode                            int16u
   0x1300   BlurWarning                          int16u
@@ -7864,6 +8129,100 @@ Z7590.
     104    DigitalZoom                          int16u
     107    Sharpness                            int8s
 
+=head3 Kodak IFD Tags
+
+These tags are found in a separate IFD of JPEG, TIFF, DCR and KDC images
+from some older Kodak models such as the DC50, DC120, DCS760C, DCS Pro 14N,
+14nx, SLR/n, Pro Back and Canon EOS D2000.
+
+  Tag ID   Tag Name                             Writable
+  ------   --------                             --------
+  0x0001   UnknownEV?                           rational64u
+  0x0003   ExposureValue                        rational64u
+  0x03e9   OriginalFileName                     string
+  0x03eb   SensorLeftBorder                     N
+  0x03ec   SensorTopBorder                      N
+  0x03ed   SensorImageWidth                     N
+  0x03ee   SensorImageHeight                    N
+  0x03f1   TextualInfo                          Kodak TextualInfo
+  0x03fc   WhiteBalance                         int16u
+  0x03fd   Processing                           Kodak Processing
+  0x0401   Time                                 string
+  0x0406   CameraTemperature                    rational64s
+  0x0407   AdapterVoltage                       rational64u
+  0x0408   BatteryVoltage                       rational64u
+  0x0414   NCDFileInfo                          string
+  0x0846   ColorTemperature                     int16u
+  0x0848   WB_RGBLevelsDaylight                 N
+  0x0849   WB_RGBLevelsTungsten                 N
+  0x084a   WB_RGBLevelsFluorescent              N
+  0x084b   WB_RGBLevelsFlash                    N
+  0x084c   WB_RGBLevelsCustom                   N
+  0x084d   WB_RGBLevelsAuto                     N
+  0x0852   WB_RGBMul0                           N
+  0x0853   WB_RGBMul1                           N
+  0x0854   WB_RGBMul2                           N
+  0x0855   WB_RGBMul3                           N
+  0x085c   WB_RGBCoeffs0                        N
+  0x085d   WB_RGBCoeffs1                        N
+  0x085e   WB_RGBCoeffs2                        N
+  0x085f   WB_RGBCoeffs3                        N
+  0x0903   BaseISO                              rational64u
+  0x09ce   SensorSerialNumber                   string
+  0x0ce5   FirmwareVersion                      string
+  0x0e4c   KodakLook                            string
+  0x1389   InputProfile                         undef
+  0x138a   KodakLookProfile                     undef
+  0x138b   OutputProfile                        undef
+  0x1391   ToneCurveFileName                    string
+  0x1784   ISO                                  int32u
+
+=head3 Kodak TextualInfo Tags
+
+Below is a list of tags which have been observed in the Kodak TextualInfo
+data, however ExifTool will extract information from any tags found here.
+
+  Tag ID                Tag Name                Writable
+  ------                --------                --------
+  'AF Function'         AFMode                  N
+  'Actual Compensation' ActualCompensation      N
+  'Aperture'            Aperture                N
+  'Auto Bracket'        AutoBracket             N
+  'Brightness Value'    BrightnessValue         N
+  'Camera'              CameraModel             N
+  'Camera body'         CameraBody              N
+  'Compensation'        ExposureCompensation    N
+  'Date'                Date                    N
+  'Exposure Bias'       ExposureBias            N
+  'Exposure Mode'       ExposureMode            N
+  'Firmware Version'    FirmwareVersion         N
+  'Flash Compensation'  FlashExposureComp       N
+  'Flash Fired'         FlashFired              N
+  'Flash Sync Mode'     FlashSyncMode           N
+  'Focal Length'        FocalLength             N
+  'Height'              KodakImageHeight        N
+  'ISO'                 ISO                     N
+  'ISO Speed'           ISO                     N
+  'Image Number'        ImageNumber             N
+  'Max Aperture'        MaxAperture             N
+  'Meter Mode'          MeterMode               N
+  'Min Aperture'        MinAperture             N
+  'Popup Flash'         PopupFlash              N
+  'Serial Number'       SerialNumber            N
+  'Shooting Mode'       ShootingMode            N
+  'Shutter'             ShutterSpeed            N
+  'Temperature'         Temperature             N
+  'Time'                Time                    N
+  'White balance'       WhiteBalance            N
+  'Width'               KodakImageWidth         N
+  '_other_info'         OtherInfo               N
+
+=head3 Kodak Processing Tags
+
+  Index2   Tag Name                             Writable
+  ------   --------                             --------
+     20    WB_RGBLevels                         N
+
 =head3 Kodak Type2 Tags
 
 These tags are used by the Kodak DC220, DC260, DC265 and DC290,
@@ -8091,119 +8450,25 @@ indicator instead of a full TIFF header.  These tags are used by the Z980.
   0x0014   ISO                                  int16u
   0x001d   FocalLength                          int32u
 
-=head3 Kodak Type11 Tags
-
-These tags are found in models such as the PixPro S-1.  They are not
-writable because the inconsistency of Kodak maker notes is beginning to get
-on my nerves.
-
-  Tag ID   Tag Name                             Writable
-  ------   --------                             --------
-  0x0203   PictureEffect                        N
-  0x0207   KodakModel                           N
-  0x0300   KodakMake                            N
-  0x0308   LensSerialNumber                     N
-  0x0309   LensModel                            N
-
-=head3 Kodak Unknown Tags
-
-  Index1   Tag Name                             Writable
-  ------   --------                             --------
-  [no tags known]
-
-=head3 Kodak IFD Tags
-
-These tags are found in a separate IFD of JPEG, TIFF, DCR and KDC images
-from some older Kodak models such as the DC50, DC120, DCS760C, DCS Pro 14N,
-14nx, SLR/n, Pro Back and Canon EOS D2000.
-
-  Tag ID   Tag Name                             Writable
-  ------   --------                             --------
-  0x0001   UnknownEV?                           rational64u
-  0x0003   ExposureValue                        rational64u
-  0x03e9   OriginalFileName                     string
-  0x03eb   SensorLeftBorder                     N
-  0x03ec   SensorTopBorder                      N
-  0x03ed   SensorImageWidth                     N
-  0x03ee   SensorImageHeight                    N
-  0x03f1   TextualInfo                          Kodak TextualInfo
-  0x03fc   WhiteBalance                         int16u
-  0x03fd   Processing                           Kodak Processing
-  0x0401   Time                                 string
-  0x0406   CameraTemperature                    rational64s
-  0x0407   AdapterVoltage                       rational64u
-  0x0408   BatteryVoltage                       rational64u
-  0x0414   NCDFileInfo                          string
-  0x0846   ColorTemperature                     int16u
-  0x0848   WB_RGBLevelsDaylight                 N
-  0x0849   WB_RGBLevelsTungsten                 N
-  0x084a   WB_RGBLevelsFluorescent              N
-  0x084b   WB_RGBLevelsFlash                    N
-  0x084c   WB_RGBLevelsCustom                   N
-  0x084d   WB_RGBLevelsAuto                     N
-  0x0852   WB_RGBMul0                           N
-  0x0853   WB_RGBMul1                           N
-  0x0854   WB_RGBMul2                           N
-  0x0855   WB_RGBMul3                           N
-  0x085c   WB_RGBCoeffs0                        N
-  0x085d   WB_RGBCoeffs1                        N
-  0x085e   WB_RGBCoeffs2                        N
-  0x085f   WB_RGBCoeffs3                        N
-  0x0903   BaseISO                              rational64u
-  0x09ce   SensorSerialNumber                   string
-  0x0ce5   FirmwareVersion                      string
-  0x0e4c   KodakLook                            string
-  0x1389   InputProfile                         undef
-  0x138a   KodakLookProfile                     undef
-  0x138b   OutputProfile                        undef
-  0x1391   ToneCurveFileName                    string
-  0x1784   ISO                                  int32u
-
-=head3 Kodak TextualInfo Tags
-
-Below is a list of tags which have been observed in the Kodak TextualInfo
-data, however ExifTool will extract information from any tags found here.
-
-  Tag ID                Tag Name                Writable
-  ------                --------                --------
-  'AF Function'         AFMode                  N
-  'Actual Compensation' ActualCompensation      N
-  'Aperture'            Aperture                N
-  'Auto Bracket'        AutoBracket             N
-  'Brightness Value'    BrightnessValue         N
-  'Camera'              CameraModel             N
-  'Camera body'         CameraBody              N
-  'Compensation'        ExposureCompensation    N
-  'Date'                Date                    N
-  'Exposure Bias'       ExposureBias            N
-  'Exposure Mode'       ExposureMode            N
-  'Firmware Version'    FirmwareVersion         N
-  'Flash Compensation'  FlashExposureComp       N
-  'Flash Fired'         FlashFired              N
-  'Flash Sync Mode'     FlashSyncMode           N
-  'Focal Length'        FocalLength             N
-  'Height'              KodakImageHeight        N
-  'ISO'                 ISO                     N
-  'ISO Speed'           ISO                     N
-  'Image Number'        ImageNumber             N
-  'Max Aperture'        MaxAperture             N
-  'Meter Mode'          MeterMode               N
-  'Min Aperture'        MinAperture             N
-  'Popup Flash'         PopupFlash              N
-  'Serial Number'       SerialNumber            N
-  'Shooting Mode'       ShootingMode            N
-  'Shutter'             ShutterSpeed            N
-  'Temperature'         Temperature             N
-  'Time'                Time                    N
-  'White balance'       WhiteBalance            N
-  'Width'               KodakImageWidth         N
-  '_other_info'         OtherInfo               N
+=head3 Kodak Type11 Tags
 
-=head3 Kodak Processing Tags
+These tags are found in models such as the PixPro S-1.  They are not
+writable because the inconsistency of Kodak maker notes is beginning to get
+on my nerves.
 
-  Index2   Tag Name                             Writable
+  Tag ID   Tag Name                             Writable
   ------   --------                             --------
-     20    WB_RGBLevels                         N
+  0x0203   PictureEffect                        N
+  0x0207   KodakModel                           N
+  0x0300   KodakMake                            N
+  0x0308   LensSerialNumber                     N
+  0x0309   LensModel                            N
+
+=head3 Kodak Unknown Tags
+
+  Index1   Tag Name                             Writable
+  ------   --------                             --------
+  [no tags known]
 
 =head3 Kodak Meta Tags
 
@@ -9112,7 +9377,9 @@ DiMAGE X and Xt.
            ShotInfoD7000                        Nikon ShotInfoD7000
            ShotInfoD4                           Nikon ShotInfoD4
            ShotInfoD4S                          Nikon ShotInfoD4S
+           ShotInfoD5                           Nikon ShotInfoD500
            ShotInfoD500                         Nikon ShotInfoD500
+           ShotInfoD610                         Nikon ShotInfoD610
            ShotInfo02xx                         Nikon ShotInfo
            ShotInfoUnknown                      Nikon ShotInfo
   0x0092   HueAdjustment                        int16s
@@ -9597,12 +9864,15 @@ These tags are extracted from encrypted data in images from the D4S.
 
 =head3 Nikon ShotInfoD500 Tags
 
-These tags are extracted from encrypted data in images from the D500.
+These tags are extracted from encrypted data in images from the D5 and D500.
 
    Index   Tag Name                             Writable
    -----   --------                             --------
       0    ShotInfoVersion                      N
       4    FirmwareVersion                      N
+     16    RotationInfoOffset                   N
+     20    JPGInfoOffset                        N
+     44    BracketingInfoOffset                 N
      80    ShootingMenuOffset                   N
      88    CustomSettingsOffset                 N
     202    Rotation                             int8u & 0x03
@@ -9618,7 +9888,18 @@ These tags are extracted from encrypted data in images from the D500.
    3714    ISOAutoHiLimit                       int8u & 0xff
    3716    FlickerReduction                     int8u & 0x20
   3716.1    PhotoShootingMenuBankImageArea       int8u & 0x07
-   3819    CustomSettingsD500                   NikonCustom SettingsD500
+   3819    CustomSettingsD5                     NikonCustom SettingsD5
+           CustomSettingsD500                   NikonCustom SettingsD500
+
+=head3 Nikon ShotInfoD610 Tags
+
+These tags are extracted from encrypted data in images from the D610.
+
+   Index   Tag Name                             Writable
+   -----   --------                             --------
+      0    ShotInfoVersion                      N
+      4    FirmwareVersion                      N
+   1999    CustomSettingsD610                   NikonCustom SettingsD610
 
 =head3 Nikon ShotInfo Tags
 
@@ -9838,12 +10119,20 @@ D5200, D7000.
 
 =head3 Nikon FlashInfo0107 Tags
 
-These tags are used by the D500.
+These tags are used by the D4S, D750, D810, D5500, D7200 (FlashInfoVersion
+0107) and the D5, D500 and D3400 (FlashInfoVersion 0108).
 
   Index1   Tag Name                             Writable
   ------   --------                             --------
       0    FlashInfoVersion                     N
+      4    FlashSource                          int8u
+      6    ExternalFlashFirmware                int8u[2]
       8    ExternalFlashStatus                  int8u[1] & 0x81
+      9    ExternalFlashReadyState              int8u & 0x07
+     10    FlashCompensation                    int8s
+     13    RepeatingFlashRate                   int8u
+     14    RepeatingFlashCount                  int8u
+     15    FlashGNDistance                      int8u
 
 =head3 Nikon FlashInfoUnknown Tags
 
@@ -10485,7 +10774,7 @@ Custom settings for the D800 and D800E.
 
 =head3 NikonCustom SettingsD810 Tags
 
-Custom settings for the D810
+Custom settings for the D810.
 
   Index1   Tag Name                             Writable
   ------   --------                             --------
@@ -10682,9 +10971,9 @@ Custom settings for the D7000.
     0.2    AF-SPrioritySelection                int8u & 0x20
     0.3    NumberOfFocusPoints                  int8u & 0x10
     0.4    FocusTrackingLockOn                  int8u & 0x07
-    1.2    FocusPointWrap                       int8u & 0x08
-    1.3    AFPointIllumination                  int8u & 0x06
-    1.4    AFAssist                             int8u & 0x01
+    1.1    FocusPointWrap                       int8u & 0x08
+    1.2    AFPointIllumination                  int8u & 0x06
+    1.3    AFAssist                             int8u & 0x01
     2.1    BatteryOrder                         int8u & 0x40
     2.2    AF-OnForMB-D11                       int8u & 0x1c
     2.3    MB-D11BatteryType                    int8u & 0x03
@@ -10839,9 +11128,105 @@ Custom settings for the D4 and D4S.
    54.1    AssignRemoteFnButton                 int8u & 0x1f
    55.1    LensFocusFunctionButtons             int8u & 0x3f
 
+=head3 NikonCustom SettingsD5 Tags
+
+Custom settings for the D5.
+
+  Index1   Tag Name                             Writable
+  ------   --------                             --------
+    0.1    CustomSettingsBank                   int8u & 0x03
+    1.1    AF-CPrioritySelection                int8u & 0xc0
+    1.2    NumberOfFocusPoints                  int8u & 0x10
+    1.3    Three-DTrackingFaceDetection         int8u & 0x08
+    1.4    AF-SPrioritySelection                int8u & 0x20
+    1.5    BlockShotAFResponse                  int8u & 0x07
+    2.1    FocusPointWrap                       int8u & 0x08
+    2.2    AFPointBrightness                    int8u & 0x06
+    4.1    ISODisplay                           int8u & 0x08
+    4.2    GridDisplay                          int8u & 0x02
+    5.1    LCDIllumination                      int8u & 0x20
+    5.2    ElectronicFront-CurtainShutter       int8u & 0x08
+    6.1    ReverseIndicators                    int8u & 0x80
+    6.2    CommandDialsReverseRotation          int8u & 0x18
+    6.3    EasyExposureCompensation             int8u & 0x03
+    7.1    ExposureControlStepSize              int8u & 0xc0
+    7.2    ISOStepSize                          int8u & 0x30
+    7.3    ExposureCompStepSize                 int8u & 0x0c
+    8.1    CenterWeightedAreaSize               int8u & 0xe0
+    8.2    FineTuneOptMatrixMetering            int8u & 0x0f
+    9.1    FineTuneOptCenterWeighted            int8u & 0xf0
+    9.2    FineTuneOptSpotMetering              int8u & 0x0f
+   10.1    MultiSelectorShootMode               int8u & 0xe0
+   10.3    MultiSelector                        int8u & 0x01
+   11.1    ExposureDelayMode                    int8u & 0xc0
+   11.2    CLModeShootingSpeed                  int8u & 0x0f
+   12.1    MaxContinuousRelease                 int8u
+   13.1    AutoBracketOrder                     int8u & 0x10
+   13.2    AutoBracketModeM                     int8u & 0x0c
+   14.1    Func1Button                          int8u & 0x3f
+   15.1    PreviewButton                        int8u & 0x3f
+   16.1    AssignBktButton                      int8u & 0x07
+   18.1    CommandDialsChangeMainSub            int8u & 0xe0
+   18.2    CommandDialsMenuAndPlayback          int8u & 0x18
+   18.3    CommandDialsApertureSetting          int8u & 0x04
+   18.4    ReleaseButtonToUseDial               int8u & 0x01
+   19.1    StandbyTimer                         int8u & 0xf0
+   20.1    SelfTimerTime                        int8u & 0xc0
+   20.2    SelfTimerShotInterval                int8u & 0x30
+   20.3    SelfTimerShotCount                   int8u & 0x0f
+   21.1    ImageReviewMonitorOffTime            int8u & 0xe0
+   21.2    LiveViewMonitorOffTime               int8u & 0x1c
+   22.1    MenuMonitorOffTime                   int8u & 0xe0
+   22.2    ShootingInfoMonitorOffTime           int8u & 0x1c
+   23.1    FlashSyncSpeed                       int8u & 0xf0
+   23.2    FlashShutterSpeed                    int8u & 0x0f
+   31.1    ModelingFlash                        int8u & 0x20
+   36.1    PlaybackMonitorOffTime               int8u & 0xe0
+   37.1    MultiSelectorLiveView                int8u & 0xc0
+   38.1    ShutterSpeedLock                     int8u & 0x80
+   38.2    ApertureLock                         int8u & 0x40
+   38.3    MovieShutterButton                   int8u & 0x10
+   38.4    FlashExposureCompArea                int8u & 0x04
+   38.5    AutoFlashISOSensitivity              int8u & 0x02
+   41.1    MovieFunc1Button                     int8u & 0xf0
+   41.2    MoviePreviewButton                   int8u & 0x0f
+   42.1    Func1ButtonPlusDials                 int8u & 0x0f
+   43.1    PreviewButtonPlusDials               int8u & 0x0f
+   45.1    AssignMovieRecordButtonPlusDials     int8u & 0x0f
+   46.1    FineTuneOptHighlightWeighted         int8u & 0x0f
+   47.1    DynamicAreaAFDisplay                 int8u & 0x80
+   47.2    AFPointIllumination                  int8u & 0x40
+   47.3    StoreByOrientation                   int8u & 0x18
+   48.1    MatrixMetering                       int8u & 0x80
+   48.2    LiveViewButtonOptions                int8u & 0x30
+   48.3    AFModeRestrictions                   int8u & 0x03
+   49.1    LimitAFAreaModeSelection             int8u & 0x7e
+   52.1    LensFocusFunctionButtons             int8u & 0x3f
+   66.1    VerticalMultiSelector                int8u & 0xff
+   67.1    VerticalFuncButton                   int8u & 0x3f
+   68.1    VerticalFuncPlusDials                int8u & 0x0f
+   70.1    AF-OnButton                          int8u & 0x3f
+   71.1    SubSelector                          int8u & 0x80
+   72.1    SubSelectorCenter                    int8u & 0x3f
+   73.1    SubSelectorPlusDials                 int8u & 0x0f
+   74.1    AssignMovieSubselector               int8u & 0xf0
+   75.1    AssignMovieFunc1ButtonPlusDials      int8u & 0x10
+   75.2    AssignMoviePreviewButtonPlusDials    int8u & 0x01
+   76.1    AssignMovieSubselectorPlusDials      int8u & 0x10
+   77.1    SyncReleaseMode                      int8u & 0x80
+   78.1    Three-DTrackingWatchArea             int8u & 0x80
+   78.2    SubjectMotion                        int8u & 0x60
+   78.3    AFActivation                         int8u & 0x08
+   78.4    ShutterReleaseButtonAE-L             int8u & 0x03
+   79.1    VerticalAFOnButton                   int8u & 0x7f
+   80.1    Func2Button                          int8u & 0x3f
+   81.1    Func2ButtonPlusDials                 int8u & 0x0f
+   82.1    AssignMovieFunc2Button               int8u & 0x70
+   83.1    Func3Button                          int8u & 0x03
+
 =head3 NikonCustom SettingsD500 Tags
 
-Custom settings for the D500
+Custom settings for the D500.
 
   Index1   Tag Name                             Writable
   ------   --------                             --------
@@ -10900,7 +11285,7 @@ Custom settings for the D500
    38.3    MovieShutterButton                   int8u & 0x10
    38.4    FlashExposureCompArea                int8u & 0x04
    38.5    AutoFlashISOSensitivity              int8u & 0x02
-   41.1    MoviePreviewButton                   int8u & 0xf0
+   41.1    MovieFunc1Button                     int8u & 0xf0
    41.2    MoviePreviewButton                   int8u & 0x0f
    42.1    Func1ButtonPlusDials                 int8u & 0x0f
    43.1    PreviewButtonPlusDials               int8u & 0x0f
@@ -10935,6 +11320,38 @@ Custom settings for the D500
    80.1    Func2Button                          int8u & 0x3f
    82.1    AssignMovieFunc2Button               int8u & 0x70
 
+=head3 NikonCustom SettingsD610 Tags
+
+Custom settings for the D610.
+
+  Index1   Tag Name                             Writable
+  ------   --------                             --------
+    0.1    AF-CPrioritySelection                int8u & 0x80
+    0.2    AF-SPrioritySelection                int8u & 0x20
+    0.3    NumberOfFocusPoints                  int8u & 0x10
+    0.4    FocusTrackingLockOn                  int8u & 0x07
+    1.1    FocusPointWrap                       int8u & 0x08
+    1.2    AFPointIllumination                  int8u & 0x06
+    1.3    AFAssist                             int8u & 0x01
+    5.1    EasyExposureCompensation             int8u & 0x03
+    6.1    ExposureControlStep                  int8u & 0x40
+    6.2    ISOSensitivityStep                   int8u & 0x10
+    7.1    CenterWeightedAreaSize               int8u & 0xe0
+    7.2    FineTuneOptMatrixMetering            int8u & 0x0f
+    8.1    FineTuneOptCenterWeighted            int8u & 0xf0
+    8.2    FineTuneOptSpotMetering              int8u & 0x0f
+   17.1    ShutterReleaseButtonAE-L             int8u & 0x02
+   18.1    StandbyTimer                         int8u & 0xf0
+   18.2    RemoteOnDuration                     int8u & 0x03
+   19.1    SelfTimerTime                        int8u & 0xc0
+   19.2    SelfTimerShotInterval                int8u & 0x30
+   19.3    SelfTimerShotCount                   int8u & 0x0f
+   20.1    ImageReviewMonitorOffTime            int8u & 0xe0
+   20.2    LiveViewMonitorOffTime               int8u & 0x1c
+   21.1    MenuMonitorOffTime                   int8u & 0xe0
+   21.2    ShootingInfoMonitorOffTime           int8u & 0x1c
+   35.1    PlaybackMonitorOffTime               int8u & 0xe0
+
 =head2 NikonCapture Tags
 
 This information is written by the Nikon Capture software in tag 0x0e01 of
@@ -13118,12 +13535,16 @@ Tags found in the EXIF-format maker notes of newer Samsung models.
   0x0001   MakerNoteVersion                     undef[4]
   0x0002   DeviceType                           int32u
   0x0003   SamsungModelID                       int32u
+  0x0011   OrientationInfo                      Samsung OrientationInfo
+  0x0020   SmartAlbumColor                      int16u[2]
   0x0021   PictureWizard                        Samsung PictureWizard
   0x0030   LocalLocationName                    string
   0x0031   LocationName                         string
   0x0035   PreviewIFD                           Nikon PreviewIFD
+  0x0040   RawDataByteOrder                     Y
+  0x0041   WhiteBalanceSetup                    int32u
   0x0043   CameraTemperature                    rational64s
-  0x0045   RawCompressionMode                   int32u
+  0x0050   RawDataCFAPattern                    Y
   0x0100   FaceDetect                           int16u
   0x0120   FaceRecognition                      int32u
   0x0123   FaceName                             string
@@ -13164,6 +13585,16 @@ Tags found in the EXIF-format maker notes of newer Samsung models.
   0xa053   VignettingCorrection?                int16u[15]
   0xa054   VignettingSetting?                   int16u[15]
 
+=head3 Samsung OrientationInfo Tags
+
+Camera orientation information written by the Gear 360 (SM-C200).
+
+  Index8   Tag Name                             Writable
+  ------   --------                             --------
+      0    YawAngle?                            rational64s
+      1    PitchAngle                           rational64s
+      2    RollAngle                            rational64s
+
 =head3 Samsung PictureWizard Tags
 
   Index2   Tag Name                             Writable
@@ -13508,6 +13939,7 @@ are less than consistent about their metadata formats.
   0x0057   Firmware                             string
   0x0058   WhiteBalance                         string
   0x0059   DigitalFilter                        string
+  0x0084   Model                                string
 
 =head2 Sony Tags
 
@@ -15009,6 +15441,7 @@ Tags in the encrypted SR2SubIFD
   0x782c   WB_RGBLevels3200K                    N
   0x782d   WB_RGBLevels2500K                    N
   0x787f   WhiteLevel                           N
+  0x797d   LightFalloffParams                   N
   0x7980   ChromaticAberrationCorrParams        N
   0x7982   DistortionCorrParams                 N
 
@@ -17424,6 +17857,9 @@ for the AFCP specification.
 Tags defined in the Darwin Core (dwc) XMP namespace.  See
 L<http://rs.tdwg.org/dwc/index.htm> for the official specification.
 
+
+These tags belong to the ExifTool XMP-dwc family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   DCTermsLocation                               DarwinCore DCTermsLocation Struct
@@ -17883,7 +18319,10 @@ soft edit information stored under record number 2.
 
 Below is a list of the observed PhotoMechanic XMP tags.  The actual
 namespace prefix is "photomechanic" but ExifTool shortens this in
-the "XMP-photomech" family 1 group name.
+the family 1 group name.
+
+
+These tags belong to the ExifTool XMP-photomech family 1 group.
 
   Tag Name                                      Writable
   --------                                      --------
@@ -17901,8 +18340,11 @@ the "XMP-photomech" family 1 group name.
 
 Microsoft Photo 1.0 schema XMP tags.  This is likely not a complete list,
 but represents tags which have been observed in sample images.  The actual
-namespace prefix is "MicrosoftPhoto", but ExifTool shortens this to
-"XMP-microsoft" in the family 1 group name.
+namespace prefix is "MicrosoftPhoto", but ExifTool shortens this in the
+family 1 group name.
+
+
+These tags belong to the ExifTool XMP-microsoft family 1 group.
 
   Tag Name                                      Writable
   --------                                      --------
@@ -17922,6 +18364,9 @@ namespace prefix is "MicrosoftPhoto", but ExifTool shortens this to
 
 Microsoft Photo 1.1 schema XMP tags which have been observed.
 
+
+These tags belong to the ExifTool XMP-MP1 family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Brightness                                    string/
@@ -17944,6 +18389,9 @@ Microsoft Photo 1.1 schema XMP tags which have been observed.
 
 Microsoft Photo 1.2 schema XMP tags which have been observed.
 
+
+These tags belong to the ExifTool XMP-MP family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   RegionInfoDateRegionsValid                    date_
@@ -18842,6 +19290,7 @@ currently writes only EXIF, IPTC and XMP tags in these images.
   'url '   URL                                  N
   'uuid'   UUID-EXIF                            EXIF
            UUID-EXIF2                           EXIF
+           UUID-EXIF_bad                        EXIF
            UUID-IPTC                            IPTC
            UUID-IPTC2                           IPTC
            UUID-XMP                             XMP
@@ -19164,6 +19613,7 @@ this data as additional PNG chunks.
   ------             --------                   --------
   'IHDR'             ImageHeader                PNG ImageHeader
   'PLTE'             Palette                    N
+  'acTL'             AnimationControl           PNG AnimationControl
   'bKGD'             BackgroundColor            N
   'cHRM'             PrimaryChromaticities      PNG PrimaryChromaticities
   'dSIG'             DigitalSignature           N
@@ -19203,6 +19653,16 @@ this data as additional PNG chunks.
      11    Filter                               N
      12    Interlace                            N
 
+=head3 PNG AnimationControl Tags
+
+Tags found in the Animation Conrol chunk.  See
+L<https://wiki.mozilla.org/APNG_Specification> for details.
+
+  Index4   Tag Name                             Writable
+  ------   --------                             --------
+      0    AnimationFrames                      N
+      1    AnimationPlays                       N
+
 =head3 PNG PrimaryChromaticities Tags
 
   Index4   Tag Name                             Writable
@@ -19526,6 +19986,22 @@ JNG images.
       0    DeltaType                            N
       2    Priority                             N
 
+=head2 FLIF Tags
+
+Information extracted from Free Lossless Image Format files.  See
+L<http://flif.info/> for more information.
+
+  Tag ID   Tag Name                             Writable
+  ------   --------                             --------
+      0    ImageType                            N
+      1    BitDepth                             N
+      2    ImageWidth                           N
+      3    ImageHeight                          N
+      4    AnimationFrames                      N
+  'eXif'   EXIF                                 EXIF
+  'eXmp'   XMP                                  XMP
+  'iCCP'   ICC_Profile                          ICC_Profile
+
 =head2 DjVu Tags
 
 Information is extracted from the following chunks in DjVu images. See
@@ -20506,22 +20982,6 @@ This information is found in iTunes Cover Flow data files.
 
 =head2 FLAC Tags
 
-=head3 FLAC Picture Tags
-
-  Index4   Tag Name                             Writable
-  ------   --------                             --------
-      0    PictureType                          N
-      1    PictureMIMEType                      N
-      2    PictureDescription                   N
-      3    PictureWidth                         N
-      4    PictureHeight                        N
-      5    PictureBitsPerPixel                  N
-      6    PictureIndexedColors                 N
-      7    PictureLength                        N
-      8    Picture                              N
-
-=head2 FLAC Tags
-
 Free Lossless Audio Codec (FLAC) meta information.  ExifTool also extracts
 ID3 information from these files.
 
@@ -20550,6 +21010,20 @@ FLAC is big-endian, so bit 0 is the high-order bit in this table.
   'Bit103-107'         BitsPerSample            N
   'Bit108-143'         TotalSamples             N
 
+=head3 FLAC Picture Tags
+
+  Index4   Tag Name                             Writable
+  ------   --------                             --------
+      0    PictureType                          N
+      1    PictureMIMEType                      N
+      2    PictureDescription                   N
+      3    PictureWidth                         N
+      4    PictureHeight                        N
+      5    PictureBitsPerPixel                  N
+      6    PictureIndexedColors                 N
+      7    PictureLength                        N
+      8    Picture                              N
+
 =head2 Ogg Tags
 
 ExifTool extracts the following types of information from Ogg files.  See
@@ -20573,17 +21047,6 @@ L<http://www.xiph.org/vorbis/doc/> for the Vorbis specification.
   0x0001   Identification                       Vorbis Identification
   0x0003   Comments                             Vorbis Comments
 
-=head3 Vorbis Identification Tags
-
-  Index1   Tag Name                             Writable
-  ------   --------                             --------
-      0    VorbisVersion                        N
-      4    AudioChannels                        N
-      5    SampleRate                           N
-      9    MaximumBitrate                       N
-     13    NominalBitrate                       N
-     17    MinimumBitrate                       N
-
 =head3 Vorbis Comments Tags
 
 The tags below are only some common tags found in the Vorbis comments of Ogg
@@ -20625,6 +21088,17 @@ any tag found, even if not listed here.
   'VERSION'                Version              N
   'vendor'                 Vendor               N
 
+=head3 Vorbis Identification Tags
+
+  Index1   Tag Name                             Writable
+  ------   --------                             --------
+      0    VorbisVersion                        N
+      4    AudioChannels                        N
+      5    SampleRate                           N
+      9    MaximumBitrate                       N
+     13    NominalBitrate                       N
+     17    MinimumBitrate                       N
+
 =head2 Opus Tags
 
 Information extracted from Ogg Opus files.  See
@@ -21301,6 +21775,7 @@ ItemList tags written by the "mdta" handler.  The prefix of
   'tref'   TrackRef                             QuickTime TrackRef
   'udta'   UserData                             QuickTime UserData
   'uuid'   UUID-USMT                            QuickTime UserMedia
+           SphericalVideoXML                    XMP
            UUID-Unknown?                        N
 
 =head3 QuickTime Media Tags
@@ -21529,6 +22004,8 @@ Child atoms found in "sinf" and/or "pinf" atoms.
   'fiel'   VideoFieldOrder                      N
   'gama'   Gamma                                N
   'pasp'   PixelAspectRatio                     N
+  'st3d'   Stereoscopic3D                       N
+  'sv3d'   SphericalVideo                       QuickTime sv3d
 
 =head3 QuickTime Bitrate Tags
 
@@ -21547,6 +22024,48 @@ Child atoms found in "sinf" and/or "pinf" atoms.
       2    CleanApertureOffsetX                 N
       3    CleanApertureOffsetY                 N
 
+=head3 QuickTime sv3d Tags
+
+Tags defined by the Spherical Video V2 specification (see
+https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md).
+
+  Tag ID   Tag Name                             Writable
+  ------   --------                             --------
+  'proj'   Projection                           QuickTime proj
+  'svhd'   MetadataSource                       N
+
+=head3 QuickTime proj Tags
+
+  Tag ID   Tag Name                             Writable
+  ------   --------                             --------
+  'cbmp'   CubemapProj                          QuickTime cbmp
+  'equi'   EquirectangularProj                  QuickTime equi
+  'prhd'   ProjectionHeader                     QuickTime prhd
+
+=head3 QuickTime cbmp Tags
+
+  Index4   Tag Name                             Writable
+  ------   --------                             --------
+      1    Layout                               N
+      2    Padding                              N
+
+=head3 QuickTime equi Tags
+
+  Index4   Tag Name                             Writable
+  ------   --------                             --------
+      1    ProjectionBoundsTop                  N
+      2    ProjectionBoundsBottom               N
+      3    ProjectionBoundsLeft                 N
+      4    ProjectionBoundsRight                N
+
+=head3 QuickTime prhd Tags
+
+  Index4   Tag Name                             Writable
+  ------   --------                             --------
+      1    PoseYawDegrees                       N
+      2    PosePitchDegrees                     N
+      3    PoseRollDegrees                      N
+
 =head3 QuickTime HintSampleDesc Tags
 
 MP4 hint sample description.
@@ -22144,6 +22663,7 @@ Matroska specification.
   0x3e9a       SignatureHash                    N
   0x3ea5       SignaturePublicKey?              N
   0x3eb5       Signature?                       N
+  0x7670       Projection                       Matroska Projection
   0x2b59c      TrackLanguage                    N
   0x3314f      TrackTimecodeScale               N
   0x383e3      FrameRate                        N
@@ -22174,6 +22694,21 @@ Matroska specification.
   0xc53bb6b    Cues                             Matroska
   0xf43b675    Cluster                          Matroska
 
+=head3 Matroska Projection Tags
+
+Projection tags defined by the Spherical Video V2 specification.  See
+L<https://github.com/google/spatial-media/blob/master/docs/spherical-video-v2-rfc.md>
+for the specification.
+
+  Tag ID   Tag Name                             Writable
+  ------   --------                             --------
+  0x7671   ProjectionType                       N
+  0x7672   EquirectangularProj                  QuickTime equi
+           CubemapProj                          QuickTime cbmp
+  0x7673   ProjectionPosYaw                     N
+  0x7674   ProjectionPosPitch                   N
+  0x7675   ProjectionPosRoll                    N
+
 =head2 MOI Tags
 
 MOI files store information about associated MOD or TOD files, and are
@@ -29095,7 +29630,7 @@ tag is used for dry-run testing before writing FileName.
   ProcessingTime             ExifTool           N
   RAFVersion                 File               N
   ResourceForkSize           System             N
-  TestName                   -                  Y
+  TestName                   -                  Y!
   Warning                    ExifTool           N
   XMP                        XMP                Y!
   XResolution                File               N
@@ -29170,14 +29705,14 @@ values, may created via the ExifTool configuration file.
                        Canon:DigitalZoom
   DriveMode            ContinuousDrive          N
                        SelfTimer
+  Duration             FLAC:SampleRate          N
+                       FLAC:TotalSamples
   Duration             Vorbis:NominalBitrate    N
                        FileSize
   Duration             APE:SampleRate           N
                        APE:TotalFrames
                        APE:BlocksPerFrame
                        APE:FinalFrameBlocks
-  Duration             FLAC:SampleRate          N
-                       FLAC:TotalSamples
   Duration             FileSize                 N
                        ID3Size
                        MPEG:AudioBitrate
@@ -29356,12 +29891,15 @@ values, may created via the ExifTool configuration file.
   ShutterSpeed         ExposureTime             N
                        ShutterSpeedValue
                        BulbDuration
-  SubSecCreateDate     EXIF:CreateDate          N
+  SubSecCreateDate     EXIF:CreateDate          Y
                        SubSecTimeDigitized
-  SubSecDateTimeOriginal EXIF:DateTimeOriginal  N
+                       OffsetTimeDigitized
+  SubSecDateTimeOriginal EXIF:DateTimeOriginal  Y
                        SubSecTimeOriginal
-  SubSecModifyDate     EXIF:ModifyDate          N
+                       OffsetTimeOriginal
+  SubSecModifyDate     EXIF:ModifyDate          Y
                        SubSecTime
+                       OffsetTime
   ThumbnailImage       ThumbnailOffset          Y
                        ThumbnailLength
   ThumbnailTIFF        SubfileType              N
@@ -29747,10 +30285,12 @@ implements this policy and changes EXIF:Artist to a list-type tag.
 =head3 MWG Regions Tags
 
 Image region metadata defined by the MWG 2.0 specification.  These tags
-belong to the ExifTool XMP-mwg-rs group, and as such they may be accessed
-without the need to load the MWG Composite tags above.  See
+may be accessed without the need to load the MWG Composite tags above.  See
 L<http://www.metadataworkinggroup.org/> for the official specification.
 
+
+These tags belong to the ExifTool XMP-mwg-rs family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   RegionInfo                                    MWG RegionInfo Struct
@@ -29812,11 +30352,14 @@ conversion).
 
 =head3 MWG Keywords Tags
 
-Hierarchical keywords metadata defined by the MWG 2.0 specification.  These
-tags belong to the ExifTool XMP-mwg-kw group. ExifTool unrolls keyword
-structures to an arbitrary depth of 6 to allow individual levels to be
-accessed with different tag names, and to avoid infinite recursion.  See
-L<http://www.metadataworkinggroup.org/> for the official specification.
+Hierarchical keywords metadata defined by the MWG 2.0 specification.
+ExifTool unrolls keyword structures to an arbitrary depth of 6 to allow
+individual levels to be accessed with different tag names, and to avoid
+infinite recursion.  See L<http://www.metadataworkinggroup.org/> for the
+official specification.
+
+
+These tags belong to the ExifTool XMP-mwg-kw family 1 group.
 
   Tag Name                                      Writable
   --------                                      --------
@@ -29856,10 +30399,12 @@ L<http://www.metadataworkinggroup.org/> for the official specification.
 
 =head3 MWG Collections Tags
 
-Collections metadata defined by the MWG 2.0 specification.  These tags
-belong to the ExifTool XMP-mwg-coll group.  See
+Collections metadata defined by the MWG 2.0 specification.  See
 L<http://www.metadataworkinggroup.org/> for the official specification.
 
+
+These tags belong to the ExifTool XMP-mwg-coll family 1 group.
+
   Tag Name                                      Writable
   --------                                      --------
   Collections                                   MWG CollectionInfo Struct+
diff --git a/lib/Image/ExifTool/WriteExif.pl b/lib/Image/ExifTool/WriteExif.pl
index f12d238..cc281c5 100644
--- a/lib/Image/ExifTool/WriteExif.pl
+++ b/lib/Image/ExifTool/WriteExif.pl
@@ -38,7 +38,7 @@ my %mandatory = (
         0x0128 => 2,        # ResolutionUnit (inches)
     },
     ExifIFD => {
-        0x9000 => '0230',   # ExifVersion
+        0x9000 => '0231',   # ExifVersion
         0x9101 => "1 2 3 0",# ComponentsConfiguration
         0xa000 => '0100',   # FlashpixVersion
         0xa001 => 0xffff,   # ColorSpace (uncalibrated)
@@ -553,11 +553,12 @@ sub WriteExif($$$)
                     # need value to evaluate the condition
                     my $val = $et->GetNewValue($tagInfo);
                     # must convert to binary for evaluating in Condition
-                    if ($$tagInfo{Format} and defined $val) {
-                        $val = WriteValue($val, $$tagInfo{Format}, $$tagInfo{Count});
+                    my $fmt = $$tagInfo{Writable} || $$tagInfo{Format};
+                    if ($fmt and defined $val) {
+                        $val = WriteValue($val, $fmt, $$tagInfo{Count});
                     }
                     if (defined $val) {
-                        my $fmt = $$tagInfo{Writable} || $$tagInfo{Format} || 'undef';
+                        $fmt or $fmt = 'undef';
                         my $cnt = $$tagInfo{Count} || 1;
                         # always use old format/count for Condition in maker notes
                         if ($inMakerNotes) {
@@ -953,6 +954,10 @@ Entry:  for (;;) {
                                 $readFormName = $oldFormName;
                                 $readFormat = $oldFormat;
                             }
+                            if ($$oldInfo{FixedSize}) {
+                                $oldSize = $$oldInfo{FixedSize} if $$oldInfo{FixedSize};
+                                $oldValue = substr($$valueDataPt, $valuePtr, $oldSize);
+                            }
                             # adjust number of items to read if format size changed
                             $readCount = $oldSize / $formatSize[$readFormat];
                         }
@@ -1781,7 +1786,8 @@ NoOverwrite:            next if $isNew > 0;
             my $newSize = length($$newValuePt);
             my $fsize = $formatSize[$newFormat];
             my $offsetVal;
-            $newCount = int(($newSize + $fsize - 1) / $fsize);  # set proper count
+            # set proper count
+            $newCount = int(($newSize + $fsize - 1) / $fsize) unless $oldInfo and $$oldInfo{FixedSize};
             if ($newSize > 4) {
                 # zero-pad to an even number of bytes (required by EXIF standard)
                 # and make sure we are a multiple of the format size
diff --git a/lib/Image/ExifTool/WriteXMP.pl b/lib/Image/ExifTool/WriteXMP.pl
index c1a6ed8..3c44a7e 100644
--- a/lib/Image/ExifTool/WriteXMP.pl
+++ b/lib/Image/ExifTool/WriteXMP.pl
@@ -662,6 +662,7 @@ sub WriteXMP($$;$)
                     }
                 }
             } else {
+                $success = 2 if $success and $success eq '1';
                 if ($et->Warn($err, $success)) {
                     delete $$et{XMP_CAPTURE};
                     return undef;
diff --git a/lib/Image/ExifTool/Writer.pl b/lib/Image/ExifTool/Writer.pl
index 16a3ef3..3f2d11c 100644
--- a/lib/Image/ExifTool/Writer.pl
+++ b/lib/Image/ExifTool/Writer.pl
@@ -178,7 +178,7 @@ my %intRange = (
     'int32s' => [-0x80000000, 0x7fffffff],
 );
 # lookup for file types with block-writable EXIF
-my %blockExifTypes = map { $_ => 1 } qw(JPEG PNG JP2 MIE EXIF);
+my %blockExifTypes = map { $_ => 1 } qw(JPEG PNG JP2 MIE EXIF FLIF);
 
 my $maxSegmentLen = 0xfffd;     # maximum length of data in a JPEG segment
 my $maxXMPLen = $maxSegmentLen; # maximum length of XMP data in JPEG
@@ -464,7 +464,7 @@ sub SetNewValue($;$$%)
         }
         unless ($listOnly) {
             if (not TagExists($tag)) {
-                $err = "Tag '$origTag' does not exist";
+                $err = "Tag '$origTag' is not supported";
                 $err .= ' or has a bad language code' if $origTag =~ /-/;
             } elsif ($langCode) {
                 $err = "Tag '$tag' does not support alternate languages";
@@ -1006,7 +1006,7 @@ WriteAlso:
             } elsif ($foundMatch) {
                 $err = "Sorry, $pre$tag is not writable";
             } else {
-                $err = "Tag '$pre$tag' does not exist";
+                $err = "Tag '$pre$tag' is not supported";
             }
         }
         if ($err) {
@@ -1110,6 +1110,7 @@ sub SetNewValuesFromFile($$;@)
         UserParam       => $$options{UserParam},
         XMPAutoConv     => $$options{XMPAutoConv},
     );
+    $$srcExifTool{GLOBAL_TIME_OFFSET} = $$self{GLOBAL_TIME_OFFSET};
     foreach $tag (@setTags) {
         next if ref $tag;
         if ($tag =~ /^-(.*)/) {
@@ -2082,6 +2083,9 @@ sub WriteInfo($$;$$)
             } elsif ($type eq 'MOV') {
                 require Image::ExifTool::QuickTime;
                 $rtnVal = Image::ExifTool::QuickTime::WriteMOV($self, \%dirInfo);
+            } elsif ($type eq 'FLIF') {
+                require Image::ExifTool::FLIF;
+                $rtnVal = Image::ExifTool::FLIF::WriteFLIF($self, \%dirInfo);
             } elsif ($type eq 'EXIF') {
                 # go through WriteDirectory so block writes, etc are handled
                 my $tagTablePtr = GetTagTable('Image::ExifTool::Exif::Main');
@@ -3497,7 +3501,7 @@ sub InitWriteDirs($$;$)
 # Write an image directory
 # Inputs: 0) ExifTool object reference, 1) source directory information reference
 #         2) tag table reference, 3) optional reference to writing procedure
-# Returns: New directory data or undefined on error
+# Returns: New directory data or undefined on error (or empty string to delete directory)
 sub WriteDirectory($$$;$)
 {
     my ($self, $dirInfo, $tagTablePtr, $writeProc) = @_;
@@ -4140,7 +4144,7 @@ sub NewGUID()
 sub InverseDateTime($$;$$)
 {
     my ($self, $val, $tzFlag, $dateOnly) = @_;
-    my ($rtnVal, $tz);
+    my ($rtnVal, $tz, $noStrptime);
     # strip off timezone first if it exists
     if ($val =~ s/([+-])(\d{1,2}):?(\d{2})\s*$//i) {
         $tz = sprintf("$1%.2d:$3", $2);
@@ -4151,6 +4155,37 @@ sub InverseDateTime($$;$$)
         # allow special value of 'now'
         return TimeNow($tzFlag) if lc($val) eq 'now';
     }
+    my $fmt = $$self{OPTIONS}{DateFormat};
+    # only convert date if a format was specified and the date is recognizable
+    if ($fmt) {
+        if (eval { require POSIX::strptime }) {
+            my @a = POSIX::strptime($val, $fmt);
+            if (defined $a[5] and length $a[5]) {
+                $a[5] += 1900; # add 1900 to year
+            } else {
+                warn "Invalid date/time (no year)\n";
+                return undef;
+            }
+            ++$a[4] if defined $a[4] and length $a[4];  # add 1 to month
+            my $i;
+            foreach $i (0..4) {
+                if (not defined $a[$i] or not length $a[$i]) {
+                    if ($i < 2 or $dateOnly) { # (allow missing minutes/seconds)
+                        $a[$i] = '  ';
+                    } else {
+                        warn("Incomplete date/time specification\n");
+                        return undef;
+                    }
+                } elsif (length($a[$i]) < 2) {
+                    $$a[$i] = "0$a[$i]";# pad to 2 digits if necessary
+                }
+            }
+            $val = join(':', @a[5,4,3]) . ' ' . join(':', @a[2,1,0]);
+        } elsif ($$self{OPTIONS}{StrictDate}) {
+            warn "Install POSIX::strptime to do inverse date/time conversions\n";
+            return undef;
+        }
+    }
     if ($val =~ /(\d{4})/g) {           # get YYYY
         my $yr = $1;
         my @a = ($val =~ /\d{1,2}/g);   # get mm, dd, HH, and maybe MM, SS
@@ -4235,6 +4270,8 @@ sub AssembleRational($$@)
 # - the returned rational will be accurate to at least 8 significant figures if possible
 # - eg. an input of 3.14159265358979 returns a rational of 104348/33215,
 #   which equals    3.14159265392142 and is accurate to 10 significant figures
+# - the returned rational will be reduced to the lowest common denominator except when
+#   the input is a fraction in which case the input is returned unchanged
 # - these routines were a bit tricky, but fun to write!
 sub Rationalize($;$)
 {
diff --git a/lib/Image/ExifTool/XMP.pm b/lib/Image/ExifTool/XMP.pm
index 9c73bd1..b4c7d8f 100644
--- a/lib/Image/ExifTool/XMP.pm
+++ b/lib/Image/ExifTool/XMP.pm
@@ -48,7 +48,7 @@ use Image::ExifTool::Exif;
 use Image::ExifTool::GPS;
 require Exporter;
 
-$VERSION = '2.95';
+$VERSION = '2.98';
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(EscapeXML UnescapeXML);
 
@@ -67,7 +67,7 @@ sub FormatXMPDate($);
 sub ConvertRational($);
 sub ConvertRationalList($);
 
-# lookup for translating to ExifTool namespaces
+# lookup for translating to ExifTool namespaces (and family 1 group names)
 %stdXlatNS = (
     # shorten ugly namespace prefixes
     'Iptc4xmpCore' => 'iptcCore',
@@ -78,14 +78,13 @@ sub ConvertRationalList($);
     'GettyImagesGIFT' => 'getty',
 );
 
-# translate ExifTool XMP family 1 group names to standard XMP namespace prefixes
+# translate ExifTool XMP family 1 group names back to standard XMP namespace prefixes
 my %xmpNS = (
-    # shorten ugly namespace prefixes
     'iptcCore' => 'Iptc4xmpCore',
     'iptcExt' => 'Iptc4xmpExt',
-    'photomechanic'=> 'photomech',
+    'photomech'=> 'photomechanic',
     'microsoft' => 'MicrosoftPhoto',
-    'gettyImages' => 'GettyImagesGIFT',
+    'getty' => 'GettyImagesGIFT',
     # (prism changed their spec to now use 'pur')
     # 'pur' => 'prismusagerights',
 );
@@ -171,6 +170,7 @@ my %xmpNS = (
     GPano     => 'http://ns.google.com/photos/1.0/panorama/',
     dwc       => 'http://rs.tdwg.org/dwc/index.htm',
     GettyImagesGIFT => 'http://xmp.gettyimages.com/gift/1.0/',
+    GSpherical=> 'http://ns.google.com/videos/1.0/spherical/',
 );
 
 # build reverse namespace lookup
@@ -278,6 +278,13 @@ my %sResourceRef = (
     toPart          => { },
     # added May 2010
     originalDocumentID => { }, # (undocumented property written by Adobe InDesign)
+    # added Aug 2016 (INDD again)
+    lastURL         => { },
+    linkForm        => { },
+    linkCategory    => { },
+    placedXResolution    => { },
+    placedYResolution    => { },
+    placedResolutionUnit => { },
 );
 my %sResourceEvent = (
     STRUCT_NAME => 'ResourceEvent',
@@ -739,6 +746,10 @@ my %sCVTermDetails = (
         Name => 'getty',
         SubDirectory => { TagTable => 'Image::ExifTool::XMP::GettyImages' },
     },
+    GSpherical => {
+        Name => 'GSpherical',
+        SubDirectory => { TagTable => 'Image::ExifTool::XMP::GSpherical' },
+    },
 );
 
 # hack to allow XML containing Dublin Core metadata to be handled like XMP (eg. EPUB - see ZIP.pm)
@@ -1401,6 +1412,7 @@ my %sPantryItem = (
     UprightTransform_2                  => { },
     UprightTransform_3                  => { },
     UprightTransform_4                  => { },
+    UprightTransform_5                  => { },
     # more stuff seen in lens profile file (unknown source)
     What => { }, # (with value "LensProfileDefaultSettings")
     LensProfileMatchKeyExifMake         => { },
@@ -1580,7 +1592,7 @@ my %sPantryItem = (
     ExposureTime => {
         Writable => 'rational',
         PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
     },
     FNumber => {
         Writable => 'rational',
@@ -1634,7 +1646,7 @@ my %sPantryItem = (
         Name => 'ExposureCompensation',
         Writable => 'rational',
         PrintConv => 'Image::ExifTool::Exif::PrintFraction($val)',
-        PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
+        PrintConvInv => '$val',
     },
     MaxApertureValue => {
         Groups => { 2 => 'Camera' },
@@ -2123,7 +2135,7 @@ my %sPantryItem = (
     NOTES => q{
         IPTC Core namespace tags.  The actual IPTC Core namespace prefix is
         "Iptc4xmpCore", which is the prefix recorded in the file, but ExifTool
-        shortens this for the "XMP-iptcCore" family 1 group name. (see
+        shortens this for the family 1 group name. (see
         L<http://www.iptc.org/IPTC4XMP/>)
     },
     CountryCode         => { Groups => { 2 => 'Location' } },
@@ -2163,8 +2175,8 @@ my %sPantryItem = (
     TABLE_DESC => 'XMP IPTC Extension',
     NOTES => q{
         IPTC Extension namespace tags.  The actual namespace prefix is
-        "Iptc4xmpExt", but ExifTool shortens this for the "XMP-iptcExt" family 1
-        group name. (see L<http://www.iptc.org/IPTC4XMP/>)
+        "Iptc4xmpExt", but ExifTool shortens this for the family 1 group name. (see
+        L<http://www.iptc.org/IPTC4XMP/>)
     },
     AboutCvTerm => {
         Struct => \%sCVTermDetails,
@@ -3178,7 +3190,7 @@ NoLoop:
                 last;
             }
         }
-        $tagInfo or $tagInfo = { Name => $name, WasAdded => 1 };
+        $tagInfo or $tagInfo = { Name => $name, WasAdded => 1, Priority => 0 };
 
         # add tag Namespace entry for tags in variable-namespace tables
         $$tagInfo{Namespace} = $xns if $xns;
diff --git a/lib/Image/ExifTool/XMP2.pl b/lib/Image/ExifTool/XMP2.pl
index 3f87e13..7221645 100644
--- a/lib/Image/ExifTool/XMP2.pl
+++ b/lib/Image/ExifTool/XMP2.pl
@@ -1004,6 +1004,7 @@ my %sSubVersion = (
     PickLabel              => { },
     ImageHistory           => { Avoid => 1, Notes => 'different format from EXIF:ImageHistory' },
     LensCorrectionSettings => { },
+    ImageUniqueID          => { Avoid => 1 },
 );
 
 # SWF namespace tags (ref PH)
@@ -1166,6 +1167,7 @@ my %sSubVersion = (
     FullPanoHeightPixels            => { Writable => 'real' },
     CroppedAreaLeftPixels           => { Writable => 'real' },
     CroppedAreaTopPixels            => { Writable => 'real' },
+    InitialCameraDolly              => { Writable => 'real' },
     # (the following have been observed, but are not in the specification)
     LargestValidInteriorRectLeft    => { Writable => 'real' },
     LargestValidInteriorRectTop     => { Writable => 'real' },
@@ -1180,14 +1182,49 @@ my %sSubVersion = (
     NAMESPACE => 'GettyImagesGIFT',
     NOTES => q{
         The actual Getty Images namespace prefix is "GettyImagesGIFT", which is the
-        prefix recorded in the file, but ExifTool shortens this for the "XMP-getty"
-        family 1 group name.
+        prefix recorded in the file, but ExifTool shortens this for the family 1
+        group name.
     },
     Personality => { },
     OriginalFilename => { Name => 'OriginalFileName' },
     ParentMEID => { },
 );
 
+# Google Spherical Images namespace (ref https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md)
+%Image::ExifTool::XMP::GSpherical = (
+    %xmpTableDefaults,
+    WRITABLE => 0,
+    GROUPS => { 1 => 'XMP-GSpherical', 2 => 'Image' },
+    NAMESPACE => 'GSpherical',
+    NOTES => q{
+        Not actually XMP.  These RDF/XML tags are used in Google spherical MP4
+        videos.  See
+        L<https://github.com/google/spatial-media/blob/master/docs/spherical-video-rfc.md>
+        for the specification.
+    },
+    Spherical                   => { },
+    Stitched                    => { },
+    StitchingSoftware           => { },
+    ProjectionType              => { },
+    StereoMode                  => { },
+    SourceCount                 => { },
+    InitialViewHeadingDegrees   => { },
+    InitialViewPitchDegrees     => { },
+    InitialViewRollDegrees      => { },
+    Timestamp                   => {
+        Name => 'TimeStamp',
+        Groups => { 2 => 'Time' },
+        ValueConv => 'ConvertUnixTime($val)', #(NC)
+        PrintConv => '$self->ConvertDateTime($val)',
+    },
+    FullPanoWidthPixels         => { },
+    FullPanoHeightPixels        => { },
+    CroppedAreaImageWidthPixels => { },
+    CroppedAreaImageHeightPixels=> { },
+    CroppedAreaLeftPixels       => { },
+    CroppedAreaTopPixels        => { },
+);
+
 # SVG namespace properties (ref 9)
 %Image::ExifTool::XMP::SVG = (
     GROUPS => { 0 => 'SVG', 1 => 'SVG', 2 => 'Image' },
diff --git a/perl-Image-ExifTool.spec b/perl-Image-ExifTool.spec
index 45eeb99..c8a7af3 100644
--- a/perl-Image-ExifTool.spec
+++ b/perl-Image-ExifTool.spec
@@ -1,6 +1,6 @@
 Summary: perl module for image data extraction
 Name: perl-Image-ExifTool
-Version: 10.25
+Version: 10.31
 Release: 1
 License: Artistic/GPL
 Group: Development/Libraries/Perl
@@ -22,42 +22,42 @@ supported by ExifTool (r = read, w = write, c = create):
 
   File Types
   ------------+-------------+-------------+-------------+------------
-  3FR   r     | DV    r     | KDC   r     | OGV   r     | RW2   r/w
-  3G2   r/w   | DVB   r/w   | KEY   r     | OPUS  r     | RWL   r/w
-  3GP   r/w   | DYLIB r     | LA    r     | ORF   r/w   | RWZ   r
-  A     r     | EIP   r     | LFP   r     | OTF   r     | RM    r
-  AA    r     | EPS   r/w   | LNK   r     | PAC   r     | SEQ   r
-  AAX   r/w   | EPUB  r     | M2TS  r     | PAGES r     | SO    r
-  ACR   r     | ERF   r/w   | M4A/V r/w   | PBM   r/w   | SR2   r/w
-  AFM   r     | EXE   r     | MEF   r/w   | PCD   r     | SRF   r
-  AI    r/w   | EXIF  r/w/c | MIE   r/w/c | PDB   r     | SRW   r/w
-  AIFF  r     | EXR   r     | MIFF  r     | PDF   r/w   | SVG   r
-  APE   r     | EXV   r/w/c | MKA   r     | PEF   r/w   | SWF   r
-  ARW   r/w   | F4A/V r/w   | MKS   r     | PFA   r     | THM   r/w
-  ASF   r     | FFF   r/w   | MKV   r     | PFB   r     | TIFF  r/w
-  AVI   r     | FLA   r     | MNG   r/w   | PFM   r     | TORRENT r
-  AZW   r     | FLAC  r     | MOBI  r     | PGF   r     | TTC   r
-  BMP   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
-  BPG   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
-  BTF   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
-  CHM   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
-  COS   r     | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
-  CR2   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
-  CRW   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
-  CS1   r/w   | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
-  DCM   r     | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
-  DCP   r/w   | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
-  DCR   r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
-  DFONT r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
-  DIVX  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
-  DJVU  r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
-  DLL   r     | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
-  DNG   r/w   | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
-  DOC   r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
-  DOCX  r     | JNG   r/w   | ODS   r     | RAW   r/w   |
-  DPX   r     | JP2   r/w   | ODT   r     | RIFF  r     |
-  DR4   r/w/c | JPEG  r/w   | OFR   r     | RSRC  r     |
-  DSS   r     | K25   r     | OGG   r     | RTF   r     |
+  3FR   r     | DV    r     | K25   r     | OGG   r     | RTF   r
+  3G2   r/w   | DVB   r/w   | KDC   r     | OGV   r     | RW2   r/w
+  3GP   r/w   | DYLIB r     | KEY   r     | OPUS  r     | RWL   r/w
+  A     r     | EIP   r     | LA    r     | ORF   r/w   | RWZ   r
+  AA    r     | EPS   r/w   | LFP   r     | OTF   r     | RM    r
+  AAX   r/w   | EPUB  r     | LNK   r     | PAC   r     | SEQ   r
+  ACR   r     | ERF   r/w   | M2TS  r     | PAGES r     | SO    r
+  AFM   r     | EXE   r     | M4A/V r/w   | PBM   r/w   | SR2   r/w
+  AI    r/w   | EXIF  r/w/c | MEF   r/w   | PCD   r     | SRF   r
+  AIFF  r     | EXR   r     | MIE   r/w/c | PDB   r     | SRW   r/w
+  APE   r     | EXV   r/w/c | MIFF  r     | PDF   r/w   | SVG   r
+  ARW   r/w   | F4A/V r/w   | MKA   r     | PEF   r/w   | SWF   r
+  ASF   r     | FFF   r/w   | MKS   r     | PFA   r     | THM   r/w
+  AVI   r     | FLA   r     | MKV   r     | PFB   r     | TIFF  r/w
+  AZW   r     | FLAC  r     | MNG   r/w   | PFM   r     | TORRENT r
+  BMP   r     | FLIF  r/w   | MOBI  r     | PGF   r     | TTC   r
+  BPG   r     | FLV   r     | MODD  r     | PGM   r/w   | TTF   r
+  BTF   r     | FPF   r     | MOI   r     | PLIST r     | VCF   r
+  CHM   r     | FPX   r     | MOS   r/w   | PICT  r     | VRD   r/w/c
+  COS   r     | GIF   r/w   | MOV   r/w   | PMP   r     | VSD   r
+  CR2   r/w   | GZ    r     | MP3   r     | PNG   r/w   | WAV   r
+  CRW   r/w   | HDP   r/w   | MP4   r/w   | PPM   r/w   | WDP   r/w
+  CS1   r/w   | HDR   r     | MPC   r     | PPT   r     | WEBP  r
+  DCM   r     | HTML  r     | MPG   r     | PPTX  r     | WEBM  r
+  DCP   r/w   | ICC   r/w/c | MPO   r/w   | PS    r/w   | WMA   r
+  DCR   r     | ICS   r     | MQV   r/w   | PSB   r/w   | WMV   r
+  DFONT r     | IDML  r     | MRW   r/w   | PSD   r/w   | WV    r
+  DIVX  r     | IIQ   r/w   | MXF   r     | PSP   r     | X3F   r/w
+  DJVU  r     | IND   r/w   | NEF   r/w   | QTIF  r/w   | XCF   r
+  DLL   r     | INX   r     | NRW   r/w   | RA    r     | XLS   r
+  DNG   r/w   | ISO   r     | NUMBERS r   | RAF   r/w   | XLSX  r
+  DOC   r     | ITC   r     | O     r     | RAM   r     | XMP   r/w/c
+  DOCX  r     | J2C   r     | ODP   r     | RAR   r     | ZIP   r
+  DPX   r     | JNG   r/w   | ODS   r     | RAW   r/w   |
+  DR4   r/w/c | JP2   r/w   | ODT   r     | RIFF  r     |
+  DSS   r     | JPEG  r/w   | OFR   r     | RSRC  r     |
 
   Meta Information
   ----------------------+----------------------+---------------------
diff --git a/t/Apple.t b/t/Apple.t
new file mode 100644
index 0000000..8db4626
--- /dev/null
+++ b/t/Apple.t
@@ -0,0 +1,29 @@
+# Before "make install", this script should be runnable with "make test".
+# After "make install" it should work as "perl t/Apple.t".
+
+BEGIN { $| = 1; print "1..2\n"; $Image::ExifTool::noConfig = 1; }
+END {print "not ok 1\n" unless $loaded;}
+
+# test 1: Load the module(s)
+use Image::ExifTool 'ImageInfo';
+use Image::ExifTool::Apple;
+$loaded = 1;
+print "ok 1\n";
+
+use t::TestLib;
+
+my $testname = 'Apple';
+my $testnum = 1;
+
+# test 2: Extract information from Apple.jpg
+{
+    ++$testnum;
+    my $exifTool = new Image::ExifTool;
+    $exifTool->Options(Unknown => 1, Composite => 0);
+    my $info = $exifTool->ImageInfo('t/images/Apple.jpg', '-file:all');
+    print 'not ' unless check($exifTool, $info, $testname, $testnum);
+    print "ok $testnum\n";
+}
+
+
+# end
diff --git a/t/Apple_2.out b/t/Apple_2.out
new file mode 100644
index 0000000..91ae5ee
--- /dev/null
+++ b/t/Apple_2.out
@@ -0,0 +1,79 @@
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.30
+[EXIF, IFD0, Camera] 271 - Make: Apple
+[EXIF, IFD0, Camera] 272 - Camera Model Name: iPhone 7
+[EXIF, IFD0, Image] 274 - Orientation: Horizontal (normal)
+[EXIF, IFD0, Image] 282 - X Resolution: 72
+[EXIF, IFD0, Image] 283 - Y Resolution: 72
+[EXIF, IFD0, Image] 296 - Resolution Unit: inches
+[EXIF, IFD0, Image] 305 - Software: 10.0.2
+[EXIF, IFD0, Time] 306 - Modify Date: 2016:09:28 18:18:05
+[EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
+[EXIF, ExifIFD, Image] 33434 - Exposure Time: 1/20
+[EXIF, ExifIFD, Image] 33437 - F Number: 1.8
+[EXIF, ExifIFD, Camera] 34850 - Exposure Program: Program AE
+[EXIF, ExifIFD, Image] 34855 - ISO: 40
+[EXIF, ExifIFD, Image] 36864 - Exif Version: 0221
+[EXIF, ExifIFD, Time] 36867 - Date/Time Original: 2016:09:28 18:18:05
+[EXIF, ExifIFD, Time] 36868 - Create Date: 2016:09:28 18:18:05
+[EXIF, ExifIFD, Image] 37121 - Components Configuration: Y, Cb, Cr, -
+[EXIF, ExifIFD, Image] 37377 - Shutter Speed Value: 1/20
+[EXIF, ExifIFD, Image] 37378 - Aperture Value: 1.8
+[EXIF, ExifIFD, Image] 37379 - Brightness Value: 2.846551724
+[EXIF, ExifIFD, Image] 37380 - Exposure Compensation: 0
+[EXIF, ExifIFD, Camera] 37383 - Metering Mode: Multi-segment
+[EXIF, ExifIFD, Camera] 37385 - Flash: Off, Did not fire
+[EXIF, ExifIFD, Camera] 37386 - Focal Length: 4.0 mm
+[EXIF, ExifIFD, Camera] 37396 - Subject Area: 2015 1511 2217 1330
+[EXIF, ExifIFD, Time] 37521 - Sub Sec Time Original: 813
+[EXIF, ExifIFD, Time] 37522 - Sub Sec Time Digitized: 813
+[EXIF, ExifIFD, Image] 40960 - Flashpix Version: 0100
+[EXIF, ExifIFD, Image] 40961 - Color Space: Uncalibrated
+[EXIF, ExifIFD, Image] 40962 - Exif Image Width: 4032
+[EXIF, ExifIFD, Image] 40963 - Exif Image Height: 3024
+[EXIF, ExifIFD, Camera] 41495 - Sensing Method: One-chip color area
+[EXIF, ExifIFD, Image] 41729 - Scene Type: Directly photographed
+[EXIF, ExifIFD, Camera] 41986 - Exposure Mode: Auto
+[EXIF, ExifIFD, Camera] 41987 - White Balance: Auto
+[EXIF, ExifIFD, Camera] 41989 - Focal Length In 35mm Format: 28 mm
+[EXIF, ExifIFD, Camera] 41990 - Scene Capture Type: Standard
+[EXIF, ExifIFD, Image] 42034 - Lens Info: 3.99mm f/1.8
+[EXIF, ExifIFD, Image] 42035 - Lens Make: Apple
+[EXIF, ExifIFD, Image] 42036 - Lens Model: iPhone 7 back camera 3.99mm f/1.8
+[EXIF, GPS, Location] 1 - GPS Latitude Ref: North
+[EXIF, GPS, Location] 2 - GPS Latitude: 53 deg 22' 58.25"
+[EXIF, GPS, Location] 3 - GPS Longitude Ref: West
+[EXIF, GPS, Location] 4 - GPS Longitude: 1 deg 27' 24.04"
+[EXIF, GPS, Location] 5 - GPS Altitude Ref: Above Sea Level
+[EXIF, GPS, Location] 6 - GPS Altitude: 72.36649215 m
+[EXIF, GPS, Time] 7 - GPS Time Stamp: 17:17:58.65
+[EXIF, GPS, Location] 12 - GPS Speed Ref: km/h
+[EXIF, GPS, Location] 13 - GPS Speed: 0
+[EXIF, GPS, Location] 16 - GPS Img Direction Ref: True North
+[EXIF, GPS, Location] 17 - GPS Img Direction: 342.0498753
+[EXIF, GPS, Location] 23 - GPS Dest Bearing Ref: True North
+[EXIF, GPS, Location] 24 - GPS Dest Bearing: 342.0498753
+[EXIF, GPS, Time] 29 - GPS Date Stamp: 2016:09:28
+[EXIF, GPS, Location] 31 - GPS Horizontal Positioning Error: 165 m
+[EXIF, IFD1, Image] 259 - Compression: JPEG (old-style)
+[EXIF, IFD1, Image] 282 - X Resolution: 72
+[EXIF, IFD1, Image] 283 - Y Resolution: 72
+[EXIF, IFD1, Image] 296 - Resolution Unit: inches
+[EXIF, IFD1, Image] 513 - Thumbnail Offset: 2078
+[EXIF, IFD1, Image] 514 - Thumbnail Length: 28
+[MakerNotes, Apple, Image] 1 - Apple 0x0001: 4
+[MakerNotes, Apple, Image] 2 - Apple 0x0002: bplist00O..Z.R.�DN:&H<2y-|..�5�.�iTe�[...]
+[MakerNotes, Apple, Image] flags - Run Time Flags: Valid
+[MakerNotes, Apple, Image] value - Run Time Value: 39772089846958
+[MakerNotes, Apple, Image] epoch - Run Time Epoch: 0
+[MakerNotes, Apple, Image] timescale - Run Time Scale: 1000000000
+[MakerNotes, Apple, Image] 4 - Apple 0x0004: 1
+[MakerNotes, Apple, Image] 5 - Apple 0x0005: 177
+[MakerNotes, Apple, Image] 6 - Apple 0x0006: 185
+[MakerNotes, Apple, Image] 7 - Apple 0x0007: 1
+[MakerNotes, Apple, Camera] 8 - Acceleration Vector: -0.6483164083 0.002264119004 -0.7500767578
+[MakerNotes, Apple, Image] 12 - Apple 0x000c: 0.5390625 0.68359375
+[MakerNotes, Apple, Image] 13 - Apple 0x000d: 20
+[MakerNotes, Apple, Image] 14 - Apple 0x000e: 0
+[MakerNotes, Apple, Image] 15 - Apple 0x000f: 2
+[MakerNotes, Apple, Image] 16 - Apple 0x0010: 1
+[MakerNotes, Apple, Image] 20 - Apple 0x0014: 5
diff --git a/t/FLIF.t b/t/FLIF.t
new file mode 100644
index 0000000..0174122
--- /dev/null
+++ b/t/FLIF.t
@@ -0,0 +1,132 @@
+# Before "make install", this script should be runnable with "make test".
+# After "make install" it should work as "perl t/ZIP.t".
+
+BEGIN { $| = 1; print "1..6\n"; $Image::ExifTool::noConfig = 1; }
+END {print "not ok 1\n" unless $loaded;}
+
+# test 1: Load the module(s)
+use Image::ExifTool 'ImageInfo';
+use Image::ExifTool::FLIF;
+$loaded = 1;
+print "ok 1\n";
+
+use t::TestLib;
+
+my $testname = 'FLIF';
+my $testnum = 1;
+
+my @checkTags = qw(Artist Creator XResolution ProfileCMMType XMP);
+
+# test 2: Extract information from FLIF.flif
+{
+    ++$testnum;
+    my $skip = '';
+    if (eval { require IO::Uncompress::RawInflate }) {
+        my $exifTool = new Image::ExifTool;
+        my $info = $exifTool->ImageInfo('t/images/FLIF.flif');
+        print 'not ' unless check($exifTool, $info, $testname, $testnum);
+    } else {
+        $skip = ' # skip Requires IO::Uncompress::RawInflate';
+    }
+    print "ok $testnum$skip\n";
+}
+
+# test 3: Edit FLIF information
+{
+    ++$testnum;
+    my $skip = '';
+    if (eval { require IO::Uncompress::RawInflate and require IO::Compress::RawDeflate }) {
+        my $exifTool = new Image::ExifTool;
+        $exifTool->SetNewValuesFromFile('t/images/XMP.jpg','ICC_Profile');
+        $exifTool->SetNewValue('EXIF:XResolution' => 234);
+        $exifTool->SetNewValue('XMP:Creator' => 'just me');
+        my $testfile = "t/${testname}_${testnum}_failed.flif";
+        unlink $testfile;
+        $exifTool->WriteInfo('t/images/FLIF.flif', $testfile);
+        my $info = $exifTool->ImageInfo($testfile, @checkTags);
+        if (check($exifTool, $info, $testname, $testnum)) {
+            unlink $testfile;
+        } else {
+            print 'not ';
+        }
+    } else {
+        $skip = ' # skip Requires IO::Compress::RawDeflate';
+    }
+    print "ok $testnum$skip\n";
+}
+
+# test 4: Delete FLIF information
+my $testfile;
+{
+    ++$testnum;
+    my $skip = '';
+    if (eval { require IO::Uncompress::RawInflate and require IO::Compress::RawDeflate }) {
+        my $exifTool = new Image::ExifTool;
+        $exifTool->SetNewValue(ICC_Profile => undef, Protected => 1);
+        $exifTool->SetNewValue(EXIF => undef, Protected => 1);
+        $exifTool->SetNewValue('XMP:all' => undef);
+        $testfile = "t/${testname}_${testnum}_failed.flif";
+        unlink $testfile;
+        $exifTool->WriteInfo('t/images/FLIF.flif', $testfile);
+        my $info = $exifTool->ImageInfo($testfile);
+        unless (check($exifTool, $info, $testname, $testnum)) {
+            print 'not ';
+            undef $testfile;
+        }
+    } else {
+        $skip = ' # skip Requires IO::Compress::RawDeflate';
+    }
+    print "ok $testnum$skip\n";
+}
+
+# test 5: Add back FLIF information
+{
+    ++$testnum;
+    my $skip = '';
+    if (defined $testfile) {
+        my $exifTool = new Image::ExifTool;
+        $exifTool->SetNewValuesFromFile('t/images/Photoshop.psd','ICC_Profile');
+        $exifTool->SetNewValue('EXIF:XResolution' => 123);
+        $exifTool->SetNewValue('XMP:Creator' => 'me again');
+        my $testfile2 = "t/${testname}_${testnum}_failed.flif";
+        unlink $testfile2;
+        $exifTool->WriteInfo($testfile, $testfile2);
+        my $info = $exifTool->ImageInfo($testfile2, @checkTags);
+        if (check($exifTool, $info, $testname, $testnum)) {
+            unlink $testfile;
+            unlink $testfile2;
+        } else {
+            print 'not ';
+        }
+    } else {
+        $skip = ' # skip Requires test 4 pass';
+    }
+    print "ok $testnum$skip\n";
+}
+
+# test 6: Delete all then add back in one step
+{
+    ++$testnum;
+    my $skip = '';
+    if (eval { require IO::Uncompress::RawInflate and require IO::Compress::RawDeflate }) {
+        my $exifTool = new Image::ExifTool;
+        $exifTool->SetNewValue(all => undef);
+        $exifTool->SetNewValuesFromFile('t/images/Photoshop.psd','ICC_Profile');
+        $exifTool->SetNewValue('EXIF:XResolution' => 456);
+        $exifTool->SetNewValue('XMP:Creator' => 'me too');
+        $testfile = "t/${testname}_${testnum}_failed.flif";
+        unlink $testfile;
+        $exifTool->WriteInfo('t/images/FLIF.flif', $testfile);
+        my $info = $exifTool->ImageInfo($testfile, @checkTags);
+        if (check($exifTool, $info, $testname, $testnum)) {
+            unlink $testfile;
+        } else {
+            print 'not ';
+        }
+    } else {
+        $skip = ' # skip Requires IO::Compress::RawDeflate';
+    }
+    print "ok $testnum$skip\n";
+}
+
+# end
diff --git a/t/FLIF_2.out b/t/FLIF_2.out
new file mode 100644
index 0000000..dad859a
--- /dev/null
+++ b/t/FLIF_2.out
@@ -0,0 +1,50 @@
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.31
+[File, System, Image] FileName - File Name: FLIF.flif
+[File, System, Image] Directory - Directory: t/images
+[File, System, Image] FileSize - File Size: 674 bytes
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:10:19 09:52:32-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:10:19 09:53:01-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:10:19 09:52:32-04:00
+[File, System, Image] FilePermissions - File Permissions: rwxr-xr-x
+[File, File, Image] FileType - File Type: FLIF
+[File, File, Image] FileTypeExtension - File Type Extension: flif
+[File, File, Image] MIMEType - MIME Type: image/flif
+[File, File, Image] 0 - Image Type: RGB (non-interlaced)
+[File, File, Image] 1 - Bit Depth: 8
+[File, File, Image] 2 - Image Width: 16
+[File, File, Image] 3 - Image Height: 16
+[File, File, Image] ExifByteOrder - Exif Byte Order: Big-endian (Motorola, MM)
+[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 6.51
+[XMP, XMP-dc, Author] creator - Creator: Phil Harvey
+[EXIF, IFD0, Image] 282 - X Resolution: 72
+[EXIF, IFD0, Image] 283 - Y Resolution: 72
+[EXIF, IFD0, Image] 296 - Resolution Unit: inches
+[EXIF, IFD0, Author] 315 - Artist: Phil
+[EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
+[ICC_Profile, ICC-header, Image] 4 - Profile CMM Type: NKON
+[ICC_Profile, ICC-header, Image] 8 - Profile Version: 2.2.0
+[ICC_Profile, ICC-header, Image] 12 - Profile Class: Display Device Profile
+[ICC_Profile, ICC-header, Image] 16 - Color Space Data: RGB 
+[ICC_Profile, ICC-header, Image] 20 - Profile Connection Space: XYZ 
+[ICC_Profile, ICC-header, Time] 24 - Profile Date Time: 1999:12:07 18:59:22
+[ICC_Profile, ICC-header, Image] 36 - Profile File Signature: acsp
+[ICC_Profile, ICC-header, Image] 40 - Primary Platform: Apple Computer Inc.
+[ICC_Profile, ICC-header, Image] 44 - CMM Flags: Not Embedded, Independent
+[ICC_Profile, ICC-header, Image] 48 - Device Manufacturer: none
+[ICC_Profile, ICC-header, Image] 52 - Device Model: 
+[ICC_Profile, ICC-header, Image] 56 - Device Attributes: Reflective, Glossy, Positive, Color
+[ICC_Profile, ICC-header, Image] 64 - Rendering Intent: Perceptual
+[ICC_Profile, ICC-header, Image] 68 - Connection Space Illuminant: 0.9642 1 0.82491
+[ICC_Profile, ICC-header, Image] 80 - Profile Creator: 
+[ICC_Profile, ICC-header, Image] 84 - Profile ID: 0
+[ICC_Profile, ICC_Profile, Image] desc - Profile Description: Nikon Adobe RGB 4.0.0.3000
+[ICC_Profile, ICC_Profile, Image] rXYZ - Red Matrix Column: 0.60976 0.31113 0.01947
+[ICC_Profile, ICC_Profile, Image] gXYZ - Green Matrix Column: 0.20525 0.62566 0.06087
+[ICC_Profile, ICC_Profile, Image] bXYZ - Blue Matrix Column: 0.1492 0.06322 0.74463
+[ICC_Profile, ICC_Profile, Image] rTRC - Red Tone Reproduction Curve: (Binary data 14 bytes)
+[ICC_Profile, ICC_Profile, Image] gTRC - Green Tone Reproduction Curve: (Binary data 14 bytes)
+[ICC_Profile, ICC_Profile, Image] bTRC - Blue Tone Reproduction Curve: (Binary data 14 bytes)
+[ICC_Profile, ICC_Profile, Image] wtpt - Media White Point: 0.9505 1 1.0891
+[ICC_Profile, ICC_Profile, Image] cprt - Profile Copyright: Nikon Inc. & Nikon Corporation 2001
+[Composite, Composite, Image] ImageSize - Image Size: 16x16
+[Composite, Composite, Image] Megapixels - Megapixels: 0.000256
diff --git a/t/FLIF_3.out b/t/FLIF_3.out
new file mode 100644
index 0000000..6260de3
--- /dev/null
+++ b/t/FLIF_3.out
@@ -0,0 +1,5 @@
+[XMP, XMP, Image] XMP - XMP: (Binary data 418 bytes)
+[XMP, XMP-dc, Author] creator - Creator: just me
+[EXIF, IFD0, Image] 282 - X Resolution: 234
+[EXIF, IFD0, Author] 315 - Artist: Phil
+[ICC_Profile, ICC-header, Image] 4 - Profile CMM Type: Lino
diff --git a/t/FLIF_4.out b/t/FLIF_4.out
new file mode 100644
index 0000000..1bc5cff
--- /dev/null
+++ b/t/FLIF_4.out
@@ -0,0 +1,17 @@
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.31
+[File, System, Image] FileName - File Name: FLIF_4_failed.flif
+[File, System, Image] Directory - Directory: t
+[File, System, Image] FileSize - File Size: 23 bytes
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:10:19 09:53:06-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:10:19 09:53:06-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:10:19 09:53:06-04:00
+[File, System, Image] FilePermissions - File Permissions: rw-r--r--
+[File, File, Image] FileType - File Type: FLIF
+[File, File, Image] FileTypeExtension - File Type Extension: flif
+[File, File, Image] MIMEType - MIME Type: image/flif
+[File, File, Image] 0 - Image Type: RGB (non-interlaced)
+[File, File, Image] 1 - Bit Depth: 8
+[File, File, Image] 2 - Image Width: 16
+[File, File, Image] 3 - Image Height: 16
+[Composite, Composite, Image] ImageSize - Image Size: 16x16
+[Composite, Composite, Image] Megapixels - Megapixels: 0.000256
diff --git a/t/FLIF_5.out b/t/FLIF_5.out
new file mode 100644
index 0000000..94b6195
--- /dev/null
+++ b/t/FLIF_5.out
@@ -0,0 +1,4 @@
+[EXIF, IFD0, Image] 282 - X Resolution: 123
+[XMP, XMP, Image] XMP - XMP: (Binary data 419 bytes)
+[XMP, XMP-dc, Author] creator - Creator: me again
+[ICC_Profile, ICC-header, Image] 4 - Profile CMM Type: ADBE
diff --git a/t/FLIF_6.out b/t/FLIF_6.out
new file mode 100644
index 0000000..60753a1
--- /dev/null
+++ b/t/FLIF_6.out
@@ -0,0 +1,4 @@
+[XMP, XMP, Image] XMP - XMP: (Binary data 417 bytes)
+[XMP, XMP-dc, Author] creator - Creator: me too
+[EXIF, IFD0, Image] 282 - X Resolution: 456
+[ICC_Profile, ICC-header, Image] 4 - Profile CMM Type: ADBE
diff --git a/t/FLIR_2.out b/t/FLIR_2.out
index 0334c28..bff68cd 100644
--- a/t/FLIR_2.out
+++ b/t/FLIR_2.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.94
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.29
 [File, System, Image] FileName - File Name: FLIR.jpg
 [File, System, Image] Directory - Directory: t/images
 [File, System, Image] FileSize - File Size: 7.2 kB
 [File, System, Time] FileModifyDate - File Modification Date/Time: 2013:04:02 10:46:04-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:29 20:10:38-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:04:25 10:57:00-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:09:30 08:01:21-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:09:27 13:04:04-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JPEG
 [File, File, Image] FileTypeExtension - File Type Extension: jpg
@@ -82,6 +82,12 @@
 [APP1, FLIR, Camera] 128 - Atmospheric Trans X: 1.900000
 [APP1, FLIR, Camera] 144 - Camera Temperature Range Max: 250.0 C
 [APP1, FLIR, Camera] 148 - Camera Temperature Range Min: -0.0 C
+[APP1, FLIR, Camera] 152 - Camera Temperature Max Clip: 270.0 C
+[APP1, FLIR, Camera] 156 - Camera Temperature Min Clip: -40.0 C
+[APP1, FLIR, Camera] 160 - Camera Temperature Max Warn: 250.0 C
+[APP1, FLIR, Camera] 164 - Camera Temperature Min Warn: -0.0 C
+[APP1, FLIR, Camera] 168 - Camera Temperature Max Saturated: 270.0 C
+[APP1, FLIR, Camera] 172 - Camera Temperature Min Saturated: -60.0 C
 [APP1, FLIR, Camera] 212 - Camera Model: FLIR_i7
 [APP1, FLIR, Camera] 244 - Camera Part Number: T197600
 [APP1, FLIR, Camera] 260 - Camera Serial Number: 470023842
diff --git a/t/Geotag.t b/t/Geotag.t
index d87ac59..b4508c5 100644
--- a/t/Geotag.t
+++ b/t/Geotag.t
@@ -184,15 +184,19 @@ unless (eval { require Time::Local }) {
 {
     ++$testnum;
     my $exifTool = new Image::ExifTool;
-    $testfile2 = "t/${testname}_${testnum}_failed.jpg";
-    unlink $testfile2;
+    my $testfile = "t/${testname}_${testnum}_failed.jpg";
+    unlink $testfile;
     $exifTool->SetNewValue(Geotag => 'DATETIMEONLY');
     $exifTool->SetNewValue(Geosync => '2009:01:01 01:00:00Z at 2009:01:01 01:00:00Z');
     $exifTool->SetNewValue(Geosync => '2011:01:01 02:00:00Z at 2011:01:01 01:00:00Z');
     $exifTool->SetNewValue(Geotime => '2010:01:01 01:00:00Z');
-    $exifTool->WriteInfo('t/images/Writer.jpg', $testfile2);
-    my $info = $exifTool->ImageInfo($testfile2, @testTags);
-    print 'not ' unless check($exifTool, $info, $testname, $testnum);
+    $exifTool->WriteInfo('t/images/Writer.jpg', $testfile);
+    my $info = $exifTool->ImageInfo($testfile, @testTags);
+    if (check($exifTool, $info, $testname, $testnum)) {
+        unlink $testfile;
+    } else {
+        print 'not ';
+    }
     print "ok $testnum\n";
 }
 
diff --git a/t/Jpeg2000_2.out b/t/Jpeg2000_2.out
index f792ea6..c24721c 100644
--- a/t/Jpeg2000_2.out
+++ b/t/Jpeg2000_2.out
@@ -1,15 +1,16 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.03
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.30
 [File, System, Image] FileName - File Name: Jpeg2000.jp2
 [File, System, Image] Directory - Directory: t/images
-[File, System, Image] FileSize - File Size: 1954 bytes
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:09:25 11:32:27-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:09:25 11:32:28-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:09:25 11:32:27-04:00
+[File, System, Image] FileSize - File Size: 2028 bytes
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:10:10 15:46:32-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:10:10 15:46:35-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:10:10 15:46:32-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JP2
 [File, File, Image] FileTypeExtension - File Type Extension: jp2
 [File, File, Image] MIMEType - MIME Type: image/jp2
 [File, File, Image] ExifByteOrder - Exif Byte Order: Little-endian (Intel, II)
+[File, File, Image] ExifByteOrder - Exif Byte Order: Big-endian (Motorola, MM)
 [Jpeg2000, Jpeg2000, Video] 0 - Major Brand: JPEG 2000 Image (.JP2)
 [Jpeg2000, Jpeg2000, Video] 1 - Minor Version: 0.0.0
 [Jpeg2000, Jpeg2000, Video] 2 - Compatible Brands: jp2 
@@ -26,12 +27,17 @@
 [EXIF, IFD0, Image] 257 - Image Height: 1
 [EXIF, IFD0, Image] 258 - Bits Per Sample: 8
 [EXIF, IFD0, Image] 259 - Compression: Uncompressed
-[EXIF, IFD0, Image] 273 - Strip Offsets: 125
+[EXIF, IFD0, Image] 273 - Strip Offsets: 101
 [EXIF, IFD0, Image] 277 - Samples Per Pixel: 1
 [EXIF, IFD0, Image] 279 - Strip Byte Counts: 0
 [EXIF, IFD0, Image] 284 - Planar Configuration: Chunky
 [EXIF, IFD0, Image] 33550 - Pixel Scale: 1 1 0
 [EXIF, IFD0, Location] 33922 - Model Tie Point: 0 0 0 334159.28 4429865.18 0
+[EXIF, IFD0, Image] 282 - X Resolution: 72
+[EXIF, IFD0, Image] 283 - Y Resolution: 72
+[EXIF, IFD0, Image] 296 - Resolution Unit: inches
+[EXIF, IFD0, Author] 315 - Artist: me
+[EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
 [GeoTiff, GeoTiff, Location] 1 - Geo Tiff Version: 1.1.0
 [GeoTiff, GeoTiff, Location] 1024 - GT Model Type: Projected
 [GeoTiff, GeoTiff, Location] 1025 - GT Raster Type: Pixel Is Area
diff --git a/t/Jpeg2000_3.out b/t/Jpeg2000_3.out
index 56342ce..391daf3 100644
--- a/t/Jpeg2000_3.out
+++ b/t/Jpeg2000_3.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.93
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.30
 [File, System, Image] FileName - File Name: Jpeg2000_3_failed.jp2
 [File, System, Image] Directory - Directory: t
 [File, System, Image] FileSize - File Size: 3.6 kB
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:04:18 07:17:42-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:18 07:17:42-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:04:18 07:17:42-04:00
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:10:10 15:46:43-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:10:10 15:46:43-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:10:10 15:46:43-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JP2
 [File, File, Image] FileTypeExtension - File Type Extension: jp2
@@ -37,6 +37,7 @@
 [EXIF, IFD0, Image] 282 - X Resolution: 72
 [EXIF, IFD0, Image] 283 - Y Resolution: 72
 [EXIF, IFD0, Image] 296 - Resolution Unit: inches
+[EXIF, IFD0, Author] 315 - Artist: me
 [EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
 [GeoTiff, GeoTiff, Location] 1 - Geo Tiff Version: 1.1.0
 [GeoTiff, GeoTiff, Location] 1024 - GT Model Type: Projected
@@ -45,7 +46,7 @@
 [GeoTiff, GeoTiff, Location] 3072 - Projected CS Type: NAD83 UTM zone 18N
 [GeoTiff, GeoTiff, Location] 3076 - Proj Linear Units: Linear Meter
 [XMP, XMP, Unknown] :test - Test: Yippee
-[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 9.93
+[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 10.30
 [XMP, XMP-photoshop, Location] City - City: a city
 [IPTC, IPTC, Other] 25 - Keywords: test keyword
 [IPTC, IPTC, Other] 0 - Application Record Version: 4
diff --git a/t/Writer_11.out b/t/Writer_11.out
index e70725d..cc7014a 100644
--- a/t/Writer_11.out
+++ b/t/Writer_11.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.93
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.28
 [File, System, Image] FileName - File Name: Writer_11_failed.jpg
 [File, System, Image] Directory - Directory: t
 [File, System, Image] FileSize - File Size: 3.4 kB
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:04:18 07:17:52-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:18 07:17:52-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:04:18 07:17:52-04:00
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:09:26 11:36:04-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JPEG
 [File, File, Image] FileTypeExtension - File Type Extension: jpg
@@ -21,7 +21,7 @@
 [EXIF, IFD0, Image] 283 - Y Resolution: 72
 [EXIF, IFD0, Image] 296 - Resolution Unit: inches
 [EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
-[EXIF, ExifIFD, Image] 36864 - Exif Version: 0230
+[EXIF, ExifIFD, Image] 36864 - Exif Version: 0231
 [EXIF, ExifIFD, Time] 36867 - Date/Time Original: 2005:01:19 13:37:22
 [EXIF, ExifIFD, Image] 37121 - Components Configuration: Y, Cb, Cr, -
 [EXIF, ExifIFD, Image] 40960 - Flashpix Version: 0100
@@ -32,7 +32,7 @@
 [IPTC, IPTC, Other] 0 - Envelope Record Version: 4
 [IPTC, IPTC, Other] 25 - Keywords: this <<separator>> that
 [IPTC, IPTC, Other] 0 - Application Record Version: 4
-[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 9.93
+[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 10.28
 [XMP, XMP-dc, Author] contributor - Contributor: Guess who
 [Ducky, Ducky, Image] 1 - Quality: 50%
 [Composite, Composite, Image] ImageSize - Image Size: 8x8
diff --git a/t/Writer_13.out b/t/Writer_13.out
index 039ada0..d63cdc7 100644
--- a/t/Writer_13.out
+++ b/t/Writer_13.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.25
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.28
 [File, System, Image] FileName - File Name: Writer_13_failed.jpg
 [File, System, Image] Directory - Directory: t
 [File, System, Image] FileSize - File Size: 5.1 kB
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:07:28 07:41:38-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2016:07:28 07:41:38-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:07:28 07:41:38-04:00
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:09:26 11:36:04-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JPEG
 [File, File, Image] FileTypeExtension - File Type Extension: jpg
@@ -26,7 +26,7 @@
 [EXIF, ExifIFD, Image] 33434 - Exposure Time: 1/64
 [EXIF, ExifIFD, Image] 33437 - F Number: 3.6
 [EXIF, ExifIFD, Image] 34855 - ISO: 100
-[EXIF, ExifIFD, Image] 36864 - Exif Version: 0230
+[EXIF, ExifIFD, Image] 36864 - Exif Version: 0231
 [EXIF, ExifIFD, Time] 36867 - Date/Time Original: 2003:11:10 17:39:26
 [EXIF, ExifIFD, Image] 37121 - Components Configuration: Y, Cb, Cr, -
 [EXIF, ExifIFD, Image] 37380 - Exposure Compensation: 0
@@ -132,7 +132,7 @@
 [MakerNotes, Canon, Camera] 1 - Measured RGGB: 554 1022 1026 754
 [MakerNotes, Canon, Camera] 174 - Color Temperature: 5200
 [MakerNotes, Canon, Camera] 180 - Color Space: sRGB
-[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 10.25
+[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 10.28
 [XMP, XMP-getty, Image] OriginalFilename - Original File Name: CRW_1602.CRW
 [XMP, XMP-aux, Camera] Lens - Lens: 18.0 - 55.0 mm
 [XMP, XMP-dc, Image] description - Description: CRW with embedded XMP
diff --git a/t/Writer_19.out b/t/Writer_19.out
index 1ffa236..b58156e 100644
--- a/t/Writer_19.out
+++ b/t/Writer_19.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.93
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.28
 [File, System, Image] FileName - File Name: Writer_19_failed.jpg
 [File, System, Image] Directory - Directory: t
 [File, System, Image] FileSize - File Size: 553 bytes
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:04:18 07:17:52-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:18 07:17:52-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:04:18 07:17:52-04:00
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:09:26 11:36:04-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JPEG
 [File, File, Image] FileTypeExtension - File Type Extension: jpg
@@ -24,7 +24,7 @@
 [EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
 [EXIF, ExifIFD, Author] 315 - Artist: Harvey
 [EXIF, ExifIFD, Image] 34855 - ISO: 25
-[EXIF, ExifIFD, Image] 36864 - Exif Version: 0230
+[EXIF, ExifIFD, Image] 36864 - Exif Version: 0231
 [EXIF, ExifIFD, Time] 36867 - Date/Time Original: 2006:03:27 16:25:00
 [EXIF, ExifIFD, Image] 37121 - Components Configuration: Y, Cb, Cr, -
 [EXIF, ExifIFD, Image] 40960 - Flashpix Version: 0100
diff --git a/t/Writer_25.out b/t/Writer_25.out
index 63b3cbf..8759d8c 100644
--- a/t/Writer_25.out
+++ b/t/Writer_25.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.93
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.28
 [File, System, Image] FileName - File Name: Writer_25_failed.jpg
 [File, System, Image] Directory - Directory: t
 [File, System, Image] FileSize - File Size: 621 bytes
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:04:18 07:17:52-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:18 07:17:52-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:04:18 07:17:52-04:00
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:09:26 11:36:04-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:09:26 11:36:04-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JPEG
 [File, File, Image] FileTypeExtension - File Type Extension: jpg
@@ -27,7 +27,7 @@
 [EXIF, IFD0, Time] 306 - Modify Date: 2001:08:01 12:57:23
 [EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
 [EXIF, ExifIFD, Image] 33437 - F Number: 25.0
-[EXIF, ExifIFD, Image] 36864 - Exif Version: 0230
+[EXIF, ExifIFD, Image] 36864 - Exif Version: 0231
 [EXIF, ExifIFD, Image] 37121 - Components Configuration: Y, Cb, Cr, -
 [EXIF, ExifIFD, Image] 40960 - Flashpix Version: 0100
 [EXIF, ExifIFD, Image] 40961 - Color Space: Uncalibrated
diff --git a/t/Writer_46.out b/t/Writer_46.out
index ac99021..827c1e9 100644
--- a/t/Writer_46.out
+++ b/t/Writer_46.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.93
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.29
 [File, System, Image] FileName - File Name: Writer_46_failed.jpg
 [File, System, Image] Directory - Directory: t
-[File, System, Image] FileSize - File Size: 9.2 kB
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:04:18 07:17:53-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:18 07:17:53-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:04:18 07:17:53-04:00
+[File, System, Image] FileSize - File Size: 9.3 kB
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:10:04 08:10:36-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:10:04 08:10:36-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:10:04 08:10:36-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JPEG
 [File, File, Image] FileTypeExtension - File Type Extension: jpg
@@ -22,9 +22,11 @@
 [EXIF, IFD0, Image] 296 - Resolution Unit: inches
 [EXIF, IFD0, Author] 315 - Artist: 7
 [EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
-[EXIF, ExifIFD, Image] 36864 - Exif Version: 0230
+[EXIF, ExifIFD, Image] 36864 - Exif Version: 0231
 [EXIF, ExifIFD, Image] 37121 - Components Configuration: Y, Cb, Cr, -
 [EXIF, ExifIFD, Image] 37378 - Aperture Value: 7.0
+[EXIF, ExifIFD, Image] 37888 - Ambient Temperature: 7 C
+[EXIF, ExifIFD, Image] 37892 - Acceleration: 7
 [EXIF, ExifIFD, Image] 40960 - Flashpix Version: 0100
 [EXIF, ExifIFD, Image] 40961 - Color Space: Uncalibrated
 [IPTC, IPTC, Other] 120 - ARM Identifier: 7
@@ -35,7 +37,7 @@
 [IPTC, IPTC, Other] 152 - Audio Sampling Resolution: 07
 [IPTC, IPTC, Other] 153 - Audio Duration: 000007
 [IPTC, IPTC, Other] 154 - Audio Outcue: 7
-[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 9.93
+[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 10.29
 [XMP, XMP-iptcExt, Author] AboutCvTermCvId - About Cv Term Cv Id: 7
 [XMP, XMP-iptcExt, Author] AboutCvTermCvTermId - About Cv Term Id: 7
 [XMP, XMP-iptcExt, Author] AboutCvTermCvTermName - About Cv Term Name: 7
diff --git a/t/Writer_53.out b/t/Writer_53.out
index e351219..23ab651 100644
--- a/t/Writer_53.out
+++ b/t/Writer_53.out
@@ -1,10 +1,10 @@
-[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 9.93
+[ExifTool, ExifTool, ExifTool] ExifToolVersion - ExifTool Version Number: 10.28
 [File, System, Image] FileName - File Name: Writer_53_failed.xmp
 [File, System, Image] Directory - Directory: t
 [File, System, Image] FileSize - File Size: 3.6 kB
-[File, System, Time] FileModifyDate - File Modification Date/Time: 2015:04:18 07:17:54-04:00
-[File, System, Time] FileAccessDate - File Access Date/Time: 2015:04:18 07:17:54-04:00
-[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2015:04:18 07:17:54-04:00
+[File, System, Time] FileModifyDate - File Modification Date/Time: 2016:09:26 11:36:06-04:00
+[File, System, Time] FileAccessDate - File Access Date/Time: 2016:09:26 11:36:06-04:00
+[File, System, Time] FileInodeChangeDate - File Inode Change Date/Time: 2016:09:26 11:36:06-04:00
 [File, System, Image] FilePermissions - File Permissions: rw-r--r--
 [File, File, Image] FileType - File Type: JPEG
 [File, File, Image] FileTypeExtension - File Type Extension: jpg
@@ -21,11 +21,11 @@
 [EXIF, IFD0, Image] 296 - Resolution Unit: inches
 [EXIF, IFD0, Image] 531 - Y Cb Cr Positioning: Centered
 [EXIF, ExifIFD, Image] 34855 - ISO: 100
-[EXIF, ExifIFD, Image] 36864 - Exif Version: 0230
+[EXIF, ExifIFD, Image] 36864 - Exif Version: 0231
 [EXIF, ExifIFD, Image] 37121 - Components Configuration: Y, Cb, Cr, -
 [EXIF, ExifIFD, Image] 40960 - Flashpix Version: 0100
 [EXIF, ExifIFD, Image] 40961 - Color Space: Uncalibrated
-[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 9.93
+[XMP, XMP-x, Document] xmptk - XMP Toolkit: Image::ExifTool 10.28
 [XMP, XMP-aux, Camera] Lens - Lens: 18.0 - 55.0 mm
 [XMP, XMP-tiff, Image] BitsPerSample - Bits Per Sample: 8
 [XMP, XMP-tiff, Image] ImageLength - Image Height: 8
diff --git a/t/images/Apple.jpg b/t/images/Apple.jpg
new file mode 100644
index 0000000..fdf12ec
Binary files /dev/null and b/t/images/Apple.jpg differ
diff --git a/t/images/FLIF.flif b/t/images/FLIF.flif
new file mode 100755
index 0000000..1692a58
Binary files /dev/null and b/t/images/FLIF.flif differ
diff --git a/t/images/Jpeg2000.jp2 b/t/images/Jpeg2000.jp2
index 5b7fe97..708b8f0 100644
Binary files a/t/images/Jpeg2000.jp2 and b/t/images/Jpeg2000.jp2 differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libimage-exiftool-perl.git



More information about the Pkg-perl-cvs-commits mailing list