summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.autotest5
-rw-r--r--.minitest.rb2
-rw-r--r--.travis.yml4
-rw-r--r--Contributing.rdoc27
-rw-r--r--Gemfile1
-rw-r--r--History.rdoc104
-rw-r--r--Licence.rdoc2
-rw-r--r--Manifest.txt41
-rw-r--r--README.rdoc72
-rw-r--r--Rakefile227
-rw-r--r--data/mime-types.json1
-rw-r--r--docs/COPYING.txt678
-rw-r--r--docs/artistic.txt254
-rw-r--r--lib/mime.rb50
-rw-r--r--lib/mime/type.rb634
-rw-r--r--lib/mime/types.rb1164
-rw-r--r--lib/mime/types/application1010
-rw-r--r--lib/mime/types/application.mac3
-rw-r--r--lib/mime/types/application.nonstandard132
-rw-r--r--lib/mime/types/application.obsolete41
-rw-r--r--lib/mime/types/audio138
-rw-r--r--lib/mime/types/audio.nonstandard11
-rw-r--r--lib/mime/types/audio.obsolete1
-rw-r--r--lib/mime/types/cache.rb73
-rw-r--r--lib/mime/types/image46
-rw-r--r--lib/mime/types/image.nonstandard20
-rw-r--r--lib/mime/types/image.obsolete5
-rw-r--r--lib/mime/types/loader.rb248
-rw-r--r--lib/mime/types/loader_path.rb16
-rw-r--r--lib/mime/types/message18
-rw-r--r--lib/mime/types/message.obsolete2
-rw-r--r--lib/mime/types/model15
-rw-r--r--lib/mime/types/multipart14
-rw-r--r--lib/mime/types/multipart.nonstandard1
-rw-r--r--lib/mime/types/multipart.obsolete7
-rw-r--r--lib/mime/types/other.nonstandard8
-rw-r--r--lib/mime/types/text61
-rw-r--r--lib/mime/types/text.nonstandard7
-rw-r--r--lib/mime/types/text.obsolete8
-rw-r--r--lib/mime/types/text.vms1
-rw-r--r--lib/mime/types/video75
-rw-r--r--lib/mime/types/video.nonstandard16
-rw-r--r--lib/mime/types/video.obsolete3
-rw-r--r--mime-types.gemspec20
-rw-r--r--support/benchmarker.rb55
-rw-r--r--support/convert.rb130
-rw-r--r--support/iana_downloader.rb201
-rw-r--r--test/fixture/json.json1
-rw-r--r--test/fixture/old-data9
-rw-r--r--test/fixture/yaml.yaml75
-rw-r--r--test/minitest_helper.rb22
-rw-r--r--test/test_mime_type.rb480
-rw-r--r--test/test_mime_types.rb159
-rw-r--r--test/test_mime_types_cache.rb59
-rw-r--r--test/test_mime_types_class.rb135
-rw-r--r--test/test_mime_types_lazy.rb5
-rw-r--r--test/test_mime_types_loader.rb42
-rw-r--r--type-lists/application.txt1018
-rw-r--r--type-lists/application.yaml8967
-rw-r--r--type-lists/audio.txt139
-rw-r--r--type-lists/audio.yaml1111
-rw-r--r--type-lists/chemical.yaml31
-rw-r--r--type-lists/conference.yaml7
-rw-r--r--type-lists/drawing.yaml16
-rw-r--r--type-lists/image.txt45
-rw-r--r--type-lists/image.yaml528
-rw-r--r--type-lists/message.txt20
-rw-r--r--type-lists/message.yaml156
-rw-r--r--type-lists/model.txt15
-rw-r--r--type-lists/model.yaml122
-rw-r--r--type-lists/multipart.txt14
-rw-r--r--type-lists/multipart.yaml139
-rw-r--r--type-lists/text.txt65
-rw-r--r--type-lists/text.yaml615
-rw-r--r--type-lists/video.txt75
-rw-r--r--type-lists/video.yaml711
-rw-r--r--type-lists/world.yaml8
77 files changed, 15489 insertions, 4952 deletions
diff --git a/.autotest b/.autotest
new file mode 100644
index 0000000..c5ff2e7
--- /dev/null
+++ b/.autotest
@@ -0,0 +1,5 @@
+# -*- ruby encoding: utf-8 -*-
+
+Autotest.add_hook :initialize do |at|
+ at.testlib = ".minitest"
+end
diff --git a/.minitest.rb b/.minitest.rb
new file mode 100644
index 0000000..bba217e
--- /dev/null
+++ b/.minitest.rb
@@ -0,0 +1,2 @@
+gem "minitest"
+require "minitest/autorun"
diff --git a/.travis.yml b/.travis.yml
index 08ccee8..0e1841d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,12 +11,8 @@ rvm:
- 2.0.0
- 1.9.3
- 1.9.2
- - 1.8.7
- jruby-19mode
- - jruby-18mode
- rbx-19mode
- - rbx-18mode
- - ree
# - ruby-head
# - jruby-head
matrix:
diff --git a/Contributing.rdoc b/Contributing.rdoc
index f10de12..72a8c64 100644
--- a/Contributing.rdoc
+++ b/Contributing.rdoc
@@ -1,13 +1,12 @@
== Contributing
-I value any contribution to MIME::Types you can provide: a bug report, a feature
+I value any contribution to mime-types you can provide: a bug report, a feature
request, or code contributions.
-Code contributions to MIME::Types are especially <del>welcome</del>encouraged.
-Because MIME::Types is a complex codebase, there are a few guidelines:
+As mime-types is a complex codebase, there are a few guidelines:
-* Changes (aside from new MIME types) <strong>will not</strong> be accepted
- without tests. The test suite is written with MiniTest.
+* Changes (aside from new MIME types) *will* *not* be accepted
+ without tests. The test suite is written with Minitest.
* Match my coding style.
* Use a thoughtfully-named topic branch that contains your change. Rebase your
commits into logical chunks as necessary.
@@ -15,16 +14,16 @@ Because MIME::Types is a complex codebase, there are a few guidelines:
* Do not change the version number; when your patch is accepted and a release
is made, the version will be updated at that point.
* Submit a GitHub pull request with your changes.
-* New features require new documentation.
+* New behaviours require new or updated documentation.
=== Test Dependencies
To run the test suite, you will need to install the development dependencies
-for MIME::Types. If you have Bundler, you can accomplish this easily:
+for mime-types. If you have Bundler, you can accomplish this easily:
$ bundle install
-MIME::Types uses Ryan Davis’s excellent {Hoe}[https://github.com/seattlerb/hoe]
+mime-types uses Ryan Davis’s excellent {Hoe}[https://github.com/seattlerb/hoe]
to manage the release process, and it adds a number of rake tasks. You will
mostly be interested in:
@@ -42,20 +41,20 @@ will do.
Here's the most direct way to get your work merged into the project:
* Fork the project.
-* Clone down your fork (+git clone git://github.com/<username>/mime-types.git+).
-* Create a topic branch to contain your change (+git checkout -b my\_awesome\_feature+).
+* Clone down your fork (<tt>git clone git://github.com/<username>/mime-types.git</tt>).
+* Create a topic branch to contain your change (<tt>git checkout -b my\_awesome\_feature</tt>).
* Hack away, add tests. Not necessarily in that order.
-* Make sure everything still passes by running `rake`.
+* Make sure everything still passes by running +rake+.
* If necessary, rebase your commits into logical chunks, without errors.
-* Push the branch up (+git push origin my\_awesome\_feature+).
+* Push the branch up (<tt>git push origin my\_awesome\_feature</tt>).
* Create a pull request against halostatue/mime-types and describe what your
change does and the why you think it should be merged.
=== Contributors
-* Austin Ziegler created MIME::Types.
+* Austin Ziegler created mime-types.
-Thanks to everyone else who has contributed to MIME::Types:
+Thanks to everyone else who has contributed to mime-types:
* Andre Pankratz
* Mauricio Linhares
diff --git a/Gemfile b/Gemfile
index 03c42ae..29738da 100644
--- a/Gemfile
+++ b/Gemfile
@@ -15,6 +15,7 @@ gem "hoe-git", "~>1.5", :group => [:development, :test]
gem "hoe-rubygems", "~>1.0", :group => [:development, :test]
gem "hoe-travis", "~>1.2", :group => [:development, :test]
gem "rake", "~>10.0", :group => [:development, :test]
+gem "simplecov", "~>0.7", :group => [:development, :test]
gem "hoe", "~>3.7", :group => [:development, :test]
# vim: syntax=ruby
diff --git a/History.rdoc b/History.rdoc
index 84e8840..07a3a10 100644
--- a/History.rdoc
+++ b/History.rdoc
@@ -1,3 +1,103 @@
+== 2.0 / 2013-10-DD
+
+* API Changes (General):
+ * mime-types is no longer compatible with Ruby 1.8. Additionally, for its
+ YAML operations (normally development and test), it requires a YAML parser
+ that conforms to the Psych parser, not the Syck parser. This would only be
+ a problem with an alternative Ruby 1.9.2 interpreter that does not
+ implement the Psych parser conventions by requiring +psych+.
+ * MIME::InvalidContentType has been renamed to
+ MIME::Type::InvalidContentType.
+* API Changes (MIME::Type):
+ * Construction of a MIME::Type can be with any of the following objects:
+ * An array containing a valid content type identifier and an optional array
+ of extensions. This allows MIME::Type.new to be used instead of
+ MIME::Type.from_array for the most common use-case. Fixes #43.
+ https://github.com/halostatue/mime-types/pull/43
+ * A Hash containing the output of MIME::Type#to_h, as would be deserialized
+ from the JSON representation of a MIME::Type. This replaces
+ MIME::Type.from_hash using a different parameter set.
+ * Another MIME::Type.
+ * A content type identifier string.
+ * Assignment of an invalid encoding to MIME::Type#encoding= will raise a
+ MIME::Type::InvalidEncoding exception rather than a plain ArgumentError.
+ * MIME::Type#url has been renamed to MIME::Type#references.
+ * MIME::Type#use_instead is now tracked as its own attribute, not as part of
+ MIME::Type#docs.
+ * MIME::Type#system, MIME::Type#system?, MIME::Type#platform?,
+ MIME::Type#to_a, MIME::Type#to_hash, MIME::Type.from_array,
+ MIME::Type.from_hash, and MIME::Type.from_mime_type have been deprecated
+ for removal.
+ * Implemented YAML object encoding and decoding methods,
+ MIME::Type#encode_with and MIME::Type#init_with.
+ * Implemented JSON hash encoding methods.
+ * Added MIME::Type#add_extensions to easily add extensions to a MIME::Type.
+ Fixes #44. https://github.com/halostatue/mime-types/pull/44
+* API Changes (MIME::Types):
+ * MIME type caching has been extracted to its own class. It is structurally
+ similar to what was introduced with mime-types 1.25, but is no longer
+ considered an experimental interface.
+ * MIME type loading has been extracted to its own class. Loading has changed
+ substantially.
+ * MIME::Types#[] accepts a new filter flag, :registered. The :platform flag
+ has been deprecated.
+ * The MIME::Types#type_for platform parameter has been deprecated.
+ * Added the ability for MIME::Types#type_for produce results for multiple
+ filenames or extensions by providing an array as the first parameter. Fixes
+ #42. https://github.com/halostatue/mime-types/pull/42
+ * MIME::Types#add_type_variant and MIME::Types#index_extensions have been
+ deprecated as public methods. They will be private in a future version.
+ * MIME::Types#defined_types, MIME::Types.cache_file,
+ MIME::Types.add_type_variant, and MIME::Types.index_extensions have been
+ deprecated for removal.
+* Default Registry Changes:
+ * The default registry is now a file in the directory data/, located via
+ MIME::Types::Loader::PATH. +PATH+ is defined in the file
+ lib/mime/types/path.rb so that system packagers only have to modify one
+ file in order to put the registry in a location that is not where a gem
+ version of mime-types would expect it. This resolves issue #36, reported by
+ postmodern. https://github.com/halostatue/mime-types/pull/36
+ * The default registry is now a single file in JSON format. This resolves
+ issue #28 reported by jasonlor (an error with mime-types in MacRuby).
+ https://github.com/halostatue/mime-types/pull/28
+ * The default registry is compiled from YAML files in type-lists/, resolving
+ issue #37 reported by postmodern requesting an easier-to-edit format.
+ https://github.com/halostatue/mime-types/pull/37
+* New or Updated MIME Types:
+ * Major updates to the registered MIME type list from IANA using the improved
+ developer tools.
+ * Added:
+ * application/xhtml\+xml (HTML5)
+ * multipart/x-mixed-replace (HTML5)
+ * application/vnd.apple.pkpass (Apple PassBook) with extension pkpass.
+ * Modified:
+ * application/gzip (RFC6713) added extension (gz) and encoding.
+ * application/epub\+zip is not a registered MIME type.
+ * application/rss\+xml is not a registered MIME type.
+ * application/x-director reported incorrect extensions.
+ * application/x-gzip marked as obsolete (use application/gzip instead).
+ * application/x-maker marked as obsolete (use application/vnd.framemaker
+ instead).
+ * image/webp is not a registered MIME type; added a URL to Google's
+ proposed standard document.
+ * text/html added URL to the HTML5 specification.
+ * text/cache-manifest added URL to the HTML5 specification.
+ * text/plain (VMS .doc files) marked as non-standard. This type will be
+ merged with the standard text/plain type in a future release.
+ * Added md, markdown, rst, and textile extensions to text/plain.
+* MIME Type Development Tools
+ * The benchmarking task has been moved mostly to support/benchmarker.rb.
+ * A task for SimpleCov coverage has been added (<tt>rake test:coverage</tt>).
+ * IANA type registry downloading has been substantially improved and the
+ implementation no longer resides in the Rakefile; it has instead been moved
+ to support/iana_downloader.rb. This takes advantage of the new YAML
+ encoding functionality to update added or modified MIME types
+ non-destructively in <tt>type-lists/</tt> by default.
+ * Rake tasks <tt>convert:yaml:json</tt> and <tt>convert:json:yaml</tt>
+ provide functionality to convert the human-editable YAML format in
+ <tt>type-lists/</tt> to the JSON format in <tt>data/</tt> and vice-versa.
+ This is powered by support/convert.rb.
+
== 1.25 / 2013-08-30
* New Features:
@@ -10,7 +110,7 @@
* New extensions:
* mjpeg (video/x-motion-jpeg) based on a change by punkrats, found in the
vidibus fork.
-* Modernized MiniTest configuration.
+* Modernized Minitest configuration.
== 1.24 / 2013-08-14
@@ -137,7 +237,7 @@
* New MIME Types:
* Types reported in https://github.com/halostatue/mime-types/issues/6:
* CoffeeScript (text/x-coffeescript; .coffee; 8bit).
- * AIR (application/vnd.adobe.air-applicationinstaller-package+zip, .air; base64).
+ * AIR (application/vnd.adobe.air-applicationinstaller-package\+zip, .air; base64).
* WOFF (application/font-woff; .woff; base64).
* TrueType (application/x-font-truetype; .ttf; base64).
* OpenType (application/x-font-opentype; .otf; base64).
diff --git a/Licence.rdoc b/Licence.rdoc
index 0028af9..3de5c66 100644
--- a/Licence.rdoc
+++ b/Licence.rdoc
@@ -13,7 +13,7 @@ licensing terms.
=== MIT License
-this software and associated documentation files (the "Software"), to deal in
+This software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
diff --git a/Manifest.txt b/Manifest.txt
index 864ccae..8f66a0d 100644
--- a/Manifest.txt
+++ b/Manifest.txt
@@ -1,5 +1,7 @@
+.autotest
.gemtest
.hoerc
+.minitest.rb
.travis.yml
Contributing.rdoc
Gemfile
@@ -8,35 +10,26 @@ Licence.rdoc
Manifest.txt
README.rdoc
Rakefile
+data/mime-types.json
docs/COPYING.txt
docs/artistic.txt
lib/mime-types.rb
+lib/mime.rb
+lib/mime/type.rb
lib/mime/types.rb
-lib/mime/types/application
-lib/mime/types/application.mac
-lib/mime/types/application.nonstandard
-lib/mime/types/application.obsolete
-lib/mime/types/audio
-lib/mime/types/audio.nonstandard
-lib/mime/types/audio.obsolete
-lib/mime/types/image
-lib/mime/types/image.nonstandard
-lib/mime/types/image.obsolete
-lib/mime/types/message
-lib/mime/types/message.obsolete
-lib/mime/types/model
-lib/mime/types/multipart
-lib/mime/types/multipart.nonstandard
-lib/mime/types/multipart.obsolete
-lib/mime/types/other.nonstandard
-lib/mime/types/text
-lib/mime/types/text.nonstandard
-lib/mime/types/text.obsolete
-lib/mime/types/text.vms
-lib/mime/types/video
-lib/mime/types/video.nonstandard
-lib/mime/types/video.obsolete
+lib/mime/types/cache.rb
+lib/mime/types/loader.rb
+lib/mime/types/loader_path.rb
+support/benchmarker.rb
+support/convert.rb
+support/iana_downloader.rb
+test/fixture/json.json
+test/fixture/old-data
+test/fixture/yaml.yaml
+test/minitest_helper.rb
test/test_mime_type.rb
test/test_mime_types.rb
test/test_mime_types_cache.rb
+test/test_mime_types_class.rb
test/test_mime_types_lazy.rb
+test/test_mime_types_loader.rb
diff --git a/README.rdoc b/README.rdoc
index 4d3620a..36a231a 100644
--- a/README.rdoc
+++ b/README.rdoc
@@ -1,4 +1,4 @@
-= MIME::Types for Ruby
+= mime-types
home :: http://mime-types.rubyforge.org/
code :: https://github.com/halostatue/mime-types/
@@ -9,53 +9,33 @@ continuous integration :: {<img src="https://travis-ci.org/halostatue/mime-types
== Description
-This library allows for the identification of a file's likely MIME content
-type. This is release 1.25, adding experimental caching and lazy loading
-functionality.
-
-The caching and lazy loading features were initially implemented by Greg
-Brockman (gdb). As these features are experimental, they are disabled by
-default and must be enabled through the use of environment variables. The cache
-is invalidated on a per-version basis; the cache for version 1.25 will not be
-reused for version 1.26.
-
-To use lazy loading, set the environment variable +RUBY_MIME_TYPES_LAZY_LOAD+
-to any value other than 'false'. When using lazy loading, the initial startup
-of MIME::Types is around 12–25× faster than normal startup (on my system,
-normal startup is about 90 ms; lazy startup is about 4 ms). This isn't
-generally useful, however, as the MIME::Types database has not been loaded.
-Lazy startup and load is just *slightly* faster—around 1 ms. The real advantage
-comes from using the cache.
-
-To enable the cache, set the environment variable +RUBY_MIME_TYPES_CACHE+ to a
-filename where MIME::Types will have read-write access. The first time a new
-version of MIME::Types is run using this file, it will be created, taking a
-little longer than normal. Subsequent loads using the same cache file will be
-approximately 3½× faster (25 ms) than normal loads. This can be combined with
-+RUBY_MIME_TYPES_LAZY_LOAD+, but this is *not* recommended in a multithreaded
-or multiprocess environment where all threads or processes will be using the
-same cache file.
-
-As the caching interface is still experimental, the only values cached are the
-default MIME::Types database, not any custom MIME::Types added by users.
-
-MIME types are used in MIME-compliant communications, as in e-mail or HTTP
-traffic, to indicate the type of content which is transmitted. MIME::Types
-provides the ability for detailed information about MIME entities (provided as
-a set of MIME::Type objects) to be determined and used programmatically. There
-are many types defined by RFCs and vendors, so the list is long but not
-complete; don't hesitate to ask to add additional information. This library
-follows the IANA collection of MIME types (see below for reference).
-
-MIME::Types for Ruby was originally based on MIME::Types for Perl by Mark
-Overmeer, copyright 2001 - 2009. As of version 1.15, the data format for the
-MIME::Type list has changed and the synchronization will no longer happen.
-
-MIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It
-tracks the {IANA registry}[http://www.iana.org/assignments/media-types/]
+The mime-types library provides a library and registry for information about
+MIME content type definitions. It can be used to determine defined filename
+extensions for MIME types, or to use filename extensions to look up the likely
+MIME type definitions.
+
+MIME content types are used in MIME-compliant communications, as in e-mail or
+HTTP traffic, to indicate the type of content which is transmitted. The
+mime-types library provides the ability for detailed information about MIME
+entities (provided as an enumerable collection of MIME::Type objects) to be
+determined and used programmatically. There are many types defined by RFCs and
+vendors, so the list is long but by definition incomplete; don't hesitate to to
+add additional type definitions (see Contributing.rdoc). The primary sources
+for MIME type definitions found in mime-types is the IANA collection of
+registrations (see below for the link), RFCs, and W3C recommendations.
+
+The mime-types library uses semantic versioning. This is release 2.0; there are
+incompatible changes in the API provided by mime-types, mostly around registry
+initialization (see History.rdoc for full details), and the removal of support
+for Ruby 1.8 interpreters.
+
+mime-types (previously called MIME::Types for Ruby) was originally based on
+MIME::Types for Perl by Mark Overmeer, copyright 2001 - 2009. It is built to
+conform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA
+registry}[http://www.iana.org/assignments/media-types/]
({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types
added from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]
-and added by the users of MIME::Types.
+and added by the users of mime-types.
== Synopsis
diff --git a/Rakefile b/Rakefile
index bc2c25a..01e5c60 100644
--- a/Rakefile
+++ b/Rakefile
@@ -14,6 +14,9 @@ Hoe.plugin :travis
spec = Hoe.spec 'mime-types' do
developer('Austin Ziegler', 'austin@rubyforge.org')
+ self.need_tar = true
+
+ self.require_ruby_version '>= 1.9.2'
self.remote_rdoc_dir = '.'
self.rsync_args << ' --exclude=statsvn/'
@@ -31,202 +34,34 @@ spec = Hoe.spec 'mime-types' do
self.extra_dev_deps << ['hoe-travis', '~> 1.2']
self.extra_dev_deps << ['minitest', '~> 4.5']
self.extra_dev_deps << ['rake', '~> 10.0']
-end
-
-def reload_mime_types(repeats = 1, force_load = false)
- repeats.times {
- Object.send(:remove_const, :MIME) if defined? MIME
- load 'lib/mime/types.rb'
- MIME::Types.send(:__types__) if force_load
- }
+ self.extra_dev_deps << ['simplecov', '~> 0.7']
end
desc 'Benchmark'
task :benchmark, :repeats do |t, args|
- repeats = args.repeats.to_i
- repeats = 50 if repeats.zero?
- require 'benchmark'
- $LOAD_PATH.unshift 'lib'
-
- cache_file = File.expand_path('../cache.mtx', __FILE__)
- rm cache_file if File.exist? cache_file
-
- Benchmark.bm(17) do |x|
- x.report("Normal:") { reload_mime_types repeats }
-
- ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'yes'
- x.report("Lazy:") { reload_mime_types repeats }
- x.report("Lazy+Load:") { reload_mime_types repeats, true }
+ $LOAD_PATH.unshift('support')
+ require 'benchmarker'
- ENV.delete('RUBY_MIME_TYPES_LAZY_LOAD')
-
- ENV['RUBY_MIME_TYPES_CACHE'] = cache_file
- reload_mime_types
-
- x.report("Cached:") { reload_mime_types repeats }
- ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'yes'
- x.report("Lazy Cached:") { reload_mime_types repeats }
- x.report("Lazy Cached Load:") { reload_mime_types repeats, true }
+ Benchmarker.benchmark(args.repeats)
+end
+namespace :test do
+ task :coverage do
+ spec.test_prelude = [
+ 'require "simplecov"',
+ 'SimpleCov.start("test_frameworks") { command_name "Minitest" }',
+ 'gem "minitest"'
+ ].join('; ')
+ Rake::Task['test'].execute
end
-
- rm cache_file
end
namespace :mime do
desc "Download the current MIME type registrations from IANA."
- task :iana, :save, :destination do |t, args|
- save_type = (args.save || :text).to_sym
-
- case save_type
- when :text, :both, :html
- nil
- else
- raise "Unknown save type provided. Must be one of text, both, or html."
- end
-
- destination = args.destination || "type-lists"
-
- require 'open-uri'
- require 'nokogiri'
- require 'cgi'
-
- class IANAParser
- include Comparable
-
- INDEX = %q(http://www.iana.org/assignments/media-types/)
- CONTACT_PEOPLE = %r{http://www.iana.org/assignments/contact-people.html?#(.*)}
- RFC_EDITOR = %r{http://www.rfc-editor.org/rfc/rfc(\d+).txt}
- IETF_RFC = %r{http://www.ietf.org/rfc/rfc(\d+).txt}
- IETF_RFC_TOOLS = %r{http://tools.ietf.org/html/rfc(\d+)}
-
- class << self
- def load_index
- @types ||= {}
-
- Nokogiri::HTML(open(INDEX) { |f| f.read }).xpath('//p/a').each do |tag|
- href_match = %r{^/assignments/media-types/(.+)/$}.match(tag['href'])
- next if href_match.nil?
- type = href_match.captures[0]
- @types[tag.content] = IANAParser.new(tag.content, type)
- end
- end
-
- attr_reader :types
- end
-
- def initialize(name, type)
- @name = name
- @type = type
- @url = File.join(INDEX, @type)
- end
-
- attr_reader :name
- attr_reader :type
- attr_reader :url
- attr_reader :html
-
- def download(name = nil)
- @html = Nokogiri::HTML(open(name || @url) { |f| f.read })
- end
-
- def save_html
- File.open("#@name.html", "wb") { |w| w.write @html }
- end
-
- def <=>(o)
- self.name <=> o.name
- end
-
- def parse
- nodes = html.xpath("//table//table//tr")
-
- # How many <td> children does the first node have?
- node_count = nodes.first.children.select { |n| n.elem? }.size
-
- if node_count == 1
- # The title node doesn't have what we expect. Let's try it based
- # on the first real node.
- node_count = nodes.first.next.children.select { |n| n.elem? }.size
- end
-
- @mime_types = nodes.map do |node|
- next if node == nodes.first
- elems = node.children.select { |n| n.elem? }
- next if elems.size.zero?
-
- if elems.size != node_count
- warn "size mismatch (#{elems.size} != #{node_count}) in node: #{node}"
- next
- end
-
- case elems.size
- when 3
- subtype_index = 1
- refnode_index = 2
- when 4
- subtype_index = 1
- refnode_index = 3
- else
- raise "Unknown element size."
- end
-
- subtype = elems[subtype_index].content.chomp.strip
- refnodes = elems[refnode_index].children.select { |n| n.elem? }.map { |ref|
- case ref['href']
- when CONTACT_PEOPLE
- tag = CGI::unescape($1).chomp.strip
- if tag == ref.content
- "[#{ref.content}]"
- else
- "[#{ref.content}=#{tag}]"
- end
- when RFC_EDITOR, IETF_RFC, IETF_RFC_TOOLS
- "RFC#$1"
- when %r{(https?://.*)}
- "{#{ref.content}=#$1}"
- else
- ref
- end
- }
- refs = refnodes.join(',')
-
- "#@type/#{subtype} 'IANA,#{refs}"
- end.compact
-
- @mime_types
- end
-
- def save_text
- File.open("#@name.txt", "wb") { |w| w.write @mime_types.join("\n") }
- end
- end
-
- puts "Downloading index of MIME types from #{IANAParser::INDEX}."
- IANAParser.load_index
-
- require 'fileutils'
- FileUtils.mkdir_p destination
- Dir.chdir destination do
- IANAParser.types.values.sort.each do |parser|
- next if parser.name == "example" or parser.name == "mime"
- puts "Downloading #{parser.name} from #{parser.url}"
- parser.download
-
- if :html == save_type || :both == save_type
- puts "Saving #{parser.name}.html"
- parser.save_html
- end
-
- if :text == save_type || :both == save_type
- puts "Parsing #{parser.name} HTML"
- parser.parse
-
- puts "Saving #{parser.name}.txt"
- parser.save_text
- end
- end
- end
+ task :iana, :destination do |t, args|
+ $LOAD_PATH.unshift('support')
+ require 'iana_downloader'
+ IANADownloader.download_to(args.destination)
end
desc "Shows known MIME type sources."
@@ -242,4 +77,26 @@ http://www.iana.org/assignments/media-types/
end
end
+Rake::Task['gem'].prerequisites.unshift("convert:yaml:json")
+
+namespace :convert do
+ namespace :yaml do
+ desc "Convert from YAML to JSON"
+ task :json, :source, :destination, :multiple_files do |t, args|
+ $LOAD_PATH.unshift('support')
+ require 'convert'
+ Convert.from_yaml_to_json(args)
+ end
+ end
+
+ namespace :json do
+ desc "Convert from JSON to YAML"
+ task :yaml, :source, :destination, :multiple_files do |t, args|
+ $LOAD_PATH.unshift('support')
+ require 'convert'
+ Convert.from_json_to_yaml(args)
+ end
+ end
+end
+
# vim: syntax=ruby
diff --git a/data/mime-types.json b/data/mime-types.json
new file mode 100644
index 0000000..4a374cc
--- /dev/null
+++ b/data/mime-types.json
@@ -0,0 +1 @@
+[{"content-type":"application/1d-interleaved-parityfec","encoding":"base64","references":["IANA","RFC6015"],"registered":true},{"content-type":"application/3gpp-ims+xml","encoding":"base64","references":["IANA","[Meredith]"],"registered":true},{"content-type":"application/acad","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/access","encoding":"base64","extensions":["mda","mdb","mde","mdf"],"obsolete":true,"use-instead":["application/x-msaccess"],"registered":false},{"content-type":"application/activemessage","encoding":"base64","references":["IANA","[Shapiro]"],"registered":true},{"content-type":"application/andrew-inset","encoding":"base64","references":["IANA","[Borenstein]"],"registered":true},{"content-type":"application/appledouble","encoding":"base64","registered":false},{"content-type":"application/applefile","encoding":"base64","references":["IANA","[Faltstrom]"],"registered":true},{"content-type":"application/atom+xml","encoding":"8bit","extensions":["atom"],"references":["IANA","RFC4287","RFC5023"],"registered":true},{"content-type":"application/atomcat+xml","encoding":"8bit","references":["IANA","RFC5023"],"registered":true},{"content-type":"application/atomdeleted+xml","encoding":"8bit","references":["IANA","RFC6721"],"registered":true},{"content-type":"application/atomicmail","encoding":"base64","references":["IANA","[Borenstein]"],"registered":true},{"content-type":"application/atomsvc+xml","encoding":"8bit","references":["IANA","RFC5023"],"registered":true},{"content-type":"application/auth-policy+xml","encoding":"8bit","references":["IANA","RFC4745"],"registered":true},{"content-type":"application/batch-SMTP","encoding":"base64","references":["IANA","RFC2442"],"registered":true},{"content-type":"application/beep+xml","encoding":"base64","references":["IANA","RFC3080"],"registered":true},{"content-type":"application/bleeper","encoding":"base64","extensions":["bleep"],"obsolete":true,"use-instead":["application/x-bleeper"],"registered":false},{"content-type":"application/calendar+xml","encoding":"base64","references":["IANA","RFC6321"],"registered":true},{"content-type":"application/call-completion","encoding":"base64","references":["IANA","RFC6910"],"registered":true},{"content-type":"application/cals-1840","encoding":"base64","references":["IANA","RFC1895"],"registered":true},{"content-type":"application/cals1840","encoding":"base64","obsolete":true,"use-instead":["application/cals-1840"],"references":["LTSW"],"registered":false},{"content-type":"application/cbor","encoding":"base64","references":["IANA","{RFC-bormann-cbor-09=http://tools.ietf.org/html/draft-bormann-cbor}"],"registered":true},{"content-type":"application/ccmp+xml","encoding":"base64","references":["IANA","RFC6503"],"registered":true},{"content-type":"application/ccxml+xml","encoding":"base64","references":["IANA","RFC4267"],"registered":true},{"content-type":"application/cdmi-capability","encoding":"base64","references":["IANA","RFC6208"],"registered":true},{"content-type":"application/cdmi-container","encoding":"base64","references":["IANA","RFC6208"],"registered":true},{"content-type":"application/cdmi-domain","encoding":"base64","references":["IANA","RFC6208"],"registered":true},{"content-type":"application/cdmi-object","encoding":"base64","references":["IANA","RFC6208"],"registered":true},{"content-type":"application/cdmi-queue","encoding":"base64","references":["IANA","RFC6208"],"registered":true},{"content-type":"application/cea-2018+xml","encoding":"base64","references":["IANA","[Zimmermann]"],"registered":true},{"content-type":"application/cellml+xml","encoding":"base64","references":["IANA","RFC4708"],"registered":true},{"content-type":"application/cfw","encoding":"base64","references":["IANA","RFC6230"],"registered":true},{"content-type":"application/clariscad","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/cnrp+xml","encoding":"base64","references":["IANA","RFC3367"],"registered":true},{"content-type":"application/commonground","encoding":"base64","references":["IANA","[Glazer]"],"registered":true},{"content-type":"application/conference-info+xml","encoding":"base64","references":["IANA","RFC4575"],"registered":true},{"content-type":"application/cpl+xml","encoding":"base64","references":["IANA","RFC3880"],"registered":true},{"content-type":"application/csrattrs","encoding":"base64","references":["IANA","{RFC-ietf-pkix-est-09=http://tools.ietf.org/html/draft-ietf-pkix-est}"],"registered":true},{"content-type":"application/csta+xml","encoding":"base64","references":["IANA","[Ecma International Helpdesk]"],"registered":true},{"content-type":"application/CSTAdata+xml","encoding":"base64","references":["IANA","[Ecma International Helpdesk]"],"registered":true},{"content-type":"application/cybercash","encoding":"base64","references":["IANA","[Eastlake]"],"registered":true},{"content-type":"application/dash+xml","encoding":"base64","references":["IANA","[Stockhammer]"],"registered":true},{"content-type":"application/dashdelta","encoding":"base64","references":["IANA","[Furbeck]"],"registered":true},{"content-type":"application/davmount+xml","encoding":"base64","references":["IANA","RFC4709"],"registered":true},{"content-type":"application/dca-rft","encoding":"base64","references":["IANA","[Campbell]"],"registered":true},{"content-type":"application/dec-dx","encoding":"base64","references":["IANA","[Campbell]"],"registered":true},{"content-type":"application/dialog-info+xml","encoding":"base64","references":["IANA","RFC4235"],"registered":true},{"content-type":"application/dicom","encoding":"base64","extensions":["dcm"],"references":["IANA","RFC3240"],"registered":true},{"content-type":"application/dns","encoding":"base64","references":["IANA","RFC4027"],"registered":true},{"content-type":"application/drafting","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/dskpp+xml","encoding":"base64","references":["IANA","RFC6063"],"registered":true},{"content-type":"application/dssc+der","encoding":"base64","references":["IANA","RFC5698"],"registered":true},{"content-type":"application/dssc+xml","encoding":"base64","references":["IANA","RFC5698"],"registered":true},{"content-type":"application/dvcs","encoding":"base64","references":["IANA","RFC3029"],"registered":true},{"content-type":"application/dxf","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/ecmascript","encoding":"base64","references":["IANA","RFC4329"],"registered":true},{"content-type":"application/EDI-Consent","encoding":"base64","references":["IANA","RFC1767"],"registered":true},{"content-type":"application/EDI-X12","encoding":"base64","references":["IANA","RFC1767"],"registered":true},{"content-type":"application/EDIFACT","encoding":"base64","references":["IANA","RFC1767"],"registered":true},{"content-type":"application/emma+xml","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/encaprtp","encoding":"base64","references":["IANA","RFC6849"],"registered":true},{"content-type":"application/epp+xml","encoding":"base64","references":["IANA","RFC5730"],"registered":true},{"content-type":"application/epub+zip","encoding":"base64","extensions":["epub"],"registered":false},{"content-type":"application/eshop","encoding":"base64","references":["IANA","[Katz]"],"registered":true},{"content-type":"application/example","encoding":"base64","references":["IANA","RFC4735"],"registered":true},{"content-type":"application/excel","encoding":"base64","extensions":["xls","xlt"],"references":["LTSW"],"registered":false},{"content-type":"application/exi","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/fastinfoset","encoding":"base64","references":["IANA","[ITU-T ASN.1 Rapporteur]"],"registered":true},{"content-type":"application/fastsoap","encoding":"base64","references":["IANA","[ITU-T ASN.1 Rapporteur]"],"registered":true},{"content-type":"application/fdt+xml","encoding":"base64","references":["IANA","RFC6726"],"registered":true},{"content-type":"application/fits","encoding":"base64","references":["IANA","RFC4047"],"registered":true},{"content-type":"application/font-sfnt","encoding":"base64","references":["IANA","[Levantovsky]"],"registered":true},{"content-type":"application/font-tdpfr","encoding":"base64","extensions":["pfr"],"references":["IANA","RFC3073"],"registered":true},{"content-type":"application/font-woff","encoding":"base64","extensions":["woff"],"references":["IANA","[W3C]"],"registered":true},{"content-type":"application/fractals","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/framework-attributes+xml","encoding":"base64","references":["IANA","RFC6230"],"registered":true},{"content-type":"application/futuresplash","encoding":"base64","extensions":["spl"],"obsolete":true,"use-instead":["application/x-futuresplash"],"registered":false},{"content-type":"application/ghostview","encoding":"base64","obsolete":true,"use-instead":["application/x-ghostview"],"registered":false},{"content-type":"application/gzip","encoding":"base64","extensions":["gz"],"references":["IANA","RFC6713"],"registered":true},{"content-type":"application/H224","encoding":"base64","references":["IANA","RFC4573"],"registered":true},{"content-type":"application/held+xml","encoding":"base64","references":["IANA","RFC5985"],"registered":true},{"content-type":"application/hep","encoding":"base64","extensions":["hep"],"obsolete":true,"use-instead":["application/x-hep"],"registered":false},{"content-type":"application/http","encoding":"base64","references":["IANA","RFC2616"],"registered":true},{"content-type":"application/hyperstudio","encoding":"base64","extensions":["stk"],"references":["IANA","[Domino]"],"registered":true},{"content-type":"application/i-deas","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/ibe-key-request+xml","encoding":"base64","references":["IANA","RFC5408"],"registered":true},{"content-type":"application/ibe-pkg-reply+xml","encoding":"base64","references":["IANA","RFC5408"],"registered":true},{"content-type":"application/ibe-pp-data","encoding":"base64","references":["IANA","RFC5408"],"registered":true},{"content-type":"application/iges","encoding":"base64","references":["IANA","[Parks]"],"registered":true},{"content-type":"application/im-iscomposing+xml","encoding":"base64","references":["IANA","RFC3994"],"registered":true},{"content-type":"application/imagemap","encoding":"8bit","extensions":["imagemap","imap"],"obsolete":true,"use-instead":["application/x-imagemap"],"registered":false},{"content-type":"application/index","encoding":"base64","references":["IANA","RFC2652"],"registered":true},{"content-type":"application/index.cmd","encoding":"base64","references":["IANA","RFC2652"],"registered":true},{"content-type":"application/index.obj","encoding":"base64","references":["IANA","RFC2652"],"registered":true},{"content-type":"application/index.response","encoding":"base64","references":["IANA","RFC2652"],"registered":true},{"content-type":"application/index.vnd","encoding":"base64","references":["IANA","RFC2652"],"registered":true},{"content-type":"application/inkml+xml","encoding":"base64","references":["IANA","[Ashimura]"],"registered":true},{"content-type":"application/iotp","encoding":"base64","references":["IANA","RFC2935"],"registered":true},{"content-type":"application/ipfix","encoding":"base64","references":["IANA","RFC5655"],"registered":true},{"content-type":"application/ipp","encoding":"base64","references":["IANA","RFC2910"],"registered":true},{"content-type":"application/isup","encoding":"base64","references":["IANA","RFC3204"],"registered":true},{"content-type":"application/its+xml","encoding":"base64","references":["IANA","[W3C]","[ITS-IG-W3C]"],"registered":true},{"content-type":"application/javascript","encoding":"8bit","extensions":["js"],"references":["IANA","RFC4329"],"registered":true},{"content-type":"application/jrd+json","encoding":"base64","references":["IANA","RFC7033"],"registered":true},{"content-type":"application/json","encoding":"8bit","extensions":["json"],"references":["IANA","RFC4627"],"registered":true},{"content-type":"application/json-patch+json","encoding":"base64","references":["IANA","RFC6902"],"registered":true},{"content-type":"application/kpml-request+xml","encoding":"base64","references":["IANA","RFC4730"],"registered":true},{"content-type":"application/kpml-response+xml","encoding":"base64","references":["IANA","RFC4730"],"registered":true},{"content-type":"application/ld+json","encoding":"base64","references":["IANA","[W3C]","[Herman]"],"registered":true},{"content-type":"application/link-format","encoding":"base64","references":["IANA","RFC6690"],"registered":true},{"content-type":"application/lost+xml","encoding":"base64","references":["IANA","RFC5222"],"registered":true},{"content-type":"application/lostsync+xml","encoding":"base64","references":["IANA","RFC6739"],"registered":true},{"content-type":"application/lotus-123","encoding":"base64","extensions":["wks"],"obsolete":true,"use-instead":["application/vnd.lotus-1-2-3"],"registered":false},{"content-type":"application/mac-binhex40","encoding":"8bit","extensions":["hqx"],"references":["IANA","[Faltstrom]"],"registered":true},{"content-type":"application/mac-compactpro","encoding":"base64","extensions":["cpt"],"obsolete":true,"use-instead":["application/x-mac-compactpro"],"registered":false},{"content-type":"application/macbinary","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/macwriteii","encoding":"base64","references":["IANA","[Lindner]"],"registered":true},{"content-type":"application/mads+xml","encoding":"base64","references":["IANA","RFC6207"],"registered":true},{"content-type":"application/marc","encoding":"base64","references":["IANA","RFC2220"],"registered":true},{"content-type":"application/marcxml+xml","encoding":"base64","references":["IANA","RFC6207"],"registered":true},{"content-type":"application/mathcad","encoding":"base64","extensions":["mcd"],"obsolete":true,"use-instead":["application/vnd.mcd"],"registered":false},{"content-type":"application/mathematica","encoding":"base64","references":["IANA","[Wolfram]"],"registered":true},{"content-type":"application/mathematica-old","encoding":"base64","obsolete":true,"use-instead":["application/x-mathematica-old"],"registered":false},{"content-type":"application/mathml+xml","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/mathml-content+xml","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/mathml-presentation+xml","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/mbms-associated-procedure-description+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-deregister+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-envelope+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-msk+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-msk-response+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-protection-description+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-reception-report+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-register+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-register-response+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbms-schedule+xml","encoding":"base64","references":["IANA","[3GPP]","[Turcotte]"],"registered":true},{"content-type":"application/mbms-user-service-description+xml","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/mbox","encoding":"base64","references":["IANA","RFC4155"],"registered":true},{"content-type":"application/media-policy-dataset+xml","encoding":"base64","references":["IANA","RFC6796"],"registered":true},{"content-type":"application/media_control+xml","encoding":"base64","references":["IANA","RFC5168"],"registered":true},{"content-type":"application/mediaservercontrol+xml","encoding":"base64","references":["IANA","RFC5022"],"registered":true},{"content-type":"application/metalink4+xml","encoding":"base64","references":["IANA","RFC5854"],"registered":true},{"content-type":"application/mets+xml","encoding":"base64","references":["IANA","RFC6207"],"registered":true},{"content-type":"application/mikey","encoding":"base64","references":["IANA","RFC3830"],"registered":true},{"content-type":"application/mods+xml","encoding":"base64","references":["IANA","RFC6207"],"registered":true},{"content-type":"application/moss-keys","encoding":"base64","references":["IANA","RFC1848"],"registered":true},{"content-type":"application/moss-signature","encoding":"base64","references":["IANA","RFC1848"],"registered":true},{"content-type":"application/mosskey-data","encoding":"base64","references":["IANA","RFC1848"],"registered":true},{"content-type":"application/mosskey-request","encoding":"base64","references":["IANA","RFC1848"],"registered":true},{"content-type":"application/mp21","encoding":"base64","references":["IANA","RFC6381","[Singer]"],"registered":true},{"content-type":"application/mp4","encoding":"base64","extensions":["mp4","mpg4"],"references":["IANA","RFC4337","RFC6381"],"registered":true},{"content-type":"application/mpeg4-generic","encoding":"base64","references":["IANA","RFC3640"],"registered":true},{"content-type":"application/mpeg4-iod","encoding":"base64","references":["IANA","RFC4337"],"registered":true},{"content-type":"application/mpeg4-iod-xmt","encoding":"base64","references":["IANA","RFC4337"],"registered":true},{"content-type":"application/mrb-consumer+xml","encoding":"base64","references":["IANA","RFC6917"],"registered":true},{"content-type":"application/mrb-publish+xml","encoding":"base64","references":["IANA","RFC6917"],"registered":true},{"content-type":"application/msc-ivr+xml","encoding":"base64","references":["IANA","RFC6231"],"registered":true},{"content-type":"application/msc-mixer+xml","encoding":"base64","references":["IANA","RFC6505"],"registered":true},{"content-type":"application/msword","encoding":"base64","extensions":["doc","dot","wrd"],"references":["IANA","[Lindner]"],"registered":true},{"content-type":"application/mxf","encoding":"base64","extensions":["mxf"],"references":["IANA","RFC4539"],"registered":true},{"content-type":"application/nasdata","encoding":"base64","references":["IANA","RFC4707"],"registered":true},{"content-type":"application/netcdf","encoding":"base64","extensions":["cdf","nc"],"references":["LTSW"],"registered":false},{"content-type":"application/news-checkgroups","encoding":"base64","references":["IANA","RFC5537"],"registered":true},{"content-type":"application/news-groupinfo","encoding":"base64","references":["IANA","RFC5537"],"registered":true},{"content-type":"application/news-message-id","encoding":"base64","obsolete":true,"references":["IANA","RFC1036","[Spencer]"],"registered":false},{"content-type":"application/news-transmission","encoding":"base64","references":["IANA","RFC5537"],"registered":true},{"content-type":"application/nlsml+xml","encoding":"base64","references":["IANA","RFC6787"],"registered":true},{"content-type":"application/nss","encoding":"base64","references":["IANA","[Hammer]"],"registered":true},{"content-type":"application/ocsp-request","encoding":"base64","references":["IANA","RFC6960"],"registered":true},{"content-type":"application/ocsp-response","encoding":"base64","references":["IANA","RFC6960"],"registered":true},{"content-type":"application/octet-stream","encoding":"base64","extensions":["ani","bin","class","dll","dms","dylib","exe","lha","lzh","pgp","so"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"application/oda","encoding":"base64","extensions":["oda"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"application/oebps-package+xml","encoding":"base64","references":["IANA","RFC4839"],"registered":true},{"content-type":"application/ogg","encoding":"base64","extensions":["ogx"],"references":["IANA","RFC5334"],"registered":true},{"content-type":"application/oxps","encoding":"base64","references":["IANA","[Ecma International Helpdesk]"],"registered":true},{"content-type":"application/p2p-overlay+xml","encoding":"base64","references":["IANA","{RFC-ietf-p2psip-base-26=http://tools.ietf.org/html/draft-ietf-p2psip-base}"],"registered":true},{"content-type":"application/parityfec","encoding":"base64","references":["IANA","RFC5109"],"registered":true},{"content-type":"application/patch-ops-error+xml","encoding":"base64","references":["IANA","RFC5261"],"registered":true},{"content-type":"application/pdf","encoding":"base64","extensions":["pdf"],"references":["IANA","RFC3778"],"registered":true},{"content-type":"application/pgp-encrypted","encoding":"7bit","references":["IANA","RFC3156"],"registered":true},{"content-type":"application/pgp-keys","encoding":"7bit","references":["IANA","RFC3156"],"registered":true,"signature":true},{"content-type":"application/pgp-signature","encoding":"base64","extensions":["sig"],"references":["IANA","RFC3156"],"registered":true,"signature":true},{"content-type":"application/pidf+xml","encoding":"base64","references":["IANA","RFC3863"],"registered":true},{"content-type":"application/pidf-diff+xml","encoding":"base64","references":["IANA","RFC5262"],"registered":true},{"content-type":"application/pkcs10","encoding":"base64","extensions":["p10"],"references":["IANA","RFC5967"],"registered":true,"signature":true},{"content-type":"application/pkcs7-mime","encoding":"base64","extensions":["p7c","p7m"],"references":["IANA","RFC5751","RFC5273","{RFC-ietf-pkix-est-09=http://tools.ietf.org/html/draft-ietf-pkix-est}"],"registered":true,"signature":true},{"content-type":"application/pkcs7-signature","encoding":"base64","extensions":["p7s"],"references":["IANA","RFC5751"],"registered":true,"signature":true},{"content-type":"application/pkcs8","encoding":"base64","references":["IANA","RFC5958"],"registered":true},{"content-type":"application/pkix-attr-cert","encoding":"base64","references":["IANA","RFC5877"],"registered":true},{"content-type":"application/pkix-cert","encoding":"base64","extensions":["cer"],"references":["IANA","RFC2585"],"registered":true},{"content-type":"application/pkix-crl","encoding":"base64","extensions":["crl"],"references":["IANA","RFC2585"],"registered":true},{"content-type":"application/pkix-pkipath","encoding":"base64","extensions":["pkipath"],"references":["IANA","RFC6066"],"registered":true},{"content-type":"application/pkixcmp","encoding":"base64","extensions":["pki"],"references":["IANA","RFC2510"],"registered":true},{"content-type":"application/pls+xml","encoding":"base64","references":["IANA","RFC4267"],"registered":true},{"content-type":"application/poc-settings+xml","encoding":"base64","references":["IANA","RFC4354"],"registered":true},{"content-type":"application/postscript","encoding":"8bit","extensions":["ai","eps","ps"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"application/powerpoint","encoding":"base64","extensions":["pot","pps","ppt"],"references":["LTSW"],"registered":false},{"content-type":"application/pro_eng","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/provenance+xml","encoding":"base64","references":["IANA","[W3C]","[Herman]"],"registered":true},{"content-type":"application/prs.alvestrand.titrax-sheet","encoding":"base64","references":["IANA","[Alvestrand]"],"registered":true},{"content-type":"application/prs.cww","encoding":"base64","extensions":["cw","cww"],"references":["IANA","[Rungchavalnont]"],"registered":true},{"content-type":"application/prs.nprend","encoding":"base64","extensions":["rct","rnd"],"references":["IANA","[Doggett]"],"registered":true},{"content-type":"application/prs.plucker","encoding":"base64","references":["IANA","[Janssen]"],"registered":true},{"content-type":"application/prs.rdf-xml-crypt","encoding":"base64","references":["IANA","[Inkster]"],"registered":true},{"content-type":"application/prs.xsf+xml","encoding":"base64","references":["IANA","[Stührenberg=Stuhrenberg]"],"registered":true},{"content-type":"application/pskc+xml","encoding":"base64","references":["IANA","RFC6030"],"registered":true},{"content-type":"application/qsig","encoding":"base64","references":["IANA","RFC3204"],"registered":true},{"content-type":"application/quicktimeplayer","encoding":"base64","extensions":["qtl"],"obsolete":true,"use-instead":["application/x-quicktimeplayer"],"registered":false},{"content-type":"application/raptorfec","encoding":"base64","references":["IANA","RFC6682"],"registered":true},{"content-type":"application/rdf+xml","encoding":"8bit","extensions":["rdf"],"references":["IANA","RFC3870"],"registered":true},{"content-type":"application/reginfo+xml","encoding":"base64","references":["IANA","RFC3680"],"registered":true},{"content-type":"application/relax-ng-compact-syntax","encoding":"base64","references":["IANA","{ISO/IEC 19757-2:2003/FDAM-1=http://www.jtc1sc34.org/repository/0661.pdf}"],"registered":true},{"content-type":"application/remote-printing","encoding":"base64","references":["IANA","RFC1486","[Rose]"],"registered":true},{"content-type":"application/remote_printing","encoding":"base64","obsolete":true,"use-instead":["application/remote-printing"],"references":["LTSW"],"registered":false},{"content-type":"application/reputon+json","encoding":"base64","references":["IANA","{RFC-ietf-repute-media-type-13=http://tools.ietf.org/html/draft-ietf-repute-media-type}"],"registered":true},{"content-type":"application/resource-lists+xml","encoding":"base64","references":["IANA","RFC4826"],"registered":true},{"content-type":"application/resource-lists-diff+xml","encoding":"base64","references":["IANA","RFC5362"],"registered":true},{"content-type":"application/riscos","encoding":"base64","references":["IANA","[Smith]"],"registered":true},{"content-type":"application/rlmi+xml","encoding":"base64","references":["IANA","RFC4662"],"registered":true},{"content-type":"application/rls-services+xml","encoding":"base64","references":["IANA","RFC4826"],"registered":true},{"content-type":"application/rpki-ghostbusters","encoding":"base64","references":["IANA","RFC6493"],"registered":true},{"content-type":"application/rpki-manifest","encoding":"base64","references":["IANA","RFC6481"],"registered":true},{"content-type":"application/rpki-roa","encoding":"base64","references":["IANA","RFC6481"],"registered":true},{"content-type":"application/rpki-updown","encoding":"base64","references":["IANA","RFC6492"],"registered":true},{"content-type":"application/rss+xml","encoding":"base64","extensions":["rss"],"registered":false},{"content-type":"application/rtf","encoding":"base64","extensions":["rtf"],"references":["IANA","[Lindner]"],"registered":true},{"content-type":"application/rtploopback","encoding":"base64","references":["IANA","RFC6849"],"registered":true},{"content-type":"application/rtx","encoding":"base64","references":["IANA","RFC4588"],"registered":true},{"content-type":"application/samlassertion+xml","encoding":"base64","references":["IANA","[OASIS Security Services Technical Committee (SSTC)]"],"registered":true},{"content-type":"application/samlmetadata+xml","encoding":"base64","references":["IANA","[OASIS Security Services Technical Committee (SSTC)]"],"registered":true},{"content-type":"application/sbml+xml","encoding":"base64","references":["IANA","RFC3823"],"registered":true},{"content-type":"application/scvp-cv-request","encoding":"base64","references":["IANA","RFC5055"],"registered":true},{"content-type":"application/scvp-cv-response","encoding":"base64","references":["IANA","RFC5055"],"registered":true},{"content-type":"application/scvp-vp-request","encoding":"base64","references":["IANA","RFC5055"],"registered":true},{"content-type":"application/scvp-vp-response","encoding":"base64","references":["IANA","RFC5055"],"registered":true},{"content-type":"application/sdp","encoding":"base64","references":["IANA","RFC4566"],"registered":true},{"content-type":"application/sep+xml","encoding":"base64","references":["IANA","[Robby_Simpson=RoSimpson]","[ZigBee_Alliance=ZigBee]"],"registered":true},{"content-type":"application/sep-exi","encoding":"base64","references":["IANA","[Robby_Simpson=RoSimpson]","[ZigBee_Alliance=ZigBee]"],"registered":true},{"content-type":"application/session-info","encoding":"base64","references":["IANA","[3GPP]","[Firmin]"],"registered":true},{"content-type":"application/set","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/set-payment","encoding":"base64","references":["IANA","[Korver]"],"registered":true},{"content-type":"application/set-payment-initiation","encoding":"base64","references":["IANA","[Korver]"],"registered":true},{"content-type":"application/set-registration","encoding":"base64","references":["IANA","[Korver]"],"registered":true},{"content-type":"application/set-registration-initiation","encoding":"base64","references":["IANA","[Korver]"],"registered":true},{"content-type":"application/sgml","encoding":"base64","extensions":["sgml"],"references":["IANA","RFC1874"],"registered":true},{"content-type":"application/sgml-open-catalog","encoding":"base64","extensions":["soc"],"references":["IANA","[Grosso]"],"registered":true},{"content-type":"application/shf+xml","encoding":"base64","references":["IANA","RFC4194"],"registered":true},{"content-type":"application/sieve","encoding":"base64","extensions":["siv"],"references":["IANA","RFC5228"],"registered":true},{"content-type":"application/simple-filter+xml","encoding":"base64","references":["IANA","RFC4661"],"registered":true},{"content-type":"application/simple-message-summary","encoding":"base64","references":["IANA","RFC3842"],"registered":true},{"content-type":"application/simpleSymbolContainer","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"application/SLA","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/slate","encoding":"base64","references":["IANA","[Crowley]"],"registered":true},{"content-type":"application/smil","encoding":"8bit","extensions":["smi","smil"],"obsolete":true,"use-instead":["application/smil+xml"],"references":["IANA","RFC4536"],"registered":true},{"content-type":"application/smil+xml","encoding":"8bit","extensions":["smi","smil"],"references":["IANA","RFC4536"],"registered":true},{"content-type":"application/smpte336m","encoding":"base64","references":["IANA","RFC6597"],"registered":true},{"content-type":"application/soap+fastinfoset","encoding":"base64","references":["IANA","[ITU-T ASN.1 Rapporteur]"],"registered":true},{"content-type":"application/soap+xml","encoding":"base64","references":["IANA","RFC3902"],"registered":true},{"content-type":"application/solids","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/sparql-query","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/sparql-results+xml","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/spirits-event+xml","encoding":"base64","references":["IANA","RFC3910"],"registered":true},{"content-type":"application/sql","encoding":"base64","references":["IANA","RFC6922"],"registered":true},{"content-type":"application/srgs","encoding":"base64","references":["IANA","RFC4267"],"registered":true},{"content-type":"application/srgs+xml","encoding":"base64","references":["IANA","RFC4267"],"registered":true},{"content-type":"application/sru+xml","encoding":"base64","references":["IANA","RFC6207"],"registered":true},{"content-type":"application/ssml+xml","encoding":"base64","references":["IANA","RFC4267"],"registered":true},{"content-type":"application/STEP","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/tamp-apex-update","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-apex-update-confirm","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-community-update","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-community-update-confirm","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-error","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-sequence-adjust","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-sequence-adjust-confirm","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-status-query","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-status-response","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-update","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tamp-update-confirm","encoding":"base64","references":["IANA","RFC5934"],"registered":true},{"content-type":"application/tei+xml","encoding":"base64","references":["IANA","RFC6129"],"registered":true},{"content-type":"application/thraud+xml","encoding":"base64","references":["IANA","RFC5941"],"registered":true},{"content-type":"application/timestamp-query","encoding":"base64","references":["IANA","RFC3161"],"registered":true},{"content-type":"application/timestamp-reply","encoding":"base64","references":["IANA","RFC3161"],"registered":true},{"content-type":"application/timestamped-data","encoding":"base64","references":["IANA","RFC5955"],"registered":true},{"content-type":"application/toolbook","encoding":"base64","extensions":["tbk"],"obsolete":true,"use-instead":["application/x-toolbook"],"registered":false},{"content-type":"application/tve-trigger","encoding":"base64","references":["IANA","[Welsh]"],"registered":true},{"content-type":"application/ulpfec","encoding":"base64","references":["IANA","RFC5109"],"registered":true},{"content-type":"application/urc-grpsheet+xml","encoding":"base64","references":["IANA","[Zimmermann]"],"registered":true},{"content-type":"application/urc-ressheet+xml","encoding":"base64","references":["IANA","[Zimmermann]"],"registered":true},{"content-type":"application/urc-targetdesc+xml","encoding":"base64","references":["IANA","[Zimmermann]"],"registered":true},{"content-type":"application/urc-uisocketdesc+xml","encoding":"base64","references":["IANA","[Zimmermann]"],"registered":true},{"content-type":"application/vcard+xml","encoding":"base64","references":["IANA","RFC6351"],"registered":true},{"content-type":"application/vda","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"application/vemmi","encoding":"base64","references":["IANA","RFC2122"],"registered":true},{"content-type":"application/VMSBACKUP","encoding":"base64","extensions":["bck"],"obsolete":true,"use-instead":["application/x-VMSBACKUP"],"registered":false},{"content-type":"application/vnd.3gpp.bsf+xml","encoding":"base64","references":["IANA","[Meredith]"],"registered":true},{"content-type":"application/vnd.3gpp.pic-bw-large","encoding":"base64","extensions":["plb"],"references":["IANA","[Meredith]"],"registered":true},{"content-type":"application/vnd.3gpp.pic-bw-small","encoding":"base64","extensions":["psb"],"references":["IANA","[Meredith]"],"registered":true},{"content-type":"application/vnd.3gpp.pic-bw-var","encoding":"base64","extensions":["pvb"],"references":["IANA","[Meredith]"],"registered":true},{"content-type":"application/vnd.3gpp.sms","encoding":"base64","extensions":["sms"],"references":["IANA","[Meredith]"],"registered":true},{"content-type":"application/vnd.3gpp2.bcmcsinfo+xml","encoding":"base64","references":["IANA","[Dryden]"],"registered":true},{"content-type":"application/vnd.3gpp2.sms","encoding":"base64","references":["IANA","[Mahendran]"],"registered":true},{"content-type":"application/vnd.3gpp2.tcap","encoding":"base64","references":["IANA","[Mahendran]"],"registered":true},{"content-type":"application/vnd.3M.Post-it-Notes","encoding":"base64","references":["IANA","[O'Brien]"],"registered":true},{"content-type":"application/vnd.accpac.simply.aso","encoding":"base64","references":["IANA","[Leow]"],"registered":true},{"content-type":"application/vnd.accpac.simply.imp","encoding":"base64","references":["IANA","[Leow]"],"registered":true},{"content-type":"application/vnd.acucobol","encoding":"base64","references":["IANA","[Lubin]"],"registered":true},{"content-type":"application/vnd.acucorp","encoding":"7bit","extensions":["acutc","atc"],"references":["IANA","[Lubin]"],"registered":true},{"content-type":"application/vnd.adobe.air-application-installer-package+zip","encoding":"base64","extensions":["air"],"registered":false},{"content-type":"application/vnd.adobe.flash.movie","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"application/vnd.adobe.formscentral.fcdt","encoding":"base64","references":["IANA","[Solc]"],"registered":true},{"content-type":"application/vnd.adobe.fxp","encoding":"base64","references":["IANA","[Brambley]","[Heintz]"],"registered":true},{"content-type":"application/vnd.adobe.partial-upload","encoding":"base64","references":["IANA","[Otala]"],"registered":true},{"content-type":"application/vnd.adobe.xdp+xml","encoding":"base64","references":["IANA","[Brinkman]"],"registered":true},{"content-type":"application/vnd.adobe.xfdf","encoding":"base64","extensions":["xfdf"],"references":["IANA","[Perelman]"],"registered":true},{"content-type":"application/vnd.aether.imp","encoding":"base64","references":["IANA","[Moskowitz]"],"registered":true},{"content-type":"application/vnd.ah-barcode","encoding":"base64","references":["IANA","[Ichinose]"],"registered":true},{"content-type":"application/vnd.ahead.space","encoding":"base64","references":["IANA","[Kristensen]"],"registered":true},{"content-type":"application/vnd.airzip.filesecure.azf","encoding":"base64","references":["IANA","[Mould]","[Clueit]"],"registered":true},{"content-type":"application/vnd.airzip.filesecure.azs","encoding":"base64","references":["IANA","[Mould]","[Clueit]"],"registered":true},{"content-type":"application/vnd.americandynamics.acc","encoding":"base64","references":["IANA","[Sands]"],"registered":true},{"content-type":"application/vnd.amiga.ami","encoding":"base64","extensions":["ami"],"references":["IANA","[Blumberg]"],"registered":true},{"content-type":"application/vnd.amundsen.maze+xml","encoding":"base64","references":["IANA","[Amundsen]"],"registered":true},{"content-type":"application/vnd.android.package-archive","encoding":"base64","extensions":["apk"],"registered":false},{"content-type":"application/vnd.anser-web-certificate-issue-initiation","encoding":"base64","references":["IANA","[Mori]"],"registered":true},{"content-type":"application/vnd.antix.game-component","encoding":"base64","references":["IANA","[Shelton]"],"registered":true},{"content-type":"application/vnd.api+json","encoding":"base64","references":["IANA","[Klabnik]"],"registered":true},{"content-type":"application/vnd.apple.installer+xml","encoding":"base64","references":["IANA","[Bierman]"],"registered":true},{"content-type":"application/vnd.apple.mpegurl","encoding":"base64","references":["IANA","[Singer]","[Pantos]"],"registered":true},{"content-type":"application/vnd.apple.pkpass","encoding":"base64","extensions":["pkpass"],"references":["{Passbook Programming Guide=https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/PassKit_PG/Chapters/Introduction.html}"],"registered":false},{"content-type":"application/vnd.arastra.swi","encoding":"base64","obsolete":true,"use-instead":["application/vnd.aristanetworks.swi"],"references":["IANA","[Fenner]"],"registered":true},{"content-type":"application/vnd.aristanetworks.swi","encoding":"base64","references":["IANA","[Fenner]"],"registered":true},{"content-type":"application/vnd.astraea-software.iota","encoding":"base64","references":["IANA","[Snazell]"],"registered":true},{"content-type":"application/vnd.audiograph","encoding":"base64","references":["IANA","[Slusanschi]"],"registered":true},{"content-type":"application/vnd.autopackage","encoding":"base64","references":["IANA","[Hearn]"],"registered":true},{"content-type":"application/vnd.avistar+xml","encoding":"base64","references":["IANA","[Vysotsky]"],"registered":true},{"content-type":"application/vnd.balsamiq.bmml+xml","encoding":"base64","references":["IANA","[Giacomo_Guilizzoni]"],"registered":true},{"content-type":"application/vnd.blueice.multipass","encoding":"base64","extensions":["mpm"],"references":["IANA","[Holmstrom]"],"registered":true},{"content-type":"application/vnd.bluetooth.ep.oob","encoding":"base64","references":["IANA","[Foley]"],"registered":true},{"content-type":"application/vnd.bluetooth.le.oob","encoding":"base64","references":["IANA","[Powell]"],"registered":true},{"content-type":"application/vnd.bmi","encoding":"base64","references":["IANA","[Gotoh]"],"registered":true},{"content-type":"application/vnd.businessobjects","encoding":"base64","references":["IANA","[Imoucha]"],"registered":true},{"content-type":"application/vnd.cab-jscript","encoding":"base64","references":["IANA","[Falkenberg]"],"registered":true},{"content-type":"application/vnd.canon-cpdl","encoding":"base64","references":["IANA","[Muto]"],"registered":true},{"content-type":"application/vnd.canon-lips","encoding":"base64","references":["IANA","[Muto]"],"registered":true},{"content-type":"application/vnd.cendio.thinlinc.clientconf","encoding":"base64","references":["IANA","[Åstrand=Astrand]"],"registered":true},{"content-type":"application/vnd.century-systems.tcp_stream","encoding":"base64","references":["IANA","[Shuji Fujii=Shuji_Fujii]"],"registered":true},{"content-type":"application/vnd.chemdraw+xml","encoding":"base64","references":["IANA","[Howes]"],"registered":true},{"content-type":"application/vnd.chipnuts.karaoke-mmd","encoding":"base64","references":["IANA","[Xiong]"],"registered":true},{"content-type":"application/vnd.cinderella","encoding":"base64","extensions":["cdy"],"references":["IANA","[Kortenkamp]"],"registered":true},{"content-type":"application/vnd.cirpack.isdn-ext","encoding":"base64","references":["IANA","[Mayeux]"],"registered":true},{"content-type":"application/vnd.claymore","encoding":"base64","references":["IANA","[Simpson]"],"registered":true},{"content-type":"application/vnd.cloanto.rp9","encoding":"base64","references":["IANA","[Labatt]"],"registered":true},{"content-type":"application/vnd.clonk.c4group","encoding":"base64","references":["IANA","[Brammer]"],"registered":true},{"content-type":"application/vnd.cluetrust.cartomobile-config","encoding":"base64","references":["IANA","[Paulsen]"],"registered":true},{"content-type":"application/vnd.cluetrust.cartomobile-config-pkg","encoding":"base64","references":["IANA","[Paulsen]"],"registered":true},{"content-type":"application/vnd.collection+json","encoding":"base64","references":["IANA","[Amundsen]"],"registered":true},{"content-type":"application/vnd.collection.next+json","encoding":"base64","references":["IANA","[Ioseb Dzmanashvili=Ioseb_Dzmanashvili]"],"registered":true},{"content-type":"application/vnd.commerce-battelle","encoding":"base64","references":["IANA","[Applebaum]"],"registered":true},{"content-type":"application/vnd.commonspace","encoding":"base64","references":["IANA","[Chandhok]"],"registered":true},{"content-type":"application/vnd.contact.cmsg","encoding":"base64","references":["IANA","[Patz]"],"registered":true},{"content-type":"application/vnd.cosmocaller","encoding":"base64","extensions":["cmc"],"references":["IANA","[Dellutri]"],"registered":true},{"content-type":"application/vnd.crick.clicker","encoding":"base64","references":["IANA","[Burt]"],"registered":true},{"content-type":"application/vnd.crick.clicker.keyboard","encoding":"base64","references":["IANA","[Burt]"],"registered":true},{"content-type":"application/vnd.crick.clicker.palette","encoding":"base64","references":["IANA","[Burt]"],"registered":true},{"content-type":"application/vnd.crick.clicker.template","encoding":"base64","references":["IANA","[Burt]"],"registered":true},{"content-type":"application/vnd.crick.clicker.wordbank","encoding":"base64","references":["IANA","[Burt]"],"registered":true},{"content-type":"application/vnd.criticaltools.wbs+xml","encoding":"base64","extensions":["wbs"],"references":["IANA","[Spiller]"],"registered":true},{"content-type":"application/vnd.ctc-posml","encoding":"base64","references":["IANA","[Kohlhepp]"],"registered":true},{"content-type":"application/vnd.ctct.ws+xml","encoding":"base64","references":["IANA","[Ancona]"],"registered":true},{"content-type":"application/vnd.cups-pdf","encoding":"base64","references":["IANA","[Sweet]"],"registered":true},{"content-type":"application/vnd.cups-postscript","encoding":"base64","references":["IANA","[Sweet]"],"registered":true},{"content-type":"application/vnd.cups-ppd","encoding":"base64","references":["IANA","[Sweet]"],"registered":true},{"content-type":"application/vnd.cups-raster","encoding":"base64","references":["IANA","[Sweet]"],"registered":true},{"content-type":"application/vnd.cups-raw","encoding":"base64","references":["IANA","[Sweet]"],"registered":true},{"content-type":"application/vnd.curl","encoding":"base64","extensions":["curl"],"references":["IANA","[Byrnes]"],"registered":true},{"content-type":"application/vnd.cyan.dean.root+xml","encoding":"base64","references":["IANA","[Kern]"],"registered":true},{"content-type":"application/vnd.cybank","encoding":"base64","references":["IANA","[Helmee]"],"registered":true},{"content-type":"application/vnd.dart","encoding":"base64","references":["IANA","[Sandholm]"],"registered":true},{"content-type":"application/vnd.data-vision.rdz","encoding":"base64","extensions":["rdz"],"references":["IANA","[Fields]"],"registered":true},{"content-type":"application/vnd.dece.data","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"application/vnd.dece.ttml+xml","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"application/vnd.dece.unspecified","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"application/vnd.dece.zip","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"application/vnd.denovo.fcselayout-link","encoding":"base64","references":["IANA","[Dixon]"],"registered":true},{"content-type":"application/vnd.desmume.movie","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"application/vnd.dir-bi.plate-dl-nosuffix","encoding":"base64","references":["IANA","[Yamanaka]"],"registered":true},{"content-type":"application/vnd.dm.delegation+xml","encoding":"base64","references":["IANA","[Ferrazzini]"],"registered":true},{"content-type":"application/vnd.dna","encoding":"base64","references":["IANA","[Searcy]"],"registered":true},{"content-type":"application/vnd.document+json","encoding":"base64","references":["IANA","[Christie]"],"registered":true},{"content-type":"application/vnd.dolby.mobile.1","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"application/vnd.dolby.mobile.2","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"application/vnd.dpgraph","encoding":"base64","references":["IANA","[Parker]"],"registered":true},{"content-type":"application/vnd.dreamfactory","encoding":"base64","extensions":["dfac"],"references":["IANA","[Appleton]"],"registered":true},{"content-type":"application/vnd.dtg.local","encoding":"base64","references":["IANA","[Ali_Teffahi]"],"registered":true},{"content-type":"application/vnd.dtg.local.flash","encoding":"base64","references":["IANA","[Ali_Teffahi]"],"registered":true},{"content-type":"application/vnd.dtg.local.html","encoding":"base64","references":["IANA","[Ali_Teffahi]"],"registered":true},{"content-type":"application/vnd.dvb.ait","encoding":"base64","references":["IANA","[Siebert]","[Lagally]"],"registered":true},{"content-type":"application/vnd.dvb.dvbj","encoding":"base64","references":["IANA","[Siebert]","[Lagally]"],"registered":true},{"content-type":"application/vnd.dvb.esgcontainer","encoding":"base64","references":["IANA","[Heuer]"],"registered":true},{"content-type":"application/vnd.dvb.ipdcdftnotifaccess","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.ipdcesgaccess","encoding":"base64","references":["IANA","[Heuer]"],"registered":true},{"content-type":"application/vnd.dvb.ipdcesgaccess2","encoding":"base64","references":["IANA","[Marcon]"],"registered":true},{"content-type":"application/vnd.dvb.ipdcesgpdd","encoding":"base64","references":["IANA","[Marcon]"],"registered":true},{"content-type":"application/vnd.dvb.ipdcroaming","encoding":"base64","references":["IANA","[Xu]"],"registered":true},{"content-type":"application/vnd.dvb.iptv.alfec-base","encoding":"base64","references":["IANA","[Henry]"],"registered":true},{"content-type":"application/vnd.dvb.iptv.alfec-enhancement","encoding":"base64","references":["IANA","[Henry]"],"registered":true},{"content-type":"application/vnd.dvb.notif-aggregate-root+xml","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.notif-container+xml","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.notif-generic+xml","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.notif-ia-msglist+xml","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.notif-ia-registration-request+xml","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.notif-ia-registration-response+xml","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.notif-init+xml","encoding":"base64","references":["IANA","[Yue]"],"registered":true},{"content-type":"application/vnd.dvb.pfr","encoding":"base64","references":["IANA","[Siebert]","[Lagally]"],"registered":true},{"content-type":"application/vnd.dvb.service","encoding":"base64","references":["IANA","[Siebert]","[Lagally]"],"registered":true},{"content-type":"application/vnd.dxr","encoding":"base64","references":["IANA","[Duffy]"],"registered":true},{"content-type":"application/vnd.dynageo","encoding":"base64","references":["IANA","[Mechling]"],"registered":true},{"content-type":"application/vnd.easykaraoke.cdgdownload","encoding":"base64","references":["IANA","[Downs]"],"registered":true},{"content-type":"application/vnd.ecdis-update","encoding":"base64","references":["IANA","[Buettgenbach]"],"registered":true},{"content-type":"application/vnd.ecowin.chart","encoding":"base64","references":["IANA","[Olsson]"],"registered":true},{"content-type":"application/vnd.ecowin.filerequest","encoding":"base64","references":["IANA","[Olsson]"],"registered":true},{"content-type":"application/vnd.ecowin.fileupdate","encoding":"base64","references":["IANA","[Olsson]"],"registered":true},{"content-type":"application/vnd.ecowin.series","encoding":"base64","references":["IANA","[Olsson]"],"registered":true},{"content-type":"application/vnd.ecowin.seriesrequest","encoding":"base64","references":["IANA","[Olsson]"],"registered":true},{"content-type":"application/vnd.ecowin.seriesupdate","encoding":"base64","references":["IANA","[Olsson]"],"registered":true},{"content-type":"application/vnd.emclient.accessrequest+xml","encoding":"base64","references":["IANA","[Navara]"],"registered":true},{"content-type":"application/vnd.enliven","encoding":"base64","references":["IANA","[Santinelli]"],"registered":true},{"content-type":"application/vnd.eprints.data+xml","encoding":"base64","references":["IANA","[Brody]"],"registered":true},{"content-type":"application/vnd.epson.esf","encoding":"base64","references":["IANA","[Hoshina]"],"registered":true},{"content-type":"application/vnd.epson.msf","encoding":"base64","references":["IANA","[Hoshina]"],"registered":true},{"content-type":"application/vnd.epson.quickanime","encoding":"base64","references":["IANA","[Gu]"],"registered":true},{"content-type":"application/vnd.epson.salt","encoding":"base64","references":["IANA","[Nagatomo]"],"registered":true},{"content-type":"application/vnd.epson.ssf","encoding":"base64","references":["IANA","[Hoshina]"],"registered":true},{"content-type":"application/vnd.ericsson.quickcall","encoding":"base64","references":["IANA","[Tidwell]"],"registered":true},{"content-type":"application/vnd.eszigno3+xml","encoding":"base64","references":["IANA","[Tóth=Toth]"],"registered":true},{"content-type":"application/vnd.etsi.aoc+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.asic-e+zip","encoding":"base64","references":["IANA","[Ortega]"],"registered":true},{"content-type":"application/vnd.etsi.asic-s+zip","encoding":"base64","references":["IANA","[Ortega]"],"registered":true},{"content-type":"application/vnd.etsi.cug+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.iptvcommand+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.iptvdiscovery+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.iptvprofile+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.iptvsad-bc+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.iptvsad-cod+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.iptvsad-npvr+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.iptvservice+xml","encoding":"base64","references":["IANA","[Ortega]"],"registered":true},{"content-type":"application/vnd.etsi.iptvsync+xml","encoding":"base64","references":["IANA","[Ortega]"],"registered":true},{"content-type":"application/vnd.etsi.iptvueprofile+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.mcid+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.mheg5","encoding":"base64","references":["IANA","[Ortega]","[Medland]"],"registered":true},{"content-type":"application/vnd.etsi.overload-control-policy-dataset+xml","encoding":"base64","references":["IANA","[Ortega]"],"registered":true},{"content-type":"application/vnd.etsi.pstn+xml","encoding":"base64","references":["IANA","[Han]","[Belling]"],"registered":true},{"content-type":"application/vnd.etsi.sci+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.simservs+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.tsl+xml","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.etsi.tsl.der","encoding":"base64","references":["IANA","[Hu]"],"registered":true},{"content-type":"application/vnd.eudora.data","encoding":"base64","references":["IANA","[Resnick]"],"registered":true},{"content-type":"application/vnd.ezpix-album","encoding":"base64","references":["IANA","[Electronic Zombie, Corp.]"],"registered":true},{"content-type":"application/vnd.ezpix-package","encoding":"base64","references":["IANA","[Electronic Zombie, Corp.=ElectronicZombieCorp]"],"registered":true},{"content-type":"application/vnd.f-secure.mobile","encoding":"base64","references":["IANA","[Sarivaara]"],"registered":true},{"content-type":"application/vnd.fdf","encoding":"base64","references":["IANA","[Zilles]"],"registered":true},{"content-type":"application/vnd.fdsn.mseed","encoding":"base64","references":["IANA","[Trabant]"],"registered":true},{"content-type":"application/vnd.fdsn.seed","encoding":"base64","references":["IANA","[Trabant]"],"registered":true},{"content-type":"application/vnd.ffsns","encoding":"base64","references":["IANA","[Holstage]"],"registered":true},{"content-type":"application/vnd.fints","encoding":"base64","references":["IANA","[Hammann]"],"registered":true},{"content-type":"application/vnd.FloGraphIt","encoding":"base64","references":["IANA","[Floersch]"],"registered":true},{"content-type":"application/vnd.fluxtime.clip","encoding":"base64","references":["IANA","[Winter]"],"registered":true},{"content-type":"application/vnd.font-fontforge-sfd","encoding":"base64","references":["IANA","[Williams]"],"registered":true},{"content-type":"application/vnd.framemaker","encoding":"base64","extensions":["book","fb","fbdoc","fm","frame","frm","maker"],"references":["IANA","[Wexler]"],"registered":true},{"content-type":"application/vnd.frogans.fnc","encoding":"base64","references":["IANA","[Tamas]"],"registered":true},{"content-type":"application/vnd.frogans.ltf","encoding":"base64","references":["IANA","[Tamas]"],"registered":true},{"content-type":"application/vnd.fsc.weblaunch","encoding":"7bit","extensions":["fsc"],"references":["IANA","[D.Smith]"],"registered":true},{"content-type":"application/vnd.fujitsu.oasys","encoding":"base64","references":["IANA","[Togashi]"],"registered":true},{"content-type":"application/vnd.fujitsu.oasys2","encoding":"base64","references":["IANA","[Togashi]"],"registered":true},{"content-type":"application/vnd.fujitsu.oasys3","encoding":"base64","references":["IANA","[Okudaira]"],"registered":true},{"content-type":"application/vnd.fujitsu.oasysgp","encoding":"base64","references":["IANA","[Sugimoto]"],"registered":true},{"content-type":"application/vnd.fujitsu.oasysprs","encoding":"base64","references":["IANA","[Ogita]"],"registered":true},{"content-type":"application/vnd.fujixerox.ART-EX","encoding":"base64","references":["IANA","[Tanabe]"],"registered":true},{"content-type":"application/vnd.fujixerox.ART4","encoding":"base64","references":["IANA","[Tanabe]"],"registered":true},{"content-type":"application/vnd.fujixerox.ddd","encoding":"base64","references":["IANA","[Onda]"],"registered":true},{"content-type":"application/vnd.fujixerox.docuworks","encoding":"base64","references":["IANA","[Taguchi]"],"registered":true},{"content-type":"application/vnd.fujixerox.docuworks.binder","encoding":"base64","references":["IANA","[Matsumoto]"],"registered":true},{"content-type":"application/vnd.fujixerox.docuworks.container","encoding":"base64","references":["IANA","[Tashiro]"],"registered":true},{"content-type":"application/vnd.fujixerox.HBPL","encoding":"base64","references":["IANA","[Tanabe]"],"registered":true},{"content-type":"application/vnd.fut-misnet","encoding":"base64","references":["IANA","[Pruulmann]"],"registered":true},{"content-type":"application/vnd.fuzzysheet","encoding":"base64","references":["IANA","[Birtwistle]"],"registered":true},{"content-type":"application/vnd.genomatix.tuxedo","encoding":"base64","extensions":["txd"],"references":["IANA","[Frey]"],"registered":true},{"content-type":"application/vnd.geocube+xml","encoding":"8bit","obsolete":true,"references":["IANA","[Pirsch]"],"registered":true},{"content-type":"application/vnd.geogebra.file","encoding":"base64","references":["IANA","[GeoGebra]","[Kreis]"],"registered":true},{"content-type":"application/vnd.geogebra.tool","encoding":"base64","references":["IANA","[GeoGebra]","[Kreis]"],"registered":true},{"content-type":"application/vnd.geometry-explorer","encoding":"base64","references":["IANA","[Hvidsten]"],"registered":true},{"content-type":"application/vnd.geonext","encoding":"base64","references":["IANA","[Ehmann]"],"registered":true},{"content-type":"application/vnd.geoplan","encoding":"base64","references":["IANA","[Mercat]"],"registered":true},{"content-type":"application/vnd.geospace","encoding":"base64","references":["IANA","[Mercat]"],"registered":true},{"content-type":"application/vnd.globalplatform.card-content-mgt","encoding":"base64","references":["IANA","[Bernabeu]"],"registered":true},{"content-type":"application/vnd.globalplatform.card-content-mgt-response","encoding":"base64","references":["IANA","[Bernabeu]"],"registered":true},{"content-type":"application/vnd.gmx","encoding":"base64","obsolete":true,"references":["IANA","[Sciberras]"],"registered":true},{"content-type":"application/vnd.google-earth.kml+xml","encoding":"8bit","extensions":["kml"],"references":["IANA","[Ashbridge]"],"registered":true},{"content-type":"application/vnd.google-earth.kmz","encoding":"8bit","extensions":["kmz"],"references":["IANA","[Ashbridge]"],"registered":true},{"content-type":"application/vnd.grafeq","encoding":"base64","references":["IANA","[Tupper]"],"registered":true},{"content-type":"application/vnd.gridmp","encoding":"base64","references":["IANA","[Lawson]"],"registered":true},{"content-type":"application/vnd.groove-account","encoding":"base64","references":["IANA","[Joseph]"],"registered":true},{"content-type":"application/vnd.groove-help","encoding":"base64","references":["IANA","[Joseph]"],"registered":true},{"content-type":"application/vnd.groove-identity-message","encoding":"base64","references":["IANA","[Joseph]"],"registered":true},{"content-type":"application/vnd.groove-injector","encoding":"base64","references":["IANA","[Joseph]"],"registered":true},{"content-type":"application/vnd.groove-tool-message","encoding":"base64","references":["IANA","[Joseph]"],"registered":true},{"content-type":"application/vnd.groove-tool-template","encoding":"base64","references":["IANA","[Joseph]"],"registered":true},{"content-type":"application/vnd.groove-vcard","encoding":"base64","references":["IANA","[Joseph]"],"registered":true},{"content-type":"application/vnd.hal+json","encoding":"base64","references":["IANA","[Kelly]"],"registered":true},{"content-type":"application/vnd.hal+xml","encoding":"base64","references":["IANA","[Kelly]"],"registered":true},{"content-type":"application/vnd.HandHeld-Entertainment+xml","encoding":"base64","references":["IANA","[Hamilton]"],"registered":true},{"content-type":"application/vnd.hbci","encoding":"base64","extensions":["bpd","hbc","hbci","kom","pkd","upa"],"references":["IANA","[Hammann]"],"registered":true},{"content-type":"application/vnd.hcl-bireports","encoding":"base64","references":["IANA","[Serres]"],"registered":true},{"content-type":"application/vnd.heroku+json","encoding":"base64","references":["IANA","[Beary]"],"registered":true},{"content-type":"application/vnd.hhe.lesson-player","encoding":"base64","extensions":["les"],"references":["IANA","[Jones]"],"registered":true},{"content-type":"application/vnd.hp-HPGL","encoding":"base64","extensions":["hpgl","plt"],"references":["IANA","[Pentecost]"],"registered":true},{"content-type":"application/vnd.hp-hpid","encoding":"base64","references":["IANA","[Gupta]"],"registered":true},{"content-type":"application/vnd.hp-hps","encoding":"base64","references":["IANA","[Aubrey]"],"registered":true},{"content-type":"application/vnd.hp-jlyt","encoding":"base64","references":["IANA","[Gaash]"],"registered":true},{"content-type":"application/vnd.hp-PCL","encoding":"base64","references":["IANA","[Pentecost]"],"registered":true},{"content-type":"application/vnd.hp-PCLXL","encoding":"base64","references":["IANA","[Pentecost]"],"registered":true},{"content-type":"application/vnd.httphone","encoding":"base64","references":["IANA","[Lefevre]"],"registered":true},{"content-type":"application/vnd.hydrostatix.sof-data","encoding":"base64","references":["IANA","[Gillam]"],"registered":true},{"content-type":"application/vnd.hzn-3d-crossword","encoding":"base64","references":["IANA","[Minnis]"],"registered":true},{"content-type":"application/vnd.ibm.afplinedata","encoding":"base64","references":["IANA","[Buis]"],"registered":true},{"content-type":"application/vnd.ibm.electronic-media","encoding":"base64","extensions":["emm"],"references":["IANA","[Tantlinger]"],"registered":true},{"content-type":"application/vnd.ibm.MiniPay","encoding":"base64","references":["IANA","[Herzberg]"],"registered":true},{"content-type":"application/vnd.ibm.modcap","encoding":"base64","references":["IANA","[Hohensee]"],"registered":true},{"content-type":"application/vnd.ibm.rights-management","encoding":"base64","extensions":["irm"],"references":["IANA","[Tantlinger]"],"registered":true},{"content-type":"application/vnd.ibm.secure-container","encoding":"base64","extensions":["sc"],"references":["IANA","[Tantlinger]"],"registered":true},{"content-type":"application/vnd.iccprofile","encoding":"base64","references":["IANA","[Green]"],"registered":true},{"content-type":"application/vnd.ieee.1905","encoding":"base64","references":["IANA","[Rajkotia]"],"registered":true},{"content-type":"application/vnd.igloader","encoding":"base64","references":["IANA","[Fisher]"],"registered":true},{"content-type":"application/vnd.immervision-ivp","encoding":"base64","references":["IANA","[Villegas]"],"registered":true},{"content-type":"application/vnd.immervision-ivu","encoding":"base64","references":["IANA","[Villegas]"],"registered":true},{"content-type":"application/vnd.informedcontrol.rms+xml","encoding":"base64","references":["IANA","[Wahl]"],"registered":true},{"content-type":"application/vnd.informix-visionary","encoding":"base64","references":["IANA","[Gales]"],"registered":true},{"content-type":"application/vnd.infotech.project","encoding":"base64","references":["IANA","[Engelke]"],"registered":true},{"content-type":"application/vnd.infotech.project+xml","encoding":"base64","references":["IANA","[Engelke]"],"registered":true},{"content-type":"application/vnd.innopath.wamp.notification","encoding":"base64","references":["IANA","[Sudo]"],"registered":true},{"content-type":"application/vnd.insors.igm","encoding":"base64","references":["IANA","[Swanson]"],"registered":true},{"content-type":"application/vnd.intercon.formnet","encoding":"base64","references":["IANA","[Gurak]"],"registered":true},{"content-type":"application/vnd.intergeo","encoding":"base64","references":["IANA","[Kreis=Kreis2]"],"registered":true},{"content-type":"application/vnd.intertrust.digibox","encoding":"base64","references":["IANA","[Tomasello]"],"registered":true},{"content-type":"application/vnd.intertrust.nncp","encoding":"base64","references":["IANA","[Tomasello]"],"registered":true},{"content-type":"application/vnd.intu.qbo","encoding":"base64","references":["IANA","[Scratchley]"],"registered":true},{"content-type":"application/vnd.intu.qfx","encoding":"base64","references":["IANA","[Scratchley]"],"registered":true},{"content-type":"application/vnd.iptc.g2.conceptitem+xml","encoding":"base64","references":["IANA","[Steidl]"],"registered":true},{"content-type":"application/vnd.iptc.g2.knowledgeitem+xml","encoding":"base64","references":["IANA","[Steidl]"],"registered":true},{"content-type":"application/vnd.iptc.g2.newsitem+xml","encoding":"base64","references":["IANA","[Steidl]"],"registered":true},{"content-type":"application/vnd.iptc.g2.newsmessage+xml","encoding":"base64","references":["IANA","[Steidl]"],"registered":true},{"content-type":"application/vnd.iptc.g2.packageitem+xml","encoding":"base64","references":["IANA","[Steidl]"],"registered":true},{"content-type":"application/vnd.iptc.g2.planningitem+xml","encoding":"base64","references":["IANA","[Steidl]"],"registered":true},{"content-type":"application/vnd.ipunplugged.rcprofile","encoding":"base64","extensions":["rcprofile"],"references":["IANA","[Ersson]"],"registered":true},{"content-type":"application/vnd.irepository.package+xml","encoding":"base64","extensions":["irp"],"references":["IANA","[Knowles]"],"registered":true},{"content-type":"application/vnd.is-xpr","encoding":"base64","references":["IANA","[Natarajan]"],"registered":true},{"content-type":"application/vnd.isac.fcs","encoding":"base64","references":["IANA","[RBrinkman]"],"registered":true},{"content-type":"application/vnd.jam","encoding":"base64","references":["IANA","[B.Kumar]"],"registered":true},{"content-type":"application/vnd.japannet-directory-service","encoding":"base64","references":["IANA","[Fujii]"],"registered":true},{"content-type":"application/vnd.japannet-jpnstore-wakeup","encoding":"base64","references":["IANA","[Yoshitake]"],"registered":true},{"content-type":"application/vnd.japannet-payment-wakeup","encoding":"base64","references":["IANA","[Fujii]"],"registered":true},{"content-type":"application/vnd.japannet-registration","encoding":"base64","references":["IANA","[Yoshitake]"],"registered":true},{"content-type":"application/vnd.japannet-registration-wakeup","encoding":"base64","references":["IANA","[Fujii]"],"registered":true},{"content-type":"application/vnd.japannet-setstore-wakeup","encoding":"base64","references":["IANA","[Yoshitake]"],"registered":true},{"content-type":"application/vnd.japannet-verification","encoding":"base64","references":["IANA","[Yoshitake]"],"registered":true},{"content-type":"application/vnd.japannet-verification-wakeup","encoding":"base64","references":["IANA","[Fujii]"],"registered":true},{"content-type":"application/vnd.jcp.javame.midlet-rms","encoding":"base64","references":["IANA","[Gorshenev]"],"registered":true},{"content-type":"application/vnd.jisp","encoding":"base64","extensions":["jisp"],"references":["IANA","[Deckers]"],"registered":true},{"content-type":"application/vnd.joost.joda-archive","encoding":"base64","references":["IANA","[Joost]"],"registered":true},{"content-type":"application/vnd.jsk.isdn-ngn","encoding":"base64","references":["IANA","[Kiyonobu]"],"registered":true},{"content-type":"application/vnd.kahootz","encoding":"base64","references":["IANA","[Macdonald]"],"registered":true},{"content-type":"application/vnd.kde.karbon","encoding":"base64","extensions":["karbon"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kde.kchart","encoding":"base64","extensions":["chrt"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kde.kformula","encoding":"base64","extensions":["kfo"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kde.kivio","encoding":"base64","extensions":["flw"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kde.kontour","encoding":"base64","extensions":["kon"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kde.kpresenter","encoding":"base64","extensions":["kpr","kpt"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kde.kspread","encoding":"base64","extensions":["ksp"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kde.kword","encoding":"base64","extensions":["kwd","kwt"],"references":["IANA","[Faure]"],"registered":true},{"content-type":"application/vnd.kenameaapp","encoding":"base64","extensions":["htke"],"references":["IANA","[DiGiorgio-Haag]"],"registered":true},{"content-type":"application/vnd.kidspiration","encoding":"base64","extensions":["kia"],"references":["IANA","[Bennett]"],"registered":true},{"content-type":"application/vnd.Kinar","encoding":"base64","extensions":["kne","knp","sdf"],"references":["IANA","[Thakkar]"],"registered":true},{"content-type":"application/vnd.koan","encoding":"base64","references":["IANA","[Cole]"],"registered":true},{"content-type":"application/vnd.kodak-descriptor","encoding":"base64","references":["IANA","[Donahue]"],"registered":true},{"content-type":"application/vnd.las.las+xml","encoding":"base64","references":["IANA","[Bailey=RBailey]"],"registered":true},{"content-type":"application/vnd.liberty-request+xml","encoding":"base64","references":["IANA","[McDowell]"],"registered":true},{"content-type":"application/vnd.llamagraphics.life-balance.desktop","encoding":"base64","extensions":["lbd"],"references":["IANA","[White]"],"registered":true},{"content-type":"application/vnd.llamagraphics.life-balance.exchange+xml","encoding":"base64","extensions":["lbe"],"references":["IANA","[White]"],"registered":true},{"content-type":"application/vnd.lotus-1-2-3","encoding":"base64","extensions":["123","wks"],"references":["IANA","[Wattenberger]"],"registered":true},{"content-type":"application/vnd.lotus-approach","encoding":"base64","references":["IANA","[Wattenberger]"],"registered":true},{"content-type":"application/vnd.lotus-freelance","encoding":"base64","references":["IANA","[Wattenberger]"],"registered":true},{"content-type":"application/vnd.lotus-notes","encoding":"base64","references":["IANA","[Laramie]"],"registered":true},{"content-type":"application/vnd.lotus-organizer","encoding":"base64","references":["IANA","[Wattenberger]"],"registered":true},{"content-type":"application/vnd.lotus-screencam","encoding":"base64","references":["IANA","[Wattenberger]"],"registered":true},{"content-type":"application/vnd.lotus-wordpro","encoding":"base64","references":["IANA","[Wattenberger]"],"registered":true},{"content-type":"application/vnd.macports.portpkg","encoding":"base64","references":["IANA","[Berry]"],"registered":true},{"content-type":"application/vnd.marlin.drm.actiontoken+xml","encoding":"base64","references":["IANA","[Ellison]"],"registered":true},{"content-type":"application/vnd.marlin.drm.conftoken+xml","encoding":"base64","references":["IANA","[Ellison]"],"registered":true},{"content-type":"application/vnd.marlin.drm.license+xml","encoding":"base64","references":["IANA","[Ellison]"],"registered":true},{"content-type":"application/vnd.marlin.drm.mdcf","encoding":"base64","references":["IANA","[Ellison]"],"registered":true},{"content-type":"application/vnd.mcd","encoding":"base64","extensions":["mcd"],"references":["IANA","[Gotoh]"],"registered":true},{"content-type":"application/vnd.medcalcdata","encoding":"base64","references":["IANA","[Schoonjans]"],"registered":true},{"content-type":"application/vnd.mediastation.cdkey","encoding":"base64","references":["IANA","[Flurry]"],"registered":true},{"content-type":"application/vnd.meridian-slingshot","encoding":"base64","references":["IANA","[Wedel]"],"registered":true},{"content-type":"application/vnd.MFER","encoding":"base64","references":["IANA","[Hirai]"],"registered":true},{"content-type":"application/vnd.mfmp","encoding":"base64","extensions":["mfm"],"references":["IANA","[Ikeda]"],"registered":true},{"content-type":"application/vnd.micrografx.flo","encoding":"base64","extensions":["flo"],"references":["IANA","[Prevo]"],"registered":true},{"content-type":"application/vnd.micrografx.igx","encoding":"base64","extensions":["igx"],"references":["IANA","[Prevo]"],"registered":true},{"content-type":"application/vnd.mif","encoding":"base64","extensions":["mif"],"references":["IANA","[Wexler]"],"registered":true},{"content-type":"application/vnd.minisoft-hp3000-save","encoding":"base64","references":["IANA","[Bartram]"],"registered":true},{"content-type":"application/vnd.mitsubishi.misty-guard.trustweb","encoding":"base64","references":["IANA","[Tanaka]"],"registered":true},{"content-type":"application/vnd.Mobius.DAF","encoding":"base64","references":["IANA","[Kabayama]"],"registered":true},{"content-type":"application/vnd.Mobius.DIS","encoding":"base64","references":["IANA","[Kabayama]"],"registered":true},{"content-type":"application/vnd.Mobius.MBK","encoding":"base64","references":["IANA","[Devasia]"],"registered":true},{"content-type":"application/vnd.Mobius.MQY","encoding":"base64","references":["IANA","[Devasia]"],"registered":true},{"content-type":"application/vnd.Mobius.MSL","encoding":"base64","references":["IANA","[Kabayama]"],"registered":true},{"content-type":"application/vnd.Mobius.PLC","encoding":"base64","references":["IANA","[Kabayama]"],"registered":true},{"content-type":"application/vnd.Mobius.TXF","encoding":"base64","references":["IANA","[Kabayama]"],"registered":true},{"content-type":"application/vnd.mophun.application","encoding":"base64","extensions":["mpn"],"references":["IANA","[Wennerstrom]"],"registered":true},{"content-type":"application/vnd.mophun.certificate","encoding":"base64","extensions":["mpc"],"references":["IANA","[Wennerstrom]"],"registered":true},{"content-type":"application/vnd.motorola.flexsuite","encoding":"base64","references":["IANA","[Patton]"],"registered":true},{"content-type":"application/vnd.motorola.flexsuite.adsi","encoding":"base64","references":["IANA","[Patton]"],"registered":true},{"content-type":"application/vnd.motorola.flexsuite.fis","encoding":"base64","references":["IANA","[Patton]"],"registered":true},{"content-type":"application/vnd.motorola.flexsuite.gotap","encoding":"base64","references":["IANA","[Patton]"],"registered":true},{"content-type":"application/vnd.motorola.flexsuite.kmr","encoding":"base64","references":["IANA","[Patton]"],"registered":true},{"content-type":"application/vnd.motorola.flexsuite.ttc","encoding":"base64","references":["IANA","[Patton]"],"registered":true},{"content-type":"application/vnd.motorola.flexsuite.wem","encoding":"base64","references":["IANA","[Patton]"],"registered":true},{"content-type":"application/vnd.motorola.iprm","encoding":"base64","references":["IANA","[Shamsaasef]"],"registered":true},{"content-type":"application/vnd.mozilla.xul+xml","encoding":"base64","extensions":["xul"],"references":["IANA","[McDaniel]"],"registered":true},{"content-type":"application/vnd.ms-artgalry","encoding":"base64","extensions":["cil"],"references":["IANA","[Slawson]"],"registered":true},{"content-type":"application/vnd.ms-asf","encoding":"base64","extensions":["asf"],"references":["IANA","[Fleischman]"],"registered":true},{"content-type":"application/vnd.ms-cab-compressed","encoding":"base64","extensions":["cab"],"references":["IANA","[Scarborough]"],"registered":true},{"content-type":"application/vnd.ms-excel","encoding":"base64","extensions":["xls","xlt"],"references":["IANA","[Gill]"],"registered":true},{"content-type":"application/vnd.ms-excel.addin.macroEnabled.12","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-excel.sheet.binary.macroEnabled.12","encoding":"base64","extensions":["xlsb"],"references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-excel.sheet.macroEnabled.12","encoding":"base64","extensions":["xlsm"],"references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-excel.template.macroEnabled.12","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-fontobject","encoding":"base64","extensions":["eot"],"references":["IANA","[Scarborough]"],"registered":true},{"content-type":"application/vnd.ms-fontobject","encoding":"base64","references":["IANA","[Scarborough]"],"registered":true},{"content-type":"application/vnd.ms-htmlhelp","encoding":"base64","references":["IANA","[Techtonik]"],"registered":true},{"content-type":"application/vnd.ms-ims","encoding":"base64","references":["IANA","[Ledoux]"],"registered":true},{"content-type":"application/vnd.ms-lrm","encoding":"base64","extensions":["lrm"],"references":["IANA","[Ledoux]"],"registered":true},{"content-type":"application/vnd.ms-office.activeX+xml","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-officetheme","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-playready.initiator+xml","encoding":"base64","references":["IANA","[Schneider]"],"registered":true},{"content-type":"application/vnd.ms-powerpoint","encoding":"base64","extensions":["pot","pps","ppt"],"references":["IANA","[Gill]"],"registered":true},{"content-type":"application/vnd.ms-powerpoint.addin.macroEnabled.12","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-powerpoint.presentation.macroEnabled.12","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-powerpoint.slide.macroEnabled.12","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-powerpoint.slideshow.macroEnabled.12","encoding":"base64","references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-powerpoint.template.macroEnabled.12","encoding":"base64","extensions":["potm"],"references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-project","encoding":"base64","extensions":["mpp"],"references":["IANA","[Gill]"],"registered":true},{"content-type":"application/vnd.ms-tnef","encoding":"base64","references":["IANA","[Gill]"],"registered":true},{"content-type":"application/vnd.ms-windows.printerpairing","encoding":"base64","references":["IANA","[Hutchings]"],"registered":true},{"content-type":"application/vnd.ms-wmdrm.lic-chlg-req","encoding":"base64","references":["IANA","[Lau]"],"registered":true},{"content-type":"application/vnd.ms-wmdrm.lic-resp","encoding":"base64","references":["IANA","[Lau]"],"registered":true},{"content-type":"application/vnd.ms-wmdrm.meter-chlg-req","encoding":"base64","references":["IANA","[Lau]"],"registered":true},{"content-type":"application/vnd.ms-wmdrm.meter-resp","encoding":"base64","references":["IANA","[Lau]"],"registered":true},{"content-type":"application/vnd.ms-word.document.macroEnabled.12","encoding":"base64","extensions":["docm"],"references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-word.template.macroEnabled.12","encoding":"base64","extensions":["dotm"],"references":["IANA","[Rae]"],"registered":true},{"content-type":"application/vnd.ms-works","encoding":"base64","references":["IANA","[Gill]"],"registered":true},{"content-type":"application/vnd.ms-wpl","encoding":"base64","extensions":["wpl"],"references":["IANA","[Plastina]"],"registered":true},{"content-type":"application/vnd.ms-xpsdocument","encoding":"8bit","extensions":["xps"],"references":["IANA","[McGatha]"],"registered":true},{"content-type":"application/vnd.mseq","encoding":"base64","extensions":["mseq"],"references":["IANA","[Le Bodic]"],"registered":true},{"content-type":"application/vnd.msign","encoding":"base64","references":["IANA","[Borcherding]"],"registered":true},{"content-type":"application/vnd.multiad.creator","encoding":"base64","references":["IANA","[Mills]"],"registered":true},{"content-type":"application/vnd.multiad.creator.cif","encoding":"base64","references":["IANA","[Mills]"],"registered":true},{"content-type":"application/vnd.music-niff","encoding":"base64","references":["IANA","[Butler]"],"registered":true},{"content-type":"application/vnd.musician","encoding":"base64","references":["IANA","[Adams]"],"registered":true},{"content-type":"application/vnd.muvee.style","encoding":"base64","references":["IANA","[Anantharamu]"],"registered":true},{"content-type":"application/vnd.mynfc","encoding":"base64","references":["IANA","[Lefevre]"],"registered":true},{"content-type":"application/vnd.ncd.control","encoding":"base64","references":["IANA","[Tarkkala]"],"registered":true},{"content-type":"application/vnd.ncd.reference","encoding":"base64","references":["IANA","[Tarkkala]"],"registered":true},{"content-type":"application/vnd.nervana","encoding":"base64","extensions":["bkm","ent","entity","kcm","req","request"],"references":["IANA","[Judkins]"],"registered":true},{"content-type":"application/vnd.netfpx","encoding":"base64","references":["IANA","[Mutz]"],"registered":true},{"content-type":"application/vnd.neurolanguage.nlu","encoding":"base64","references":["IANA","[DuFeu]"],"registered":true},{"content-type":"application/vnd.nintendo.nitro.rom","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"application/vnd.nintendo.snes.rom","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"application/vnd.nitf","encoding":"base64","references":["IANA","[Rogan]"],"registered":true},{"content-type":"application/vnd.noblenet-directory","encoding":"base64","references":["IANA","[Solomon]"],"registered":true},{"content-type":"application/vnd.noblenet-sealer","encoding":"base64","references":["IANA","[Solomon]"],"registered":true},{"content-type":"application/vnd.noblenet-web","encoding":"base64","references":["IANA","[Solomon]"],"registered":true},{"content-type":"application/vnd.nokia.catalogs","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.conml+wbxml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.conml+xml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.iptv.config+xml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.iSDS-radio-presets","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.landmark+wbxml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.landmark+xml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.landmarkcollection+xml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.n-gage.ac+xml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.n-gage.data","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.n-gage.symbian.install","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.ncd","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.ncd+xml","encoding":"base64","obsolete":true,"use-instead":["application/vnd.nokia.ncd"],"references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.pcd+wbxml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.pcd+xml","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.radio-preset","encoding":"base64","extensions":["rpst"],"references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.nokia.radio-presets","encoding":"base64","extensions":["rpss"],"references":["IANA","[Nokia]"],"registered":true},{"content-type":"application/vnd.novadigm.EDM","encoding":"base64","references":["IANA","[Swenson]"],"registered":true},{"content-type":"application/vnd.novadigm.EDX","encoding":"base64","references":["IANA","[Swenson]"],"registered":true},{"content-type":"application/vnd.novadigm.EXT","encoding":"base64","references":["IANA","[Swenson]"],"registered":true},{"content-type":"application/vnd.ntt-local.content-share","encoding":"base64","references":["IANA","[Taya]"],"registered":true},{"content-type":"application/vnd.ntt-local.file-transfer","encoding":"base64","references":["IANA","[NTT-local]"],"registered":true},{"content-type":"application/vnd.ntt-local.sip-ta_remote","encoding":"base64","references":["IANA","[NTT-local]"],"registered":true},{"content-type":"application/vnd.ntt-local.sip-ta_tcp_stream","encoding":"base64","references":["IANA","[NTT-local]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.chart","encoding":"base64","extensions":["odc"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.chart-template","encoding":"base64","extensions":["odc"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.database","encoding":"base64","extensions":["odb"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.formula","encoding":"base64","extensions":["odf"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.formula-template","encoding":"base64","extensions":["odf"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.graphics","encoding":"base64","extensions":["odg"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.graphics-template","encoding":"base64","extensions":["otg"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.image","encoding":"base64","extensions":["odi"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.image-template","encoding":"base64","extensions":["odi"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.presentation","encoding":"base64","extensions":["odp"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.presentation-template","encoding":"base64","extensions":["otp"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.spreadsheet","encoding":"base64","extensions":["ods"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.spreadsheet-template","encoding":"base64","extensions":["ots"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.text","encoding":"base64","extensions":["odt"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.text-master","encoding":"base64","extensions":["odm"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.text-template","encoding":"base64","extensions":["ott"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.oasis.opendocument.text-web","encoding":"base64","extensions":["oth"],"references":["IANA","[Schubert]","[OASIS]"],"registered":true},{"content-type":"application/vnd.obn","encoding":"base64","references":["IANA","[Hessling]"],"registered":true},{"content-type":"application/vnd.oftn.l10n+json","encoding":"base64","references":["IANA","[Grey]"],"registered":true},{"content-type":"application/vnd.oipf.contentaccessdownload+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.contentaccessstreaming+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.cspg-hexbinary","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.dae.svg+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.dae.xhtml+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.mippvcontrolmessage+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.pae.gem","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.spdiscovery+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.spdlist+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.ueprofile+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.oipf.userprofile+xml","encoding":"base64","references":["IANA","[D'Esclercs=DEsclercs]"],"registered":true},{"content-type":"application/vnd.olpc-sugar","encoding":"base64","references":["IANA","[Palmieri]"],"registered":true},{"content-type":"application/vnd.oma-scws-config","encoding":"base64","references":["IANA","[Mahalal]"],"registered":true},{"content-type":"application/vnd.oma-scws-http-request","encoding":"base64","references":["IANA","[Mahalal]"],"registered":true},{"content-type":"application/vnd.oma-scws-http-response","encoding":"base64","references":["IANA","[Mahalal]"],"registered":true},{"content-type":"application/vnd.oma.bcast.associated-procedure-parameter+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.drm-trigger+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.imd+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.ltkm","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.notification+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.provisioningtrigger","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.sgboot","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.sgdd+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.sgdu","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.simple-symbol-container","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.smartcard-trigger+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.sprov+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.bcast.stkm","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.cab-address-book+xml","encoding":"base64","references":["IANA","[Wang]","[OMA]"],"registered":true},{"content-type":"application/vnd.oma.cab-pcc+xml","encoding":"base64","references":["IANA","[Wang]","[OMA]"],"registered":true},{"content-type":"application/vnd.oma.cab-subs-invite+xml","encoding":"base64","references":["IANA","[Wang]","[OMA]"],"registered":true},{"content-type":"application/vnd.oma.cab-user-prefs+xml","encoding":"base64","references":["IANA","[Wang]","[OMA]"],"registered":true},{"content-type":"application/vnd.oma.dcd","encoding":"base64","references":["IANA","[Primo]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.dcdc","encoding":"base64","references":["IANA","[Primo]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.dd2+xml","encoding":"base64","references":["IANA","[Sato]","[Open Mobile Alliance's BAC DLDRM Working Group]"],"registered":true},{"content-type":"application/vnd.oma.drm.risd+xml","encoding":"base64","references":["IANA","[Rauschenbach]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.group-usage-list+xml","encoding":"base64","references":["IANA","[Kelley]","[OMA Presence and Availability (PAG) Working Group]"],"registered":true},{"content-type":"application/vnd.oma.pal+xml","encoding":"base64","references":["IANA","[McColgan]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.poc.detailed-progress-report+xml","encoding":"base64","references":["IANA","[OMA Push to Talk over Cellular (POC) Working Group]"],"registered":true},{"content-type":"application/vnd.oma.poc.final-report+xml","encoding":"base64","references":["IANA","[OMA Push to Talk over Cellular (POC) Working Group]"],"registered":true},{"content-type":"application/vnd.oma.poc.groups+xml","encoding":"base64","references":["IANA","[Kelley]","[OMA Push to Talk over Cellular (POC) Working Group]"],"registered":true},{"content-type":"application/vnd.oma.poc.invocation-descriptor+xml","encoding":"base64","references":["IANA","[OMA Push to Talk over Cellular (POC) Working Group]"],"registered":true},{"content-type":"application/vnd.oma.poc.optimized-progress-report+xml","encoding":"base64","references":["IANA","[OMA Push to Talk over Cellular (POC) Working Group]"],"registered":true},{"content-type":"application/vnd.oma.push","encoding":"base64","references":["IANA","[Sullivan]","[OMA]"],"registered":true},{"content-type":"application/vnd.oma.scidm.messages+xml","encoding":"base64","references":["IANA","[Zeng]","[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]"],"registered":true},{"content-type":"application/vnd.oma.xcap-directory+xml","encoding":"base64","references":["IANA","[Kelley]","[OMA Presence and Availability (PAG) Working Group]"],"registered":true},{"content-type":"application/vnd.omads-email+xml","encoding":"base64","references":["IANA","[OMA Data Synchronization Working Group]"],"registered":true},{"content-type":"application/vnd.omads-file+xml","encoding":"base64","references":["IANA","[OMA Data Synchronization Working Group]"],"registered":true},{"content-type":"application/vnd.omads-folder+xml","encoding":"base64","references":["IANA","[OMA Data Synchronization Working Group]"],"registered":true},{"content-type":"application/vnd.omaloc-supl-init","encoding":"base64","references":["IANA","[Grange]"],"registered":true},{"content-type":"application/vnd.openofficeorg.extension","encoding":"base64","references":["IANA","[Lingner]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.custom-properties+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.customXmlProperties+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.drawing+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.drawingml.chart+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.extended-properties+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.comments+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.presentation","encoding":"base64","extensions":["pptx"],"references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.presProps+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.slide","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.slide+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.slideshow","encoding":"base64","extensions":["ppsx"],"references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.tags+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.template","encoding":"base64","extensions":["potx"],"references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","encoding":"base64","extensions":["xlsx"],"references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.template","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.theme+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.themeOverride+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.vmlDrawing","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.document","encoding":"base64","extensions":["docx"],"references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.template","encoding":"base64","extensions":["dotx"],"references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-package.core-properties+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.openxmlformats-package.relationships+xml","encoding":"base64","references":["IANA","[Murata]"],"registered":true},{"content-type":"application/vnd.orange.indata","encoding":"base64","references":["IANA","[CHATRAS_Bruno]"],"registered":true},{"content-type":"application/vnd.osa.netdeploy","encoding":"base64","references":["IANA","[Klos]"],"registered":true},{"content-type":"application/vnd.osgeo.mapguide.package","encoding":"base64","references":["IANA","[Birch]"],"registered":true},{"content-type":"application/vnd.osgi.bundle","encoding":"base64","references":["IANA","[Kriens]"],"registered":true},{"content-type":"application/vnd.osgi.dp","encoding":"base64","references":["IANA","[Kriens]"],"registered":true},{"content-type":"application/vnd.osgi.subsystem","encoding":"base64","references":["IANA","[Kriens]"],"registered":true},{"content-type":"application/vnd.otps.ct-kip+xml","encoding":"base64","references":["IANA","[Nyström=Nystrom]"],"registered":true},{"content-type":"application/vnd.palm","encoding":"base64","extensions":["oprc","pdb","pqa","prc"],"references":["IANA","[Peacock]"],"registered":true},{"content-type":"application/vnd.paos.xml","encoding":"base64","references":["IANA","[Kemp]"],"registered":true},{"content-type":"application/vnd.pawaafile","encoding":"base64","references":["IANA","[Baskaran]"],"registered":true},{"content-type":"application/vnd.pg.format","encoding":"base64","references":["IANA","[Gandert]"],"registered":true},{"content-type":"application/vnd.pg.osasli","encoding":"base64","references":["IANA","[Gandert]"],"registered":true},{"content-type":"application/vnd.piaccess.application-licence","encoding":"base64","references":["IANA","[Maneos]"],"registered":true},{"content-type":"application/vnd.picsel","encoding":"base64","extensions":["efif"],"references":["IANA","[Naccarato]"],"registered":true},{"content-type":"application/vnd.pmi.widget","encoding":"base64","references":["IANA","[Lewis]"],"registered":true},{"content-type":"application/vnd.poc.group-advertisement+xml","encoding":"base64","references":["IANA","[Kelley]","[OMA Push to Talk over Cellular (POC) Working Group]"],"registered":true},{"content-type":"application/vnd.pocketlearn","encoding":"base64","references":["IANA","[Pando]"],"registered":true},{"content-type":"application/vnd.powerbuilder6","encoding":"base64","references":["IANA","[Guy]"],"registered":true},{"content-type":"application/vnd.powerbuilder6-s","encoding":"base64","references":["IANA","[Guy]"],"registered":true},{"content-type":"application/vnd.powerbuilder7","encoding":"base64","references":["IANA","[Shilts]"],"registered":true},{"content-type":"application/vnd.powerbuilder7-s","encoding":"base64","references":["IANA","[Shilts]"],"registered":true},{"content-type":"application/vnd.powerbuilder75","encoding":"base64","references":["IANA","[Shilts]"],"registered":true},{"content-type":"application/vnd.powerbuilder75-s","encoding":"base64","references":["IANA","[Shilts]"],"registered":true},{"content-type":"application/vnd.preminet","encoding":"base64","references":["IANA","[Tenhunen]"],"registered":true},{"content-type":"application/vnd.previewsystems.box","encoding":"base64","references":["IANA","[Smolgovsky]"],"registered":true},{"content-type":"application/vnd.proteus.magazine","encoding":"base64","references":["IANA","[Hoch]"],"registered":true},{"content-type":"application/vnd.publishare-delta-tree","encoding":"base64","references":["IANA","[Ben-Kiki]"],"registered":true},{"content-type":"application/vnd.pvi.ptid1","encoding":"base64","extensions":["pti","ptid"],"references":["IANA","[Lamb]"],"registered":true},{"content-type":"application/vnd.pwg-multiplexed","encoding":"base64","references":["IANA","RFC3391"],"registered":true},{"content-type":"application/vnd.pwg-xhtml-print+xml","encoding":"base64","references":["IANA","[Wright]"],"registered":true},{"content-type":"application/vnd.qualcomm.brew-app-res","encoding":"base64","references":["IANA","[Forrester]"],"registered":true},{"content-type":"application/vnd.Quark.QuarkXPress","encoding":"8bit","extensions":["qwd","qwt","qxb","qxd","qxl","qxt"],"references":["IANA","[Scheidler]"],"registered":true},{"content-type":"application/vnd.quobject-quoxdocument","encoding":"base64","references":["IANA","[Ludwig]"],"registered":true},{"content-type":"application/vnd.radisys.moml+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-audit+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-audit-conf+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-audit-conn+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-audit-dialog+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-audit-stream+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-conf+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-dialog+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-dialog-base+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-dialog-fax-detect+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-dialog-fax-sendrecv+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-dialog-group+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-dialog-speech+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.radisys.msml-dialog-transform+xml","encoding":"base64","references":["IANA","RFC5707"],"registered":true},{"content-type":"application/vnd.rainstor.data","encoding":"base64","references":["IANA","[Crook]"],"registered":true},{"content-type":"application/vnd.rapid","encoding":"base64","references":["IANA","[Szekely]"],"registered":true},{"content-type":"application/vnd.realvnc.bed","encoding":"base64","references":["IANA","[Reeves]"],"registered":true},{"content-type":"application/vnd.recordare.musicxml","encoding":"base64","references":["IANA","[Good]"],"registered":true},{"content-type":"application/vnd.recordare.musicxml+xml","encoding":"base64","references":["IANA","[Good]"],"registered":true},{"content-type":"application/vnd.RenLearn.rlprint","encoding":"base64","references":["IANA","[Wick]"],"registered":true},{"content-type":"application/vnd.rig.cryptonote","encoding":"base64","references":["IANA","[Jibiki]"],"registered":true},{"content-type":"application/vnd.rn-realmedia","encoding":"base64","extensions":["rm"],"registered":false},{"content-type":"application/vnd.route66.link66+xml","encoding":"base64","references":["IANA","[Kikstra]"],"registered":true},{"content-type":"application/vnd.rs-274x","encoding":"base64","references":["IANA","[Harding]"],"registered":true},{"content-type":"application/vnd.ruckus.download","encoding":"base64","references":["IANA","[Harris]"],"registered":true},{"content-type":"application/vnd.s3sms","encoding":"base64","references":["IANA","[Tarkkala]"],"registered":true},{"content-type":"application/vnd.sailingtracker.track","encoding":"base64","references":["IANA","[Vesalainen]"],"registered":true},{"content-type":"application/vnd.sbm.cid","encoding":"base64","references":["IANA","[Kusakari]"],"registered":true},{"content-type":"application/vnd.sbm.mid2","encoding":"base64","references":["IANA","[Murai]"],"registered":true},{"content-type":"application/vnd.scribus","encoding":"base64","references":["IANA","[Bradney]"],"registered":true},{"content-type":"application/vnd.sealed.3df","encoding":"base64","references":["IANA","[Kwan]"],"registered":true},{"content-type":"application/vnd.sealed.csf","encoding":"base64","references":["IANA","[Kwan]"],"registered":true},{"content-type":"application/vnd.sealed.doc","encoding":"base64","extensions":["s1w","sdo","sdoc"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"application/vnd.sealed.eml","encoding":"base64","extensions":["sem","seml"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"application/vnd.sealed.mht","encoding":"base64","extensions":["smh","smht"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"application/vnd.sealed.net","encoding":"base64","references":["IANA","[Lambert]"],"registered":true},{"content-type":"application/vnd.sealed.ppt","encoding":"base64","extensions":["s1p","spp","sppt"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"application/vnd.sealed.tiff","encoding":"base64","references":["IANA","[Kwan]","[Lambert]"],"registered":true},{"content-type":"application/vnd.sealed.xls","encoding":"base64","extensions":["s1e","sxl","sxls"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"application/vnd.sealedmedia.softseal.html","encoding":"base64","extensions":["s1h","stm","stml"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"application/vnd.sealedmedia.softseal.pdf","encoding":"base64","extensions":["s1a","spd","spdf"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"application/vnd.seemail","encoding":"base64","extensions":["see"],"references":["IANA","[Webb]"],"registered":true},{"content-type":"application/vnd.sema","encoding":"base64","references":["IANA","[Hansson]"],"registered":true},{"content-type":"application/vnd.semd","encoding":"base64","references":["IANA","[Hansson]"],"registered":true},{"content-type":"application/vnd.semf","encoding":"base64","references":["IANA","[Hansson]"],"registered":true},{"content-type":"application/vnd.shana.informed.formdata","encoding":"base64","references":["IANA","[Selzler]"],"registered":true},{"content-type":"application/vnd.shana.informed.formtemplate","encoding":"base64","references":["IANA","[Selzler]"],"registered":true},{"content-type":"application/vnd.shana.informed.interchange","encoding":"base64","references":["IANA","[Selzler]"],"registered":true},{"content-type":"application/vnd.shana.informed.package","encoding":"base64","references":["IANA","[Selzler]"],"registered":true},{"content-type":"application/vnd.SimTech-MindMapper","encoding":"base64","references":["IANA","[Koh]"],"registered":true},{"content-type":"application/vnd.siren+json","encoding":"base64","references":["IANA","[Swiber]"],"registered":true},{"content-type":"application/vnd.smaf","encoding":"base64","extensions":["mmf"],"references":["IANA","[Takahashi]"],"registered":true},{"content-type":"application/vnd.smart.notebook","encoding":"base64","references":["IANA","[Neitz]"],"registered":true},{"content-type":"application/vnd.smart.teacher","encoding":"base64","references":["IANA","[Boyle]"],"registered":true},{"content-type":"application/vnd.software602.filler.form+xml","encoding":"base64","references":["IANA","[Hytka]","[Vondrous]"],"registered":true},{"content-type":"application/vnd.software602.filler.form-xml-zip","encoding":"base64","references":["IANA","[Hytka]","[Vondrous]"],"registered":true},{"content-type":"application/vnd.solent.sdkm+xml","encoding":"base64","references":["IANA","[Gauntlett]"],"registered":true},{"content-type":"application/vnd.spotfire.dxp","encoding":"base64","references":["IANA","[Jernberg]"],"registered":true},{"content-type":"application/vnd.spotfire.sfs","encoding":"base64","references":["IANA","[Jernberg]"],"registered":true},{"content-type":"application/vnd.sss-cod","encoding":"base64","references":["IANA","[Dani]"],"registered":true},{"content-type":"application/vnd.sss-dtf","encoding":"base64","references":["IANA","[Bruno]"],"registered":true},{"content-type":"application/vnd.sss-ntf","encoding":"base64","references":["IANA","[Bruno]"],"registered":true},{"content-type":"application/vnd.stardivision.calc","encoding":"base64","extensions":["sdc"],"registered":false},{"content-type":"application/vnd.stardivision.chart","encoding":"base64","extensions":["sds"],"registered":false},{"content-type":"application/vnd.stardivision.draw","encoding":"base64","extensions":["sda"],"registered":false},{"content-type":"application/vnd.stardivision.impress","encoding":"base64","extensions":["sdd"],"registered":false},{"content-type":"application/vnd.stardivision.math","encoding":"base64","extensions":["sdf"],"registered":false},{"content-type":"application/vnd.stardivision.writer","encoding":"base64","extensions":["sdw"],"registered":false},{"content-type":"application/vnd.stardivision.writer-global","encoding":"base64","extensions":["sgl"],"registered":false},{"content-type":"application/vnd.stepmania.package","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"application/vnd.stepmania.stepchart","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"application/vnd.street-stream","encoding":"base64","references":["IANA","[Levitt]"],"registered":true},{"content-type":"application/vnd.sun.wadl+xml","encoding":"base64","references":["IANA","[Hadley]"],"registered":true},{"content-type":"application/vnd.sun.xml.calc","encoding":"base64","extensions":["sxc"],"registered":false},{"content-type":"application/vnd.sun.xml.calc.template","encoding":"base64","extensions":["stc"],"registered":false},{"content-type":"application/vnd.sun.xml.draw","encoding":"base64","extensions":["sxd"],"registered":false},{"content-type":"application/vnd.sun.xml.draw.template","encoding":"base64","extensions":["std"],"registered":false},{"content-type":"application/vnd.sun.xml.impress","encoding":"base64","extensions":["sxi"],"registered":false},{"content-type":"application/vnd.sun.xml.impress.template","encoding":"base64","extensions":["sti"],"registered":false},{"content-type":"application/vnd.sun.xml.math","encoding":"base64","extensions":["sxm"],"registered":false},{"content-type":"application/vnd.sun.xml.writer","encoding":"base64","extensions":["sxw"],"registered":false},{"content-type":"application/vnd.sun.xml.writer.global","encoding":"base64","extensions":["sxg"],"registered":false},{"content-type":"application/vnd.sun.xml.writer.template","encoding":"base64","extensions":["stw"],"registered":false},{"content-type":"application/vnd.sus-calendar","encoding":"base64","extensions":["sus","susp"],"references":["IANA","[Niedfeldt]"],"registered":true},{"content-type":"application/vnd.svd","encoding":"base64","references":["IANA","[Becker]"],"registered":true},{"content-type":"application/vnd.swiftview-ics","encoding":"base64","references":["IANA","[Widener]"],"registered":true},{"content-type":"application/vnd.syncml+xml","encoding":"base64","references":["IANA","[OMA Data Synchronization Working Group]"],"registered":true},{"content-type":"application/vnd.syncml.dm+wbxml","encoding":"base64","references":["IANA","[OMA-DM Work Group]"],"registered":true},{"content-type":"application/vnd.syncml.dm+xml","encoding":"base64","references":["IANA","[Rao]","[OMA-DM Work Group]"],"registered":true},{"content-type":"application/vnd.syncml.dm.notification","encoding":"base64","references":["IANA","[Thompson]","[OMA-DM Work Group]"],"registered":true},{"content-type":"application/vnd.syncml.dmddf+wbxml","encoding":"base64","references":["IANA","[OMA-DM Work Group]"],"registered":true},{"content-type":"application/vnd.syncml.dmddf+xml","encoding":"base64","references":["IANA","[OMA-DM Work Group]"],"registered":true},{"content-type":"application/vnd.syncml.dmtnds+wbxml","encoding":"base64","references":["IANA","[OMA-DM Work Group]"],"registered":true},{"content-type":"application/vnd.syncml.dmtnds+xml","encoding":"base64","references":["IANA","[OMA-DM Work Group]"],"registered":true},{"content-type":"application/vnd.syncml.ds.notification","encoding":"base64","references":["IANA","[OMA Data Synchronization Working Group]"],"registered":true},{"content-type":"application/vnd.tao.intent-module-archive","encoding":"base64","references":["IANA","[Shelton]"],"registered":true},{"content-type":"application/vnd.tmobile-livetv","encoding":"base64","references":["IANA","[Helin]"],"registered":true},{"content-type":"application/vnd.trid.tpt","encoding":"base64","references":["IANA","[Cusack]"],"registered":true},{"content-type":"application/vnd.triscape.mxs","encoding":"base64","references":["IANA","[Simonoff]"],"registered":true},{"content-type":"application/vnd.trueapp","encoding":"base64","references":["IANA","[Hepler]"],"registered":true},{"content-type":"application/vnd.truedoc","encoding":"base64","references":["IANA","[Chase]"],"registered":true},{"content-type":"application/vnd.ubisoft.webplayer","encoding":"base64","references":["IANA","[Talbot]"],"registered":true},{"content-type":"application/vnd.ufdl","encoding":"base64","references":["IANA","[Manning]"],"registered":true},{"content-type":"application/vnd.uiq.theme","encoding":"base64","references":["IANA","[Ocock]"],"registered":true},{"content-type":"application/vnd.umajin","encoding":"base64","references":["IANA","[Riden]"],"registered":true},{"content-type":"application/vnd.unity","encoding":"base64","references":["IANA","[Unity3d]"],"registered":true},{"content-type":"application/vnd.uoml+xml","encoding":"base64","references":["IANA","[Gerdes]"],"registered":true},{"content-type":"application/vnd.uplanet.alert","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.alert-wbxml","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.bearer-choice","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.bearer-choice-wbxml","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.cacheop","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.cacheop-wbxml","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.channel","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.channel-wbxml","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.list","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.list-wbxml","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.listcmd","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.listcmd-wbxml","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.uplanet.signal","encoding":"base64","references":["IANA","[Martin]"],"registered":true},{"content-type":"application/vnd.vcx","encoding":"base64","references":["IANA","[T.Sugimoto]"],"registered":true},{"content-type":"application/vnd.vd-study","encoding":"base64","references":["IANA","[Rogge]"],"registered":true},{"content-type":"application/vnd.vectorworks","encoding":"base64","references":["IANA","[Ferguson]","[Sarkar]"],"registered":true},{"content-type":"application/vnd.verimatrix.vcas","encoding":"base64","references":["IANA","[Peterka]"],"registered":true},{"content-type":"application/vnd.vidsoft.vidconference","encoding":"8bit","extensions":["vsc"],"references":["IANA","[Hess]"],"registered":true},{"content-type":"application/vnd.visio","encoding":"base64","extensions":["vsd","vss","vst","vsw"],"references":["IANA","[Sandal]"],"registered":true},{"content-type":"application/vnd.visionary","encoding":"base64","extensions":["vis"],"references":["IANA","[Aravindakumar]"],"registered":true},{"content-type":"application/vnd.vividence.scriptfile","encoding":"base64","references":["IANA","[Risher]"],"registered":true},{"content-type":"application/vnd.vsf","encoding":"base64","references":["IANA","[Rowe]"],"registered":true},{"content-type":"application/vnd.wap.sic","encoding":"base64","extensions":["sic"],"references":["IANA","[WAP-Forum]"],"registered":true},{"content-type":"application/vnd.wap.slc","encoding":"base64","extensions":["slc"],"references":["IANA","[WAP-Forum]"],"registered":true},{"content-type":"application/vnd.wap.wbxml","encoding":"base64","extensions":["wbxml"],"references":["IANA","[Stark]"],"registered":true},{"content-type":"application/vnd.wap.wmlc","encoding":"base64","extensions":["wmlc"],"references":["IANA","[Stark]"],"registered":true},{"content-type":"application/vnd.wap.wmlscriptc","encoding":"base64","extensions":["wmlsc"],"references":["IANA","[Stark]"],"registered":true},{"content-type":"application/vnd.webturbo","encoding":"base64","extensions":["wtb"],"references":["IANA","[Rehem]"],"registered":true},{"content-type":"application/vnd.wfa.p2p","encoding":"base64","references":["IANA","[Conley]"],"registered":true},{"content-type":"application/vnd.wfa.wsc","encoding":"base64","references":["IANA","[Wi-Fi Alliance]"],"registered":true},{"content-type":"application/vnd.windows.devicepairing","encoding":"base64","references":["IANA","[Dandawate]"],"registered":true},{"content-type":"application/vnd.wmc","encoding":"base64","references":["IANA","[Kjørnes=Kjornes]"],"registered":true},{"content-type":"application/vnd.wmf.bootstrap","encoding":"base64","references":["IANA","[Nguyenphu]","[Iyer]"],"registered":true},{"content-type":"application/vnd.wolfram.mathematica","encoding":"base64","references":["IANA","[Wolfram]"],"registered":true},{"content-type":"application/vnd.wolfram.mathematica.package","encoding":"base64","references":["IANA","[Wolfram]"],"registered":true},{"content-type":"application/vnd.wolfram.player","encoding":"base64","references":["IANA","[Wolfram]"],"registered":true},{"content-type":"application/vnd.wordperfect","encoding":"base64","extensions":["wpd"],"references":["IANA","[Scarborough]"],"registered":true},{"content-type":"application/vnd.wqd","encoding":"base64","extensions":["wqd"],"references":["IANA","[Bostrom]"],"registered":true},{"content-type":"application/vnd.wrq-hp3000-labelled","encoding":"base64","references":["IANA","[Bartram]"],"registered":true},{"content-type":"application/vnd.wt.stf","encoding":"base64","references":["IANA","[Wohler]"],"registered":true},{"content-type":"application/vnd.wv.csp+wbxml","encoding":"base64","extensions":["wv"],"references":["IANA","[Salmi]"],"registered":true},{"content-type":"application/vnd.wv.csp+xml","encoding":"8bit","references":["IANA","[Ingimundarson]"],"registered":true},{"content-type":"application/vnd.wv.ssp+xml","encoding":"8bit","references":["IANA","[Ingimundarson]"],"registered":true},{"content-type":"application/vnd.xacml+json","encoding":"base64","references":["IANA","[Brossard]"],"registered":true},{"content-type":"application/vnd.xara","encoding":"base64","references":["IANA","[Matthewman]"],"registered":true},{"content-type":"application/vnd.xfdl","encoding":"base64","references":["IANA","[Manning]"],"registered":true},{"content-type":"application/vnd.xfdl.webform","encoding":"base64","references":["IANA","[Mansell]"],"registered":true},{"content-type":"application/vnd.xmi+xml","encoding":"base64","references":["IANA","[Waskiewicz]"],"registered":true},{"content-type":"application/vnd.xmpie.cpkg","encoding":"base64","references":["IANA","[Sherwin]"],"registered":true},{"content-type":"application/vnd.xmpie.dpkg","encoding":"base64","references":["IANA","[Sherwin]"],"registered":true},{"content-type":"application/vnd.xmpie.plan","encoding":"base64","references":["IANA","[Sherwin]"],"registered":true},{"content-type":"application/vnd.xmpie.ppkg","encoding":"base64","references":["IANA","[Sherwin]"],"registered":true},{"content-type":"application/vnd.xmpie.xlim","encoding":"base64","references":["IANA","[Sherwin]"],"registered":true},{"content-type":"application/vnd.yamaha.hv-dic","encoding":"base64","extensions":["hvd"],"references":["IANA","[Yamamoto]"],"registered":true},{"content-type":"application/vnd.yamaha.hv-script","encoding":"base64","extensions":["hvs"],"references":["IANA","[Yamamoto]"],"registered":true},{"content-type":"application/vnd.yamaha.hv-voice","encoding":"base64","extensions":["hvp"],"references":["IANA","[Yamamoto]"],"registered":true},{"content-type":"application/vnd.yamaha.openscoreformat","encoding":"base64","references":["IANA","[Olleson]"],"registered":true},{"content-type":"application/vnd.yamaha.openscoreformat.osfpvg+xml","encoding":"base64","references":["IANA","[Olleson]"],"registered":true},{"content-type":"application/vnd.yamaha.remote-setup","encoding":"base64","references":["IANA","[Sukizaki]"],"registered":true},{"content-type":"application/vnd.yamaha.smaf-audio","encoding":"base64","extensions":["saf"],"references":["IANA","[Shinoda]"],"registered":true},{"content-type":"application/vnd.yamaha.smaf-phrase","encoding":"base64","extensions":["spf"],"references":["IANA","[Shinoda]"],"registered":true},{"content-type":"application/vnd.yamaha.through-ngn","encoding":"base64","references":["IANA","[Sukizaki]"],"registered":true},{"content-type":"application/vnd.yamaha.tunnel-udpencap","encoding":"base64","references":["IANA","[Sukizaki]"],"registered":true},{"content-type":"application/vnd.yellowriver-custom-menu","encoding":"base64","references":["IANA","[Yellow]"],"registered":true},{"content-type":"application/vnd.zul","encoding":"base64","references":["IANA","[Grothmann]"],"registered":true},{"content-type":"application/vnd.zzazz.deck+xml","encoding":"base64","references":["IANA","[Hewett]"],"registered":true},{"content-type":"application/voicexml+xml","encoding":"base64","references":["IANA","RFC4267"],"registered":true},{"content-type":"application/vq-rtcpxr","encoding":"base64","references":["IANA","RFC6035"],"registered":true},{"content-type":"application/watcherinfo+xml","encoding":"base64","extensions":["wif"],"references":["IANA","RFC3858"],"registered":true},{"content-type":"application/whoispp-query","encoding":"base64","references":["IANA","RFC2957"],"registered":true},{"content-type":"application/whoispp-response","encoding":"base64","references":["IANA","RFC2958"],"registered":true},{"content-type":"application/widget","encoding":"base64","references":["IANA","[W3C]","[Pemberton]"],"registered":true},{"content-type":"application/wita","encoding":"base64","references":["IANA","[Campbell]"],"registered":true},{"content-type":"application/word","encoding":"base64","extensions":["doc","dot"],"references":["LTSW"],"registered":false},{"content-type":"application/wordperfect","encoding":"base64","extensions":["wp"],"obsolete":true,"use-instead":["application/vnd.wordperfect"],"registered":false},{"content-type":"application/wordperfect5.1","encoding":"base64","extensions":["wp","wp5"],"references":["IANA","[Lindner]"],"registered":true},{"content-type":"application/wordperfect6.1","encoding":"base64","extensions":["wp6"],"obsolete":true,"use-instead":["application/x-wordperfect6.1"],"registered":false},{"content-type":"application/wordperfectd","encoding":"base64","extensions":["wpd"],"obsolete":true,"use-instead":["application/vnd.wordperfect"],"registered":false},{"content-type":"application/wsdl+xml","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/wspolicy+xml","encoding":"base64","references":["IANA","[W3C]"],"registered":true},{"content-type":"application/x-123","encoding":"base64","extensions":["wk"],"obsolete":true,"use-instead":["application/vnd.lotus-1-2-3"],"registered":false},{"content-type":"application/x-7z-compressed","encoding":"base64","extensions":["7z"],"references":["{7zip=http://www.7-zip.org/7z.html}"],"registered":false},{"content-type":"application/x-access","encoding":"base64","extensions":["mda","mdb","mde","mdf"],"obsolete":true,"use-instead":["application/x-msaccess"],"registered":false},{"content-type":"application/x-apple-diskimage","encoding":"base64","extensions":["dmg"],"registered":false,"system":"(?-mix:mac)"},{"content-type":"application/x-bcpio","encoding":"base64","extensions":["bcpio"],"references":["LTSW"],"registered":false},{"content-type":"application/x-bleeper","encoding":"base64","extensions":["bleep"],"registered":false},{"content-type":"application/x-bzip2","encoding":"base64","extensions":["bz2"],"registered":false},{"content-type":"application/x-cdlink","encoding":"base64","extensions":["vcd"],"registered":false},{"content-type":"application/x-chess-pgn","encoding":"base64","extensions":["pgn"],"registered":false},{"content-type":"application/x-chrome-extension","encoding":"base64","extensions":["crx"],"registered":false},{"content-type":"application/x-clariscad","encoding":"base64","registered":false},{"content-type":"application/x-compress","encoding":"base64","extensions":["Z","z"],"obsolete":true,"use-instead":["application/x-compressed"],"registered":false},{"content-type":"application/x-compressed","encoding":"base64","extensions":["Z","z"],"references":["LTSW"],"registered":false},{"content-type":"application/x-cpio","encoding":"base64","extensions":["cpio"],"references":["LTSW"],"registered":false},{"content-type":"application/x-csh","encoding":"8bit","extensions":["csh"],"references":["LTSW"],"registered":false},{"content-type":"application/x-cu-seeme","encoding":"base64","extensions":["csm","cu"],"registered":false},{"content-type":"application/x-debian-package","encoding":"base64","extensions":["deb"],"registered":false},{"content-type":"application/x-director","encoding":"base64","extensions":["dcr","dir","dxr"],"registered":false},{"content-type":"application/x-drafting","encoding":"base64","registered":false},{"content-type":"application/x-dvi","encoding":"base64","extensions":["dvi"],"references":["LTSW"],"registered":false},{"content-type":"application/x-dxf","encoding":"base64","registered":false},{"content-type":"application/x-excel","encoding":"base64","registered":false},{"content-type":"application/x-font-opentype","encoding":"base64","extensions":["otf"],"registered":false},{"content-type":"application/x-font-truetype","encoding":"base64","extensions":["ttf"],"registered":false},{"content-type":"application/x-fractals","encoding":"base64","registered":false},{"content-type":"application/x-futuresplash","encoding":"base64","extensions":["spl"],"registered":false},{"content-type":"application/x-ghostview","encoding":"base64","registered":false},{"content-type":"application/x-gtar","encoding":"base64","extensions":["gtar","tbz","tbz2","tgz"],"references":["LTSW"],"registered":false},{"content-type":"application/x-gzip","encoding":"base64","extensions":["gz"],"obsolete":true,"use-instead":["application/gzip"],"references":["LTSW"],"registered":false},{"content-type":"application/x-hdf","encoding":"base64","extensions":["hdf"],"references":["LTSW"],"registered":false},{"content-type":"application/x-hep","encoding":"base64","extensions":["hep"],"registered":false},{"content-type":"application/x-html+ruby","encoding":"8bit","extensions":["rhtml"],"registered":false},{"content-type":"application/x-httpd-php","encoding":"8bit","extensions":["php","pht","phtml"],"registered":false},{"content-type":"application/x-ibooks+zip","encoding":"base64","extensions":["ibooks"],"registered":false},{"content-type":"application/x-ica","encoding":"base64","extensions":["ica"],"registered":false},{"content-type":"application/x-ideas","encoding":"base64","registered":false},{"content-type":"application/x-imagemap","encoding":"8bit","extensions":["imagemap","imap"],"registered":false},{"content-type":"application/x-iwork-keynote-sffkey","encoding":"base64","extensions":["key"],"registered":false},{"content-type":"application/x-iwork-numbers-sffnumbers","encoding":"base64","extensions":["numbers"],"registered":false},{"content-type":"application/x-iwork-pages-sffpages","encoding":"base64","extensions":["pages"],"registered":false},{"content-type":"application/x-java-archive","encoding":"base64","extensions":["jar"],"references":["LTSW"],"registered":false},{"content-type":"application/x-java-jnlp-file","encoding":"base64","extensions":["jnlp"],"references":["LTSW"],"registered":false},{"content-type":"application/x-java-serialized-object","encoding":"base64","extensions":["ser"],"references":["LTSW"],"registered":false},{"content-type":"application/x-java-vm","encoding":"base64","extensions":["class"],"references":["LTSW"],"registered":false},{"content-type":"application/x-javascript","encoding":"8bit","extensions":["js"],"obsolete":true,"use-instead":["application/javascript"],"registered":false},{"content-type":"application/x-koan","encoding":"base64","extensions":["skd","skm","skp","skt"],"registered":false},{"content-type":"application/x-latex","encoding":"8bit","extensions":["latex","ltx"],"references":["LTSW"],"registered":false},{"content-type":"application/x-lotus-123","encoding":"base64","extensions":["wks"],"obsolete":true,"use-instead":["application/vnd.lotus-1-2-3"],"registered":false},{"content-type":"application/x-mac","encoding":"base64","extensions":["bin"],"registered":false,"system":"(?-mix:mac)"},{"content-type":"application/x-mac-compactpro","encoding":"base64","extensions":["cpt"],"registered":false},{"content-type":"application/x-macbase64","encoding":"base64","extensions":["bin"],"registered":false,"system":"(?-mix:mac)"},{"content-type":"application/x-macbinary","encoding":"base64","registered":false},{"content-type":"application/x-maker","encoding":"base64","extensions":["book","fb","fbdoc","fm","frame","frm","maker"],"obsolete":true,"use-instead":["application/vnd.framemaker"],"registered":false},{"content-type":"application/x-mathcad","encoding":"base64","extensions":["mcd"],"obsolete":true,"use-instead":["application/vnd.mcd"],"registered":false},{"content-type":"application/x-mathematica-old","encoding":"base64","registered":false},{"content-type":"application/x-mif","encoding":"base64","extensions":["mif"],"references":["LTSW"],"registered":false},{"content-type":"application/x-mobipocket-ebook","encoding":"base64","extensions":["mobi"],"registered":false},{"content-type":"application/x-ms-wmd","encoding":"base64","extensions":["wmd"],"registered":false},{"content-type":"application/x-ms-wmz","encoding":"base64","extensions":["wmz"],"registered":false},{"content-type":"application/x-msaccess","encoding":"base64","extensions":["mda","mdb","mde","mdf"],"registered":false},{"content-type":"application/x-msdos-program","encoding":"base64","extensions":["bat","cmd","com","exe"],"registered":false},{"content-type":"application/x-msdownload","encoding":"base64","extensions":["com","exe"],"registered":false},{"content-type":"application/x-msword","encoding":"base64","extensions":["doc","dot","wrd"],"obsolete":true,"use-instead":["application/msword"],"registered":false},{"content-type":"application/x-netcdf","encoding":"base64","extensions":["cdf","nc"],"registered":false},{"content-type":"application/x-ns-proxy-autoconfig","encoding":"base64","extensions":["pac"],"registered":false},{"content-type":"application/x-opera-extension","encoding":"base64","extensions":["oex"],"registered":false},{"content-type":"application/x-pagemaker","encoding":"base64","extensions":["pm","pm5","pt5"],"registered":false},{"content-type":"application/x-perl","encoding":"8bit","extensions":["pl","pm"],"registered":false},{"content-type":"application/x-pgp","encoding":"base64","registered":false,"signature":true},{"content-type":"application/x-python","encoding":"8bit","extensions":["py"],"registered":false},{"content-type":"application/x-quicktimeplayer","encoding":"base64","extensions":["qtl"],"registered":false},{"content-type":"application/x-rar-compressed","encoding":"base64","extensions":["rar"],"registered":false},{"content-type":"application/x-remote_printing","encoding":"base64","registered":false},{"content-type":"application/x-rtf","encoding":"base64","extensions":["rtf"],"obsolete":true,"use-instead":["application/rtf"],"references":["LTSW"],"registered":false},{"content-type":"application/x-ruby","encoding":"8bit","extensions":["rb","rbw"],"registered":false},{"content-type":"application/x-set","encoding":"base64","registered":false},{"content-type":"application/x-sh","encoding":"8bit","extensions":["sh"],"references":["LTSW"],"registered":false},{"content-type":"application/x-shar","encoding":"8bit","extensions":["shar"],"references":["LTSW"],"registered":false},{"content-type":"application/x-shockwave-flash","encoding":"base64","extensions":["swf"],"registered":false},{"content-type":"application/x-SLA","encoding":"base64","registered":false},{"content-type":"application/x-solids","encoding":"base64","registered":false},{"content-type":"application/x-spss","encoding":"base64","extensions":["sav","sbs","spo","spp","sps"],"registered":false},{"content-type":"application/x-STEP","encoding":"base64","registered":false},{"content-type":"application/x-stuffit","encoding":"base64","extensions":["sit"],"references":["LTSW"],"registered":false},{"content-type":"application/x-sv4cpio","encoding":"base64","extensions":["sv4cpio"],"references":["LTSW"],"registered":false},{"content-type":"application/x-sv4crc","encoding":"base64","extensions":["sv4crc"],"references":["LTSW"],"registered":false},{"content-type":"application/x-tar","encoding":"base64","extensions":["tar"],"references":["LTSW"],"registered":false},{"content-type":"application/x-tcl","encoding":"8bit","extensions":["tcl"],"references":["LTSW"],"registered":false},{"content-type":"application/x-tex","encoding":"8bit","extensions":["tex"],"registered":false},{"content-type":"application/x-texinfo","encoding":"8bit","extensions":["texi","texinfo"],"registered":false},{"content-type":"application/x-toolbook","encoding":"base64","extensions":["tbk"],"registered":false},{"content-type":"application/x-troff","encoding":"base64","extensions":["roff","t","tr"],"obsolete":true,"use-instead":["text/troff"],"references":["LTSW"],"registered":false},{"content-type":"application/x-troff-man","encoding":"8bit","extensions":["man"],"references":["LTSW"],"registered":false},{"content-type":"application/x-troff-me","encoding":"base64","extensions":["me"],"references":["LTSW"],"registered":false},{"content-type":"application/x-troff-ms","encoding":"base64","extensions":["ms"],"references":["LTSW"],"registered":false},{"content-type":"application/x-u-star","encoding":"base64","obsolete":true,"use-instead":["application/x-ustar"],"references":["LTSW"],"registered":false},{"content-type":"application/x-ustar","encoding":"base64","extensions":["ustar"],"references":["LTSW"],"registered":false},{"content-type":"application/x-VMSBACKUP","encoding":"base64","extensions":["bck"],"registered":false},{"content-type":"application/x-wais-source","encoding":"base64","extensions":["src"],"references":["LTSW"],"registered":false},{"content-type":"application/x-web-app-manifest+json","encoding":"base64","extensions":["webapp"],"registered":false},{"content-type":"application/x-Wingz","encoding":"base64","extensions":["wz"],"registered":false},{"content-type":"application/x-word","encoding":"base64","extensions":["doc","dot"],"obsolete":true,"use-instead":["application/msword"],"registered":false},{"content-type":"application/x-wordperfect","encoding":"base64","extensions":["wp"],"obsolete":true,"use-instead":["application/vnd.wordperfect"],"registered":false},{"content-type":"application/x-wordperfect6.1","encoding":"base64","extensions":["wp6"],"registered":false},{"content-type":"application/x-wordperfectd","encoding":"base64","extensions":["wpd"],"obsolete":true,"use-instead":["application/vnd.wordperfect"],"registered":false},{"content-type":"application/x-www-form-urlencoded","encoding":"7bit","references":["[W3C]","{HTML5=http://www.w3.org/TR/html5/iana.html#application/x-www-form-urlencoded}"],"registered":true},{"content-type":"application/x-x509-ca-cert","encoding":"base64","extensions":["crt"],"registered":false},{"content-type":"application/x-xpinstall","encoding":"base64","extensions":["xpi"],"registered":false},{"content-type":"application/x400-bp","encoding":"base64","references":["IANA","RFC1494"],"registered":true},{"content-type":"application/x400.bp","encoding":"base64","obsolete":true,"use-instead":["application/x400-bp"],"references":["LTSW"],"registered":false},{"content-type":"application/xacml+xml","encoding":"base64","references":["IANA","{RFC-sinnema-xacml-media-type-06=http://tools.ietf.org/html/draft-sinnema-xacml-media-type}"],"registered":true},{"content-type":"application/xcap-att+xml","encoding":"base64","references":["IANA","RFC4825"],"registered":true},{"content-type":"application/xcap-caps+xml","encoding":"base64","references":["IANA","RFC4825"],"registered":true},{"content-type":"application/xcap-diff+xml","encoding":"base64","references":["IANA","RFC5874"],"registered":true},{"content-type":"application/xcap-el+xml","encoding":"base64","references":["IANA","RFC4825"],"registered":true},{"content-type":"application/xcap-error+xml","encoding":"base64","references":["IANA","RFC4825"],"registered":true},{"content-type":"application/xcap-ns+xml","encoding":"base64","references":["IANA","RFC4825"],"registered":true},{"content-type":"application/xcon-conference-info+xml","encoding":"base64","references":["IANA","{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}"],"registered":true},{"content-type":"application/xcon-conference-info-diff+xml","encoding":"base64","references":["IANA","{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}"],"registered":true},{"content-type":"application/xenc+xml","encoding":"base64","references":["IANA","[Reagle]","[XENC Working Group]"],"registered":true},{"content-type":"application/xhtml+xml","encoding":"8bit","extensions":["xht","xhtml"],"references":["IANA","RFC3236","{HTML5=http://www.w3.org/TR/html5/iana.html#application/xhtml+xml}"],"registered":true},{"content-type":"application/xhtml-voice+xml","encoding":"base64","obsolete":true,"references":["IANA","{RFC-mccobb-xplusv-media-type-04.txt=https://datatracker.ietf.org/public/idindex.cgi?command=id_detail&filename=draft-mccobb-xplusv-media-type}"],"registered":true},{"content-type":"application/xml","encoding":"8bit","extensions":["xml","xsl"],"references":["IANA","RFC3023"],"registered":true},{"content-type":"application/xml-dtd","encoding":"8bit","extensions":["dtd"],"references":["IANA","RFC3023"],"registered":true},{"content-type":"application/xml-external-parsed-entity","encoding":"base64","references":["IANA","RFC3023"],"registered":true},{"content-type":"application/xmpp+xml","encoding":"base64","references":["IANA","RFC3923"],"registered":true},{"content-type":"application/xop+xml","encoding":"base64","references":["IANA","[Nottingham]"],"registered":true},{"content-type":"application/xslt+xml","encoding":"base64","extensions":["xslt"],"references":["IANA","[W3C]"],"registered":true},{"content-type":"application/xv+xml","encoding":"base64","references":["IANA","RFC4374"],"registered":true},{"content-type":"application/yang","encoding":"base64","references":["IANA","RFC6020"],"registered":true},{"content-type":"application/yin+xml","encoding":"base64","references":["IANA","RFC6020"],"registered":true},{"content-type":"application/zip","encoding":"base64","extensions":["zip"],"references":["IANA","[Lindner]"],"registered":true},{"content-type":"application/zlib","encoding":"base64","references":["IANA","RFC6713"],"registered":true},{"content-type":"audio/1d-interleaved-parityfec","encoding":"base64","references":["IANA","RFC6015"],"registered":true},{"content-type":"audio/32kadpcm","encoding":"base64","references":["IANA","RFC3802","RFC2421"],"registered":true},{"content-type":"audio/3gpp","encoding":"base64","references":["IANA","RFC3839","RFC6381"],"registered":true},{"content-type":"audio/3gpp2","encoding":"base64","references":["IANA","RFC4393","RFC6381"],"registered":true},{"content-type":"audio/ac3","encoding":"base64","references":["IANA","RFC4184"],"registered":true},{"content-type":"audio/AMR","encoding":"base64","extensions":["amr"],"references":["IANA","RFC4867"],"registered":true},{"content-type":"audio/AMR-WB","encoding":"base64","extensions":["awb"],"references":["IANA","RFC4867"],"registered":true},{"content-type":"audio/amr-wb+","encoding":"base64","references":["IANA","RFC4352"],"registered":true},{"content-type":"audio/asc","encoding":"base64","references":["IANA","RFC6295"],"registered":true},{"content-type":"audio/ATRAC-ADVANCED-LOSSLESS","encoding":"base64","references":["IANA","RFC5584"],"registered":true},{"content-type":"audio/ATRAC-X","encoding":"base64","references":["IANA","RFC5584"],"registered":true},{"content-type":"audio/ATRAC3","encoding":"base64","references":["IANA","RFC5584"],"registered":true},{"content-type":"audio/basic","encoding":"base64","extensions":["au","snd"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"audio/BV16","encoding":"base64","references":["IANA","RFC4298"],"registered":true},{"content-type":"audio/BV32","encoding":"base64","references":["IANA","RFC4298"],"registered":true},{"content-type":"audio/clearmode","encoding":"base64","references":["IANA","RFC4040"],"registered":true},{"content-type":"audio/CN","encoding":"base64","references":["IANA","RFC3389"],"registered":true},{"content-type":"audio/DAT12","encoding":"base64","references":["IANA","RFC3190"],"registered":true},{"content-type":"audio/dls","encoding":"base64","references":["IANA","RFC4613"],"registered":true},{"content-type":"audio/dsr-es201108","encoding":"base64","references":["IANA","RFC3557"],"registered":true},{"content-type":"audio/dsr-es202050","encoding":"base64","references":["IANA","RFC4060"],"registered":true},{"content-type":"audio/dsr-es202211","encoding":"base64","references":["IANA","RFC4060"],"registered":true},{"content-type":"audio/dsr-es202212","encoding":"base64","references":["IANA","RFC4060"],"registered":true},{"content-type":"audio/DV","encoding":"base64","references":["IANA","RFC6469"],"registered":true},{"content-type":"audio/DVI4","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/eac3","encoding":"base64","references":["IANA","RFC4598"],"registered":true},{"content-type":"audio/encaprtp","encoding":"base64","references":["IANA","RFC6849"],"registered":true},{"content-type":"audio/EVRC","encoding":"base64","extensions":["evc"],"references":["IANA","RFC4788"],"registered":true},{"content-type":"audio/EVRC-QCP","encoding":"base64","references":["IANA","RFC3625"],"registered":true},{"content-type":"audio/EVRC0","encoding":"base64","references":["IANA","RFC4788"],"registered":true},{"content-type":"audio/EVRC1","encoding":"base64","references":["IANA","RFC4788"],"registered":true},{"content-type":"audio/EVRCB","encoding":"base64","references":["IANA","RFC5188"],"registered":true},{"content-type":"audio/EVRCB0","encoding":"base64","references":["IANA","RFC5188"],"registered":true},{"content-type":"audio/EVRCB1","encoding":"base64","references":["IANA","RFC4788"],"registered":true},{"content-type":"audio/EVRCNW","encoding":"base64","references":["IANA","RFC6884"],"registered":true},{"content-type":"audio/EVRCNW0","encoding":"base64","references":["IANA","RFC6884"],"registered":true},{"content-type":"audio/EVRCNW1","encoding":"base64","references":["IANA","RFC6884"],"registered":true},{"content-type":"audio/EVRCWB","encoding":"base64","references":["IANA","RFC5188"],"registered":true},{"content-type":"audio/EVRCWB0","encoding":"base64","references":["IANA","RFC5188"],"registered":true},{"content-type":"audio/EVRCWB1","encoding":"base64","references":["IANA","RFC5188"],"registered":true},{"content-type":"audio/example","encoding":"base64","references":["IANA","RFC4735"],"registered":true},{"content-type":"audio/fwdred","encoding":"base64","references":["IANA","RFC6354"],"registered":true},{"content-type":"audio/G719","encoding":"base64","references":["IANA","RFC5404","{Errata3245=http://www.rfc-editor.org/errata_search.php?rfc=5404&eid=3245}"],"registered":true},{"content-type":"audio/G722","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G7221","encoding":"base64","references":["IANA","RFC5577"],"registered":true},{"content-type":"audio/G723","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G726-16","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G726-24","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G726-32","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G726-40","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G728","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G729","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G7291","encoding":"base64","references":["IANA","RFC4749","RFC5459"],"registered":true},{"content-type":"audio/G729D","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/G729E","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/GSM","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/GSM-EFR","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/GSM-HR-08","encoding":"base64","references":["IANA","RFC5993"],"registered":true},{"content-type":"audio/iLBC","encoding":"base64","references":["IANA","RFC3952"],"registered":true},{"content-type":"audio/ip-mr_v2.5","encoding":"base64","references":["IANA","RFC6262"],"registered":true},{"content-type":"audio/L16","encoding":"base64","extensions":["l16"],"references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/L20","encoding":"base64","references":["IANA","RFC3190"],"registered":true},{"content-type":"audio/L24","encoding":"base64","references":["IANA","RFC3190"],"registered":true},{"content-type":"audio/L8","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/LPC","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/mobile-xmf","encoding":"base64","references":["IANA","RFC4723"],"registered":true},{"content-type":"audio/mp4","encoding":"base64","extensions":["f4a","f4b","mp4","mpg4"],"references":["IANA","RFC4337","RFC6381","{Adobe=http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html}"],"registered":true},{"content-type":"audio/MP4A-LATM","encoding":"base64","extensions":["m4a"],"references":["IANA","RFC6416"],"registered":true},{"content-type":"audio/MPA","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"audio/mpa-robust","encoding":"base64","references":["IANA","RFC5219"],"registered":true},{"content-type":"audio/mpeg","encoding":"base64","extensions":["mp2","mp3","mpga"],"references":["IANA","RFC3003"],"registered":true},{"content-type":"audio/mpeg4-generic","encoding":"base64","references":["IANA","RFC3640","RFC5691","RFC6295"],"registered":true},{"content-type":"audio/ogg","encoding":"base64","extensions":["ogg"],"references":["IANA","RFC5334"],"registered":true},{"content-type":"audio/parityfec","encoding":"base64","references":["IANA","RFC5109"],"registered":true},{"content-type":"audio/PCMA","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/PCMA-WB","encoding":"base64","references":["IANA","RFC5391"],"registered":true},{"content-type":"audio/PCMU","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/PCMU-WB","encoding":"base64","references":["IANA","RFC5391"],"registered":true},{"content-type":"audio/prs.sid","encoding":"base64","references":["IANA","[Walleij]"],"registered":true},{"content-type":"audio/QCELP","encoding":"base64","references":["IANA","RFC3555","RFC3625"],"registered":true},{"content-type":"audio/raptorfec","encoding":"base64","references":["IANA","RFC6682"],"registered":true},{"content-type":"audio/RED","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"audio/rtp-enc-aescm128","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"audio/rtp-midi","encoding":"base64","references":["IANA","RFC6295"],"registered":true},{"content-type":"audio/rtploopback","encoding":"base64","references":["IANA","RFC6849"],"registered":true},{"content-type":"audio/rtx","encoding":"base64","references":["IANA","RFC4588"],"registered":true},{"content-type":"audio/SMV","encoding":"base64","extensions":["smv"],"references":["IANA","RFC3558"],"registered":true},{"content-type":"audio/SMV-QCP","encoding":"base64","references":["IANA","RFC3625"],"registered":true},{"content-type":"audio/SMV0","encoding":"base64","references":["IANA","RFC3558"],"registered":true},{"content-type":"audio/sp-midi","encoding":"base64","references":["IANA","[Kosonen]","[T. White=T.White]"],"registered":true},{"content-type":"audio/speex","encoding":"base64","references":["IANA","RFC5574"],"registered":true},{"content-type":"audio/t140c","encoding":"base64","references":["IANA","RFC4351"],"registered":true},{"content-type":"audio/t38","encoding":"base64","references":["IANA","RFC4612"],"registered":true},{"content-type":"audio/telephone-event","encoding":"base64","references":["IANA","RFC4733"],"registered":true},{"content-type":"audio/tone","encoding":"base64","references":["IANA","RFC4733"],"registered":true},{"content-type":"audio/UEMCLIP","encoding":"base64","references":["IANA","RFC5686"],"registered":true},{"content-type":"audio/ulpfec","encoding":"base64","references":["IANA","RFC5109"],"registered":true},{"content-type":"audio/VDVI","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"audio/VMR-WB","encoding":"base64","references":["IANA","RFC4348","RFC4424"],"registered":true},{"content-type":"audio/vnd.3gpp.iufp","encoding":"base64","references":["IANA","[Belling]"],"registered":true},{"content-type":"audio/vnd.4SB","encoding":"base64","references":["IANA","[De Jaham]"],"registered":true},{"content-type":"audio/vnd.audiokoz","encoding":"base64","references":["IANA","[DeBarros]"],"registered":true},{"content-type":"audio/vnd.CELP","encoding":"base64","references":["IANA","[De Jaham]"],"registered":true},{"content-type":"audio/vnd.cisco.nse","encoding":"base64","references":["IANA","[Kumar]"],"registered":true},{"content-type":"audio/vnd.cmles.radio-events","encoding":"base64","references":["IANA","[Goulet]"],"registered":true},{"content-type":"audio/vnd.cns.anp1","encoding":"base64","references":["IANA","[McLaughlin]"],"registered":true},{"content-type":"audio/vnd.cns.inf1","encoding":"base64","references":["IANA","[McLaughlin]"],"registered":true},{"content-type":"audio/vnd.dece.audio","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"audio/vnd.digital-winds","encoding":"7bit","extensions":["eol"],"references":["IANA","[Strazds]"],"registered":true},{"content-type":"audio/vnd.dlna.adts","encoding":"base64","references":["IANA","[Heredia]"],"registered":true},{"content-type":"audio/vnd.dolby.heaac.1","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"audio/vnd.dolby.heaac.2","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"audio/vnd.dolby.mlp","encoding":"base64","references":["IANA","[Ward]"],"registered":true},{"content-type":"audio/vnd.dolby.mps","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"audio/vnd.dolby.pl2","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"audio/vnd.dolby.pl2x","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"audio/vnd.dolby.pl2z","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"audio/vnd.dolby.pulse.1","encoding":"base64","references":["IANA","[Hattersley]"],"registered":true},{"content-type":"audio/vnd.dra","encoding":"base64","references":["IANA","[Tian]"],"registered":true},{"content-type":"audio/vnd.dts","encoding":"base64","references":["IANA","[Zou]"],"registered":true},{"content-type":"audio/vnd.dts.hd","encoding":"base64","references":["IANA","[Zou]"],"registered":true},{"content-type":"audio/vnd.dvb.file","encoding":"base64","references":["IANA","[Siebert]"],"registered":true},{"content-type":"audio/vnd.everad.plj","encoding":"base64","extensions":["plj"],"references":["IANA","[Cicelsky]"],"registered":true},{"content-type":"audio/vnd.hns.audio","encoding":"base64","references":["IANA","[Swaminathan]"],"registered":true},{"content-type":"audio/vnd.lucent.voice","encoding":"base64","extensions":["lvp"],"references":["IANA","[Vaudreuil]"],"registered":true},{"content-type":"audio/vnd.ms-playready.media.pya","encoding":"base64","references":["IANA","[DiAcetis]"],"registered":true},{"content-type":"audio/vnd.nokia.mobile-xmf","encoding":"base64","extensions":["mxmf"],"references":["IANA","[Nokia Corporation=Nokia]"],"registered":true},{"content-type":"audio/vnd.nortel.vbk","encoding":"base64","extensions":["vbk"],"references":["IANA","[Parsons]"],"registered":true},{"content-type":"audio/vnd.nuera.ecelp4800","encoding":"base64","extensions":["ecelp4800"],"references":["IANA","[Fox]"],"registered":true},{"content-type":"audio/vnd.nuera.ecelp7470","encoding":"base64","extensions":["ecelp7470"],"references":["IANA","[Fox]"],"registered":true},{"content-type":"audio/vnd.nuera.ecelp9600","encoding":"base64","extensions":["ecelp9600"],"references":["IANA","[Fox]"],"registered":true},{"content-type":"audio/vnd.octel.sbc","encoding":"base64","references":["IANA","[Vaudreuil]"],"registered":true},{"content-type":"audio/vnd.qcelp","encoding":"base64","extensions":["qcp"],"obsolete":true,"use-instead":["audio/qcelp"],"references":["IANA","RFC3625"],"registered":true},{"content-type":"audio/vnd.rhetorex.32kadpcm","encoding":"base64","references":["IANA","[Vaudreuil]"],"registered":true},{"content-type":"audio/vnd.rip","encoding":"base64","references":["IANA","[Dawe]"],"registered":true},{"content-type":"audio/vnd.sealedmedia.softseal.mpeg","encoding":"base64","extensions":["s1m","smp","smp3"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"audio/vnd.vmx.cvsd","encoding":"base64","references":["IANA","[Vaudreuil]"],"registered":true},{"content-type":"audio/vorbis","encoding":"base64","references":["IANA","RFC5215"],"registered":true},{"content-type":"audio/vorbis-config","encoding":"base64","references":["IANA","RFC5215"],"registered":true},{"content-type":"audio/webm","encoding":"base64","extensions":["webm"],"references":["{WebM=http://www.webmproject.org/code/specs/container/}"],"registered":false},{"content-type":"audio/x-aac","encoding":"base64","extensions":["aac"],"registered":false},{"content-type":"audio/x-aiff","encoding":"base64","extensions":["aif","aifc","aiff"],"registered":false},{"content-type":"audio/x-midi","encoding":"base64","extensions":["kar","mid","midi"],"registered":false},{"content-type":"audio/x-ms-wax","encoding":"base64","extensions":["wax"],"registered":false},{"content-type":"audio/x-ms-wma","encoding":"base64","extensions":["wma"],"registered":false},{"content-type":"audio/x-ms-wmv","encoding":"base64","extensions":["wmv"],"registered":false},{"content-type":"audio/x-pn-realaudio","encoding":"base64","extensions":["ra","ram"],"registered":false},{"content-type":"audio/x-pn-realaudio-plugin","encoding":"base64","extensions":["rpm"],"registered":false},{"content-type":"audio/x-realaudio","encoding":"base64","extensions":["ra"],"registered":false},{"content-type":"audio/x-wav","encoding":"base64","extensions":["wav"],"registered":false},{"content-type":"chemical/x-pdb","encoding":"base64","extensions":["pdb"],"obsolete":true,"use-instead":["x-chemical/x-pdb"],"registered":false},{"content-type":"chemical/x-xyz","encoding":"base64","extensions":["xyz"],"obsolete":true,"use-instead":["x-chemical/x-xyz"],"registered":false},{"content-type":"drawing/dwf","encoding":"base64","extensions":["dwf"],"obsolete":true,"use-instead":["x-drawing/dwf"],"registered":false},{"content-type":"image/bmp","encoding":"base64","extensions":["bmp"],"obsolete":true,"use-instead":["image/x-bmp"],"registered":false},{"content-type":"image/cgm","encoding":"base64","references":["IANA","[Francis]"],"registered":true},{"content-type":"image/cmu-raster","encoding":"base64","obsolete":true,"use-instead":["image/x-cmu-raster"],"registered":false},{"content-type":"image/example","encoding":"base64","references":["IANA","RFC4735"],"registered":true},{"content-type":"image/fits","encoding":"base64","references":["IANA","RFC4047"],"registered":true},{"content-type":"image/g3fax","encoding":"base64","references":["IANA","RFC1494"],"registered":true},{"content-type":"image/gif","encoding":"base64","extensions":["gif"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"image/ief","encoding":"base64","extensions":["ief"],"references":["IANA","RFC1314"],"registered":true},{"content-type":"image/jp2","encoding":"base64","extensions":["jp2","jpg2"],"references":["IANA","RFC3745"],"registered":true},{"content-type":"image/jpeg","encoding":"base64","extensions":["jpe","jpeg","jpg"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"image/jpm","encoding":"base64","extensions":["jpgm","jpm"],"references":["IANA","RFC3745"],"registered":true},{"content-type":"image/jpx","encoding":"base64","extensions":["jpf","jpx"],"references":["IANA","RFC3745"],"registered":true},{"content-type":"image/ktx","encoding":"base64","references":["IANA","[Callow]","[Khronos]"],"registered":true},{"content-type":"image/naplps","encoding":"base64","references":["IANA","[Ferber]"],"registered":true},{"content-type":"image/pjpeg","docs":"Fixes a bug with IE6 and progressive JPEGs","encoding":"base64","registered":false},{"content-type":"image/png","encoding":"base64","extensions":["png"],"references":["IANA","[Randers-Pehrson]"],"registered":true},{"content-type":"image/prs.btif","encoding":"base64","references":["IANA","[Simon]"],"registered":true},{"content-type":"image/prs.pti","encoding":"base64","references":["IANA","[Laun]"],"registered":true},{"content-type":"image/pwg-raster","encoding":"base64","references":["IANA","[Sweet]"],"registered":true},{"content-type":"image/svg+xml","encoding":"8bit","extensions":["svg","svgz"],"references":["IANA","[W3C]"],"registered":true},{"content-type":"image/t38","encoding":"base64","references":["IANA","RFC3362"],"registered":true},{"content-type":"image/targa","encoding":"base64","extensions":["tga"],"obsolete":true,"use-instead":["image/x-targa"],"registered":false},{"content-type":"image/tiff","encoding":"base64","extensions":["tif","tiff"],"references":["IANA","RFC2302"],"registered":true},{"content-type":"image/tiff-fx","encoding":"base64","references":["IANA","RFC3950"],"registered":true},{"content-type":"image/vnd.adobe.photoshop","encoding":"base64","extensions":["psd"],"references":["IANA","[Scarborough]"],"registered":true},{"content-type":"image/vnd.airzip.accelerator.azv","encoding":"base64","references":["IANA","[Clueit]"],"registered":true},{"content-type":"image/vnd.cns.inf2","encoding":"base64","references":["IANA","[McLaughlin]"],"registered":true},{"content-type":"image/vnd.dece.graphic","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"image/vnd.dgn","encoding":"base64","extensions":["dgn"],"obsolete":true,"use-instead":["image/x-vnd.dgn"],"registered":false},{"content-type":"image/vnd.djvu","encoding":"base64","extensions":["djv","djvu"],"references":["IANA","[Bottou]"],"registered":true},{"content-type":"image/vnd.dvb.subtitle","encoding":"base64","references":["IANA","[Siebert]","[Lagally]"],"registered":true},{"content-type":"image/vnd.dwg","encoding":"base64","extensions":["dwg"],"references":["IANA","[Moline]"],"registered":true},{"content-type":"image/vnd.dxf","encoding":"base64","references":["IANA","[Moline]"],"registered":true},{"content-type":"image/vnd.fastbidsheet","encoding":"base64","references":["IANA","[Becker]"],"registered":true},{"content-type":"image/vnd.fpx","encoding":"base64","references":["IANA","[Spencer]"],"registered":true},{"content-type":"image/vnd.fst","encoding":"base64","references":["IANA","[Fuldseth]"],"registered":true},{"content-type":"image/vnd.fujixerox.edmics-mmr","encoding":"base64","references":["IANA","[Onda]"],"registered":true},{"content-type":"image/vnd.fujixerox.edmics-rlc","encoding":"base64","references":["IANA","[Onda]"],"registered":true},{"content-type":"image/vnd.globalgraphics.pgb","encoding":"base64","extensions":["pgb"],"references":["IANA","[Bailey]"],"registered":true},{"content-type":"image/vnd.microsoft.icon","encoding":"base64","extensions":["ico"],"references":["IANA","[Butcher]"],"registered":true},{"content-type":"image/vnd.mix","encoding":"base64","references":["IANA","[Reddy]"],"registered":true},{"content-type":"image/vnd.ms-modi","encoding":"base64","extensions":["mdi"],"references":["IANA","[Vaughan]"],"registered":true},{"content-type":"image/vnd.net-fpx","encoding":"base64","references":["IANA","[Spencer]"],"registered":true},{"content-type":"image/vnd.net.fpx","encoding":"base64","obsolete":true,"use-instead":["image/vnd.net-fpx"],"registered":false},{"content-type":"image/vnd.radiance","encoding":"base64","references":["IANA","[Fritz]","[GWard]"],"registered":true},{"content-type":"image/vnd.sealed.png","encoding":"base64","references":["IANA","[Petersen]"],"registered":true},{"content-type":"image/vnd.sealedmedia.softseal.gif","encoding":"base64","references":["IANA","[Petersen]"],"registered":true},{"content-type":"image/vnd.sealedmedia.softseal.jpg","encoding":"base64","references":["IANA","[Petersen]"],"registered":true},{"content-type":"image/vnd.svf","encoding":"base64","references":["IANA","[Moline]"],"registered":true},{"content-type":"image/vnd.wap.wbmp","encoding":"base64","references":["IANA","[Stark]"],"registered":true},{"content-type":"image/vnd.xiff","encoding":"base64","references":["IANA","[S.Martin]"],"registered":true},{"content-type":"image/webp","encoding":"base64","extensions":["webp"],"references":["{WebP=https://developers.google.com/speed/webp/}"],"registered":false},{"content-type":"image/x-bmp","encoding":"base64","extensions":["bmp"],"registered":false},{"content-type":"image/x-cmu-raster","encoding":"base64","extensions":["ras"],"registered":false},{"content-type":"image/x-compressed-xcf","docs":"see-also:image/x-xcf","encoding":"base64","extensions":["xcfbz2","xcfgz"],"registered":false},{"content-type":"image/x-hasselblad-3fr","encoding":"base64","extensions":["3fr"],"registered":false},{"content-type":"image/x-paintshoppro","encoding":"base64","extensions":["psp","pspimage"],"registered":false},{"content-type":"image/x-pict","encoding":"base64","registered":false},{"content-type":"image/x-portable-anymap","encoding":"base64","extensions":["pnm"],"registered":false},{"content-type":"image/x-portable-bitmap","encoding":"base64","extensions":["pbm"],"registered":false},{"content-type":"image/x-portable-graymap","encoding":"base64","extensions":["pgm"],"registered":false},{"content-type":"image/x-portable-pixmap","encoding":"base64","extensions":["ppm"],"registered":false},{"content-type":"image/x-rgb","encoding":"base64","extensions":["rgb"],"registered":false},{"content-type":"image/x-targa","encoding":"base64","extensions":["tga"],"registered":false},{"content-type":"image/x-vnd.dgn","encoding":"base64","extensions":["dgn"],"registered":false},{"content-type":"image/x-win-bmp","encoding":"base64","registered":false},{"content-type":"image/x-xbitmap","encoding":"7bit","extensions":["xbm"],"registered":false},{"content-type":"image/x-xbm","encoding":"7bit","extensions":["xbm"],"registered":false},{"content-type":"image/x-xcf","encoding":"base64","extensions":["xcf"],"references":["{XCF=http://git.gnome.org/browse/gimp/tree/devel-docs/xcf.txt}"],"registered":false},{"content-type":"image/x-xpixmap","encoding":"8bit","extensions":["xpm"],"registered":false},{"content-type":"image/x-xwindowdump","encoding":"base64","extensions":["xwd"],"registered":false},{"content-type":"message/CPIM","encoding":"base64","references":["IANA","RFC3862"],"registered":true},{"content-type":"message/delivery-status","encoding":"base64","references":["IANA","RFC1894"],"registered":true},{"content-type":"message/disposition-notification","encoding":"base64","references":["IANA","RFC3798"],"registered":true},{"content-type":"message/example","encoding":"base64","references":["IANA","RFC4735"],"registered":true},{"content-type":"message/external-body","encoding":"8bit","references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"message/feedback-report","encoding":"base64","references":["IANA","RFC5965"],"registered":true},{"content-type":"message/global","encoding":"base64","references":["IANA","RFC6532"],"registered":true},{"content-type":"message/global-delivery-status","encoding":"base64","references":["IANA","RFC6533"],"registered":true},{"content-type":"message/global-disposition-notification","encoding":"base64","references":["IANA","RFC6533"],"registered":true},{"content-type":"message/global-headers","encoding":"base64","references":["IANA","RFC6533"],"registered":true},{"content-type":"message/http","encoding":"base64","references":["IANA","RFC2616"],"registered":true},{"content-type":"message/imdn+xml","encoding":"base64","references":["IANA","RFC5438"],"registered":true},{"content-type":"message/news","encoding":"8bit","obsolete":true,"references":["IANA","RFC5537","[H.Spencer]"],"registered":true},{"content-type":"message/partial","encoding":"8bit","references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"message/rfc822","encoding":"8bit","extensions":["eml"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"message/s-http","encoding":"base64","references":["IANA","RFC2660"],"registered":true},{"content-type":"message/sip","encoding":"base64","references":["IANA","RFC3261"],"registered":true},{"content-type":"message/sipfrag","encoding":"base64","references":["IANA","RFC3420"],"registered":true},{"content-type":"message/tracking-status","encoding":"base64","references":["IANA","RFC3886"],"registered":true},{"content-type":"message/vnd.si.simp","encoding":"base64","obsolete":true,"references":["IANA","[Parks Young=ParksYoung]"],"registered":true},{"content-type":"message/vnd.wfa.wsc","encoding":"base64","references":["IANA","[Conley]"],"registered":true},{"content-type":"model/example","encoding":"base64","references":["IANA","RFC4735"],"registered":true},{"content-type":"model/iges","encoding":"base64","extensions":["iges","igs"],"references":["IANA","[Parks]"],"registered":true},{"content-type":"model/mesh","encoding":"base64","extensions":["mesh","msh","silo"],"references":["IANA","RFC2077"],"registered":true},{"content-type":"model/vnd.collada+xml","encoding":"base64","references":["IANA","[Riordon]"],"registered":true},{"content-type":"model/vnd.dwf","encoding":"base64","references":["IANA","[Pratt]"],"registered":true},{"content-type":"model/vnd.flatland.3dml","encoding":"base64","references":["IANA","[Powers]"],"registered":true},{"content-type":"model/vnd.gdl","encoding":"base64","references":["IANA","[Babits]"],"registered":true},{"content-type":"model/vnd.gs-gdl","encoding":"base64","references":["IANA","[Babits]"],"registered":true},{"content-type":"model/vnd.gtw","encoding":"base64","references":["IANA","[Ozaki]"],"registered":true},{"content-type":"model/vnd.moml+xml","encoding":"base64","references":["IANA","[Brooks]"],"registered":true},{"content-type":"model/vnd.mts","encoding":"base64","references":["IANA","[Rabinovitch]"],"registered":true},{"content-type":"model/vnd.parasolid.transmit.binary","encoding":"base64","extensions":["x_b","xmt_bin"],"references":["IANA","[Parasolid]"],"registered":true},{"content-type":"model/vnd.parasolid.transmit.text","encoding":"quoted-printable","extensions":["x_t","xmt_txt"],"references":["IANA","[Parasolid]"],"registered":true},{"content-type":"model/vnd.vtu","encoding":"base64","references":["IANA","[Rabinovitch]"],"registered":true},{"content-type":"model/vrml","encoding":"base64","extensions":["vrml","wrl"],"references":["IANA","RFC2077"],"registered":true},{"content-type":"multipart/alternative","encoding":"8bit","references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"multipart/appledouble","encoding":"8bit","references":["IANA","[Faltstrom]"],"registered":true},{"content-type":"multipart/byteranges","encoding":"base64","references":["IANA","RFC2616"],"registered":true},{"content-type":"multipart/digest","encoding":"8bit","references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"multipart/encrypted","encoding":"base64","references":["IANA","RFC1847"],"registered":true},{"content-type":"multipart/example","encoding":"base64","references":["IANA","RFC4735"],"registered":true},{"content-type":"multipart/form-data","encoding":"base64","references":["IANA","RFC2388"],"registered":true},{"content-type":"multipart/header-set","encoding":"base64","references":["IANA","[Crocker]"],"registered":true},{"content-type":"multipart/mixed","encoding":"8bit","references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"multipart/parallel","encoding":"8bit","references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"multipart/related","encoding":"base64","references":["IANA","RFC2387"],"registered":true},{"content-type":"multipart/report","encoding":"base64","references":["IANA","RFC6522"],"registered":true},{"content-type":"multipart/signed","encoding":"base64","references":["IANA","RFC1847"],"registered":true},{"content-type":"multipart/voice-message","encoding":"base64","references":["IANA","RFC2421","RFC2423"],"registered":true},{"content-type":"multipart/x-gzip","encoding":"base64","registered":false},{"content-type":"multipart/x-mixed-replace","encoding":"base64","references":["{HTML5=http://www.w3.org/TR/html5/iana.html#multipart/x-mixed-replace}"],"registered":true},{"content-type":"multipart/x-parallel","encoding":"base64","obsolete":true,"use-instead":["multipart/parallel"],"registered":false},{"content-type":"multipart/x-tar","encoding":"base64","registered":false},{"content-type":"multipart/x-ustar","encoding":"base64","registered":false},{"content-type":"multipart/x-www-form-urlencoded","encoding":"base64","obsolete":true,"use-instead":"application/x-www-form-urlencoded","registered":false},{"content-type":"multipart/x-zip","encoding":"base64","registered":false},{"content-type":"text/1d-interleaved-parityfec","encoding":"quoted-printable","references":["IANA","RFC6015"],"registered":true},{"content-type":"text/cache-manifest","encoding":"quoted-printable","extensions":["appcache","manifest"],"references":["{HTML5=http://www.w3.org/TR/html5/iana.html#text/cache-manifest}"],"registered":true},{"content-type":"text/calendar","encoding":"quoted-printable","references":["IANA","RFC5545"],"registered":true},{"content-type":"text/comma-separated-values","encoding":"8bit","extensions":["csv"],"obsolete":true,"use-instead":["text/csv"],"registered":false},{"content-type":"text/css","encoding":"8bit","extensions":["css"],"references":["IANA","RFC2318"],"registered":true},{"content-type":"text/csv","encoding":"8bit","extensions":["csv"],"references":["IANA","RFC4180"],"registered":true},{"content-type":"text/directory","encoding":"quoted-printable","obsolete":true,"references":["IANA","RFC2425","RFC6350"],"registered":true},{"content-type":"text/dns","encoding":"quoted-printable","references":["IANA","RFC4027"],"registered":true},{"content-type":"text/ecmascript","encoding":"quoted-printable","obsolete":true,"references":["IANA","RFC4329"],"registered":true},{"content-type":"text/encaprtp","encoding":"quoted-printable","references":["IANA","RFC6849"],"registered":true},{"content-type":"text/enriched","encoding":"quoted-printable","references":["IANA","RFC1896"],"registered":true},{"content-type":"text/example","encoding":"quoted-printable","references":["IANA","RFC4735"],"registered":true},{"content-type":"text/fwdred","encoding":"quoted-printable","references":["IANA","RFC6354"],"registered":true},{"content-type":"text/grammar-ref-list","encoding":"quoted-printable","references":["IANA","RFC6787"],"registered":true},{"content-type":"text/html","encoding":"8bit","extensions":["htm","html","htmlx","htx","shtml"],"references":["IANA","[Michael Smith=MSmith]","[W3C]","{HTML5=http://www.w3.org/TR/html5/iana.html#text/html}"],"registered":true},{"content-type":"text/javascript","encoding":"quoted-printable","extensions":["js"],"obsolete":true,"references":["IANA","RFC4329"],"registered":true},{"content-type":"text/jcr-cnd","encoding":"quoted-printable","references":["IANA","[Piegaze]"],"registered":true},{"content-type":"text/mizar","encoding":"quoted-printable","references":["IANA","[Jesse Alama=Jesse_Alama]"],"registered":true},{"content-type":"text/n3","encoding":"quoted-printable","references":["IANA","[Prud'hommeaux=Prudhommeaux]","[W3C]"],"registered":true},{"content-type":"text/parityfec","encoding":"quoted-printable","references":["IANA","RFC5109"],"registered":true},{"content-type":"text/plain","encoding":"quoted-printable","extensions":["asc","c","cc","cpp","dat","h","hh","hlp","hpp","markdown","md","rst","textile","txt"],"references":["IANA","RFC2046","RFC3676","RFC5147"],"registered":true},{"content-type":"text/plain","encoding":"8bit","extensions":["doc"],"registered":false,"system":"(?-mix:vms)"},{"content-type":"text/provenance-notation","encoding":"quoted-printable","references":["IANA","[Herman]","[W3C]"],"registered":true},{"content-type":"text/prs.fallenstein.rst","encoding":"quoted-printable","extensions":["rst"],"references":["IANA","[Fallenstein]"],"registered":true},{"content-type":"text/prs.lines.tag","encoding":"quoted-printable","references":["IANA","[Lines]"],"registered":true},{"content-type":"text/raptorfec","encoding":"quoted-printable","references":["IANA","RFC6682"],"registered":true},{"content-type":"text/RED","encoding":"quoted-printable","references":["IANA","RFC4102"],"registered":true},{"content-type":"text/rfc822-headers","encoding":"quoted-printable","references":["IANA","RFC6522"],"registered":true},{"content-type":"text/richtext","encoding":"8bit","extensions":["rtx"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"text/rtf","encoding":"8bit","extensions":["rtf"],"references":["IANA","[Lindner]"],"registered":true},{"content-type":"text/rtp-enc-aescm128","encoding":"quoted-printable","references":["IANA","[3GPP]"],"registered":true},{"content-type":"text/rtploopback","encoding":"quoted-printable","references":["IANA","RFC6849"],"registered":true},{"content-type":"text/rtx","encoding":"quoted-printable","references":["IANA","RFC4588"],"registered":true},{"content-type":"text/sgml","encoding":"quoted-printable","extensions":["sgm","sgml"],"references":["IANA","RFC1874"],"registered":true},{"content-type":"text/t140","encoding":"quoted-printable","references":["IANA","RFC4103"],"registered":true},{"content-type":"text/tab-separated-values","encoding":"quoted-printable","extensions":["tsv"],"references":["IANA","[Lindner]"],"registered":true},{"content-type":"text/troff","encoding":"8bit","extensions":["roff","t","tr","troff"],"references":["IANA","RFC4263"],"registered":true},{"content-type":"text/turtle","encoding":"quoted-printable","references":["IANA","[Prud'hommeaux=Prudhommeaux]","[W3C]"],"registered":true},{"content-type":"text/ulpfec","encoding":"quoted-printable","references":["IANA","RFC5109"],"registered":true},{"content-type":"text/uri-list","encoding":"quoted-printable","references":["IANA","RFC2483"],"registered":true},{"content-type":"text/vcard","encoding":"quoted-printable","references":["IANA","RFC6350"],"registered":true,"signature":true},{"content-type":"text/vnd.abc","encoding":"quoted-printable","references":["IANA","[Allen]"],"registered":true},{"content-type":"text/vnd.curl","encoding":"quoted-printable","references":["IANA","[Byrnes]"],"registered":true},{"content-type":"text/vnd.debian.copyright","encoding":"quoted-printable","references":["IANA","[Plessy]"],"registered":true},{"content-type":"text/vnd.DMClientScript","encoding":"quoted-printable","references":["IANA","[Bradley]"],"registered":true},{"content-type":"text/vnd.dvb.subtitle","encoding":"quoted-printable","references":["IANA","[Siebert]","[Lagally]"],"registered":true},{"content-type":"text/vnd.esmertec.theme-descriptor","encoding":"quoted-printable","references":["IANA","[Eilemann]"],"registered":true},{"content-type":"text/vnd.flatland.3dml","encoding":"quoted-printable","obsolete":true,"use-instead":["model/vnd.flatland.3dml"],"registered":false},{"content-type":"text/vnd.fly","encoding":"quoted-printable","references":["IANA","[Gurney]"],"registered":true},{"content-type":"text/vnd.fmi.flexstor","encoding":"quoted-printable","references":["IANA","[Hurtta]"],"registered":true},{"content-type":"text/vnd.graphviz","encoding":"quoted-printable","references":["IANA","[Ellson]"],"registered":true},{"content-type":"text/vnd.in3d.3dml","encoding":"quoted-printable","references":["IANA","[Powers]"],"registered":true},{"content-type":"text/vnd.in3d.spot","encoding":"quoted-printable","references":["IANA","[Powers]"],"registered":true},{"content-type":"text/vnd.IPTC.NewsML","encoding":"quoted-printable","references":["IANA","[IPTC]"],"registered":true},{"content-type":"text/vnd.IPTC.NITF","encoding":"quoted-printable","references":["IANA","[IPTC]"],"registered":true},{"content-type":"text/vnd.latex-z","encoding":"quoted-printable","references":["IANA","[Lubos]"],"registered":true},{"content-type":"text/vnd.motorola.reflex","encoding":"quoted-printable","references":["IANA","[Patton]"],"registered":true},{"content-type":"text/vnd.ms-mediapackage","encoding":"quoted-printable","references":["IANA","[Nelson]"],"registered":true},{"content-type":"text/vnd.net2phone.commcenter.command","encoding":"quoted-printable","extensions":["ccc"],"references":["IANA","[Xie]"],"registered":true},{"content-type":"text/vnd.radisys.msml-basic-layout","encoding":"quoted-printable","references":["IANA","RFC5707"],"registered":true},{"content-type":"text/vnd.si.uricatalogue","encoding":"quoted-printable","obsolete":true,"references":["IANA","[Parks Young=ParksYoung]"],"registered":true},{"content-type":"text/vnd.sun.j2me.app-descriptor","encoding":"8bit","extensions":["jad"],"references":["IANA","[G.Adams]"],"registered":true},{"content-type":"text/vnd.trolltech.linguist","encoding":"quoted-printable","references":["IANA","[D.Lambert]"],"registered":true},{"content-type":"text/vnd.wap.si","encoding":"quoted-printable","extensions":["si"],"references":["IANA","[WAP-Forum]"],"registered":true},{"content-type":"text/vnd.wap.sl","encoding":"quoted-printable","extensions":["sl"],"references":["IANA","[WAP-Forum]"],"registered":true},{"content-type":"text/vnd.wap.wml","encoding":"quoted-printable","extensions":["wml"],"references":["IANA","[Stark]"],"registered":true},{"content-type":"text/vnd.wap.wmlscript","encoding":"quoted-printable","extensions":["wmls"],"references":["IANA","[Stark]"],"registered":true},{"content-type":"text/x-coffescript","encoding":"8bit","extensions":["coffee"],"registered":false},{"content-type":"text/x-component","encoding":"8bit","extensions":["htc"],"registered":false},{"content-type":"text/x-rtf","encoding":"8bit","extensions":["rtf"],"obsolete":true,"use-instead":["text/rtf"],"registered":false},{"content-type":"text/x-setext","encoding":"quoted-printable","extensions":["etx"],"registered":false},{"content-type":"text/x-vcalendar","encoding":"8bit","extensions":["vcs"],"registered":false},{"content-type":"text/x-vcard","encoding":"8bit","extensions":["vcf"],"registered":false,"signature":true},{"content-type":"text/x-vnd.flatland.3dml","encoding":"quoted-printable","obsolete":true,"use-instead":["model/vnd.flatland.3dml"],"registered":false},{"content-type":"text/x-yaml","encoding":"8bit","extensions":["yaml","yml"],"registered":false},{"content-type":"text/xml","encoding":"8bit","extensions":["dtd","xml"],"references":["IANA","RFC3023"],"registered":true},{"content-type":"text/xml-external-parsed-entity","encoding":"quoted-printable","references":["IANA","RFC3023"],"registered":true},{"content-type":"video/1d-interleaved-parityfec","encoding":"base64","references":["IANA","RFC6015"],"registered":true},{"content-type":"video/3gpp","encoding":"base64","extensions":["3gp","3gpp"],"references":["IANA","RFC3839","RFC6381"],"registered":true},{"content-type":"video/3gpp-tt","encoding":"base64","references":["IANA","RFC4396"],"registered":true},{"content-type":"video/3gpp2","encoding":"base64","extensions":["3g2","3gpp2"],"references":["IANA","RFC4393","RFC6381"],"registered":true},{"content-type":"video/BMPEG","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/BT656","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/CelB","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/dl","encoding":"base64","extensions":["dl"],"obsolete":true,"use-instead":["video/x-dl"],"registered":false},{"content-type":"video/DV","encoding":"base64","references":["IANA","RFC6469"],"registered":true},{"content-type":"video/encaprtp","encoding":"base64","references":["IANA","RFC6849"],"registered":true},{"content-type":"video/example","encoding":"base64","references":["IANA","RFC4735"],"registered":true},{"content-type":"video/gl","encoding":"base64","extensions":["gl"],"obsolete":true,"use-instead":["video/x-gl"],"registered":false},{"content-type":"video/H261","encoding":"base64","references":["IANA","RFC4587"],"registered":true},{"content-type":"video/H263","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/H263-1998","encoding":"base64","references":["IANA","RFC4629"],"registered":true},{"content-type":"video/H263-2000","encoding":"base64","references":["IANA","RFC4629"],"registered":true},{"content-type":"video/H264","encoding":"base64","references":["IANA","RFC6184"],"registered":true},{"content-type":"video/H264-RCDO","encoding":"base64","references":["IANA","RFC6185"],"registered":true},{"content-type":"video/H264-SVC","encoding":"base64","references":["IANA","RFC6190"],"registered":true},{"content-type":"video/JPEG","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/jpeg2000","encoding":"base64","references":["IANA","RFC5371","RFC5372"],"registered":true},{"content-type":"video/MJ2","encoding":"base64","extensions":["mj2","mjp2"],"references":["IANA","RFC3745"],"registered":true},{"content-type":"video/MP1S","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/MP2P","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/MP2T","encoding":"base64","extensions":["ts"],"references":["IANA","RFC3555"],"registered":true},{"content-type":"video/mp4","encoding":"base64","extensions":["f4p","f4v","mp4","mpg4"],"references":["IANA","RFC4337","RFC6381","{Adobe=http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html}"],"registered":true},{"content-type":"video/MP4V-ES","encoding":"base64","references":["IANA","RFC6416"],"registered":true},{"content-type":"video/mpeg","encoding":"base64","extensions":["mp2","mp3g","mpe","mpeg","mpg"],"references":["IANA","RFC2045","RFC2046"],"registered":true},{"content-type":"video/mpeg4-generic","encoding":"base64","references":["IANA","RFC3640"],"registered":true},{"content-type":"video/MPV","encoding":"base64","references":["IANA","RFC3555"],"registered":true},{"content-type":"video/nv","encoding":"base64","references":["IANA","RFC4856"],"registered":true},{"content-type":"video/ogg","encoding":"base64","extensions":["ogg","ogv"],"references":["IANA","RFC5334"],"registered":true},{"content-type":"video/parityfec","encoding":"base64","references":["IANA","RFC5109"],"registered":true},{"content-type":"video/pointer","encoding":"base64","references":["IANA","RFC2862"],"registered":true},{"content-type":"video/quicktime","encoding":"base64","extensions":["mov","qt"],"references":["IANA","RFC6381","[Lindner]"],"registered":true},{"content-type":"video/raptorfec","encoding":"base64","references":["IANA","RFC6682"],"registered":true},{"content-type":"video/raw","encoding":"base64","references":["IANA","RFC4175"],"registered":true},{"content-type":"video/rtp-enc-aescm128","encoding":"base64","references":["IANA","[3GPP]"],"registered":true},{"content-type":"video/rtploopback","encoding":"base64","references":["IANA","RFC6849"],"registered":true},{"content-type":"video/rtx","encoding":"base64","references":["IANA","RFC4588"],"registered":true},{"content-type":"video/SMPTE292M","encoding":"base64","references":["IANA","RFC3497"],"registered":true},{"content-type":"video/ulpfec","encoding":"base64","references":["IANA","RFC5109"],"registered":true},{"content-type":"video/vc1","encoding":"base64","references":["IANA","RFC4425"],"registered":true},{"content-type":"video/vnd.CCTV","encoding":"base64","references":["IANA","[Rottmann]"],"registered":true},{"content-type":"video/vnd.dece.hd","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"video/vnd.dece.mobile","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"video/vnd.dece.mp4","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"video/vnd.dece.pd","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"video/vnd.dece.sd","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"video/vnd.dece.video","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"video/vnd.directv.mpeg","encoding":"base64","references":["IANA","[Zerbe]"],"registered":true},{"content-type":"video/vnd.directv.mpeg-tts","encoding":"base64","references":["IANA","[Zerbe]"],"registered":true},{"content-type":"video/vnd.dlna.mpeg-tts","encoding":"base64","obsolete":true,"references":["IANA","[Heredia]"],"registered":true},{"content-type":"video/vnd.dlna.mpeg-tts","encoding":"base64","references":["IANA","[Heredia]"],"registered":true},{"content-type":"video/vnd.dvb.file","encoding":"base64","references":["IANA","[Siebert]","[Murray]"],"registered":true},{"content-type":"video/vnd.fvt","encoding":"base64","references":["IANA","[Fuldseth]"],"registered":true},{"content-type":"video/vnd.hns.video","encoding":"base64","references":["IANA","[Swaminathan]"],"registered":true},{"content-type":"video/vnd.iptvforum.1dparityfec-1010","encoding":"base64","references":["IANA","[Nakamura]"],"registered":true},{"content-type":"video/vnd.iptvforum.1dparityfec-2005","encoding":"base64","references":["IANA","[Nakamura]"],"registered":true},{"content-type":"video/vnd.iptvforum.2dparityfec-1010","encoding":"base64","references":["IANA","[Nakamura]"],"registered":true},{"content-type":"video/vnd.iptvforum.2dparityfec-2005","encoding":"base64","references":["IANA","[Nakamura]"],"registered":true},{"content-type":"video/vnd.iptvforum.ttsavc","encoding":"base64","references":["IANA","[Nakamura]"],"registered":true},{"content-type":"video/vnd.iptvforum.ttsmpeg2","encoding":"base64","references":["IANA","[Nakamura]"],"registered":true},{"content-type":"video/vnd.motorola.video","encoding":"base64","references":["IANA","[McGinty]"],"registered":true},{"content-type":"video/vnd.motorola.videop","encoding":"base64","references":["IANA","[McGinty]"],"registered":true},{"content-type":"video/vnd.mpegurl","encoding":"8bit","extensions":["m4u","mxu"],"references":["IANA","[Recktenwald]"],"registered":true},{"content-type":"video/vnd.ms-playready.media.pyv","encoding":"base64","references":["IANA","[DiAcetis]"],"registered":true},{"content-type":"video/vnd.nokia.interleaved-multimedia","encoding":"base64","extensions":["nim"],"references":["IANA","[Kangaslampi]"],"registered":true},{"content-type":"video/vnd.nokia.videovoip","encoding":"base64","references":["IANA","[Nokia]"],"registered":true},{"content-type":"video/vnd.objectvideo","encoding":"base64","extensions":["m4v","mp4"],"references":["IANA","[Clark]"],"registered":true},{"content-type":"video/vnd.radgamettools.bink","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"video/vnd.radgamettools.smacker","encoding":"base64","references":["IANA","[Andersson]"],"registered":true},{"content-type":"video/vnd.sealed.mpeg1","encoding":"base64","extensions":["s11"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"video/vnd.sealed.mpeg4","encoding":"base64","extensions":["s14","smpg"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"video/vnd.sealed.swf","encoding":"base64","extensions":["ssw","sswf"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"video/vnd.sealedmedia.softseal.mov","encoding":"base64","extensions":["s1q","smo","smov"],"references":["IANA","[Petersen]"],"registered":true},{"content-type":"video/vnd.uvvu.mp4","encoding":"base64","references":["IANA","[Dolan]"],"registered":true},{"content-type":"video/vnd.vivo","encoding":"base64","extensions":["viv","vivo"],"references":["IANA","[Wolfe]"],"registered":true},{"content-type":"video/webm","encoding":"base64","extensions":["webm"],"references":["{WebM=http://www.webmproject.org/code/specs/container/}"],"registered":false},{"content-type":"video/x-dl","encoding":"base64","extensions":["dl"],"registered":false},{"content-type":"video/x-dv","encoding":"base64","extensions":["dv"],"registered":false},{"content-type":"video/x-fli","encoding":"base64","extensions":["fli"],"registered":false},{"content-type":"video/x-flv","encoding":"base64","extensions":["flv"],"registered":false},{"content-type":"video/x-gl","encoding":"base64","extensions":["gl"],"registered":false},{"content-type":"video/x-ivf","encoding":"base64","extensions":["ivf"],"registered":false},{"content-type":"video/x-matroska","encoding":"base64","extensions":["mkv"],"registered":false},{"content-type":"video/x-motion-jpeg","encoding":"base64","extensions":["mjpeg","mjpg"],"registered":false},{"content-type":"video/x-ms-asf","encoding":"base64","extensions":["asf","asx"],"registered":false},{"content-type":"video/x-ms-wm","encoding":"base64","extensions":["wm"],"registered":false},{"content-type":"video/x-ms-wmv","encoding":"base64","extensions":["wmv"],"registered":false},{"content-type":"video/x-ms-wmx","encoding":"base64","extensions":["wmx"],"registered":false},{"content-type":"video/x-ms-wvx","encoding":"base64","extensions":["wvx"],"registered":false},{"content-type":"video/x-msvideo","encoding":"base64","extensions":["avi"],"registered":false},{"content-type":"video/x-sgi-movie","encoding":"base64","extensions":["movie"],"registered":false},{"content-type":"x-chemical/x-pdb","encoding":"base64","extensions":["pdb"],"registered":false},{"content-type":"x-chemical/x-xyz","encoding":"base64","extensions":["xyz"],"registered":false},{"content-type":"x-conference/x-cooltalk","encoding":"base64","extensions":["ice"],"registered":false},{"content-type":"x-drawing/dwf","encoding":"base64","extensions":["dwf"],"registered":false},{"content-type":"x-world/x-vrml","encoding":"base64","extensions":["vrml","wrl"],"registered":false}]
diff --git a/docs/COPYING.txt b/docs/COPYING.txt
index d159169..beb91b9 100644
--- a/docs/COPYING.txt
+++ b/docs/COPYING.txt
@@ -1,339 +1,339 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
+= GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+ freedom to share and change it. By contrast, the GNU General Public
+ License is intended to guarantee your freedom to share and change free
+ software--to make sure the software is free for all its users. This
+ General Public License applies to most of the Free Software
+ Foundation's software and to any other program whose authors commit to
+ using it. (Some other Free Software Foundation software is covered by
+ the GNU Lesser General Public License instead.) You can apply it to
+ your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+ price. Our General Public Licenses are designed to make sure that you
+ have the freedom to distribute copies of free software (and charge for
+ this service if you wish), that you receive source code or can get it
+ if you want it, that you can change the software or use pieces of it
+ in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+ anyone to deny you these rights or to ask you to surrender the rights.
+ These restrictions translate to certain responsibilities for you if you
+ distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+ gratis or for a fee, you must give the recipients all the rights that
+ you have. You must make sure that they, too, receive or can get the
+ source code. And you must show them these terms so they know their
+ rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+ (2) offer you this license which gives you legal permission to copy,
+ distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+ that everyone understands that there is no warranty for this free
+ software. If the software is modified by someone else and passed on, we
+ want its recipients to know that what they have is not the original, so
+ that any problems introduced by others will not reflect on the original
+ authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+ patents. We wish to avoid the danger that redistributors of a free
+ program will individually obtain patent licenses, in effect making the
+ program proprietary. To prevent this, we have made it clear that any
+ patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+ modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+ a notice placed by the copyright holder saying it may be distributed
+ under the terms of this General Public License. The "Program", below,
+ refers to any such program or work, and a "work based on the Program"
+ means either the Program or any derivative work under copyright law:
+ that is to say, a work containing the Program or a portion of it,
+ either verbatim or with modifications and/or translated into another
+ language. (Hereinafter, translation is included without limitation in
+ the term "modification".) Each licensee is addressed as "you".
+
+ Activities other than copying, distribution and modification are not
+ covered by this License; they are outside its scope. The act of
+ running the Program is not restricted, and the output from the Program
+ is covered only if its contents constitute a work based on the
+ Program (independent of having been made by running the Program).
+ Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+ source code as you receive it, in any medium, provided that you
+ conspicuously and appropriately publish on each copy an appropriate
+ copyright notice and disclaimer of warranty; keep intact all the
+ notices that refer to this License and to the absence of any warranty;
+ and give any other recipients of the Program a copy of this License
+ along with the Program.
+
+ You may charge a fee for the physical act of transferring a copy, and
+ you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+ of it, thus forming a work based on the Program, and copy and
+ distribute such modifications or work under the terms of Section 1
+ above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+ These requirements apply to the modified work as a whole. If
+ identifiable sections of that work are not derived from the Program,
+ and can be reasonably considered independent and separate works in
+ themselves, then this License, and its terms, do not apply to those
+ sections when you distribute them as separate works. But when you
+ distribute the same sections as part of a whole which is a work based
+ on the Program, the distribution of the whole must be on the terms of
+ this License, whose permissions for other licensees extend to the
+ entire whole, and thus to each and every part regardless of who wrote it.
+
+ Thus, it is not the intent of this section to claim rights or contest
+ your rights to work written entirely by you; rather, the intent is to
+ exercise the right to control the distribution of derivative or
+ collective works based on the Program.
+
+ In addition, mere aggregation of another work not based on the Program
+ with the Program (or with a work based on the Program) on a volume of
+ a storage or distribution medium does not bring the other work under
+ the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+ under Section 2) in object code or executable form under the terms of
+ Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+ The source code for a work means the preferred form of the work for
+ making modifications to it. For an executable work, complete source
+ code means all the source code for all modules it contains, plus any
+ associated interface definition files, plus the scripts used to
+ control compilation and installation of the executable. However, as a
+ special exception, the source code distributed need not include
+ anything that is normally distributed (in either source or binary
+ form) with the major components (compiler, kernel, and so on) of the
+ operating system on which the executable runs, unless that component
+ itself accompanies the executable.
+
+ If distribution of executable or object code is made by offering
+ access to copy from a designated place, then offering equivalent
+ access to copy the source code from the same place counts as
+ distribution of the source code, even though third parties are not
+ compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense or distribute the Program is
+ void, and will automatically terminate your rights under this License.
+ However, parties who have received copies, or rights, from you under
+ this License will not have their licenses terminated so long as such
+ parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+ signed it. However, nothing else grants you permission to modify or
+ distribute the Program or its derivative works. These actions are
+ prohibited by law if you do not accept this License. Therefore, by
+ modifying or distributing the Program (or any work based on the
+ Program), you indicate your acceptance of this License to do so, and
+ all its terms and conditions for copying, distributing or modifying
+ the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+ Program), the recipient automatically receives a license from the
+ original licensor to copy, distribute or modify the Program subject to
+ these terms and conditions. You may not impose any further
+ restrictions on the recipients' exercise of the rights granted herein.
+ You are not responsible for enforcing compliance by third parties to
+ this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+ infringement or for any other reason (not limited to patent issues),
+ conditions are imposed on you (whether by court order, agreement or
+ otherwise) that contradict the conditions of this License, they do not
+ excuse you from the conditions of this License. If you cannot
+ distribute so as to satisfy simultaneously your obligations under this
+ License and any other pertinent obligations, then as a consequence you
+ may not distribute the Program at all. For example, if a patent
+ license would not permit royalty-free redistribution of the Program by
+ all those who receive copies directly or indirectly through you, then
+ the only way you could satisfy both it and this License would be to
+ refrain entirely from distribution of the Program.
+
+ If any portion of this section is held invalid or unenforceable under
+ any particular circumstance, the balance of the section is intended to
+ apply and the section as a whole is intended to apply in other
+ circumstances.
+
+ It is not the purpose of this section to induce you to infringe any
+ patents or other property right claims or to contest validity of any
+ such claims; this section has the sole purpose of protecting the
+ integrity of the free software distribution system, which is
+ implemented by public license practices. Many people have made
+ generous contributions to the wide range of software distributed
+ through that system in reliance on consistent application of that
+ system; it is up to the author/donor to decide if he or she is willing
+ to distribute software through any other system and a licensee cannot
+ impose that choice.
+
+ This section is intended to make thoroughly clear what is believed to
+ be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+ certain countries either by patents or by copyrighted interfaces, the
+ original copyright holder who places the Program under this License
+ may add an explicit geographical distribution limitation excluding
+ those countries, so that distribution is permitted only in or among
+ countries not thus excluded. In such case, this License incorporates
+ the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+ of the General Public License from time to time. Such new versions will
+ be similar in spirit to the present version, but may differ in detail to
+ address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the Program
+ specifies a version number of this License which applies to it and "any
+ later version", you have the option of following the terms and conditions
+ either of that version or of any later version published by the Free
+ Software Foundation. If the Program does not specify a version number of
+ this License, you may choose any version ever published by the Free Software
+ Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+ programs whose distribution conditions are different, write to the author
+ to ask for permission. For software which is copyrighted by the Free
+ Software Foundation, write to the Free Software Foundation; we sometimes
+ make exceptions for this. Our decision will be guided by the two goals
+ of preserving the free status of all derivatives of our free software and
+ of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+ REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+ possible use to the public, the best way to achieve this is to make it
+ free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+ to attach them to the start of each source file to most effectively
+ convey the exclusion of warranty; and each file should have at least
+ the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ Also add information on how to contact you by electronic and paper mail.
+
+ If the program is interactive, make it output a short notice like this
+ when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+ The hypothetical commands `show w' and `show c' should show the appropriate
+ parts of the General Public License. Of course, the commands you use may
+ be called something other than `show w' and `show c'; they could even be
+ mouse-clicks or menu items--whatever suits your program.
+
+ You should also get your employer (if you work as a programmer) or your
+ school, if any, to sign a "copyright disclaimer" for the program, if
+ necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+ This General Public License does not permit incorporating your program into
+ proprietary programs. If your program is a subroutine library, you may
+ consider it more useful to permit linking proprietary applications with the
+ library. If this is what you want to do, use the GNU Lesser General
+ Public License instead of this License.
diff --git a/docs/artistic.txt b/docs/artistic.txt
index c04639a..20ce614 100644
--- a/docs/artistic.txt
+++ b/docs/artistic.txt
@@ -1,127 +1,127 @@
-The "Artistic License"
-
- Preamble
-
-The intent of this document is to state the conditions under which a
-Package may be copied, such that the Copyright Holder maintains some
-semblance of artistic control over the development of the package,
-while giving the users of the package the right to use and distribute
-the Package in a more-or-less customary fashion, plus the right to make
-reasonable modifications.
-
-Definitions:
-
- "Package" refers to the collection of files distributed by the
- Copyright Holder, and derivatives of that collection of files
- created through textual modification.
-
- "Standard Version" refers to such a Package if it has not been
- modified, or has been modified in accordance with the wishes
- of the Copyright Holder as specified below.
-
- "Copyright Holder" is whoever is named in the copyright or
- copyrights for the package.
-
- "You" is you, if you're thinking about copying or distributing
- this Package.
-
- "Reasonable copying fee" is whatever you can justify on the
- basis of media cost, duplication charges, time of people involved,
- and so on. (You will not be required to justify it to the
- Copyright Holder, but only to the computing community at large
- as a market that must bear the fee.)
-
- "Freely Available" means that no fee is charged for the item
- itself, though there may be fees involved in handling the item.
- It also means that recipients of the item may redistribute it
- under the same conditions they received it.
-
-1. You may make and give away verbatim copies of the source form of the
-Standard Version of this Package without restriction, provided that you
-duplicate all of the original copyright notices and associated disclaimers.
-
-2. You may apply bug fixes, portability fixes and other modifications
-derived from the Public Domain or from the Copyright Holder. A Package
-modified in such a way shall still be considered the Standard Version.
-
-3. You may otherwise modify your copy of this Package in any way, provided
-that you insert a prominent notice in each changed file stating how and
-when you changed that file, and provided that you do at least ONE of the
-following:
-
- a) place your modifications in the Public Domain or otherwise make them
- Freely Available, such as by posting said modifications to Usenet or
- an equivalent medium, or placing the modifications on a major archive
- site such as uunet.uu.net, or by allowing the Copyright Holder to include
- your modifications in the Standard Version of the Package.
-
- b) use the modified Package only within your corporation or organization.
-
- c) rename any non-standard executables so the names do not conflict
- with standard executables, which must also be provided, and provide
- a separate manual page for each non-standard executable that clearly
- documents how it differs from the Standard Version.
-
- d) make other distribution arrangements with the Copyright Holder.
-
-4. You may distribute the programs of this Package in object code or
-executable form, provided that you do at least ONE of the following:
-
- a) distribute a Standard Version of the executables and library files,
- together with instructions (in the manual page or equivalent) on where
- to get the Standard Version.
-
- b) accompany the distribution with the machine-readable source of
- the Package with your modifications.
-
- c) give non-standard executables non-standard names, and clearly
- document the differences in manual pages (or equivalent), together
- with instructions on where to get the Standard Version.
-
- d) make other distribution arrangements with the Copyright Holder.
-
-5. You may charge a reasonable copying fee for any distribution of this
-Package. You may charge any fee you choose for support of this
-Package. You may not charge a fee for this Package itself. However,
-you may distribute this Package in aggregate with other (possibly
-commercial) programs as part of a larger (possibly commercial) software
-distribution provided that you do not advertise this Package as a
-product of your own. You may embed this Package's interpreter within
-an executable of yours (by linking); this shall be construed as a mere
-form of aggregation, provided that the complete Standard Version of the
-interpreter is so embedded.
-
-6. The scripts and library files supplied as input to or produced as
-output from the programs of this Package do not automatically fall
-under the copyright of this Package, but belong to whoever generated
-them, and may be sold commercially, and may be aggregated with this
-Package. If such scripts or library files are aggregated with this
-Package via the so-called "undump" or "unexec" methods of producing a
-binary executable image, then distribution of such an image shall
-neither be construed as a distribution of this Package nor shall it
-fall under the restrictions of Paragraphs 3 and 4, provided that you do
-not represent such an executable image as a Standard Version of this
-Package.
-
-7. C subroutines (or comparably compiled subroutines in other
-languages) supplied by you and linked into this Package in order to
-emulate subroutines and variables of the language defined by this
-Package shall not be considered part of this Package, but are the
-equivalent of input as in Paragraph 6, provided these subroutines do
-not change the language in any way that would cause it to fail the
-regression tests for the language.
-
-8. Aggregation of this Package with a commercial distribution is always
-permitted provided that the use of this Package is embedded; that is,
-when no overt attempt is made to make this Package's interfaces visible
-to the end user of the commercial distribution. Such use shall not be
-construed as a distribution of this Package.
-
-9. The name of the Copyright Holder may not be used to endorse or promote
-products derived from this software without specific prior written permission.
-
-10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
-IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
- The End
+= The "Artistic License"
+
+ Preamble
+
+ The intent of this document is to state the conditions under which a
+ Package may be copied, such that the Copyright Holder maintains some
+ semblance of artistic control over the development of the package,
+ while giving the users of the package the right to use and distribute
+ the Package in a more-or-less customary fashion, plus the right to make
+ reasonable modifications.
+
+ Definitions:
+
+ "Package" refers to the collection of files distributed by the
+ Copyright Holder, and derivatives of that collection of files
+ created through textual modification.
+
+ "Standard Version" refers to such a Package if it has not been
+ modified, or has been modified in accordance with the wishes
+ of the Copyright Holder as specified below.
+
+ "Copyright Holder" is whoever is named in the copyright or
+ copyrights for the package.
+
+ "You" is you, if you're thinking about copying or distributing
+ this Package.
+
+ "Reasonable copying fee" is whatever you can justify on the
+ basis of media cost, duplication charges, time of people involved,
+ and so on. (You will not be required to justify it to the
+ Copyright Holder, but only to the computing community at large
+ as a market that must bear the fee.)
+
+ "Freely Available" means that no fee is charged for the item
+ itself, though there may be fees involved in handling the item.
+ It also means that recipients of the item may redistribute it
+ under the same conditions they received it.
+
+ 1. You may make and give away verbatim copies of the source form of the
+ Standard Version of this Package without restriction, provided that you
+ duplicate all of the original copyright notices and associated disclaimers.
+
+ 2. You may apply bug fixes, portability fixes and other modifications
+ derived from the Public Domain or from the Copyright Holder. A Package
+ modified in such a way shall still be considered the Standard Version.
+
+ 3. You may otherwise modify your copy of this Package in any way, provided
+ that you insert a prominent notice in each changed file stating how and
+ when you changed that file, and provided that you do at least ONE of the
+ following:
+
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or
+ an equivalent medium, or placing the modifications on a major archive
+ site such as uunet.uu.net, or by allowing the Copyright Holder to include
+ your modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict
+ with standard executables, which must also be provided, and provide
+ a separate manual page for each non-standard executable that clearly
+ documents how it differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ 4. You may distribute the programs of this Package in object code or
+ executable form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where
+ to get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of
+ the Package with your modifications.
+
+ c) give non-standard executables non-standard names, and clearly
+ document the differences in manual pages (or equivalent), together
+ with instructions on where to get the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+ 5. You may charge a reasonable copying fee for any distribution of this
+ Package. You may charge any fee you choose for support of this
+ Package. You may not charge a fee for this Package itself. However,
+ you may distribute this Package in aggregate with other (possibly
+ commercial) programs as part of a larger (possibly commercial) software
+ distribution provided that you do not advertise this Package as a
+ product of your own. You may embed this Package's interpreter within
+ an executable of yours (by linking); this shall be construed as a mere
+ form of aggregation, provided that the complete Standard Version of the
+ interpreter is so embedded.
+
+ 6. The scripts and library files supplied as input to or produced as
+ output from the programs of this Package do not automatically fall
+ under the copyright of this Package, but belong to whoever generated
+ them, and may be sold commercially, and may be aggregated with this
+ Package. If such scripts or library files are aggregated with this
+ Package via the so-called "undump" or "unexec" methods of producing a
+ binary executable image, then distribution of such an image shall
+ neither be construed as a distribution of this Package nor shall it
+ fall under the restrictions of Paragraphs 3 and 4, provided that you do
+ not represent such an executable image as a Standard Version of this
+ Package.
+
+ 7. C subroutines (or comparably compiled subroutines in other
+ languages) supplied by you and linked into this Package in order to
+ emulate subroutines and variables of the language defined by this
+ Package shall not be considered part of this Package, but are the
+ equivalent of input as in Paragraph 6, provided these subroutines do
+ not change the language in any way that would cause it to fail the
+ regression tests for the language.
+
+ 8. Aggregation of this Package with a commercial distribution is always
+ permitted provided that the use of this Package is embedded; that is,
+ when no overt attempt is made to make this Package's interfaces visible
+ to the end user of the commercial distribution. Such use shall not be
+ construed as a distribution of this Package.
+
+ 9. The name of the Copyright Holder may not be used to endorse or promote
+ products derived from this software without specific prior written permission.
+
+ 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+ The End
diff --git a/lib/mime.rb b/lib/mime.rb
new file mode 100644
index 0000000..9988398
--- /dev/null
+++ b/lib/mime.rb
@@ -0,0 +1,50 @@
+# -*- ruby encoding: utf-8 -*-
+
+# The namespace for MIME applications, tools, and libraries.
+module MIME # :nodoc:
+end
+
+class << MIME
+ # Used to mark a method as deprecated in the mime-types interface.
+ def deprecated(klass, sym, message = nil) # :nodoc:
+ level = case klass
+ when Class, Module
+ '.'
+ else
+ klass = klass.class
+ '#'
+ end
+ unless defined?(@__deprecated) and @__deprecated["#{klass}#{level}#{sym}"]
+ message = case message
+ when :private, :protected
+ "and will be #{message}"
+ when nil
+ "and will be removed"
+ else
+ message
+ end
+ warn "#{klass}#{level}#{sym} is deprecated #{message}."
+ (@__deprecated ||= {})["#{klass}#{level}#{sym}"] = true
+ end
+ end
+
+ # MIME::InvalidContentType was moved to MIME::Type::InvalidContentType.
+ # Provide a single warning about this fact in the interim.
+ def const_missing(name) # :nodoc:
+ case name.to_s
+ when "InvalidContentType"
+ warn_about_moved_constants(name)
+ MIME::Type.const_get(name.to_sym)
+ else
+ super
+ end
+ end
+
+ private
+ def warn_about_moved_constants(name) # :nodoc:
+ unless defined?(@__warned_constants) and @__warned_constants[name]
+ warn "MIME::#{name} is deprecated. Use MIME::Type::#{name} instead."
+ (@__warned_constants ||= {})[name] = true
+ end
+ end
+end
diff --git a/lib/mime/type.rb b/lib/mime/type.rb
new file mode 100644
index 0000000..f0126af
--- /dev/null
+++ b/lib/mime/type.rb
@@ -0,0 +1,634 @@
+# -*- ruby encoding: utf-8 -*-
+
+require 'mime'
+require 'json'
+
+# The definition of one MIME content-type.
+#
+# == Usage
+# require 'mime/types'
+#
+# plaintext = MIME::Types['text/plain'].first
+# # returns [text/plain, text/plain]
+# text = plaintext.first
+# print text.media_type # => 'text'
+# print text.sub_type # => 'plain'
+#
+# puts text.extensions.join(" ") # => 'asc txt c cc h hh cpp'
+#
+# puts text.encoding # => 8bit
+# puts text.binary? # => false
+# puts text.ascii? # => true
+# puts text == 'text/plain' # => true
+# puts MIME::Type.simplified('x-appl/x-zip') # => 'appl/zip'
+#
+# puts MIME::Types.any? { |type|
+# type.content_type == 'text/plain'
+# } # => true
+# puts MIME::Types.all?(&:registered?)
+# # => false
+class MIME::Type
+ # Reflects a MIME content-type specification that is not correctly
+ # formatted (it isn't +type+/+subtype+).
+ class InvalidContentType < ArgumentError
+ # :stopdoc:
+ def initialize(type_string)
+ @type_string = type_string
+ end
+
+ def to_s
+ "Invalid Content-Type #{@type_string.inspect}"
+ end
+ # :startdoc:
+ end
+
+ # Reflects an unsupported MIME encoding.
+ class InvalidEncoding < ArgumentError
+ # :stopdoc:
+ def initialize(encoding)
+ @encoding = encoding
+ end
+
+ def to_s
+ "Invalid Encoding #{@encoding.inspect} (valid values are " +
+ "#{MIME::Type::VALID_ENCODINGS.inspect})."
+ end
+ # :startdoc:
+ end
+
+ # The released version of the mime-types library.
+ VERSION = '2.0'
+
+ include Comparable
+
+ # :stopdoc:
+ MEDIA_TYPE_RE = %r{([-\w.+]+)/([-\w.+]*)}o
+ UNREGISTERED_RE = %r{[Xx]-}o
+ PLATFORM_RE = %r{#{RUBY_PLATFORM}}o
+
+ DEFAULT_ENCODINGS = [ nil, :default ]
+ BINARY_ENCODINGS = %w(base64 8bit)
+ TEXT_ENCODINGS = %w(7bit quoted-printable)
+ VALID_ENCODINGS = DEFAULT_ENCODINGS + BINARY_ENCODINGS + TEXT_ENCODINGS
+
+ IANA_URL = "http://www.iana.org/assignments/media-types/%s/%s"
+ RFC_URL = "http://rfc-editor.org/rfc/rfc%s.txt"
+ DRAFT_URL = "http://datatracker.ietf.org/public/idindex.cgi?command=id_details&filename=%s"
+ LTSW_URL = "http://www.ltsw.se/knbase/internet/%s.htp"
+ CONTACT_URL = "http://www.iana.org/assignments/contact-people.htm#%s"
+ # :startdoc:
+
+ # Builds a MIME::Type object from the provided MIME Content Type value
+ # (e.g., 'text/plain' or 'applicaton/x-eruby'). The constructed object is
+ # yielded to an optional block for additional configuration, such as
+ # associating extensions and encoding information.
+ #
+ # * When provided a Hash or a MIME::Type, the MIME::Type will be
+ # constructed with #init_with.
+ # * When provided an Array, the MIME::Type will be constructed only using
+ # the first two elements of the array as the content type and
+ # extensions.
+ # * Otherwise, the content_type will be used as a string.
+ def initialize(content_type) # :yields self:
+ self.system = nil
+ self.obsolete = false
+ self.registered = nil
+ self.use_instead = nil
+ self.signature = nil
+
+ case content_type
+ when Hash
+ init_with(content_type)
+ when Array
+ self.content_type = content_type[0]
+ self.extensions = content_type[1] || []
+ when MIME::Type
+ init_with(content_type.to_h)
+ else
+ self.content_type = content_type
+ end
+
+ self.extensions ||= []
+ self.docs ||= nil
+ self.encoding ||= :default
+ self.references ||= []
+
+ yield self if block_given?
+ end
+
+ # Returns +true+ if the simplified type matches the current
+ def like?(other)
+ if other.respond_to?(:simplified)
+ @simplified == other.simplified
+ else
+ @simplified == MIME::Type.simplified(other)
+ end
+ end
+
+ # Compares the MIME::Type against the exact content type or the simplified
+ # type (the simplified type will be used if comparing against something
+ # that can be treated as a String with #to_s). In comparisons, this is
+ # done against the lowercase version of the MIME::Type.
+ def <=>(other)
+ if other.respond_to?(:content_type)
+ @content_type.downcase <=> other.content_type.downcase
+ elsif other.respond_to?(:to_s)
+ @simplified <=> MIME::Type.simplified(other.to_s)
+ end
+ end
+
+ # Compares the MIME::Type based on how reliable it is before doing a
+ # normal <=> comparison. Used by MIME::Types#[] to sort types. The
+ # comparisons involved are:
+ #
+ # 1. self.simplified <=> other.simplified (ensures that we
+ # don't try to compare different types)
+ # 2. IANA-registered definitions < other definitions.
+ # 3. Generic definitions < platform definitions.
+ # 3. Complete definitions < incomplete definitions.
+ # 4. Current definitions < obsolete definitions.
+ # 5. Obselete with use-instead references < obsolete without.
+ # 6. Obsolete use-instead definitions are compared.
+ def priority_compare(other)
+ pc = simplified <=> other.simplified
+ if pc.zero?
+ pc = if (registered? != other.registered?)
+ registered? ? -1 : 1 # registered < unregistered
+ elsif (platform? != other.platform?)
+ platform? ? 1 : -1 # generic < platform
+ elsif (complete? != other.complete?)
+ complete? ? -1 : 1 # complete < incomplete
+ elsif (obsolete? != other.obsolete?)
+ obsolete? ? 1 : -1 # current < obsolete
+ elsif obsolete? and (use_instead != other.use_instead)
+ if use_instead.nil?
+ 1
+ elsif other.use_instead.nil?
+ -1
+ else
+ use_instead <=> other.use_instead
+ end
+ else
+ 0
+ end
+ end
+
+ pc
+ end
+
+ # Returns +true+ if the other object is a MIME::Type and the content types
+ # match.
+ def eql?(other)
+ other.kind_of?(MIME::Type) and self == other
+ end
+
+ # Returns the whole MIME content-type string.
+ #
+ # text/plain => text/plain
+ # x-chemical/x-pdb => x-chemical/x-pdb
+ attr_reader :content_type
+ # Returns the media type of the simplified MIME::Type.
+ #
+ # text/plain => text
+ # x-chemical/x-pdb => chemical
+ attr_reader :media_type
+ # Returns the media type of the unmodified MIME::Type.
+ #
+ # text/plain => text
+ # x-chemical/x-pdb => x-chemical
+ attr_reader :raw_media_type
+ # Returns the sub-type of the simplified MIME::Type.
+ #
+ # text/plain => plain
+ # x-chemical/x-pdb => pdb
+ attr_reader :sub_type
+ # Returns the media type of the unmodified MIME::Type.
+ #
+ # text/plain => plain
+ # x-chemical/x-pdb => x-pdb
+ attr_reader :raw_sub_type
+ # The MIME types main- and sub-label can both start with <tt>x-</tt>,
+ # which indicates that it is a non-registered name. Of course, after
+ # registration this flag can disappear, adds to the confusing
+ # proliferation of MIME types. The simplified string has the <tt>x-</tt>
+ # removed and are translated to lowercase.
+ #
+ # text/plain => text/plain
+ # x-chemical/x-pdb => chemical/pdb
+ attr_reader :simplified
+ # The list of extensions which are known to be used for this MIME::Type.
+ # Non-array values will be coerced into an array with #to_a. Array values
+ # will be flattened, +nil+ values removed, and made unique.
+ attr_reader :extensions
+ def extensions=(ext) # :nodoc:
+ @extensions = [ext].flatten.compact.sort.uniq
+ end
+
+ # Merge the extensions provided into this MIME::Type. The extensions added
+ # will be merged uniquely.
+ def add_extensions(*ext)
+ @extensions = (@extensions + ext).flatten.compact.sort.uniq
+ end
+
+ # The encoding (7bit, 8bit, quoted-printable, or base64) required to
+ # transport the data of this content type safely across a network, which
+ # roughly corresponds to Content-Transfer-Encoding. A value of +nil+ or
+ # <tt>:default</tt> will reset the #encoding to the #default_encoding for
+ # the MIME::Type. Raises ArgumentError if the encoding provided is
+ # invalid.
+ #
+ # If the encoding is not provided on construction, this will be either
+ # 'quoted-printable' (for text/* media types) and 'base64' for eveything
+ # else.
+ attr_reader :encoding
+ def encoding=(enc) # :nodoc:
+ if DEFAULT_ENCODINGS.include?(enc)
+ @encoding = self.default_encoding
+ elsif BINARY_ENCODINGS.include?(enc) or TEXT_ENCODINGS.include?(enc)
+ @encoding = enc
+ else
+ raise InvalidEncoding, enc
+ end
+ end
+
+ # If the MIME::Type is a system-specific MIME::Type, returns the regular
+ # expression for the operating system indicated.
+ #
+ # This information about MIME content types is deprecated.
+ def system
+ MIME.deprecated(self, __method__)
+ @system
+ end
+ def system=(os) # :nodoc:
+ if os.nil? or os.kind_of?(Regexp)
+ @system = os
+ else
+ @system = %r|#{os}|
+ end
+ end
+
+ # Returns the default encoding for the MIME::Type based on the media type.
+ def default_encoding
+ (@media_type == 'text') ? 'quoted-printable' : 'base64'
+ end
+
+ ##
+ # Returns the media type or types that should be used instead of this
+ # media type, if it is obsolete. If there is no replacement media type, or
+ # it is not obsolete, +nil+ will be returned.
+ def use_instead
+ return nil unless obsolete?
+ @use_instead
+ end
+ attr_writer :use_instead # :nodoc:
+
+ # Returns +true+ if the media type is obsolete.
+ def obsolete?
+ !!@obsolete
+ end
+ def obsolete=(v) # :nodoc:
+ @obsolete = !!v
+ end
+
+ # The documentation for this MIME::Type.
+ attr_accessor :docs
+
+ # The encoded references URL list for this MIME::Type. See #urls for more
+ # information.
+ #
+ # This was previously called #url.
+ attr_reader :references
+ def references=(r) # :nodoc:
+ @references = [ r ].flatten.compact.uniq
+ end
+
+ def url # :nodoc:
+ MIME.deprecated(self, __method__, "and has been renamed to #references")
+ references
+ end
+ def url=(r) # :nodoc:
+ MIME.deprecated(self, __method__, "and has been renamed to #references=")
+ self.references = r
+ end
+
+ # The decoded URL list for this MIME::Type.
+ #
+ # The special URL value IANA will be translated into:
+ # http://www.iana.org/assignments/media-types/<mediatype>/<subtype>
+ #
+ # The special URL value RFC### will be translated into:
+ # http://www.rfc-editor.org/rfc/rfc###.txt
+ #
+ # The special URL value DRAFT:name will be translated into:
+ # https://datatracker.ietf.org/public/idindex.cgi?
+ # command=id_detail&filename=<name>
+ #
+ # The special URL value LTSW will be translated into:
+ # http://www.ltsw.se/knbase/internet/<mediatype>.htp
+ #
+ # The special URL value [token] will be translated into:
+ # http://www.iana.org/assignments/contact-people.htm#<token>
+ #
+ # These values will be accessible through #urls, which always returns an
+ # array.
+ def urls
+ @references.map do |el|
+ case el
+ when %r{^IANA$}
+ IANA_URL % [ @media_type, @sub_type ]
+ when %r{^RFC(\d+)$}
+ RFC_URL % $1
+ when %r{^DRAFT:(.+)$}
+ DRAFT_URL % $1
+ when %r{^LTSW$}
+ LTSW_URL % @media_type
+ when %r{^\{([^=]+)=([^\}]+)\}}
+ [$1, $2]
+ when %r{^\[([^=]+)=([^\]]+)\]}
+ [$1, CONTACT_URL % $2]
+ when %r{^\[([^\]]+)\]}
+ CONTACT_URL % $1
+ else
+ el
+ end
+ end
+ end
+
+ # Prior to BCP 178 (RFC 6648), it could be assumed that MIME content types
+ # that start with <tt>x-</tt> were unregistered MIME. Per this BCP, this
+ # assumption is no longer being made by default in this library.
+ #
+ # There are three possible registration states for a MIME::Type:
+ # - Explicitly registered, like application/x-www-url-encoded.
+ # - Explicitly not registered, like image/webp.
+ # - Unspecified, in which case the media-type and the content-type will be
+ # scanned to see if they start with <tt>x-</tt>, indicating that they
+ # are assumed unregistered.
+ def registered?
+ if @registered.nil?
+ (@raw_media_type !~ UNREGISTERED_RE) and
+ (@raw_sub_type !~ UNREGISTERED_RE)
+ else
+ !!@registered
+ end
+ end
+ def registered=(v) # :nodoc:
+ @registered = v.nil? ? v : !!v
+ end
+
+ # MIME types can be specified to be sent across a network in particular
+ # formats. This method returns +true+ when the MIME::Type encoding is set
+ # to <tt>base64</tt>.
+ def binary?
+ BINARY_ENCODINGS.include?(@encoding)
+ end
+
+ # MIME types can be specified to be sent across a network in particular
+ # formats. This method returns +false+ when the MIME::Type encoding is
+ # set to <tt>base64</tt>.
+ def ascii?
+ not binary?
+ end
+
+ # Returns +true+ when the simplified MIME::Type is in the list of known
+ # digital signatures.
+ def signature?
+ !!@signature
+ end
+ def signature=(v) # :nodoc:
+ @signature = !!v
+ end
+
+ # Returns +true+ if the MIME::Type is specific to an operating system.
+ #
+ # This method is deprecated.
+ def system?
+ MIME.deprecated(self, __method__)
+ not @system.nil?
+ end
+
+ # Returns +true+ if the MIME::Type is specific to the current operating
+ # system as represented by RUBY_PLATFORM.
+ #
+ # This method is deprecated.
+ def platform?
+ MIME.deprecated(self, __method__)
+ system? and (RUBY_PLATFORM =~ @system)
+ end
+
+ # Returns +true+ if the MIME::Type specifies an extension list,
+ # indicating that it is a complete MIME::Type.
+ def complete?
+ not @extensions.empty?
+ end
+
+ # Returns the MIME::Type as a string.
+ def to_s
+ @content_type
+ end
+
+ # Returns the MIME::Type as a string for implicit conversions. This allows
+ # MIME::Type objects to appear on either side of a comparison.
+ #
+ # 'text/plain' == MIME::Type.new('text/plain')
+ def to_str
+ @content_type
+ end
+
+ # Returns the MIME::Type as an array suitable for use with
+ # MIME::Type.from_array.
+ #
+ # This method is deprecated.
+ def to_a
+ MIME.deprecated(self, __method__)
+ [ @content_type, @extensions, @encoding, @system, obsolete?, @docs,
+ @references, registered? ]
+ end
+
+ # Returns the MIME::Type as an array suitable for use with
+ # MIME::Type.from_hash.
+ #
+ # This method is deprecated.
+ def to_hash
+ MIME.deprecated(self, __method__)
+ { 'Content-Type' => @content_type,
+ 'Content-Transfer-Encoding' => @encoding,
+ 'Extensions' => @extensions,
+ 'System' => @system,
+ 'Obsolete' => obsolete?,
+ 'Docs' => @docs,
+ 'URL' => @references,
+ 'Registered' => registered?,
+ }
+ end
+
+ # Converts the MIME::Type to a JSON string.
+ def to_json(*args)
+ to_h.to_json(*args)
+ end
+
+ # Converts the MIME::Type to a hash suitable for use in JSON. The output
+ # of this method can also be used to initialize a MIME::Type.
+ def to_h
+ encode_with({})
+ end
+
+ # :stopdoc:
+ def encode_with(coder)
+ coder['content-type'] = @content_type
+ coder['docs'] = @docs unless @docs.nil? or @docs.empty?
+ coder['encoding'] = @encoding
+ coder['extensions'] = @extensions unless @extensions.empty?
+ if obsolete?
+ coder['obsolete'] = obsolete?
+ coder['use-instead'] = use_instead if use_instead
+ end
+ coder['references'] = references unless references.empty?
+ coder['registered'] = registered?
+ if signature?
+ coder['signature'] = signature?
+ end
+ coder['system'] = @system if @system
+ coder
+ end
+
+ def init_with(coder)
+ self.content_type = coder['content-type']
+ self.docs = coder['docs'] || []
+ self.encoding = coder['encoding']
+ self.extensions = coder['extensions'] || []
+ self.obsolete = coder['obsolete']
+ self.references = coder['references'] || []
+ self.registered = coder['registered']
+ self.signature = coder['signature']
+ self.system = coder['system']
+ self.use_instead = coder['use-instead']
+ end
+ # :startdoc:
+
+ class << self
+ # The MIME types main- and sub-label can both start with <tt>x-</tt>,
+ # which indicates that it is a non-registered name. Of course, after
+ # registration this flag can disappear, adds to the confusing
+ # proliferation of MIME types. The simplified string has the <tt>x-</tt>
+ # removed and are translated to lowercase.
+ def simplified(content_type)
+ matchdata = MEDIA_TYPE_RE.match(content_type)
+
+ if matchdata.nil?
+ nil
+ else
+ matchdata.captures.map { |e|
+ e.downcase.gsub(UNREGISTERED_RE, '')
+ }.join('/')
+ end
+ end
+
+ # Creates a MIME::Type from an array in the form of:
+ # [type-name, [extensions], encoding, system]
+ #
+ # +extensions+, +encoding+, and +system+ are optional.
+ #
+ # MIME::Type.from_array("application/x-ruby", ['rb'], '8bit')
+ # MIME::Type.from_array(["application/x-ruby", ['rb'], '8bit'])
+ #
+ # These are equivalent to:
+ #
+ # MIME::Type.new('application/x-ruby') do |t|
+ # t.extensions = %w(rb)
+ # t.encoding = '8bit'
+ # end
+ #
+ # This method is deprecated.
+ def from_array(*args) # :yields MIME::Type.new:
+ MIME.deprecated(self, __method__)
+
+ # Dereferences the array one level, if necessary.
+ args = args.first if args.first.kind_of? Array
+
+ unless args.size.between?(1, 8)
+ raise ArgumentError, "Array provided must contain between one and eight elements."
+ end
+
+ MIME::Type.new(args.shift) do |t|
+ t.extensions, t.encoding, t.system, t.obsolete, t.docs, t.references,
+ t.registered = *args
+ yield t if block_given?
+ end
+ end
+
+ # Creates a MIME::Type from a hash. Keys are case-insensitive, dashes
+ # may be replaced with underscores, and the internal Symbol of the
+ # lowercase-underscore version can be used as well. That is,
+ # Content-Type can be provided as content-type, Content_Type,
+ # content_type, or :content_type.
+ #
+ # Known keys are <tt>Content-Type</tt>,
+ # <tt>Content-Transfer-Encoding</tt>, <tt>Extensions</tt>, and
+ # <tt>System</tt>.
+ #
+ # MIME::Type.from_hash('Content-Type' => 'text/x-yaml',
+ # 'Content-Transfer-Encoding' => '8bit',
+ # 'System' => 'linux',
+ # 'Extensions' => ['yaml', 'yml'])
+ #
+ # This is equivalent to:
+ #
+ # MIME::Type.new('text/x-yaml') do |t|
+ # t.encoding = '8bit'
+ # t.system = 'linux'
+ # t.extensions = ['yaml', 'yml']
+ # end
+ #
+ # This method has been deprecated.
+ def from_hash(hash) # :yields MIME::Type.new:
+ MIME.deprecated(self, __method__)
+ type = {}
+ hash.each_pair do |k, v|
+ type[k.to_s.tr('A-Z', 'a-z').gsub(/-/, '_').to_sym] = v
+ end
+
+ MIME::Type.new(type[:content_type]) do |t|
+ t.extensions = type[:extensions]
+ t.encoding = type[:content_transfer_encoding]
+ t.system = type[:system]
+ t.obsolete = type[:obsolete]
+ t.docs = type[:docs]
+ t.url = type[:url]
+ t.registered = type[:registered]
+
+ yield t if block_given?
+ end
+ end
+
+ # Essentially a copy constructor.
+ #
+ # MIME::Type.from_mime_type(plaintext)
+ #
+ # is equivalent to:
+ #
+ # MIME::Type.new(plaintext.content_type.dup) do |t|
+ # t.extensions = plaintext.extensions.dup
+ # t.system = plaintext.system.dup
+ # t.encoding = plaintext.encoding.dup
+ # end
+ #
+ # This method has been deprecated.
+ def from_mime_type(mime_type) # :yields the new MIME::Type:
+ MIME.deprecated(self, __method__)
+ new(mime_type)
+ end
+ end
+
+ private
+ def content_type=(type_string)
+ match = MEDIA_TYPE_RE.match(type_string)
+ raise InvalidContentType, type_string if match.nil?
+
+ @content_type = type_string
+ @raw_media_type, @raw_sub_type = *match.captures
+ @simplified = MIME::Type.simplified(type_string)
+ @media_type, @sub_type =
+ *MEDIA_TYPE_RE.match(@simplified).captures
+ end
+end
diff --git a/lib/mime/types.rb b/lib/mime/types.rb
index 40d299f..de75464 100644
--- a/lib/mime/types.rb
+++ b/lib/mime/types.rb
@@ -1,966 +1,310 @@
# -*- ruby encoding: utf-8 -*-
-# The namespace for MIME applications, tools, and libraries.
-module MIME
- # Reflects a MIME Content-Type which is in invalid format (e.g., it isn't
- # in the form of type/subtype).
- class InvalidContentType < RuntimeError; end
-
- # The definition of one MIME content-type.
- #
- # == Usage
- # require 'mime/types'
- #
- # plaintext = MIME::Types['text/plain'].first
- # # returns [text/plain, text/plain]
- # text = plaintext.first
- # print text.media_type # => 'text'
- # print text.sub_type # => 'plain'
- #
- # puts text.extensions.join(" ") # => 'asc txt c cc h hh cpp'
- #
- # puts text.encoding # => 8bit
- # puts text.binary? # => false
- # puts text.ascii? # => true
- # puts text == 'text/plain' # => true
- # puts MIME::Type.simplified('x-appl/x-zip') # => 'appl/zip'
- #
- # puts MIME::Types.any? { |type|
- # type.content_type == 'text/plain'
- # } # => true
- # puts MIME::Types.all?(&:registered?)
- # # => false
- #
- class Type
- # The released version of Ruby MIME::Types
- VERSION = '1.25'
-
- include Comparable
-
- MEDIA_TYPE_RE = %r{([-\w.+]+)/([-\w.+]*)}o
- UNREG_RE = %r{[Xx]-}o
- ENCODING_RE = %r{(?:base64|7bit|8bit|quoted\-printable)}o
- PLATFORM_RE = %r|#{RUBY_PLATFORM}|o
-
- SIGNATURES = %w(application/pgp-keys application/pgp
- application/pgp-signature application/pkcs10
- application/pkcs7-mime application/pkcs7-signature
- text/vcard)
-
- IANA_URL = "http://www.iana.org/assignments/media-types/%s/%s"
- RFC_URL = "http://rfc-editor.org/rfc/rfc%s.txt"
- DRAFT_URL = "http://datatracker.ietf.org/public/idindex.cgi?command=id_details&filename=%s"
- LTSW_URL = "http://www.ltsw.se/knbase/internet/%s.htp"
- CONTACT_URL = "http://www.iana.org/assignments/contact-people.htm#%s"
-
- # Returns +true+ if the simplified type matches the current
- def like?(other)
- if other.respond_to?(:simplified)
- @simplified == other.simplified
- else
- @simplified == Type.simplified(other)
- end
- end
-
- # Compares the MIME::Type against the exact content type or the
- # simplified type (the simplified type will be used if comparing against
- # something that can be treated as a String with #to_s). In comparisons,
- # this is done against the lowercase version of the MIME::Type.
- def <=>(other)
- if other.respond_to?(:content_type)
- @content_type.downcase <=> other.content_type.downcase
- elsif other.respond_to?(:to_s)
- @simplified <=> Type.simplified(other.to_s)
- else
- @content_type.downcase <=> other.downcase
- end
- end
-
- # Compares the MIME::Type based on how reliable it is before doing a
- # normal <=> comparison. Used by MIME::Types#[] to sort types. The
- # comparisons involved are:
- #
- # 1. self.simplified <=> other.simplified (ensures that we
- # don't try to compare different types)
- # 2. IANA-registered definitions < other definitions.
- # 3. Generic definitions < platform definitions.
- # 3. Complete definitions < incomplete definitions.
- # 4. Current definitions < obsolete definitions.
- # 5. Obselete with use-instead references < obsolete without.
- # 6. Obsolete use-instead definitions are compared.
- def priority_compare(other)
- pc = simplified <=> other.simplified
-
- if pc.zero?
- pc = if registered? != other.registered?
- registered? ? -1 : 1 # registered < unregistered
- elsif platform? != other.platform?
- platform? ? 1 : -1 # generic < platform
- elsif complete? != other.complete?
- pc = complete? ? -1 : 1 # complete < incomplete
- elsif obsolete? != other.obsolete?
- pc = obsolete? ? 1 : -1 # current < obsolete
- end
-
- if pc.zero? and obsolete? and (use_instead != other.use_instead)
- pc = if use_instead.nil?
- -1
- elsif other.use_instead.nil?
- 1
- else
- use_instead <=> other.use_instead
- end
- end
- end
-
- pc
- end
-
- # Returns +true+ if the other object is a MIME::Type and the content
- # types match.
- def eql?(other)
- other.kind_of?(MIME::Type) and self == other
- end
-
- # Returns the whole MIME content-type string.
- #
- # text/plain => text/plain
- # x-chemical/x-pdb => x-chemical/x-pdb
- attr_reader :content_type
- # Returns the media type of the simplified MIME type.
- #
- # text/plain => text
- # x-chemical/x-pdb => chemical
- attr_reader :media_type
- # Returns the media type of the unmodified MIME type.
- #
- # text/plain => text
- # x-chemical/x-pdb => x-chemical
- attr_reader :raw_media_type
- # Returns the sub-type of the simplified MIME type.
- #
- # text/plain => plain
- # x-chemical/x-pdb => pdb
- attr_reader :sub_type
- # Returns the media type of the unmodified MIME type.
- #
- # text/plain => plain
- # x-chemical/x-pdb => x-pdb
- attr_reader :raw_sub_type
- # The MIME types main- and sub-label can both start with <tt>x-</tt>,
- # which indicates that it is a non-registered name. Of course, after
- # registration this flag can disappear, adds to the confusing
- # proliferation of MIME types. The simplified string has the <tt>x-</tt>
- # removed and are translated to lowercase.
- #
- # text/plain => text/plain
- # x-chemical/x-pdb => chemical/pdb
- attr_reader :simplified
- # The list of extensions which are known to be used for this MIME::Type.
- # Non-array values will be coerced into an array with #to_a. Array
- # values will be flattened and +nil+ values removed.
- attr_accessor :extensions
- remove_method :extensions= ;
- def extensions=(ext) #:nodoc:
- @extensions = [ext].flatten.compact
- end
-
- # The encoding (7bit, 8bit, quoted-printable, or base64) required to
- # transport the data of this content type safely across a network, which
- # roughly corresponds to Content-Transfer-Encoding. A value of +nil+ or
- # <tt>:default</tt> will reset the #encoding to the #default_encoding
- # for the MIME::Type. Raises ArgumentError if the encoding provided is
- # invalid.
- #
- # If the encoding is not provided on construction, this will be either
- # 'quoted-printable' (for text/* media types) and 'base64' for eveything
- # else.
- attr_accessor :encoding
- remove_method :encoding= ;
- def encoding=(enc) #:nodoc:
- if enc.nil? or enc == :default
- @encoding = self.default_encoding
- elsif enc =~ ENCODING_RE
- @encoding = enc
- else
- raise ArgumentError, "The encoding must be nil, :default, base64, 7bit, 8bit, or quoted-printable."
- end
- end
-
- # The regexp for the operating system that this MIME::Type is specific
- # to.
- attr_accessor :system
- remove_method :system= ;
- def system=(os) #:nodoc:
- if os.nil? or os.kind_of?(Regexp)
- @system = os
- else
- @system = %r|#{os}|
- end
- end
- # Returns the default encoding for the MIME::Type based on the media
- # type.
- attr_reader :default_encoding
- remove_method :default_encoding
- def default_encoding
- (@media_type == 'text') ? 'quoted-printable' : 'base64'
- end
-
- # Returns the media type or types that should be used instead of this
- # media type, if it is obsolete. If there is no replacement media type,
- # or it is not obsolete, +nil+ will be returned.
- attr_reader :use_instead
- remove_method :use_instead
- def use_instead
- return nil unless @obsolete
- @use_instead
- end
-
- # Returns +true+ if the media type is obsolete.
- def obsolete?
- @obsolete ? true : false
- end
- # Sets the obsolescence indicator for this media type.
- attr_writer :obsolete
-
- # The documentation for this MIME::Type. Documentation about media
- # types will be found on a media type definition as a comment.
- # Documentation will be found through #docs.
- attr_accessor :docs
- remove_method :docs= ;
- def docs=(d)
- if d
- a = d.scan(%r{use-instead:#{MEDIA_TYPE_RE}})
-
- if a.empty?
- @use_instead = nil
- else
- @use_instead = a.map { |el| "#{el[0]}/#{el[1]}" }
- end
- end
- @docs = d
- end
-
- # The encoded URL list for this MIME::Type. See #urls for more
- # information.
- attr_accessor :url
- # The decoded URL list for this MIME::Type.
- # The special URL value IANA will be translated into:
- # http://www.iana.org/assignments/media-types/<mediatype>/<subtype>
- #
- # The special URL value RFC### will be translated into:
- # http://www.rfc-editor.org/rfc/rfc###.txt
- #
- # The special URL value DRAFT:name will be translated into:
- # https://datatracker.ietf.org/public/idindex.cgi?
- # command=id_detail&filename=<name>
- #
- # The special URL value LTSW will be translated into:
- # http://www.ltsw.se/knbase/internet/<mediatype>.htp
- #
- # The special URL value [token] will be translated into:
- # http://www.iana.org/assignments/contact-people.htm#<token>
- #
- # These values will be accessible through #urls, which always returns an
- # array.
- def urls
- @url.map do |el|
- case el
- when %r{^IANA$}
- IANA_URL % [ @media_type, @sub_type ]
- when %r{^RFC(\d+)$}
- RFC_URL % $1
- when %r{^DRAFT:(.+)$}
- DRAFT_URL % $1
- when %r{^LTSW$}
- LTSW_URL % @media_type
- when %r{^\{([^=]+)=([^\}]+)\}}
- [$1, $2]
- when %r{^\[([^=]+)=([^\]]+)\]}
- [$1, CONTACT_URL % $2]
- when %r{^\[([^\]]+)\]}
- CONTACT_URL % $1
- else
- el
- end
- end
- end
-
- class << self
- # The MIME types main- and sub-label can both start with <tt>x-</tt>,
- # which indicates that it is a non-registered name. Of course, after
- # registration this flag can disappear, adds to the confusing
- # proliferation of MIME types. The simplified string has the
- # <tt>x-</tt> removed and are translated to lowercase.
- def simplified(content_type)
- matchdata = MEDIA_TYPE_RE.match(content_type)
-
- if matchdata.nil?
- simplified = nil
- else
- media_type = matchdata.captures[0].downcase.gsub(UNREG_RE, '')
- subtype = matchdata.captures[1].downcase.gsub(UNREG_RE, '')
- simplified = "#{media_type}/#{subtype}"
- end
- simplified
- end
-
- # Creates a MIME::Type from an array in the form of:
- # [type-name, [extensions], encoding, system]
- #
- # +extensions+, +encoding+, and +system+ are optional.
- #
- # MIME::Type.from_array("application/x-ruby", ['rb'], '8bit')
- # MIME::Type.from_array(["application/x-ruby", ['rb'], '8bit'])
- #
- # These are equivalent to:
- #
- # MIME::Type.new('application/x-ruby') do |t|
- # t.extensions = %w(rb)
- # t.encoding = '8bit'
- # end
- def from_array(*args) #:yields MIME::Type.new:
- # Dereferences the array one level, if necessary.
- args = args.first if args.first.kind_of? Array
-
- unless args.size.between?(1, 8)
- raise ArgumentError, "Array provided must contain between one and eight elements."
- end
-
- MIME::Type.new(args.shift) do |t|
- t.extensions, t.encoding, t.system, t.obsolete, t.docs, t.url,
- t.registered = *args
- yield t if block_given?
- end
- end
-
- # Creates a MIME::Type from a hash. Keys are case-insensitive,
- # dashes may be replaced with underscores, and the internal Symbol
- # of the lowercase-underscore version can be used as well. That is,
- # Content-Type can be provided as content-type, Content_Type,
- # content_type, or :content_type.
- #
- # Known keys are <tt>Content-Type</tt>,
- # <tt>Content-Transfer-Encoding</tt>, <tt>Extensions</tt>, and
- # <tt>System</tt>.
- #
- # MIME::Type.from_hash('Content-Type' => 'text/x-yaml',
- # 'Content-Transfer-Encoding' => '8bit',
- # 'System' => 'linux',
- # 'Extensions' => ['yaml', 'yml'])
- #
- # This is equivalent to:
- #
- # MIME::Type.new('text/x-yaml') do |t|
- # t.encoding = '8bit'
- # t.system = 'linux'
- # t.extensions = ['yaml', 'yml']
- # end
- def from_hash(hash) #:yields MIME::Type.new:
- type = {}
- hash.each_pair do |k, v|
- type[k.to_s.tr('A-Z', 'a-z').gsub(/-/, '_').to_sym] = v
- end
-
- MIME::Type.new(type[:content_type]) do |t|
- t.extensions = type[:extensions]
- t.encoding = type[:content_transfer_encoding]
- t.system = type[:system]
- t.obsolete = type[:obsolete]
- t.docs = type[:docs]
- t.url = type[:url]
- t.registered = type[:registered]
-
- yield t if block_given?
- end
- end
-
- # Essentially a copy constructor.
- #
- # MIME::Type.from_mime_type(plaintext)
- #
- # is equivalent to:
- #
- # MIME::Type.new(plaintext.content_type.dup) do |t|
- # t.extensions = plaintext.extensions.dup
- # t.system = plaintext.system.dup
- # t.encoding = plaintext.encoding.dup
- # end
- def from_mime_type(mime_type) #:yields the new MIME::Type:
- MIME::Type.new(mime_type.content_type.dup) do |t|
- t.extensions = mime_type.extensions.map { |e| e.dup }
- t.url = mime_type.url && mime_type.url.map { |e| e.dup }
-
- mime_type.system && t.system = mime_type.system.dup
- mime_type.encoding && t.encoding = mime_type.encoding.dup
-
- t.obsolete = mime_type.obsolete?
- t.registered = mime_type.registered?
-
- mime_type.docs && t.docs = mime_type.docs.dup
-
- yield t if block_given?
- end
- end
- end
-
- # Builds a MIME::Type object from the provided MIME Content Type value
- # (e.g., 'text/plain' or 'applicaton/x-eruby'). The constructed object
- # is yielded to an optional block for additional configuration, such as
- # associating extensions and encoding information.
- def initialize(content_type) #:yields self:
- matchdata = MEDIA_TYPE_RE.match(content_type)
-
- if matchdata.nil?
- raise InvalidContentType, "Invalid Content-Type provided ('#{content_type}')"
- end
-
- @content_type = content_type
- @raw_media_type = matchdata.captures[0]
- @raw_sub_type = matchdata.captures[1]
-
- @simplified = MIME::Type.simplified(@content_type)
- matchdata = MEDIA_TYPE_RE.match(@simplified)
- @media_type = matchdata.captures[0]
- @sub_type = matchdata.captures[1]
-
- self.extensions = nil
- self.encoding = :default
- self.system = nil
- self.registered = true
- self.url = nil
- self.obsolete = nil
- self.docs = nil
-
- yield self if block_given?
- end
-
- # MIME content-types which are not regestered by IANA nor defined in
- # RFCs are required to start with <tt>x-</tt>. This counts as well for
- # a new media type as well as a new sub-type of an existing media
- # type. If either the media-type or the content-type begins with
- # <tt>x-</tt>, this method will return +false+.
- def registered?
- if (@raw_media_type =~ UNREG_RE) || (@raw_sub_type =~ UNREG_RE)
- false
- else
- @registered
- end
- end
- attr_writer :registered #:nodoc:
-
- # MIME types can be specified to be sent across a network in particular
- # formats. This method returns +true+ when the MIME type encoding is set
- # to <tt>base64</tt>.
- def binary?
- @encoding == 'base64'
- end
-
- # MIME types can be specified to be sent across a network in particular
- # formats. This method returns +false+ when the MIME type encoding is
- # set to <tt>base64</tt>.
- def ascii?
- not binary?
- end
-
- # Returns +true+ when the simplified MIME type is in the list of known
- # digital signatures.
- def signature?
- SIGNATURES.include?(@simplified.downcase)
- end
-
- # Returns +true+ if the MIME::Type is specific to an operating system.
- def system?
- not @system.nil?
- end
-
- # Returns +true+ if the MIME::Type is specific to the current operating
- # system as represented by RUBY_PLATFORM.
- def platform?
- system? and (RUBY_PLATFORM =~ @system)
- end
+require 'mime/type'
+require 'mime/types/cache'
+require 'mime/types/loader'
+
+# MIME::Types is a registry of MIME types. It is both a class (created with
+# MIME::Types.new) and a default registry (loaded automatically or through
+# interactions with MIME::Types.[] and MIME::Types.type_for).
+#
+# == The Default mime-types Registry
+#
+# The default mime-types registry is loaded automatically when the library
+# is required (<tt>require 'mime/types'</tt>), but it may be lazily loaded
+# (loaded on first use) with the use of the environment variable
+# +RUBY_MIME_TYPES_LAZY_LOAD+ having any value other than +false+. The
+# initial startup is about 14× faster (~10 ms vs ~140 ms), but the
+# registry will be loaded at some point in the future.
+#
+# The default mime-types registry can also be loaded from a Marshal cache
+# file specific to the version of MIME::Types being loaded. This will be
+# handled automatically with the use of a file referred to in the
+# environment variable +RUBY_MIME_TYPES_CACHE+. MIME::Types will attempt to
+# load the registry from this cache file (MIME::Type::Cache.load); if it
+# cannot be loaded (because the file does not exist, there is an error, or
+# the data is for a different version of mime-types), the default registry
+# will be loaded from the normal JSON version and then the cache file will
+# be *written* to the location indicated by +RUBY_MIME_TYPES_CACHE+. Cache
+# file loads just over 4½× faster (~30 ms vs ~140 ms).
+# loads.
+#
+# Notes:
+# * The loading of the default registry is *not* atomic; when using a
+# multi-threaded environment, it is recommended that lazy loading is not
+# used and mime-types is loaded as early as possible.
+# * Cache files should be specified per application in a multiprocess
+# environment and should be initialized during deployment or before
+# forking to minimize the chance that the multiple processes will be
+# trying to write to the same cache file at the same time, or that two
+# applications that are on different versions of mime-types would be
+# thrashing the cache.
+# * Unless cache files are preinitialized, the application using the
+# mime-types cache file must have read/write permission to the cache file.
+#
+# == Usage
+# require 'mime/types'
+#
+# plaintext = MIME::Types['text/plain']
+# print plaintext.media_type # => 'text'
+# print plaintext.sub_type # => 'plain'
+#
+# puts plaintext.extensions.join(" ") # => 'asc txt c cc h hh cpp'
+#
+# puts plaintext.encoding # => 8bit
+# puts plaintext.binary? # => false
+# puts plaintext.ascii? # => true
+# puts plaintext.obsolete? # => false
+# puts plaintext.registered? # => true
+# puts plaintext == 'text/plain' # => true
+# puts MIME::Type.simplified('x-appl/x-zip') # => 'appl/zip'
+#
+class MIME::Types
+ # The release version of Ruby MIME::Types
+ VERSION = MIME::Type::VERSION
+
+ include Enumerable
+
+ # The data version.
+ attr_reader :data_version
+
+ # Creates a new MIME::Types registry.
+ def initialize
+ @type_variants = Container.new
+ @extension_index = Container.new
+ @data_version = VERSION.dup.freeze
+ end
- # Returns +true+ if the MIME::Type specifies an extension list,
- # indicating that it is a complete MIME::Type.
- def complete?
- not @extensions.empty?
- end
+ def add_type_variant(mime_type) # :nodoc:
+ MIME.deprecated(self, __method__, :private)
+ add_type_variant!(mime_type)
+ end
- # Returns the MIME type as a string.
- def to_s
- @content_type
- end
+ def index_extensions(mime_type) # :nodoc:
+ MIME.deprecated(self, __method__, :private)
+ index_extensions!(mime_type)
+ end
- # Returns the MIME type as a string for implicit conversions.
- def to_str
- @content_type
- end
+ def defined_types # :nodoc:
+ MIME.deprecated(self, __method__)
+ @type_variants.values.flatten
+ end
- # Returns the MIME type as an array suitable for use with
- # MIME::Type.from_array.
- def to_a
- [ @content_type, @extensions, @encoding, @system, @obsolete, @docs,
- @url, registered? ]
- end
+ # Returns the number of known type variants.
+ def count
+ @type_variants.values.reduce(0) { |m, o| m + o.size }
+ end
- # Returns the MIME type as an array suitable for use with
- # MIME::Type.from_hash.
- def to_hash
- { 'Content-Type' => @content_type,
- 'Content-Transfer-Encoding' => @encoding,
- 'Extensions' => @extensions,
- 'System' => @system,
- 'Obsolete' => @obsolete,
- 'Docs' => @docs,
- 'URL' => @url,
- 'Registered' => registered?,
- }
- end
+ # Iterates through the type variants.
+ def each
+ @type_variants.values.each { |tv| tv.each { |t| yield t } }
end
- # = MIME::Types
- # MIME types are used in MIME-compliant communications, as in e-mail or
- # HTTP traffic, to indicate the type of content which is transmitted.
- # MIME::Types provides the ability for detailed information about MIME
- # entities (provided as a set of MIME::Type objects) to be determined and
- # used programmatically. There are many types defined by RFCs and vendors,
- # so the list is long but not complete; don't hesitate to ask to add
- # additional information. This library follows the IANA collection of MIME
- # types (see below for reference).
+ @__types__ = nil
+
+ # Returns a list of MIME::Type objects, which may be empty. The optional
+ # flag parameters are <tt>:complete</tt> (finds only complete MIME::Type
+ # objects) and <tt>:registered</tt> (finds only MIME::Types that are
+ # registered). It is possible for multiple matches to be returned for
+ # either type (in the example below, 'text/plain' returns two values --
+ # one for the general case, and one for VMS systems).
#
- # == Description
- # MIME types are used in MIME entities, as in email or HTTP traffic. It is
- # useful at times to have information available about MIME types (or,
- # inversely, about files). A MIME::Type stores the known information about
- # one MIME type.
+ # puts "\nMIME::Types['text/plain']"
+ # MIME::Types['text/plain'].each { |t| puts t.to_a.join(", ") }
#
- # == Usage
- # require 'mime/types'
+ # puts "\nMIME::Types[/^image/, complete: true]"
+ # MIME::Types[/^image/, :complete => true].each do |t|
+ # puts t.to_a.join(", ")
+ # end
#
- # plaintext = MIME::Types['text/plain']
- # print plaintext.media_type # => 'text'
- # print plaintext.sub_type # => 'plain'
+ # If multiple type definitions are returned, returns them sorted as
+ # follows:
+ # 1. Complete definitions sort before incomplete ones;
+ # 2. IANA-registered definitions sort before LTSW-recorded
+ # definitions.
+ # 3. Generic definitions sort before platform-specific ones;
+ # 4. Current definitions sort before obsolete ones;
+ # 5. Obsolete definitions with use-instead clauses sort before those
+ # without;
+ # 6. Obsolete definitions use-instead clauses are compared.
+ # 7. Sort on name.
#
- # puts plaintext.extensions.join(" ") # => 'asc txt c cc h hh cpp'
+ # An additional flag of :platform (finds only MIME::Types for the current
+ # platform) is currently supported but deprecated.
+ def [](type_id, flags = {})
+ if flags[:platform]
+ MIME.deprecated(self, __method__, "using the :platform flag")
+ end
+
+ matches = case type_id
+ when MIME::Type
+ @type_variants[type_id.simplified]
+ when Regexp
+ match(type_id)
+ else
+ @type_variants[MIME::Type.simplified(type_id)]
+ end
+
+ prune_matches(matches, flags).sort { |a, b| a.priority_compare(b) }
+ end
+
+ # Return the list of MIME::Types which belongs to the file based on its
+ # filename extension. If there is no extension, the filename will be used
+ # as the matching criteria on its own.
#
- # puts plaintext.encoding # => 8bit
- # puts plaintext.binary? # => false
- # puts plaintext.ascii? # => true
- # puts plaintext.obsolete? # => false
- # puts plaintext.registered? # => true
- # puts plaintext == 'text/plain' # => true
- # puts MIME::Type.simplified('x-appl/x-zip') # => 'appl/zip'
+ # This will always return a merged, flatten, priority sorted, unique array.
#
- # This module is built to conform to the MIME types of RFCs 2045 and 2231.
- # It follows the official IANA registry at
- # http://www.iana.org/assignments/media-types/ and
- # ftp://ftp.iana.org/assignments/media-types with some unofficial types
- # added from the the collection at
- # http://www.ltsw.se/knbase/internet/mime.htp
- class Types
- # The released version of Ruby MIME::Types
- VERSION = MIME::Type::VERSION
- DATA_VERSION = (VERSION.to_f * 100).to_i
-
- # The data version.
- attr_reader :data_version
-
- class HashWithArrayDefault < Hash # :nodoc:
- def initialize
- super { |h, k| h[k] = [] }
- end
-
- def marshal_dump
- {}.merge(self)
- end
-
- def marshal_load(hash)
- self.merge!(hash)
- end
+ # puts MIME::Types.type_for('citydesk.xml')
+ # => [application/xml, text/xml]
+ # puts MIME::Types.type_for('citydesk.gif')
+ # => [image/gif]
+ # puts MIME::Types.type_for(%w(citydesk.xml citydesk.gif))
+ # => [application/xml, image/gif, text/xml]
+ #
+ # If +platform+ is +true+, then only file types that are specific to the
+ # current platform will be returned. This parameter has been deprecated.
+ def type_for(filename, platform = false)
+ types = [ filename ].flatten.map { |fn|
+ @extension_index[File.basename(fn.chomp.downcase).gsub(/.*\./o, '')]
+ }.flatten.sort { |a, b| a.priority_compare(b) }.uniq
+
+ if platform
+ MIME.deprecated(self, __method__,
+ "using the platform parameter")
+ types.select(&:platform?)
+ else
+ types
end
+ end
+ alias_method :of, :type_for
- class CacheContainer # :nodoc:
- attr_reader :version, :data
- def initialize(version, data)
- @version, @data = version, data
+ # Add one or more MIME::Type objects to the set of known types. If the
+ # type is already known, a warning will be displayed.
+ #
+ # The last parameter may be the value <tt>:silent</tt> or +true+ which
+ # will suppress duplicate MIME type warnings.
+ def add(*types)
+ quiet = ((types.last == :silent) or (types.last == true))
+
+ types.each do |mime_type|
+ case mime_type
+ when true, false, nil, Symbol
+ nil
+ when MIME::Types
+ variants = mime_type.instance_variable_get(:@type_variants)
+ add(*variants.values.flatten, quiet)
+ when Array
+ add(*mime_type, quiet)
+ else
+ add_type(mime_type, quiet)
end
end
+ end
- def initialize(data_version = DATA_VERSION)
- @type_variants = HashWithArrayDefault.new
- @extension_index = HashWithArrayDefault.new
- @data_version = data_version
+ # Add a single MIME::Type object to the set of known types. If the type is
+ # already known, a warning will be displayed. The +quiet+ parameter may be
+ # a truthy value to suppress that warning.
+ def add_type(mime_type, quiet = false)
+ if !quiet and @type_variants[mime_type.simplified].include?(mime_type)
+ warn("Type %s is already registered as a variant of %s." % [
+ mime_type, mime_type.simplified ])
end
- def add_type_variant(mime_type) #:nodoc:
- @type_variants[mime_type.simplified] << mime_type
- end
+ add_type_variant!(mime_type)
+ index_extensions!(mime_type)
+ end
+
+ class << self
+ include Enumerable
- def index_extensions(mime_type) #:nodoc:
- mime_type.extensions.each { |ext| @extension_index[ext] << mime_type }
+ # Load MIME::Types from a v1 file registry.
+ #
+ # This method has been deprecated.
+ def load_from_file(filename)
+ MIME.deprecated(self, __method__)
+ MIME::Types::Loader.load_from_v1(filename)
end
- def defined_types #:nodoc:
- @type_variants.values.flatten
+ # MIME::Types#[] against the default MIME::Types registry.
+ def [](type_id, flags = {})
+ __types__[type_id, flags]
end
- # Returns the number of known types. A shortcut of MIME::Types[//].size.
- # (Keep in mind that this is memory intensive, cache the result to spare
- # resources)
+ # MIME::Types#count against the default MIME::Types registry.
def count
- defined_types.size
+ __types__.count
end
+ # MIME::Types#each against the default MIME::Types registry.
def each
- defined_types.each { |t| yield t }
+ __types__.each {|t| yield t }
end
- @__types__ = nil
+ # MIME::Types#type_for against the default MIME::Types registry.
+ def type_for(filename, platform = false)
+ __types__.type_for(filename, platform)
+ end
+ alias_method :of, :type_for
- # Returns a list of MIME::Type objects, which may be empty. The optional
- # flag parameters are :complete (finds only complete MIME::Type objects)
- # and :platform (finds only MIME::Types for the current platform). It is
- # possible for multiple matches to be returned for either type (in the
- # example below, 'text/plain' returns two values -- one for the general
- # case, and one for VMS systems.
- #
- # puts "\nMIME::Types['text/plain']"
- # MIME::Types['text/plain'].each { |t| puts t.to_a.join(", ") }
- #
- # puts "\nMIME::Types[/^image/, :complete => true]"
- # MIME::Types[/^image/, :complete => true].each do |t|
- # puts t.to_a.join(", ")
- # end
- #
- # If multiple type definitions are returned, returns them sorted as
- # follows:
- # 1. Complete definitions sort before incomplete ones;
- # 2. IANA-registered definitions sort before LTSW-recorded
- # definitions.
- # 3. Generic definitions sort before platform-specific ones;
- # 4. Current definitions sort before obsolete ones;
- # 5. Obsolete definitions with use-instead clauses sort before those
- # without;
- # 6. Obsolete definitions use-instead clauses are compared.
- # 7. Sort on name.
- def [](type_id, flags = {})
- matches = case type_id
- when MIME::Type
- @type_variants[type_id.simplified]
- when Regexp
- match(type_id)
- else
- @type_variants[MIME::Type.simplified(type_id)]
- end
-
- prune_matches(matches, flags).sort { |a, b| a.priority_compare(b) }
+ # MIME::Types#add against the default MIME::Types registry.
+ def add(*types)
+ __types__.add(*types)
end
- # Return the list of MIME::Types which belongs to the file based on its
- # filename extension. If +platform+ is +true+, then only file types that
- # are specific to the current platform will be returned.
- #
- # This will always return an array.
- #
- # puts "MIME::Types.type_for('citydesk.xml')
- # => [application/xml, text/xml]
- # puts "MIME::Types.type_for('citydesk.gif')
- # => [image/gif]
- def type_for(filename, platform = false)
- ext = filename.chomp.downcase.gsub(/.*\./o, '')
- list = @extension_index[ext]
- list.delete_if { |e| not e.platform? } if platform
- list
+ # Returns the currently defined cache file, if any.
+ def cache_file
+ MIME.deprecated(self, __method__)
+ ENV['RUBY_MIME_TYPES_CACHE']
end
- # A synonym for MIME::Types.type_for
- def of(filename, platform = false)
- type_for(filename, platform)
+ def add_type_variant(mime_type) # :nodoc:
+ __types__.add_type_variant(mime_type)
end
- # Add one or more MIME::Type objects to the set of known types. Each
- # type should be experimental (e.g., 'application/x-ruby'). If the type
- # is already known, a warning will be displayed.
- #
- # <strong>Please inform the maintainer of this module when registered
- # types are missing.</strong>
- def add(*types)
- types.each do |mime_type|
- if mime_type.kind_of? MIME::Types
- add(*mime_type.defined_types)
- else
- if @type_variants.include?(mime_type.simplified)
- if @type_variants[mime_type.simplified].include?(mime_type)
- warn "Type #{mime_type} already registered as a variant of #{mime_type.simplified}." unless defined? MIME::Types::LOAD
- end
- end
- add_type_variant(mime_type)
- index_extensions(mime_type)
- end
- end
+ def index_extensions(mime_type) # :nodoc:
+ __types__.index_extensions(mime_type)
end
private
- def prune_matches(matches, flags)
- matches.delete_if { |e| not e.complete? } if flags[:complete]
- matches.delete_if { |e| not e.platform? } if flags[:platform]
- matches
+ def lazy_load?
+ (lazy = ENV['RUBY_MIME_TYPES_LAZY_LOAD']) && (lazy != 'false')
end
- def match(pattern)
- matches = @type_variants.select { |k, v| k =~ pattern }
- if matches.respond_to? :values
- matches.values.flatten
- else
- matches.map { |m| m.last }.flatten
- end
+ def __types__
+ (defined?(@__types__) and @__types__) or load_default_mime_types
end
- class << self
- def add_type_variant(mime_type) #:nodoc:
- __types__.add_type_variant(mime_type)
- end
-
- def index_extensions(mime_type) #:nodoc:
- __types__.index_extensions(mime_type)
- end
-
- # The regular expression used to match a file-based MIME type
- # definition.
- TEXT_FORMAT_RE = %r{
- \A
- \s*
- ([*])? # 0: Unregistered?
- (!)? # 1: Obsolete?
- (?:(\w+):)? # 2: Platform marker
- #{MIME::Type::MEDIA_TYPE_RE}? # 3,4: Media type
- (?:\s+@([^\s]+))? # 5: Extensions
- (?:\s+:(#{MIME::Type::ENCODING_RE}))? # 6: Encoding
- (?:\s+'(.+))? # 7: URL list
- (?:\s+=(.+))? # 8: Documentation
- (?:\s*([#].*)?)?
- \s*
- \z
- }x
-
- # Build the type list from a file in the format:
- #
- # [*][!][os:]mt/st[<ws>@ext][<ws>:enc][<ws>'url-list][<ws>=docs]
- #
- # == *
- # An unofficial MIME type. This should be used if and only if the MIME type
- # is not properly specified (that is, not under either x-type or
- # vnd.name.type).
- #
- # == !
- # An obsolete MIME type. May be used with an unofficial MIME type.
- #
- # == os:
- # Platform-specific MIME type definition.
- #
- # == mt
- # The media type.
- #
- # == st
- # The media subtype.
- #
- # == <ws>@ext
- # The list of comma-separated extensions.
- #
- # == <ws>:enc
- # The encoding.
- #
- # == <ws>'url-list
- # The list of comma-separated URLs.
- #
- # == <ws>=docs
- # The documentation string.
- #
- # That is, everything except the media type and the subtype is optional. The
- # more information that's available, though, the richer the values that can
- # be provided.
- def load_from_file(filename) #:nodoc:
- if defined? ::Encoding
- data = File.open(filename, 'r:UTF-8:-') { |f| f.read }
- else
- data = File.open(filename) { |f| f.read }
- end
- data = data.split($/)
- mime = MIME::Types.new
- data.each_with_index { |line, index|
- item = line.chomp.strip
- next if item.empty?
-
- begin
- m = TEXT_FORMAT_RE.match(item).captures
- rescue Exception
- puts "#{filename}:#{index}: Parsing error in MIME type definitions."
- puts "=> #{line}"
- raise
- end
-
- unregistered, obsolete, platform, mediatype, subtype, extensions,
- encoding, urls, docs, comment = *m
-
- if mediatype.nil?
- if comment.nil?
- puts "#{filename}:#{index}: Parsing error in MIME type definitions."
- puts "=> #{line}"
- raise RuntimeError
- end
-
- next
- end
-
- extensions &&= extensions.split(/,/)
- urls &&= urls.split(/,/)
-
- mime_type = MIME::Type.new("#{mediatype}/#{subtype}") do |t|
- t.extensions = extensions
- t.encoding = encoding
- t.system = platform
- t.obsolete = obsolete
- t.registered = false if unregistered
- t.docs = docs
- t.url = urls
- end
-
- mime.add(mime_type)
- }
- mime
- end
-
- # Returns a list of MIME::Type objects, which may be empty. The
- # optional flag parameters are :complete (finds only complete
- # MIME::Type objects) and :platform (finds only MIME::Types for the
- # current platform). It is possible for multiple matches to be
- # returned for either type (in the example below, 'text/plain' returns
- # two values -- one for the general case, and one for VMS systems.
- #
- # puts "\nMIME::Types['text/plain']"
- # MIME::Types['text/plain'].each { |t| puts t.to_a.join(", ") }
- #
- # puts "\nMIME::Types[/^image/, :complete => true]"
- # MIME::Types[/^image/, :complete => true].each do |t|
- # puts t.to_a.join(", ")
- # end
- def [](type_id, flags = {})
- __types__[type_id, flags]
- end
-
- include Enumerable
-
- def count
- __types__.count
- end
-
- def each
- __types__.each {|t| yield t }
- end
-
- # Return the list of MIME::Types which belongs to the file based on
- # its filename extension. If +platform+ is +true+, then only file
- # types that are specific to the current platform will be returned.
- #
- # This will always return an array.
- #
- # puts "MIME::Types.type_for('citydesk.xml')
- # => [application/xml, text/xml]
- # puts "MIME::Types.type_for('citydesk.gif')
- # => [image/gif]
- def type_for(filename, platform = false)
- __types__.type_for(filename, platform)
- end
-
- # A synonym for MIME::Types.type_for
- def of(filename, platform = false)
- __types__.type_for(filename, platform)
- end
-
- # Add one or more MIME::Type objects to the set of known types. Each
- # type should be experimental (e.g., 'application/x-ruby'). If the
- # type is already known, a warning will be displayed.
- #
- # <strong>Please inform the maintainer of this module when registered
- # types are missing.</strong>
- def add(*types)
- __types__.add(*types)
- end
-
- # Returns the currently defined cache file, if any.
- def cache_file
- ENV['RUBY_MIME_TYPES_CACHE']
- end
-
- private
- def load_mime_types_from_cache
- load_mime_types_from_cache! if cache_file
- end
-
- def load_mime_types_from_cache!
- raise ArgumentError, "No RUBY_MIME_TYPES_CACHE set." unless cache_file
- return false unless File.exists? cache_file
-
- begin
- data = File.read(cache_file)
- container = Marshal.load(data)
-
- if container.version == VERSION
- @__types__ = Marshal.load(container.data)
- true
- else
- false
- end
- rescue => e
- warn "Could not load MIME::Types cache: #{e}"
- false
- end
- end
-
- def write_mime_types_to_cache
- write_mime_types_to_cache! if cache_file
- end
-
- def write_mime_types_to_cache!
- raise ArgumentError, "No RUBY_MIME_TYPES_CACHE set." unless cache_file
-
- File.open(cache_file, 'w') do |f|
- cache = MIME::Types::CacheContainer.new(VERSION,
- Marshal.dump(__types__))
- f.write Marshal.dump(cache)
- end
-
- true
- end
-
- def load_and_parse_mime_types
- const_set(:LOAD, true) unless $DEBUG
- Dir[File.join(File.dirname(__FILE__), 'types', '*')].sort.each { |f|
- add(load_from_file(f))
- }
- remove_const :LOAD if defined? LOAD
+ def load_default_mime_types
+ @__types__ = MIME::Types::Cache.load
+ unless @__types__
+ @__types__ = MIME::Types::Loader.load
+ MIME::Types::Cache.save(@__types__)
end
+ @__types__
+ end
+ end
- def lazy_load?
- (lazy = ENV['RUBY_MIME_TYPES_LAZY_LOAD']) && (lazy != 'false')
- end
+ private
+ def add_type_variant!(mime_type)
+ @type_variants[mime_type.simplified] << mime_type
+ end
- def __types__
- load_mime_types unless @__types__
- @__types__
- end
+ def index_extensions!(mime_type)
+ mime_type.extensions.each { |ext| @extension_index[ext] << mime_type }
+ end
- def load_mime_types
- @__types__ = new(VERSION)
- unless load_mime_types_from_cache
- load_and_parse_mime_types
- write_mime_types_to_cache
- end
- end
- end
+ def prune_matches(matches, flags)
+ matches.delete_if { |e| not e.complete? } if flags[:complete]
+ matches.delete_if { |e| not e.platform? } if flags[:platform]
+ matches.delete_if { |e| not e.registered? } if flags[:registered]
+ matches
+ end
- load_mime_types unless lazy_load?
+ def match(pattern)
+ @type_variants.select { |k, v| k =~ pattern }.values.flatten
end
+
+ load_default_mime_types unless lazy_load?
end
# vim: ft=ruby
diff --git a/lib/mime/types/application b/lib/mime/types/application
deleted file mode 100644
index 631ce5e..0000000
--- a/lib/mime/types/application
+++ /dev/null
@@ -1,1010 +0,0 @@
-application/1d-interleaved-parityfec 'IANA,RFC6015
-application/3gpp-ims+xml 'IANA,[Meredith]
-application/activemessage 'IANA,[Shapiro]
-application/andrew-inset 'IANA,[Borenstein]
-application/applefile :base64 'IANA,[Faltstrom]
-application/atom+xml @atom :8bit 'IANA,RFC4287,RFC5023
-application/atomcat+xml :8bit 'IANA,RFC5023
-application/atomdeleted+xml :8bit 'IANA,RFC6721
-application/atomicmail 'IANA,[Borenstein]
-application/atomsvc+xml :8bit 'IANA,RFC5023
-application/auth-policy+xml :8bit 'IANA,RFC4745
-application/batch-SMTP 'IANA,RFC2442
-application/beep+xml 'IANA,RFC3080
-application/calendar+xml 'IANA,RFC6321
-application/call-completion 'IANA,RFC6910
-application/cals-1840 'IANA,RFC1895
-application/ccmp+xml 'IANA,RFC6503
-application/ccxml+xml 'IANA,RFC4267
-application/cdmi-capability 'IANA,RFC6208
-application/cdmi-container 'IANA,RFC6208
-application/cdmi-domain 'IANA,RFC6208
-application/cdmi-object 'IANA,RFC6208
-application/cdmi-queue 'IANA,RFC6208
-application/cea-2018+xml 'IANA,[Zimmermann]
-application/cellml+xml 'IANA,RFC4708
-application/cfw 'IANA,RFC6230
-application/cnrp+xml 'IANA,RFC3367
-application/commonground 'IANA,[Glazer]
-application/conference-info+xml 'IANA,RFC4575
-application/cpl+xml 'IANA,RFC3880
-application/csta+xml 'IANA,[Ecma International Helpdesk]
-application/CSTAdata+xml 'IANA,[Ecma International Helpdesk]
-application/cybercash 'IANA,[Eastlake]
-application/dash+xml 'IANA,[Stockhammer]
-application/davmount+xml 'IANA,RFC4709
-application/dca-rft 'IANA,[Campbell]
-application/dec-dx 'IANA,[Campbell]
-application/dialog-info+xml 'IANA,RFC4235
-application/dicom @dcm 'IANA,RFC3240
-application/dns 'IANA,RFC4027
-application/dskpp+xml 'IANA,RFC6063
-application/dssc+der 'IANA,RFC5698
-application/dssc+xml 'IANA,RFC5698
-application/dvcs 'IANA,RFC3029
-application/ecmascript 'IANA,RFC4329
-application/EDI-Consent 'IANA,RFC1767
-application/EDI-X12 'IANA,RFC1767
-application/EDIFACT 'IANA,RFC1767
-application/emma+xml 'IANA,[W3C]
-application/encaprtp 'IANA,RFC6849
-application/epp+xml 'IANA,RFC5730
-application/eshop 'IANA,[Katz]
-application/example 'IANA,RFC4735
-application/exi 'IANA,[W3C]
-application/fastinfoset 'IANA,[ITU-T ASN.1 Rapporteur]
-application/fastsoap 'IANA,[ITU-T ASN.1 Rapporteur]
-application/fdt+xml 'IANA,RFC6726
-application/fits 'IANA,RFC4047
-application/font-tdpfr @pfr 'IANA,RFC3073
-application/font-woff @woff :base64 'IANA,[W3C]
-application/framework-attributes+xml 'IANA,RFC6230
-application/gzip 'IANA,RFC6713
-application/H224 'IANA,RFC4573
-application/held+xml 'IANA,RFC5985
-application/http 'IANA,RFC2616
-application/hyperstudio @stk 'IANA,[Domino]
-application/ibe-key-request+xml 'IANA,RFC5408
-application/ibe-pkg-reply+xml 'IANA,RFC5408
-application/ibe-pp-data 'IANA,RFC5408
-application/iges 'IANA,[Parks]
-application/im-iscomposing+xml 'IANA,RFC3994
-application/index 'IANA,RFC2652
-application/index.cmd 'IANA,RFC2652
-application/index.obj 'IANA,RFC2652
-application/index.response 'IANA,RFC2652
-application/index.vnd 'IANA,RFC2652
-application/inkml+xml 'IANA,[Ashimura]
-application/iotp 'IANA,RFC2935
-application/ipfix 'IANA,RFC5655
-application/ipp 'IANA,RFC2910
-application/isup 'IANA,RFC3204
-application/javascript @js :8bit 'IANA,RFC4329
-application/json @json :8bit 'IANA,RFC4627
-application/json-patch+json 'IANA,RFC6902
-application/kpml-request+xml 'IANA,RFC4730
-application/kpml-response+xml 'IANA,RFC4730
-application/link-format 'IANA,RFC6690
-application/lost+xml 'IANA,RFC5222
-application/lostsync+xml 'IANA,RFC6739
-application/mac-binhex40 @hqx :8bit 'IANA,[Faltstrom]
-application/macwriteii 'IANA,[Lindner]
-application/mads+xml 'IANA,RFC6207
-application/marc 'IANA,RFC2220
-application/marcxml+xml 'IANA,RFC6207
-application/mathematica 'IANA,[Wolfram]
-application/mathml+xml 'IANA,[W3C]
-application/mathml-content+xml 'IANA,[W3C]
-application/mathml-presentation+xml 'IANA,[W3C]
-application/mbms-associated-procedure-description+xml 'IANA,[3GPP]
-application/mbms-deregister+xml 'IANA,[3GPP]
-application/mbms-envelope+xml 'IANA,[3GPP]
-application/mbms-msk+xml 'IANA,[3GPP]
-application/mbms-msk-response+xml 'IANA,[3GPP]
-application/mbms-protection-description+xml 'IANA,[3GPP]
-application/mbms-reception-report+xml 'IANA,[3GPP]
-application/mbms-register+xml 'IANA,[3GPP]
-application/mbms-register-response+xml 'IANA,[3GPP]
-application/mbms-schedule+xml 'IANA,[3GPP],[Turcotte]
-application/mbms-user-service-description+xml 'IANA,[3GPP]
-application/mbox 'IANA,RFC4155
-application/media-policy-dataset+xml 'IANA,RFC6796
-application/media_control+xml 'IANA,RFC5168
-application/mediaservercontrol+xml 'IANA,RFC5022
-application/metalink4+xml 'IANA,RFC5854
-application/mets+xml 'IANA,RFC6207
-application/mikey 'IANA,RFC3830
-application/mods+xml 'IANA,RFC6207
-application/moss-keys 'IANA,RFC1848
-application/moss-signature 'IANA,RFC1848
-application/mosskey-data 'IANA,RFC1848
-application/mosskey-request 'IANA,RFC1848
-application/mp21 'IANA,RFC6381,[Singer]
-application/mp4 @mp4,mpg4 'IANA,RFC4337,RFC6381
-application/mpeg4-generic 'IANA,RFC3640
-application/mpeg4-iod 'IANA,RFC4337
-application/mpeg4-iod-xmt 'IANA,RFC4337
-application/mrb-consumer+xml 'IANA,RFC6917
-application/mrb-publish+xml 'IANA,RFC6917
-application/msc-ivr+xml 'IANA,RFC6231
-application/msc-mixer+xml 'IANA,RFC6505
-application/msword @doc,dot,wrd :base64 'IANA,[Lindner]
-application/mxf @mxf 'IANA,RFC4539
-application/nasdata 'IANA,RFC4707
-application/news-checkgroups 'IANA,RFC5537
-application/news-groupinfo 'IANA,RFC5537
-application/news-transmission 'IANA,RFC5537
-application/nlsml+xml 'IANA,RFC6787
-application/nss 'IANA,[Hammer]
-application/ocsp-request 'IANA,RFC6960
-application/ocsp-response 'IANA,RFC6960
-application/octet-stream @bin,dms,lha,lzh,exe,class,ani,pgp,so,dll,dylib :base64 'IANA,RFC2045,RFC2046
-application/oda @oda 'IANA,RFC2045,RFC2046
-application/oebps-package+xml 'IANA,RFC4839
-application/ogg @ogx 'IANA,RFC5334
-application/oxps 'IANA,[Ecma International Helpdesk]
-application/p2p-overlay+xml 'IANA,{RFC-ietf-p2psip-base-26=http://tools.ietf.org/html/draft-ietf-p2psip-base}
-application/parityfec 'IANA,RFC5109
-application/patch-ops-error+xml 'IANA,RFC5261
-application/pdf @pdf :base64 'IANA,RFC3778
-application/pgp-encrypted :7bit 'IANA,RFC3156
-application/pgp-keys :7bit 'IANA,RFC3156
-application/pgp-signature @sig :base64 'IANA,RFC3156
-application/pidf+xml 'IANA,RFC3863
-application/pidf-diff+xml 'IANA,RFC5262
-application/pkcs10 @p10 'IANA,RFC5967
-application/pkcs7-mime @p7m,p7c 'IANA,RFC5751
-application/pkcs7-signature @p7s 'IANA,RFC5751
-application/pkcs8 'IANA,RFC5958
-application/pkix-attr-cert 'IANA,RFC5877
-application/pkix-cert @cer 'IANA,RFC2585
-application/pkix-crl @crl 'IANA,RFC2585
-application/pkix-pkipath @pkipath 'IANA,RFC6066
-application/pkixcmp @pki 'IANA,RFC2510
-application/pls+xml 'IANA,RFC4267
-application/poc-settings+xml 'IANA,RFC4354
-application/postscript @ai,eps,ps :8bit 'IANA,RFC2045,RFC2046
-application/provenance+xml 'IANA,[3GPP],[Firmin]
-application/prs.alvestrand.titrax-sheet 'IANA,[Alvestrand]
-application/prs.cww @cw,cww 'IANA,[Rungchavalnont]
-application/prs.nprend @rnd,rct 'IANA,[Doggett]
-application/prs.plucker 'IANA,[Janssen]
-application/prs.rdf-xml-crypt 'IANA,[Inkster]
-application/prs.xsf+xml 'IANA,[Stührenberg=Stuhrenberg]
-application/pskc+xml 'IANA,RFC6030
-application/qsig 'IANA,RFC3204
-application/raptorfec 'IANA,RFC6682
-application/rdf+xml @rdf :8bit 'IANA,RFC3870
-application/reginfo+xml 'IANA,RFC3680
-application/relax-ng-compact-syntax 'IANA,{ISO/IEC 19757-2:2003/FDAM-1=http://www.jtc1sc34.org/repository/0661.pdf}
-application/remote-printing 'IANA,RFC1486,[Rose]
-application/resource-lists+xml 'IANA,RFC4826
-application/resource-lists-diff+xml 'IANA,RFC5362
-application/riscos 'IANA,[Smith]
-application/rlmi+xml 'IANA,RFC4662
-application/rls-services+xml 'IANA,RFC4826
-application/rpki-ghostbusters 'IANA,RFC6493
-application/rpki-manifest 'IANA,RFC6481
-application/rpki-roa 'IANA,RFC6481
-application/rpki-updown 'IANA,RFC6492
-application/rtf @rtf 'IANA,[Lindner]
-application/rtploopback 'IANA,RFC6849
-application/rtx 'IANA,RFC4588
-application/samlassertion+xml 'IANA,[OASIS Security Services Technical Committee (SSTC)]
-application/samlmetadata+xml 'IANA,[OASIS Security Services Technical Committee (SSTC)]
-application/sbml+xml 'IANA,RFC3823
-application/scvp-cv-request 'IANA,RFC5055
-application/scvp-cv-response 'IANA,RFC5055
-application/scvp-vp-request 'IANA,RFC5055
-application/scvp-vp-response 'IANA,RFC5055
-application/sdp 'IANA,RFC4566
-application/sep+xml 'IANA,[Robby_Simpson=RoSimpson],[ZigBee_Alliance=ZigBee]
-application/sep-exi 'IANA,[Robby_Simpson=RoSimpson],[ZigBee_Alliance=ZigBee]
-application/set-payment 'IANA,[Korver]
-application/set-payment-initiation 'IANA,[Korver]
-application/set-registration 'IANA,[Korver]
-application/set-registration-initiation 'IANA,[Korver]
-application/sgml @sgml 'IANA,RFC1874
-application/sgml-open-catalog @soc 'IANA,[Grosso]
-application/shf+xml 'IANA,RFC4194
-application/sieve @siv 'IANA,RFC5228
-application/simple-filter+xml 'IANA,RFC4661
-application/simple-message-summary 'IANA,RFC3842
-application/simpleSymbolContainer 'IANA,[3GPP]
-application/slate 'IANA,[Crowley]
-application/smil+xml @smi,smil :8bit 'IANA,RFC4536
-application/smpte336m 'IANA,RFC6597
-application/soap+fastinfoset 'IANA,[ITU-T ASN.1 Rapporteur]
-application/soap+xml 'IANA,RFC3902
-application/sparql-query 'IANA,[W3C]
-application/sparql-results+xml 'IANA,[W3C]
-application/spirits-event+xml 'IANA,RFC3910
-application/sql 'IANA,RFC6922
-application/srgs 'IANA,RFC4267
-application/srgs+xml 'IANA,RFC4267
-application/sru+xml 'IANA,RFC6207
-application/ssml+xml 'IANA,RFC4267
-application/tamp-apex-update 'IANA,RFC5934
-application/tamp-apex-update-confirm 'IANA,RFC5934
-application/tamp-community-update 'IANA,RFC5934
-application/tamp-community-update-confirm 'IANA,RFC5934
-application/tamp-error 'IANA,RFC5934
-application/tamp-sequence-adjust 'IANA,RFC5934
-application/tamp-sequence-adjust-confirm 'IANA,RFC5934
-application/tamp-status-query 'IANA,RFC5934
-application/tamp-status-response 'IANA,RFC5934
-application/tamp-update 'IANA,RFC5934
-application/tamp-update-confirm 'IANA,RFC5934
-application/tei+xml 'IANA,RFC6129
-application/thraud+xml 'IANA,RFC5941
-application/timestamp-query 'IANA,RFC3161
-application/timestamp-reply 'IANA,RFC3161
-application/timestamped-data 'IANA,RFC5955
-application/tve-trigger 'IANA,[Welsh]
-application/ulpfec 'IANA,RFC5109
-application/urc-grpsheet+xml 'IANA,[Zimmermann]
-application/urc-ressheet+xml 'IANA,[Zimmermann]
-application/vcard+xml 'IANA,RFC6351
-application/vemmi 'IANA,RFC2122
-application/vnd.3gpp.bsf+xml 'IANA,[Meredith]
-application/vnd.3gpp.pic-bw-large @plb 'IANA,[Meredith]
-application/vnd.3gpp.pic-bw-small @psb 'IANA,[Meredith]
-application/vnd.3gpp.pic-bw-var @pvb 'IANA,[Meredith]
-application/vnd.3gpp.sms @sms 'IANA,[Meredith]
-application/vnd.3gpp2.bcmcsinfo+xml 'IANA,[Dryden]
-application/vnd.3gpp2.sms 'IANA,[Mahendran]
-application/vnd.3gpp2.tcap 'IANA,[Mahendran]
-application/vnd.3M.Post-it-Notes 'IANA,[O'Brien]
-application/vnd.accpac.simply.aso 'IANA,[Leow]
-application/vnd.accpac.simply.imp 'IANA,[Leow]
-application/vnd.acucobol 'IANA,[Lubin]
-application/vnd.acucorp @atc,acutc :7bit 'IANA,[Lubin]
-application/vnd.adobe.formscentral.fcdt 'IANA,[Solc]
-application/vnd.adobe.fxp 'IANA,[Brambley],[Heintz]
-application/vnd.adobe.partial-upload 'IANA,[Otala]
-application/vnd.adobe.xdp+xml 'IANA,[Brinkman]
-application/vnd.adobe.xfdf @xfdf 'IANA,[Perelman]
-application/vnd.aether.imp 'IANA,[Moskowitz]
-application/vnd.ah-barcode 'IANA,[Ichinose]
-application/vnd.ahead.space 'IANA,[Kristensen]
-application/vnd.airzip.filesecure.azf 'IANA,[Mould],[Clueit]
-application/vnd.airzip.filesecure.azs 'IANA,[Mould],[Clueit]
-application/vnd.americandynamics.acc 'IANA,[Sands]
-application/vnd.amiga.ami @ami 'IANA,[Blumberg]
-application/vnd.amundsen.maze+xml 'IANA,[Amundsen]
-application/vnd.anser-web-certificate-issue-initiation 'IANA,[Mori]
-application/vnd.antix.game-component 'IANA,[Shelton]
-application/vnd.api+json 'IANA,[Klabnik]
-application/vnd.apple.installer+xml 'IANA,[Bierman]
-application/vnd.apple.mpegurl 'IANA,[Singer],[Pantos]
-application/vnd.aristanetworks.swi 'IANA,[Fenner]
-application/vnd.astraea-software.iota 'IANA,[Snazell]
-application/vnd.audiograph 'IANA,[Slusanschi]
-application/vnd.autopackage 'IANA,[Hearn]
-application/vnd.avistar+xml 'IANA,[Vysotsky]
-application/vnd.balsamiq.bmml+xml 'IANA,[Giacomo_Guilizzoni]
-application/vnd.blueice.multipass @mpm 'IANA,[Holmstrom]
-application/vnd.bluetooth.ep.oob 'IANA,[Foley]
-application/vnd.bmi 'IANA,[Gotoh]
-application/vnd.businessobjects 'IANA,[Imoucha]
-application/vnd.cab-jscript 'IANA,[Falkenberg]
-application/vnd.canon-cpdl 'IANA,[Muto]
-application/vnd.canon-lips 'IANA,[Muto]
-application/vnd.cendio.thinlinc.clientconf 'IANA,[Åstrand=Astrand]
-application/vnd.century-systems.tcp_stream 'IANA,[Shuji Fujii=Shuji_Fujii]
-application/vnd.chemdraw+xml 'IANA,[Howes]
-application/vnd.chipnuts.karaoke-mmd 'IANA,[Xiong]
-application/vnd.cinderella @cdy 'IANA,[Kortenkamp]
-application/vnd.cirpack.isdn-ext 'IANA,[Mayeux]
-application/vnd.claymore 'IANA,[Simpson]
-application/vnd.cloanto.rp9 'IANA,[Labatt]
-application/vnd.clonk.c4group 'IANA,[Brammer]
-application/vnd.cluetrust.cartomobile-config 'IANA,[Paulsen]
-application/vnd.cluetrust.cartomobile-config-pkg 'IANA,[Paulsen]
-application/vnd.collection+json 'IANA,[Amundsen]
-application/vnd.collection.next+json 'IANA,[Ioseb Dzmanashvili=Ioseb_Dzmanashvili]
-application/vnd.commerce-battelle 'IANA,[Applebaum]
-application/vnd.commonspace 'IANA,[Chandhok]
-application/vnd.contact.cmsg 'IANA,[Patz]
-application/vnd.cosmocaller @cmc 'IANA,[Dellutri]
-application/vnd.crick.clicker 'IANA,[Burt]
-application/vnd.crick.clicker.keyboard 'IANA,[Burt]
-application/vnd.crick.clicker.palette 'IANA,[Burt]
-application/vnd.crick.clicker.template 'IANA,[Burt]
-application/vnd.crick.clicker.wordbank 'IANA,[Burt]
-application/vnd.criticaltools.wbs+xml @wbs 'IANA,[Spiller]
-application/vnd.ctc-posml 'IANA,[Kohlhepp]
-application/vnd.ctct.ws+xml 'IANA,[Ancona]
-application/vnd.cups-pdf 'IANA,[Sweet]
-application/vnd.cups-postscript 'IANA,[Sweet]
-application/vnd.cups-ppd 'IANA,[Sweet]
-application/vnd.cups-raster 'IANA,[Sweet]
-application/vnd.cups-raw 'IANA,[Sweet]
-application/vnd.curl @curl 'IANA,[Byrnes]
-application/vnd.cyan.dean.root+xml 'IANA,[Kern]
-application/vnd.cybank 'IANA,[Helmee]
-application/vnd.dart 'IANA,[Sandholm]
-application/vnd.data-vision.rdz @rdz 'IANA,[Fields]
-application/vnd.dece.data 'IANA,[Dolan]
-application/vnd.dece.ttml+xml 'IANA,[Dolan]
-application/vnd.dece.unspecified 'IANA,[Dolan]
-application/vnd.dece.zip 'IANA,[Dolan]
-application/vnd.denovo.fcselayout-link 'IANA,[Dixon]
-application/vnd.desmume.movie 'IANA,[Andersson]
-application/vnd.dir-bi.plate-dl-nosuffix 'IANA,[Yamanaka]
-application/vnd.dm.delegation+xml 'IANA,[Ferrazzini]
-application/vnd.dna 'IANA,[Searcy]
-application/vnd.dolby.mobile.1 'IANA,[Hattersley]
-application/vnd.dolby.mobile.2 'IANA,[Hattersley]
-application/vnd.dpgraph 'IANA,[Parker]
-application/vnd.dreamfactory @dfac 'IANA,[Appleton]
-application/vnd.dtg.local 'IANA,[Ali_Teffahi]
-application/vnd.dtg.local.flash 'IANA,[Ali_Teffahi]
-application/vnd.dtg.local.html 'IANA,[Ali_Teffahi]
-application/vnd.dvb.ait 'IANA,[Siebert],[Lagally]
-application/vnd.dvb.dvbj 'IANA,[Siebert],[Lagally]
-application/vnd.dvb.esgcontainer 'IANA,[Heuer]
-application/vnd.dvb.ipdcdftnotifaccess 'IANA,[Yue]
-application/vnd.dvb.ipdcesgaccess 'IANA,[Heuer]
-application/vnd.dvb.ipdcesgaccess2 'IANA,[Marcon]
-application/vnd.dvb.ipdcesgpdd 'IANA,[Marcon]
-application/vnd.dvb.ipdcroaming 'IANA,[Xu]
-application/vnd.dvb.iptv.alfec-base 'IANA,[Henry]
-application/vnd.dvb.iptv.alfec-enhancement 'IANA,[Henry]
-application/vnd.dvb.notif-aggregate-root+xml 'IANA,[Yue]
-application/vnd.dvb.notif-container+xml 'IANA,[Yue]
-application/vnd.dvb.notif-generic+xml 'IANA,[Yue]
-application/vnd.dvb.notif-ia-msglist+xml 'IANA,[Yue]
-application/vnd.dvb.notif-ia-registration-request+xml 'IANA,[Yue]
-application/vnd.dvb.notif-ia-registration-response+xml 'IANA,[Yue]
-application/vnd.dvb.notif-init+xml 'IANA,[Yue]
-application/vnd.dvb.pfr 'IANA,[Siebert],[Lagally]
-application/vnd.dvb.service 'IANA,[Siebert],[Lagally]
-application/vnd.dxr 'IANA,[Duffy]
-application/vnd.dynageo 'IANA,[Mechling]
-application/vnd.easykaraoke.cdgdownload 'IANA,[Downs]
-application/vnd.ecdis-update 'IANA,[Buettgenbach]
-application/vnd.ecowin.chart 'IANA,[Olsson]
-application/vnd.ecowin.filerequest 'IANA,[Olsson]
-application/vnd.ecowin.fileupdate 'IANA,[Olsson]
-application/vnd.ecowin.series 'IANA,[Olsson]
-application/vnd.ecowin.seriesrequest 'IANA,[Olsson]
-application/vnd.ecowin.seriesupdate 'IANA,[Olsson]
-application/vnd.emclient.accessrequest+xml 'IANA,[Navara]
-application/vnd.enliven 'IANA,[Santinelli]
-application/vnd.eprints.data+xml 'IANA,[Brody]
-application/vnd.epson.esf 'IANA,[Hoshina]
-application/vnd.epson.msf 'IANA,[Hoshina]
-application/vnd.epson.quickanime 'IANA,[Gu]
-application/vnd.epson.salt 'IANA,[Nagatomo]
-application/vnd.epson.ssf 'IANA,[Hoshina]
-application/vnd.ericsson.quickcall 'IANA,[Tidwell]
-application/vnd.eszigno3+xml 'IANA,[Tóth=Toth]
-application/vnd.etsi.aoc+xml 'IANA,[Hu]
-application/vnd.etsi.cug+xml 'IANA,[Hu]
-application/vnd.etsi.iptvcommand+xml 'IANA,[Hu]
-application/vnd.etsi.iptvdiscovery+xml 'IANA,[Hu]
-application/vnd.etsi.iptvprofile+xml 'IANA,[Hu]
-application/vnd.etsi.iptvsad-bc+xml 'IANA,[Hu]
-application/vnd.etsi.iptvsad-cod+xml 'IANA,[Hu]
-application/vnd.etsi.iptvsad-npvr+xml 'IANA,[Hu]
-application/vnd.etsi.iptvservice+xml 'IANA,[Ortega]
-application/vnd.etsi.iptvsync+xml 'IANA,[Ortega]
-application/vnd.etsi.iptvueprofile+xml 'IANA,[Hu]
-application/vnd.etsi.mcid+xml 'IANA,[Hu]
-application/vnd.etsi.mheg5 'IANA,[Ortega],[Medland]
-application/vnd.etsi.overload-control-policy-dataset+xml 'IANA,[Ortega]
-application/vnd.etsi.pstn+xml 'IANA,[Han],[Belling]
-application/vnd.etsi.sci+xml 'IANA,[Hu]
-application/vnd.etsi.simservs+xml 'IANA,[Hu]
-application/vnd.etsi.tsl+xml 'IANA,[Hu]
-application/vnd.etsi.tsl.der 'IANA,[Hu]
-application/vnd.eudora.data 'IANA,[Resnick]
-application/vnd.ezpix-album 'IANA,[Electronic Zombie, Corp.=ElectronicZombieCorp]
-application/vnd.ezpix-package 'IANA,[Electronic Zombie, Corp.=ElectronicZombieCorp]
-application/vnd.f-secure.mobile 'IANA,[Sarivaara]
-application/vnd.fdf 'IANA,[Zilles]
-application/vnd.fdsn.mseed 'IANA,[Trabant]
-application/vnd.fdsn.seed 'IANA,[Trabant]
-application/vnd.ffsns 'IANA,[Holstage]
-application/vnd.fints 'IANA,[Hammann]
-application/vnd.FloGraphIt 'IANA,[Floersch]
-application/vnd.fluxtime.clip 'IANA,[Winter]
-application/vnd.font-fontforge-sfd 'IANA,[Williams]
-application/vnd.framemaker @frm,maker,frame,fm,fb,book,fbdoc 'IANA,[Wexler]
-application/vnd.frogans.fnc 'IANA,[Tamas]
-application/vnd.frogans.ltf 'IANA,[Tamas]
-application/vnd.fsc.weblaunch @fsc :7bit 'IANA,[D.Smith]
-application/vnd.fujitsu.oasys 'IANA,[Togashi]
-application/vnd.fujitsu.oasys2 'IANA,[Togashi]
-application/vnd.fujitsu.oasys3 'IANA,[Okudaira]
-application/vnd.fujitsu.oasysgp 'IANA,[Sugimoto]
-application/vnd.fujitsu.oasysprs 'IANA,[Ogita]
-application/vnd.fujixerox.ART-EX 'IANA,[Tanabe]
-application/vnd.fujixerox.ART4 'IANA,[Tanabe]
-application/vnd.fujixerox.ddd 'IANA,[Onda]
-application/vnd.fujixerox.docuworks 'IANA,[Taguchi]
-application/vnd.fujixerox.docuworks.binder 'IANA,[Matsumoto]
-application/vnd.fujixerox.docuworks.container 'IANA,[Tashiro]
-application/vnd.fujixerox.HBPL 'IANA,[Tanabe]
-application/vnd.fut-misnet 'IANA,[Pruulmann]
-application/vnd.fuzzysheet 'IANA,[Birtwistle]
-application/vnd.genomatix.tuxedo @txd 'IANA,[Frey]
-application/vnd.geogebra.file 'IANA,[GeoGebra],[Kreis]
-application/vnd.geogebra.tool 'IANA,[GeoGebra],[Kreis]
-application/vnd.geometry-explorer 'IANA,[Hvidsten]
-application/vnd.geonext 'IANA,[Ehmann]
-application/vnd.geoplan 'IANA,[Mercat]
-application/vnd.geospace 'IANA,[Mercat]
-application/vnd.globalplatform.card-content-mgt 'IANA,[Bernabeu]
-application/vnd.globalplatform.card-content-mgt-response 'IANA,[Bernabeu]
-application/vnd.google-earth.kml+xml @kml :8bit 'IANA,[Ashbridge]
-application/vnd.google-earth.kmz @kmz :8bit 'IANA,[Ashbridge]
-application/vnd.grafeq 'IANA,[Tupper]
-application/vnd.gridmp 'IANA,[Lawson]
-application/vnd.groove-account 'IANA,[Joseph]
-application/vnd.groove-help 'IANA,[Joseph]
-application/vnd.groove-identity-message 'IANA,[Joseph]
-application/vnd.groove-injector 'IANA,[Joseph]
-application/vnd.groove-tool-message 'IANA,[Joseph]
-application/vnd.groove-tool-template 'IANA,[Joseph]
-application/vnd.groove-vcard 'IANA,[Joseph]
-application/vnd.hal+json 'IANA,[Kelly]
-application/vnd.hal+xml 'IANA,[Kelly]
-application/vnd.HandHeld-Entertainment+xml 'IANA,[Hamilton]
-application/vnd.hbci @hbci,hbc,kom,upa,pkd,bpd 'IANA,[Hammann]
-application/vnd.hcl-bireports 'IANA,[Serres]
-application/vnd.hhe.lesson-player @les 'IANA,[Jones]
-application/vnd.hp-HPGL @plt,hpgl 'IANA,[Pentecost]
-application/vnd.hp-hpid 'IANA,[Gupta]
-application/vnd.hp-hps 'IANA,[Aubrey]
-application/vnd.hp-jlyt 'IANA,[Gaash]
-application/vnd.hp-PCL 'IANA,[Pentecost]
-application/vnd.hp-PCLXL 'IANA,[Pentecost]
-application/vnd.httphone 'IANA,[Lefevre]
-application/vnd.hydrostatix.sof-data 'IANA,[Gillam]
-application/vnd.hzn-3d-crossword 'IANA,[Minnis]
-application/vnd.ibm.afplinedata 'IANA,[Buis]
-application/vnd.ibm.electronic-media @emm 'IANA,[Tantlinger]
-application/vnd.ibm.MiniPay 'IANA,[Herzberg]
-application/vnd.ibm.modcap 'IANA,[Hohensee]
-application/vnd.ibm.rights-management @irm 'IANA,[Tantlinger]
-application/vnd.ibm.secure-container @sc 'IANA,[Tantlinger]
-application/vnd.iccprofile 'IANA,[Green]
-application/vnd.ieee.1905 'IANA,[Rajkotia]
-application/vnd.igloader 'IANA,[Fisher]
-application/vnd.immervision-ivp 'IANA,[Villegas]
-application/vnd.immervision-ivu 'IANA,[Villegas]
-application/vnd.informedcontrol.rms+xml 'IANA,[Wahl]
-application/vnd.informix-visionary 'IANA,[Gales]
-application/vnd.infotech.project 'IANA,[Engelke]
-application/vnd.infotech.project+xml 'IANA,[Engelke]
-application/vnd.innopath.wamp.notification 'IANA,[Sudo]
-application/vnd.insors.igm 'IANA,[Swanson]
-application/vnd.intercon.formnet 'IANA,[Gurak]
-application/vnd.intergeo 'IANA,[Kreis=Kreis2]
-application/vnd.intertrust.digibox 'IANA,[Tomasello]
-application/vnd.intertrust.nncp 'IANA,[Tomasello]
-application/vnd.intu.qbo 'IANA,[Scratchley]
-application/vnd.intu.qfx 'IANA,[Scratchley]
-application/vnd.iptc.g2.conceptitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.knowledgeitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.newsitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.newsmessage+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.packageitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.planningitem+xml 'IANA,[Steidl]
-application/vnd.ipunplugged.rcprofile @rcprofile 'IANA,[Ersson]
-application/vnd.irepository.package+xml @irp 'IANA,[Knowles]
-application/vnd.is-xpr 'IANA,[Natarajan]
-application/vnd.isac.fcs 'IANA,[RBrinkman]
-application/vnd.jam 'IANA,[B.Kumar]
-application/vnd.japannet-directory-service 'IANA,[Fujii]
-application/vnd.japannet-jpnstore-wakeup 'IANA,[Yoshitake]
-application/vnd.japannet-payment-wakeup 'IANA,[Fujii]
-application/vnd.japannet-registration 'IANA,[Yoshitake]
-application/vnd.japannet-registration-wakeup 'IANA,[Fujii]
-application/vnd.japannet-setstore-wakeup 'IANA,[Yoshitake]
-application/vnd.japannet-verification 'IANA,[Yoshitake]
-application/vnd.japannet-verification-wakeup 'IANA,[Fujii]
-application/vnd.jcp.javame.midlet-rms 'IANA,[Gorshenev]
-application/vnd.jisp @jisp 'IANA,[Deckers]
-application/vnd.joost.joda-archive 'IANA,[Joost]
-application/vnd.jsk.isdn-ngn 'IANA,[Kiyonobu]
-application/vnd.kahootz 'IANA,[Macdonald]
-application/vnd.kde.karbon @karbon 'IANA,[Faure]
-application/vnd.kde.kchart @chrt 'IANA,[Faure]
-application/vnd.kde.kformula @kfo 'IANA,[Faure]
-application/vnd.kde.kivio @flw 'IANA,[Faure]
-application/vnd.kde.kontour @kon 'IANA,[Faure]
-application/vnd.kde.kpresenter @kpr,kpt 'IANA,[Faure]
-application/vnd.kde.kspread @ksp 'IANA,[Faure]
-application/vnd.kde.kword @kwd,kwt 'IANA,[Faure]
-application/vnd.kenameaapp @htke 'IANA,[DiGiorgio-Haag]
-application/vnd.kidspiration @kia 'IANA,[Bennett]
-application/vnd.Kinar @kne,knp,sdf 'IANA,[Thakkar]
-application/vnd.koan 'IANA,[Cole]
-application/vnd.kodak-descriptor 'IANA,[Donahue]
-application/vnd.las.las+xml 'IANA,[Bailey=RBailey]
-application/vnd.liberty-request+xml 'IANA,[McDowell]
-application/vnd.llamagraphics.life-balance.desktop @lbd 'IANA,[White]
-application/vnd.llamagraphics.life-balance.exchange+xml @lbe 'IANA,[White]
-application/vnd.lotus-1-2-3 @wks,123 'IANA,[Wattenberger]
-application/vnd.lotus-approach 'IANA,[Wattenberger]
-application/vnd.lotus-freelance 'IANA,[Wattenberger]
-application/vnd.lotus-notes 'IANA,[Laramie]
-application/vnd.lotus-organizer 'IANA,[Wattenberger]
-application/vnd.lotus-screencam 'IANA,[Wattenberger]
-application/vnd.lotus-wordpro 'IANA,[Wattenberger]
-application/vnd.macports.portpkg 'IANA,[Berry]
-application/vnd.marlin.drm.actiontoken+xml 'IANA,[Ellison]
-application/vnd.marlin.drm.conftoken+xml 'IANA,[Ellison]
-application/vnd.marlin.drm.license+xml 'IANA,[Ellison]
-application/vnd.marlin.drm.mdcf 'IANA,[Ellison]
-application/vnd.mcd @mcd 'IANA,[Gotoh]
-application/vnd.medcalcdata 'IANA,[Schoonjans]
-application/vnd.mediastation.cdkey 'IANA,[Flurry]
-application/vnd.meridian-slingshot 'IANA,[Wedel]
-application/vnd.MFER 'IANA,[Hirai]
-application/vnd.mfmp @mfm 'IANA,[Ikeda]
-application/vnd.micrografx.flo @flo 'IANA,[Prevo]
-application/vnd.micrografx.igx @igx 'IANA,[Prevo]
-application/vnd.mif @mif 'IANA,[Wexler]
-application/vnd.minisoft-hp3000-save 'IANA,[Bartram]
-application/vnd.mitsubishi.misty-guard.trustweb 'IANA,[Tanaka]
-application/vnd.Mobius.DAF 'IANA,[Kabayama]
-application/vnd.Mobius.DIS 'IANA,[Kabayama]
-application/vnd.Mobius.MBK 'IANA,[Devasia]
-application/vnd.Mobius.MQY 'IANA,[Devasia]
-application/vnd.Mobius.MSL 'IANA,[Kabayama]
-application/vnd.Mobius.PLC 'IANA,[Kabayama]
-application/vnd.Mobius.TXF 'IANA,[Kabayama]
-application/vnd.mophun.application @mpn 'IANA,[Wennerstrom]
-application/vnd.mophun.certificate @mpc 'IANA,[Wennerstrom]
-application/vnd.motorola.flexsuite 'IANA,[Patton]
-application/vnd.motorola.flexsuite.adsi 'IANA,[Patton]
-application/vnd.motorola.flexsuite.fis 'IANA,[Patton]
-application/vnd.motorola.flexsuite.gotap 'IANA,[Patton]
-application/vnd.motorola.flexsuite.kmr 'IANA,[Patton]
-application/vnd.motorola.flexsuite.ttc 'IANA,[Patton]
-application/vnd.motorola.flexsuite.wem 'IANA,[Patton]
-application/vnd.motorola.iprm 'IANA,[Shamsaasef]
-application/vnd.mozilla.xul+xml @xul 'IANA,[McDaniel]
-application/vnd.ms-artgalry @cil 'IANA,[Slawson]
-application/vnd.ms-asf @asf 'IANA,[Fleischman]
-application/vnd.ms-cab-compressed @cab 'IANA,[Scarborough]
-application/vnd.ms-excel @xls,xlt :base64 'IANA,[Gill]
-application/vnd.ms-excel.addin.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-excel.sheet.binary.macroEnabled.12 @xlsb 'IANA,[Rae]
-application/vnd.ms-excel.sheet.macroEnabled.12 @xlsm 'IANA,[Rae]
-application/vnd.ms-excel.template.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-fontobject 'IANA,[Scarborough]
-application/vnd.ms-htmlhelp 'IANA,[Techtonik]
-application/vnd.ms-ims 'IANA,[Ledoux]
-application/vnd.ms-lrm @lrm 'IANA,[Ledoux]
-application/vnd.ms-office.activeX+xml 'IANA,[Rae]
-application/vnd.ms-officetheme 'IANA,[Rae]
-application/vnd.ms-playready.initiator+xml 'IANA,[Schneider]
-application/vnd.ms-powerpoint @ppt,pps,pot :base64 'IANA,[Gill]
-application/vnd.ms-powerpoint.addin.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.presentation.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.slide.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.slideshow.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.template.macroEnabled.12 @potm 'IANA,[Rae]
-application/vnd.ms-project @mpp :base64 'IANA,[Gill]
-application/vnd.ms-tnef :base64 'IANA,[Gill]
-application/vnd.ms-windows.printerpairing 'IANA,[Hutchings]
-application/vnd.ms-wmdrm.lic-chlg-req 'IANA,[Lau]
-application/vnd.ms-wmdrm.lic-resp 'IANA,[Lau]
-application/vnd.ms-wmdrm.meter-chlg-req 'IANA,[Lau]
-application/vnd.ms-wmdrm.meter-resp 'IANA,[Lau]
-application/vnd.ms-word.document.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-word.template.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-works :base64 'IANA,[Gill]
-application/vnd.ms-wpl @wpl :base64 'IANA,[Plastina]
-application/vnd.ms-xpsdocument @xps :8bit 'IANA,[McGatha]
-application/vnd.mseq @mseq 'IANA,[Le Bodic]
-application/vnd.msign 'IANA,[Borcherding]
-application/vnd.multiad.creator 'IANA,[Mills]
-application/vnd.multiad.creator.cif 'IANA,[Mills]
-application/vnd.music-niff 'IANA,[Butler]
-application/vnd.musician 'IANA,[Adams]
-application/vnd.muvee.style 'IANA,[Anantharamu]
-application/vnd.mynfc 'IANA,[Lefevre]
-application/vnd.ncd.control 'IANA,[Tarkkala]
-application/vnd.ncd.reference 'IANA,[Tarkkala]
-application/vnd.nervana @ent,entity,req,request,bkm,kcm 'IANA,[Judkins]
-application/vnd.netfpx 'IANA,[Mutz]
-application/vnd.neurolanguage.nlu 'IANA,[DuFeu]
-application/vnd.nintendo.nitro.rom 'IANA,[Andersson]
-application/vnd.nitf 'IANA,[Rogan]
-application/vnd.noblenet-directory 'IANA,[Solomon]
-application/vnd.noblenet-sealer 'IANA,[Solomon]
-application/vnd.noblenet-web 'IANA,[Solomon]
-application/vnd.nokia.catalogs 'IANA,[Nokia]
-application/vnd.nokia.conml+wbxml 'IANA,[Nokia]
-application/vnd.nokia.conml+xml 'IANA,[Nokia]
-application/vnd.nokia.iptv.config+xml 'IANA,[Nokia]
-application/vnd.nokia.iSDS-radio-presets 'IANA,[Nokia]
-application/vnd.nokia.landmark+wbxml 'IANA,[Nokia]
-application/vnd.nokia.landmark+xml 'IANA,[Nokia]
-application/vnd.nokia.landmarkcollection+xml 'IANA,[Nokia]
-application/vnd.nokia.n-gage.ac+xml 'IANA,[Nokia]
-application/vnd.nokia.n-gage.data 'IANA,[Nokia]
-application/vnd.nokia.n-gage.symbian.install 'IANA,[Nokia]
-application/vnd.nokia.ncd 'IANA,[Nokia]
-application/vnd.nokia.pcd+wbxml 'IANA,[Nokia]
-application/vnd.nokia.pcd+xml 'IANA,[Nokia]
-application/vnd.nokia.radio-preset @rpst 'IANA,[Nokia]
-application/vnd.nokia.radio-presets @rpss 'IANA,[Nokia]
-application/vnd.novadigm.EDM 'IANA,[Swenson]
-application/vnd.novadigm.EDX 'IANA,[Swenson]
-application/vnd.novadigm.EXT 'IANA,[Swenson]
-application/vnd.ntt-local.content-share 'IANA,[Taya]
-application/vnd.ntt-local.file-transfer 'IANA,[NTT-local]
-application/vnd.ntt-local.sip-ta_remote 'IANA,[NTT-local]
-application/vnd.ntt-local.sip-ta_tcp_stream 'IANA,[NTT-local]
-application/vnd.oasis.opendocument.chart @odc 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.chart-template @odc 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.database @odb 'IANA,[Schubert],[Oasis OpenDocument TC=OASIS OpenDocumentTC]
-application/vnd.oasis.opendocument.formula @odf 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.formula-template @odf 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.graphics @odg 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.graphics-template @otg 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.image @odi 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.image-template @odi 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.presentation @odp 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.presentation-template @otp 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.spreadsheet @ods 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.spreadsheet-template @ots 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.text @odt 'IANA,[Oppermann]
-application/vnd.oasis.opendocument.text-master @odm 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.text-template @ott 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.text-web @oth 'IANA,[Schubert],[OASIS]
-application/vnd.obn 'IANA,[Hessling]
-application/vnd.oftn.l10n+json 'IANA,[Grey]
-application/vnd.oipf.contentaccessdownload+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.contentaccessstreaming+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.cspg-hexbinary 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.dae.svg+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.dae.xhtml+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.mippvcontrolmessage+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.pae.gem 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.spdiscovery+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.spdlist+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.ueprofile+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.userprofile+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.olpc-sugar 'IANA,[Palmieri]
-application/vnd.oma-scws-config 'IANA,[Mahalal]
-application/vnd.oma-scws-http-request 'IANA,[Mahalal]
-application/vnd.oma-scws-http-response 'IANA,[Mahalal]
-application/vnd.oma.bcast.associated-procedure-parameter+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.drm-trigger+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.imd+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.ltkm 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.notification+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.provisioningtrigger 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sgboot 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sgdd+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sgdu 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.simple-symbol-container 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.smartcard-trigger+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sprov+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.stkm 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.cab-address-book+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.cab-pcc+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.cab-subs-invite+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.cab-user-prefs+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.dcd 'IANA,[Primo],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.dcdc 'IANA,[Primo],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.dd2+xml 'IANA,[Sato],[Open Mobile Alliance's BAC DLDRM Working Group]
-application/vnd.oma.drm.risd+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.group-usage-list+xml 'IANA,[Kelley],[OMA Presence and Availability (PAG) Working Group]
-application/vnd.oma.pal+xml 'IANA,[McColgan],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.poc.detailed-progress-report+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.final-report+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.groups+xml 'IANA,[Kelley],[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.invocation-descriptor+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.optimized-progress-report+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.push 'IANA,[Sullivan],[OMA]
-application/vnd.oma.scidm.messages+xml 'IANA,[Zeng],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.xcap-directory+xml 'IANA,[Kelley],[OMA Presence and Availability (PAG) Working Group]
-application/vnd.omads-email+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.omads-file+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.omads-folder+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.omaloc-supl-init 'IANA,[Grange]
-application/vnd.openofficeorg.extension 'IANA,[Lingner]
-application/vnd.openxmlformats-officedocument.custom-properties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.customXmlProperties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawing+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.chart+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.extended-properties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.comments+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.presentation @pptx 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.presProps+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slide 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slide+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideshow @ppsx 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.tags+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.template @potx 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.template.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet @xlsx 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.template 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.theme+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.themeOverride+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.vmlDrawing 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.document @docx 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.template @dotx 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml 'IANA,[Murata]
-application/vnd.openxmlformats-package.core-properties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml 'IANA,[Murata]
-application/vnd.openxmlformats-package.relationships+xml 'IANA,[Murata]
-application/vnd.orange.indata 'IANA,[CHATRAS_Bruno]
-application/vnd.osa.netdeploy 'IANA,[Klos]
-application/vnd.osgeo.mapguide.package 'IANA,[Birch]
-application/vnd.osgi.bundle 'IANA,[Kriens]
-application/vnd.osgi.dp 'IANA,[Kriens]
-application/vnd.osgi.subsystem 'IANA,[Kriens]
-application/vnd.otps.ct-kip+xml 'IANA,[Nyström=Nystrom]
-application/vnd.palm @prc,pdb,pqa,oprc :base64 'IANA,[Peacock]
-application/vnd.paos.xml 'IANA,[Kemp]
-application/vnd.pawaafile 'IANA,[Baskaran]
-application/vnd.pg.format 'IANA,[Gandert]
-application/vnd.pg.osasli 'IANA,[Gandert]
-application/vnd.piaccess.application-licence 'IANA,[Maneos]
-application/vnd.picsel @efif 'IANA,[Naccarato]
-application/vnd.pmi.widget 'IANA,[Lewis]
-application/vnd.poc.group-advertisement+xml 'IANA,[Kelley],[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.pocketlearn 'IANA,[Pando]
-application/vnd.powerbuilder6 'IANA,[Guy]
-application/vnd.powerbuilder6-s 'IANA,[Guy]
-application/vnd.powerbuilder7 'IANA,[Shilts]
-application/vnd.powerbuilder7-s 'IANA,[Shilts]
-application/vnd.powerbuilder75 'IANA,[Shilts]
-application/vnd.powerbuilder75-s 'IANA,[Shilts]
-application/vnd.preminet 'IANA,[Tenhunen]
-application/vnd.previewsystems.box 'IANA,[Smolgovsky]
-application/vnd.proteus.magazine 'IANA,[Hoch]
-application/vnd.publishare-delta-tree 'IANA,[Ben-Kiki]
-application/vnd.pvi.ptid1 @pti,ptid 'IANA,[Lamb]
-application/vnd.pwg-multiplexed 'IANA,RFC3391
-application/vnd.pwg-xhtml-print+xml 'IANA,[Wright]
-application/vnd.qualcomm.brew-app-res 'IANA,[Forrester]
-application/vnd.Quark.QuarkXPress @qxd,qxt,qwd,qwt,qxl,qxb :8bit 'IANA,[Scheidler]
-application/vnd.quobject-quoxdocument 'IANA,[Ludwig]
-application/vnd.radisys.moml+xml 'IANA,RFC5707
-application/vnd.radisys.msml+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-conf+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-conn+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-dialog+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-stream+xml 'IANA,RFC5707
-application/vnd.radisys.msml-conf+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-base+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-fax-detect+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-fax-sendrecv+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-group+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-speech+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-transform+xml 'IANA,RFC5707
-application/vnd.rainstor.data 'IANA,[Crook]
-application/vnd.rapid 'IANA,[Szekely]
-application/vnd.realvnc.bed 'IANA,[Reeves]
-application/vnd.recordare.musicxml 'IANA,[Good]
-application/vnd.recordare.musicxml+xml 'IANA,[Good]
-application/vnd.RenLearn.rlprint 'IANA,[Wick]
-application/vnd.rig.cryptonote 'IANA,[Jibiki]
-application/vnd.route66.link66+xml 'IANA,[Kikstra]
-application/vnd.rs-274x 'IANA,[Harding]
-application/vnd.ruckus.download 'IANA,[Harris]
-application/vnd.s3sms 'IANA,[Tarkkala]
-application/vnd.sailingtracker.track 'IANA,[Vesalainen]
-application/vnd.sbm.cid 'IANA,[Kusakari]
-application/vnd.sbm.mid2 'IANA,[Murai]
-application/vnd.scribus 'IANA,[Bradney]
-application/vnd.sealed.3df 'IANA,[Kwan]
-application/vnd.sealed.csf 'IANA,[Kwan]
-application/vnd.sealed.doc @sdoc,sdo,s1w 'IANA,[Petersen]
-application/vnd.sealed.eml @seml,sem 'IANA,[Petersen]
-application/vnd.sealed.mht @smht,smh 'IANA,[Petersen]
-application/vnd.sealed.net 'IANA,[Lambert]
-application/vnd.sealed.ppt @sppt,spp,s1p 'IANA,[Petersen]
-application/vnd.sealed.tiff 'IANA,[Kwan],[Lambert]
-application/vnd.sealed.xls @sxls,sxl,s1e 'IANA,[Petersen]
-application/vnd.sealedmedia.softseal.html @stml,stm,s1h 'IANA,[Petersen]
-application/vnd.sealedmedia.softseal.pdf @spdf,spd,s1a 'IANA,[Petersen]
-application/vnd.seemail @see 'IANA,[Webb]
-application/vnd.sema 'IANA,[Hansson]
-application/vnd.semd 'IANA,[Hansson]
-application/vnd.semf 'IANA,[Hansson]
-application/vnd.shana.informed.formdata 'IANA,[Selzler]
-application/vnd.shana.informed.formtemplate 'IANA,[Selzler]
-application/vnd.shana.informed.interchange 'IANA,[Selzler]
-application/vnd.shana.informed.package 'IANA,[Selzler]
-application/vnd.SimTech-MindMapper 'IANA,[Koh]
-application/vnd.siren+json 'IANA,[Swiber]
-application/vnd.smaf @mmf 'IANA,[Takahashi]
-application/vnd.smart.notebook 'IANA,[Neitz]
-application/vnd.smart.teacher 'IANA,[Boyle]
-application/vnd.software602.filler.form+xml 'IANA,[Hytka],[Vondrous]
-application/vnd.software602.filler.form-xml-zip 'IANA,[Hytka],[Vondrous]
-application/vnd.solent.sdkm+xml 'IANA,[Gauntlett]
-application/vnd.spotfire.dxp 'IANA,[Jernberg]
-application/vnd.spotfire.sfs 'IANA,[Jernberg]
-application/vnd.sss-cod 'IANA,[Dani]
-application/vnd.sss-dtf 'IANA,[Bruno]
-application/vnd.sss-ntf 'IANA,[Bruno]
-application/vnd.stepmania.package 'IANA,[Andersson]
-application/vnd.stepmania.stepchart 'IANA,[Andersson]
-application/vnd.street-stream 'IANA,[Levitt]
-application/vnd.sun.wadl+xml 'IANA,[Hadley]
-application/vnd.sus-calendar @sus,susp 'IANA,[Niedfeldt]
-application/vnd.svd 'IANA,[Becker]
-application/vnd.swiftview-ics 'IANA,[Widener]
-application/vnd.syncml+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.syncml.dm+wbxml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dm+xml 'IANA,[Rao],[OMA-DM Work Group]
-application/vnd.syncml.dm.notification 'IANA,[Thompson],[OMA-DM Work Group]
-application/vnd.syncml.dmddf+wbxml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dmddf+xml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dmtnds+wbxml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dmtnds+xml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.ds.notification 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.tao.intent-module-archive 'IANA,[Shelton]
-application/vnd.tmobile-livetv 'IANA,[Helin]
-application/vnd.trid.tpt 'IANA,[Cusack]
-application/vnd.triscape.mxs 'IANA,[Simonoff]
-application/vnd.trueapp 'IANA,[Hepler]
-application/vnd.truedoc 'IANA,[Chase]
-application/vnd.ubisoft.webplayer 'IANA,[Talbot]
-application/vnd.ufdl 'IANA,[Manning]
-application/vnd.uiq.theme 'IANA,[Ocock]
-application/vnd.umajin 'IANA,[Riden]
-application/vnd.unity 'IANA,[Unity3d]
-application/vnd.uoml+xml 'IANA,[Gerdes]
-application/vnd.uplanet.alert 'IANA,[Martin]
-application/vnd.uplanet.alert-wbxml 'IANA,[Martin]
-application/vnd.uplanet.bearer-choice 'IANA,[Martin]
-application/vnd.uplanet.bearer-choice-wbxml 'IANA,[Martin]
-application/vnd.uplanet.cacheop 'IANA,[Martin]
-application/vnd.uplanet.cacheop-wbxml 'IANA,[Martin]
-application/vnd.uplanet.channel 'IANA,[Martin]
-application/vnd.uplanet.channel-wbxml 'IANA,[Martin]
-application/vnd.uplanet.list 'IANA,[Martin]
-application/vnd.uplanet.list-wbxml 'IANA,[Martin]
-application/vnd.uplanet.listcmd 'IANA,[Martin]
-application/vnd.uplanet.listcmd-wbxml 'IANA,[Martin]
-application/vnd.uplanet.signal 'IANA,[Martin]
-application/vnd.vcx 'IANA,[T.Sugimoto]
-application/vnd.vd-study 'IANA,[Rogge]
-application/vnd.vectorworks 'IANA,[Ferguson],[Sarkar]
-application/vnd.verimatrix.vcas 'IANA,[Peterka]
-application/vnd.vidsoft.vidconference @vsc :8bit 'IANA,[Hess]
-application/vnd.visio @vsd,vst,vsw,vss 'IANA,[Sandal]
-application/vnd.visionary @vis 'IANA,[Aravindakumar]
-application/vnd.vividence.scriptfile 'IANA,[Risher]
-application/vnd.vsf 'IANA,[Rowe]
-application/vnd.wap.sic @sic 'IANA,[WAP-Forum]
-application/vnd.wap.slc @slc 'IANA,[WAP-Forum]
-application/vnd.wap.wbxml @wbxml 'IANA,[Stark]
-application/vnd.wap.wmlc @wmlc 'IANA,[Stark]
-application/vnd.wap.wmlscriptc @wmlsc 'IANA,[Stark]
-application/vnd.webturbo @wtb 'IANA,[Rehem]
-application/vnd.wfa.wsc 'IANA,[Wi-Fi Alliance]
-application/vnd.windows.devicepairing 'IANA,[Dandawate]
-application/vnd.wmc 'IANA,[Kjørnes=Kjornes]
-application/vnd.wmf.bootstrap 'IANA,[Nguyenphu],[Iyer]
-application/vnd.wolfram.mathematica 'IANA,[Wolfram]
-application/vnd.wolfram.mathematica.package 'IANA,[Wolfram]
-application/vnd.wolfram.player 'IANA,[Wolfram]
-application/vnd.wordperfect @wpd 'IANA,[Scarborough]
-application/vnd.wqd @wqd 'IANA,[Bostrom]
-application/vnd.wrq-hp3000-labelled 'IANA,[Bartram]
-application/vnd.wt.stf 'IANA,[Wohler]
-application/vnd.wv.csp+wbxml @wv 'IANA,[Salmi]
-application/vnd.wv.csp+xml :8bit 'IANA,[Ingimundarson]
-application/vnd.wv.ssp+xml :8bit 'IANA,[Ingimundarson]
-application/vnd.xacml+json 'IANA,[Brossard]
-application/vnd.xara 'IANA,[Matthewman]
-application/vnd.xfdl 'IANA,[Manning]
-application/vnd.xfdl.webform 'IANA,[Mansell]
-application/vnd.xmi+xml 'IANA,[Waskiewicz]
-application/vnd.xmpie.cpkg 'IANA,[Sherwin]
-application/vnd.xmpie.dpkg 'IANA,[Sherwin]
-application/vnd.xmpie.plan 'IANA,[Sherwin]
-application/vnd.xmpie.ppkg 'IANA,[Sherwin]
-application/vnd.xmpie.xlim 'IANA,[Sherwin]
-application/vnd.yamaha.hv-dic @hvd 'IANA,[Yamamoto]
-application/vnd.yamaha.hv-script @hvs 'IANA,[Yamamoto]
-application/vnd.yamaha.hv-voice @hvp 'IANA,[Yamamoto]
-application/vnd.yamaha.openscoreformat 'IANA,[Olleson]
-application/vnd.yamaha.openscoreformat.osfpvg+xml 'IANA,[Olleson]
-application/vnd.yamaha.remote-setup 'IANA,[Sukizaki]
-application/vnd.yamaha.smaf-audio @saf 'IANA,[Shinoda]
-application/vnd.yamaha.smaf-phrase @spf 'IANA,[Shinoda]
-application/vnd.yamaha.through-ngn 'IANA,[Sukizaki]
-application/vnd.yamaha.tunnel-udpencap 'IANA,[Sukizaki]
-application/vnd.yellowriver-custom-menu 'IANA,[Yellow]
-application/vnd.zul 'IANA,[Grothmann]
-application/vnd.zzazz.deck+xml 'IANA,[Hewett]
-application/voicexml+xml 'IANA,RFC4267
-application/vq-rtcpxr 'IANA,RFC6035
-application/watcherinfo+xml @wif 'IANA,RFC3858
-application/whoispp-query 'IANA,RFC2957
-application/whoispp-response 'IANA,RFC2958
-application/widget 'IANA,[W3C],[Pemberton]
-application/wita 'IANA,[Campbell]
-application/wordperfect5.1 @wp5,wp 'IANA,[Lindner]
-application/wsdl+xml 'IANA,[W3C]
-application/wspolicy+xml 'IANA,[W3C]
-application/x-www-form-urlencoded :7bit '[W3C],{HTML5=http://www.w3.org/TR/html5/iana.html#application/x-www-form-urlencoded}
-application/x400-bp 'IANA,RFC1494
-application/xcap-att+xml 'IANA,RFC4825
-application/xcap-caps+xml 'IANA,RFC4825
-application/xcap-diff+xml 'IANA,RFC5874
-application/xcap-el+xml 'IANA,RFC4825
-application/xcap-error+xml 'IANA,RFC4825
-application/xcap-ns+xml 'IANA,RFC4825
-application/xcon-conference-info+xml 'IANA,{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}
-application/xcon-conference-info-diff+xml 'IANA,{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}
-application/xenc+xml 'IANA,[Reagle],[XENC Working Group]
-application/xhtml+xml @xhtml :8bit 'IANA,RFC3236
-application/xml @xml,xsl :8bit 'IANA,RFC3023
-application/xml-dtd @dtd :8bit 'IANA,RFC3023
-application/xml-external-parsed-entity 'IANA,RFC3023
-application/xmpp+xml 'IANA,RFC3923
-application/xop+xml 'IANA,[Nottingham]
-application/xslt+xml @xslt 'IANA,[W3C]
-application/xv+xml 'IANA,RFC4374
-application/yang 'IANA,RFC6020
-application/yin+xml 'IANA,RFC6020
-application/zip @zip :base64 'IANA,[Lindner]
-application/zlib 'IANA,RFC6713
diff --git a/lib/mime/types/application.mac b/lib/mime/types/application.mac
deleted file mode 100644
index 792c13d..0000000
--- a/lib/mime/types/application.mac
+++ /dev/null
@@ -1,3 +0,0 @@
-mac:application/x-apple-diskimage @dmg
-mac:application/x-mac @bin :base64
-mac:application/x-macbase64 @bin :base64
diff --git a/lib/mime/types/application.nonstandard b/lib/mime/types/application.nonstandard
deleted file mode 100644
index e8805c2..0000000
--- a/lib/mime/types/application.nonstandard
+++ /dev/null
@@ -1,132 +0,0 @@
-*application/acad 'LTSW
-*application/appledouble :base64
-*application/clariscad 'LTSW
-*application/drafting 'LTSW
-*application/dxf 'LTSW
-*application/excel @xls,xlt 'LTSW
-*application/fractals 'LTSW
-*application/i-deas 'LTSW
-*application/macbinary 'LTSW
-*application/netcdf @nc,cdf 'LTSW
-*application/powerpoint @ppt,pps,pot :base64 'LTSW
-*application/pro_eng 'LTSW
-*application/set 'LTSW
-*application/SLA 'LTSW
-*application/solids 'LTSW
-*application/STEP 'LTSW
-*application/vda 'LTSW
-*application/vnd.adobe.air-application-installer-package+zip @air :base64
-*application/vnd.android.package-archive @apk
-*application/vnd.ms-fontobject @eot
-*application/vnd.rn-realmedia @rm
-*application/vnd.stardivision.calc @sdc
-*application/vnd.stardivision.chart @sds
-*application/vnd.stardivision.draw @sda
-*application/vnd.stardivision.impress @sdd
-*application/vnd.stardivision.math @sdf
-*application/vnd.stardivision.writer @sdw
-*application/vnd.stardivision.writer-global @sgl
-*application/vnd.sun.xml.calc @sxc
-*application/vnd.sun.xml.calc.template @stc
-*application/vnd.sun.xml.draw @sxd
-*application/vnd.sun.xml.draw.template @std
-*application/vnd.sun.xml.impress @sxi
-*application/vnd.sun.xml.impress.template @sti
-*application/vnd.sun.xml.math @sxm
-*application/vnd.sun.xml.writer @sxw
-*application/vnd.sun.xml.writer.global @sxg
-*application/vnd.sun.xml.writer.template @stw
-*application/word @doc,dot 'LTSW
-application/epub+zip @epub
-application/rss+xml @rss
-application/x-bcpio @bcpio 'LTSW
-application/x-bleeper @bleep :base64
-application/x-bzip2 @bz2
-application/x-cdlink @vcd
-application/x-chess-pgn @pgn
-application/x-chrome-extension @crx
-application/x-clariscad
-application/x-compressed @z,Z :base64 'LTSW
-application/x-cpio @cpio :base64 'LTSW
-application/x-csh @csh :8bit 'LTSW
-application/x-cu-seeme @csm,cu
-application/x-debian-package @deb
-application/x-director @dcr,@dir,@dxr
-application/x-drafting
-application/x-dvi @dvi :base64 'LTSW
-application/x-dxf
-application/x-excel
-application/x-font-opentype @otf :base64
-application/x-font-truetype @ttf :base64
-application/x-fractals
-application/x-futuresplash @spl
-application/x-ghostview
-application/x-gtar @gtar,tgz,tbz2,tbz :base64 'LTSW
-application/x-gzip @gz :base64 'LTSW
-application/x-hdf @hdf 'LTSW
-application/x-hep @hep
-application/x-html+ruby @rhtml :8bit
-application/x-httpd-php @phtml,pht,php :8bit
-application/x-ibooks+zip @ibooks
-application/x-ica @ica
-application/x-ideas
-application/x-imagemap @imagemap,imap :8bit
-application/x-iwork-keynote-sffkey @key
-application/x-iwork-numbers-sffnumbers @numbers
-application/x-iwork-pages-sffpages @pages
-application/x-java-archive @jar 'LTSW
-application/x-java-jnlp-file @jnlp 'LTSW
-application/x-java-serialized-object @ser 'LTSW
-application/x-java-vm @class 'LTSW
-application/x-koan @skp,skd,skt,skm
-application/x-latex @ltx,latex :8bit 'LTSW
-application/x-mac-compactpro @cpt
-application/x-macbinary
-application/x-maker @frm,maker,frame,fm,fb,book,fbdoc =use-instead:application/vnd.framemaker
-application/x-mathematica-old
-application/x-mif @mif 'LTSW
-application/x-mobipocket-ebook @mobi
-application/x-ms-wmd @wmd
-application/x-ms-wmz @wmz
-application/x-msaccess @mda,mdb,mde,mdf
-application/x-msdos-program @cmd,bat,com,exe :base64
-application/x-msdownload @exe,com :base64
-application/x-netcdf @nc,cdf
-application/x-ns-proxy-autoconfig @pac
-application/x-opera-extension @oex
-application/x-pagemaker @pm,pm5,pt5
-application/x-perl @pl,pm :8bit
-application/x-pgp
-application/x-python @py :8bit
-application/x-quicktimeplayer @qtl
-application/x-rar-compressed @rar :base64
-application/x-remote_printing
-application/x-ruby @rb,rbw :8bit
-application/x-set
-application/x-sh @sh :8bit 'LTSW
-application/x-shar @shar :8bit 'LTSW
-application/x-shockwave-flash @swf
-application/x-SLA
-application/x-solids
-application/x-spss @sav,sbs,sps,spo,spp
-application/x-STEP
-application/x-stuffit @sit :base64 'LTSW
-application/x-sv4cpio @sv4cpio :base64 'LTSW
-application/x-sv4crc @sv4crc :base64 'LTSW
-application/x-tar @tar :base64 'LTSW
-application/x-tcl @tcl :8bit 'LTSW
-application/x-tex @tex :8bit
-application/x-texinfo @texinfo,texi :8bit
-application/x-toolbook @tbk
-application/x-troff-man @man :8bit 'LTSW
-application/x-troff-me @me 'LTSW
-application/x-troff-ms @ms 'LTSW
-application/x-ustar @ustar :base64 'LTSW
-application/x-VMSBACKUP @bck :base64
-application/x-wais-source @src 'LTSW
-application/x-web-app-manifest+json @webapp
-application/x-Wingz @wz
-application/x-wordperfect6.1 @wp6
-application/x-x509-ca-cert @crt :base64
-application/x-xpinstall @xpi
-application/x-7z-compressed @7z '{7zip=http://www.7-zip.org/7z.html}
diff --git a/lib/mime/types/application.obsolete b/lib/mime/types/application.obsolete
deleted file mode 100644
index 9781615..0000000
--- a/lib/mime/types/application.obsolete
+++ /dev/null
@@ -1,41 +0,0 @@
-!application/smil @smi,smil :8bit 'IANA,RFC4536 =use-instead:application/smil+xml
-!application/vnd.arastra.swi 'IANA,[Fenner] =use-instead:application/vnd.aristanetworks.swi
-!application/vnd.geocube+xml :8bit 'IANA,[Pirsch]
-!application/vnd.gmx 'IANA,[Sciberras]
-!application/vnd.nokia.ncd+xml 'IANA,[Nokia] =use-instead:application/vnd.nokia.ncd
-!application/x-123 @wk =use-instead:application/vnd.lotus-1-2-3
-!application/x-access @mdf,mda,mdb,mde =use-instead:application/x-msaccess
-!application/x-compress @z,Z :base64 =use-instead:application/x-compressed
-!application/x-javascript @js :8bit =use-instead:application/javascript
-!application/x-lotus-123 @wks =use-instead:application/vnd.lotus-1-2-3
-!application/x-mathcad @mcd :base64 =use-instead:application/vnd.mcd
-!application/x-msword @doc,dot,wrd :base64 =use-instead:application/msword
-!application/x-rtf @rtf :base64 'LTSW =use-instead:application/rtf
-!application/x-troff @t,tr,roff 'LTSW =use-instead:text/troff
-!application/x-u-star 'LTSW =use-instead:application/x-ustar
-!application/x-word @doc,dot :base64 =use-instead:application/msword
-!application/x-wordperfect @wp =use-instead:application/vnd.wordperfect
-!application/x-wordperfectd @wpd =use-instead:application/vnd.wordperfect
-!application/xhtml-voice+xml 'IANA,{RFC-mccobb-xplusv-media-type-04.txt=https://datatracker.ietf.org/public/idindex.cgi?command=id_detail&filename=draft-mccobb-xplusv-media-type}
-*!application/access @mdf,mda,mdb,mde =use-instead:application/x-msaccess
-*!application/bleeper @bleep :base64 =use-instead:application/x-bleeper
-*!application/cals1840 'LTSW =use-instead:application/cals-1840
-*!application/futuresplash @spl =use-instead:application/x-futuresplash
-*!application/ghostview =use-instead:application/x-ghostview
-*!application/hep @hep =use-instead:application/x-hep
-*!application/imagemap @imagemap,imap :8bit =use-instead:application/x-imagemap
-*!application/lotus-123 @wks =use-instead:application/vnd.lotus-1-2-3
-*!application/mac-compactpro @cpt =use-instead:application/x-mac-compactpro
-*!application/mathcad @mcd :base64 =use-instead:application/vnd.mcd
-*!application/mathematica-old =use-instead:application/x-mathematica-old
-*!application/news-message-id 'IANA,RFC1036,[Spencer]
-*!application/quicktimeplayer @qtl =use-instead:application/x-quicktimeplayer
-*!application/remote_printing 'LTSW =use-instead:application/remote-printing
-*!application/toolbook @tbk =use-instead:application/x-toolbook
-*!application/VMSBACKUP @bck :base64 =use-instead:application/x-VMSBACKUP
-*!application/vnd.ms-word.document.macroEnabled.12 @docm
-*!application/vnd.ms-word.template.macroEnabled.12 @dotm
-*!application/wordperfect @wp =use-instead:application/vnd.wordperfect
-*!application/wordperfect6.1 @wp6 =use-instead:application/x-wordperfect6.1
-*!application/wordperfectd @wpd =use-instead:application/vnd.wordperfect
-*!application/x400.bp 'LTSW =use-instead:application/x400-bp
diff --git a/lib/mime/types/audio b/lib/mime/types/audio
deleted file mode 100644
index 0c5fc57..0000000
--- a/lib/mime/types/audio
+++ /dev/null
@@ -1,138 +0,0 @@
-audio/1d-interleaved-parityfec 'IANA,RFC6015
-audio/32kadpcm 'IANA,RFC3802,RFC2421
-audio/3gpp 'IANA,RFC3839,RFC6381
-audio/3gpp2 'IANA,RFC4393,RFC6381
-audio/ac3 'IANA,RFC4184
-audio/AMR @amr :base64 'RFC4867
-audio/AMR-WB @awb :base64 'RFC4867
-audio/amr-wb+ 'IANA,RFC4352
-audio/asc 'IANA,RFC6295
-audio/ATRAC-ADVANCED-LOSSLESS 'IANA,RFC5584
-audio/ATRAC-X 'IANA,RFC5584
-audio/ATRAC3 'IANA,RFC5584
-audio/basic @au,snd :base64 'IANA,RFC2045,RFC2046
-audio/BV16 'IANA,RFC4298
-audio/BV32 'IANA,RFC4298
-audio/clearmode 'IANA,RFC4040
-audio/CN 'IANA,RFC3389
-audio/DAT12 'IANA,RFC3190
-audio/dls 'IANA,RFC4613
-audio/dsr-es201108 'IANA,RFC3557
-audio/dsr-es202050 'IANA,RFC4060
-audio/dsr-es202211 'IANA,RFC4060
-audio/dsr-es202212 'IANA,RFC4060
-audio/DV 'IANA,RFC6469
-audio/DVI4 'IANA,RFC4856
-audio/eac3 'IANA,RFC4598
-audio/encaprtp 'IANA,RFC6849
-audio/EVRC @evc 'IANA,RFC4788
-audio/EVRC-QCP 'IANA,RFC3625
-audio/EVRC0 'IANA,RFC4788
-audio/EVRC1 'IANA,RFC4788
-audio/EVRCB 'IANA,RFC5188
-audio/EVRCB0 'IANA,RFC5188
-audio/EVRCB1 'IANA,RFC4788
-audio/EVRCNW 'IANA,RFC6884
-audio/EVRCNW0 'IANA,RFC6884
-audio/EVRCNW1 'IANA,RFC6884
-audio/EVRCWB 'IANA,RFC5188
-audio/EVRCWB0 'IANA,RFC5188
-audio/EVRCWB1 'IANA,RFC5188
-audio/example 'IANA,RFC4735
-audio/fwdred 'IANA,RFC6354
-audio/G719 'IANA,RFC5404,{Errata3245=http://www.rfc-editor.org/errata_search.php?rfc=5404&eid=3245}
-audio/G722 'IANA,RFC4856
-audio/G7221 'IANA,RFC5577
-audio/G723 'IANA,RFC4856
-audio/G726-16 'IANA,RFC4856
-audio/G726-24 'IANA,RFC4856
-audio/G726-32 'IANA,RFC4856
-audio/G726-40 'IANA,RFC4856
-audio/G728 'IANA,RFC4856
-audio/G729 'IANA,RFC4856
-audio/G7291 'IANA,RFC4749,RFC5459
-audio/G729D 'IANA,RFC4856
-audio/G729E 'IANA,RFC4856
-audio/GSM 'IANA,RFC4856
-audio/GSM-EFR 'IANA,RFC4856
-audio/GSM-HR-08 'IANA,RFC5993
-audio/iLBC 'IANA,RFC3952
-audio/ip-mr_v2.5 'IANA,RFC6262
-audio/L16 @l16 'IANA,RFC4856
-audio/L20 'IANA,RFC3190
-audio/L24 'IANA,RFC3190
-audio/L8 'IANA,RFC4856
-audio/LPC 'IANA,RFC4856
-audio/mobile-xmf 'IANA,RFC4723
-audio/mp4 @mp4,mpg4,f4a,f4b 'IANA,RFC4337,{Adobe=http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html}
-audio/MP4A-LATM @m4a 'IANA,RFC6416
-audio/MPA 'IANA,RFC3555
-audio/mpa-robust 'IANA,RFC5219
-audio/mpeg @mpga,mp2,mp3 :base64 'IANA,RFC3003
-audio/mpeg4-generic 'IANA,RFC3640,RFC5691,RFC6295
-audio/ogg @ogg 'IANA,RFC5334
-audio/parityfec 'IANA,RFC5109
-audio/PCMA 'IANA,RFC4856
-audio/PCMA-WB 'IANA,RFC5391
-audio/PCMU 'IANA,RFC4856
-audio/PCMU-WB 'IANA,RFC5391
-audio/prs.sid 'IANA,[Walleij]
-audio/QCELP 'IANA,RFC3555,RFC3625
-audio/raptorfec 'IANA,RFC6682
-audio/RED 'IANA,RFC3555
-audio/rtp-enc-aescm128 'IANA,[3GPP]
-audio/rtp-midi 'IANA,RFC6295
-audio/rtploopback 'IANA,RFC6849
-audio/rtx 'IANA,RFC4588
-audio/SMV @smv 'IANA,RFC3558
-audio/SMV-QCP 'IANA,RFC3625
-audio/SMV0 'IANA,RFC3558
-audio/sp-midi 'IANA,[Kosonen],[T. White=T.White]
-audio/speex 'IANA,RFC5574
-audio/t140c 'IANA,RFC4351
-audio/t38 'IANA,RFC4612
-audio/telephone-event 'IANA,RFC4733
-audio/tone 'IANA,RFC4733
-audio/UEMCLIP 'IANA,RFC5686
-audio/ulpfec 'IANA,RFC5109
-audio/VDVI 'IANA,RFC4856
-audio/VMR-WB 'IANA,RFC4348,RFC4424
-audio/vnd.3gpp.iufp 'IANA,[Belling]
-audio/vnd.4SB 'IANA,[De Jaham]
-audio/vnd.audiokoz 'IANA,[DeBarros]
-audio/vnd.CELP 'IANA,[De Jaham]
-audio/vnd.cisco.nse 'IANA,[Kumar]
-audio/vnd.cmles.radio-events 'IANA,[Goulet]
-audio/vnd.cns.anp1 'IANA,[McLaughlin]
-audio/vnd.cns.inf1 'IANA,[McLaughlin]
-audio/vnd.dece.audio 'IANA,[Dolan]
-audio/vnd.digital-winds @eol :7bit 'IANA,[Strazds]
-audio/vnd.dlna.adts 'IANA,[Heredia]
-audio/vnd.dolby.heaac.1 'IANA,[Hattersley]
-audio/vnd.dolby.heaac.2 'IANA,[Hattersley]
-audio/vnd.dolby.mlp 'IANA,[Ward]
-audio/vnd.dolby.mps 'IANA,[Hattersley]
-audio/vnd.dolby.pl2 'IANA,[Hattersley]
-audio/vnd.dolby.pl2x 'IANA,[Hattersley]
-audio/vnd.dolby.pl2z 'IANA,[Hattersley]
-audio/vnd.dolby.pulse.1 'IANA,[Hattersley]
-audio/vnd.dra 'IANA,[Tian]
-audio/vnd.dts 'IANA,[Zou]
-audio/vnd.dts.hd 'IANA,[Zou]
-audio/vnd.dvb.file 'IANA,[Siebert]
-audio/vnd.everad.plj @plj 'IANA,[Cicelsky]
-audio/vnd.hns.audio 'IANA,[Swaminathan]
-audio/vnd.lucent.voice @lvp 'IANA,[Vaudreuil]
-audio/vnd.ms-playready.media.pya 'IANA,[DiAcetis]
-audio/vnd.nokia.mobile-xmf @mxmf 'IANA,[Nokia Corporation=Nokia]
-audio/vnd.nortel.vbk @vbk 'IANA,[Parsons]
-audio/vnd.nuera.ecelp4800 @ecelp4800 'IANA,[Fox]
-audio/vnd.nuera.ecelp7470 @ecelp7470 'IANA,[Fox]
-audio/vnd.nuera.ecelp9600 @ecelp9600 'IANA,[Fox]
-audio/vnd.octel.sbc 'IANA,[Vaudreuil]
-audio/vnd.rhetorex.32kadpcm 'IANA,[Vaudreuil]
-audio/vnd.rip 'IANA,[Dawe]
-audio/vnd.sealedmedia.softseal.mpeg @smp3,smp,s1m 'IANA,[Petersen]
-audio/vnd.vmx.cvsd 'IANA,[Vaudreuil]
-audio/vorbis 'IANA,RFC5215
-audio/vorbis-config 'IANA,RFC5215
diff --git a/lib/mime/types/audio.nonstandard b/lib/mime/types/audio.nonstandard
deleted file mode 100644
index 2ee4864..0000000
--- a/lib/mime/types/audio.nonstandard
+++ /dev/null
@@ -1,11 +0,0 @@
-audio/x-aac @aac
-audio/x-aiff @aif,aifc,aiff :base64
-audio/x-midi @mid,midi,kar :base64
-audio/x-ms-wax @wax
-audio/x-ms-wma @wma
-audio/x-ms-wmv @wmv
-audio/x-pn-realaudio @ra,ram :base64
-audio/x-pn-realaudio-plugin @rpm
-audio/x-realaudio @ra :base64
-audio/x-wav @wav :base64
-*audio/webm @webm '{WebM=http://www.webmproject.org/code/specs/container/}
diff --git a/lib/mime/types/audio.obsolete b/lib/mime/types/audio.obsolete
deleted file mode 100644
index b2e3585..0000000
--- a/lib/mime/types/audio.obsolete
+++ /dev/null
@@ -1 +0,0 @@
-!audio/vnd.qcelp @qcp 'IANA,RFC3625 =use-instead:audio/QCELP
diff --git a/lib/mime/types/cache.rb b/lib/mime/types/cache.rb
new file mode 100644
index 0000000..a5144bf
--- /dev/null
+++ b/lib/mime/types/cache.rb
@@ -0,0 +1,73 @@
+# -*- ruby encoding: utf-8 -*-
+
+class MIME::Types
+ # Caching of MIME::Types registries is advisable if you will be loading
+ # the default registry relatively frequently. With the class methods on
+ # MIME::Types::Cache, any MIME::Types registry can be marshaled quickly
+ # and easily.
+ #
+ # The cache is invalidated on a per-version basis; a cache file for
+ # version 2.0 will not be reused with version 2.0.1.
+ Cache = Struct.new(:version, :data)
+
+ class << Cache
+ # Attempts to load the cache from the file provided as a parameter or in
+ # the environment variable +RUBY_MIME_TYPES_CACHE+. Returns +nil+ if the
+ # file does not exist, if the file cannot be loaded, or if the data in
+ # the cache version is different than this version.
+ def load(cache_file = nil)
+ cache_file = cache_file || ENV['RUBY_MIME_TYPES_CACHE']
+ return nil unless cache_file and File.exists?(cache_file)
+
+ cache = Marshal.load(File.binread(cache_file))
+ if cache.version == MIME::Types::VERSION
+ Marshal.load(cache.data)
+ else
+ warn "Could not load MIME::Types cache: invalid version"
+ nil
+ end
+ rescue => e
+ warn "Could not load MIME::Types cache: #{e}"
+ return nil
+ end
+
+ # Attempts to save the types provided to the cache file provided.
+ #
+ # If +types+ is not provided or is +nil+, the cache will contain the
+ # current MIME::Types default registry.
+ #
+ # If +cache_file+ is not provided or is +nil+, the cache will be written
+ # to the file specified in the environment variable
+ # +RUBY_MIME_TYPES_CACHE+. If there is no cache file specified either
+ # directly or through the environment, this method will return +nil+
+ def save(types = nil, cache_file = nil)
+ cache_file = cache_file || ENV['RUBY_MIME_TYPES_CACHE']
+ return nil unless cache_file
+
+ types = types || MIME::Types.send(:__types__)
+
+ File.open(cache_file, 'wb') do |f|
+ f.write(Marshal.dump(new(types.data_version, Marshal.dump(types))))
+ end
+ end
+ end
+
+ # MIME::Types requires a container Hash with a default values for keys
+ # resulting in an empty array (<tt>[]</tt>), but this cannot be dumped
+ # through Marshal because of the presence of that default Proc. This class
+ # exists solely to satisfy that need.
+ class Container < Hash # :nodoc:
+ def initialize
+ super
+ self.default_proc = ->(h, k) { h[k] = [] }
+ end
+
+ def marshal_dump
+ {}.merge(self)
+ end
+
+ def marshal_load(hash)
+ self.merge!(hash)
+ end
+ end
+end
diff --git a/lib/mime/types/image b/lib/mime/types/image
deleted file mode 100644
index e9d1e1d..0000000
--- a/lib/mime/types/image
+++ /dev/null
@@ -1,46 +0,0 @@
-image/cgm 'IANA,[Francis]
-image/example 'IANA,RFC4735
-image/fits 'IANA,RFC4047
-image/g3fax 'IANA,RFC1494
-image/gif @gif :base64 'IANA,RFC2045,RFC2046
-image/ief @ief :base64 'IANA,RFC1314
-image/jp2 @jp2,jpg2 :base64 'IANA,RFC3745
-image/jpeg @jpeg,jpg,jpe :base64 'IANA,RFC2045,RFC2046
-image/jpm @jpm,jpgm :base64 'IANA,RFC3745
-image/jpx @jpx,jpf :base64 'IANA,RFC3745
-image/ktx 'IANA,[Callow],[Khronos]
-image/naplps 'IANA,[Ferber]
-image/png @png :base64 'IANA,[Randers-Pehrson]
-image/prs.btif 'IANA,[Simon]
-image/prs.pti 'IANA,[Laun]
-image/pwg-raster 'IANA,[Sweet]
-image/svg+xml @svg,svgz :8bit 'IANA,[W3C]
-image/t38 'IANA,RFC3362
-image/tiff @tiff,tif :base64 'IANA,RFC2302
-image/tiff-fx 'IANA,RFC3950
-image/vnd.adobe.photoshop @psd 'IANA,[Scarborough]
-image/vnd.airzip.accelerator.azv 'IANA,[Clueit]
-image/vnd.cns.inf2 'IANA,[McLaughlin]
-image/vnd.dece.graphic 'IANA,[Dolan]
-image/vnd.djvu @djvu,djv 'IANA,[Bottou]
-image/vnd.dvb.subtitle 'IANA,[Siebert],[Lagally]
-image/vnd.dwg @dwg 'IANA,[Moline]
-image/vnd.dxf 'IANA,[Moline]
-image/vnd.fastbidsheet 'IANA,[Becker]
-image/vnd.fpx 'IANA,[Spencer]
-image/vnd.fst 'IANA,[Fuldseth]
-image/vnd.fujixerox.edmics-mmr 'IANA,[Onda]
-image/vnd.fujixerox.edmics-rlc 'IANA,[Onda]
-image/vnd.globalgraphics.pgb @pgb 'IANA,[Bailey]
-image/vnd.microsoft.icon @ico 'IANA,[Butcher]
-image/vnd.mix 'IANA,[Reddy]
-image/vnd.ms-modi @mdi 'IANA,[Vaughan]
-image/vnd.net-fpx 'IANA,[Spencer]
-image/vnd.radiance 'IANA,[Fritz],[GWard]
-image/vnd.sealed.png 'IANA,[Petersen]
-image/vnd.sealedmedia.softseal.gif 'IANA,[Petersen]
-image/vnd.sealedmedia.softseal.jpg 'IANA,[Petersen]
-image/vnd.svf 'IANA,[Moline]
-image/vnd.wap.wbmp 'IANA,[Stark]
-image/vnd.xiff 'IANA,[S.Martin]
-image/webp @webp
diff --git a/lib/mime/types/image.nonstandard b/lib/mime/types/image.nonstandard
deleted file mode 100644
index 1eec8ee..0000000
--- a/lib/mime/types/image.nonstandard
+++ /dev/null
@@ -1,20 +0,0 @@
-*image/pjpeg :base64 =Fixes a bug with IE6 and progressive JPEGs
-image/x-bmp @bmp
-image/x-cmu-raster @ras
-image/x-compressed-xcf @xcfbz2,xcfgz =see-also:image/x-xcf
-image/x-hasselblad-3fr @3fr :base64
-image/x-paintshoppro @psp,pspimage :base64
-image/x-pict
-image/x-portable-anymap @pnm :base64
-image/x-portable-bitmap @pbm :base64
-image/x-portable-graymap @pgm :base64
-image/x-portable-pixmap @ppm :base64
-image/x-rgb @rgb :base64
-image/x-targa @tga
-image/x-vnd.dgn @dgn
-image/x-win-bmp
-image/x-xbitmap @xbm :7bit
-image/x-xbm @xbm :7bit
-image/x-xcf @xcf '{XCF=http://git.gnome.org/browse/gimp/tree/devel-docs/xcf.txt}
-image/x-xpixmap @xpm :8bit
-image/x-xwindowdump @xwd :base64
diff --git a/lib/mime/types/image.obsolete b/lib/mime/types/image.obsolete
deleted file mode 100644
index ef73a2e..0000000
--- a/lib/mime/types/image.obsolete
+++ /dev/null
@@ -1,5 +0,0 @@
-*!image/bmp @bmp =use-instead:image/x-bmp
-*!image/cmu-raster =use-instead:image/x-cmu-raster
-*!image/targa @tga =use-instead:image/x-targa
-*!image/vnd.dgn @dgn =use-instead:image/x-vnd.dgn
-*!image/vnd.net.fpx =use-instead:image/vnd.net-fpx
diff --git a/lib/mime/types/loader.rb b/lib/mime/types/loader.rb
new file mode 100644
index 0000000..c78ac0b
--- /dev/null
+++ b/lib/mime/types/loader.rb
@@ -0,0 +1,248 @@
+# -*- ruby encoding: utf-8 -*-
+
+require 'mime/types/loader_path'
+
+# This class is responsible for initializing the MIME::Types registry from
+# the data files supplied with the mime-types library.
+#
+# The Loader will use one of the following paths:
+# 1. The +path+ provided in its constructor argument;
+# 2. The value of ENV['RUBY_MIME_TYPES_DATA']; or
+# 3. The value of MIME::Types::Loader::PATH.
+#
+# When #load is called, the +path+ will be searched recursively for all YAML
+# (.yml or .yaml) files. By convention, there is one file for each media type
+# (application.yml, audio.yml, etc.), but this is not required.
+#
+#
+class MIME::Types::Loader
+ # The path that will be read for the MIME::Types files.
+ attr_reader :path
+ # The MIME::Types container instance that will be loaded. If not provided
+ # at initialization, a new MIME::Types instance will be constructed.
+ attr_reader :container
+
+ # Creates a Loader object that can be used to load MIME::Types registries
+ # into memory, using YAML, JSON, or v1 registry format loaders.
+ def initialize(path = nil, container = nil)
+ path = path || ENV['RUBY_MIME_TYPES_DATA'] ||
+ MIME::Types::Loader::PATH
+ @path = File.expand_path(File.join(path, '**'))
+ @container = container || MIME::Types.new
+ end
+
+ # Loads a MIME::Types registry from YAML files (<tt>*.yml</tt> or
+ # <tt>*.yaml</tt>) recursively found in +path+.
+ #
+ # It is expected that the YAML objects contained within the registry array
+ # will be tagged as <tt>!ruby/object:MIME::Type</tt>.
+ #
+ # Note that the YAML format is about 2½ times *slower* than either the v1
+ # format or the JSON format.
+ #
+ # NOTE: The purpose of this format is purely for maintenance reasons.
+ def load_yaml
+ Dir[yaml_path].sort.each do |f|
+ container.add(*self.class.load_from_yaml(f), :silent)
+ end
+ container
+ end
+
+ # Loads a MIME::Types registry from JSON files (<tt>*.json</tt>)
+ # recursively found in +path+.
+ #
+ # It is expected that the JSON objects will be an array of hash objects.
+ # The JSON format is the registry format for the MIME types registry
+ # shipped with the mime-types library.
+ #
+ # This method is aliased to #load.
+ def load_json
+ Dir[json_path].sort.each do |f|
+ types = self.class.load_from_json(f).map { |type|
+ MIME::Type.new(type)
+ }
+ container.add(*types, :silent)
+ end
+ container
+ end
+ alias_method :load, :load_json
+
+ # Loads a MIME::Types registry from files found in +path+ that are in the
+ # v1 data format. The file search for this will exclude both JSON
+ # (<tt>*.json</tt>) and YAML (<tt>*.yml</tt> or <tt>*.yaml</tt>) files.
+ #
+ # This method has been deprecated.
+ def load_v1
+ MIME.deprecated(self.class, __method__)
+ Dir[v1_path].sort.each do |f|
+ next if f =~ /\.ya?ml$|\.json$/
+ container.add(self.class.load_from_v1(f), true)
+ end
+ container
+ end
+
+ class << self
+ # Loads the default MIME::Type registry.
+ def load
+ new.load
+ end
+
+ # Build the type list from a file in the format:
+ #
+ # [*][!][os:]mt/st[<ws>@ext][<ws>:enc][<ws>'url-list][<ws>=docs]
+ #
+ # == *
+ # An unofficial MIME type. This should be used if and only if the MIME type
+ # is not properly specified (that is, not under either x-type or
+ # vnd.name.type).
+ #
+ # == !
+ # An obsolete MIME type. May be used with an unofficial MIME type.
+ #
+ # == os:
+ # Platform-specific MIME type definition.
+ #
+ # == mt
+ # The media type.
+ #
+ # == st
+ # The media subtype.
+ #
+ # == <ws>@ext
+ # The list of comma-separated extensions.
+ #
+ # == <ws>:enc
+ # The encoding.
+ #
+ # == <ws>'url-list
+ # The list of comma-separated URLs.
+ #
+ # == <ws>=docs
+ # The documentation string.
+ #
+ # That is, everything except the media type and the subtype is optional. The
+ # more information that's available, though, the richer the values that can
+ # be provided.
+ def load_from_v1(filename)
+ data = read_file(filename).split($/)
+ mime = MIME::Types.new
+ data.each_with_index { |line, index|
+ item = line.chomp.strip
+ next if item.empty?
+
+ begin
+ m = MIME::Types::Loader::V1_FORMAT.match(item).captures
+ rescue Exception
+ warn <<-EOS
+#{filename}:#{index}: Parsing error in v1 MIME type definition.
+=> #{line}
+ EOS
+ raise
+ end
+
+ unregistered, obsolete, platform, mediatype, subtype, extensions,
+ encoding, urls, docs, comment = *m
+
+ if mediatype.nil?
+ if comment.nil?
+ warn <<-EOS
+#{filename}:#{index}: Parsing error in v1 MIME type definition (no media type).
+=> #{line}
+ EOS
+ raise
+ end
+
+ next
+ end
+
+ extensions &&= extensions.split(/,/)
+ urls &&= urls.split(/,/)
+
+ if docs.nil?
+ use_instead = nil
+ else
+ use_instead = docs.scan(%r{use-instead:(\S+)}).flatten
+ docs = docs.gsub(%r{use-instead:\S+}, "").squeeze(" \t")
+ end
+
+ mime_type = MIME::Type.new("#{mediatype}/#{subtype}") do |t|
+ t.extensions = extensions
+ t.encoding = encoding
+ t.system = platform
+ t.obsolete = obsolete
+ t.registered = false if unregistered
+ t.use_instead = use_instead
+ t.docs = docs
+ t.references = urls
+ end
+
+ mime.add_type(mime_type, true)
+ }
+ mime
+ end
+
+ # Loads MIME::Types from a single YAML file.
+ #
+ # It is expected that the YAML objects contained within the registry
+ # array will be tagged as <tt>!ruby/object:MIME::Type</tt>.
+ #
+ # Note that the YAML format is about 2½ times *slower* than either the v1
+ # format or the JSON format.
+ #
+ # NOTE: The purpose of this format is purely for maintenance reasons.
+ def load_from_yaml(filename)
+ begin
+ require 'psych'
+ rescue LoadError
+ nil
+ end
+ require 'yaml'
+ YAML.load(read_file(filename))
+ end
+
+ # Loads MIME::Types from a single JSON file.
+ #
+ # It is expected that the JSON objects will be an array of hash objects.
+ # The JSON format is the registry format for the MIME types registry
+ # shipped with the mime-types library.
+ def load_from_json(filename)
+ require 'json'
+ JSON.load(read_file(filename)).map { |type| MIME::Type.new(type) }
+ end
+
+ private
+ def read_file(filename)
+ File.open(filename, 'r:UTF-8:-') { |f| f.read }
+ end
+ end
+
+ private
+ def yaml_path
+ File.join(path, '*.y{,a}ml')
+ end
+
+ def json_path
+ File.join(path, '*.json')
+ end
+
+ def v1_path
+ File.join(path, '*')
+ end
+
+ # The regular expression used to match a v1-format file-based MIME type
+ # definition.
+ MIME::Types::Loader::V1_FORMAT = # :nodoc:
+ %r{\A\s*
+ ([*])? # 0: Unregistered?
+ (!)? # 1: Obsolete?
+ (?:(\w+):)? # 2: Platform marker
+ #{MIME::Type::MEDIA_TYPE_RE}? # 3,4: Media type
+ (?:\s+@(\S+))? # 5: Extensions
+ (?:\s+:(base64|7bit|8bit|quoted\-printable))? # 6: Encoding
+ (?:\s+'(\S+))? # 7: URL list
+ (?:\s+=(.+))? # 8: Documentation
+ (?:\s*([#].*)?)?
+ \s*
+ \z
+ }x
+end
diff --git a/lib/mime/types/loader_path.rb b/lib/mime/types/loader_path.rb
new file mode 100644
index 0000000..de5e1e3
--- /dev/null
+++ b/lib/mime/types/loader_path.rb
@@ -0,0 +1,16 @@
+# -*- ruby encoding: utf-8 -*-
+
+class MIME::Types::Loader
+ # The path that will be used for loading the MIME::Types data. The default
+ # location is __FILE__/../../../../data, which is where the data lives
+ # in the gem installation of the mime-types library.
+ #
+ # The MIME::Types::Loader will load all YAML files contained in this path.
+ # By convention, there is one file for each media type (e.g.,
+ # application.yml, audio.yml, etc.).
+ #
+ # System repackagers note: this is the constant that you would change if
+ # you repackage mime-types for your system. It is recommended that the
+ # path be something like /usr/share/ruby/mime-types/.
+ PATH = File.expand_path('../../../../data', __FILE__)
+end
diff --git a/lib/mime/types/message b/lib/mime/types/message
deleted file mode 100644
index 5bc3144..0000000
--- a/lib/mime/types/message
+++ /dev/null
@@ -1,18 +0,0 @@
-message/CPIM 'IANA,RFC3862
-message/delivery-status 'IANA,RFC1894
-message/disposition-notification 'IANA,RFC3798
-message/example 'IANA,RFC4735
-message/external-body :8bit 'IANA,RFC2045,RFC2046
-message/feedback-report 'IANA,RFC5965
-message/global 'IANA,RFC6532
-message/global-delivery-status 'IANA,RFC6533
-message/global-disposition-notification 'IANA,RFC6533
-message/global-headers 'IANA,RFC6533
-message/http 'IANA,RFC2616
-message/imdn+xml 'IANA,RFC5438
-message/partial :8bit 'IANA,RFC2045,RFC2046
-message/rfc822 @eml :8bit 'IANA,RFC2045,RFC2046
-message/s-http 'IANA,RFC2660
-message/sip 'IANA,RFC3261
-message/sipfrag 'IANA,RFC3420
-message/tracking-status 'IANA,RFC3886
diff --git a/lib/mime/types/message.obsolete b/lib/mime/types/message.obsolete
deleted file mode 100644
index 775eab7..0000000
--- a/lib/mime/types/message.obsolete
+++ /dev/null
@@ -1,2 +0,0 @@
-!message/news :8bit 'IANA,RFC1036,[H.Spencer]
-!message/vnd.si.simp 'IANA,[Parks Young=ParksYoung]
diff --git a/lib/mime/types/model b/lib/mime/types/model
deleted file mode 100644
index 5fb4697..0000000
--- a/lib/mime/types/model
+++ /dev/null
@@ -1,15 +0,0 @@
-model/example 'IANA,RFC4735
-model/iges @igs,iges 'IANA,[Parks]
-model/mesh @msh,mesh,silo 'IANA,RFC2077
-model/vnd.collada+xml 'IANA,[Riordon]
-model/vnd.dwf 'IANA,[Pratt]
-model/vnd.flatland.3dml 'IANA,[Powers]
-model/vnd.gdl 'IANA,[Babits]
-model/vnd.gs-gdl 'IANA,[Babits]
-model/vnd.gtw 'IANA,[Ozaki]
-model/vnd.moml+xml 'IANA,[Brooks]
-model/vnd.mts 'IANA,[Rabinovitch]
-model/vnd.parasolid.transmit.binary @x_b,xmt_bin 'IANA,[Parasolid]
-model/vnd.parasolid.transmit.text @x_t,xmt_txt :quoted-printable 'IANA,[Parasolid]
-model/vnd.vtu 'IANA,[Rabinovitch]
-model/vrml @wrl,vrml 'IANA,RFC2077
diff --git a/lib/mime/types/multipart b/lib/mime/types/multipart
deleted file mode 100644
index 4cb6abd..0000000
--- a/lib/mime/types/multipart
+++ /dev/null
@@ -1,14 +0,0 @@
-multipart/alternative :8bit 'IANA,RFC2045,RFC2046
-multipart/appledouble :8bit 'IANA,[Faltstrom]
-multipart/byteranges 'IANA,RFC2616
-multipart/digest :8bit 'IANA,RFC2045,RFC2046
-multipart/encrypted 'IANA,RFC1847
-multipart/example 'IANA,RFC4735
-multipart/form-data 'IANA,RFC2388
-multipart/header-set 'IANA,[Crocker]
-multipart/mixed :8bit 'IANA,RFC2045,RFC2046
-multipart/parallel :8bit 'IANA,RFC2045,RFC2046
-multipart/related 'IANA,RFC2387
-multipart/report 'IANA,RFC6522
-multipart/signed 'IANA,RFC1847
-multipart/voice-message 'IANA,RFC2421,RFC2423
diff --git a/lib/mime/types/multipart.nonstandard b/lib/mime/types/multipart.nonstandard
deleted file mode 100644
index 227bd30..0000000
--- a/lib/mime/types/multipart.nonstandard
+++ /dev/null
@@ -1 +0,0 @@
-!multipart/x-parallel =use-instead:multipart/parallel
diff --git a/lib/mime/types/multipart.obsolete b/lib/mime/types/multipart.obsolete
deleted file mode 100644
index 2841abe..0000000
--- a/lib/mime/types/multipart.obsolete
+++ /dev/null
@@ -1,7 +0,0 @@
-!multipart/x-parallel =use-instead:multipart/parallel
-multipart/x-gzip
-multipart/x-mixed-replace
-multipart/x-tar
-multipart/x-ustar
-multipart/x-www-form-urlencoded
-multipart/x-zip
diff --git a/lib/mime/types/other.nonstandard b/lib/mime/types/other.nonstandard
deleted file mode 100644
index f5e7fee..0000000
--- a/lib/mime/types/other.nonstandard
+++ /dev/null
@@ -1,8 +0,0 @@
-!chemical/x-pdb @pdb =use-instead:x-chemical/x-pdb
-!chemical/x-xyz @xyz =use-instead:x-chemical/x-xyz
-*!drawing/dwf @dwf =use-instead:x-drawing/dwf
-x-chemical/x-pdb @pdb
-x-chemical/x-xyz @xyz
-x-conference/x-cooltalk @ice
-x-drawing/dwf @dwf
-x-world/x-vrml @wrl,vrml
diff --git a/lib/mime/types/text b/lib/mime/types/text
deleted file mode 100644
index e0be344..0000000
--- a/lib/mime/types/text
+++ /dev/null
@@ -1,61 +0,0 @@
-text/1d-interleaved-parityfec 'IANA,RFC6015
-text/calendar 'IANA,RFC5545
-text/css @css :8bit 'IANA,RFC2318
-text/csv @csv :8bit 'IANA,RFC4180
-text/dns 'IANA,RFC4027
-text/encaprtp 'IANA,RFC6849
-text/enriched 'IANA,RFC1896
-text/example 'IANA,RFC4735
-text/fwdred 'IANA,RFC6354
-text/grammar-ref-list 'IANA,RFC6787
-text/html @html,htm,htmlx,shtml,htx :8bit 'IANA,[Michael Smith=MSmith],[W3C]
-text/jcr-cnd 'IANA,[Piegaze]
-text/mizar 'IANA,[Jesse Alama=Jesse_Alama]
-text/n3 'IANA,[Prud'hommeaux=Prudhommeaux],[W3C]
-text/parityfec 'IANA,RFC5109
-text/plain @txt,asc,c,cc,h,hh,cpp,hpp,dat,hlp 'IANA,RFC2046,RFC3676,RFC5147
-text/provenance-notation 'IANA,[Herman],[W3C]
-text/prs.fallenstein.rst @rst 'IANA,[Fallenstein]
-text/prs.lines.tag 'IANA,[Lines]
-text/raptorfec 'IANA,RFC6682
-text/RED 'IANA,RFC4102
-text/rfc822-headers 'IANA,RFC6522
-text/richtext @rtx :8bit 'IANA,RFC2045,RFC2046
-text/rtf @rtf :8bit 'IANA,[Lindner]
-text/rtp-enc-aescm128 'IANA,[3GPP]
-text/rtploopback 'IANA,RFC6849
-text/rtx 'IANA,RFC4588
-text/sgml @sgml,sgm 'IANA,RFC1874
-text/t140 'IANA,RFC4103
-text/tab-separated-values @tsv 'IANA,[Lindner]
-text/troff @t,tr,roff,troff :8bit 'IANA,RFC4263
-text/turtle 'IANA,[Prud'hommeaux=Prudhommeaux],[W3C]
-text/ulpfec 'IANA,RFC5109
-text/uri-list 'IANA,RFC2483
-text/vcard 'IANA,RFC6350
-text/vnd.abc 'IANA,[Allen]
-text/vnd.curl 'IANA,[Byrnes]
-text/vnd.debian.copyright 'IANA,[Plessy]
-text/vnd.DMClientScript 'IANA,[Bradley]
-text/vnd.dvb.subtitle 'IANA,[Siebert],[Lagally]
-text/vnd.esmertec.theme-descriptor 'IANA,[Eilemann]
-text/vnd.fly 'IANA,[Gurney]
-text/vnd.fmi.flexstor 'IANA,[Hurtta]
-text/vnd.graphviz 'IANA,[Ellson]
-text/vnd.in3d.3dml 'IANA,[Powers]
-text/vnd.in3d.spot 'IANA,[Powers]
-text/vnd.IPTC.NewsML 'IANA,[IPTC]
-text/vnd.IPTC.NITF 'IANA,[IPTC]
-text/vnd.latex-z 'IANA,[Lubos]
-text/vnd.motorola.reflex 'IANA,[Patton]
-text/vnd.ms-mediapackage 'IANA,[Nelson]
-text/vnd.net2phone.commcenter.command @ccc 'IANA,[Xie]
-text/vnd.radisys.msml-basic-layout 'IANA,RFC5707
-text/vnd.sun.j2me.app-descriptor @jad :8bit 'IANA,[G.Adams]
-text/vnd.trolltech.linguist 'IANA,[D.Lambert]
-text/vnd.wap.si @si 'IANA,[WAP-Forum]
-text/vnd.wap.sl @sl 'IANA,[WAP-Forum]
-text/vnd.wap.wml @wml 'IANA,[Stark]
-text/vnd.wap.wmlscript @wmls 'IANA,[Stark]
-text/xml @xml,dtd :8bit 'IANA,RFC3023
-text/xml-external-parsed-entity 'IANA,RFC3023
diff --git a/lib/mime/types/text.nonstandard b/lib/mime/types/text.nonstandard
deleted file mode 100644
index 196f2ec..0000000
--- a/lib/mime/types/text.nonstandard
+++ /dev/null
@@ -1,7 +0,0 @@
-text/cache-manifest @appcache,manifest
-text/x-coffescript @coffee :8bit
-text/x-component @htc :8bit
-text/x-setext @etx
-text/x-vcalendar @vcs :8bit
-text/x-vcard @vcf :8bit
-text/x-yaml @yaml,yml :8bit
diff --git a/lib/mime/types/text.obsolete b/lib/mime/types/text.obsolete
deleted file mode 100644
index 5b8dbf9..0000000
--- a/lib/mime/types/text.obsolete
+++ /dev/null
@@ -1,8 +0,0 @@
-!text/directory 'IANA,RFC2425,RFC6350
-!text/ecmascript 'IANA,RFC4329
-!text/javascript @js 'IANA,RFC4329
-!text/x-rtf @rtf :8bit =use-instead:text/rtf
-!text/x-vnd.flatland.3dml =use-instead:model/vnd.flatland.3dml
-*!text/comma-separated-values @csv :8bit =use-instead:text/csv
-*!text/vnd.flatland.3dml =use-instead:model/vnd.flatland.3dml
-!text/vnd.si.uricatalogue 'IANA,[Parks Young=ParksYoung]
diff --git a/lib/mime/types/text.vms b/lib/mime/types/text.vms
deleted file mode 100644
index 3cc471d..0000000
--- a/lib/mime/types/text.vms
+++ /dev/null
@@ -1 +0,0 @@
-vms:text/plain @doc :8bit
diff --git a/lib/mime/types/video b/lib/mime/types/video
deleted file mode 100644
index 2dfdb82..0000000
--- a/lib/mime/types/video
+++ /dev/null
@@ -1,75 +0,0 @@
-video/1d-interleaved-parityfec 'IANA,RFC6015
-video/3gpp @3gp,3gpp 'IANA,RFC3839,RFC6381
-video/3gpp-tt 'IANA,RFC4396
-video/3gpp2 @3g2,3gpp2 'IANA,RFC4393,RFC6381
-video/BMPEG 'IANA,RFC3555
-video/BT656 'IANA,RFC3555
-video/CelB 'IANA,RFC3555
-video/DV 'IANA,RFC6469
-video/encaprtp 'IANA,RFC6849
-video/example 'IANA,RFC4735
-video/H261 'IANA,RFC4587
-video/H263 'IANA,RFC3555
-video/H263-1998 'IANA,RFC4629
-video/H263-2000 'IANA,RFC4629
-video/H264 'IANA,RFC6184
-video/H264-RCDO 'IANA,RFC6185
-video/H264-SVC 'IANA,RFC6190
-video/JPEG 'IANA,RFC3555
-video/jpeg2000 'IANA,RFC5371,RFC5372
-video/MJ2 @mj2,mjp2 'IANA,RFC3745
-video/MP1S 'IANA,RFC3555
-video/MP2P 'IANA,RFC3555
-video/MP2T @ts 'IANA,RFC3555
-video/mp4 @mp4,mpg4,f4v,f4p 'IANA,RFC4337,RFC6381,{Adobe=http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html}
-video/MP4V-ES 'IANA,RFC6416
-video/mpeg @mp2,mp3g,mpe,mpeg,mpg :base64 'IANA,RFC2045,RFC2046
-video/mpeg4-generic 'IANA,RFC3640
-video/MPV 'IANA,RFC3555
-video/nv 'IANA,RFC4856
-video/ogg @ogg,ogv 'IANA,RFC5334
-video/parityfec 'IANA,RFC5109
-video/pointer 'IANA,RFC2862
-video/quicktime @qt,mov :base64 'IANA,RFC6381,[Lindner]
-video/raptorfec 'IANA,RFC6682
-video/raw 'IANA,RFC4175
-video/rtp-enc-aescm128 'IANA,[3GPP]
-video/rtploopback 'IANA,RFC6849
-video/rtx 'IANA,RFC4588
-video/SMPTE292M 'IANA,RFC3497
-video/ulpfec 'IANA,RFC5109
-video/vc1 'IANA,RFC4425
-video/vnd.CCTV 'IANA,[Rottmann]
-video/vnd.dece.hd 'IANA,[Dolan]
-video/vnd.dece.mobile 'IANA,[Dolan]
-video/vnd.dece.mp4 'IANA,[Dolan]
-video/vnd.dece.pd 'IANA,[Dolan]
-video/vnd.dece.sd 'IANA,[Dolan]
-video/vnd.dece.video 'IANA,[Dolan]
-video/vnd.directv.mpeg 'IANA,[Zerbe]
-video/vnd.directv.mpeg-tts 'IANA,[Zerbe]
-video/vnd.dlna.mpeg-tts 'IANA,[Heredia]
-video/vnd.dvb.file 'IANA,[Siebert],[Murray]
-video/vnd.fvt 'IANA,[Fuldseth]
-video/vnd.hns.video 'IANA,[Swaminathan]
-video/vnd.iptvforum.1dparityfec-1010 'IANA,[Nakamura]
-video/vnd.iptvforum.1dparityfec-2005 'IANA,[Nakamura]
-video/vnd.iptvforum.2dparityfec-1010 'IANA,[Nakamura]
-video/vnd.iptvforum.2dparityfec-2005 'IANA,[Nakamura]
-video/vnd.iptvforum.ttsavc 'IANA,[Nakamura]
-video/vnd.iptvforum.ttsmpeg2 'IANA,[Nakamura]
-video/vnd.motorola.video 'IANA,[McGinty]
-video/vnd.motorola.videop 'IANA,[McGinty]
-video/vnd.mpegurl @mxu,m4u :8bit 'IANA,[Recktenwald]
-video/vnd.ms-playready.media.pyv 'IANA,[DiAcetis]
-video/vnd.nokia.interleaved-multimedia @nim 'IANA,[Kangaslampi]
-video/vnd.nokia.videovoip 'IANA,[Nokia]
-video/vnd.objectvideo @mp4,m4v 'IANA,[Clark]
-video/vnd.radgamettools.bink 'IANA,[Andersson]
-video/vnd.radgamettools.smacker 'IANA,[Andersson]
-video/vnd.sealed.mpeg1 @s11 'IANA,[Petersen]
-video/vnd.sealed.mpeg4 @smpg,s14 'IANA,[Petersen]
-video/vnd.sealed.swf @sswf,ssw 'IANA,[Petersen]
-video/vnd.sealedmedia.softseal.mov @smov,smo,s1q 'IANA,[Petersen]
-video/vnd.uvvu.mp4 'IANA,[Dolan]
-video/vnd.vivo @viv,vivo 'IANA,[Wolfe]
diff --git a/lib/mime/types/video.nonstandard b/lib/mime/types/video.nonstandard
deleted file mode 100644
index ca20d63..0000000
--- a/lib/mime/types/video.nonstandard
+++ /dev/null
@@ -1,16 +0,0 @@
-video/x-dl @dl :base64
-video/x-dv @dv
-video/x-fli @fli :base64
-video/x-flv @flv :base64
-video/x-gl @gl :base64
-video/x-ivf @ivf
-video/x-matroska @mkv
-video/x-motion-jpeg @mjpg,mjpeg
-video/x-ms-asf @asf,asx
-video/x-ms-wm @wm
-video/x-ms-wmv @wmv
-video/x-ms-wmx @wmx
-video/x-ms-wvx @wvx
-video/x-msvideo @avi :base64
-video/x-sgi-movie @movie :base64
-*video/webm @webm '{WebM=http://www.webmproject.org/code/specs/container/}
diff --git a/lib/mime/types/video.obsolete b/lib/mime/types/video.obsolete
deleted file mode 100644
index 51d3655..0000000
--- a/lib/mime/types/video.obsolete
+++ /dev/null
@@ -1,3 +0,0 @@
-*!video/dl @dl :base64 =use-instead:video/x-dl
-*!video/gl @gl :base64 =use-instead:video/x-gl
-*!video/vnd.dlna.mpeg-tts 'IANA,[Heredia]
diff --git a/mime-types.gemspec b/mime-types.gemspec
index 0ec3dd8..b9d4d5f 100644
--- a/mime-types.gemspec
+++ b/mime-types.gemspec
@@ -2,26 +2,27 @@
Gem::Specification.new do |s|
s.name = "mime-types"
- s.version = "1.25"
+ s.version = "2.0"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Austin Ziegler"]
- s.date = "2013-08-30"
- s.description = "This library allows for the identification of a file's likely MIME content\ntype. This is release 1.25, adding experimental caching and lazy loading\nfunctionality.\n\nThe caching and lazy loading features were initially implemented by Greg\nBrockman (gdb). As these features are experimental, they are disabled by\ndefault and must be enabled through the use of environment variables. The cache\nis invalidated on a per-version basis; the cache for version 1.25 will not be\nreused for version 1.26.\n\nTo use lazy loading, set the environment variable +RUBY_MIME_TYPES_LAZY_LOAD+\nto any value other than 'false'. When using lazy loading, the initial startup\nof MIME::Types is around 12\u{2013}25\u{d7} faster than normal startup (on my system,\nnormal startup is about 90 ms; lazy startup is about 4 ms). This isn't\ngenerally useful, however, as the MIME::Types database has not been loaded.\nLazy startup and load is just *slightly* faster\u{2014}around 1 ms. The real advantage\ncomes from using the cache.\n\nTo enable the cache, set the environment variable +RUBY_MIME_TYPES_CACHE+ to a\nfilename where MIME::Types will have read-write access. The first time a new\nversion of MIME::Types is run using this file, it will be created, taking a\nlittle longer than normal. Subsequent loads using the same cache file will be\napproximately 3\u{bd}\u{d7} faster (25 ms) than normal loads. This can be combined with\n+RUBY_MIME_TYPES_LAZY_LOAD+, but this is *not* recommended in a multithreaded\nor multiprocess environment where all threads or processes will be using the\nsame cache file.\n\nAs the caching interface is still experimental, the only values cached are the\ndefault MIME::Types database, not any custom MIME::Types added by users.\n\nMIME types are used in MIME-compliant communications, as in e-mail or HTTP\ntraffic, to indicate the type of content which is transmitted. MIME::Types\nprovides the ability for detailed information about MIME entities (provided as\na set of MIME::Type objects) to be determined and used programmatically. There\nare many types defined by RFCs and vendors, so the list is long but not\ncomplete; don't hesitate to ask to add additional information. This library\nfollows the IANA collection of MIME types (see below for reference).\n\nMIME::Types for Ruby was originally based on MIME::Types for Perl by Mark\nOvermeer, copyright 2001 - 2009. As of version 1.15, the data format for the\nMIME::Type list has changed and the synchronization will no longer happen.\n\nMIME::Types is built to conform to the MIME types of RFCs 2045 and 2231. It\ntracks the {IANA registry}[http://www.iana.org/assignments/media-types/]\n({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types\nadded from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]\nand added by the users of MIME::Types."
+ s.date = "2013-10-26"
+ s.description = "The mime-types library provides a library and registry for information about\nMIME content type definitions. It can be used to determine defined filename\nextensions for MIME types, or to use filename extensions to look up the likely\nMIME type definitions.\n\nMIME content types are used in MIME-compliant communications, as in e-mail or\nHTTP traffic, to indicate the type of content which is transmitted. The\nmime-types library provides the ability for detailed information about MIME\nentities (provided as an enumerable collection of MIME::Type objects) to be\ndetermined and used programmatically. There are many types defined by RFCs and\nvendors, so the list is long but by definition incomplete; don't hesitate to to\nadd additional type definitions (see Contributing.rdoc). The primary sources\nfor MIME type definitions found in mime-types is the IANA collection of\nregistrations (see below for the link), RFCs, and W3C recommendations.\n\nThe mime-types library uses semantic versioning. This is release 2.0; there are\nincompatible changes in the API provided by mime-types, mostly around registry\ninitialization (see History.rdoc for full details), and the removal of support\nfor Ruby 1.8 interpreters.\n\nmime-types (previously called MIME::Types for Ruby) was originally based on\nMIME::Types for Perl by Mark Overmeer, copyright 2001 - 2009. It is built to\nconform to the MIME types of RFCs 2045 and 2231. It tracks the {IANA\nregistry}[http://www.iana.org/assignments/media-types/]\n({ftp}[ftp://ftp.iana.org/assignments/media-types]) with some unofficial types\nadded from the {LTSW collection}[http://www.ltsw.se/knbase/internet/mime.htp]\nand added by the users of mime-types."
s.email = ["austin@rubyforge.org"]
s.extra_rdoc_files = ["Contributing.rdoc", "History.rdoc", "Licence.rdoc", "Manifest.txt", "README.rdoc", "docs/COPYING.txt", "docs/artistic.txt", "Contributing.rdoc", "History.rdoc", "Licence.rdoc", "README.rdoc"]
- s.files = [".gemtest", ".hoerc", ".travis.yml", "Contributing.rdoc", "Gemfile", "History.rdoc", "Licence.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "docs/COPYING.txt", "docs/artistic.txt", "lib/mime-types.rb", "lib/mime/types.rb", "lib/mime/types/application", "lib/mime/types/application.mac", "lib/mime/types/application.nonstandard", "lib/mime/types/application.obsolete", "lib/mime/types/audio", "lib/mime/types/audio.nonstandard", "lib/mime/types/audio.obsolete", "lib/mime/types/image", "lib/mime/types/image.nonstandard", "lib/mime/types/image.obsolete", "lib/mime/types/message", "lib/mime/types/message.obsolete", "lib/mime/types/model", "lib/mime/types/multipart", "lib/mime/types/multipart.nonstandard", "lib/mime/types/multipart.obsolete", "lib/mime/types/other.nonstandard", "lib/mime/types/text", "lib/mime/types/text.nonstandard", "lib/mime/types/text.obsolete", "lib/mime/types/text.vms", "lib/mime/types/video", "lib/mime/types/video.nonstandard", "lib/mime/types/video.obsolete", "test/test_mime_type.rb", "test/test_mime_types.rb", "test/test_mime_types_cache.rb", "test/test_mime_types_lazy.rb"]
+ s.files = [".autotest", ".gemtest", ".hoerc", ".minitest.rb", ".travis.yml", "Contributing.rdoc", "Gemfile", "History.rdoc", "Licence.rdoc", "Manifest.txt", "README.rdoc", "Rakefile", "data/mime-types.json", "docs/COPYING.txt", "docs/artistic.txt", "lib/mime-types.rb", "lib/mime.rb", "lib/mime/type.rb", "lib/mime/types.rb", "lib/mime/types/cache.rb", "lib/mime/types/loader.rb", "lib/mime/types/loader_path.rb", "support/benchmarker.rb", "support/convert.rb", "support/iana_downloader.rb", "test/fixture/json.json", "test/fixture/old-data", "test/fixture/yaml.yaml", "test/minitest_helper.rb", "test/test_mime_type.rb", "test/test_mime_types.rb", "test/test_mime_types_cache.rb", "test/test_mime_types_class.rb", "test/test_mime_types_lazy.rb", "test/test_mime_types_loader.rb"]
s.homepage = "http://mime-types.rubyforge.org/"
s.licenses = ["MIT", "Artistic 2.0", "GPL-2"]
s.rdoc_options = ["--main", "README.rdoc"]
s.require_paths = ["lib"]
+ s.required_ruby_version = Gem::Requirement.new(">= 1.9.2")
s.rubyforge_project = "mime-types"
- s.rubygems_version = "2.0.7"
- s.summary = "This library allows for the identification of a file's likely MIME content type"
- s.test_files = ["test/test_mime_type.rb", "test/test_mime_types.rb", "test/test_mime_types_cache.rb", "test/test_mime_types_lazy.rb"]
+ s.rubygems_version = "1.8.23"
+ s.summary = "The mime-types library provides a library and registry for information about MIME content type definitions"
+ s.test_files = ["test/test_mime_type.rb", "test/test_mime_types.rb", "test/test_mime_types_cache.rb", "test/test_mime_types_class.rb", "test/test_mime_types_lazy.rb", "test/test_mime_types_loader.rb"]
if s.respond_to? :specification_version then
- s.specification_version = 4
+ s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
@@ -34,6 +35,7 @@ Gem::Specification.new do |s|
s.add_development_dependency(%q<hoe-rubygems>, ["~> 1.0"])
s.add_development_dependency(%q<hoe-travis>, ["~> 1.2"])
s.add_development_dependency(%q<rake>, ["~> 10.0"])
+ s.add_development_dependency(%q<simplecov>, ["~> 0.7"])
s.add_development_dependency(%q<hoe>, ["~> 3.7"])
else
s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
@@ -46,6 +48,7 @@ Gem::Specification.new do |s|
s.add_dependency(%q<hoe-rubygems>, ["~> 1.0"])
s.add_dependency(%q<hoe-travis>, ["~> 1.2"])
s.add_dependency(%q<rake>, ["~> 10.0"])
+ s.add_dependency(%q<simplecov>, ["~> 0.7"])
s.add_dependency(%q<hoe>, ["~> 3.7"])
end
else
@@ -59,6 +62,7 @@ Gem::Specification.new do |s|
s.add_dependency(%q<hoe-rubygems>, ["~> 1.0"])
s.add_dependency(%q<hoe-travis>, ["~> 1.2"])
s.add_dependency(%q<rake>, ["~> 10.0"])
+ s.add_dependency(%q<simplecov>, ["~> 0.7"])
s.add_dependency(%q<hoe>, ["~> 3.7"])
end
end
diff --git a/support/benchmarker.rb b/support/benchmarker.rb
new file mode 100644
index 0000000..7765e42
--- /dev/null
+++ b/support/benchmarker.rb
@@ -0,0 +1,55 @@
+# -*- ruby encoding: utf-8 -*-
+
+$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
+require 'benchmark'
+
+class Benchmarker
+ def self.benchmark(repeats)
+ new(repeats.to_i).benchmark
+ end
+
+ def initialize(repeats = nil)
+ @cache_file = File.expand_path('../cache.mtc', __FILE__)
+ @repeats = repeats.to_i
+ @repeats = 50 if repeats.zero?
+ end
+
+ def reload_mime_types(repeats = 1, force_load = false)
+ path = File.expand_path('../../lib', __FILE__)
+
+ repeats.times {
+ Object.send(:remove_const, :MIME) if defined? MIME
+ $LOADED_FEATURES.delete_if { |n| n =~ /#{path}/ }
+ require 'mime/types'
+ MIME::Types.send(:__types__) if force_load
+ }
+ end
+
+ def benchmark
+ remove_cache
+
+ Benchmark.bm(17) do |mark|
+ mark.report("Normal:") { reload_mime_types(@repeats) }
+
+ ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'yes'
+ mark.report("Lazy:") { reload_mime_types(@repeats) }
+ mark.report("Lazy+Load:") { reload_mime_types(@repeats, true) }
+
+ ENV.delete('RUBY_MIME_TYPES_LAZY_LOAD')
+
+ ENV['RUBY_MIME_TYPES_CACHE'] = @cache_file
+ reload_mime_types
+
+ mark.report("Cached:") { reload_mime_types(@repeats) }
+ ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'yes'
+ mark.report("Lazy Cached:") { reload_mime_types(@repeats) }
+ mark.report("Lazy Cached Load:") { reload_mime_types(@repeats, true) }
+ end
+ ensure
+ remove_cache
+ end
+
+ def remove_cache
+ File.unlink(@cache_file) if File.exist?(@cache_file)
+ end
+end
diff --git a/support/convert.rb b/support/convert.rb
new file mode 100644
index 0000000..fd3eb8b
--- /dev/null
+++ b/support/convert.rb
@@ -0,0 +1,130 @@
+# -*- ruby encoding: utf-8 -*-
+
+$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
+require 'mime/types'
+require 'fileutils'
+
+class Convert
+ class << self
+ def from_yaml(path = nil)
+ new(path: path, from: :yaml)
+ end
+
+ def from_json(path = nil)
+ new(path: path, from: :json)
+ end
+
+ def from_v1(path = nil)
+ new(path: path, from: :v1)
+ end
+
+ def from_yaml_to_json(args)
+ from_yaml(yaml_path(args.source)).
+ to_json(destination: json_path(args.destination),
+ multiple_files: multiple_files(args.multiple_files))
+ end
+
+ def from_json_to_yaml(args)
+ from_json(json_path(args.source)).
+ to_yaml(destination: yaml_path(args.destination),
+ multiple_files: multiple_files(args.multiple_files))
+ end
+
+ private :new
+
+ private
+ def yaml_path(path)
+ if path.nil? or path.empty?
+ 'type-lists'
+ else
+ path
+ end
+ end
+
+ def json_path(path)
+ if path.nil? or path.empty?
+ 'data'
+ else
+ path
+ end
+ end
+
+ def multiple_files(flag)
+ case flag
+ when "true", "yes"
+ true
+ else
+ false
+ end
+ end
+ end
+
+ def initialize(options = {})
+ if options[:path].nil? or options[:path].empty?
+ raise ArgumentError, ':path is required'
+ end
+ if options[:from].nil? or options[:from].empty?
+ raise ArgumentError, ':from is required'
+ end
+
+ path = options[:path]
+
+ @loader = MIME::Types::Loader.new(options[:path])
+ load_from(options[:from])
+ end
+
+ def to_json(options = {})
+ raise ArgumentError, 'destination is required' unless options[:destination]
+ write_types(options.merge(format: :json))
+ end
+
+ def to_yaml(options = {})
+ raise ArgumentError, 'destination is required' unless options[:destination]
+ write_types(options.merge(format: :yaml))
+ end
+
+ private
+ def load_from(source_type)
+ method = :"load_#{source_type}"
+ @loader.send(method)
+ end
+
+ def write_types(options)
+ if options[:multiple_files]
+ write_multiple_files(options)
+ else
+ write_one_file(options)
+ end
+ end
+
+ def write_one_file(options)
+ d = options[:destination]
+ d = File.join(d, "mime-types.#{options[:format]}") if File.directory?(d)
+
+ File.open(d, 'wb') { |f|
+ f.puts convert(@loader.container.map.sort, options[:format])
+ }
+ end
+
+ def write_multiple_files(options)
+ d = options[:destination]
+ if File.exist?(d) and not File.directory?(d)
+ raise ArgumentError, 'Cannot write multiple files to a file.'
+ end
+
+ FileUtils.mkdir_p d unless File.exist?(d)
+
+ media_types = MIME::Types.map(&:media_type).uniq
+ media_types.each { |media_type|
+ n = File.join(d, "#{media_type}.#{options[:format]}")
+ t = @loader.container.select { |e| e.media_type == media_type }
+ File.open(n, 'wb') { |f|
+ f.puts convert(t.sort, options[:format])
+ }
+ }
+ end
+
+ def convert(data, format)
+ data.send(:"to_#{format}")
+ end
+end
diff --git a/support/iana_downloader.rb b/support/iana_downloader.rb
new file mode 100644
index 0000000..8778ce7
--- /dev/null
+++ b/support/iana_downloader.rb
@@ -0,0 +1,201 @@
+# -*- ruby encoding: utf-8 -*-
+
+$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
+
+require 'open-uri'
+require 'nokogiri'
+require 'cgi'
+require 'fileutils'
+require 'yaml'
+
+ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'yes'
+require 'mime/types'
+
+class IANADownloader
+ INDEX_URL = %q(https://www.iana.org/assignments/media-types/)
+ MIME_HREF = %r{/assignments/media-types/(.+)/?$}
+
+ def self.download_to(destination)
+ new(destination).download_all
+ end
+
+ attr_reader :destination
+
+ def initialize(destination = nil)
+ @destination =
+ File.expand_path(destination ||
+ File.expand_path('../../type-lists', __FILE__))
+ end
+
+ def download_all
+ puts "Downloading index of MIME types from #{INDEX_URL}."
+ index = Nokogiri::HTML(open(INDEX_URL) { |f| f.read })
+ index.xpath('//a').each do |tag|
+ next unless tag['href']
+ href_match = MIME_HREF.match(tag['href'])
+ next unless href_match
+ href = href_match.captures.first
+ next if tag.content == 'example'
+ download_one(href, tag.content, href)
+ end
+ end
+
+ def download_one(url, name = url, type = nil)
+ if url =~ %r{^https?://}
+ name = File.basename(url) if name == url
+ else
+ url = File.join(INDEX_URL, url)
+ end
+
+ Parser.download(name, from: url, to: @destination, type: type)
+ end
+end
+
+class IANADownloader::Parser
+ def self.download(name, options = {})
+ new(name, options) do |parser|
+ parser.parse(parser.download)
+ parser.save
+ end
+ end
+
+ def initialize(name, options = {})
+ raise ArgumentError, ":from not specified" unless options[:from]
+ raise ArgumentError, ":to not specified" unless options[:to]
+
+ @name = "#{File.basename(name, '.yml')}.yml"
+ @from = options[:from]
+ @to = File.expand_path(options[:to])
+ @type = File.basename(options[:type] || name, '.yml')
+ @file = File.join(@to, @name)
+ @types = load_mime_types || MIME::Types.new
+
+ yield self if block_given?
+ end
+
+ def download
+ puts "Downloading #{@name} from #{@from}"
+ Nokogiri::HTML(open(@from) { |f| f.read })
+ end
+
+ def parse(html)
+ nodes = html.xpath('//table//table//tr')
+
+ # How many <td> children does the first node have?
+ node_count = child_elems(nodes.first).size
+
+ if node_count == 1
+ # The title node doesn't have what we expect. Let's try it based on
+ # the first real node.
+ node_count = child_elems(nodes.first.next).size
+ end
+
+ nodes.each do |node|
+ next if node == nodes.first
+
+ elems = child_elems(node)
+ next if elems.size.zero?
+
+ if elems.size != node_count
+ warn "size mismatch (#{elems.size} != #{node_count}) in node: #{node}"
+ next
+ end
+
+ sub_ix, ref_ix = case elems.size
+ when 3
+ [ 1, 2 ]
+ when 4
+ [ 1, 3 ]
+ else
+ warn "size error (#{elems.size} != {3,4}) in node: #{node}"
+ raise
+ end
+ subtype = elems[sub_ix].content.chomp.strip
+ refs = child_elems(elems[ref_ix]).map { |ref|
+ ref = ref.xpath('a') unless ref.name == 'a'
+ [ ref ].flatten.map { |r| href_to_ref(r) }
+
+ }.flatten
+
+ content_type = [ @type, subtype].join('/')
+ use_instead = nil
+ obsolete = false
+
+ if content_type =~ OBSOLETE
+ content_type = $1
+ obsolete = true
+ elsif content_type =~ DEPRECATED
+ content_type = $1
+ use_instead = [ $2 ]
+ obsolete = true
+ end
+
+ types = @types.select { |t|
+ (t.content_type == content_type)
+ }
+
+ if types.empty?
+ MIME::Type.new(content_type) do |mt|
+ mt.references = %w(IANA) + refs
+ mt.registered = true
+ mt.obsolete = obsolete if obsolete
+ mt.use_instead = use_instead if use_instead
+ @types << mt
+ end
+ else
+ types.each { |mt|
+ mt.references = %w(IANA) + refs
+ mt.registered = true
+ mt.obsolete = obsolete if obsolete
+ mt.use_instead = use_instead if use_instead
+ }
+ end
+ end
+ end
+
+ def save
+ FileUtils.mkdir_p(@to)
+ File.open(@file, 'wb') { |f|
+ f.puts @types.map.to_a.sort.to_yaml
+ }
+ end
+
+ private
+ def child_elems(node)
+ node.children.select { |n| n.elem? }
+ end
+
+ def load_mime_types
+ if File.exist?(@file)
+ MIME::Types::Loader.load_from_yaml(@file)
+ end
+ end
+
+ def href_to_ref(ref)
+ case ref['href']
+ when CONTACT_PEOPLE
+ tag = CGI::unescape($1).chomp.strip
+ if tag == ref.content
+ "[#{ref.content}]"
+ else
+ "[#{ref.content}=#{tag}]"
+ end
+ when RFC_EDITOR, IETF_RFC, IETF_RFC_TOOLS
+ "RFC#$1"
+ when RFC_BAD_EDITOR
+ ref.content
+ when %r{(https?://.*)}
+ "{#{ref.content}=#$1}"
+ else
+ ref
+ end
+ end
+
+ CONTACT_PEOPLE = %r{https?://www.iana.org/assignments/contact-people.html?l?#(.*)}
+ RFC_EDITOR = %r{https?://www.rfc-editor.org/rfc/rfc(\d+).txt}
+ RFC_BAD_EDITOR = %r{https?://www.rfc-editor.org/rfc/rfcxxxx.txt}
+ IETF_RFC = %r{https?://www.ietf.org/rfc/rfc(\d+).txt}
+ IETF_RFC_TOOLS = %r{https?://tools.ietf.org/html/rfc(\d+)}
+ OBSOLETE = %r{(.+)\s+\((?:obsolete|deprecated)\)}i
+ DEPRECATED = %r{(.+)\s+-\s+DEPRECATED\s+-\s+Please\s+use\s+(.+)}
+end
diff --git a/test/fixture/json.json b/test/fixture/json.json
new file mode 100644
index 0000000..6f43361
--- /dev/null
+++ b/test/fixture/json.json
@@ -0,0 +1 @@
+[{"content-type":"application/smil","encoding":"8bit","extensions":["smi","smil"],"obsolete":true,"use-instead":["application/smil+xml"],"references":["IANA","RFC4536"],"registered":true},{"content-type":"audio/vnd.qcelp","encoding":"base64","extensions":["qcp"],"obsolete":true,"use-instead":["audio/QCELP"],"references":["IANA","RFC3625"],"registered":true},{"content-type":"image/bmp","encoding":"base64","extensions":["bmp"],"obsolete":true,"use-instead":["image/x-bmp"],"registered":false},{"content-type":"application/acad","encoding":"base64","references":["LTSW"],"registered":false},{"content-type":"audio/webm","encoding":"base64","extensions":["webm"],"references":["{WebM=http://www.webmproject.org/code/specs/container/}"],"registered":false},{"content-type":"image/pjpeg","docs":"Fixes a bug with IE6 and progressive JPEGs","encoding":"base64","registered":false},{"content-type":"application/1d-interleaved-parityfec","encoding":"base64","references":["IANA","RFC6015"],"registered":true},{"content-type":"audio/1d-interleaved-parityfec","encoding":"base64","references":["IANA","RFC6015"],"registered":true},{"content-type":"application/x-apple-diskimage","encoding":"base64","extensions":["dmg"],"registered":false,"system":"mac"}]
diff --git a/test/fixture/old-data b/test/fixture/old-data
new file mode 100644
index 0000000..0905137
--- /dev/null
+++ b/test/fixture/old-data
@@ -0,0 +1,9 @@
+!application/smil @smi,smil :8bit 'IANA,RFC4536 =use-instead:application/smil+xml
+!audio/vnd.qcelp @qcp 'IANA,RFC3625 =use-instead:audio/QCELP
+*!image/bmp @bmp =use-instead:image/x-bmp
+*application/acad 'LTSW
+*audio/webm @webm '{WebM=http://www.webmproject.org/code/specs/container/}
+*image/pjpeg :base64 =Fixes a bug with IE6 and progressive JPEGs
+application/1d-interleaved-parityfec 'IANA,RFC6015
+audio/1d-interleaved-parityfec 'IANA,RFC6015
+mac:application/x-apple-diskimage @dmg
diff --git a/test/fixture/yaml.yaml b/test/fixture/yaml.yaml
new file mode 100644
index 0000000..9835a9c
--- /dev/null
+++ b/test/fixture/yaml.yaml
@@ -0,0 +1,75 @@
+---
+- !ruby/object:MIME::Type
+ content-type: application/smil
+ encoding: 8bit
+ extensions:
+ - smi
+ - smil
+ obsolete: true
+ use-instead:
+ - application/smil+xml
+ references:
+ - IANA
+ - RFC4536
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.qcelp
+ encoding: base64
+ extensions:
+ - qcp
+ obsolete: true
+ use-instead:
+ - audio/QCELP
+ references:
+ - IANA
+ - RFC3625
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/bmp
+ encoding: base64
+ extensions:
+ - bmp
+ obsolete: true
+ use-instead:
+ - image/x-bmp
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/acad
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/webm
+ encoding: base64
+ extensions:
+ - webm
+ references:
+ - ! '{WebM=http://www.webmproject.org/code/specs/container/}'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/pjpeg
+ docs: Fixes a bug with IE6 and progressive JPEGs
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/1d-interleaved-parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6015
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/1d-interleaved-parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6015
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/x-apple-diskimage
+ encoding: base64
+ extensions:
+ - dmg
+ registered: false
+ system: !ruby/regexp /mac/
diff --git a/test/minitest_helper.rb b/test/minitest_helper.rb
new file mode 100644
index 0000000..dad427c
--- /dev/null
+++ b/test/minitest_helper.rb
@@ -0,0 +1,22 @@
+# -*- ruby encoding: utf-8 -*-
+
+require 'mime/type'
+require 'fileutils'
+
+gem 'minitest'
+require 'minitest/autorun'
+
+module MIME
+ @__deprecated = Hash.new { |h, k| h[k] = true }
+
+ class << self
+ attr_reader :__deprecated
+ end
+end
+
+def assert_deprecated(name, message = "and will be removed")
+ MIME.__deprecated[name] = false
+ assert_output(nil, /#{Regexp.escape(name)} is deprecated #{Regexp.escape(message)}./) { yield }
+ensure
+ MIME.__deprecated[name] = true
+end
diff --git a/test/test_mime_type.rb b/test/test_mime_type.rb
index 9846c7d..4b31ec6 100644
--- a/test/test_mime_type.rb
+++ b/test/test_mime_type.rb
@@ -1,46 +1,77 @@
# -*- ruby encoding: utf-8 -*-
require 'mime/types'
+require 'minitest_helper'
class TestMIMEType < Minitest::Test
- def yaml_mime_type_from_array
- MIME::Type.from_array('text/x-yaml', %w(yaml yml), '8bit', 'd9d172f608')
+ def make(content_type)
+ MIME::Type.new(content_type) { |mt| yield mt if block_given? }
+ end
+
+ def make_yaml_mime_type
+ make('text/x-yaml') do |yaml|
+ yaml.extensions = %w(yaml yml)
+ yaml.encoding = '8bit'
+ yaml.system = 'd9d172f608'
+ end
+ end
+
+ def make_yaml_mime_type_with_docs
+ make('text/x-yaml') do |yaml|
+ yaml.extensions = %w(yaml yml)
+ yaml.encoding = '8bit'
+ yaml.system = 'd9d172f608'
+ yaml.docs = 'Test YAML'
+ end
end
def setup
- @zip = MIME::Type.new('x-appl/x-zip') { |t| t.extensions = ['zip', 'zp'] }
+ @applzip = MIME::Type.new('x-appl/x-zip') { |t|
+ t.extensions = ['zip', 'zp']
+ }
end
def test_class_from_array
- yaml = yaml_mime_type_from_array
+ yaml = nil
+ assert_deprecated("MIME::Type.from_array") do
+ yaml = MIME::Type.from_array('text/x-yaml', %w(yaml yml), '8bit',
+ 'd9d172f608')
+ end
assert_instance_of(MIME::Type, yaml)
assert_equal('text/yaml', yaml.simplified)
+ assert_raises(ArgumentError) { MIME::Type.from_array }
end
def test_class_from_hash
- yaml = MIME::Type.from_hash('Content-Type' => 'text/x-yaml',
- 'Content-Transfer-Encoding' => '8bit',
- 'System' => 'd9d172f608',
- 'Extensions' => %w(yaml yml))
+ yaml = nil
+ assert_deprecated("MIME::Type.from_hash") do
+ yaml = MIME::Type.from_hash('Content-Type' => 'text/x-yaml',
+ 'Content-Transfer-Encoding' => '8bit',
+ 'System' => 'd9d172f608',
+ 'Extensions' => %w(yaml yml))
+ end
assert_instance_of(MIME::Type, yaml)
assert_equal('text/yaml', yaml.simplified)
end
def test_class_from_mime_type
- zip2 = MIME::Type.from_mime_type(@zip)
- assert_instance_of(MIME::Type, @zip)
- assert_equal('appl/zip', @zip.simplified)
- refute_equal(@zip.object_id, zip2.object_id)
+ zip2 = nil
+ assert_deprecated("MIME::Type.from_mime_type") do
+ zip2 = MIME::Type.from_mime_type(@applzip)
+ end
+ assert_instance_of(MIME::Type, @applzip)
+ assert_equal('appl/zip', @applzip.simplified)
+ refute_equal(@applzip.object_id, zip2.object_id)
end
def test_class_simplified
- assert_equal(MIME::Type.simplified('text/plain'), 'text/plain')
- assert_equal(MIME::Type.simplified('image/jpeg'), 'image/jpeg')
- assert_equal(MIME::Type.simplified('application/x-msword'), 'application/msword')
- assert_equal(MIME::Type.simplified('text/vCard'), 'text/vcard')
- assert_equal(MIME::Type.simplified('application/pkcs7-mime'), 'application/pkcs7-mime')
- assert_equal(@zip.simplified, 'appl/zip')
- assert_equal(MIME::Type.simplified('x-xyz/abc'), 'xyz/abc')
+ assert_equal('text/plain', MIME::Type.simplified('text/plain'))
+ assert_equal('image/jpeg', MIME::Type.simplified('image/jpeg'))
+ assert_equal('application/msword', MIME::Type.simplified('application/x-msword'))
+ assert_equal('text/vcard', MIME::Type.simplified('text/vCard'))
+ assert_equal('application/pkcs7-mime', MIME::Type.simplified('application/pkcs7-mime'))
+ assert_equal('xyz/abc', MIME::Type.simplified('x-xyz/abc'))
+ assert_nil(MIME::Type.simplified('text'))
end
def test_CMP # '<=>'
@@ -63,7 +94,7 @@ class TestMIMEType < Minitest::Test
refute(MIME::Type.new('application/x-msword').ascii?)
assert(MIME::Type.new('text/vCard').ascii?)
refute(MIME::Type.new('application/pkcs7-mime').ascii?)
- refute(@zip.ascii?)
+ refute(@applzip.ascii?)
end
def test_binary_eh
@@ -72,52 +103,69 @@ class TestMIMEType < Minitest::Test
assert(MIME::Type.new('application/x-msword').binary?)
refute(MIME::Type.new('text/vCard').binary?)
assert(MIME::Type.new('application/pkcs7-mime').binary?)
- assert(@zip.binary?)
+ assert(@applzip.binary?)
end
def test_complete_eh
- yaml = yaml_mime_type_from_array
+ yaml = make_yaml_mime_type
assert(yaml.complete?)
yaml.extensions = nil
refute(yaml.complete?)
end
def test_content_type
- assert_equal(MIME::Type.new('text/plain').content_type, 'text/plain')
- assert_equal(MIME::Type.new('image/jpeg').content_type, 'image/jpeg')
- assert_equal(MIME::Type.new('application/x-msword').content_type, 'application/x-msword')
- assert_equal(MIME::Type.new('text/vCard').content_type, 'text/vCard')
- assert_equal(MIME::Type.new('application/pkcs7-mime').content_type, 'application/pkcs7-mime')
- assert_equal(@zip.content_type, 'x-appl/x-zip');
+ assert_equal('text/plain', MIME::Type.new('text/plain').content_type)
+ assert_equal('image/jpeg', MIME::Type.new('image/jpeg').content_type)
+ assert_equal('application/x-msword',
+ MIME::Type.new('application/x-msword').content_type)
+ assert_equal('text/vCard', MIME::Type.new('text/vCard').content_type)
+ assert_equal('application/pkcs7-mime',
+ MIME::Type.new('application/pkcs7-mime').content_type)
+ assert_equal('x-appl/x-zip', @applzip.content_type);
+ assert_equal('base64', @applzip.encoding)
end
def test_encoding
- assert_equal(MIME::Type.new('text/plain').encoding, 'quoted-printable')
- assert_equal(MIME::Type.new('image/jpeg').encoding, 'base64')
- assert_equal(MIME::Type.new('application/x-msword').encoding, 'base64')
- assert_equal(MIME::Type.new('text/vCard').encoding, 'quoted-printable')
- assert_equal(MIME::Type.new('application/pkcs7-mime').encoding, 'base64')
-
- yaml = yaml_mime_type_from_array
- assert_equal(yaml.encoding, '8bit')
+ assert_equal('quoted-printable', MIME::Type.new('text/plain').encoding)
+ assert_equal('base64', MIME::Type.new('image/jpeg').encoding)
+ assert_equal('base64', MIME::Type.new('application/x-msword').encoding)
+ assert_equal('quoted-printable', MIME::Type.new('text/vCard').encoding)
+ assert_equal('base64', MIME::Type.new('application/pkcs7-mime').encoding)
+ end
+
+ def test_encoding_equals
+ yaml = make_yaml_mime_type
+ assert_equal('8bit', yaml.encoding)
yaml.encoding = 'base64'
- assert_equal(yaml.encoding, 'base64')
+ assert_equal('base64', yaml.encoding)
yaml.encoding = :default
- assert_equal(yaml.encoding, 'quoted-printable')
- assert_raises(ArgumentError) { yaml.encoding = 'binary' }
- assert_equal(@zip.encoding, 'base64')
+ assert_equal('quoted-printable', yaml.encoding)
+ begin
+ yaml.encoding = 'binary'
+ rescue MIME::Type::InvalidEncoding => ex
+ assert_equal('Invalid Encoding "binary" (valid values are [nil, :default, "base64", "8bit", "7bit", "quoted-printable"]).', ex.message)
+ end
end
- def _test_default_encoding
- raise NotImplementedError, 'Need to write test_default_encoding'
+ def test_default_encoding
+ %w(text/plain text/html).each { |mt|
+ assert_equal('quoted-printable', MIME::Type.new(mt).default_encoding)
+ }
+ %w(image/jpeg applicatoin/pkcs7-mime).each { |mt|
+ assert_equal('base64', MIME::Type.new(mt).default_encoding)
+ }
end
- def _test_docs
- raise NotImplementedError, 'Need to write test_docs'
+ def test_docs
+ yaml = make_yaml_mime_type_with_docs
+ assert_equal('Test YAML', yaml.docs)
end
- def _test_docs_equals
- raise NotImplementedError, 'Need to write test_docs_equals'
+ def test_docs_equals
+ yaml = make_yaml_mime_type
+ assert_nil(yaml.docs)
+ yaml.docs = 'YAML docs'
+ assert_equal('YAML docs', yaml.docs)
end
def test_eql?
@@ -127,25 +175,30 @@ class TestMIMEType < Minitest::Test
refute(MIME::Type.new('text/plain').eql?('image/jpeg'))
end
- def _test_encoding
- raise NotImplementedError, 'Need to write test_encoding'
- end
-
- def _test_encoding_equals
- raise NotImplementedError, 'Need to write test_encoding_equals'
- end
-
def test_extensions
- yaml = yaml_mime_type_from_array
- assert_equal(yaml.extensions, %w(yaml yml))
+ yaml = make_yaml_mime_type
+ assert_equal(%w(yaml yml), yaml.extensions)
+ assert_equal(2, @applzip.extensions.size)
+ assert_equal(%w(zip zp), @applzip.extensions)
+ end
+
+ def test_add_extensions
+ expected = make_yaml_mime_type
+ test_doc = make_yaml_mime_type
+ test_doc.add_extensions(nil)
+ assert_equal(expected.extensions, test_doc.extensions)
+ test_doc.add_extensions('yaml')
+ assert_equal(expected.extensions, test_doc.extensions)
+ test_doc.add_extensions(%w(yaml))
+ assert_equal(expected.extensions, test_doc.extensions)
+ test_doc.add_extensions('yz')
+ assert_equal(%w(yaml yml yz), test_doc.extensions)
+ end
+
+ def test_extensions_equals
+ yaml = make_yaml_mime_type
yaml.extensions = 'yaml'
- assert_equal(yaml.extensions, ['yaml'])
- assert_equal(@zip.extensions.size, 2)
- assert_equal(@zip.extensions, ['zip', 'zp'])
- end
-
- def _test_extensions_equals
- raise NotImplementedError, 'Need to write test_extensions_equals'
+ assert_equal(%w(yaml), yaml.extensions)
end
def test_like_eh
@@ -158,50 +211,92 @@ class TestMIMEType < Minitest::Test
end
def test_media_type
- assert_equal(MIME::Type.new('text/plain').media_type, 'text')
- assert_equal(MIME::Type.new('image/jpeg').media_type, 'image')
- assert_equal(MIME::Type.new('application/x-msword').media_type, 'application')
- assert_equal(MIME::Type.new('text/vCard').media_type, 'text')
- assert_equal(MIME::Type.new('application/pkcs7-mime').media_type, 'application')
- assert_equal(MIME::Type.new('x-chemical/x-pdb').media_type, 'chemical')
- assert_equal(@zip.media_type, 'appl')
+ assert_equal('text', MIME::Type.new('text/plain').media_type)
+ assert_equal('image', MIME::Type.new('image/jpeg').media_type)
+ assert_equal('application', MIME::Type.new('application/x-msword').media_type)
+ assert_equal('text', MIME::Type.new('text/vCard').media_type)
+ assert_equal('application', MIME::Type.new('application/pkcs7-mime').media_type)
+ assert_equal('chemical', MIME::Type.new('x-chemical/x-pdb').media_type)
+ assert_equal('appl', @applzip.media_type)
end
- def _test_obsolete_eh
- raise NotImplementedError, 'Need to write test_obsolete_eh'
+ def test_obsolete_eh
+ type = MIME::Type.new('content-type' => 'test/type',
+ 'obsolete' => true)
+ assert(type.obsolete?)
+ refute(make_yaml_mime_type.obsolete?)
end
- def _test_obsolete_equals
- raise NotImplementedError, 'Need to write test_obsolete_equals'
+ def test_obsolete_equals
+ yaml = make_yaml_mime_type
+ refute(yaml.obsolete?)
+ yaml.obsolete = true
+ assert(yaml.obsolete?)
end
def test_platform_eh
- yaml = yaml_mime_type_from_array
- refute(yaml.platform?)
+ yaml = nil
+ assert_deprecated("MIME::Type#platform?") do
+ yaml = make_yaml_mime_type
+ refute(yaml.platform?)
+ end
yaml.system = nil
refute(yaml.platform?)
yaml.system = %r{#{RUBY_PLATFORM}}
assert(yaml.platform?)
end
- def test_raw_media_type
- assert_equal(MIME::Type.new('text/plain').raw_media_type, 'text')
- assert_equal(MIME::Type.new('image/jpeg').raw_media_type, 'image')
- assert_equal(MIME::Type.new('application/x-msword').raw_media_type, 'application')
- assert_equal(MIME::Type.new('text/vCard').raw_media_type, 'text')
- assert_equal(MIME::Type.new('application/pkcs7-mime').raw_media_type, 'application')
+ def assert_priority(l, e, r)
+ assert_equal(-1, l.first.priority_compare(l.last))
+ assert_equal(0, e.first.priority_compare(e.last))
+ assert_equal(1, r.first.priority_compare(r.last))
+ end
+
+ def test_priority_compare
+ tl, te, tr = make('text/1'), make('text/1'), make('text/2')
+ assert_priority([tl, tr], [tl, te], [tr, tl])
+
+ tl.registered = te.registered = true
+ tr = make(tl) { |t| t.registered = false }
+ assert_priority([tl, tr], [tl, te], [tr, tl])
- assert_equal(MIME::Type.new('x-chemical/x-pdb').raw_media_type, 'x-chemical')
- assert_equal(@zip.raw_media_type, 'x-appl')
+ tl.system = te.system = nil
+ tr = make(tl) { |t| t.system = /#{RUBY_PLATFORM}/ }
+ assert_priority([tl, tr], [tl, te], [tr, tl])
+
+ tl.extensions = te.extensions = %w(1)
+ tr = make(tl) { |t| t.extensions = nil }
+ assert_priority([tl, tr], [tl, te], [tr, tl])
+
+ tl.obsolete = te.obsolete = false
+ tr = make(tl) { |t| t.obsolete = true }
+ assert_priority([tl, tr], [tl, te], [tr, tl])
+
+ tl.obsolete = te.obsolete = true
+ tl.use_instead = te.use_instead = 'abc/xyz'
+ tr = make(tl) { |t| t.use_instead = nil }
+ assert_priority([tl, tr], [tl, te], [tr, tl])
+ tr.use_instead = 'abc/zzz'
+ assert_priority([tl, tr], [tl, te], [tr, tl])
+ end
+
+ def test_raw_media_type
+ assert_equal('text', MIME::Type.new('text/plain').raw_media_type)
+ assert_equal('image', MIME::Type.new('image/jpeg').raw_media_type)
+ assert_equal('application', MIME::Type.new('application/x-msword').raw_media_type)
+ assert_equal('text', MIME::Type.new('text/vCard').raw_media_type)
+ assert_equal('application', MIME::Type.new('application/pkcs7-mime').raw_media_type)
+ assert_equal('x-chemical', MIME::Type.new('x-chemical/x-pdb').raw_media_type)
+ assert_equal('x-appl', @applzip.raw_media_type)
end
def test_raw_sub_type
- assert_equal(MIME::Type.new('text/plain').raw_sub_type, 'plain')
- assert_equal(MIME::Type.new('image/jpeg').raw_sub_type, 'jpeg')
- assert_equal(MIME::Type.new('application/x-msword').raw_sub_type, 'x-msword')
- assert_equal(MIME::Type.new('text/vCard').raw_sub_type, 'vCard')
- assert_equal(MIME::Type.new('application/pkcs7-mime').raw_sub_type, 'pkcs7-mime')
- assert_equal(@zip.raw_sub_type, 'x-zip')
+ assert_equal('plain', MIME::Type.new('text/plain').raw_sub_type)
+ assert_equal('jpeg', MIME::Type.new('image/jpeg').raw_sub_type)
+ assert_equal('x-msword', MIME::Type.new('application/x-msword').raw_sub_type)
+ assert_equal('vCard', MIME::Type.new('text/vCard').raw_sub_type)
+ assert_equal('pkcs7-mime', MIME::Type.new('application/pkcs7-mime').raw_sub_type)
+ assert_equal('x-zip', @applzip.raw_sub_type)
end
def test_registered_eh
@@ -210,107 +305,206 @@ class TestMIMEType < Minitest::Test
refute(MIME::Type.new('application/x-msword').registered?)
assert(MIME::Type.new('text/vCard').registered?)
assert(MIME::Type.new('application/pkcs7-mime').registered?)
- refute(@zip.registered?)
+ refute(@applzip.registered?)
+ refute(MIME::Types['image/webp'].first.registered?)
+ # Temporarily broken: requires the new data format to be enabled.
+ assert(MIME::Types['application/x-www-form-urlencoded'].first.registered?)
end
- def _test_registered_equals
- raise NotImplementedError, 'Need to write test_registered_equals'
+ def test_registered_equals
+ [ nil, false, true ].each { |v|
+ @applzip.registered = v
+ assert_equal(v, @applzip.instance_variable_get(:@registered))
+ }
+ @applzip.registered = 1
+ assert_equal(true, @applzip.instance_variable_get(:@registered))
end
def test_signature_eh
refute(MIME::Type.new('text/plain').signature?)
refute(MIME::Type.new('image/jpeg').signature?)
refute(MIME::Type.new('application/x-msword').signature?)
- assert(MIME::Type.new('text/vCard').signature?)
- assert(MIME::Type.new('application/pkcs7-mime').signature?)
+ end
+
+ def test_signature_equals
+ sig = MIME::Type.new('text/vCard') { |t| t.signature = true }
+ assert(sig.signature?)
end
def test_simplified
- assert_equal(MIME::Type.new('text/plain').simplified, 'text/plain')
- assert_equal(MIME::Type.new('image/jpeg').simplified, 'image/jpeg')
- assert_equal(MIME::Type.new('application/x-msword').simplified, 'application/msword')
- assert_equal(MIME::Type.new('text/vCard').simplified, 'text/vcard')
- assert_equal(MIME::Type.new('application/pkcs7-mime').simplified, 'application/pkcs7-mime')
- assert_equal(MIME::Type.new('x-chemical/x-pdb').simplified, 'chemical/pdb')
+ assert_equal('text/plain', MIME::Type.new('text/plain').simplified)
+ assert_equal('image/jpeg', MIME::Type.new('image/jpeg').simplified)
+ assert_equal('application/msword', MIME::Type.new('application/x-msword').simplified)
+ assert_equal('text/vcard', MIME::Type.new('text/vCard').simplified)
+ assert_equal('application/pkcs7-mime', MIME::Type.new('application/pkcs7-mime').simplified)
+ assert_equal('chemical/pdb', MIME::Type.new('x-chemical/x-pdb').simplified)
end
def test_sub_type
- assert_equal(MIME::Type.new('text/plain').sub_type, 'plain')
- assert_equal(MIME::Type.new('image/jpeg').sub_type, 'jpeg')
- assert_equal(MIME::Type.new('application/x-msword').sub_type, 'msword')
- assert_equal(MIME::Type.new('text/vCard').sub_type, 'vcard')
- assert_equal(MIME::Type.new('application/pkcs7-mime').sub_type, 'pkcs7-mime')
- assert_equal(@zip.sub_type, 'zip')
+ assert_equal('plain', MIME::Type.new('text/plain').sub_type)
+ assert_equal('jpeg', MIME::Type.new('image/jpeg').sub_type)
+ assert_equal('msword', MIME::Type.new('application/x-msword').sub_type)
+ assert_equal('vcard', MIME::Type.new('text/vCard').sub_type)
+ assert_equal('pkcs7-mime', MIME::Type.new('application/pkcs7-mime').sub_type)
+ assert_equal('zip', @applzip.sub_type)
+ end
+
+ def test_system
+ assert_deprecated("MIME::Type#system") do
+ yaml = make_yaml_mime_type
+ assert_equal(%r{d9d172f608}, yaml.system)
+ end
end
def test_system_equals
- yaml = yaml_mime_type_from_array
- assert_equal(yaml.system, %r{d9d172f608})
+ yaml = make_yaml_mime_type
yaml.system = /win32/
- assert_equal(yaml.system, %r{win32})
+ assert_equal(%r{win32}, yaml.system)
yaml.system = nil
assert_nil(yaml.system)
end
def test_system_eh
- yaml = yaml_mime_type_from_array
- assert(yaml.system?)
+ yaml = make_yaml_mime_type
+ assert_deprecated("MIME::Type#system?") do
+ assert(yaml.system?)
+ end
yaml.system = nil
refute(yaml.system?)
end
def test_to_a
- yaml = yaml_mime_type_from_array
- assert_equal(yaml.to_a, ['text/x-yaml', %w(yaml yml), '8bit',
- /d9d172f608/, nil, nil, nil, false])
+ yaml = make_yaml_mime_type
+ assert_deprecated("MIME::Type#to_a") do
+ assert_equal(['text/x-yaml', %w(yaml yml), '8bit', /d9d172f608/,
+ false, nil, [], false], yaml.to_a)
+ end
end
def test_to_hash
- yaml = yaml_mime_type_from_array
- assert_equal(yaml.to_hash,
- { 'Content-Type' => 'text/x-yaml',
+ yaml = make_yaml_mime_type
+ assert_deprecated("MIME::Type#to_hash") do
+ assert_equal({'Content-Type' => 'text/x-yaml',
'Content-Transfer-Encoding' => '8bit',
- 'Extensions' => %w(yaml yml),
- 'System' => /d9d172f608/,
- 'Registered' => false,
- 'URL' => nil,
- 'Obsolete' => nil,
- 'Docs' => nil })
+ 'Extensions' => %w(yaml yml),
+ 'System' => /d9d172f608/,
+ 'Registered' => false,
+ 'URL' => [],
+ 'Obsolete' => false,
+ 'Docs' => nil },
+ yaml.to_hash)
+ end
+ end
+
+ def assert_type_has_keys(type, *keys)
+ hash = type.to_h
+ keys.flatten.each { |key| assert(hash.has_key?(key)) }
+ end
+
+ def test_to_h
+ t = make('a/b')
+ assert_type_has_keys(t, %w(content-type registered encoding))
+ assert_type_has_keys(make(t) { |v| v.docs = 'Something' }, 'docs')
+ assert_type_has_keys(make(t) { |v| v.extensions = %w(b) }, 'extensions')
+ assert_type_has_keys(make(t) { |v| v.obsolete = true }, 'obsolete')
+ assert_type_has_keys(make(t) { |v| v.obsolete = true; v.use_instead = 'c/d' },
+ 'obsolete', 'use-instead')
+ assert_type_has_keys(make(t) { |v| v.references = 'IANA' }, 'references')
+ assert_type_has_keys(make(t) { |v| v.signature = true }, 'signature')
+ assert_type_has_keys(make(t) { |v| v.system = /xyz/ }, 'system')
+ end
+
+ def test_to_json
+ assert_equal('{"content-type":"a/b","encoding":"base64","registered":true}',
+ make('a/b').to_json)
end
def test_to_s
- assert_equal("#{MIME::Type.new('text/plain')}", 'text/plain')
+ assert_equal('text/plain', "#{MIME::Type.new('text/plain')}")
end
def test_class_constructors
- refute_nil(@zip)
- yaml = MIME::Type.new('text/x-yaml') do |y|
- y.extensions = %w(yaml yml)
- y.encoding = '8bit'
- y.system = 'd9d172f608'
+ assert_instance_of(MIME::Type, MIME::Type.new('text/x-yaml'))
+ assert_instance_of(MIME::Type, MIME::Type.new('text/x-yaml') { |y|
+ assert_instance_of(MIME::Type, y)
+ })
+ assert_instance_of(MIME::Type, MIME::Type.new('content-type' => 'text/x-yaml'))
+ assert_instance_of(MIME::Type, MIME::Type.new(['text/x-yaml', %w(yaml)]))
+ assert_raises(MIME::Type::InvalidContentType) { MIME::Type.new('apps') }
+ begin
+ MIME::Type.new(nil)
+ rescue MIME::Type::InvalidContentType => ex
+ assert_equal("Invalid Content-Type nil", ex.message)
end
- assert_instance_of(MIME::Type, yaml)
- assert_raises(MIME::InvalidContentType) { MIME::Type.new('apps') }
- assert_raises(MIME::InvalidContentType) { MIME::Type.new(nil) }
end
- def _test_to_str
- raise NotImplementedError, 'Need to write test_to_str'
+ def test_to_str
+ assert_equal('stringy', 'text/plain'.sub(MIME::Type.new('text/plain'), 'stringy'))
end
- def _test_url
- raise NotImplementedError, 'Need to write test_url'
+ def test_references
+ assert_empty(make_yaml_mime_type.references)
end
- def _test_url_equals
- raise NotImplementedError, 'Need to write test_url_equals'
+ def test_references_equals
+ yaml = make_yaml_mime_type
+ yaml.references = "IANA"
+ assert_equal(%W(IANA), yaml.references)
end
- def _test_urls
- raise NotImplementedError, 'Need to write test_urls'
+ def test_url
+ assert_deprecated("MIME::Type#url", "and has been renamed to #references") do
+ assert_empty(make_yaml_mime_type.url)
+ end
end
- def __test_use_instead
- raise NotImplementedError, 'Need to write test_use_instead'
+ def test_url_equals
+ yaml = make_yaml_mime_type
+ assert_deprecated("MIME::Type#url=", "and has been renamed to #references=") do
+ yaml.url = "IANA"
+ end
+ assert_equal(%W(IANA), yaml.url)
+ end
+
+ def test_urls
+ yaml = make_yaml_mime_type
+ assert_empty(yaml.urls)
+ yaml.references = %w(IANA RFC123 DRAFT:xyz LTSW [abc])
+ assert_equal(%w(http://www.iana.org/assignments/media-types/text/yaml
+ http://rfc-editor.org/rfc/rfc123.txt
+ http://datatracker.ietf.org/public/idindex.cgi?command=id_details&filename=xyz
+ http://www.ltsw.se/knbase/internet/text.htp
+ http://www.iana.org/assignments/contact-people.htm#abc),
+ yaml.urls)
+ yaml.references = '[def=lax]'
+ assert_equal([%w(def http://www.iana.org/assignments/contact-people.htm#lax)],
+ yaml.urls)
+ yaml.references = '{mno=pqr}'
+ assert_equal([%w(mno pqr)], yaml.urls)
+ yaml.references = 'hoge'
+ assert_equal(%w(hoge), yaml.urls)
+ end
+
+ def test_use_instead
+ t = make('t/1') { |v| v.use_instead = 't/2' }
+ assert_nil(t.use_instead)
+ t.obsolete = true
+ assert_equal('t/2', t.use_instead)
+ end
+
+ def test_use_instead_equals
+ t = make('t/1') { |v| v.obsolete = true }
+ assert_nil(t.use_instead)
+ t.use_instead = 't/2'
+ assert_equal('t/2', t.use_instead)
+ end
+
+ def test_deprecated_constant
+ assert_output(nil, /MIME::InvalidContentType/) do
+ assert_same(MIME::InvalidContentType, MIME::Type::InvalidContentType)
+ end
+ assert_silent do
+ assert_same(MIME::InvalidContentType, MIME::Type::InvalidContentType)
+ end
end
end
diff --git a/test/test_mime_types.rb b/test/test_mime_types.rb
index 05a9b57..3ffe9d5 100644
--- a/test/test_mime_types.rb
+++ b/test/test_mime_types.rb
@@ -1,122 +1,113 @@
# -*- ruby encoding: utf-8 -*-
require 'mime/types'
+require 'minitest_helper'
class TestMIMETypes < Minitest::Test
def setup
- MIME::Types.instance_variable_set(:@__types__, nil)
- MIME::Types.send(:load_mime_types)
+ @mime_types = MIME::Types.new
+ @mime_types.add(MIME::Type.new(['text/plain', %w(txt)]),
+ MIME::Type.new(['image/jpeg', %w(jpg jpeg)]),
+ MIME::Type.new('application/x-wordperfect6.1'),
+ MIME::Type.new('content-type' => 'application/x-www-form-urlencoded', 'registered' => true),
+ MIME::Type.new(['application/x-gzip', %w(gz)]),
+ MIME::Type.new(['application/gzip', %W(gz)]))
end
- def test_class_index_1
- text_plain = MIME::Type.new('text/plain') do |t|
- t.encoding = '8bit'
- t.extensions = %w(asc txt c cc h hh cpp hpp dat hlp)
- end
- text_plain_vms = MIME::Type.new('text/plain') do |t|
- t.encoding = '8bit'
- t.extensions = %w(doc)
- t.system = 'vms'
- end
-
- assert_equal(MIME::Types['text/plain'], [text_plain, text_plain_vms])
+ def test_enumerable
+ assert(@mime_types.any? {|type| type.content_type == 'text/plain'})
end
- def test_class_index_2
- tst_bmp = MIME::Types["image/x-bmp"] +
- MIME::Types["image/vnd.wap.wbmp"] + MIME::Types["image/x-win-bmp"]
-
- assert_equal(tst_bmp.sort, MIME::Types[/bmp$/].sort)
+ def test_index_with_mime_type
+ xtxp = MIME::Type.new('x-text/x-plain')
+ assert_includes(@mime_types[xtxp], 'text/plain')
+ assert_equal(1, @mime_types[xtxp].size)
+ end
- MIME::Types['image/bmp'][0].system = RUBY_PLATFORM
+ def test_index_with_regex
+ assert_includes(@mime_types[/plain/], 'text/plain')
+ assert_equal(1, @mime_types[/plain/].size)
+ end
- assert_equal([MIME::Type.from_array('image/x-bmp', ['bmp'])],
- MIME::Types[/bmp$/, { :platform => true }])
+ def test_index_with_string
+ assert_includes(@mime_types['text/plain'], 'text/plain')
+ assert_equal(1, @mime_types['text/plain'].size)
end
- def test_class_index_3
- assert(MIME::Types['text/vnd.fly', { :complete => true }].empty?)
- assert(!MIME::Types['text/plain', { :complete => true} ].empty?)
+ def test_index_with_complete_flag
+ assert_empty(@mime_types['text/vnd.fly', complete: true])
+ refute_empty(@mime_types['text/plain', complete: true])
end
- def _test_class_index_extensions
- raise NotImplementedError, 'Need to write test_class_index_extensions'
+ def test_index_with_registered_flag
+ assert_empty(@mime_types['application/x-wordperfect6.1',
+ registered: true])
+ refute_empty(@mime_types['application/x-www-form-urlencoded',
+ registered: true])
+ refute_empty(@mime_types['application/gzip', registered: true])
+ refute_equal(@mime_types['application/gzip'].size,
+ @mime_types['application/gzip', registered: true])
end
- def test_class_add
+ def test_index_with_platform_flag
+ assert_deprecated("MIME::Types#[]", "using the :platform flag") do
+ assert_empty(MIME::Types['text/plain', platform: true])
+ end
+ end
+ def test_add
eruby = MIME::Type.new("application/x-eruby") do |t|
t.extensions = "rhtml"
t.encoding = "8bit"
end
- MIME::Types.add(eruby)
-
- assert_equal(MIME::Types['application/x-eruby'], [eruby])
- end
-
- def _test_class_add_type_variant
- raise NotImplementedError, 'Need to write test_class_add_type_variant'
- end
-
- def test_class_type_for
- assert_equal(MIME::Types.type_for('xml').sort, [ MIME::Types['text/xml'], MIME::Types['application/xml'] ].sort)
- assert_equal(MIME::Types.type_for('gif'), MIME::Types['image/gif'])
- MIME::Types['image/gif'][0].system = RUBY_PLATFORM
- assert_equal(MIME::Types.type_for('gif', true), MIME::Types['image/gif'])
- assert(MIME::Types.type_for('zzz').empty?)
- end
-
- def test_class_of
- assert_equal(MIME::Types.of('xml').sort, [ MIME::Types['text/xml'], MIME::Types['application/xml'] ].sort)
- assert_equal(MIME::Types.of('gif'), MIME::Types['image/gif'])
- MIME::Types['image/gif'][0].system = RUBY_PLATFORM
- assert_equal(MIME::Types.of('gif', true), MIME::Types['image/gif'])
- assert(MIME::Types.of('zzz').empty?)
- end
-
- def test_class_enumerable
- assert( MIME::Types.any? {|type| type.content_type == 'text/plain'} )
- end
-
- def test_class_count
- assert(MIME::Types.count > 42, "A lot of types are expected to be known.")
- end
-
- def test_ebook_formats
- assert_equal( MIME::Types['application/x-mobipocket-ebook'], MIME::Types.type_for("book.mobi"))
- assert_equal( MIME::Types['application/epub+zip'], MIME::Types.type_for("book.epub"))
- assert_equal( MIME::Types['application/x-ibooks+zip'], MIME::Types.type_for("book.ibooks") )
- end
-
- def test_apple_formats
- assert_equal( MIME::Types['application/x-apple-diskimage'], MIME::Types.type_for("disk.dmg") )
- end
+ @mime_types.add(eruby)
- def _test_add
- raise NotImplementedError, 'Need to write test_add'
+ assert_equal(@mime_types['application/x-eruby'], [eruby])
end
- def _test_add_type_variant
- raise NotImplementedError, 'Need to write test_add_type_variant'
+ def test_type_for
+ assert_equal(%w(application/gzip application/x-gzip),
+ @mime_types.type_for('gz'))
+ assert_equal(%w(image/jpeg), MIME::Types.of('foo.jpeg'))
+ assert_equal(%w(image/jpeg text/plain),
+ MIME::Types.type_for(%w(foo.txt foo.jpeg)))
+ assert_equal(@mime_types.of('gif', true), @mime_types['image/gif'])
+ assert_deprecated("MIME::Types#type_for", "using the platform parameter") do
+ assert_empty(MIME::Types.type_for('jpeg', true))
+ end
+ assert_empty(@mime_types.type_for('zzz'))
end
- def _test_data_version
- raise NotImplementedError, 'Need to write test_data_version'
+ def test_count
+ assert_equal(6, @mime_types.count)
end
- def _test_index
- raise NotImplementedError, 'Need to write test_index'
+ # This tests the instance implementation through the class implementation.
+ def test_add_type_variant
+ xtxp = MIME::Type.new('x-text/x-plain')
+ assert_deprecated("MIME::Types#add_type_variant", "and will be private") do
+ @mime_types.add_type_variant(xtxp)
+ end
+ assert_includes(@mime_types['text/plain'], xtxp)
end
- def _test_index_extensions
- raise NotImplementedError, 'Need to write test_index_extensions'
+ def test_data_version
+ assert_equal(MIME::Type::VERSION, @mime_types.data_version)
end
- def _test_of
- raise NotImplementedError, 'Need to write test_of'
+ # This tests the instance implementation through the class implementation.
+ def test_index_extensions
+ xtxp = MIME::Type.new(['x-text/x-plain', %w(tzt)])
+ assert_deprecated("MIME::Types#index_extensions", "and will be private") do
+ @mime_types.index_extensions(xtxp)
+ end
+ assert_includes(@mime_types.of('tzt'), xtxp)
end
- def _test_type_for
- raise NotImplementedError, 'Need to write test_type_for'
+ def test_defined_types
+ assert_deprecated("MIME::Types#defined_types") do
+ assert_empty(MIME::Types.new.defined_types)
+ end
+ refute_empty(@mime_types.defined_types)
end
end
diff --git a/test/test_mime_types_cache.rb b/test/test_mime_types_cache.rb
index e9f1fcb..6524c84 100644
--- a/test/test_mime_types_cache.rb
+++ b/test/test_mime_types_cache.rb
@@ -1,6 +1,7 @@
# -*- ruby encoding: utf-8 -*-
require 'mime/types'
+require 'minitest_helper'
class TestMIMETypesCache < Minitest::Test
def setup
@@ -17,61 +18,61 @@ class TestMIMETypesCache < Minitest::Test
def reset_mime_types
MIME::Types.instance_variable_set(:@__types__, nil)
- MIME::Types.send(:load_mime_types)
+ MIME::Types.send(:load_default_mime_types)
end
def clear_cache_file
FileUtils.rm @cache_file if File.exist? @cache_file
end
- def test_uses_correct_cache_file
- assert_equal(@cache_file, MIME::Types.cache_file)
- end
-
def test_does_not_use_cache_when_unset
ENV.delete('RUBY_MIME_TYPES_CACHE')
- assert_equal(nil, MIME::Types.send(:load_mime_types_from_cache))
- end
-
- def test_raises_exception_when_load_forced_without_cache_file
- assert_raises(ArgumentError) {
- ENV.delete('RUBY_MIME_TYPES_CACHE')
- MIME::Types.send(:load_mime_types_from_cache!)
- }
+ assert_equal(nil, MIME::Types::Cache.load)
end
def test_does_not_use_cache_when_missing
- assert_equal(false, MIME::Types.send(:load_mime_types_from_cache))
+ assert_equal(nil, MIME::Types::Cache.load)
end
def test_does_not_create_cache_when_unset
ENV.delete('RUBY_MIME_TYPES_CACHE')
- assert_equal(nil, MIME::Types.send(:write_mime_types_to_cache))
- end
-
- def test_raises_exception_when_write_forced_without_cache_file
- assert_raises(ArgumentError) {
- ENV.delete('RUBY_MIME_TYPES_CACHE')
- MIME::Types.send(:write_mime_types_to_cache!)
- }
+ assert_equal(nil, MIME::Types::Cache.save)
end
def test_creates_cache
assert_equal(false, File.exist?(@cache_file))
- MIME::Types.send(:write_mime_types_to_cache)
+ MIME::Types::Cache.save
assert_equal(true, File.exist?(@cache_file))
end
def test_uses_cache
- html = MIME::Types['text/html'].first
- html.extensions << 'hex'
- MIME::Types.send(:write_mime_types_to_cache)
+ MIME::Types['text/html'].first.extensions << 'hex'
+ MIME::Types::Cache.save
MIME::Types.instance_variable_set(:@__types__, nil)
- assert_equal(true, MIME::Types.send(:load_mime_types_from_cache))
- html = MIME::Types['text/html'].first
- assert_includes(html.extensions, 'hex')
+ assert_includes(MIME::Types['text/html'].first.extensions, 'hex')
reset_mime_types
end
+
+ def test_load_different_version
+ v = MIME::Types::VERSION.dup
+ MIME::Types::VERSION.gsub!(/.*/, '0.0')
+ MIME::Types::Cache.save
+ MIME::Types::VERSION.gsub!(/.*/, v)
+ MIME::Types.instance_variable_set(:@__types__, nil)
+ assert_output(nil, /MIME::Types cache: invalid version/) do
+ MIME::Types['text/html']
+ end
+ end
+
+ def test_cache_load_failure
+ MIME::Types::Cache.save
+ data = File.binread(@cache_file).reverse
+ File.open(@cache_file, 'wb') { |f| f.write(data) }
+ MIME::Types.instance_variable_set(:@__types__, nil)
+ assert_output(nil, /Could not load MIME::Types cache: incompatible marshal file format/) do
+ MIME::Types['text/html']
+ end
+ end
end
diff --git a/test/test_mime_types_class.rb b/test/test_mime_types_class.rb
new file mode 100644
index 0000000..a0419b4
--- /dev/null
+++ b/test/test_mime_types_class.rb
@@ -0,0 +1,135 @@
+# -*- ruby encoding: utf-8 -*-
+
+require 'mime/types'
+require 'minitest_helper'
+
+class TestMIMETypesQueryClassMethods < Minitest::Test
+ def setup
+ MIME::Types.send(:load_default_mime_types)
+ end
+
+ def test_enumerable
+ assert(MIME::Types.any? {|type| type.content_type == 'text/plain'})
+ end
+
+ def test_load_from_file
+ fn = File.expand_path('../fixture/old-data', __FILE__)
+ assert_deprecated("MIME::Types.load_from_file") do
+ MIME::Types.load_from_file(fn)
+ end
+ end
+
+ def test_index_with_mime_type
+ xtxp = MIME::Type.new('x-text/x-plain')
+ assert_includes(MIME::Types[xtxp], 'text/plain')
+ assert_equal(2, MIME::Types[xtxp].size)
+ end
+
+ def test_index_with_regex
+ assert_includes(MIME::Types[/plain/], 'text/plain')
+ assert_equal(2, MIME::Types[/plain/].size)
+ end
+
+ def test_index_with_string
+ assert_includes(MIME::Types['text/plain'], 'text/plain')
+ assert_equal(2, MIME::Types['text/plain'].size)
+ end
+
+ def test_index_with_complete_flag
+ assert_empty(MIME::Types['text/vnd.fly', complete: true])
+ refute_empty(MIME::Types['text/plain', complete: true])
+ end
+
+ def test_index_with_registered_flag
+ assert_empty(MIME::Types['application/x-wordperfect6.1',
+ registered: true])
+ refute_empty(MIME::Types['application/x-www-form-urlencoded',
+ registered: true])
+ refute_empty(MIME::Types['application/gzip', registered: true])
+ refute_equal(MIME::Types['application/gzip'].size,
+ MIME::Types['application/gzip', registered: true])
+ end
+
+ def test_index_with_platform_flag
+ assert_deprecated("MIME::Types#[]", "using the :platform flag") do
+ assert_empty(MIME::Types['text/plain', platform: true])
+ end
+ end
+
+ def test_type_for
+ assert_equal(%w(application/xml text/xml), MIME::Types.type_for('xml'))
+ assert_equal(%w(image/gif), MIME::Types.of('foo.gif'))
+ assert_equal(%w(application/xml image/gif text/xml),
+ MIME::Types.type_for(%w(xml gif)))
+ assert_deprecated("MIME::Types#type_for", "using the platform parameter") do
+ assert_empty(MIME::Types.type_for('gif', true))
+ end
+ assert_empty(MIME::Types.type_for('zzz'))
+ end
+
+ def test_count
+ assert(MIME::Types.count.nonzero?,
+ "A lot of types are expected to be known.")
+ end
+
+ def test_cache_file
+ ENV['RUBY_MIME_TYPES_CACHE'] = 'foo'
+ assert_deprecated("MIME::Types.cache_file") do
+ assert_equal('foo', MIME::Types.cache_file)
+ end
+ ENV.delete('RUBY_MIME_TYPES_CACHE')
+ assert_nil(MIME::Types.cache_file)
+ end
+end
+
+class TestMIMETypesClassMethods < Minitest::Test
+ def setup
+ MIME::Types.instance_variable_set(:@__types__, nil)
+ MIME::Types.send(:load_default_mime_types)
+ end
+
+ def test_add_with_type
+ MIME::Types.add(MIME::Type.new("application/x-eruby"))
+ refute_empty(MIME::Types['application/x-eruby'])
+ end
+
+ def test_add_with_types
+ mt = MIME::Types.new
+ mt.add MIME::Type.new("application/x-eruby")
+ MIME::Types.add(mt)
+ refute_empty(MIME::Types['application/x-eruby'])
+ end
+
+ def test_add_with_array
+ MIME::Types.add([MIME::Type.new("application/x-eruby")])
+ refute_empty(MIME::Types['application/x-eruby'])
+ end
+
+ def test_add_with_noise_suppression
+ assert_silent do
+ MIME::Types.add(MIME::Type.new("application/x-eruby"))
+ end
+ assert_output(nil, %r{application/x-eruby is already registered}) do
+ MIME::Types.add(MIME::Type.new("application/x-eruby"))
+ end
+ assert_silent do
+ MIME::Types.add(MIME::Type.new("application/x-eruby"), :silent)
+ end
+ end
+
+ def test_add_type_variant
+ xtxp = MIME::Type.new('x-text/x-plain')
+ assert_deprecated("MIME::Types#add_type_variant", "and will be private") do
+ MIME::Types.add_type_variant(xtxp)
+ end
+ assert_includes(MIME::Types['text/plain'], xtxp)
+ end
+
+ def test_index_extensions
+ xtxp = MIME::Type.new(['x-text/x-plain', %w(tzt)])
+ assert_deprecated("MIME::Types#index_extensions", "and will be private") do
+ MIME::Types.index_extensions(xtxp)
+ end
+ assert_includes(MIME::Types.of('tzt'), xtxp)
+ end
+end
diff --git a/test/test_mime_types_lazy.rb b/test/test_mime_types_lazy.rb
index 102d3d7..5456ed7 100644
--- a/test/test_mime_types_lazy.rb
+++ b/test/test_mime_types_lazy.rb
@@ -1,12 +1,13 @@
# -*- ruby encoding: utf-8 -*-
require 'mime/types'
+require 'minitest_helper'
class TestMIMETypesLazy < Minitest::Test
def setup
ENV['RUBY_MIME_TYPES_LAZY_LOAD'] = 'true'
ENV['RUBY_MIME_TYPES_CACHE'] = File.expand_path('../cache.tst', __FILE__)
- MIME::Types.send(:write_mime_types_to_cache)
+ MIME::Types::Cache.save
end
def teardown
@@ -20,7 +21,7 @@ class TestMIMETypesLazy < Minitest::Test
def reset_mime_types
MIME::Types.instance_variable_set(:@__types__, nil)
- MIME::Types.send(:load_mime_types)
+ MIME::Types.send(:load_default_mime_types)
end
def test_lazy_load?
diff --git a/test/test_mime_types_loader.rb b/test/test_mime_types_loader.rb
new file mode 100644
index 0000000..26ae584
--- /dev/null
+++ b/test/test_mime_types_loader.rb
@@ -0,0 +1,42 @@
+# -*- ruby encoding: utf-8 -*-
+
+require 'mime/types'
+require 'minitest_helper'
+
+class TestMIMETypesLoader < Minitest::Test
+ def setup
+ @path = File.expand_path('../fixture', __FILE__)
+ @loader = MIME::Types::Loader.new(@path)
+ end
+
+ def assert_correctly_loaded(types)
+ assert_includes(types, 'application/1d-interleaved-parityfec')
+ assert_includes(types['application/acad'].first.references, 'LTSW')
+ assert_equal([%w(WebM http://www.webmproject.org/code/specs/container/)],
+ types['audio/webm'].first.urls)
+ assert_equal(%w(webm), types['audio/webm'].first.extensions)
+ refute(types['audio/webm'].first.registered?)
+
+ assert_equal("Fixes a bug with IE6 and progressive JPEGs",
+ types['image/pjpeg'].first.docs)
+
+ assert(types['application/x-apple-diskimage'].first.system?)
+ assert_equal(/mac/, types['application/x-apple-diskimage'].first.system)
+
+ assert(types['audio/vnd.qcelp'].first.obsolete?)
+ assert_equal(%w(audio/QCELP),
+ types['audio/vnd.qcelp'].first.use_instead)
+ end
+
+ def test_load_yaml
+ assert_correctly_loaded(@loader.load_yaml)
+ end
+
+ def test_load_json
+ assert_correctly_loaded(@loader.load_json)
+ end
+
+ def test_load_v1
+ assert_correctly_loaded(@loader.load_v1)
+ end
+end
diff --git a/type-lists/application.txt b/type-lists/application.txt
deleted file mode 100644
index 650814d..0000000
--- a/type-lists/application.txt
+++ /dev/null
@@ -1,1018 +0,0 @@
-application/1d-interleaved-parityfec 'IANA,RFC6015
-application/3gpp-ims+xml 'IANA,[Meredith]
-application/activemessage 'IANA,[Shapiro]
-application/andrew-inset 'IANA,[Borenstein]
-application/applefile 'IANA,[Faltstrom]
-application/atom+xml 'IANA,RFC4287,RFC5023
-application/atomdeleted+xml 'IANA,RFC6721
-application/atomicmail 'IANA,[Borenstein]
-application/atomcat+xml 'IANA,RFC5023
-application/atomsvc+xml 'IANA,RFC5023
-application/auth-policy+xml 'IANA,RFC4745
-application/batch-SMTP 'IANA,RFC2442
-application/beep+xml 'IANA,RFC3080
-application/calendar+xml 'IANA,RFC6321
-application/call-completion 'IANA,RFC6910
-application/cals-1840 'IANA,RFC1895
-application/ccmp+xml 'IANA,RFC6503
-application/ccxml+xml 'IANA,RFC4267
-application/cdmi-capability 'IANA,RFC6208
-application/cdmi-container 'IANA,RFC6208
-application/cdmi-domain 'IANA,RFC6208
-application/cdmi-object 'IANA,RFC6208
-application/cdmi-queue 'IANA,RFC6208
-application/cea-2018+xml 'IANA,[Zimmermann]
-application/cellml+xml 'IANA,RFC4708
-application/cfw 'IANA,RFC6230
-application/cnrp+xml 'IANA,RFC3367
-application/commonground 'IANA,[Glazer]
-application/conference-info+xml 'IANA,RFC4575
-application/cpl+xml 'IANA,RFC3880
-application/csta+xml 'IANA,[Ecma International Helpdesk]
-application/CSTAdata+xml 'IANA,[Ecma International Helpdesk]
-application/cybercash 'IANA,[Eastlake]
-application/dash+xml 'IANA,[Stockhammer]
-application/davmount+xml 'IANA,RFC4709
-application/dca-rft 'IANA,[Campbell]
-application/dec-dx 'IANA,[Campbell]
-application/dialog-info+xml 'IANA,RFC4235
-application/dicom 'IANA,RFC3240
-application/dns 'IANA,RFC4027
-application/dskpp+xml 'IANA,RFC6063
-application/dssc+der 'IANA,RFC5698
-application/dssc+xml 'IANA,RFC5698
-application/dvcs 'IANA,RFC3029
-application/ecmascript 'IANA,RFC4329
-application/EDI-Consent 'IANA,RFC1767
-application/EDIFACT 'IANA,RFC1767
-application/EDI-X12 'IANA,RFC1767
-application/emma+xml 'IANA,[W3C]
-application/encaprtp 'IANA,RFC6849
-application/epp+xml 'IANA,RFC5730
-application/eshop 'IANA,[Katz]
-application/example 'IANA,RFC4735
-application/exi 'IANA,[W3C]
-application/fastinfoset 'IANA,[ITU-T ASN.1 Rapporteur]
-application/fastsoap 'IANA,[ITU-T ASN.1 Rapporteur]
-application/fdt+xml 'IANA,RFC6726
-application/fits 'IANA,RFC4047
-application/font-sfnt 'IANA,[Levantovsky]
-application/font-tdpfr 'IANA,RFC3073
-application/font-woff 'IANA,[W3C]
-application/framework-attributes+xml 'IANA,RFC6230
-application/gzip 'IANA,RFC6713
-application/H224 'IANA,RFC4573
-application/held+xml 'IANA,RFC5985
-application/http 'IANA,RFC2616
-application/hyperstudio 'IANA,[Domino]
-application/ibe-key-request+xml 'IANA,RFC5408
-application/ibe-pkg-reply+xml 'IANA,RFC5408
-application/ibe-pp-data 'IANA,RFC5408
-application/iges 'IANA,[Parks]
-application/im-iscomposing+xml 'IANA,RFC3994
-application/index 'IANA,RFC2652
-application/index.cmd 'IANA,RFC2652
-application/index.obj 'IANA,RFC2652
-application/index.response 'IANA,RFC2652
-application/index.vnd 'IANA,RFC2652
-application/inkml+xml 'IANA,[Ashimura]
-application/iotp 'IANA,RFC2935
-application/ipfix 'IANA,RFC5655
-application/ipp 'IANA,RFC2910
-application/isup 'IANA,RFC3204
-application/javascript 'IANA,RFC4329
-application/json 'IANA,RFC4627
-application/json-patch+json 'IANA,RFC6902
-application/kpml-request+xml 'IANA,RFC4730
-application/kpml-response+xml 'IANA,RFC4730
-application/link-format 'IANA,RFC6690
-application/lost+xml 'IANA,RFC5222
-application/lostsync+xml 'IANA,RFC6739
-application/mac-binhex40 'IANA,[Faltstrom]
-application/macwriteii 'IANA,[Lindner]
-application/mads+xml 'IANA,RFC6207
-application/marc 'IANA,RFC2220
-application/marcxml+xml 'IANA,RFC6207
-application/mathematica 'IANA,[Wolfram]
-application/mathml-content+xml 'IANA,[W3C]
-application/mathml-presentation+xml 'IANA,[W3C]
-application/mathml+xml 'IANA,[W3C]
-application/mbms-associated-procedure-description+xml 'IANA,[3GPP]
-application/mbms-deregister+xml 'IANA,[3GPP]
-application/mbms-envelope+xml 'IANA,[3GPP]
-application/mbms-msk-response+xml 'IANA,[3GPP]
-application/mbms-msk+xml 'IANA,[3GPP]
-application/mbms-protection-description+xml 'IANA,[3GPP]
-application/mbms-reception-report+xml 'IANA,[3GPP]
-application/mbms-register-response+xml 'IANA,[3GPP]
-application/mbms-register+xml 'IANA,[3GPP]
-application/mbms-schedule+xml 'IANA,[3GPP],[Turcotte]
-application/mbms-user-service-description+xml 'IANA,[3GPP]
-application/mbox 'IANA,RFC4155
-application/media_control+xml 'IANA,RFC5168
-application/media-policy-dataset+xml 'IANA,RFC6796
-application/mediaservercontrol+xml 'IANA,RFC5022
-application/metalink4+xml 'IANA,RFC5854
-application/mets+xml 'IANA,RFC6207
-application/mikey 'IANA,RFC3830
-application/mods+xml 'IANA,RFC6207
-application/moss-keys 'IANA,RFC1848
-application/moss-signature 'IANA,RFC1848
-application/mosskey-data 'IANA,RFC1848
-application/mosskey-request 'IANA,RFC1848
-application/mp21 'IANA,RFC6381,[Singer]
-application/mp4 'IANA,RFC4337,RFC6381
-application/mpeg4-generic 'IANA,RFC3640
-application/mpeg4-iod 'IANA,RFC4337
-application/mpeg4-iod-xmt 'IANA,RFC4337
-application/mrb-consumer+xml 'IANA,RFC6917
-application/mrb-publish+xml 'IANA,RFC6917
-application/msc-ivr+xml 'IANA,RFC6231
-application/msc-mixer+xml 'IANA,RFC6505
-application/msword 'IANA,[Lindner]
-application/mxf 'IANA,RFC4539
-application/nasdata 'IANA,RFC4707
-application/news-checkgroups 'IANA,RFC5537
-application/news-groupinfo 'IANA,RFC5537
-application/news-transmission 'IANA,RFC5537
-application/nlsml+xml 'IANA,RFC6787
-application/nss 'IANA,[Hammer]
-application/ocsp-request 'IANA,RFC6960
-application/ocsp-response 'IANA,RFC6960
-application/octet-stream 'IANA,RFC2045,RFC2046
-application/oda 'IANA,RFC2045,RFC2046
-application/oebps-package+xml 'IANA,RFC4839
-application/ogg 'IANA,RFC5334
-application/oxps 'IANA,[Ecma International Helpdesk]
-application/p2p-overlay+xml 'IANA,{RFC-ietf-p2psip-base-26=http://tools.ietf.org/html/draft-ietf-p2psip-base}
-application/parityfec 'IANA,RFC5109
-application/patch-ops-error+xml 'IANA,RFC5261
-application/pdf 'IANA,RFC3778
-application/pgp-encrypted 'IANA,RFC3156
-application/pgp-keys 'IANA,RFC3156
-application/pgp-signature 'IANA,RFC3156
-application/pidf+xml 'IANA,RFC3863
-application/pidf-diff+xml 'IANA,RFC5262
-application/pkcs10 'IANA,RFC5967
-application/pkcs7-mime 'IANA,RFC5751
-application/pkcs7-signature 'IANA,RFC5751
-application/pkcs8 'IANA,RFC5958
-application/pkix-attr-cert 'IANA,RFC5877
-application/pkix-cert 'IANA,RFC2585
-application/pkixcmp 'IANA,RFC2510
-application/pkix-crl 'IANA,RFC2585
-application/pkix-pkipath 'IANA,RFC6066
-application/pls+xml 'IANA,RFC4267
-application/poc-settings+xml 'IANA,RFC4354
-application/postscript 'IANA,RFC2045,RFC2046
-application/provenance+xml 'IANA,[W3C],[Herman]
-application/prs.alvestrand.titrax-sheet 'IANA,[Alvestrand]
-application/prs.cww 'IANA,[Rungchavalnont]
-application/prs.nprend 'IANA,[Doggett]
-application/prs.plucker 'IANA,[Janssen]
-application/prs.rdf-xml-crypt 'IANA,[Inkster]
-application/prs.xsf+xml 'IANA,[Stührenberg=Stuhrenberg]
-application/pskc+xml 'IANA,RFC6030
-application/rdf+xml 'IANA,RFC3870
-application/qsig 'IANA,RFC3204
-application/raptorfec 'IANA,RFC6682
-application/reginfo+xml 'IANA,RFC3680
-application/relax-ng-compact-syntax 'IANA,{ISO/IEC 19757-2:2003/FDAM-1=http://www.jtc1sc34.org/repository/0661.pdf}
-application/remote-printing 'IANA,RFC1486,[Rose]
-application/resource-lists-diff+xml 'IANA,RFC5362
-application/resource-lists+xml 'IANA,RFC4826
-application/riscos 'IANA,[Smith]
-application/rlmi+xml 'IANA,RFC4662
-application/rls-services+xml 'IANA,RFC4826
-application/rpki-ghostbusters 'IANA,RFC6493
-application/rpki-manifest 'IANA,RFC6481
-application/rpki-roa 'IANA,RFC6481
-application/rpki-updown 'IANA,RFC6492
-application/rtf 'IANA,[Lindner]
-application/rtploopback 'IANA,RFC6849
-application/rtx 'IANA,RFC4588
-application/samlassertion+xml 'IANA,[OASIS Security Services Technical Committee (SSTC)]
-application/samlmetadata+xml 'IANA,[OASIS Security Services Technical Committee (SSTC)]
-application/sbml+xml 'IANA,RFC3823
-application/scvp-cv-request 'IANA,RFC5055
-application/scvp-cv-response 'IANA,RFC5055
-application/scvp-vp-request 'IANA,RFC5055
-application/scvp-vp-response 'IANA,RFC5055
-application/sdp 'IANA,RFC4566
-application/sep-exi 'IANA,[Robby_Simpson=RoSimpson],[ZigBee_Alliance=ZigBee]
-application/sep+xml 'IANA,[Robby_Simpson=RoSimpson],[ZigBee_Alliance=ZigBee]
-application/session-info 'IANA,[3GPP],[Firmin]
-application/set-payment 'IANA,[Korver]
-application/set-payment-initiation 'IANA,[Korver]
-application/set-registration 'IANA,[Korver]
-application/set-registration-initiation 'IANA,[Korver]
-application/sgml 'IANA,RFC1874
-application/sgml-open-catalog 'IANA,[Grosso]
-application/shf+xml 'IANA,RFC4194
-application/sieve 'IANA,RFC5228
-application/simple-filter+xml 'IANA,RFC4661
-application/simple-message-summary 'IANA,{RFC3842=http://www.rfc-editor.org/rfc/rfcxxxx.txt}
-application/simpleSymbolContainer 'IANA,[3GPP]
-application/slate 'IANA,[Crowley]
-application/smil (OBSOLETE) 'IANA,RFC4536
-application/smil+xml 'IANA,RFC4536
-application/smpte336m 'IANA,RFC6597
-application/soap+fastinfoset 'IANA,[ITU-T ASN.1 Rapporteur]
-application/soap+xml 'IANA,RFC3902
-application/sparql-query 'IANA,[W3C]
-application/sparql-results+xml 'IANA,[W3C]
-application/spirits-event+xml 'IANA,RFC3910
-application/sql 'IANA,RFC6922
-application/srgs 'IANA,RFC4267
-application/srgs+xml 'IANA,RFC4267
-application/sru+xml 'IANA,RFC6207
-application/ssml+xml 'IANA,RFC4267
-application/tamp-apex-update 'IANA,RFC5934
-application/tamp-apex-update-confirm 'IANA,RFC5934
-application/tamp-community-update 'IANA,RFC5934
-application/tamp-community-update-confirm 'IANA,RFC5934
-application/tamp-error 'IANA,RFC5934
-application/tamp-sequence-adjust 'IANA,RFC5934
-application/tamp-sequence-adjust-confirm 'IANA,RFC5934
-application/tamp-status-query 'IANA,RFC5934
-application/tamp-status-response 'IANA,RFC5934
-application/tamp-update 'IANA,RFC5934
-application/tamp-update-confirm 'IANA,RFC5934
-application/tei+xml 'IANA,RFC6129
-application/thraud+xml 'IANA,RFC5941
-application/timestamp-query 'IANA,RFC3161
-application/timestamp-reply 'IANA,RFC3161
-application/timestamped-data 'IANA,RFC5955
-application/tve-trigger 'IANA,[Welsh]
-application/ulpfec 'IANA,RFC5109
-application/urc-grpsheet+xml 'IANA,[Zimmermann]
-application/urc-ressheet+xml 'IANA,[Zimmermann]
-application/urc-targetdesc+xml 'IANA,[Zimmermann]
-application/urc-uisocketdesc+xml 'IANA,[Zimmermann]
-application/vcard+xml 'IANA,RFC6351
-application/vemmi 'IANA,RFC2122
-application/vnd.3gpp.bsf+xml 'IANA,[Meredith]
-application/vnd.3gpp.pic-bw-large 'IANA,[Meredith]
-application/vnd.3gpp.pic-bw-small 'IANA,[Meredith]
-application/vnd.3gpp.pic-bw-var 'IANA,[Meredith]
-application/vnd.3gpp.sms 'IANA,[Meredith]
-application/vnd.3gpp2.bcmcsinfo+xml 'IANA,[Dryden]
-application/vnd.3gpp2.sms 'IANA,[Mahendran]
-application/vnd.3gpp2.tcap 'IANA,[Mahendran]
-application/vnd.3M.Post-it-Notes 'IANA,[O'Brien]
-application/vnd.accpac.simply.aso 'IANA,[Leow]
-application/vnd.accpac.simply.imp 'IANA,[Leow]
-application/vnd.acucobol 'IANA,[Lubin]
-application/vnd.acucorp 'IANA,[Lubin]
-application/vnd.adobe.formscentral.fcdt 'IANA,[Solc]
-application/vnd.adobe.fxp 'IANA,[Brambley],[Heintz]
-application/vnd.adobe.partial-upload 'IANA,[Otala]
-application/vnd.adobe.xdp+xml 'IANA,[Brinkman]
-application/vnd.adobe.xfdf 'IANA,[Perelman]
-application/vnd.aether.imp 'IANA,[Moskowitz]
-application/vnd.ah-barcode 'IANA,[Ichinose]
-application/vnd.ahead.space 'IANA,[Kristensen]
-application/vnd.airzip.filesecure.azf 'IANA,[Mould],[Clueit]
-application/vnd.airzip.filesecure.azs 'IANA,[Mould],[Clueit]
-application/vnd.americandynamics.acc 'IANA,[Sands]
-application/vnd.amiga.ami 'IANA,[Blumberg]
-application/vnd.amundsen.maze+xml 'IANA,[Amundsen]
-application/vnd.anser-web-certificate-issue-initiation 'IANA,[Mori]
-application/vnd.antix.game-component 'IANA,[Shelton]
-application/vnd.api+json 'IANA,[Klabnik]
-application/vnd.apple.mpegurl 'IANA,[Singer],[Pantos]
-application/vnd.apple.installer+xml 'IANA,[Bierman]
-application/vnd.arastra.swi (OBSOLETE) 'IANA,[Fenner]
-application/vnd.aristanetworks.swi 'IANA,[Fenner]
-application/vnd.astraea-software.iota 'IANA,[Snazell]
-application/vnd.audiograph 'IANA,[Slusanschi]
-application/vnd.autopackage 'IANA,[Hearn]
-application/vnd.avistar+xml 'IANA,[Vysotsky]
-application/vnd.balsamiq.bmml+xml 'IANA,[Giacomo_Guilizzoni]
-application/vnd.blueice.multipass 'IANA,[Holmstrom]
-application/vnd.bluetooth.ep.oob 'IANA,[Foley]
-application/vnd.bmi 'IANA,[Gotoh]
-application/vnd.businessobjects 'IANA,[Imoucha]
-application/vnd.cab-jscript 'IANA,[Falkenberg]
-application/vnd.canon-cpdl 'IANA,[Muto]
-application/vnd.canon-lips 'IANA,[Muto]
-application/vnd.cendio.thinlinc.clientconf 'IANA,[Åstrand=Astrand]
-application/vnd.century-systems.tcp_stream 'IANA,[Shuji Fujii=Shuji_Fujii]
-application/vnd.chemdraw+xml 'IANA,[Howes]
-application/vnd.chipnuts.karaoke-mmd 'IANA,[Xiong]
-application/vnd.cinderella 'IANA,[Kortenkamp]
-application/vnd.cirpack.isdn-ext 'IANA,[Mayeux]
-application/vnd.claymore 'IANA,[Simpson]
-application/vnd.cloanto.rp9 'IANA,[Labatt]
-application/vnd.clonk.c4group 'IANA,[Brammer]
-application/vnd.cluetrust.cartomobile-config 'IANA,[Paulsen]
-application/vnd.cluetrust.cartomobile-config-pkg 'IANA,[Paulsen]
-application/vnd.collection+json 'IANA,[Amundsen]
-application/vnd.collection.next+json 'IANA,[Ioseb Dzmanashvili=Ioseb_Dzmanashvili]
-application/vnd.commerce-battelle 'IANA,[Applebaum]
-application/vnd.commonspace 'IANA,[Chandhok]
-application/vnd.cosmocaller 'IANA,[Dellutri]
-application/vnd.contact.cmsg 'IANA,[Patz]
-application/vnd.crick.clicker 'IANA,[Burt]
-application/vnd.crick.clicker.keyboard 'IANA,[Burt]
-application/vnd.crick.clicker.palette 'IANA,[Burt]
-application/vnd.crick.clicker.template 'IANA,[Burt]
-application/vnd.crick.clicker.wordbank 'IANA,[Burt]
-application/vnd.criticaltools.wbs+xml 'IANA,[Spiller]
-application/vnd.ctc-posml 'IANA,[Kohlhepp]
-application/vnd.ctct.ws+xml 'IANA,[Ancona]
-application/vnd.cups-pdf 'IANA,[Sweet]
-application/vnd.cups-postscript 'IANA,[Sweet]
-application/vnd.cups-ppd 'IANA,[Sweet]
-application/vnd.cups-raster 'IANA,[Sweet]
-application/vnd.cups-raw 'IANA,[Sweet]
-application/vnd.curl 'IANA,[Byrnes]
-application/vnd.cyan.dean.root+xml 'IANA,[Kern]
-application/vnd.cybank 'IANA,[Helmee]
-application/vnd.dart 'IANA,[Sandholm]
-application/vnd.data-vision.rdz 'IANA,[Fields]
-application/vnd.dece.data 'IANA,[Dolan]
-application/vnd.dece.ttml+xml 'IANA,[Dolan]
-application/vnd.dece.unspecified 'IANA,[Dolan]
-application/vnd.dece.zip 'IANA,[Dolan]
-application/vnd.denovo.fcselayout-link 'IANA,[Dixon]
-application/vnd.desmume.movie 'IANA,[Andersson]
-application/vnd.dir-bi.plate-dl-nosuffix 'IANA,[Yamanaka]
-application/vnd.dm.delegation+xml 'IANA,[Ferrazzini]
-application/vnd.dna 'IANA,[Searcy]
-application/vnd.dolby.mobile.1 'IANA,[Hattersley]
-application/vnd.dolby.mobile.2 'IANA,[Hattersley]
-application/vnd.dpgraph 'IANA,[Parker]
-application/vnd.dreamfactory 'IANA,[Appleton]
-application/vnd.dtg.local 'IANA,[Ali_Teffahi]
-application/vnd.dtg.local.flash 'IANA,[Ali_Teffahi]
-application/vnd.dtg.local.html 'IANA,[Ali_Teffahi]
-application/vnd.dvb.ait 'IANA,[Siebert],[Lagally]
-application/vnd.dvb.dvbj 'IANA,[Siebert],[Lagally]
-application/vnd.dvb.esgcontainer 'IANA,[Heuer]
-application/vnd.dvb.ipdcdftnotifaccess 'IANA,[Yue]
-application/vnd.dvb.ipdcesgaccess 'IANA,[Heuer]
-application/vnd.dvb.ipdcesgaccess2 'IANA,[Marcon]
-application/vnd.dvb.ipdcesgpdd 'IANA,[Marcon]
-application/vnd.dvb.ipdcroaming 'IANA,[Xu]
-application/vnd.dvb.iptv.alfec-base 'IANA,[Henry]
-application/vnd.dvb.iptv.alfec-enhancement 'IANA,[Henry]
-application/vnd.dvb.notif-aggregate-root+xml 'IANA,[Yue]
-application/vnd.dvb.notif-container+xml 'IANA,[Yue]
-application/vnd.dvb.notif-generic+xml 'IANA,[Yue]
-application/vnd.dvb.notif-ia-msglist+xml 'IANA,[Yue]
-application/vnd.dvb.notif-ia-registration-request+xml 'IANA,[Yue]
-application/vnd.dvb.notif-ia-registration-response+xml 'IANA,[Yue]
-application/vnd.dvb.notif-init+xml 'IANA,[Yue]
-application/vnd.dvb.pfr 'IANA,[Siebert],[Lagally]
-application/vnd.dvb.service 'IANA,[Siebert],[Lagally]
-application/vnd.dxr 'IANA,[Duffy]
-application/vnd.dynageo 'IANA,[Mechling]
-application/vnd.easykaraoke.cdgdownload 'IANA,[Downs]
-application/vnd.ecdis-update 'IANA,[Buettgenbach]
-application/vnd.ecowin.chart 'IANA,[Olsson]
-application/vnd.ecowin.filerequest 'IANA,[Olsson]
-application/vnd.ecowin.fileupdate 'IANA,[Olsson]
-application/vnd.ecowin.series 'IANA,[Olsson]
-application/vnd.ecowin.seriesrequest 'IANA,[Olsson]
-application/vnd.ecowin.seriesupdate 'IANA,[Olsson]
-application/vnd.emclient.accessrequest+xml 'IANA,[Navara]
-application/vnd.enliven 'IANA,[Santinelli]
-application/vnd.eprints.data+xml 'IANA,[Brody]
-application/vnd.epson.esf 'IANA,[Hoshina]
-application/vnd.epson.msf 'IANA,[Hoshina]
-application/vnd.epson.quickanime 'IANA,[Gu]
-application/vnd.epson.salt 'IANA,[Nagatomo]
-application/vnd.epson.ssf 'IANA,[Hoshina]
-application/vnd.ericsson.quickcall 'IANA,[Tidwell]
-application/vnd.eszigno3+xml 'IANA,[Tóth=Toth]
-application/vnd.etsi.aoc+xml 'IANA,[Hu]
-application/vnd.etsi.cug+xml 'IANA,[Hu]
-application/vnd.etsi.iptvcommand+xml 'IANA,[Hu]
-application/vnd.etsi.iptvdiscovery+xml 'IANA,[Hu]
-application/vnd.etsi.iptvprofile+xml 'IANA,[Hu]
-application/vnd.etsi.iptvsad-bc+xml 'IANA,[Hu]
-application/vnd.etsi.iptvsad-cod+xml 'IANA,[Hu]
-application/vnd.etsi.iptvsad-npvr+xml 'IANA,[Hu]
-application/vnd.etsi.iptvservice+xml 'IANA,[Ortega]
-application/vnd.etsi.iptvsync+xml 'IANA,[Ortega]
-application/vnd.etsi.iptvueprofile+xml 'IANA,[Hu]
-application/vnd.etsi.mcid+xml 'IANA,[Hu]
-application/vnd.etsi.mheg5 'IANA,[Ortega],[Medland]
-application/vnd.etsi.overload-control-policy-dataset+xml 'IANA,[Ortega]
-application/vnd.etsi.pstn+xml 'IANA,[Han],[Belling]
-application/vnd.etsi.sci+xml 'IANA,[Hu]
-application/vnd.etsi.simservs+xml 'IANA,[Hu]
-application/vnd.etsi.tsl+xml 'IANA,[Hu]
-application/vnd.etsi.tsl.der 'IANA,[Hu]
-application/vnd.eudora.data 'IANA,[Resnick]
-application/vnd.ezpix-album 'IANA,[Electronic Zombie, Corp.]
-application/vnd.ezpix-package 'IANA,[Electronic Zombie, Corp.=ElectronicZombieCorp]
-application/vnd.f-secure.mobile 'IANA,[Sarivaara]
-application/vnd.fdf 'IANA,[Zilles]
-application/vnd.fdsn.mseed 'IANA,[Trabant]
-application/vnd.fdsn.seed 'IANA,[Trabant]
-application/vnd.ffsns 'IANA,[Holstage]
-application/vnd.fints 'IANA,[Hammann]
-application/vnd.FloGraphIt 'IANA,[Floersch]
-application/vnd.fluxtime.clip 'IANA,[Winter]
-application/vnd.font-fontforge-sfd 'IANA,[Williams]
-application/vnd.framemaker 'IANA,[Wexler]
-application/vnd.frogans.fnc 'IANA,[Tamas]
-application/vnd.frogans.ltf 'IANA,[Tamas]
-application/vnd.fsc.weblaunch 'IANA,[D.Smith]
-application/vnd.fujitsu.oasys 'IANA,[Togashi]
-application/vnd.fujitsu.oasys2 'IANA,[Togashi]
-application/vnd.fujitsu.oasys3 'IANA,[Okudaira]
-application/vnd.fujitsu.oasysgp 'IANA,[Sugimoto]
-application/vnd.fujitsu.oasysprs 'IANA,[Ogita]
-application/vnd.fujixerox.ART4 'IANA,[Tanabe]
-application/vnd.fujixerox.ART-EX 'IANA,[Tanabe]
-application/vnd.fujixerox.ddd 'IANA,[Onda]
-application/vnd.fujixerox.docuworks 'IANA,[Taguchi]
-application/vnd.fujixerox.docuworks.binder 'IANA,[Matsumoto]
-application/vnd.fujixerox.docuworks.container 'IANA,[Tashiro]
-application/vnd.fujixerox.HBPL 'IANA,[Tanabe]
-application/vnd.fut-misnet 'IANA,[Pruulmann]
-application/vnd.fuzzysheet 'IANA,[Birtwistle]
-application/vnd.genomatix.tuxedo 'IANA,[Frey]
-application/vnd.geocube+xml (OBSOLETE) 'IANA,[Pirsch]
-application/vnd.geogebra.file 'IANA,[GeoGebra],[Kreis]
-application/vnd.geogebra.tool 'IANA,[GeoGebra],[Kreis]
-application/vnd.geometry-explorer 'IANA,[Hvidsten]
-application/vnd.geonext 'IANA,[Ehmann]
-application/vnd.geoplan 'IANA,[Mercat]
-application/vnd.geospace 'IANA,[Mercat]
-application/vnd.globalplatform.card-content-mgt 'IANA,[Bernabeu]
-application/vnd.globalplatform.card-content-mgt-response 'IANA,[Bernabeu]
-application/vnd.gmx (OBSOLETE) 'IANA,[Sciberras]
-application/vnd.google-earth.kml+xml 'IANA,[Ashbridge]
-application/vnd.google-earth.kmz 'IANA,[Ashbridge]
-application/vnd.grafeq 'IANA,[Tupper]
-application/vnd.gridmp 'IANA,[Lawson]
-application/vnd.groove-account 'IANA,[Joseph]
-application/vnd.groove-help 'IANA,[Joseph]
-application/vnd.groove-identity-message 'IANA,[Joseph]
-application/vnd.groove-injector 'IANA,[Joseph]
-application/vnd.groove-tool-message 'IANA,[Joseph]
-application/vnd.groove-tool-template 'IANA,[Joseph]
-application/vnd.groove-vcard 'IANA,[Joseph]
-application/vnd.hal+json 'IANA,[Kelly]
-application/vnd.hal+xml 'IANA,[Kelly]
-application/vnd.HandHeld-Entertainment+xml 'IANA,[Hamilton]
-application/vnd.hbci 'IANA,[Hammann]
-application/vnd.hcl-bireports 'IANA,[Serres]
-application/vnd.hhe.lesson-player 'IANA,[Jones]
-application/vnd.hp-HPGL 'IANA,[Pentecost]
-application/vnd.hp-hpid 'IANA,[Gupta]
-application/vnd.hp-hps 'IANA,[Aubrey]
-application/vnd.hp-jlyt 'IANA,[Gaash]
-application/vnd.hp-PCL 'IANA,[Pentecost]
-application/vnd.hp-PCLXL 'IANA,[Pentecost]
-application/vnd.httphone 'IANA,[Lefevre]
-application/vnd.hydrostatix.sof-data 'IANA,[Gillam]
-application/vnd.hzn-3d-crossword 'IANA,[Minnis]
-application/vnd.ibm.afplinedata 'IANA,[Buis]
-application/vnd.ibm.electronic-media 'IANA,[Tantlinger]
-application/vnd.ibm.MiniPay 'IANA,[Herzberg]
-application/vnd.ibm.modcap 'IANA,[Hohensee]
-application/vnd.ibm.rights-management 'IANA,[Tantlinger]
-application/vnd.ibm.secure-container 'IANA,[Tantlinger]
-application/vnd.iccprofile 'IANA,[Green]
-application/vnd.ieee.1905 'IANA,[Rajkotia]
-application/vnd.igloader 'IANA,[Fisher]
-application/vnd.immervision-ivp 'IANA,[Villegas]
-application/vnd.immervision-ivu 'IANA,[Villegas]
-application/vnd.informedcontrol.rms+xml 'IANA,[Wahl]
-application/vnd.infotech.project 'IANA,[Engelke]
-application/vnd.infotech.project+xml 'IANA,[Engelke]
-application/vnd.informix-visionary 'IANA,[Gales]
-application/vnd.innopath.wamp.notification 'IANA,[Sudo]
-application/vnd.insors.igm 'IANA,[Swanson]
-application/vnd.intercon.formnet 'IANA,[Gurak]
-application/vnd.intergeo 'IANA,[Kreis=Kreis2]
-application/vnd.intertrust.digibox 'IANA,[Tomasello]
-application/vnd.intertrust.nncp 'IANA,[Tomasello]
-application/vnd.intu.qbo 'IANA,[Scratchley]
-application/vnd.intu.qfx 'IANA,[Scratchley]
-application/vnd.iptc.g2.conceptitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.knowledgeitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.newsitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.newsmessage+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.packageitem+xml 'IANA,[Steidl]
-application/vnd.iptc.g2.planningitem+xml 'IANA,[Steidl]
-application/vnd.ipunplugged.rcprofile 'IANA,[Ersson]
-application/vnd.irepository.package+xml 'IANA,[Knowles]
-application/vnd.is-xpr 'IANA,[Natarajan]
-application/vnd.isac.fcs 'IANA,[RBrinkman]
-application/vnd.jam 'IANA,[B.Kumar]
-application/vnd.japannet-directory-service 'IANA,[Fujii]
-application/vnd.japannet-jpnstore-wakeup 'IANA,[Yoshitake]
-application/vnd.japannet-payment-wakeup 'IANA,[Fujii]
-application/vnd.japannet-registration 'IANA,[Yoshitake]
-application/vnd.japannet-registration-wakeup 'IANA,[Fujii]
-application/vnd.japannet-setstore-wakeup 'IANA,[Yoshitake]
-application/vnd.japannet-verification 'IANA,[Yoshitake]
-application/vnd.japannet-verification-wakeup 'IANA,[Fujii]
-application/vnd.jcp.javame.midlet-rms 'IANA,[Gorshenev]
-application/vnd.jisp 'IANA,[Deckers]
-application/vnd.joost.joda-archive 'IANA,[Joost]
-application/vnd.jsk.isdn-ngn 'IANA,[Kiyonobu]
-application/vnd.kahootz 'IANA,[Macdonald]
-application/vnd.kde.karbon 'IANA,[Faure]
-application/vnd.kde.kchart 'IANA,[Faure]
-application/vnd.kde.kformula 'IANA,[Faure]
-application/vnd.kde.kivio 'IANA,[Faure]
-application/vnd.kde.kontour 'IANA,[Faure]
-application/vnd.kde.kpresenter 'IANA,[Faure]
-application/vnd.kde.kspread 'IANA,[Faure]
-application/vnd.kde.kword 'IANA,[Faure]
-application/vnd.kenameaapp 'IANA,[DiGiorgio-Haag]
-application/vnd.kidspiration 'IANA,[Bennett]
-application/vnd.Kinar 'IANA,[Thakkar]
-application/vnd.koan 'IANA,[Cole]
-application/vnd.kodak-descriptor 'IANA,[Donahue]
-application/vnd.las.las+xml 'IANA,[Bailey=RBailey]
-application/vnd.liberty-request+xml 'IANA,[McDowell]
-application/vnd.llamagraphics.life-balance.desktop 'IANA,[White]
-application/vnd.llamagraphics.life-balance.exchange+xml 'IANA,[White]
-application/vnd.lotus-1-2-3 'IANA,[Wattenberger]
-application/vnd.lotus-approach 'IANA,[Wattenberger]
-application/vnd.lotus-freelance 'IANA,[Wattenberger]
-application/vnd.lotus-notes 'IANA,[Laramie]
-application/vnd.lotus-organizer 'IANA,[Wattenberger]
-application/vnd.lotus-screencam 'IANA,[Wattenberger]
-application/vnd.lotus-wordpro 'IANA,[Wattenberger]
-application/vnd.macports.portpkg 'IANA,[Berry]
-application/vnd.marlin.drm.actiontoken+xml 'IANA,[Ellison]
-application/vnd.marlin.drm.conftoken+xml 'IANA,[Ellison]
-application/vnd.marlin.drm.license+xml 'IANA,[Ellison]
-application/vnd.marlin.drm.mdcf 'IANA,[Ellison]
-application/vnd.mcd 'IANA,[Gotoh]
-application/vnd.medcalcdata 'IANA,[Schoonjans]
-application/vnd.mediastation.cdkey 'IANA,[Flurry]
-application/vnd.meridian-slingshot 'IANA,[Wedel]
-application/vnd.MFER 'IANA,[Hirai]
-application/vnd.mfmp 'IANA,[Ikeda]
-application/vnd.micrografx.flo 'IANA,[Prevo]
-application/vnd.micrografx.igx 'IANA,[Prevo]
-application/vnd.mif 'IANA,[Wexler]
-application/vnd.minisoft-hp3000-save 'IANA,[Bartram]
-application/vnd.mitsubishi.misty-guard.trustweb 'IANA,[Tanaka]
-application/vnd.Mobius.DAF 'IANA,[Kabayama]
-application/vnd.Mobius.DIS 'IANA,[Kabayama]
-application/vnd.Mobius.MBK 'IANA,[Devasia]
-application/vnd.Mobius.MQY 'IANA,[Devasia]
-application/vnd.Mobius.MSL 'IANA,[Kabayama]
-application/vnd.Mobius.PLC 'IANA,[Kabayama]
-application/vnd.Mobius.TXF 'IANA,[Kabayama]
-application/vnd.mophun.application 'IANA,[Wennerstrom]
-application/vnd.mophun.certificate 'IANA,[Wennerstrom]
-application/vnd.motorola.flexsuite 'IANA,[Patton]
-application/vnd.motorola.flexsuite.adsi 'IANA,[Patton]
-application/vnd.motorola.flexsuite.fis 'IANA,[Patton]
-application/vnd.motorola.flexsuite.gotap 'IANA,[Patton]
-application/vnd.motorola.flexsuite.kmr 'IANA,[Patton]
-application/vnd.motorola.flexsuite.ttc 'IANA,[Patton]
-application/vnd.motorola.flexsuite.wem 'IANA,[Patton]
-application/vnd.motorola.iprm 'IANA,[Shamsaasef]
-application/vnd.mozilla.xul+xml 'IANA,[McDaniel]
-application/vnd.ms-artgalry 'IANA,[Slawson]
-application/vnd.ms-asf 'IANA,[Fleischman]
-application/vnd.ms-cab-compressed 'IANA,[Scarborough]
-application/vnd.mseq 'IANA,[Le Bodic]
-application/vnd.ms-excel 'IANA,[Gill]
-application/vnd.ms-excel.addin.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-excel.sheet.binary.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-excel.sheet.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-excel.template.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-fontobject 'IANA,[Scarborough]
-application/vnd.ms-htmlhelp 'IANA,[Techtonik]
-application/vnd.ms-ims 'IANA,[Ledoux]
-application/vnd.ms-lrm 'IANA,[Ledoux]
-application/vnd.ms-office.activeX+xml 'IANA,[Rae]
-application/vnd.ms-officetheme 'IANA,[Rae]
-application/vnd.ms-playready.initiator+xml 'IANA,[Schneider]
-application/vnd.ms-powerpoint 'IANA,[Gill]
-application/vnd.ms-powerpoint.addin.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.presentation.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.slide.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.slideshow.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-powerpoint.template.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-project 'IANA,[Gill]
-application/vnd.ms-tnef 'IANA,[Gill]
-application/vnd.ms-windows.printerpairing 'IANA,[Hutchings]
-application/vnd.ms-wmdrm.lic-chlg-req 'IANA,[Lau]
-application/vnd.ms-wmdrm.lic-resp 'IANA,[Lau]
-application/vnd.ms-wmdrm.meter-chlg-req 'IANA,[Lau]
-application/vnd.ms-wmdrm.meter-resp 'IANA,[Lau]
-application/vnd.ms-word.document.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-word.template.macroEnabled.12 'IANA,[Rae]
-application/vnd.ms-works 'IANA,[Gill]
-application/vnd.ms-wpl 'IANA,[Plastina]
-application/vnd.ms-xpsdocument 'IANA,[McGatha]
-application/vnd.msign 'IANA,[Borcherding]
-application/vnd.multiad.creator 'IANA,[Mills]
-application/vnd.multiad.creator.cif 'IANA,[Mills]
-application/vnd.musician 'IANA,[Adams]
-application/vnd.music-niff 'IANA,[Butler]
-application/vnd.muvee.style 'IANA,[Anantharamu]
-application/vnd.mynfc 'IANA,[Lefevre]
-application/vnd.ncd.control 'IANA,[Tarkkala]
-application/vnd.ncd.reference 'IANA,[Tarkkala]
-application/vnd.nervana 'IANA,[Judkins]
-application/vnd.netfpx 'IANA,[Mutz]
-application/vnd.neurolanguage.nlu 'IANA,[DuFeu]
-application/vnd.nintendo.nitro.rom 'IANA,[Andersson]
-application/vnd.nitf 'IANA,[Rogan]
-application/vnd.noblenet-directory 'IANA,[Solomon]
-application/vnd.noblenet-sealer 'IANA,[Solomon]
-application/vnd.noblenet-web 'IANA,[Solomon]
-application/vnd.nokia.catalogs 'IANA,[Nokia]
-application/vnd.nokia.conml+wbxml 'IANA,[Nokia]
-application/vnd.nokia.conml+xml 'IANA,[Nokia]
-application/vnd.nokia.iptv.config+xml 'IANA,[Nokia]
-application/vnd.nokia.iSDS-radio-presets 'IANA,[Nokia]
-application/vnd.nokia.landmark+wbxml 'IANA,[Nokia]
-application/vnd.nokia.landmark+xml 'IANA,[Nokia]
-application/vnd.nokia.landmarkcollection+xml 'IANA,[Nokia]
-application/vnd.nokia.ncd 'IANA,[Nokia]
-application/vnd.nokia.n-gage.ac+xml 'IANA,[Nokia]
-application/vnd.nokia.n-gage.data 'IANA,[Nokia]
-application/vnd.nokia.n-gage.symbian.install 'IANA,[Nokia]
-application/vnd.nokia.pcd+wbxml 'IANA,[Nokia]
-application/vnd.nokia.pcd+xml 'IANA,[Nokia]
-application/vnd.nokia.radio-preset 'IANA,[Nokia]
-application/vnd.nokia.radio-presets 'IANA,[Nokia]
-application/vnd.novadigm.EDM 'IANA,[Swenson]
-application/vnd.novadigm.EDX 'IANA,[Swenson]
-application/vnd.novadigm.EXT 'IANA,[Swenson]
-application/vnd.ntt-local.content-share 'IANA,[Taya]
-application/vnd.ntt-local.file-transfer 'IANA,[NTT-local]
-application/vnd.ntt-local.sip-ta_remote 'IANA,[NTT-local]
-application/vnd.ntt-local.sip-ta_tcp_stream 'IANA,[NTT-local]
-application/vnd.oasis.opendocument.chart 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.chart-template 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.database 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.formula 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.formula-template 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.graphics 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.graphics-template 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.image 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.image-template 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.presentation 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.presentation-template 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.spreadsheet 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.spreadsheet-template 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.text 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.text-master 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.text-template 'IANA,[Schubert],[OASIS]
-application/vnd.oasis.opendocument.text-web 'IANA,[Schubert],[OASIS]
-application/vnd.obn 'IANA,[Hessling]
-application/vnd.oftn.l10n+json 'IANA,[Grey]
-application/vnd.oipf.contentaccessdownload+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.contentaccessstreaming+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.cspg-hexbinary 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.dae.svg+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.dae.xhtml+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.mippvcontrolmessage+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.pae.gem 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.spdiscovery+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.spdlist+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.ueprofile+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.oipf.userprofile+xml 'IANA,[D'Esclercs=DEsclercs]
-application/vnd.olpc-sugar 'IANA,[Palmieri]
-application/vnd.oma.bcast.associated-procedure-parameter+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.drm-trigger+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.imd+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.ltkm 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.notification+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.provisioningtrigger 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sgboot 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sgdd+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sgdu 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.simple-symbol-container 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.smartcard-trigger+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.sprov+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.bcast.stkm 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.cab-address-book+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.cab-pcc+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.cab-subs-invite+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.cab-user-prefs+xml 'IANA,[Wang],[OMA]
-application/vnd.oma.dcd 'IANA,[Primo],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.dcdc 'IANA,[Primo],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.dd2+xml 'IANA,[Sato],[Open Mobile Alliance's BAC DLDRM Working Group]
-application/vnd.oma.drm.risd+xml 'IANA,[Rauschenbach],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.group-usage-list+xml 'IANA,[Kelley],[OMA Presence and Availability (PAG) Working Group]
-application/vnd.oma.pal+xml 'IANA,[McColgan],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.poc.detailed-progress-report+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.final-report+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.groups+xml 'IANA,[Kelley],[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.invocation-descriptor+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.poc.optimized-progress-report+xml 'IANA,[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.oma.push 'IANA,[Sullivan],[OMA]
-application/vnd.oma.scidm.messages+xml 'IANA,[Zeng],[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]
-application/vnd.oma.xcap-directory+xml 'IANA,[Kelley],[OMA Presence and Availability (PAG) Working Group]
-application/vnd.omads-email+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.omads-file+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.omads-folder+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.omaloc-supl-init 'IANA,[Grange]
-application/vnd.oma-scws-config 'IANA,[Mahalal]
-application/vnd.oma-scws-http-request 'IANA,[Mahalal]
-application/vnd.oma-scws-http-response 'IANA,[Mahalal]
-application/vnd.openofficeorg.extension 'IANA,[Lingner]
-application/vnd.openxmlformats-officedocument.custom-properties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.customXmlProperties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawing+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.chart+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.extended-properties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.comments+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.presentation 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.presProps+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slide 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slide+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideshow 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.tags+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.template 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.template.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.template 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.theme+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.themeOverride+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.vmlDrawing 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.document 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.template 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml 'IANA,[Murata]
-application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml 'IANA,[Murata]
-application/vnd.openxmlformats-package.core-properties+xml 'IANA,[Murata]
-application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml 'IANA,[Murata]
-application/vnd.openxmlformats-package.relationships+xml 'IANA,[Murata]
-application/vnd.orange.indata 'IANA,[CHATRAS_Bruno]
-application/vnd.osa.netdeploy 'IANA,[Klos]
-application/vnd.osgeo.mapguide.package 'IANA,[Birch]
-application/vnd.osgi.bundle 'IANA,[Kriens]
-application/vnd.osgi.dp 'IANA,[Kriens]
-application/vnd.osgi.subsystem 'IANA,[Kriens]
-application/vnd.otps.ct-kip+xml 'IANA,[Nyström=Nystrom]
-application/vnd.palm 'IANA,[Peacock]
-application/vnd.paos.xml 'IANA,[Kemp]
-application/vnd.pawaafile 'IANA,[Baskaran]
-application/vnd.pg.format 'IANA,[Gandert]
-application/vnd.pg.osasli 'IANA,[Gandert]
-application/vnd.piaccess.application-licence 'IANA,[Maneos]
-application/vnd.picsel 'IANA,[Naccarato]
-application/vnd.pmi.widget 'IANA,[Lewis]
-application/vnd.poc.group-advertisement+xml 'IANA,[Kelley],[OMA Push to Talk over Cellular (POC) Working Group]
-application/vnd.pocketlearn 'IANA,[Pando]
-application/vnd.powerbuilder6 'IANA,[Guy]
-application/vnd.powerbuilder6-s 'IANA,[Guy]
-application/vnd.powerbuilder7 'IANA,[Shilts]
-application/vnd.powerbuilder75 'IANA,[Shilts]
-application/vnd.powerbuilder75-s 'IANA,[Shilts]
-application/vnd.powerbuilder7-s 'IANA,[Shilts]
-application/vnd.preminet 'IANA,[Tenhunen]
-application/vnd.previewsystems.box 'IANA,[Smolgovsky]
-application/vnd.proteus.magazine 'IANA,[Hoch]
-application/vnd.publishare-delta-tree 'IANA,[Ben-Kiki]
-application/vnd.pvi.ptid1 'IANA,[Lamb]
-application/vnd.pwg-multiplexed 'IANA,RFC3391
-application/vnd.pwg-xhtml-print+xml 'IANA,[Wright]
-application/vnd.qualcomm.brew-app-res 'IANA,[Forrester]
-application/vnd.Quark.QuarkXPress 'IANA,[Scheidler]
-application/vnd.quobject-quoxdocument 'IANA,[Ludwig]
-application/vnd.radisys.moml+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-conf+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-conn+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-dialog+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit-stream+xml 'IANA,RFC5707
-application/vnd.radisys.msml-audit+xml 'IANA,RFC5707
-application/vnd.radisys.msml-conf+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-base+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-fax-detect+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-fax-sendrecv+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-group+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-speech+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog-transform+xml 'IANA,RFC5707
-application/vnd.radisys.msml-dialog+xml 'IANA,RFC5707
-application/vnd.radisys.msml+xml 'IANA,RFC5707
-application/vnd.rainstor.data 'IANA,[Crook]
-application/vnd.rapid 'IANA,[Szekely]
-application/vnd.realvnc.bed 'IANA,[Reeves]
-application/vnd.recordare.musicxml 'IANA,[Good]
-application/vnd.recordare.musicxml+xml 'IANA,[Good]
-application/vnd.RenLearn.rlprint 'IANA,[Wick]
-application/vnd.rig.cryptonote 'IANA,[Jibiki]
-application/vnd.route66.link66+xml 'IANA,[Kikstra]
-application/vnd.rs-274x 'IANA,[Harding]
-application/vnd.ruckus.download 'IANA,[Harris]
-application/vnd.s3sms 'IANA,[Tarkkala]
-application/vnd.sailingtracker.track 'IANA,[Vesalainen]
-application/vnd.sbm.cid 'IANA,[Kusakari]
-application/vnd.sbm.mid2 'IANA,[Murai]
-application/vnd.scribus 'IANA,[Bradney]
-application/vnd.sealed.3df 'IANA,[Kwan]
-application/vnd.sealed.csf 'IANA,[Kwan]
-application/vnd.sealed.doc 'IANA,[Petersen]
-application/vnd.sealed.eml 'IANA,[Petersen]
-application/vnd.sealed.mht 'IANA,[Petersen]
-application/vnd.sealed.net 'IANA,[Lambert]
-application/vnd.sealed.ppt 'IANA,[Petersen]
-application/vnd.sealed.tiff 'IANA,[Kwan],[Lambert]
-application/vnd.sealed.xls 'IANA,[Petersen]
-application/vnd.sealedmedia.softseal.html 'IANA,[Petersen]
-application/vnd.sealedmedia.softseal.pdf 'IANA,[Petersen]
-application/vnd.seemail 'IANA,[Webb]
-application/vnd.sema 'IANA,[Hansson]
-application/vnd.semd 'IANA,[Hansson]
-application/vnd.semf 'IANA,[Hansson]
-application/vnd.shana.informed.formdata 'IANA,[Selzler]
-application/vnd.shana.informed.formtemplate 'IANA,[Selzler]
-application/vnd.shana.informed.interchange 'IANA,[Selzler]
-application/vnd.shana.informed.package 'IANA,[Selzler]
-application/vnd.SimTech-MindMapper 'IANA,[Koh]
-application/vnd.siren+json 'IANA,[Swiber]
-application/vnd.smaf 'IANA,[Takahashi]
-application/vnd.smart.notebook 'IANA,[Neitz]
-application/vnd.smart.teacher 'IANA,[Boyle]
-application/vnd.software602.filler.form+xml 'IANA,[Hytka],[Vondrous]
-application/vnd.software602.filler.form-xml-zip 'IANA,[Hytka],[Vondrous]
-application/vnd.solent.sdkm+xml 'IANA,[Gauntlett]
-application/vnd.spotfire.dxp 'IANA,[Jernberg]
-application/vnd.spotfire.sfs 'IANA,[Jernberg]
-application/vnd.sss-cod 'IANA,[Dani]
-application/vnd.sss-dtf 'IANA,[Bruno]
-application/vnd.sss-ntf 'IANA,[Bruno]
-application/vnd.stepmania.package 'IANA,[Andersson]
-application/vnd.stepmania.stepchart 'IANA,[Andersson]
-application/vnd.street-stream 'IANA,[Levitt]
-application/vnd.sun.wadl+xml 'IANA,[Hadley]
-application/vnd.sus-calendar 'IANA,[Niedfeldt]
-application/vnd.svd 'IANA,[Becker]
-application/vnd.swiftview-ics 'IANA,[Widener]
-application/vnd.syncml.dm.notification 'IANA,[Thompson],[OMA-DM Work Group]
-application/vnd.syncml.dmddf+xml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dmtnds+wbxml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dmtnds+xml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dmddf+wbxml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dm+wbxml 'IANA,[OMA-DM Work Group]
-application/vnd.syncml.dm+xml 'IANA,[Rao],[OMA-DM Work Group]
-application/vnd.syncml.ds.notification 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.syncml+xml 'IANA,[OMA Data Synchronization Working Group]
-application/vnd.tao.intent-module-archive 'IANA,[Shelton]
-application/vnd.tmobile-livetv 'IANA,[Helin]
-application/vnd.trid.tpt 'IANA,[Cusack]
-application/vnd.triscape.mxs 'IANA,[Simonoff]
-application/vnd.trueapp 'IANA,[Hepler]
-application/vnd.truedoc 'IANA,[Chase]
-application/vnd.ubisoft.webplayer 'IANA,[Talbot]
-application/vnd.ufdl 'IANA,[Manning]
-application/vnd.uiq.theme 'IANA,[Ocock]
-application/vnd.umajin 'IANA,[Riden]
-application/vnd.unity 'IANA,[Unity3d]
-application/vnd.uoml+xml 'IANA,[Gerdes]
-application/vnd.uplanet.alert 'IANA,[Martin]
-application/vnd.uplanet.alert-wbxml 'IANA,[Martin]
-application/vnd.uplanet.bearer-choice 'IANA,[Martin]
-application/vnd.uplanet.bearer-choice-wbxml 'IANA,[Martin]
-application/vnd.uplanet.cacheop 'IANA,[Martin]
-application/vnd.uplanet.cacheop-wbxml 'IANA,[Martin]
-application/vnd.uplanet.channel 'IANA,[Martin]
-application/vnd.uplanet.channel-wbxml 'IANA,[Martin]
-application/vnd.uplanet.list 'IANA,[Martin]
-application/vnd.uplanet.listcmd 'IANA,[Martin]
-application/vnd.uplanet.listcmd-wbxml 'IANA,[Martin]
-application/vnd.uplanet.list-wbxml 'IANA,[Martin]
-application/vnd.uplanet.signal 'IANA,[Martin]
-application/vnd.vcx 'IANA,[T.Sugimoto]
-application/vnd.vd-study 'IANA,[Rogge]
-application/vnd.vectorworks 'IANA,[Ferguson],[Sarkar]
-application/vnd.verimatrix.vcas 'IANA,[Peterka]
-application/vnd.vidsoft.vidconference 'IANA,[Hess]
-application/vnd.visio 'IANA,[Sandal]
-application/vnd.visionary 'IANA,[Aravindakumar]
-application/vnd.vividence.scriptfile 'IANA,[Risher]
-application/vnd.vsf 'IANA,[Rowe]
-application/vnd.wap.sic 'IANA,[WAP-Forum]
-application/vnd.wap.slc 'IANA,[WAP-Forum]
-application/vnd.wap.wbxml 'IANA,[Stark]
-application/vnd.wap.wmlc 'IANA,[Stark]
-application/vnd.wap.wmlscriptc 'IANA,[Stark]
-application/vnd.webturbo 'IANA,[Rehem]
-application/vnd.wfa.wsc 'IANA,[Wi-Fi Alliance]
-application/vnd.windows.devicepairing 'IANA,[Dandawate]
-application/vnd.wmc 'IANA,[Kjørnes=Kjornes]
-application/vnd.wmf.bootstrap 'IANA,[Nguyenphu],[Iyer]
-application/vnd.wolfram.mathematica 'IANA,[Wolfram]
-application/vnd.wolfram.mathematica.package 'IANA,[Wolfram]
-application/vnd.wolfram.player 'IANA,[Wolfram]
-application/vnd.wordperfect 'IANA,[Scarborough]
-application/vnd.wqd 'IANA,[Bostrom]
-application/vnd.wrq-hp3000-labelled 'IANA,[Bartram]
-application/vnd.wt.stf 'IANA,[Wohler]
-application/vnd.wv.csp+xml 'IANA,[Ingimundarson]
-application/vnd.wv.csp+wbxml 'IANA,[Salmi]
-application/vnd.wv.ssp+xml 'IANA,[Ingimundarson]
-application/vnd.xacml+json 'IANA,[Brossard]
-application/vnd.xara 'IANA,[Matthewman]
-application/vnd.xfdl 'IANA,[Manning]
-application/vnd.xfdl.webform 'IANA,[Mansell]
-application/vnd.xmi+xml 'IANA,[Waskiewicz]
-application/vnd.xmpie.cpkg 'IANA,[Sherwin]
-application/vnd.xmpie.dpkg 'IANA,[Sherwin]
-application/vnd.xmpie.plan 'IANA,[Sherwin]
-application/vnd.xmpie.ppkg 'IANA,[Sherwin]
-application/vnd.xmpie.xlim 'IANA,[Sherwin]
-application/vnd.yamaha.hv-dic 'IANA,[Yamamoto]
-application/vnd.yamaha.hv-script 'IANA,[Yamamoto]
-application/vnd.yamaha.hv-voice 'IANA,[Yamamoto]
-application/vnd.yamaha.openscoreformat.osfpvg+xml 'IANA,[Olleson]
-application/vnd.yamaha.openscoreformat 'IANA,[Olleson]
-application/vnd.yamaha.remote-setup 'IANA,[Sukizaki]
-application/vnd.yamaha.smaf-audio 'IANA,[Shinoda]
-application/vnd.yamaha.smaf-phrase 'IANA,[Shinoda]
-application/vnd.yamaha.through-ngn 'IANA,[Sukizaki]
-application/vnd.yamaha.tunnel-udpencap 'IANA,[Sukizaki]
-application/vnd.yellowriver-custom-menu 'IANA,[Yellow]
-application/vnd.zul 'IANA,[Grothmann]
-application/vnd.zzazz.deck+xml 'IANA,[Hewett]
-application/voicexml+xml 'IANA,RFC4267
-application/vq-rtcpxr 'IANA,RFC6035
-application/watcherinfo+xml 'IANA,RFC3858
-application/whoispp-query 'IANA,RFC2957
-application/whoispp-response 'IANA,RFC2958
-application/widget 'IANA,[W3C],[Pemberton]
-application/wita 'IANA,[Campbell]
-application/wordperfect5.1 'IANA,[Lindner]
-application/wsdl+xml 'IANA,[W3C]
-application/wspolicy+xml 'IANA,[W3C]
-application/x400-bp 'IANA,RFC1494
-application/xcap-att+xml 'IANA,RFC4825
-application/xcap-caps+xml 'IANA,RFC4825
-application/xcap-diff+xml 'IANA,RFC5874
-application/xcap-el+xml 'IANA,RFC4825
-application/xcap-error+xml 'IANA,RFC4825
-application/xcap-ns+xml 'IANA,RFC4825
-application/xcon-conference-info-diff+xml 'IANA,{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}
-application/xcon-conference-info+xml 'IANA,{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}
-application/xenc+xml 'IANA,[Reagle],[XENC Working Group]
-application/xhtml-voice+xml (Obsolete) 'IANA,{RFC-mccobb-xplusv-media-type-04.txt=https://datatracker.ietf.org/public/idindex.cgi?command=id_detail&filename=draft-mccobb-xplusv-media-type}
-application/xhtml+xml 'IANA,RFC3236
-application/xml 'IANA,RFC3023
-application/xml-dtd 'IANA,RFC3023
-application/xml-external-parsed-entity 'IANA,RFC3023
-application/xmpp+xml 'IANA,RFC3923
-application/xop+xml 'IANA,[Nottingham]
-application/xslt+xml 'IANA,[W3C]
-application/xv+xml 'IANA,RFC4374
-application/yang 'IANA,RFC6020
-application/yin+xml 'IANA,RFC6020
-application/zip 'IANA,[Lindner]
-application/zlib 'IANA,RFC6713 \ No newline at end of file
diff --git a/type-lists/application.yaml b/type-lists/application.yaml
new file mode 100644
index 0000000..79696d7
--- /dev/null
+++ b/type-lists/application.yaml
@@ -0,0 +1,8967 @@
+---
+- !ruby/object:MIME::Type
+ content-type: application/1d-interleaved-parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6015
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/3gpp-ims+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Meredith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/acad
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/access
+ encoding: base64
+ extensions:
+ - mdf
+ - mda
+ - mdb
+ - mde
+ obsolete: true
+ use-instead:
+ - application/x-msaccess
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/activemessage
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shapiro]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/andrew-inset
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Borenstein]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/appledouble
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/applefile
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Faltstrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/atom+xml
+ encoding: 8bit
+ extensions:
+ - atom
+ references:
+ - IANA
+ - RFC4287
+ - RFC5023
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/atomcat+xml
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC5023
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/atomdeleted+xml
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC6721
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/atomicmail
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Borenstein]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/atomsvc+xml
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC5023
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/auth-policy+xml
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC4745
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/batch-SMTP
+ encoding: base64
+ references:
+ - IANA
+ - RFC2442
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/beep+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3080
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/bleeper
+ encoding: base64
+ extensions:
+ - bleep
+ obsolete: true
+ use-instead:
+ - application/x-bleeper
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/calendar+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6321
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/call-completion
+ encoding: base64
+ references:
+ - IANA
+ - RFC6910
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cals-1840
+ encoding: base64
+ references:
+ - IANA
+ - RFC1895
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cals1840
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/cals-1840
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/cbor
+ encoding: base64
+ references:
+ - IANA
+ - ! '{RFC-bormann-cbor-09=http://tools.ietf.org/html/draft-bormann-cbor}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ccmp+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6503
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ccxml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4267
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cdmi-capability
+ encoding: base64
+ references:
+ - IANA
+ - RFC6208
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cdmi-container
+ encoding: base64
+ references:
+ - IANA
+ - RFC6208
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cdmi-domain
+ encoding: base64
+ references:
+ - IANA
+ - RFC6208
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cdmi-object
+ encoding: base64
+ references:
+ - IANA
+ - RFC6208
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cdmi-queue
+ encoding: base64
+ references:
+ - IANA
+ - RFC6208
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cea-2018+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zimmermann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cellml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4708
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cfw
+ encoding: base64
+ references:
+ - IANA
+ - RFC6230
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/clariscad
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/cnrp+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3367
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/commonground
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Glazer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/conference-info+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4575
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cpl+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3880
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/csrattrs
+ encoding: base64
+ references:
+ - IANA
+ - ! '{RFC-ietf-pkix-est-09=http://tools.ietf.org/html/draft-ietf-pkix-est}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/csta+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ecma International Helpdesk]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/CSTAdata+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ecma International Helpdesk]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/cybercash
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Eastlake]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dash+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Stockhammer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dashdelta
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Furbeck]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/davmount+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4709
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dca-rft
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Campbell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dec-dx
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Campbell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dialog-info+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4235
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dicom
+ encoding: base64
+ extensions:
+ - dcm
+ references:
+ - IANA
+ - RFC3240
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dns
+ encoding: base64
+ references:
+ - IANA
+ - RFC4027
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/drafting
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/dskpp+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6063
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dssc+der
+ encoding: base64
+ references:
+ - IANA
+ - RFC5698
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dssc+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5698
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dvcs
+ encoding: base64
+ references:
+ - IANA
+ - RFC3029
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/dxf
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/ecmascript
+ encoding: base64
+ references:
+ - IANA
+ - RFC4329
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/EDI-Consent
+ encoding: base64
+ references:
+ - IANA
+ - RFC1767
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/EDI-X12
+ encoding: base64
+ references:
+ - IANA
+ - RFC1767
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/EDIFACT
+ encoding: base64
+ references:
+ - IANA
+ - RFC1767
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/emma+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/encaprtp
+ encoding: base64
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/epp+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5730
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/epub+zip
+ encoding: base64
+ extensions:
+ - epub
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/eshop
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Katz]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/example
+ encoding: base64
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/excel
+ encoding: base64
+ extensions:
+ - xls
+ - xlt
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/exi
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/fastinfoset
+ encoding: base64
+ references:
+ - IANA
+ - ! '[ITU-T ASN.1 Rapporteur]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/fastsoap
+ encoding: base64
+ references:
+ - IANA
+ - ! '[ITU-T ASN.1 Rapporteur]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/fdt+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6726
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/fits
+ encoding: base64
+ references:
+ - IANA
+ - RFC4047
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/font-sfnt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Levantovsky]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/font-tdpfr
+ encoding: base64
+ extensions:
+ - pfr
+ references:
+ - IANA
+ - RFC3073
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/font-woff
+ encoding: base64
+ extensions:
+ - woff
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/fractals
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/framework-attributes+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6230
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/futuresplash
+ encoding: base64
+ extensions:
+ - spl
+ obsolete: true
+ use-instead:
+ - application/x-futuresplash
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/ghostview
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/x-ghostview
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/gzip
+ encoding: base64
+ extensions:
+ - gz
+ references:
+ - IANA
+ - RFC6713
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/H224
+ encoding: base64
+ references:
+ - IANA
+ - RFC4573
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/held+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5985
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/hep
+ encoding: base64
+ extensions:
+ - hep
+ obsolete: true
+ use-instead:
+ - application/x-hep
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/http
+ encoding: base64
+ references:
+ - IANA
+ - RFC2616
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/hyperstudio
+ encoding: base64
+ extensions:
+ - stk
+ references:
+ - IANA
+ - ! '[Domino]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/i-deas
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/ibe-key-request+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5408
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ibe-pkg-reply+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5408
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ibe-pp-data
+ encoding: base64
+ references:
+ - IANA
+ - RFC5408
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/iges
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Parks]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/im-iscomposing+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3994
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/imagemap
+ encoding: 8bit
+ extensions:
+ - imagemap
+ - imap
+ obsolete: true
+ use-instead:
+ - application/x-imagemap
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/index
+ encoding: base64
+ references:
+ - IANA
+ - RFC2652
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/index.cmd
+ encoding: base64
+ references:
+ - IANA
+ - RFC2652
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/index.obj
+ encoding: base64
+ references:
+ - IANA
+ - RFC2652
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/index.response
+ encoding: base64
+ references:
+ - IANA
+ - RFC2652
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/index.vnd
+ encoding: base64
+ references:
+ - IANA
+ - RFC2652
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/inkml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ashimura]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/iotp
+ encoding: base64
+ references:
+ - IANA
+ - RFC2935
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ipfix
+ encoding: base64
+ references:
+ - IANA
+ - RFC5655
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ipp
+ encoding: base64
+ references:
+ - IANA
+ - RFC2910
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/isup
+ encoding: base64
+ references:
+ - IANA
+ - RFC3204
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/its+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ - ! '[ITS-IG-W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/javascript
+ encoding: 8bit
+ extensions:
+ - js
+ references:
+ - IANA
+ - RFC4329
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/jrd+json
+ encoding: base64
+ references:
+ - IANA
+ - RFC7033
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/json
+ encoding: 8bit
+ extensions:
+ - json
+ references:
+ - IANA
+ - RFC4627
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/json-patch+json
+ encoding: base64
+ references:
+ - IANA
+ - RFC6902
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/kpml-request+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4730
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/kpml-response+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4730
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ld+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ - ! '[Herman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/link-format
+ encoding: base64
+ references:
+ - IANA
+ - RFC6690
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/lost+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5222
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/lostsync+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6739
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/lotus-123
+ encoding: base64
+ extensions:
+ - wks
+ obsolete: true
+ use-instead:
+ - application/vnd.lotus-1-2-3
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/mac-binhex40
+ encoding: 8bit
+ extensions:
+ - hqx
+ references:
+ - IANA
+ - ! '[Faltstrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mac-compactpro
+ encoding: base64
+ extensions:
+ - cpt
+ obsolete: true
+ use-instead:
+ - application/x-mac-compactpro
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/macbinary
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/macwriteii
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mads+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6207
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/marc
+ encoding: base64
+ references:
+ - IANA
+ - RFC2220
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/marcxml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6207
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mathcad
+ encoding: base64
+ extensions:
+ - mcd
+ obsolete: true
+ use-instead:
+ - application/vnd.mcd
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/mathematica
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wolfram]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mathematica-old
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/x-mathematica-old
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/mathml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mathml-content+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mathml-presentation+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-associated-procedure-description+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-deregister+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-envelope+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-msk+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-msk-response+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-protection-description+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-reception-report+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-register+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-register-response+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-schedule+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ - ! '[Turcotte]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbms-user-service-description+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mbox
+ encoding: base64
+ references:
+ - IANA
+ - RFC4155
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/media-policy-dataset+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6796
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/media_control+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5168
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mediaservercontrol+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5022
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/metalink4+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5854
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mets+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6207
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mikey
+ encoding: base64
+ references:
+ - IANA
+ - RFC3830
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mods+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6207
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/moss-keys
+ encoding: base64
+ references:
+ - IANA
+ - RFC1848
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/moss-signature
+ encoding: base64
+ references:
+ - IANA
+ - RFC1848
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mosskey-data
+ encoding: base64
+ references:
+ - IANA
+ - RFC1848
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mosskey-request
+ encoding: base64
+ references:
+ - IANA
+ - RFC1848
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mp21
+ encoding: base64
+ references:
+ - IANA
+ - RFC6381
+ - ! '[Singer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mp4
+ encoding: base64
+ extensions:
+ - mp4
+ - mpg4
+ references:
+ - IANA
+ - RFC4337
+ - RFC6381
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mpeg4-generic
+ encoding: base64
+ references:
+ - IANA
+ - RFC3640
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mpeg4-iod
+ encoding: base64
+ references:
+ - IANA
+ - RFC4337
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mpeg4-iod-xmt
+ encoding: base64
+ references:
+ - IANA
+ - RFC4337
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mrb-consumer+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6917
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mrb-publish+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6917
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/msc-ivr+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6231
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/msc-mixer+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6505
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/msword
+ encoding: base64
+ extensions:
+ - doc
+ - dot
+ - wrd
+ references:
+ - IANA
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/mxf
+ encoding: base64
+ extensions:
+ - mxf
+ references:
+ - IANA
+ - RFC4539
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/nasdata
+ encoding: base64
+ references:
+ - IANA
+ - RFC4707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/netcdf
+ encoding: base64
+ extensions:
+ - nc
+ - cdf
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/news-checkgroups
+ encoding: base64
+ references:
+ - IANA
+ - RFC5537
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/news-groupinfo
+ encoding: base64
+ references:
+ - IANA
+ - RFC5537
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/news-message-id
+ encoding: base64
+ obsolete: true
+ references:
+ - IANA
+ - RFC1036
+ - ! '[Spencer]'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/news-transmission
+ encoding: base64
+ references:
+ - IANA
+ - RFC5537
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/nlsml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6787
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/nss
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hammer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ocsp-request
+ encoding: base64
+ references:
+ - IANA
+ - RFC6960
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ocsp-response
+ encoding: base64
+ references:
+ - IANA
+ - RFC6960
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/octet-stream
+ encoding: base64
+ extensions:
+ - bin
+ - dms
+ - lha
+ - lzh
+ - exe
+ - class
+ - ani
+ - pgp
+ - so
+ - dll
+ - dylib
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/oda
+ encoding: base64
+ extensions:
+ - oda
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/oebps-package+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4839
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ogg
+ encoding: base64
+ extensions:
+ - ogx
+ references:
+ - IANA
+ - RFC5334
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/oxps
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ecma International Helpdesk]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/p2p-overlay+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '{RFC-ietf-p2psip-base-26=http://tools.ietf.org/html/draft-ietf-p2psip-base}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/patch-ops-error+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5261
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pdf
+ encoding: base64
+ extensions:
+ - pdf
+ references:
+ - IANA
+ - RFC3778
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pgp-encrypted
+ encoding: 7bit
+ references:
+ - IANA
+ - RFC3156
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pgp-keys
+ encoding: 7bit
+ references:
+ - IANA
+ - RFC3156
+ registered: true
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: application/pgp-signature
+ encoding: base64
+ extensions:
+ - sig
+ references:
+ - IANA
+ - RFC3156
+ registered: true
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: application/pidf+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3863
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pidf-diff+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5262
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pkcs10
+ encoding: base64
+ extensions:
+ - p10
+ references:
+ - IANA
+ - RFC5967
+ registered: true
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: application/pkcs7-mime
+ encoding: base64
+ extensions:
+ - p7m
+ - p7c
+ references:
+ - IANA
+ - RFC5751
+ - RFC5273
+ - ! '{RFC-ietf-pkix-est-09=http://tools.ietf.org/html/draft-ietf-pkix-est}'
+ registered: true
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: application/pkcs7-signature
+ encoding: base64
+ extensions:
+ - p7s
+ references:
+ - IANA
+ - RFC5751
+ registered: true
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: application/pkcs8
+ encoding: base64
+ references:
+ - IANA
+ - RFC5958
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pkix-attr-cert
+ encoding: base64
+ references:
+ - IANA
+ - RFC5877
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pkix-cert
+ encoding: base64
+ extensions:
+ - cer
+ references:
+ - IANA
+ - RFC2585
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pkix-crl
+ encoding: base64
+ extensions:
+ - crl
+ references:
+ - IANA
+ - RFC2585
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pkix-pkipath
+ encoding: base64
+ extensions:
+ - pkipath
+ references:
+ - IANA
+ - RFC6066
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pkixcmp
+ encoding: base64
+ extensions:
+ - pki
+ references:
+ - IANA
+ - RFC2510
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pls+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4267
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/poc-settings+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4354
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/postscript
+ encoding: 8bit
+ extensions:
+ - ai
+ - eps
+ - ps
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/powerpoint
+ encoding: base64
+ extensions:
+ - ppt
+ - pps
+ - pot
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/pro_eng
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/provenance+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ - ! '[Herman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/prs.alvestrand.titrax-sheet
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Alvestrand]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/prs.cww
+ encoding: base64
+ extensions:
+ - cw
+ - cww
+ references:
+ - IANA
+ - ! '[Rungchavalnont]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/prs.nprend
+ encoding: base64
+ extensions:
+ - rnd
+ - rct
+ references:
+ - IANA
+ - ! '[Doggett]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/prs.plucker
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Janssen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/prs.rdf-xml-crypt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Inkster]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/prs.xsf+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Stührenberg=Stuhrenberg]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/pskc+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6030
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/qsig
+ encoding: base64
+ references:
+ - IANA
+ - RFC3204
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/quicktimeplayer
+ encoding: base64
+ extensions:
+ - qtl
+ obsolete: true
+ use-instead:
+ - application/x-quicktimeplayer
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/raptorfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6682
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rdf+xml
+ encoding: 8bit
+ extensions:
+ - rdf
+ references:
+ - IANA
+ - RFC3870
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/reginfo+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3680
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/relax-ng-compact-syntax
+ encoding: base64
+ references:
+ - IANA
+ - ! '{ISO/IEC 19757-2:2003/FDAM-1=http://www.jtc1sc34.org/repository/0661.pdf}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/remote-printing
+ encoding: base64
+ references:
+ - IANA
+ - RFC1486
+ - ! '[Rose]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/remote_printing
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/remote-printing
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/reputon+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '{RFC-ietf-repute-media-type-13=http://tools.ietf.org/html/draft-ietf-repute-media-type}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/resource-lists+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4826
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/resource-lists-diff+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5362
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/riscos
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Smith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rlmi+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4662
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rls-services+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4826
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rpki-ghostbusters
+ encoding: base64
+ references:
+ - IANA
+ - RFC6493
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rpki-manifest
+ encoding: base64
+ references:
+ - IANA
+ - RFC6481
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rpki-roa
+ encoding: base64
+ references:
+ - IANA
+ - RFC6481
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rpki-updown
+ encoding: base64
+ references:
+ - IANA
+ - RFC6492
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rss+xml
+ encoding: base64
+ extensions:
+ - rss
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/rtf
+ encoding: base64
+ extensions:
+ - rtf
+ references:
+ - IANA
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rtploopback
+ encoding: base64
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/rtx
+ encoding: base64
+ references:
+ - IANA
+ - RFC4588
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/samlassertion+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OASIS Security Services Technical Committee (SSTC)]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/samlmetadata+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OASIS Security Services Technical Committee (SSTC)]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sbml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3823
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/scvp-cv-request
+ encoding: base64
+ references:
+ - IANA
+ - RFC5055
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/scvp-cv-response
+ encoding: base64
+ references:
+ - IANA
+ - RFC5055
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/scvp-vp-request
+ encoding: base64
+ references:
+ - IANA
+ - RFC5055
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/scvp-vp-response
+ encoding: base64
+ references:
+ - IANA
+ - RFC5055
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sdp
+ encoding: base64
+ references:
+ - IANA
+ - RFC4566
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sep+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Robby_Simpson=RoSimpson]'
+ - ! '[ZigBee_Alliance=ZigBee]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sep-exi
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Robby_Simpson=RoSimpson]'
+ - ! '[ZigBee_Alliance=ZigBee]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/session-info
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ - ! '[Firmin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/set
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/set-payment
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Korver]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/set-payment-initiation
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Korver]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/set-registration
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Korver]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/set-registration-initiation
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Korver]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sgml
+ encoding: base64
+ extensions:
+ - sgml
+ references:
+ - IANA
+ - RFC1874
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sgml-open-catalog
+ encoding: base64
+ extensions:
+ - soc
+ references:
+ - IANA
+ - ! '[Grosso]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/shf+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4194
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sieve
+ encoding: base64
+ extensions:
+ - siv
+ references:
+ - IANA
+ - RFC5228
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/simple-filter+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4661
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/simple-message-summary
+ encoding: base64
+ references:
+ - IANA
+ - RFC3842
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/simpleSymbolContainer
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/SLA
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/slate
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Crowley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/smil
+ encoding: 8bit
+ extensions:
+ - smi
+ - smil
+ obsolete: true
+ use-instead:
+ - application/smil+xml
+ references:
+ - IANA
+ - RFC4536
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/smil+xml
+ encoding: 8bit
+ extensions:
+ - smi
+ - smil
+ references:
+ - IANA
+ - RFC4536
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/smpte336m
+ encoding: base64
+ references:
+ - IANA
+ - RFC6597
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/soap+fastinfoset
+ encoding: base64
+ references:
+ - IANA
+ - ! '[ITU-T ASN.1 Rapporteur]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/soap+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3902
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/solids
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/sparql-query
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sparql-results+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/spirits-event+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3910
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sql
+ encoding: base64
+ references:
+ - IANA
+ - RFC6922
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/srgs
+ encoding: base64
+ references:
+ - IANA
+ - RFC4267
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/srgs+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4267
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/sru+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6207
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ssml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4267
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/STEP
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/tamp-apex-update
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-apex-update-confirm
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-community-update
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-community-update-confirm
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-error
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-sequence-adjust
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-sequence-adjust-confirm
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-status-query
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-status-response
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-update
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tamp-update-confirm
+ encoding: base64
+ references:
+ - IANA
+ - RFC5934
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/tei+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6129
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/thraud+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5941
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/timestamp-query
+ encoding: base64
+ references:
+ - IANA
+ - RFC3161
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/timestamp-reply
+ encoding: base64
+ references:
+ - IANA
+ - RFC3161
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/timestamped-data
+ encoding: base64
+ references:
+ - IANA
+ - RFC5955
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/toolbook
+ encoding: base64
+ extensions:
+ - tbk
+ obsolete: true
+ use-instead:
+ - application/x-toolbook
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/tve-trigger
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Welsh]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/ulpfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/urc-grpsheet+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zimmermann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/urc-ressheet+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zimmermann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/urc-targetdesc+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zimmermann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/urc-uisocketdesc+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zimmermann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vcard+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6351
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vda
+ encoding: base64
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vemmi
+ encoding: base64
+ references:
+ - IANA
+ - RFC2122
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/VMSBACKUP
+ encoding: base64
+ extensions:
+ - bck
+ obsolete: true
+ use-instead:
+ - application/x-VMSBACKUP
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp.bsf+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Meredith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp.pic-bw-large
+ encoding: base64
+ extensions:
+ - plb
+ references:
+ - IANA
+ - ! '[Meredith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp.pic-bw-small
+ encoding: base64
+ extensions:
+ - psb
+ references:
+ - IANA
+ - ! '[Meredith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp.pic-bw-var
+ encoding: base64
+ extensions:
+ - pvb
+ references:
+ - IANA
+ - ! '[Meredith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp.sms
+ encoding: base64
+ extensions:
+ - sms
+ references:
+ - IANA
+ - ! '[Meredith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp2.bcmcsinfo+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dryden]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp2.sms
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mahendran]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3gpp2.tcap
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mahendran]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.3M.Post-it-Notes
+ encoding: base64
+ references:
+ - IANA
+ - ! '[O''Brien]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.accpac.simply.aso
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Leow]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.accpac.simply.imp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Leow]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.acucobol
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lubin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.acucorp
+ encoding: 7bit
+ extensions:
+ - atc
+ - acutc
+ references:
+ - IANA
+ - ! '[Lubin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.adobe.air-application-installer-package+zip
+ encoding: base64
+ extensions:
+ - air
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.adobe.flash.movie
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.adobe.formscentral.fcdt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Solc]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.adobe.fxp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Brambley]'
+ - ! '[Heintz]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.adobe.partial-upload
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Otala]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.adobe.xdp+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Brinkman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.adobe.xfdf
+ encoding: base64
+ extensions:
+ - xfdf
+ references:
+ - IANA
+ - ! '[Perelman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.aether.imp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Moskowitz]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ah-barcode
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ichinose]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ahead.space
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kristensen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.airzip.filesecure.azf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mould]'
+ - ! '[Clueit]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.airzip.filesecure.azs
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mould]'
+ - ! '[Clueit]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.americandynamics.acc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sands]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.amiga.ami
+ encoding: base64
+ extensions:
+ - ami
+ references:
+ - IANA
+ - ! '[Blumberg]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.amundsen.maze+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Amundsen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.android.package-archive
+ encoding: base64
+ extensions:
+ - apk
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.anser-web-certificate-issue-initiation
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mori]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.antix.game-component
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shelton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.api+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Klabnik]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.apple.installer+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bierman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.apple.mpegurl
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Singer]'
+ - ! '[Pantos]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.apple.pkpass
+ encoding: base64
+ extensions:
+ - pkpass
+ references:
+ - ! '{Passbook Programming Guide=https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/PassKit_PG/Chapters/Introduction.html}'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.arastra.swi
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/vnd.aristanetworks.swi
+ references:
+ - IANA
+ - ! '[Fenner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.aristanetworks.swi
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fenner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.astraea-software.iota
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Snazell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.audiograph
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Slusanschi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.autopackage
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hearn]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.avistar+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Vysotsky]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.balsamiq.bmml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Giacomo_Guilizzoni]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.blueice.multipass
+ encoding: base64
+ extensions:
+ - mpm
+ references:
+ - IANA
+ - ! '[Holmstrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.bluetooth.ep.oob
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Foley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.bluetooth.le.oob
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Powell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.bmi
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gotoh]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.businessobjects
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Imoucha]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cab-jscript
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Falkenberg]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.canon-cpdl
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Muto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.canon-lips
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Muto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cendio.thinlinc.clientconf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Åstrand=Astrand]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.century-systems.tcp_stream
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shuji Fujii=Shuji_Fujii]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.chemdraw+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Howes]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.chipnuts.karaoke-mmd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Xiong]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cinderella
+ encoding: base64
+ extensions:
+ - cdy
+ references:
+ - IANA
+ - ! '[Kortenkamp]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cirpack.isdn-ext
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mayeux]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.claymore
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Simpson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cloanto.rp9
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Labatt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.clonk.c4group
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Brammer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cluetrust.cartomobile-config
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Paulsen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cluetrust.cartomobile-config-pkg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Paulsen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.collection+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Amundsen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.collection.next+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ioseb Dzmanashvili=Ioseb_Dzmanashvili]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.commerce-battelle
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Applebaum]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.commonspace
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Chandhok]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.contact.cmsg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patz]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cosmocaller
+ encoding: base64
+ extensions:
+ - cmc
+ references:
+ - IANA
+ - ! '[Dellutri]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.crick.clicker
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Burt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.crick.clicker.keyboard
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Burt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.crick.clicker.palette
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Burt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.crick.clicker.template
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Burt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.crick.clicker.wordbank
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Burt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.criticaltools.wbs+xml
+ encoding: base64
+ extensions:
+ - wbs
+ references:
+ - IANA
+ - ! '[Spiller]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ctc-posml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kohlhepp]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ctct.ws+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ancona]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cups-pdf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sweet]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cups-postscript
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sweet]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cups-ppd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sweet]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cups-raster
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sweet]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cups-raw
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sweet]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.curl
+ encoding: base64
+ extensions:
+ - curl
+ references:
+ - IANA
+ - ! '[Byrnes]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cyan.dean.root+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kern]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.cybank
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Helmee]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dart
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sandholm]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.data-vision.rdz
+ encoding: base64
+ extensions:
+ - rdz
+ references:
+ - IANA
+ - ! '[Fields]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dece.data
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dece.ttml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dece.unspecified
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dece.zip
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.denovo.fcselayout-link
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dixon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.desmume.movie
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dir-bi.plate-dl-nosuffix
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yamanaka]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dm.delegation+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ferrazzini]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dna
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Searcy]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.document+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Christie]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dolby.mobile.1
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dolby.mobile.2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dpgraph
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Parker]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dreamfactory
+ encoding: base64
+ extensions:
+ - dfac
+ references:
+ - IANA
+ - ! '[Appleton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dtg.local
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ali_Teffahi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dtg.local.flash
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ali_Teffahi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dtg.local.html
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ali_Teffahi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.ait
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Siebert]'
+ - ! '[Lagally]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.dvbj
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Siebert]'
+ - ! '[Lagally]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.esgcontainer
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Heuer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.ipdcdftnotifaccess
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.ipdcesgaccess
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Heuer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.ipdcesgaccess2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Marcon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.ipdcesgpdd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Marcon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.ipdcroaming
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Xu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.iptv.alfec-base
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Henry]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.iptv.alfec-enhancement
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Henry]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.notif-aggregate-root+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.notif-container+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.notif-generic+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.notif-ia-msglist+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.notif-ia-registration-request+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.notif-ia-registration-response+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.notif-init+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.pfr
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Siebert]'
+ - ! '[Lagally]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dvb.service
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Siebert]'
+ - ! '[Lagally]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dxr
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Duffy]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.dynageo
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mechling]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.easykaraoke.cdgdownload
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Downs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ecdis-update
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Buettgenbach]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ecowin.chart
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olsson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ecowin.filerequest
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olsson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ecowin.fileupdate
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olsson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ecowin.series
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olsson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ecowin.seriesrequest
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olsson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ecowin.seriesupdate
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olsson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.emclient.accessrequest+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Navara]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.enliven
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Santinelli]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.eprints.data+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Brody]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.epson.esf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hoshina]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.epson.msf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hoshina]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.epson.quickanime
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.epson.salt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nagatomo]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.epson.ssf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hoshina]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ericsson.quickcall
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tidwell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.eszigno3+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tóth=Toth]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.aoc+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.asic-e+zip
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ortega]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.asic-s+zip
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ortega]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.cug+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvcommand+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvdiscovery+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvprofile+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvsad-bc+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvsad-cod+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvsad-npvr+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvservice+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ortega]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvsync+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ortega]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.iptvueprofile+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.mcid+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.mheg5
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ortega]'
+ - ! '[Medland]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.overload-control-policy-dataset+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ortega]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.pstn+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Han]'
+ - ! '[Belling]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.sci+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.simservs+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.tsl+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.etsi.tsl.der
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.eudora.data
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Resnick]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ezpix-album
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Electronic Zombie, Corp.]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ezpix-package
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Electronic Zombie, Corp.=ElectronicZombieCorp]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.f-secure.mobile
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sarivaara]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fdf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zilles]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fdsn.mseed
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Trabant]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fdsn.seed
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Trabant]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ffsns
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Holstage]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fints
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hammann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.FloGraphIt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Floersch]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fluxtime.clip
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Winter]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.font-fontforge-sfd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Williams]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.framemaker
+ encoding: base64
+ extensions:
+ - frm
+ - maker
+ - frame
+ - fm
+ - fb
+ - book
+ - fbdoc
+ references:
+ - IANA
+ - ! '[Wexler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.frogans.fnc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tamas]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.frogans.ltf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tamas]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fsc.weblaunch
+ encoding: 7bit
+ extensions:
+ - fsc
+ references:
+ - IANA
+ - ! '[D.Smith]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujitsu.oasys
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Togashi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujitsu.oasys2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Togashi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujitsu.oasys3
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Okudaira]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujitsu.oasysgp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sugimoto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujitsu.oasysprs
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ogita]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujixerox.ART-EX
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tanabe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujixerox.ART4
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tanabe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujixerox.ddd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Onda]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujixerox.docuworks
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Taguchi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujixerox.docuworks.binder
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Matsumoto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujixerox.docuworks.container
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tashiro]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fujixerox.HBPL
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tanabe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fut-misnet
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Pruulmann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.fuzzysheet
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Birtwistle]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.genomatix.tuxedo
+ encoding: base64
+ extensions:
+ - txd
+ references:
+ - IANA
+ - ! '[Frey]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.geocube+xml
+ encoding: 8bit
+ obsolete: true
+ references:
+ - IANA
+ - ! '[Pirsch]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.geogebra.file
+ encoding: base64
+ references:
+ - IANA
+ - ! '[GeoGebra]'
+ - ! '[Kreis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.geogebra.tool
+ encoding: base64
+ references:
+ - IANA
+ - ! '[GeoGebra]'
+ - ! '[Kreis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.geometry-explorer
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hvidsten]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.geonext
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ehmann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.geoplan
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mercat]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.geospace
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mercat]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.globalplatform.card-content-mgt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bernabeu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.globalplatform.card-content-mgt-response
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bernabeu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.gmx
+ encoding: base64
+ obsolete: true
+ references:
+ - IANA
+ - ! '[Sciberras]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.google-earth.kml+xml
+ encoding: 8bit
+ extensions:
+ - kml
+ references:
+ - IANA
+ - ! '[Ashbridge]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.google-earth.kmz
+ encoding: 8bit
+ extensions:
+ - kmz
+ references:
+ - IANA
+ - ! '[Ashbridge]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.grafeq
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tupper]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.gridmp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lawson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.groove-account
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joseph]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.groove-help
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joseph]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.groove-identity-message
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joseph]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.groove-injector
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joseph]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.groove-tool-message
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joseph]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.groove-tool-template
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joseph]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.groove-vcard
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joseph]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hal+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kelly]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hal+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kelly]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.HandHeld-Entertainment+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hamilton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hbci
+ encoding: base64
+ extensions:
+ - hbci
+ - hbc
+ - kom
+ - upa
+ - pkd
+ - bpd
+ references:
+ - IANA
+ - ! '[Hammann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hcl-bireports
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Serres]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.heroku+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Beary]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hhe.lesson-player
+ encoding: base64
+ extensions:
+ - les
+ references:
+ - IANA
+ - ! '[Jones]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hp-HPGL
+ encoding: base64
+ extensions:
+ - plt
+ - hpgl
+ references:
+ - IANA
+ - ! '[Pentecost]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hp-hpid
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gupta]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hp-hps
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Aubrey]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hp-jlyt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gaash]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hp-PCL
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Pentecost]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hp-PCLXL
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Pentecost]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.httphone
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lefevre]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hydrostatix.sof-data
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gillam]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.hzn-3d-crossword
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Minnis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ibm.afplinedata
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Buis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ibm.electronic-media
+ encoding: base64
+ extensions:
+ - emm
+ references:
+ - IANA
+ - ! '[Tantlinger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ibm.MiniPay
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Herzberg]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ibm.modcap
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hohensee]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ibm.rights-management
+ encoding: base64
+ extensions:
+ - irm
+ references:
+ - IANA
+ - ! '[Tantlinger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ibm.secure-container
+ encoding: base64
+ extensions:
+ - sc
+ references:
+ - IANA
+ - ! '[Tantlinger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.iccprofile
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Green]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ieee.1905
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rajkotia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.igloader
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fisher]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.immervision-ivp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Villegas]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.immervision-ivu
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Villegas]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.informedcontrol.rms+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wahl]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.informix-visionary
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gales]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.infotech.project
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Engelke]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.infotech.project+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Engelke]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.innopath.wamp.notification
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sudo]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.insors.igm
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Swanson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.intercon.formnet
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gurak]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.intergeo
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kreis=Kreis2]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.intertrust.digibox
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tomasello]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.intertrust.nncp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tomasello]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.intu.qbo
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Scratchley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.intu.qfx
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Scratchley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.iptc.g2.conceptitem+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Steidl]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.iptc.g2.knowledgeitem+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Steidl]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.iptc.g2.newsitem+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Steidl]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.iptc.g2.newsmessage+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Steidl]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.iptc.g2.packageitem+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Steidl]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.iptc.g2.planningitem+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Steidl]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ipunplugged.rcprofile
+ encoding: base64
+ extensions:
+ - rcprofile
+ references:
+ - IANA
+ - ! '[Ersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.irepository.package+xml
+ encoding: base64
+ extensions:
+ - irp
+ references:
+ - IANA
+ - ! '[Knowles]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.is-xpr
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Natarajan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.isac.fcs
+ encoding: base64
+ references:
+ - IANA
+ - ! '[RBrinkman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.jam
+ encoding: base64
+ references:
+ - IANA
+ - ! '[B.Kumar]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-directory-service
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fujii]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-jpnstore-wakeup
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yoshitake]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-payment-wakeup
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fujii]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-registration
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yoshitake]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-registration-wakeup
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fujii]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-setstore-wakeup
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yoshitake]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-verification
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yoshitake]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.japannet-verification-wakeup
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fujii]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.jcp.javame.midlet-rms
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gorshenev]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.jisp
+ encoding: base64
+ extensions:
+ - jisp
+ references:
+ - IANA
+ - ! '[Deckers]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.joost.joda-archive
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Joost]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.jsk.isdn-ngn
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kiyonobu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kahootz
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Macdonald]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.karbon
+ encoding: base64
+ extensions:
+ - karbon
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.kchart
+ encoding: base64
+ extensions:
+ - chrt
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.kformula
+ encoding: base64
+ extensions:
+ - kfo
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.kivio
+ encoding: base64
+ extensions:
+ - flw
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.kontour
+ encoding: base64
+ extensions:
+ - kon
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.kpresenter
+ encoding: base64
+ extensions:
+ - kpr
+ - kpt
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.kspread
+ encoding: base64
+ extensions:
+ - ksp
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kde.kword
+ encoding: base64
+ extensions:
+ - kwd
+ - kwt
+ references:
+ - IANA
+ - ! '[Faure]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kenameaapp
+ encoding: base64
+ extensions:
+ - htke
+ references:
+ - IANA
+ - ! '[DiGiorgio-Haag]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kidspiration
+ encoding: base64
+ extensions:
+ - kia
+ references:
+ - IANA
+ - ! '[Bennett]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Kinar
+ encoding: base64
+ extensions:
+ - kne
+ - knp
+ - sdf
+ references:
+ - IANA
+ - ! '[Thakkar]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.koan
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Cole]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.kodak-descriptor
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Donahue]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.las.las+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bailey=RBailey]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.liberty-request+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[McDowell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.llamagraphics.life-balance.desktop
+ encoding: base64
+ extensions:
+ - lbd
+ references:
+ - IANA
+ - ! '[White]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.llamagraphics.life-balance.exchange+xml
+ encoding: base64
+ extensions:
+ - lbe
+ references:
+ - IANA
+ - ! '[White]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.lotus-1-2-3
+ encoding: base64
+ extensions:
+ - wks
+ - '123'
+ references:
+ - IANA
+ - ! '[Wattenberger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.lotus-approach
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wattenberger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.lotus-freelance
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wattenberger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.lotus-notes
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Laramie]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.lotus-organizer
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wattenberger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.lotus-screencam
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wattenberger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.lotus-wordpro
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wattenberger]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.macports.portpkg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Berry]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.marlin.drm.actiontoken+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ellison]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.marlin.drm.conftoken+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ellison]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.marlin.drm.license+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ellison]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.marlin.drm.mdcf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ellison]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mcd
+ encoding: base64
+ extensions:
+ - mcd
+ references:
+ - IANA
+ - ! '[Gotoh]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.medcalcdata
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Schoonjans]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mediastation.cdkey
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Flurry]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.meridian-slingshot
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wedel]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.MFER
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hirai]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mfmp
+ encoding: base64
+ extensions:
+ - mfm
+ references:
+ - IANA
+ - ! '[Ikeda]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.micrografx.flo
+ encoding: base64
+ extensions:
+ - flo
+ references:
+ - IANA
+ - ! '[Prevo]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.micrografx.igx
+ encoding: base64
+ extensions:
+ - igx
+ references:
+ - IANA
+ - ! '[Prevo]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mif
+ encoding: base64
+ extensions:
+ - mif
+ references:
+ - IANA
+ - ! '[Wexler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.minisoft-hp3000-save
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bartram]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mitsubishi.misty-guard.trustweb
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tanaka]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Mobius.DAF
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kabayama]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Mobius.DIS
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kabayama]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Mobius.MBK
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Devasia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Mobius.MQY
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Devasia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Mobius.MSL
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kabayama]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Mobius.PLC
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kabayama]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Mobius.TXF
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kabayama]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mophun.application
+ encoding: base64
+ extensions:
+ - mpn
+ references:
+ - IANA
+ - ! '[Wennerstrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mophun.certificate
+ encoding: base64
+ extensions:
+ - mpc
+ references:
+ - IANA
+ - ! '[Wennerstrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.flexsuite
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.flexsuite.adsi
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.flexsuite.fis
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.flexsuite.gotap
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.flexsuite.kmr
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.flexsuite.ttc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.flexsuite.wem
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.motorola.iprm
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shamsaasef]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mozilla.xul+xml
+ encoding: base64
+ extensions:
+ - xul
+ references:
+ - IANA
+ - ! '[McDaniel]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-artgalry
+ encoding: base64
+ extensions:
+ - cil
+ references:
+ - IANA
+ - ! '[Slawson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-asf
+ encoding: base64
+ extensions:
+ - asf
+ references:
+ - IANA
+ - ! '[Fleischman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-cab-compressed
+ encoding: base64
+ extensions:
+ - cab
+ references:
+ - IANA
+ - ! '[Scarborough]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-excel
+ encoding: base64
+ extensions:
+ - xls
+ - xlt
+ references:
+ - IANA
+ - ! '[Gill]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-excel.addin.macroEnabled.12
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-excel.sheet.binary.macroEnabled.12
+ encoding: base64
+ extensions:
+ - xlsb
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-excel.sheet.macroEnabled.12
+ encoding: base64
+ extensions:
+ - xlsm
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-excel.template.macroEnabled.12
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-fontobject
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Scarborough]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-fontobject
+ encoding: base64
+ extensions:
+ - eot
+ references:
+ - IANA
+ - ! '[Scarborough]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-htmlhelp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Techtonik]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-ims
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ledoux]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-lrm
+ encoding: base64
+ extensions:
+ - lrm
+ references:
+ - IANA
+ - ! '[Ledoux]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-office.activeX+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-officetheme
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-playready.initiator+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Schneider]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-powerpoint
+ encoding: base64
+ extensions:
+ - ppt
+ - pps
+ - pot
+ references:
+ - IANA
+ - ! '[Gill]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-powerpoint.addin.macroEnabled.12
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-powerpoint.presentation.macroEnabled.12
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-powerpoint.slide.macroEnabled.12
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-powerpoint.slideshow.macroEnabled.12
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-powerpoint.template.macroEnabled.12
+ encoding: base64
+ extensions:
+ - potm
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-project
+ encoding: base64
+ extensions:
+ - mpp
+ references:
+ - IANA
+ - ! '[Gill]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-tnef
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gill]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-windows.printerpairing
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hutchings]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-wmdrm.lic-chlg-req
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lau]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-wmdrm.lic-resp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lau]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-wmdrm.meter-chlg-req
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lau]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-wmdrm.meter-resp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lau]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-word.document.macroEnabled.12
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+ encoding: base64
+ extensions:
+ - docm
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-word.template.macroEnabled.12
+ encoding: base64
+ extensions:
+ - dotm
+ references:
+ - IANA
+ - ! '[Rae]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-works
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gill]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-wpl
+ encoding: base64
+ extensions:
+ - wpl
+ references:
+ - IANA
+ - ! '[Plastina]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ms-xpsdocument
+ encoding: 8bit
+ extensions:
+ - xps
+ references:
+ - IANA
+ - ! '[McGatha]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mseq
+ encoding: base64
+ extensions:
+ - mseq
+ references:
+ - IANA
+ - ! '[Le Bodic]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.msign
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Borcherding]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.multiad.creator
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mills]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.multiad.creator.cif
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mills]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.music-niff
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Butler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.musician
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Adams]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.muvee.style
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Anantharamu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.mynfc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lefevre]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ncd.control
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tarkkala]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ncd.reference
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tarkkala]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nervana
+ encoding: base64
+ extensions:
+ - ent
+ - entity
+ - req
+ - request
+ - bkm
+ - kcm
+ references:
+ - IANA
+ - ! '[Judkins]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.netfpx
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mutz]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.neurolanguage.nlu
+ encoding: base64
+ references:
+ - IANA
+ - ! '[DuFeu]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nintendo.nitro.rom
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nintendo.snes.rom
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nitf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rogan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.noblenet-directory
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Solomon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.noblenet-sealer
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Solomon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.noblenet-web
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Solomon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.catalogs
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.conml+wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.conml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.iptv.config+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.iSDS-radio-presets
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.landmark+wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.landmark+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.landmarkcollection+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.n-gage.ac+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.n-gage.data
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.n-gage.symbian.install
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.ncd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.ncd+xml
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/vnd.nokia.ncd
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.pcd+wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.pcd+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.radio-preset
+ encoding: base64
+ extensions:
+ - rpst
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.nokia.radio-presets
+ encoding: base64
+ extensions:
+ - rpss
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.novadigm.EDM
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Swenson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.novadigm.EDX
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Swenson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.novadigm.EXT
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Swenson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ntt-local.content-share
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Taya]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ntt-local.file-transfer
+ encoding: base64
+ references:
+ - IANA
+ - ! '[NTT-local]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ntt-local.sip-ta_remote
+ encoding: base64
+ references:
+ - IANA
+ - ! '[NTT-local]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ntt-local.sip-ta_tcp_stream
+ encoding: base64
+ references:
+ - IANA
+ - ! '[NTT-local]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.chart
+ encoding: base64
+ extensions:
+ - odc
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.chart-template
+ encoding: base64
+ extensions:
+ - odc
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.database
+ encoding: base64
+ extensions:
+ - odb
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.formula
+ encoding: base64
+ extensions:
+ - odf
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.formula-template
+ encoding: base64
+ extensions:
+ - odf
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.graphics
+ encoding: base64
+ extensions:
+ - odg
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.graphics-template
+ encoding: base64
+ extensions:
+ - otg
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.image
+ encoding: base64
+ extensions:
+ - odi
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.image-template
+ encoding: base64
+ extensions:
+ - odi
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.presentation
+ encoding: base64
+ extensions:
+ - odp
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.presentation-template
+ encoding: base64
+ extensions:
+ - otp
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.spreadsheet
+ encoding: base64
+ extensions:
+ - ods
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.spreadsheet-template
+ encoding: base64
+ extensions:
+ - ots
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.text
+ encoding: base64
+ extensions:
+ - odt
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.text-master
+ encoding: base64
+ extensions:
+ - odm
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.text-template
+ encoding: base64
+ extensions:
+ - ott
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oasis.opendocument.text-web
+ encoding: base64
+ extensions:
+ - oth
+ references:
+ - IANA
+ - ! '[Schubert]'
+ - ! '[OASIS]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.obn
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hessling]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oftn.l10n+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Grey]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.contentaccessdownload+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.contentaccessstreaming+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.cspg-hexbinary
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.dae.svg+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.dae.xhtml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.mippvcontrolmessage+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.pae.gem
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.spdiscovery+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.spdlist+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.ueprofile+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oipf.userprofile+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[D''Esclercs=DEsclercs]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.olpc-sugar
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Palmieri]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma-scws-config
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mahalal]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma-scws-http-request
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mahalal]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma-scws-http-response
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mahalal]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.associated-procedure-parameter+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.drm-trigger+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.imd+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.ltkm
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.notification+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.provisioningtrigger
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.sgboot
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.sgdd+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.sgdu
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.simple-symbol-container
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.smartcard-trigger+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.sprov+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.bcast.stkm
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.cab-address-book+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wang]'
+ - ! '[OMA]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.cab-pcc+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wang]'
+ - ! '[OMA]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.cab-subs-invite+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wang]'
+ - ! '[OMA]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.cab-user-prefs+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wang]'
+ - ! '[OMA]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.dcd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Primo]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.dcdc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Primo]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.dd2+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sato]'
+ - ! '[Open Mobile Alliance''s BAC DLDRM Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.drm.risd+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rauschenbach]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.group-usage-list+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kelley]'
+ - ! '[OMA Presence and Availability (PAG) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.pal+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[McColgan]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.poc.detailed-progress-report+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Push to Talk over Cellular (POC) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.poc.final-report+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Push to Talk over Cellular (POC) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.poc.groups+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kelley]'
+ - ! '[OMA Push to Talk over Cellular (POC) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.poc.invocation-descriptor+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Push to Talk over Cellular (POC) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.poc.optimized-progress-report+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Push to Talk over Cellular (POC) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.push
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sullivan]'
+ - ! '[OMA]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.scidm.messages+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zeng]'
+ - ! '[OMNA - Open Mobile Naming Authority=OMNA-OpenMobileNamingAuthority]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.oma.xcap-directory+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kelley]'
+ - ! '[OMA Presence and Availability (PAG) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.omads-email+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Data Synchronization Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.omads-file+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Data Synchronization Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.omads-folder+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Data Synchronization Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.omaloc-supl-init
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Grange]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openofficeorg.extension
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lingner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.custom-properties+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.customXmlProperties+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.drawing+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.drawingml.chart+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.extended-properties+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.comments+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.notesSlide+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.presentation
+ encoding: base64
+ extensions:
+ - pptx
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.presProps+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.slide
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.slide+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.slideshow
+ encoding: base64
+ extensions:
+ - ppsx
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.tags+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.template
+ encoding: base64
+ extensions:
+ - potx
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.template.main+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
+ encoding: base64
+ extensions:
+ - xlsx
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.template
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.theme+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.themeOverride+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.vmlDrawing
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
+ encoding: base64
+ extensions:
+ - docx
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.template
+ encoding: base64
+ extensions:
+ - dotx
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-package.core-properties+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.openxmlformats-package.relationships+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murata]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.orange.indata
+ encoding: base64
+ references:
+ - IANA
+ - ! '[CHATRAS_Bruno]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.osa.netdeploy
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Klos]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.osgeo.mapguide.package
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Birch]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.osgi.bundle
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kriens]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.osgi.dp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kriens]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.osgi.subsystem
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kriens]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.otps.ct-kip+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nyström=Nystrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.palm
+ encoding: base64
+ extensions:
+ - prc
+ - pdb
+ - pqa
+ - oprc
+ references:
+ - IANA
+ - ! '[Peacock]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.paos.xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kemp]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pawaafile
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Baskaran]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pg.format
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gandert]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pg.osasli
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gandert]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.piaccess.application-licence
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Maneos]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.picsel
+ encoding: base64
+ extensions:
+ - efif
+ references:
+ - IANA
+ - ! '[Naccarato]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pmi.widget
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lewis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.poc.group-advertisement+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kelley]'
+ - ! '[OMA Push to Talk over Cellular (POC) Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pocketlearn
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Pando]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.powerbuilder6
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Guy]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.powerbuilder6-s
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Guy]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.powerbuilder7
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shilts]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.powerbuilder7-s
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shilts]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.powerbuilder75
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shilts]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.powerbuilder75-s
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shilts]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.preminet
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tenhunen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.previewsystems.box
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Smolgovsky]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.proteus.magazine
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hoch]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.publishare-delta-tree
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ben-Kiki]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pvi.ptid1
+ encoding: base64
+ extensions:
+ - pti
+ - ptid
+ references:
+ - IANA
+ - ! '[Lamb]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pwg-multiplexed
+ encoding: base64
+ references:
+ - IANA
+ - RFC3391
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.pwg-xhtml-print+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wright]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.qualcomm.brew-app-res
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Forrester]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.Quark.QuarkXPress
+ encoding: 8bit
+ extensions:
+ - qxd
+ - qxt
+ - qwd
+ - qwt
+ - qxl
+ - qxb
+ references:
+ - IANA
+ - ! '[Scheidler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.quobject-quoxdocument
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ludwig]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.moml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-audit+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-audit-conf+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-audit-conn+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-audit-dialog+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-audit-stream+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-conf+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-dialog+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-dialog-base+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-dialog-fax-detect+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-dialog-fax-sendrecv+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-dialog-group+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-dialog-speech+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.radisys.msml-dialog-transform+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.rainstor.data
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Crook]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.rapid
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Szekely]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.realvnc.bed
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Reeves]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.recordare.musicxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Good]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.recordare.musicxml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Good]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.RenLearn.rlprint
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wick]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.rig.cryptonote
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Jibiki]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.rn-realmedia
+ encoding: base64
+ extensions:
+ - rm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.route66.link66+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kikstra]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.rs-274x
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Harding]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ruckus.download
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Harris]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.s3sms
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tarkkala]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sailingtracker.track
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Vesalainen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sbm.cid
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kusakari]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sbm.mid2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Murai]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.scribus
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bradney]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.3df
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kwan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.csf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kwan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.doc
+ encoding: base64
+ extensions:
+ - sdoc
+ - sdo
+ - s1w
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.eml
+ encoding: base64
+ extensions:
+ - seml
+ - sem
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.mht
+ encoding: base64
+ extensions:
+ - smht
+ - smh
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.net
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Lambert]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.ppt
+ encoding: base64
+ extensions:
+ - sppt
+ - spp
+ - s1p
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.tiff
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kwan]'
+ - ! '[Lambert]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealed.xls
+ encoding: base64
+ extensions:
+ - sxls
+ - sxl
+ - s1e
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealedmedia.softseal.html
+ encoding: base64
+ extensions:
+ - stml
+ - stm
+ - s1h
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sealedmedia.softseal.pdf
+ encoding: base64
+ extensions:
+ - spdf
+ - spd
+ - s1a
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.seemail
+ encoding: base64
+ extensions:
+ - see
+ references:
+ - IANA
+ - ! '[Webb]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sema
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hansson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.semd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hansson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.semf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hansson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.shana.informed.formdata
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Selzler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.shana.informed.formtemplate
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Selzler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.shana.informed.interchange
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Selzler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.shana.informed.package
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Selzler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.SimTech-MindMapper
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Koh]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.siren+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Swiber]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.smaf
+ encoding: base64
+ extensions:
+ - mmf
+ references:
+ - IANA
+ - ! '[Takahashi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.smart.notebook
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Neitz]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.smart.teacher
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Boyle]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.software602.filler.form+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hytka]'
+ - ! '[Vondrous]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.software602.filler.form-xml-zip
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hytka]'
+ - ! '[Vondrous]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.solent.sdkm+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gauntlett]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.spotfire.dxp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Jernberg]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.spotfire.sfs
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Jernberg]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sss-cod
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dani]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sss-dtf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bruno]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sss-ntf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bruno]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stardivision.calc
+ encoding: base64
+ extensions:
+ - sdc
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stardivision.chart
+ encoding: base64
+ extensions:
+ - sds
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stardivision.draw
+ encoding: base64
+ extensions:
+ - sda
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stardivision.impress
+ encoding: base64
+ extensions:
+ - sdd
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stardivision.math
+ encoding: base64
+ extensions:
+ - sdf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stardivision.writer
+ encoding: base64
+ extensions:
+ - sdw
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stardivision.writer-global
+ encoding: base64
+ extensions:
+ - sgl
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stepmania.package
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.stepmania.stepchart
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.street-stream
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Levitt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.wadl+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hadley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.calc
+ encoding: base64
+ extensions:
+ - sxc
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.calc.template
+ encoding: base64
+ extensions:
+ - stc
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.draw
+ encoding: base64
+ extensions:
+ - sxd
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.draw.template
+ encoding: base64
+ extensions:
+ - std
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.impress
+ encoding: base64
+ extensions:
+ - sxi
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.impress.template
+ encoding: base64
+ extensions:
+ - sti
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.math
+ encoding: base64
+ extensions:
+ - sxm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.writer
+ encoding: base64
+ extensions:
+ - sxw
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.writer.global
+ encoding: base64
+ extensions:
+ - sxg
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sun.xml.writer.template
+ encoding: base64
+ extensions:
+ - stw
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/vnd.sus-calendar
+ encoding: base64
+ extensions:
+ - sus
+ - susp
+ references:
+ - IANA
+ - ! '[Niedfeldt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.svd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Becker]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.swiftview-ics
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Widener]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Data Synchronization Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.dm+wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA-DM Work Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.dm+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rao]'
+ - ! '[OMA-DM Work Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.dm.notification
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Thompson]'
+ - ! '[OMA-DM Work Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.dmddf+wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA-DM Work Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.dmddf+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA-DM Work Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.dmtnds+wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA-DM Work Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.dmtnds+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA-DM Work Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.syncml.ds.notification
+ encoding: base64
+ references:
+ - IANA
+ - ! '[OMA Data Synchronization Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.tao.intent-module-archive
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Shelton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.tmobile-livetv
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Helin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.trid.tpt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Cusack]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.triscape.mxs
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Simonoff]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.trueapp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hepler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.truedoc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Chase]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ubisoft.webplayer
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Talbot]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.ufdl
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Manning]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uiq.theme
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ocock]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.umajin
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Riden]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.unity
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Unity3d]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uoml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Gerdes]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.alert
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.alert-wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.bearer-choice
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.bearer-choice-wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.cacheop
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.cacheop-wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.channel
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.channel-wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.list
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.list-wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.listcmd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.listcmd-wbxml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.uplanet.signal
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.vcx
+ encoding: base64
+ references:
+ - IANA
+ - ! '[T.Sugimoto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.vd-study
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rogge]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.vectorworks
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ferguson]'
+ - ! '[Sarkar]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.verimatrix.vcas
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Peterka]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.vidsoft.vidconference
+ encoding: 8bit
+ extensions:
+ - vsc
+ references:
+ - IANA
+ - ! '[Hess]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.visio
+ encoding: base64
+ extensions:
+ - vsd
+ - vst
+ - vsw
+ - vss
+ references:
+ - IANA
+ - ! '[Sandal]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.visionary
+ encoding: base64
+ extensions:
+ - vis
+ references:
+ - IANA
+ - ! '[Aravindakumar]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.vividence.scriptfile
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Risher]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.vsf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rowe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wap.sic
+ encoding: base64
+ extensions:
+ - sic
+ references:
+ - IANA
+ - ! '[WAP-Forum]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wap.slc
+ encoding: base64
+ extensions:
+ - slc
+ references:
+ - IANA
+ - ! '[WAP-Forum]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wap.wbxml
+ encoding: base64
+ extensions:
+ - wbxml
+ references:
+ - IANA
+ - ! '[Stark]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wap.wmlc
+ encoding: base64
+ extensions:
+ - wmlc
+ references:
+ - IANA
+ - ! '[Stark]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wap.wmlscriptc
+ encoding: base64
+ extensions:
+ - wmlsc
+ references:
+ - IANA
+ - ! '[Stark]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.webturbo
+ encoding: base64
+ extensions:
+ - wtb
+ references:
+ - IANA
+ - ! '[Rehem]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wfa.p2p
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Conley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wfa.wsc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wi-Fi Alliance]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.windows.devicepairing
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dandawate]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wmc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kjørnes=Kjornes]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wmf.bootstrap
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nguyenphu]'
+ - ! '[Iyer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wolfram.mathematica
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wolfram]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wolfram.mathematica.package
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wolfram]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wolfram.player
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wolfram]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wordperfect
+ encoding: base64
+ extensions:
+ - wpd
+ references:
+ - IANA
+ - ! '[Scarborough]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wqd
+ encoding: base64
+ extensions:
+ - wqd
+ references:
+ - IANA
+ - ! '[Bostrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wrq-hp3000-labelled
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Bartram]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wt.stf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Wohler]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wv.csp+wbxml
+ encoding: base64
+ extensions:
+ - wv
+ references:
+ - IANA
+ - ! '[Salmi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wv.csp+xml
+ encoding: 8bit
+ references:
+ - IANA
+ - ! '[Ingimundarson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.wv.ssp+xml
+ encoding: 8bit
+ references:
+ - IANA
+ - ! '[Ingimundarson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xacml+json
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Brossard]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xara
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Matthewman]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xfdl
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Manning]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xfdl.webform
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Mansell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xmi+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Waskiewicz]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xmpie.cpkg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sherwin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xmpie.dpkg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sherwin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xmpie.plan
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sherwin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xmpie.ppkg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sherwin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.xmpie.xlim
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sherwin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.hv-dic
+ encoding: base64
+ extensions:
+ - hvd
+ references:
+ - IANA
+ - ! '[Yamamoto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.hv-script
+ encoding: base64
+ extensions:
+ - hvs
+ references:
+ - IANA
+ - ! '[Yamamoto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.hv-voice
+ encoding: base64
+ extensions:
+ - hvp
+ references:
+ - IANA
+ - ! '[Yamamoto]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.openscoreformat
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olleson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.openscoreformat.osfpvg+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Olleson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.remote-setup
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sukizaki]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.smaf-audio
+ encoding: base64
+ extensions:
+ - saf
+ references:
+ - IANA
+ - ! '[Shinoda]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.smaf-phrase
+ encoding: base64
+ extensions:
+ - spf
+ references:
+ - IANA
+ - ! '[Shinoda]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.through-ngn
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sukizaki]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yamaha.tunnel-udpencap
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sukizaki]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.yellowriver-custom-menu
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Yellow]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.zul
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Grothmann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vnd.zzazz.deck+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hewett]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/voicexml+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4267
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/vq-rtcpxr
+ encoding: base64
+ references:
+ - IANA
+ - RFC6035
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/watcherinfo+xml
+ encoding: base64
+ extensions:
+ - wif
+ references:
+ - IANA
+ - RFC3858
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/whoispp-query
+ encoding: base64
+ references:
+ - IANA
+ - RFC2957
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/whoispp-response
+ encoding: base64
+ references:
+ - IANA
+ - RFC2958
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/widget
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ - ! '[Pemberton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/wita
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Campbell]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/word
+ encoding: base64
+ extensions:
+ - doc
+ - dot
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/wordperfect
+ encoding: base64
+ extensions:
+ - wp
+ obsolete: true
+ use-instead:
+ - application/vnd.wordperfect
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/wordperfect5.1
+ encoding: base64
+ extensions:
+ - wp5
+ - wp
+ references:
+ - IANA
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/wordperfect6.1
+ encoding: base64
+ extensions:
+ - wp6
+ obsolete: true
+ use-instead:
+ - application/x-wordperfect6.1
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/wordperfectd
+ encoding: base64
+ extensions:
+ - wpd
+ obsolete: true
+ use-instead:
+ - application/vnd.wordperfect
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/wsdl+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/wspolicy+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/x-123
+ encoding: base64
+ extensions:
+ - wk
+ obsolete: true
+ use-instead:
+ - application/vnd.lotus-1-2-3
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-7z-compressed
+ encoding: base64
+ extensions:
+ - 7z
+ references:
+ - ! '{7zip=http://www.7-zip.org/7z.html}'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-access
+ encoding: base64
+ extensions:
+ - mdf
+ - mda
+ - mdb
+ - mde
+ obsolete: true
+ use-instead:
+ - application/x-msaccess
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-apple-diskimage
+ encoding: base64
+ extensions:
+ - dmg
+ registered: false
+ system: !ruby/regexp /(?-mix:mac)/
+- !ruby/object:MIME::Type
+ content-type: application/x-bcpio
+ encoding: base64
+ extensions:
+ - bcpio
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-bleeper
+ encoding: base64
+ extensions:
+ - bleep
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-bzip2
+ encoding: base64
+ extensions:
+ - bz2
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-cdlink
+ encoding: base64
+ extensions:
+ - vcd
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-chess-pgn
+ encoding: base64
+ extensions:
+ - pgn
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-chrome-extension
+ encoding: base64
+ extensions:
+ - crx
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-clariscad
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-compress
+ encoding: base64
+ extensions:
+ - z
+ - Z
+ obsolete: true
+ use-instead:
+ - application/x-compressed
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-compressed
+ encoding: base64
+ extensions:
+ - z
+ - Z
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-cpio
+ encoding: base64
+ extensions:
+ - cpio
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-csh
+ encoding: 8bit
+ extensions:
+ - csh
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-cu-seeme
+ encoding: base64
+ extensions:
+ - csm
+ - cu
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-debian-package
+ encoding: base64
+ extensions:
+ - deb
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-director
+ encoding: base64
+ extensions:
+ - dcr
+ - dir
+ - dxr
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-drafting
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-dvi
+ encoding: base64
+ extensions:
+ - dvi
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-dxf
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-excel
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-font-opentype
+ encoding: base64
+ extensions:
+ - otf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-font-truetype
+ encoding: base64
+ extensions:
+ - ttf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-fractals
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-futuresplash
+ encoding: base64
+ extensions:
+ - spl
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ghostview
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-gtar
+ encoding: base64
+ extensions:
+ - gtar
+ - tgz
+ - tbz2
+ - tbz
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-gzip
+ encoding: base64
+ extensions:
+ - gz
+ obsolete: true
+ use-instead:
+ - application/gzip
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-hdf
+ encoding: base64
+ extensions:
+ - hdf
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-hep
+ encoding: base64
+ extensions:
+ - hep
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-html+ruby
+ encoding: 8bit
+ extensions:
+ - rhtml
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-httpd-php
+ encoding: 8bit
+ extensions:
+ - phtml
+ - pht
+ - php
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ibooks+zip
+ encoding: base64
+ extensions:
+ - ibooks
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ica
+ encoding: base64
+ extensions:
+ - ica
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ideas
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-imagemap
+ encoding: 8bit
+ extensions:
+ - imagemap
+ - imap
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-iwork-keynote-sffkey
+ encoding: base64
+ extensions:
+ - key
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-iwork-numbers-sffnumbers
+ encoding: base64
+ extensions:
+ - numbers
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-iwork-pages-sffpages
+ encoding: base64
+ extensions:
+ - pages
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-java-archive
+ encoding: base64
+ extensions:
+ - jar
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-java-jnlp-file
+ encoding: base64
+ extensions:
+ - jnlp
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-java-serialized-object
+ encoding: base64
+ extensions:
+ - ser
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-java-vm
+ encoding: base64
+ extensions:
+ - class
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-javascript
+ encoding: 8bit
+ extensions:
+ - js
+ obsolete: true
+ use-instead:
+ - application/javascript
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-koan
+ encoding: base64
+ extensions:
+ - skp
+ - skd
+ - skt
+ - skm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-latex
+ encoding: 8bit
+ extensions:
+ - ltx
+ - latex
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-lotus-123
+ encoding: base64
+ extensions:
+ - wks
+ obsolete: true
+ use-instead:
+ - application/vnd.lotus-1-2-3
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-mac
+ encoding: base64
+ extensions:
+ - bin
+ registered: false
+ system: !ruby/regexp /(?-mix:mac)/
+- !ruby/object:MIME::Type
+ content-type: application/x-mac-compactpro
+ encoding: base64
+ extensions:
+ - cpt
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-macbase64
+ encoding: base64
+ extensions:
+ - bin
+ registered: false
+ system: !ruby/regexp /(?-mix:mac)/
+- !ruby/object:MIME::Type
+ content-type: application/x-macbinary
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-maker
+ encoding: base64
+ extensions:
+ - frm
+ - maker
+ - frame
+ - fm
+ - fb
+ - book
+ - fbdoc
+ obsolete: true
+ use-instead:
+ - application/vnd.framemaker
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-mathcad
+ encoding: base64
+ extensions:
+ - mcd
+ obsolete: true
+ use-instead:
+ - application/vnd.mcd
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-mathematica-old
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-mif
+ encoding: base64
+ extensions:
+ - mif
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-mobipocket-ebook
+ encoding: base64
+ extensions:
+ - mobi
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ms-wmd
+ encoding: base64
+ extensions:
+ - wmd
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ms-wmz
+ encoding: base64
+ extensions:
+ - wmz
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-msaccess
+ encoding: base64
+ extensions:
+ - mda
+ - mdb
+ - mde
+ - mdf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-msdos-program
+ encoding: base64
+ extensions:
+ - cmd
+ - bat
+ - com
+ - exe
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-msdownload
+ encoding: base64
+ extensions:
+ - exe
+ - com
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-msword
+ encoding: base64
+ extensions:
+ - doc
+ - dot
+ - wrd
+ obsolete: true
+ use-instead:
+ - application/msword
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-netcdf
+ encoding: base64
+ extensions:
+ - nc
+ - cdf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ns-proxy-autoconfig
+ encoding: base64
+ extensions:
+ - pac
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-opera-extension
+ encoding: base64
+ extensions:
+ - oex
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-pagemaker
+ encoding: base64
+ extensions:
+ - pm
+ - pm5
+ - pt5
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-perl
+ encoding: 8bit
+ extensions:
+ - pl
+ - pm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-pgp
+ encoding: base64
+ registered: false
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: application/x-python
+ encoding: 8bit
+ extensions:
+ - py
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-quicktimeplayer
+ encoding: base64
+ extensions:
+ - qtl
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-rar-compressed
+ encoding: base64
+ extensions:
+ - rar
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-remote_printing
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-rtf
+ encoding: base64
+ extensions:
+ - rtf
+ obsolete: true
+ use-instead:
+ - application/rtf
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ruby
+ encoding: 8bit
+ extensions:
+ - rb
+ - rbw
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-set
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-sh
+ encoding: 8bit
+ extensions:
+ - sh
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-shar
+ encoding: 8bit
+ extensions:
+ - shar
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-shockwave-flash
+ encoding: base64
+ extensions:
+ - swf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-SLA
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-solids
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-spss
+ encoding: base64
+ extensions:
+ - sav
+ - sbs
+ - sps
+ - spo
+ - spp
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-STEP
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-stuffit
+ encoding: base64
+ extensions:
+ - sit
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-sv4cpio
+ encoding: base64
+ extensions:
+ - sv4cpio
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-sv4crc
+ encoding: base64
+ extensions:
+ - sv4crc
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-tar
+ encoding: base64
+ extensions:
+ - tar
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-tcl
+ encoding: 8bit
+ extensions:
+ - tcl
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-tex
+ encoding: 8bit
+ extensions:
+ - tex
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-texinfo
+ encoding: 8bit
+ extensions:
+ - texinfo
+ - texi
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-toolbook
+ encoding: base64
+ extensions:
+ - tbk
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-troff
+ encoding: base64
+ extensions:
+ - t
+ - tr
+ - roff
+ obsolete: true
+ use-instead:
+ - text/troff
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-troff-man
+ encoding: 8bit
+ extensions:
+ - man
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-troff-me
+ encoding: base64
+ extensions:
+ - me
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-troff-ms
+ encoding: base64
+ extensions:
+ - ms
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-u-star
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/x-ustar
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-ustar
+ encoding: base64
+ extensions:
+ - ustar
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-VMSBACKUP
+ encoding: base64
+ extensions:
+ - bck
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-wais-source
+ encoding: base64
+ extensions:
+ - src
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-web-app-manifest+json
+ encoding: base64
+ extensions:
+ - webapp
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-Wingz
+ encoding: base64
+ extensions:
+ - wz
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-word
+ encoding: base64
+ extensions:
+ - doc
+ - dot
+ obsolete: true
+ use-instead:
+ - application/msword
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-wordperfect
+ encoding: base64
+ extensions:
+ - wp
+ obsolete: true
+ use-instead:
+ - application/vnd.wordperfect
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-wordperfect6.1
+ encoding: base64
+ extensions:
+ - wp6
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-wordperfectd
+ encoding: base64
+ extensions:
+ - wpd
+ obsolete: true
+ use-instead:
+ - application/vnd.wordperfect
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-www-form-urlencoded
+ encoding: 7bit
+ references:
+ - ! '[W3C]'
+ - ! '{HTML5=http://www.w3.org/TR/html5/iana.html#application/x-www-form-urlencoded}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/x-x509-ca-cert
+ encoding: base64
+ extensions:
+ - crt
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x-xpinstall
+ encoding: base64
+ extensions:
+ - xpi
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/x400-bp
+ encoding: base64
+ references:
+ - IANA
+ - RFC1494
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/x400.bp
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - application/x400-bp
+ references:
+ - LTSW
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: application/xacml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '{RFC-sinnema-xacml-media-type-06=http://tools.ietf.org/html/draft-sinnema-xacml-media-type}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcap-att+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4825
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcap-caps+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4825
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcap-diff+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5874
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcap-el+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4825
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcap-error+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4825
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcap-ns+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4825
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcon-conference-info+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xcon-conference-info-diff+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '{RFC-ietf-xcon-event-package-01.txt=http://tools.ietf.org/html/draft-ietf-xcon-event-package}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xenc+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Reagle]'
+ - ! '[XENC Working Group]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xhtml+xml
+ encoding: 8bit
+ extensions:
+ - xhtml
+ - xht
+ references:
+ - IANA
+ - RFC3236
+ - ! '{HTML5=http://www.w3.org/TR/html5/iana.html#application/xhtml+xml}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xhtml-voice+xml
+ encoding: base64
+ obsolete: true
+ references:
+ - IANA
+ - ! '{RFC-mccobb-xplusv-media-type-04.txt=https://datatracker.ietf.org/public/idindex.cgi?command=id_detail&filename=draft-mccobb-xplusv-media-type}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xml
+ encoding: 8bit
+ extensions:
+ - xml
+ - xsl
+ references:
+ - IANA
+ - RFC3023
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xml-dtd
+ encoding: 8bit
+ extensions:
+ - dtd
+ references:
+ - IANA
+ - RFC3023
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xml-external-parsed-entity
+ encoding: base64
+ references:
+ - IANA
+ - RFC3023
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xmpp+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC3923
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xop+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nottingham]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xslt+xml
+ encoding: base64
+ extensions:
+ - xslt
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/xv+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC4374
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/yang
+ encoding: base64
+ references:
+ - IANA
+ - RFC6020
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/yin+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC6020
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/zip
+ encoding: base64
+ extensions:
+ - zip
+ references:
+ - IANA
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: application/zlib
+ encoding: base64
+ references:
+ - IANA
+ - RFC6713
+ registered: true
diff --git a/type-lists/audio.txt b/type-lists/audio.txt
deleted file mode 100644
index ce66afc..0000000
--- a/type-lists/audio.txt
+++ /dev/null
@@ -1,139 +0,0 @@
-audio/1d-interleaved-parityfec 'IANA,RFC6015
-audio/32kadpcm 'IANA,RFC3802,RFC2421
-audio/3gpp 'IANA,RFC3839,RFC6381
-audio/3gpp2 'IANA,RFC4393,RFC6381
-audio/ac3 'IANA,RFC4184
-audio/AMR 'IANA,RFC4867
-audio/AMR-WB 'IANA,RFC4867
-audio/amr-wb+ 'IANA,RFC4352
-audio/asc 'IANA,RFC6295
-audio/ATRAC-ADVANCED-LOSSLESS 'IANA,RFC5584
-audio/ATRAC-X 'IANA,RFC5584
-audio/ATRAC3 'IANA,RFC5584
-audio/basic 'IANA,RFC2045,RFC2046
-audio/BV16 'IANA,RFC4298
-audio/BV32 'IANA,RFC4298
-audio/clearmode 'IANA,RFC4040
-audio/CN 'IANA,RFC3389
-audio/DAT12 'IANA,RFC3190
-audio/dls 'IANA,RFC4613
-audio/dsr-es201108 'IANA,RFC3557
-audio/dsr-es202050 'IANA,RFC4060
-audio/dsr-es202211 'IANA,RFC4060
-audio/dsr-es202212 'IANA,RFC4060
-audio/DV 'IANA,RFC6469
-audio/DVI4 'IANA,RFC4856
-audio/eac3 'IANA,RFC4598
-audio/encaprtp 'IANA,RFC6849
-audio/EVRC 'IANA,RFC4788
-audio/EVRC-QCP 'IANA,RFC3625
-audio/EVRC0 'IANA,RFC4788
-audio/EVRC1 'IANA,RFC4788
-audio/EVRCB 'IANA,RFC5188
-audio/EVRCB0 'IANA,RFC5188
-audio/EVRCB1 'IANA,RFC4788
-audio/EVRCNW 'IANA,RFC6884
-audio/EVRCNW0 'IANA,RFC6884
-audio/EVRCNW1 'IANA,RFC6884
-audio/EVRCWB 'IANA,RFC5188
-audio/EVRCWB0 'IANA,RFC5188
-audio/EVRCWB1 'IANA,RFC5188
-audio/example 'IANA,RFC4735
-audio/fwdred 'IANA,RFC6354
-audio/G719 'IANA,RFC5404,{Errata3245=http://www.rfc-editor.org/errata_search.php?rfc=5404&eid=3245}
-audio/G722 'IANA,RFC4856
-audio/G7221 'IANA,RFC5577
-audio/G723 'IANA,RFC4856
-audio/G726-16 'IANA,RFC4856
-audio/G726-24 'IANA,RFC4856
-audio/G726-32 'IANA,RFC4856
-audio/G726-40 'IANA,RFC4856
-audio/G728 'IANA,RFC4856
-audio/G729 'IANA,RFC4856
-audio/G7291 'IANA,RFC4749,RFC5459
-audio/G729D 'IANA,RFC4856
-audio/G729E 'IANA,RFC4856
-audio/GSM 'IANA,RFC4856
-audio/GSM-EFR 'IANA,RFC4856
-audio/GSM-HR-08 'IANA,RFC5993
-audio/iLBC 'IANA,RFC3952
-audio/ip-mr_v2.5 'IANA,RFC6262
-audio/L8 'IANA,RFC4856
-audio/L16 'IANA,RFC4856
-audio/L20 'IANA,RFC3190
-audio/L24 'IANA,RFC3190
-audio/LPC 'IANA,RFC4856
-audio/mobile-xmf 'IANA,RFC4723
-audio/MPA 'IANA,RFC3555
-audio/mp4 'IANA,RFC4337,RFC6381
-audio/MP4A-LATM 'IANA,RFC6416
-audio/mpa-robust 'IANA,RFC5219
-audio/mpeg 'IANA,RFC3003
-audio/mpeg4-generic 'IANA,RFC3640,RFC5691,RFC6295
-audio/ogg 'IANA,RFC5334
-audio/parityfec 'IANA,RFC5109
-audio/PCMA 'IANA,RFC4856
-audio/PCMA-WB 'IANA,RFC5391
-audio/PCMU 'IANA,RFC4856
-audio/PCMU-WB 'IANA,RFC5391
-audio/prs.sid 'IANA,[Walleij]
-audio/QCELP 'IANA,RFC3555,RFC3625
-audio/raptorfec 'IANA,RFC6682
-audio/RED 'IANA,RFC3555
-audio/rtp-enc-aescm128 'IANA,[3GPP]
-audio/rtploopback 'IANA,RFC6849
-audio/rtp-midi 'IANA,RFC6295
-audio/rtx 'IANA,RFC4588
-audio/SMV 'IANA,RFC3558
-audio/SMV0 'IANA,RFC3558
-audio/SMV-QCP 'IANA,RFC3625
-audio/sp-midi 'IANA,[Kosonen],[T. White=T.White]
-audio/speex 'IANA,RFC5574
-audio/t140c 'IANA,RFC4351
-audio/t38 'IANA,RFC4612
-audio/telephone-event 'IANA,RFC4733
-audio/tone 'IANA,RFC4733
-audio/UEMCLIP 'IANA,RFC5686
-audio/ulpfec 'IANA,RFC5109
-audio/VDVI 'IANA,RFC4856
-audio/VMR-WB 'IANA,RFC4348,RFC4424
-audio/vnd.3gpp.iufp 'IANA,[Belling]
-audio/vnd.4SB 'IANA,[De Jaham]
-audio/vnd.audiokoz 'IANA,[DeBarros]
-audio/vnd.CELP 'IANA,[De Jaham]
-audio/vnd.cisco.nse 'IANA,[Kumar]
-audio/vnd.cmles.radio-events 'IANA,[Goulet]
-audio/vnd.cns.anp1 'IANA,[McLaughlin]
-audio/vnd.cns.inf1 'IANA,[McLaughlin]
-audio/vnd.dece.audio 'IANA,[Dolan]
-audio/vnd.digital-winds 'IANA,[Strazds]
-audio/vnd.dlna.adts 'IANA,[Heredia]
-audio/vnd.dolby.heaac.1 'IANA,[Hattersley]
-audio/vnd.dolby.heaac.2 'IANA,[Hattersley]
-audio/vnd.dolby.mlp 'IANA,[Ward]
-audio/vnd.dolby.mps 'IANA,[Hattersley]
-audio/vnd.dolby.pl2 'IANA,[Hattersley]
-audio/vnd.dolby.pl2x 'IANA,[Hattersley]
-audio/vnd.dolby.pl2z 'IANA,[Hattersley]
-audio/vnd.dolby.pulse.1 'IANA,[Hattersley]
-audio/vnd.dra 'IANA,[Tian]
-audio/vnd.dts 'IANA,[Zou]
-audio/vnd.dts.hd 'IANA,[Zou]
-audio/vnd.dvb.file 'IANA,[Siebert]
-audio/vnd.everad.plj 'IANA,[Cicelsky]
-audio/vnd.hns.audio 'IANA,[Swaminathan]
-audio/vnd.lucent.voice 'IANA,[Vaudreuil]
-audio/vnd.ms-playready.media.pya 'IANA,[DiAcetis]
-audio/vnd.nokia.mobile-xmf 'IANA,[Nokia Corporation=Nokia]
-audio/vnd.nortel.vbk 'IANA,[Parsons]
-audio/vnd.nuera.ecelp4800 'IANA,[Fox]
-audio/vnd.nuera.ecelp7470 'IANA,[Fox]
-audio/vnd.nuera.ecelp9600 'IANA,[Fox]
-audio/vnd.octel.sbc 'IANA,[Vaudreuil]
-audio/vnd.qcelp - DEPRECATED - Please use audio/qcelp 'IANA,RFC3625
-audio/vnd.rhetorex.32kadpcm 'IANA,[Vaudreuil]
-audio/vnd.rip 'IANA,[Dawe]
-audio/vnd.sealedmedia.softseal.mpeg 'IANA,[Petersen]
-audio/vnd.vmx.cvsd 'IANA,[Vaudreuil]
-audio/vorbis 'IANA,RFC5215
-audio/vorbis-config 'IANA,RFC5215 \ No newline at end of file
diff --git a/type-lists/audio.yaml b/type-lists/audio.yaml
new file mode 100644
index 0000000..c89886e
--- /dev/null
+++ b/type-lists/audio.yaml
@@ -0,0 +1,1111 @@
+---
+- !ruby/object:MIME::Type
+ content-type: audio/1d-interleaved-parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6015
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/32kadpcm
+ encoding: base64
+ references:
+ - IANA
+ - RFC3802
+ - RFC2421
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/3gpp
+ encoding: base64
+ references:
+ - IANA
+ - RFC3839
+ - RFC6381
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/3gpp2
+ encoding: base64
+ references:
+ - IANA
+ - RFC4393
+ - RFC6381
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/ac3
+ encoding: base64
+ references:
+ - IANA
+ - RFC4184
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/AMR
+ encoding: base64
+ extensions:
+ - amr
+ references:
+ - IANA
+ - RFC4867
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/AMR-WB
+ encoding: base64
+ extensions:
+ - awb
+ references:
+ - IANA
+ - RFC4867
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/amr-wb+
+ encoding: base64
+ references:
+ - IANA
+ - RFC4352
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/asc
+ encoding: base64
+ references:
+ - IANA
+ - RFC6295
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/ATRAC-ADVANCED-LOSSLESS
+ encoding: base64
+ references:
+ - IANA
+ - RFC5584
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/ATRAC-X
+ encoding: base64
+ references:
+ - IANA
+ - RFC5584
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/ATRAC3
+ encoding: base64
+ references:
+ - IANA
+ - RFC5584
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/basic
+ encoding: base64
+ extensions:
+ - au
+ - snd
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/BV16
+ encoding: base64
+ references:
+ - IANA
+ - RFC4298
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/BV32
+ encoding: base64
+ references:
+ - IANA
+ - RFC4298
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/clearmode
+ encoding: base64
+ references:
+ - IANA
+ - RFC4040
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/CN
+ encoding: base64
+ references:
+ - IANA
+ - RFC3389
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/DAT12
+ encoding: base64
+ references:
+ - IANA
+ - RFC3190
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/dls
+ encoding: base64
+ references:
+ - IANA
+ - RFC4613
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/dsr-es201108
+ encoding: base64
+ references:
+ - IANA
+ - RFC3557
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/dsr-es202050
+ encoding: base64
+ references:
+ - IANA
+ - RFC4060
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/dsr-es202211
+ encoding: base64
+ references:
+ - IANA
+ - RFC4060
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/dsr-es202212
+ encoding: base64
+ references:
+ - IANA
+ - RFC4060
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/DV
+ encoding: base64
+ references:
+ - IANA
+ - RFC6469
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/DVI4
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/eac3
+ encoding: base64
+ references:
+ - IANA
+ - RFC4598
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/encaprtp
+ encoding: base64
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRC
+ encoding: base64
+ extensions:
+ - evc
+ references:
+ - IANA
+ - RFC4788
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRC-QCP
+ encoding: base64
+ references:
+ - IANA
+ - RFC3625
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRC0
+ encoding: base64
+ references:
+ - IANA
+ - RFC4788
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRC1
+ encoding: base64
+ references:
+ - IANA
+ - RFC4788
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCB
+ encoding: base64
+ references:
+ - IANA
+ - RFC5188
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCB0
+ encoding: base64
+ references:
+ - IANA
+ - RFC5188
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCB1
+ encoding: base64
+ references:
+ - IANA
+ - RFC4788
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCNW
+ encoding: base64
+ references:
+ - IANA
+ - RFC6884
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCNW0
+ encoding: base64
+ references:
+ - IANA
+ - RFC6884
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCNW1
+ encoding: base64
+ references:
+ - IANA
+ - RFC6884
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCWB
+ encoding: base64
+ references:
+ - IANA
+ - RFC5188
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCWB0
+ encoding: base64
+ references:
+ - IANA
+ - RFC5188
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/EVRCWB1
+ encoding: base64
+ references:
+ - IANA
+ - RFC5188
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/example
+ encoding: base64
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/fwdred
+ encoding: base64
+ references:
+ - IANA
+ - RFC6354
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G719
+ encoding: base64
+ references:
+ - IANA
+ - RFC5404
+ - ! '{Errata3245=http://www.rfc-editor.org/errata_search.php?rfc=5404&eid=3245}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G722
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G7221
+ encoding: base64
+ references:
+ - IANA
+ - RFC5577
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G723
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G726-16
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G726-24
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G726-32
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G726-40
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G728
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G729
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G7291
+ encoding: base64
+ references:
+ - IANA
+ - RFC4749
+ - RFC5459
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G729D
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/G729E
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/GSM
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/GSM-EFR
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/GSM-HR-08
+ encoding: base64
+ references:
+ - IANA
+ - RFC5993
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/iLBC
+ encoding: base64
+ references:
+ - IANA
+ - RFC3952
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/ip-mr_v2.5
+ encoding: base64
+ references:
+ - IANA
+ - RFC6262
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/L16
+ encoding: base64
+ extensions:
+ - l16
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/L20
+ encoding: base64
+ references:
+ - IANA
+ - RFC3190
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/L24
+ encoding: base64
+ references:
+ - IANA
+ - RFC3190
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/L8
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/LPC
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/mobile-xmf
+ encoding: base64
+ references:
+ - IANA
+ - RFC4723
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/mp4
+ encoding: base64
+ extensions:
+ - mp4
+ - mpg4
+ - f4a
+ - f4b
+ references:
+ - IANA
+ - RFC4337
+ - RFC6381
+ - ! '{Adobe=http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/MP4A-LATM
+ encoding: base64
+ extensions:
+ - m4a
+ references:
+ - IANA
+ - RFC6416
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/MPA
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/mpa-robust
+ encoding: base64
+ references:
+ - IANA
+ - RFC5219
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/mpeg
+ encoding: base64
+ extensions:
+ - mpga
+ - mp2
+ - mp3
+ references:
+ - IANA
+ - RFC3003
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/mpeg4-generic
+ encoding: base64
+ references:
+ - IANA
+ - RFC3640
+ - RFC5691
+ - RFC6295
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/ogg
+ encoding: base64
+ extensions:
+ - ogg
+ references:
+ - IANA
+ - RFC5334
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/PCMA
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/PCMA-WB
+ encoding: base64
+ references:
+ - IANA
+ - RFC5391
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/PCMU
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/PCMU-WB
+ encoding: base64
+ references:
+ - IANA
+ - RFC5391
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/prs.sid
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Walleij]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/QCELP
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ - RFC3625
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/raptorfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6682
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/RED
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/rtp-enc-aescm128
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/rtp-midi
+ encoding: base64
+ references:
+ - IANA
+ - RFC6295
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/rtploopback
+ encoding: base64
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/rtx
+ encoding: base64
+ references:
+ - IANA
+ - RFC4588
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/SMV
+ encoding: base64
+ extensions:
+ - smv
+ references:
+ - IANA
+ - RFC3558
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/SMV-QCP
+ encoding: base64
+ references:
+ - IANA
+ - RFC3625
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/SMV0
+ encoding: base64
+ references:
+ - IANA
+ - RFC3558
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/sp-midi
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kosonen]'
+ - ! '[T. White=T.White]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/speex
+ encoding: base64
+ references:
+ - IANA
+ - RFC5574
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/t140c
+ encoding: base64
+ references:
+ - IANA
+ - RFC4351
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/t38
+ encoding: base64
+ references:
+ - IANA
+ - RFC4612
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/telephone-event
+ encoding: base64
+ references:
+ - IANA
+ - RFC4733
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/tone
+ encoding: base64
+ references:
+ - IANA
+ - RFC4733
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/UEMCLIP
+ encoding: base64
+ references:
+ - IANA
+ - RFC5686
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/ulpfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/VDVI
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/VMR-WB
+ encoding: base64
+ references:
+ - IANA
+ - RFC4348
+ - RFC4424
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.3gpp.iufp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Belling]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.4SB
+ encoding: base64
+ references:
+ - IANA
+ - ! '[De Jaham]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.audiokoz
+ encoding: base64
+ references:
+ - IANA
+ - ! '[DeBarros]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.CELP
+ encoding: base64
+ references:
+ - IANA
+ - ! '[De Jaham]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.cisco.nse
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Kumar]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.cmles.radio-events
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Goulet]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.cns.anp1
+ encoding: base64
+ references:
+ - IANA
+ - ! '[McLaughlin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.cns.inf1
+ encoding: base64
+ references:
+ - IANA
+ - ! '[McLaughlin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dece.audio
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.digital-winds
+ encoding: 7bit
+ extensions:
+ - eol
+ references:
+ - IANA
+ - ! '[Strazds]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dlna.adts
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Heredia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.heaac.1
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.heaac.2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.mlp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ward]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.mps
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.pl2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.pl2x
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.pl2z
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dolby.pulse.1
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Hattersley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dra
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Tian]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dts
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zou]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dts.hd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zou]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.dvb.file
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Siebert]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.everad.plj
+ encoding: base64
+ extensions:
+ - plj
+ references:
+ - IANA
+ - ! '[Cicelsky]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.hns.audio
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Swaminathan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.lucent.voice
+ encoding: base64
+ extensions:
+ - lvp
+ references:
+ - IANA
+ - ! '[Vaudreuil]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.ms-playready.media.pya
+ encoding: base64
+ references:
+ - IANA
+ - ! '[DiAcetis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.nokia.mobile-xmf
+ encoding: base64
+ extensions:
+ - mxmf
+ references:
+ - IANA
+ - ! '[Nokia Corporation=Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.nortel.vbk
+ encoding: base64
+ extensions:
+ - vbk
+ references:
+ - IANA
+ - ! '[Parsons]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.nuera.ecelp4800
+ encoding: base64
+ extensions:
+ - ecelp4800
+ references:
+ - IANA
+ - ! '[Fox]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.nuera.ecelp7470
+ encoding: base64
+ extensions:
+ - ecelp7470
+ references:
+ - IANA
+ - ! '[Fox]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.nuera.ecelp9600
+ encoding: base64
+ extensions:
+ - ecelp9600
+ references:
+ - IANA
+ - ! '[Fox]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.octel.sbc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Vaudreuil]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.qcelp
+ encoding: base64
+ extensions:
+ - qcp
+ obsolete: true
+ use-instead:
+ - audio/qcelp
+ references:
+ - IANA
+ - RFC3625
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.rhetorex.32kadpcm
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Vaudreuil]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.rip
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dawe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.sealedmedia.softseal.mpeg
+ encoding: base64
+ extensions:
+ - smp3
+ - smp
+ - s1m
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vnd.vmx.cvsd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Vaudreuil]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vorbis
+ encoding: base64
+ references:
+ - IANA
+ - RFC5215
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/vorbis-config
+ encoding: base64
+ references:
+ - IANA
+ - RFC5215
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: audio/webm
+ encoding: base64
+ extensions:
+ - webm
+ references:
+ - ! '{WebM=http://www.webmproject.org/code/specs/container/}'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-aac
+ encoding: base64
+ extensions:
+ - aac
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-aiff
+ encoding: base64
+ extensions:
+ - aif
+ - aifc
+ - aiff
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-midi
+ encoding: base64
+ extensions:
+ - mid
+ - midi
+ - kar
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-ms-wax
+ encoding: base64
+ extensions:
+ - wax
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-ms-wma
+ encoding: base64
+ extensions:
+ - wma
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-ms-wmv
+ encoding: base64
+ extensions:
+ - wmv
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-pn-realaudio
+ encoding: base64
+ extensions:
+ - ra
+ - ram
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-pn-realaudio-plugin
+ encoding: base64
+ extensions:
+ - rpm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-realaudio
+ encoding: base64
+ extensions:
+ - ra
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: audio/x-wav
+ encoding: base64
+ extensions:
+ - wav
+ registered: false
diff --git a/type-lists/chemical.yaml b/type-lists/chemical.yaml
new file mode 100644
index 0000000..b05d6a3
--- /dev/null
+++ b/type-lists/chemical.yaml
@@ -0,0 +1,31 @@
+---
+- !ruby/object:MIME::Type
+ content-type: chemical/x-pdb
+ encoding: base64
+ extensions:
+ - pdb
+ obsolete: true
+ use-instead:
+ - x-chemical/x-pdb
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: chemical/x-xyz
+ encoding: base64
+ extensions:
+ - xyz
+ obsolete: true
+ use-instead:
+ - x-chemical/x-xyz
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: x-chemical/x-pdb
+ encoding: base64
+ extensions:
+ - pdb
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: x-chemical/x-xyz
+ encoding: base64
+ extensions:
+ - xyz
+ registered: false
diff --git a/type-lists/conference.yaml b/type-lists/conference.yaml
new file mode 100644
index 0000000..15999eb
--- /dev/null
+++ b/type-lists/conference.yaml
@@ -0,0 +1,7 @@
+---
+- !ruby/object:MIME::Type
+ content-type: x-conference/x-cooltalk
+ encoding: base64
+ extensions:
+ - ice
+ registered: false
diff --git a/type-lists/drawing.yaml b/type-lists/drawing.yaml
new file mode 100644
index 0000000..8df49db
--- /dev/null
+++ b/type-lists/drawing.yaml
@@ -0,0 +1,16 @@
+---
+- !ruby/object:MIME::Type
+ content-type: drawing/dwf
+ encoding: base64
+ extensions:
+ - dwf
+ obsolete: true
+ use-instead:
+ - x-drawing/dwf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: x-drawing/dwf
+ encoding: base64
+ extensions:
+ - dwf
+ registered: false
diff --git a/type-lists/image.txt b/type-lists/image.txt
deleted file mode 100644
index 7d9b955..0000000
--- a/type-lists/image.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-image/cgm 'IANA,[Francis]
-image/example 'IANA,RFC4735
-image/fits 'IANA,RFC4047
-image/g3fax 'IANA,RFC1494
-image/gif 'IANA,RFC2045,RFC2046
-image/ief 'IANA,RFC1314
-image/jp2 'IANA,RFC3745
-image/jpeg 'IANA,RFC2045,RFC2046
-image/jpm 'IANA,RFC3745
-image/jpx 'IANA,RFC3745
-image/ktx 'IANA,[Callow],[Khronos]
-image/naplps 'IANA,[Ferber]
-image/png 'IANA,[Randers-Pehrson]
-image/prs.btif 'IANA,[Simon]
-image/prs.pti 'IANA,[Laun]
-image/pwg-raster 'IANA,[Sweet]
-image/svg+xml 'IANA,[W3C]
-image/t38 'IANA,RFC3362
-image/tiff 'IANA,RFC2302
-image/tiff-fx 'IANA,RFC3950
-image/vnd.adobe.photoshop 'IANA,[Scarborough]
-image/vnd.airzip.accelerator.azv 'IANA,[Clueit]
-image/vnd.cns.inf2 'IANA,[McLaughlin]
-image/vnd.dece.graphic 'IANA,[Dolan]
-image/vnd.djvu 'IANA,[Bottou]
-image/vnd.dwg 'IANA,[Moline]
-image/vnd.dxf 'IANA,[Moline]
-image/vnd.dvb.subtitle 'IANA,[Siebert],[Lagally]
-image/vnd.fastbidsheet 'IANA,[Becker]
-image/vnd.fpx 'IANA,[Spencer]
-image/vnd.fst 'IANA,[Fuldseth]
-image/vnd.fujixerox.edmics-mmr 'IANA,[Onda]
-image/vnd.fujixerox.edmics-rlc 'IANA,[Onda]
-image/vnd.globalgraphics.pgb 'IANA,[Bailey]
-image/vnd.microsoft.icon 'IANA,[Butcher]
-image/vnd.mix 'IANA,[Reddy]
-image/vnd.ms-modi 'IANA,[Vaughan]
-image/vnd.net-fpx 'IANA,[Spencer]
-image/vnd.radiance 'IANA,[Fritz],[GWard]
-image/vnd.sealed.png 'IANA,[Petersen]
-image/vnd.sealedmedia.softseal.gif 'IANA,[Petersen]
-image/vnd.sealedmedia.softseal.jpg 'IANA,[Petersen]
-image/vnd.svf 'IANA,[Moline]
-image/vnd.wap.wbmp 'IANA,[Stark]
-image/vnd.xiff 'IANA,[S.Martin] \ No newline at end of file
diff --git a/type-lists/image.yaml b/type-lists/image.yaml
new file mode 100644
index 0000000..844422b
--- /dev/null
+++ b/type-lists/image.yaml
@@ -0,0 +1,528 @@
+---
+- !ruby/object:MIME::Type
+ content-type: image/bmp
+ encoding: base64
+ extensions:
+ - bmp
+ obsolete: true
+ use-instead:
+ - image/x-bmp
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/cgm
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Francis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/cmu-raster
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - image/x-cmu-raster
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/example
+ encoding: base64
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/fits
+ encoding: base64
+ references:
+ - IANA
+ - RFC4047
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/g3fax
+ encoding: base64
+ references:
+ - IANA
+ - RFC1494
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/gif
+ encoding: base64
+ extensions:
+ - gif
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/ief
+ encoding: base64
+ extensions:
+ - ief
+ references:
+ - IANA
+ - RFC1314
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/jp2
+ encoding: base64
+ extensions:
+ - jp2
+ - jpg2
+ references:
+ - IANA
+ - RFC3745
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/jpeg
+ encoding: base64
+ extensions:
+ - jpeg
+ - jpg
+ - jpe
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/jpm
+ encoding: base64
+ extensions:
+ - jpm
+ - jpgm
+ references:
+ - IANA
+ - RFC3745
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/jpx
+ encoding: base64
+ extensions:
+ - jpx
+ - jpf
+ references:
+ - IANA
+ - RFC3745
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/ktx
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Callow]'
+ - ! '[Khronos]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/naplps
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ferber]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/pjpeg
+ docs: Fixes a bug with IE6 and progressive JPEGs
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/png
+ encoding: base64
+ extensions:
+ - png
+ references:
+ - IANA
+ - ! '[Randers-Pehrson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/prs.btif
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Simon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/prs.pti
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Laun]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/pwg-raster
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Sweet]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/svg+xml
+ encoding: 8bit
+ extensions:
+ - svg
+ - svgz
+ references:
+ - IANA
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/t38
+ encoding: base64
+ references:
+ - IANA
+ - RFC3362
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/targa
+ encoding: base64
+ extensions:
+ - tga
+ obsolete: true
+ use-instead:
+ - image/x-targa
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/tiff
+ encoding: base64
+ extensions:
+ - tiff
+ - tif
+ references:
+ - IANA
+ - RFC2302
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/tiff-fx
+ encoding: base64
+ references:
+ - IANA
+ - RFC3950
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.adobe.photoshop
+ encoding: base64
+ extensions:
+ - psd
+ references:
+ - IANA
+ - ! '[Scarborough]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.airzip.accelerator.azv
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Clueit]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.cns.inf2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[McLaughlin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.dece.graphic
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.dgn
+ encoding: base64
+ extensions:
+ - dgn
+ obsolete: true
+ use-instead:
+ - image/x-vnd.dgn
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/vnd.djvu
+ encoding: base64
+ extensions:
+ - djvu
+ - djv
+ references:
+ - IANA
+ - ! '[Bottou]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.dvb.subtitle
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Siebert]'
+ - ! '[Lagally]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.dwg
+ encoding: base64
+ extensions:
+ - dwg
+ references:
+ - IANA
+ - ! '[Moline]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.dxf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Moline]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.fastbidsheet
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Becker]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.fpx
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Spencer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.fst
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fuldseth]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.fujixerox.edmics-mmr
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Onda]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.fujixerox.edmics-rlc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Onda]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.globalgraphics.pgb
+ encoding: base64
+ extensions:
+ - pgb
+ references:
+ - IANA
+ - ! '[Bailey]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.microsoft.icon
+ encoding: base64
+ extensions:
+ - ico
+ references:
+ - IANA
+ - ! '[Butcher]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.mix
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Reddy]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.ms-modi
+ encoding: base64
+ extensions:
+ - mdi
+ references:
+ - IANA
+ - ! '[Vaughan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.net-fpx
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Spencer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.net.fpx
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - image/vnd.net-fpx
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/vnd.radiance
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fritz]'
+ - ! '[GWard]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.sealed.png
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.sealedmedia.softseal.gif
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.sealedmedia.softseal.jpg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.svf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Moline]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.wap.wbmp
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Stark]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/vnd.xiff
+ encoding: base64
+ references:
+ - IANA
+ - ! '[S.Martin]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: image/webp
+ encoding: base64
+ extensions:
+ - webp
+ references:
+ - ! '{WebP=https://developers.google.com/speed/webp/}'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-bmp
+ encoding: base64
+ extensions:
+ - bmp
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-cmu-raster
+ encoding: base64
+ extensions:
+ - ras
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-compressed-xcf
+ docs: see-also:image/x-xcf
+ encoding: base64
+ extensions:
+ - xcfbz2
+ - xcfgz
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-hasselblad-3fr
+ encoding: base64
+ extensions:
+ - 3fr
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-paintshoppro
+ encoding: base64
+ extensions:
+ - psp
+ - pspimage
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-pict
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-portable-anymap
+ encoding: base64
+ extensions:
+ - pnm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-portable-bitmap
+ encoding: base64
+ extensions:
+ - pbm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-portable-graymap
+ encoding: base64
+ extensions:
+ - pgm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-portable-pixmap
+ encoding: base64
+ extensions:
+ - ppm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-rgb
+ encoding: base64
+ extensions:
+ - rgb
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-targa
+ encoding: base64
+ extensions:
+ - tga
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-vnd.dgn
+ encoding: base64
+ extensions:
+ - dgn
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-win-bmp
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-xbitmap
+ encoding: 7bit
+ extensions:
+ - xbm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-xbm
+ encoding: 7bit
+ extensions:
+ - xbm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-xcf
+ encoding: base64
+ extensions:
+ - xcf
+ references:
+ - ! '{XCF=http://git.gnome.org/browse/gimp/tree/devel-docs/xcf.txt}'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-xpixmap
+ encoding: 8bit
+ extensions:
+ - xpm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: image/x-xwindowdump
+ encoding: base64
+ extensions:
+ - xwd
+ registered: false
diff --git a/type-lists/message.txt b/type-lists/message.txt
deleted file mode 100644
index bec8bc2..0000000
--- a/type-lists/message.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-message/CPIM 'IANA,RFC3862
-message/delivery-status 'IANA,RFC1894
-message/disposition-notification 'IANA,RFC3798
-message/example 'IANA,RFC4735
-message/external-body 'IANA,RFC2045,RFC2046
-message/feedback-report 'IANA,RFC5965
-message/global 'IANA,RFC6532
-message/global-delivery-status 'IANA,RFC6533
-message/global-disposition-notification 'IANA,RFC6533
-message/global-headers 'IANA,RFC6533
-message/http 'IANA,RFC2616
-message/imdn+xml 'IANA,RFC5438
-message/news (OBSOLETE) 'IANA,RFC5537,[H.Spencer]
-message/partial 'IANA,RFC2045,RFC2046
-message/rfc822 'IANA,RFC2045,RFC2046
-message/s-http 'IANA,RFC2660
-message/sip 'IANA,RFC3261
-message/sipfrag 'IANA,RFC3420
-message/tracking-status 'IANA,RFC3886
-message/vnd.si.simp (OBSOLETE) 'IANA,[Parks Young=ParksYoung] \ No newline at end of file
diff --git a/type-lists/message.yaml b/type-lists/message.yaml
new file mode 100644
index 0000000..351c02c
--- /dev/null
+++ b/type-lists/message.yaml
@@ -0,0 +1,156 @@
+---
+- !ruby/object:MIME::Type
+ content-type: message/CPIM
+ encoding: base64
+ references:
+ - IANA
+ - RFC3862
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/delivery-status
+ encoding: base64
+ references:
+ - IANA
+ - RFC1894
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/disposition-notification
+ encoding: base64
+ references:
+ - IANA
+ - RFC3798
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/example
+ encoding: base64
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/external-body
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/feedback-report
+ encoding: base64
+ references:
+ - IANA
+ - RFC5965
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/global
+ encoding: base64
+ references:
+ - IANA
+ - RFC6532
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/global-delivery-status
+ encoding: base64
+ references:
+ - IANA
+ - RFC6533
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/global-disposition-notification
+ encoding: base64
+ references:
+ - IANA
+ - RFC6533
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/global-headers
+ encoding: base64
+ references:
+ - IANA
+ - RFC6533
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/http
+ encoding: base64
+ references:
+ - IANA
+ - RFC2616
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/imdn+xml
+ encoding: base64
+ references:
+ - IANA
+ - RFC5438
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/news
+ encoding: 8bit
+ obsolete: true
+ references:
+ - IANA
+ - RFC5537
+ - ! '[H.Spencer]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/partial
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/rfc822
+ encoding: 8bit
+ extensions:
+ - eml
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/s-http
+ encoding: base64
+ references:
+ - IANA
+ - RFC2660
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/sip
+ encoding: base64
+ references:
+ - IANA
+ - RFC3261
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/sipfrag
+ encoding: base64
+ references:
+ - IANA
+ - RFC3420
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/tracking-status
+ encoding: base64
+ references:
+ - IANA
+ - RFC3886
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/vnd.si.simp
+ encoding: base64
+ obsolete: true
+ references:
+ - IANA
+ - ! '[Parks Young=ParksYoung]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: message/vnd.wfa.wsc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Conley]'
+ registered: true
diff --git a/type-lists/model.txt b/type-lists/model.txt
deleted file mode 100644
index a901b64..0000000
--- a/type-lists/model.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-model/example 'IANA,RFC4735
-model/iges 'IANA,[Parks]
-model/mesh 'IANA,RFC2077
-model/vnd.collada+xml 'IANA,[Riordon]
-model/vnd.dwf 'IANA,[Pratt]
-model/vnd.flatland.3dml 'IANA,[Powers]
-model/vnd.gdl 'IANA,[Babits]
-model/vnd.gs-gdl 'IANA,[Babits]
-model/vnd.gtw 'IANA,[Ozaki]
-model/vnd.moml+xml 'IANA,[Brooks]
-model/vnd.mts 'IANA,[Rabinovitch]
-model/vnd.parasolid.transmit.binary 'IANA,[Parasolid]
-model/vnd.parasolid.transmit.text 'IANA,[Parasolid]
-model/vnd.vtu 'IANA,[Rabinovitch]
-model/vrml 'IANA,RFC2077 \ No newline at end of file
diff --git a/type-lists/model.yaml b/type-lists/model.yaml
new file mode 100644
index 0000000..47a981b
--- /dev/null
+++ b/type-lists/model.yaml
@@ -0,0 +1,122 @@
+---
+- !ruby/object:MIME::Type
+ content-type: model/example
+ encoding: base64
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/iges
+ encoding: base64
+ extensions:
+ - igs
+ - iges
+ references:
+ - IANA
+ - ! '[Parks]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/mesh
+ encoding: base64
+ extensions:
+ - msh
+ - mesh
+ - silo
+ references:
+ - IANA
+ - RFC2077
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.collada+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Riordon]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.dwf
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Pratt]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.flatland.3dml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Powers]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.gdl
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Babits]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.gs-gdl
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Babits]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.gtw
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Ozaki]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.moml+xml
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Brooks]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.mts
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rabinovitch]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.parasolid.transmit.binary
+ encoding: base64
+ extensions:
+ - x_b
+ - xmt_bin
+ references:
+ - IANA
+ - ! '[Parasolid]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.parasolid.transmit.text
+ encoding: quoted-printable
+ extensions:
+ - x_t
+ - xmt_txt
+ references:
+ - IANA
+ - ! '[Parasolid]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vnd.vtu
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rabinovitch]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: model/vrml
+ encoding: base64
+ extensions:
+ - wrl
+ - vrml
+ references:
+ - IANA
+ - RFC2077
+ registered: true
diff --git a/type-lists/multipart.txt b/type-lists/multipart.txt
deleted file mode 100644
index 4e3db3c..0000000
--- a/type-lists/multipart.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-multipart/alternative 'IANA,RFC2045,RFC2046
-multipart/appledouble 'IANA,[Faltstrom]
-multipart/byteranges 'IANA,RFC2616
-multipart/digest 'IANA,RFC2045,RFC2046
-multipart/encrypted 'IANA,RFC1847
-multipart/example 'IANA,RFC4735
-multipart/form-data 'IANA,RFC2388
-multipart/header-set 'IANA,[Crocker]
-multipart/mixed 'IANA,RFC2045,RFC2046
-multipart/parallel 'IANA,RFC2045,RFC2046
-multipart/related 'IANA,RFC2387
-multipart/report 'IANA,RFC6522
-multipart/signed 'IANA,RFC1847
-multipart/voice-message 'IANA,RFC2421,RFC2423 \ No newline at end of file
diff --git a/type-lists/multipart.yaml b/type-lists/multipart.yaml
new file mode 100644
index 0000000..7814c16
--- /dev/null
+++ b/type-lists/multipart.yaml
@@ -0,0 +1,139 @@
+---
+- !ruby/object:MIME::Type
+ content-type: multipart/alternative
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/appledouble
+ encoding: 8bit
+ references:
+ - IANA
+ - ! '[Faltstrom]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/byteranges
+ encoding: base64
+ references:
+ - IANA
+ - RFC2616
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/digest
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/encrypted
+ encoding: base64
+ references:
+ - IANA
+ - RFC1847
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/example
+ encoding: base64
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/form-data
+ encoding: base64
+ references:
+ - IANA
+ - RFC2388
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/header-set
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Crocker]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/mixed
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/parallel
+ encoding: 8bit
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/related
+ encoding: base64
+ references:
+ - IANA
+ - RFC2387
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/report
+ encoding: base64
+ references:
+ - IANA
+ - RFC6522
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/signed
+ encoding: base64
+ references:
+ - IANA
+ - RFC1847
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/voice-message
+ encoding: base64
+ references:
+ - IANA
+ - RFC2421
+ - RFC2423
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/x-gzip
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: multipart/x-mixed-replace
+ encoding: base64
+ references:
+ - ! '{HTML5=http://www.w3.org/TR/html5/iana.html#multipart/x-mixed-replace}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: multipart/x-parallel
+ encoding: base64
+ obsolete: true
+ use-instead:
+ - multipart/parallel
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: multipart/x-tar
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: multipart/x-ustar
+ encoding: base64
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: multipart/x-www-form-urlencoded
+ encoding: base64
+ obsolete: true
+ use-instead: application/x-www-form-urlencoded
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: multipart/x-zip
+ encoding: base64
+ registered: false
diff --git a/type-lists/text.txt b/type-lists/text.txt
deleted file mode 100644
index 256dd14..0000000
--- a/type-lists/text.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-text/1d-interleaved-parityfec 'IANA,RFC6015
-text/calendar 'IANA,RFC5545
-text/css 'IANA,RFC2318
-text/csv 'IANA,RFC4180
-text/directory (deprecated) 'IANA,RFC2425,RFC6350
-text/dns 'IANA,RFC4027
-text/ecmascript (obsolete) 'IANA,RFC4329
-text/encaprtp 'IANA,RFC6849
-text/enriched 'IANA,RFC1896
-text/example 'IANA,RFC4735
-text/fwdred 'IANA,RFC6354
-text/grammar-ref-list 'IANA,RFC6787
-text/html 'IANA,[Michael Smith=MSmith],[W3C]
-text/javascript (obsolete) 'IANA,RFC4329
-text/jcr-cnd 'IANA,[Piegaze]
-text/mizar 'IANA,[Jesse Alama=Jesse_Alama]
-text/n3 'IANA,[Prud'hommeaux=Prudhommeaux],[W3C]
-text/parityfec 'IANA,RFC5109
-text/plain 'IANA,RFC2046,RFC3676,RFC5147
-text/provenance-notation 'IANA,[Herman],[W3C]
-text/prs.fallenstein.rst 'IANA,[Fallenstein]
-text/prs.lines.tag 'IANA,[Lines]
-text/raptorfec 'IANA,RFC6682
-text/RED 'IANA,RFC4102
-text/rfc822-headers 'IANA,RFC6522
-text/richtext 'IANA,RFC2045,RFC2046
-text/rtf 'IANA,[Lindner]
-text/rtp-enc-aescm128 'IANA,[3GPP]
-text/rtploopback 'IANA,RFC6849
-text/rtx 'IANA,RFC4588
-text/sgml 'IANA,RFC1874
-text/t140 'IANA,RFC4103
-text/tab-separated-values 'IANA,[Lindner]
-text/troff 'IANA,RFC4263
-text/turtle 'IANA,[Prud'hommeaux=Prudhommeaux],[W3C]
-text/ulpfec 'IANA,RFC5109
-text/uri-list 'IANA,RFC2483
-text/vcard 'IANA,RFC6350
-text/vnd.abc 'IANA,[Allen]
-text/vnd.curl 'IANA,[Byrnes]
-text/vnd.debian.copyright 'IANA,[Plessy]
-text/vnd.DMClientScript 'IANA,[Bradley]
-text/vnd.dvb.subtitle 'IANA,[Siebert],[Lagally]
-text/vnd.esmertec.theme-descriptor 'IANA,[Eilemann]
-text/vnd.fly 'IANA,[Gurney]
-text/vnd.fmi.flexstor 'IANA,[Hurtta]
-text/vnd.graphviz 'IANA,[Ellson]
-text/vnd.in3d.3dml 'IANA,[Powers]
-text/vnd.in3d.spot 'IANA,[Powers]
-text/vnd.IPTC.NewsML 'IANA,[IPTC]
-text/vnd.IPTC.NITF 'IANA,[IPTC]
-text/vnd.latex-z 'IANA,[Lubos]
-text/vnd.motorola.reflex 'IANA,[Patton]
-text/vnd.ms-mediapackage 'IANA,[Nelson]
-text/vnd.net2phone.commcenter.command 'IANA,[Xie]
-text/vnd.radisys.msml-basic-layout 'IANA,RFC5707
-text/vnd.si.uricatalogue (OBSOLETE) 'IANA,[Parks Young=ParksYoung]
-text/vnd.sun.j2me.app-descriptor 'IANA,[G.Adams]
-text/vnd.trolltech.linguist 'IANA,[D.Lambert]
-text/vnd.wap.si 'IANA,[WAP-Forum]
-text/vnd.wap.sl 'IANA,[WAP-Forum]
-text/vnd.wap.wml 'IANA,[Stark]
-text/vnd.wap.wmlscript 'IANA,[Stark]
-text/xml 'IANA,RFC3023
-text/xml-external-parsed-entity 'IANA,RFC3023 \ No newline at end of file
diff --git a/type-lists/text.yaml b/type-lists/text.yaml
new file mode 100644
index 0000000..6aec55a
--- /dev/null
+++ b/type-lists/text.yaml
@@ -0,0 +1,615 @@
+---
+- !ruby/object:MIME::Type
+ content-type: text/1d-interleaved-parityfec
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6015
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/cache-manifest
+ encoding: quoted-printable
+ extensions:
+ - appcache
+ - manifest
+ references:
+ - ! '{HTML5=http://www.w3.org/TR/html5/iana.html#text/cache-manifest}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/calendar
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC5545
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/comma-separated-values
+ encoding: 8bit
+ extensions:
+ - csv
+ obsolete: true
+ use-instead:
+ - text/csv
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/css
+ encoding: 8bit
+ extensions:
+ - css
+ references:
+ - IANA
+ - RFC2318
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/csv
+ encoding: 8bit
+ extensions:
+ - csv
+ references:
+ - IANA
+ - RFC4180
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/directory
+ encoding: quoted-printable
+ obsolete: true
+ references:
+ - IANA
+ - RFC2425
+ - RFC6350
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/dns
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC4027
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/ecmascript
+ encoding: quoted-printable
+ obsolete: true
+ references:
+ - IANA
+ - RFC4329
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/encaprtp
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/enriched
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC1896
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/example
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/fwdred
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6354
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/grammar-ref-list
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6787
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/html
+ encoding: 8bit
+ extensions:
+ - html
+ - htm
+ - htmlx
+ - shtml
+ - htx
+ references:
+ - IANA
+ - ! '[Michael Smith=MSmith]'
+ - ! '[W3C]'
+ - ! '{HTML5=http://www.w3.org/TR/html5/iana.html#text/html}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/javascript
+ encoding: quoted-printable
+ extensions:
+ - js
+ obsolete: true
+ references:
+ - IANA
+ - RFC4329
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/jcr-cnd
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Piegaze]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/mizar
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Jesse Alama=Jesse_Alama]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/n3
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Prud''hommeaux=Prudhommeaux]'
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/parityfec
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/plain
+ encoding: 8bit
+ extensions:
+ - doc
+ registered: false
+ system: !ruby/regexp /(?-mix:vms)/
+- !ruby/object:MIME::Type
+ content-type: text/plain
+ encoding: quoted-printable
+ extensions:
+ - txt
+ - asc
+ - c
+ - cc
+ - h
+ - hh
+ - cpp
+ - hpp
+ - dat
+ - hlp
+ - md
+ - markdown
+ - rst
+ - textile
+ references:
+ - IANA
+ - RFC2046
+ - RFC3676
+ - RFC5147
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/provenance-notation
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Herman]'
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/prs.fallenstein.rst
+ encoding: quoted-printable
+ extensions:
+ - rst
+ references:
+ - IANA
+ - ! '[Fallenstein]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/prs.lines.tag
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Lines]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/raptorfec
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6682
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/RED
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC4102
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/rfc822-headers
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6522
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/richtext
+ encoding: 8bit
+ extensions:
+ - rtx
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/rtf
+ encoding: 8bit
+ extensions:
+ - rtf
+ references:
+ - IANA
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/rtp-enc-aescm128
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/rtploopback
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/rtx
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC4588
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/sgml
+ encoding: quoted-printable
+ extensions:
+ - sgml
+ - sgm
+ references:
+ - IANA
+ - RFC1874
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/t140
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC4103
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/tab-separated-values
+ encoding: quoted-printable
+ extensions:
+ - tsv
+ references:
+ - IANA
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/troff
+ encoding: 8bit
+ extensions:
+ - t
+ - tr
+ - roff
+ - troff
+ references:
+ - IANA
+ - RFC4263
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/turtle
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Prud''hommeaux=Prudhommeaux]'
+ - ! '[W3C]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/ulpfec
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/uri-list
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC2483
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vcard
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC6350
+ registered: true
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.abc
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Allen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.curl
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Byrnes]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.debian.copyright
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Plessy]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.DMClientScript
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Bradley]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.dvb.subtitle
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Siebert]'
+ - ! '[Lagally]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.esmertec.theme-descriptor
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Eilemann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.flatland.3dml
+ encoding: quoted-printable
+ obsolete: true
+ use-instead:
+ - model/vnd.flatland.3dml
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/vnd.fly
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Gurney]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.fmi.flexstor
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Hurtta]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.graphviz
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Ellson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.in3d.3dml
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Powers]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.in3d.spot
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Powers]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.IPTC.NewsML
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[IPTC]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.IPTC.NITF
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[IPTC]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.latex-z
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Lubos]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.motorola.reflex
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Patton]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.ms-mediapackage
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[Nelson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.net2phone.commcenter.command
+ encoding: quoted-printable
+ extensions:
+ - ccc
+ references:
+ - IANA
+ - ! '[Xie]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.radisys.msml-basic-layout
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC5707
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.si.uricatalogue
+ encoding: quoted-printable
+ obsolete: true
+ references:
+ - IANA
+ - ! '[Parks Young=ParksYoung]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.sun.j2me.app-descriptor
+ encoding: 8bit
+ extensions:
+ - jad
+ references:
+ - IANA
+ - ! '[G.Adams]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.trolltech.linguist
+ encoding: quoted-printable
+ references:
+ - IANA
+ - ! '[D.Lambert]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.wap.si
+ encoding: quoted-printable
+ extensions:
+ - si
+ references:
+ - IANA
+ - ! '[WAP-Forum]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.wap.sl
+ encoding: quoted-printable
+ extensions:
+ - sl
+ references:
+ - IANA
+ - ! '[WAP-Forum]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.wap.wml
+ encoding: quoted-printable
+ extensions:
+ - wml
+ references:
+ - IANA
+ - ! '[Stark]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/vnd.wap.wmlscript
+ encoding: quoted-printable
+ extensions:
+ - wmls
+ references:
+ - IANA
+ - ! '[Stark]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/x-coffescript
+ encoding: 8bit
+ extensions:
+ - coffee
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/x-component
+ encoding: 8bit
+ extensions:
+ - htc
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/x-rtf
+ encoding: 8bit
+ extensions:
+ - rtf
+ obsolete: true
+ use-instead:
+ - text/rtf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/x-setext
+ encoding: quoted-printable
+ extensions:
+ - etx
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/x-vcalendar
+ encoding: 8bit
+ extensions:
+ - vcs
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/x-vcard
+ encoding: 8bit
+ extensions:
+ - vcf
+ registered: false
+ signature: true
+- !ruby/object:MIME::Type
+ content-type: text/x-vnd.flatland.3dml
+ encoding: quoted-printable
+ obsolete: true
+ use-instead:
+ - model/vnd.flatland.3dml
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/x-yaml
+ encoding: 8bit
+ extensions:
+ - yaml
+ - yml
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: text/xml
+ encoding: 8bit
+ extensions:
+ - xml
+ - dtd
+ references:
+ - IANA
+ - RFC3023
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: text/xml-external-parsed-entity
+ encoding: quoted-printable
+ references:
+ - IANA
+ - RFC3023
+ registered: true
diff --git a/type-lists/video.txt b/type-lists/video.txt
deleted file mode 100644
index 7303088..0000000
--- a/type-lists/video.txt
+++ /dev/null
@@ -1,75 +0,0 @@
-video/1d-interleaved-parityfec 'IANA,RFC6015
-video/3gpp 'IANA,RFC3839,RFC6381
-video/3gpp2 'IANA,RFC4393,RFC6381
-video/3gpp-tt 'IANA,RFC4396
-video/BMPEG 'IANA,RFC3555
-video/BT656 'IANA,RFC3555
-video/CelB 'IANA,RFC3555
-video/DV 'IANA,RFC6469
-video/encaprtp 'IANA,RFC6849
-video/example 'IANA,RFC4735
-video/H261 'IANA,RFC4587
-video/H263 'IANA,RFC3555
-video/H263-1998 'IANA,RFC4629
-video/H263-2000 'IANA,RFC4629
-video/H264 'IANA,RFC6184
-video/H264-RCDO 'IANA,RFC6185
-video/H264-SVC 'IANA,RFC6190
-video/JPEG 'IANA,RFC3555
-video/jpeg2000 'IANA,RFC5371,RFC5372
-video/MJ2 'IANA,RFC3745
-video/MP1S 'IANA,RFC3555
-video/MP2P 'IANA,RFC3555
-video/MP2T 'IANA,RFC3555
-video/mp4 'IANA,RFC4337,RFC6381
-video/MP4V-ES 'IANA,RFC6416
-video/MPV 'IANA,RFC3555
-video/mpeg 'IANA,RFC2045,RFC2046
-video/mpeg4-generic 'IANA,RFC3640
-video/nv 'IANA,RFC4856
-video/ogg 'IANA,RFC5334
-video/parityfec 'IANA,RFC5109
-video/pointer 'IANA,RFC2862
-video/quicktime 'IANA,RFC6381,[Lindner]
-video/raptorfec 'IANA,RFC6682
-video/raw 'IANA,RFC4175
-video/rtp-enc-aescm128 'IANA,[3GPP]
-video/rtploopback 'IANA,RFC6849
-video/rtx 'IANA,RFC4588
-video/SMPTE292M 'IANA,RFC3497
-video/ulpfec 'IANA,RFC5109
-video/vc1 'IANA,RFC4425
-video/vnd.CCTV 'IANA,[Rottmann]
-video/vnd.dece.hd 'IANA,[Dolan]
-video/vnd.dece.mobile 'IANA,[Dolan]
-video/vnd.dece.mp4 'IANA,[Dolan]
-video/vnd.dece.pd 'IANA,[Dolan]
-video/vnd.dece.sd 'IANA,[Dolan]
-video/vnd.dece.video 'IANA,[Dolan]
-video/vnd.directv.mpeg 'IANA,[Zerbe]
-video/vnd.directv.mpeg-tts 'IANA,[Zerbe]
-video/vnd.dlna.mpeg-tts 'IANA,[Heredia]
-video/vnd.dvb.file 'IANA,[Siebert],[Murray]
-video/vnd.fvt 'IANA,[Fuldseth]
-video/vnd.hns.video 'IANA,[Swaminathan]
-video/vnd.iptvforum.1dparityfec-1010 'IANA,[Nakamura]
-video/vnd.iptvforum.1dparityfec-2005 'IANA,[Nakamura]
-video/vnd.iptvforum.2dparityfec-1010 'IANA,[Nakamura]
-video/vnd.iptvforum.2dparityfec-2005 'IANA,[Nakamura]
-video/vnd.iptvforum.ttsavc 'IANA,[Nakamura]
-video/vnd.iptvforum.ttsmpeg2 'IANA,[Nakamura]
-video/vnd.motorola.video 'IANA,[McGinty]
-video/vnd.motorola.videop 'IANA,[McGinty]
-video/vnd.mpegurl 'IANA,[Recktenwald]
-video/vnd.ms-playready.media.pyv 'IANA,[DiAcetis]
-video/vnd.nokia.interleaved-multimedia 'IANA,[Kangaslampi]
-video/vnd.nokia.videovoip 'IANA,[Nokia]
-video/vnd.objectvideo 'IANA,[Clark]
-video/vnd.radgamettools.bink 'IANA,[Andersson]
-video/vnd.radgamettools.smacker 'IANA,[Andersson]
-video/vnd.sealed.mpeg1 'IANA,[Petersen]
-video/vnd.sealed.mpeg4 'IANA,[Petersen]
-video/vnd.sealed.swf 'IANA,[Petersen]
-video/vnd.sealedmedia.softseal.mov 'IANA,[Petersen]
-video/vnd.uvvu.mp4 'IANA,[Dolan]
-video/vnd.vivo 'IANA,[Wolfe]
diff --git a/type-lists/video.yaml b/type-lists/video.yaml
new file mode 100644
index 0000000..f563663
--- /dev/null
+++ b/type-lists/video.yaml
@@ -0,0 +1,711 @@
+---
+- !ruby/object:MIME::Type
+ content-type: video/1d-interleaved-parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6015
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/3gpp
+ encoding: base64
+ extensions:
+ - 3gp
+ - 3gpp
+ references:
+ - IANA
+ - RFC3839
+ - RFC6381
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/3gpp-tt
+ encoding: base64
+ references:
+ - IANA
+ - RFC4396
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/3gpp2
+ encoding: base64
+ extensions:
+ - 3g2
+ - 3gpp2
+ references:
+ - IANA
+ - RFC4393
+ - RFC6381
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/BMPEG
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/BT656
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/CelB
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/dl
+ encoding: base64
+ extensions:
+ - dl
+ obsolete: true
+ use-instead:
+ - video/x-dl
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/DV
+ encoding: base64
+ references:
+ - IANA
+ - RFC6469
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/encaprtp
+ encoding: base64
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/example
+ encoding: base64
+ references:
+ - IANA
+ - RFC4735
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/gl
+ encoding: base64
+ extensions:
+ - gl
+ obsolete: true
+ use-instead:
+ - video/x-gl
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/H261
+ encoding: base64
+ references:
+ - IANA
+ - RFC4587
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/H263
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/H263-1998
+ encoding: base64
+ references:
+ - IANA
+ - RFC4629
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/H263-2000
+ encoding: base64
+ references:
+ - IANA
+ - RFC4629
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/H264
+ encoding: base64
+ references:
+ - IANA
+ - RFC6184
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/H264-RCDO
+ encoding: base64
+ references:
+ - IANA
+ - RFC6185
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/H264-SVC
+ encoding: base64
+ references:
+ - IANA
+ - RFC6190
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/JPEG
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/jpeg2000
+ encoding: base64
+ references:
+ - IANA
+ - RFC5371
+ - RFC5372
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/MJ2
+ encoding: base64
+ extensions:
+ - mj2
+ - mjp2
+ references:
+ - IANA
+ - RFC3745
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/MP1S
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/MP2P
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/MP2T
+ encoding: base64
+ extensions:
+ - ts
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/mp4
+ encoding: base64
+ extensions:
+ - mp4
+ - mpg4
+ - f4v
+ - f4p
+ references:
+ - IANA
+ - RFC4337
+ - RFC6381
+ - ! '{Adobe=http://www.kaourantin.net/2007/10/new-file-extensions-and-mime-types.html}'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/MP4V-ES
+ encoding: base64
+ references:
+ - IANA
+ - RFC6416
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/mpeg
+ encoding: base64
+ extensions:
+ - mp2
+ - mp3g
+ - mpe
+ - mpeg
+ - mpg
+ references:
+ - IANA
+ - RFC2045
+ - RFC2046
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/mpeg4-generic
+ encoding: base64
+ references:
+ - IANA
+ - RFC3640
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/MPV
+ encoding: base64
+ references:
+ - IANA
+ - RFC3555
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/nv
+ encoding: base64
+ references:
+ - IANA
+ - RFC4856
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/ogg
+ encoding: base64
+ extensions:
+ - ogg
+ - ogv
+ references:
+ - IANA
+ - RFC5334
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/parityfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/pointer
+ encoding: base64
+ references:
+ - IANA
+ - RFC2862
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/quicktime
+ encoding: base64
+ extensions:
+ - qt
+ - mov
+ references:
+ - IANA
+ - RFC6381
+ - ! '[Lindner]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/raptorfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC6682
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/raw
+ encoding: base64
+ references:
+ - IANA
+ - RFC4175
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/rtp-enc-aescm128
+ encoding: base64
+ references:
+ - IANA
+ - ! '[3GPP]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/rtploopback
+ encoding: base64
+ references:
+ - IANA
+ - RFC6849
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/rtx
+ encoding: base64
+ references:
+ - IANA
+ - RFC4588
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/SMPTE292M
+ encoding: base64
+ references:
+ - IANA
+ - RFC3497
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/ulpfec
+ encoding: base64
+ references:
+ - IANA
+ - RFC5109
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vc1
+ encoding: base64
+ references:
+ - IANA
+ - RFC4425
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.CCTV
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Rottmann]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dece.hd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dece.mobile
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dece.mp4
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dece.pd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dece.sd
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dece.video
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.directv.mpeg
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zerbe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.directv.mpeg-tts
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Zerbe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dlna.mpeg-tts
+ encoding: base64
+ obsolete: true
+ references:
+ - IANA
+ - ! '[Heredia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dlna.mpeg-tts
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Heredia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.dvb.file
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Siebert]'
+ - ! '[Murray]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.fvt
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Fuldseth]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.hns.video
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Swaminathan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.iptvforum.1dparityfec-1010
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nakamura]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.iptvforum.1dparityfec-2005
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nakamura]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.iptvforum.2dparityfec-1010
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nakamura]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.iptvforum.2dparityfec-2005
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nakamura]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.iptvforum.ttsavc
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nakamura]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.iptvforum.ttsmpeg2
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nakamura]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.motorola.video
+ encoding: base64
+ references:
+ - IANA
+ - ! '[McGinty]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.motorola.videop
+ encoding: base64
+ references:
+ - IANA
+ - ! '[McGinty]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.mpegurl
+ encoding: 8bit
+ extensions:
+ - mxu
+ - m4u
+ references:
+ - IANA
+ - ! '[Recktenwald]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.ms-playready.media.pyv
+ encoding: base64
+ references:
+ - IANA
+ - ! '[DiAcetis]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.nokia.interleaved-multimedia
+ encoding: base64
+ extensions:
+ - nim
+ references:
+ - IANA
+ - ! '[Kangaslampi]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.nokia.videovoip
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Nokia]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.objectvideo
+ encoding: base64
+ extensions:
+ - mp4
+ - m4v
+ references:
+ - IANA
+ - ! '[Clark]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.radgamettools.bink
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.radgamettools.smacker
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Andersson]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.sealed.mpeg1
+ encoding: base64
+ extensions:
+ - s11
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.sealed.mpeg4
+ encoding: base64
+ extensions:
+ - smpg
+ - s14
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.sealed.swf
+ encoding: base64
+ extensions:
+ - sswf
+ - ssw
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.sealedmedia.softseal.mov
+ encoding: base64
+ extensions:
+ - smov
+ - smo
+ - s1q
+ references:
+ - IANA
+ - ! '[Petersen]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.uvvu.mp4
+ encoding: base64
+ references:
+ - IANA
+ - ! '[Dolan]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/vnd.vivo
+ encoding: base64
+ extensions:
+ - viv
+ - vivo
+ references:
+ - IANA
+ - ! '[Wolfe]'
+ registered: true
+- !ruby/object:MIME::Type
+ content-type: video/webm
+ encoding: base64
+ extensions:
+ - webm
+ references:
+ - ! '{WebM=http://www.webmproject.org/code/specs/container/}'
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-dl
+ encoding: base64
+ extensions:
+ - dl
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-dv
+ encoding: base64
+ extensions:
+ - dv
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-fli
+ encoding: base64
+ extensions:
+ - fli
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-flv
+ encoding: base64
+ extensions:
+ - flv
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-gl
+ encoding: base64
+ extensions:
+ - gl
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-ivf
+ encoding: base64
+ extensions:
+ - ivf
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-matroska
+ encoding: base64
+ extensions:
+ - mkv
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-motion-jpeg
+ encoding: base64
+ extensions:
+ - mjpg
+ - mjpeg
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-ms-asf
+ encoding: base64
+ extensions:
+ - asf
+ - asx
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-ms-wm
+ encoding: base64
+ extensions:
+ - wm
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-ms-wmv
+ encoding: base64
+ extensions:
+ - wmv
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-ms-wmx
+ encoding: base64
+ extensions:
+ - wmx
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-ms-wvx
+ encoding: base64
+ extensions:
+ - wvx
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-msvideo
+ encoding: base64
+ extensions:
+ - avi
+ registered: false
+- !ruby/object:MIME::Type
+ content-type: video/x-sgi-movie
+ encoding: base64
+ extensions:
+ - movie
+ registered: false
diff --git a/type-lists/world.yaml b/type-lists/world.yaml
new file mode 100644
index 0000000..fc9bd15
--- /dev/null
+++ b/type-lists/world.yaml
@@ -0,0 +1,8 @@
+---
+- !ruby/object:MIME::Type
+ content-type: x-world/x-vrml
+ encoding: base64
+ extensions:
+ - wrl
+ - vrml
+ registered: false