plezi 0.12.22 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/LICENSE.txt +17 -18
  4. data/README.md +54 -698
  5. data/Rakefile +7 -4
  6. data/bin/config.ru +22 -0
  7. data/{test → bin}/console +4 -6
  8. data/bin/hello_world +52 -0
  9. data/bin/setup +8 -0
  10. data/exe/plezi +145 -0
  11. data/lib/plezi.rb +24 -137
  12. data/lib/plezi/activation.rb +28 -0
  13. data/lib/plezi/api.rb +62 -0
  14. data/lib/plezi/controller/controller.rb +259 -0
  15. data/lib/plezi/controller/controller_class.rb +176 -0
  16. data/lib/plezi/controller/cookies.rb +40 -0
  17. data/lib/plezi/helpers.rb +60 -0
  18. data/lib/plezi/rake.rb +2 -24
  19. data/lib/plezi/render/erb.rb +34 -0
  20. data/lib/plezi/render/has_cache.rb +36 -0
  21. data/lib/plezi/render/markdown.rb +63 -0
  22. data/lib/plezi/render/render.rb +49 -0
  23. data/lib/plezi/render/sass.rb +55 -0
  24. data/lib/plezi/render/slim.rb +33 -0
  25. data/lib/plezi/router/adclient.rb +23 -0
  26. data/lib/plezi/router/assets.rb +67 -0
  27. data/lib/plezi/router/errors.rb +29 -0
  28. data/lib/plezi/router/route.rb +112 -0
  29. data/lib/plezi/router/router.rb +120 -0
  30. data/lib/plezi/version.rb +1 -1
  31. data/lib/plezi/websockets/message_dispatch.rb +91 -0
  32. data/lib/plezi/websockets/redis.rb +55 -0
  33. data/plezi.gemspec +25 -16
  34. data/resources/404.erb +5 -4
  35. data/resources/500.erb +5 -4
  36. data/resources/{500.html → 503.html} +8 -9
  37. data/resources/client.js +253 -0
  38. data/resources/config.ru +5 -36
  39. data/resources/ctrlr.rb +34 -0
  40. data/resources/gemfile +4 -0
  41. data/resources/mini_app.rb +28 -82
  42. data/resources/mini_exec +7 -0
  43. data/resources/mini_welcome_page.html +0 -0
  44. data/resources/procfile +3 -0
  45. data/resources/rakefile +4 -8
  46. data/resources/routes.rb +9 -26
  47. data/resources/{websockets.js → simple-client.js} +3 -3
  48. metadata +60 -85
  49. data/bin/plezi +0 -104
  50. data/docs/async_helpers.md +0 -245
  51. data/docs/controllers.md +0 -27
  52. data/docs/logging.md +0 -49
  53. data/docs/routes.md +0 -209
  54. data/docs/websockets.md +0 -213
  55. data/lib/plezi/builders/ac_model.rb +0 -59
  56. data/lib/plezi/builders/app_builder.rb +0 -137
  57. data/lib/plezi/builders/builder.rb +0 -43
  58. data/lib/plezi/builders/form_builder.rb +0 -27
  59. data/lib/plezi/common/api.rb +0 -92
  60. data/lib/plezi/common/cache.rb +0 -122
  61. data/lib/plezi/common/defer.rb +0 -21
  62. data/lib/plezi/common/dsl.rb +0 -94
  63. data/lib/plezi/common/redis.rb +0 -65
  64. data/lib/plezi/common/renderer.rb +0 -141
  65. data/lib/plezi/common/settings.rb +0 -52
  66. data/lib/plezi/handlers/controller_core.rb +0 -106
  67. data/lib/plezi/handlers/controller_magic.rb +0 -284
  68. data/lib/plezi/handlers/http_router.rb +0 -205
  69. data/lib/plezi/handlers/placebo.rb +0 -112
  70. data/lib/plezi/handlers/route.rb +0 -216
  71. data/lib/plezi/handlers/session.rb +0 -109
  72. data/lib/plezi/handlers/stubs.rb +0 -156
  73. data/lib/plezi/handlers/ws_identity.rb +0 -253
  74. data/lib/plezi/handlers/ws_object.rb +0 -308
  75. data/lib/plezi/helpers/http_sender.rb +0 -84
  76. data/lib/plezi/helpers/magic_helpers.rb +0 -104
  77. data/lib/plezi/helpers/mime_types.rb +0 -1995
  78. data/lib/plezi/oauth.rb +0 -5
  79. data/lib/plezi/oauth/auth_controller.rb +0 -229
  80. data/logo/dark.png +0 -0
  81. data/logo/light.png +0 -0
  82. data/logo/sign.png +0 -0
  83. data/resources/404.haml +0 -121
  84. data/resources/404.html +0 -124
  85. data/resources/404.slim +0 -120
  86. data/resources/500.haml +0 -120
  87. data/resources/500.slim +0 -120
  88. data/resources/Gemfile +0 -86
  89. data/resources/code.rb +0 -8
  90. data/resources/controller.rb +0 -142
  91. data/resources/database.yml +0 -33
  92. data/resources/db_ac_config.rb +0 -59
  93. data/resources/db_dm_config.rb +0 -51
  94. data/resources/db_sequel_config.rb +0 -33
  95. data/resources/en.yml +0 -204
  96. data/resources/haml_config.rb +0 -6
  97. data/resources/i18n_config.rb +0 -14
  98. data/resources/initialize.rb +0 -49
  99. data/resources/mini_exec.rb +0 -7
  100. data/resources/oauth_config.rb +0 -24
  101. data/resources/plezi_client.js +0 -198
  102. data/resources/plezi_websockets.html +0 -47
  103. data/resources/redis_config.rb +0 -42
  104. data/resources/slim_config.rb +0 -11
  105. data/resources/welcome_page.html +0 -272
  106. data/test/dispatch +0 -58
  107. data/test/hello_world +0 -13
  108. data/test/plezi_tests.rb +0 -581
@@ -1,84 +0,0 @@
1
- module Plezi
2
- module Base
3
-
4
-
5
- # Sends common basic HTTP responses.
6
- module HTTPSender
7
- # makes sure to methods are injected to class Class
8
- class Container
9
- end
10
- # the Error Controller, for rendering error templates.
11
- class ErrorCtrl < Container
12
- include ::Plezi::Base::ControllerCore
13
- include ::Plezi::ControllerMagic
14
-
15
- def index
16
- render(response.status.to_s) ||
17
- (params[:format] && (params[:format] != 'html'.freeze) && (params[:format] = 'html'.freeze) && (response['content-type'] = nil).nil? && render(response.status.to_s)) ||
18
- ((response['content-type'.freeze] = 'text/plain'.freeze) && response.class::STATUS_CODES[response.status])
19
- end
20
- def requested_method
21
- :index
22
- end
23
- end
24
-
25
- module_function
26
-
27
- ######
28
- ## basic responses
29
- ## (error codes and static files)
30
-
31
- # sends a response for an error code, rendering the relevent file (if exists).
32
- def send_by_code request, response, code, headers = {}
33
- begin
34
- response.status = code
35
- headers.each {|k, v| response[k] = v}
36
- return ErrorCtrl.new(request, response).index
37
- rescue => e
38
- Plezi.error e
39
- end
40
- false
41
- end
42
-
43
- # attempts to send a static file by the request path (using `send_file` and `send_raw_data`).
44
- #
45
- # returns true if data was sent.
46
- def send_static_file request, response
47
- root = request[:host_settings][:public]
48
- return false unless root
49
- file_requested = request[:path].to_s.split('/'.freeze)
50
- unless file_requested.include? '..'.freeze
51
- file_requested.shift
52
- file_requested = File.join(root, *file_requested)
53
- return true if send_file request, response, file_requested
54
- return send_file request, response, File.join(file_requested, request[:host_settings][:index_file])
55
- end
56
- false
57
- end
58
-
59
- # sends a file/cacheed data if it exists. otherwise returns false.
60
- def send_file request, response, filename, status_code = 200, headers = {}
61
- if Plezi.file_exists?(filename) && !::File.directory?(filename)
62
- data = if Plezi::Cache::CACHABLE.include?(::File.extname(filename)[1..-1])
63
- Plezi.load_file(filename)
64
- else
65
- ::File.new filename, 'rb'
66
- end
67
- return send_raw_data request, response, data , MimeTypeHelper::MIME_DICTIONARY[::File.extname(filename)], status_code, headers
68
- end
69
- return false
70
- end
71
- # sends raw data through the connection. always returns true (data send).
72
- def send_raw_data request, response, data, mime, status_code = 200, headers = {}
73
- headers.each {|k, v| response[k] = v}
74
- response.status = status_code if response.status == 200 # avoid resetting a manually set status
75
- response['content-type'.freeze] = mime
76
- response['cache-control'.freeze] ||= 'public, max-age=86400'.freeze
77
- response.body = data
78
- # response['content-length'] = data.bytesize #this one is automated by the server and should be avoided to support Range requests.
79
- true
80
- end
81
- end
82
-
83
- end
84
- end
@@ -1,104 +0,0 @@
1
- module Plezi
2
-
3
- module Base
4
- # some helper methods used internally.
5
- module Helpers
6
- # a proc that allows Hashes to search for key-value pairs while also converting keys from objects to symbols and from symbols to strings.
7
- #
8
- # (key type agnostic search Hash proc)
9
- HASH_SYM_PROC = Proc.new {|h,k| k = (Symbol === k ? k.to_s : k.to_s.to_sym); h[k] if h.has_key?(k) }
10
-
11
- # tweeks a hash object to read both :symbols and strings (similar to Rails but without).
12
- def self.make_hash_accept_symbols hash
13
- @magic_hash_proc ||= Proc.new do |hs,k|
14
- if k.is_a?(Symbol) && hs.has_key?( k.to_s)
15
- hs[k.to_s]
16
- elsif k.is_a?(String) && hs.has_key?( k.to_sym)
17
- hs[k.to_sym]
18
- elsif k.is_a?(Numeric) && hs.has_key?(k.to_s.to_sym)
19
- hs[k.to_s.to_sym]
20
- end
21
- end
22
- hash.default_proc = @magic_hash_proc
23
- hash.values.each do |v|
24
- if v.is_a?(Hash)
25
- make_hash_accept_symbols v
26
- end
27
- end
28
- end
29
-
30
- # encodes URL data
31
- def self.encode_url str
32
- (str.to_s.gsub(/[^a-z0-9\*\.\_\-]/i) {|m| '%%%02x'.freeze % m.ord }).force_encoding(::Encoding::ASCII_8BIT)
33
- end
34
-
35
- # decode percent-encoded data (excluding the '+' sign for encoding).
36
- def self.form_decode s
37
- s = s.to_s.gsub(/\%[0-9a-f]{2}/i) {|m| m[1..2].to_i(16).chr}
38
- s.gsub!(/&#[0-9]{4};/i) {|m| [m[2..5].to_i].pack 'U'.freeze }
39
- s
40
- end
41
-
42
- # Adds paramaters to a Hash object, according to the Iodine's server conventions.
43
- def self.add_param_to_hash name, value, target
44
- begin
45
- c = target
46
- val = rubyfy! value
47
- a = name.chomp('[]'.freeze).split('['.freeze)
48
-
49
- a[0...-1].inject(target) do |h, n|
50
- n.chomp!(']'.freeze);
51
- n.strip!;
52
- raise "malformed parameter name for #{name}" if n.empty?
53
- n = (n.to_i.to_s == n) ? n.to_i : n.to_sym
54
- c = (h[n] ||= {})
55
- end
56
- n = a.last
57
- n.chomp!(']'); n.strip!;
58
- n = n.empty? ? nil : ( (n.to_i.to_s == n) ? n.to_i : n.to_sym )
59
- if n
60
- if c[n]
61
- c[n].is_a?(Array) ? (c[n] << val) : (c[n] = [c[n], val])
62
- else
63
- c[n] = val
64
- end
65
- else
66
- if c[n]
67
- c[n].is_a?(Array) ? (c[n] << val) : (c[n] = [c[n], val])
68
- else
69
- c[n] = [val]
70
- end
71
- end
72
- val
73
- rescue => e
74
- Iodine.error e
75
- Iodine.error "(Silent): parameters parse error for #{name} ... maybe conflicts with a different set?"
76
- target[name] = val
77
- end
78
- end
79
- # Changes String to a Ruby Object, if it's a special string...
80
- def self.rubyfy!(string)
81
- return string unless string.is_a?(String)
82
- try_utf8! string
83
- if string == 'true'.freeze
84
- string = true
85
- elsif string == 'false'.freeze
86
- string = false
87
- elsif string.to_i.to_s == string
88
- string = string.to_i
89
- end
90
- string
91
- end
92
-
93
- # re-encodes a string into UTF-8 unly when the encoding will remail valid.
94
- def self.try_utf8!(string, encoding= ::Encoding::UTF_8)
95
- return false unless string
96
- string.force_encoding(::Encoding::ASCII_8BIT) unless string.force_encoding(encoding).valid_encoding?
97
- string
98
- end
99
-
100
-
101
- end
102
- end
103
-
104
- end
@@ -1,1995 +0,0 @@
1
- module Plezi
2
- # This module holds the mime dictionary.
3
- module MimeTypeHelper
4
- # thank you Apache group (and many more), for compiling mime-type lists for me to search through.
5
- MIME_DICTIONARY = { ".123"=>"application/vnd.lotus-1-2-3".freeze,
6
- ".3dml"=>"text/vnd.in3d.3dml".freeze,
7
- ".3ds"=>"image/x-3ds".freeze,
8
- ".3g2"=>"video/3gpp2".freeze,
9
- ".3gp"=>"video/3gpp".freeze,
10
- ".7z"=>"application/x-7z-compressed".freeze,
11
- ".aab"=>"application/x-authorware-bin".freeze,
12
- ".aac"=>"audio/x-aac".freeze,
13
- ".aam"=>"application/x-authorware-map".freeze,
14
- ".aas"=>"application/x-authorware-seg".freeze,
15
- ".abw"=>"application/x-abiword".freeze,
16
- ".ac"=>"application/pkix-attr-cert".freeze,
17
- ".acc"=>"application/vnd.americandynamics.acc".freeze,
18
- ".ace"=>"application/x-ace-compressed".freeze,
19
- ".acu"=>"application/vnd.acucobol".freeze,
20
- ".acutc"=>"application/vnd.acucorp".freeze,
21
- ".adp"=>"audio/adpcm".freeze,
22
- ".aep"=>"application/vnd.audiograph".freeze,
23
- ".afm"=>"application/x-font-type1".freeze,
24
- ".afp"=>"application/vnd.ibm.modcap".freeze,
25
- ".ahead"=>"application/vnd.ahead.space".freeze,
26
- ".ai"=>"application/postscript".freeze,
27
- ".aif"=>"audio/x-aiff".freeze,
28
- ".aifc"=>"audio/x-aiff".freeze,
29
- ".aiff"=>"audio/x-aiff".freeze,
30
- ".air"=>"application/vnd.adobe.air-application-installer-package+zip".freeze,
31
- ".ait"=>"application/vnd.dvb.ait".freeze,
32
- ".ami"=>"application/vnd.amiga.ami".freeze,
33
- ".apk"=>"application/vnd.android.package-archive".freeze,
34
- ".appcache"=>"text/cache-manifest".freeze,
35
- ".application"=>"application/x-ms-application".freeze,
36
- ".apr"=>"application/vnd.lotus-approach".freeze,
37
- ".arc"=>"application/x-freearc".freeze,
38
- ".asc"=>"application/pgp-signature".freeze,
39
- ".asf"=>"video/x-ms-asf".freeze,
40
- ".asm"=>"text/x-asm".freeze,
41
- ".aso"=>"application/vnd.accpac.simply.aso".freeze,
42
- ".asx"=>"video/x-ms-asf".freeze,
43
- ".atc"=>"application/vnd.acucorp".freeze,
44
- ".atom"=>"application/atom+xml".freeze,
45
- ".atomcat"=>"application/atomcat+xml".freeze,
46
- ".atomsvc"=>"application/atomsvc+xml".freeze,
47
- ".atx"=>"application/vnd.antix.game-component".freeze,
48
- ".au"=>"audio/basic".freeze,
49
- ".avi"=>"video/x-msvideo".freeze,
50
- ".aw"=>"application/applixware".freeze,
51
- ".azf"=>"application/vnd.airzip.filesecure.azf".freeze,
52
- ".azs"=>"application/vnd.airzip.filesecure.azs".freeze,
53
- ".azw"=>"application/vnd.amazon.ebook".freeze,
54
- ".bat"=>"application/x-msdownload".freeze,
55
- ".bcpio"=>"application/x-bcpio".freeze,
56
- ".bdf"=>"application/x-font-bdf".freeze,
57
- ".bdm"=>"application/vnd.syncml.dm+wbxml".freeze,
58
- ".bed"=>"application/vnd.realvnc.bed".freeze,
59
- ".bh2"=>"application/vnd.fujitsu.oasysprs".freeze,
60
- ".bin"=>"application/octet-stream".freeze,
61
- ".blb"=>"application/x-blorb".freeze,
62
- ".blorb"=>"application/x-blorb".freeze,
63
- ".bmi"=>"application/vnd.bmi".freeze,
64
- ".bmp"=>"image/bmp".freeze,
65
- ".book"=>"application/vnd.framemaker".freeze,
66
- ".box"=>"application/vnd.previewsystems.box".freeze,
67
- ".boz"=>"application/x-bzip2".freeze,
68
- ".bpk"=>"application/octet-stream".freeze,
69
- ".btif"=>"image/prs.btif".freeze,
70
- ".bz"=>"application/x-bzip".freeze,
71
- ".bz2"=>"application/x-bzip2".freeze,
72
- ".c"=>"text/x-c".freeze,
73
- ".c11amc"=>"application/vnd.cluetrust.cartomobile-config".freeze,
74
- ".c11amz"=>"application/vnd.cluetrust.cartomobile-config-pkg".freeze,
75
- ".c4d"=>"application/vnd.clonk.c4group".freeze,
76
- ".c4f"=>"application/vnd.clonk.c4group".freeze,
77
- ".c4g"=>"application/vnd.clonk.c4group".freeze,
78
- ".c4p"=>"application/vnd.clonk.c4group".freeze,
79
- ".c4u"=>"application/vnd.clonk.c4group".freeze,
80
- ".cab"=>"application/vnd.ms-cab-compressed".freeze,
81
- ".caf"=>"audio/x-caf".freeze,
82
- ".cap"=>"application/vnd.tcpdump.pcap".freeze,
83
- ".car"=>"application/vnd.curl.car".freeze,
84
- ".cat"=>"application/vnd.ms-pki.seccat".freeze,
85
- ".cb7"=>"application/x-cbr".freeze,
86
- ".cba"=>"application/x-cbr".freeze,
87
- ".cbr"=>"application/x-cbr".freeze,
88
- ".cbt"=>"application/x-cbr".freeze,
89
- ".cbz"=>"application/x-cbr".freeze,
90
- ".cc"=>"text/x-c".freeze,
91
- ".cct"=>"application/x-director".freeze,
92
- ".ccxml"=>"application/ccxml+xml".freeze,
93
- ".cdbcmsg"=>"application/vnd.contact.cmsg".freeze,
94
- ".cdf"=>"application/x-netcdf".freeze,
95
- ".cdkey"=>"application/vnd.mediastation.cdkey".freeze,
96
- ".cdmia"=>"application/cdmi-capability".freeze,
97
- ".cdmic"=>"application/cdmi-container".freeze,
98
- ".cdmid"=>"application/cdmi-domain".freeze,
99
- ".cdmio"=>"application/cdmi-object".freeze,
100
- ".cdmiq"=>"application/cdmi-queue".freeze,
101
- ".cdx"=>"chemical/x-cdx".freeze,
102
- ".cdxml"=>"application/vnd.chemdraw+xml".freeze,
103
- ".cdy"=>"application/vnd.cinderella".freeze,
104
- ".cer"=>"application/pkix-cert".freeze,
105
- ".cfs"=>"application/x-cfs-compressed".freeze,
106
- ".cgm"=>"image/cgm".freeze,
107
- ".chat"=>"application/x-chat".freeze,
108
- ".chm"=>"application/vnd.ms-htmlhelp".freeze,
109
- ".chrt"=>"application/vnd.kde.kchart".freeze,
110
- ".cif"=>"chemical/x-cif".freeze,
111
- ".cii"=>"application/vnd.anser-web-certificate-issue-initiation".freeze,
112
- ".cil"=>"application/vnd.ms-artgalry".freeze,
113
- ".cla"=>"application/vnd.claymore".freeze,
114
- ".class"=>"application/java-vm".freeze,
115
- ".clkk"=>"application/vnd.crick.clicker.keyboard".freeze,
116
- ".clkp"=>"application/vnd.crick.clicker.palette".freeze,
117
- ".clkt"=>"application/vnd.crick.clicker.template".freeze,
118
- ".clkw"=>"application/vnd.crick.clicker.wordbank".freeze,
119
- ".clkx"=>"application/vnd.crick.clicker".freeze,
120
- ".clp"=>"application/x-msclip".freeze,
121
- ".cmc"=>"application/vnd.cosmocaller".freeze,
122
- ".cmdf"=>"chemical/x-cmdf".freeze,
123
- ".cml"=>"chemical/x-cml".freeze,
124
- ".cmp"=>"application/vnd.yellowriver-custom-menu".freeze,
125
- ".cmx"=>"image/x-cmx".freeze,
126
- ".cod"=>"application/vnd.rim.cod".freeze,
127
- ".com"=>"application/x-msdownload".freeze,
128
- ".conf"=>"text/plain".freeze,
129
- ".cpio"=>"application/x-cpio".freeze,
130
- ".cpp"=>"text/x-c".freeze,
131
- ".cpt"=>"application/mac-compactpro".freeze,
132
- ".crd"=>"application/x-mscardfile".freeze,
133
- ".crl"=>"application/pkix-crl".freeze,
134
- ".crt"=>"application/x-x509-ca-cert".freeze,
135
- ".cryptonote"=>"application/vnd.rig.cryptonote".freeze,
136
- ".csh"=>"application/x-csh".freeze,
137
- ".csml"=>"chemical/x-csml".freeze,
138
- ".csp"=>"application/vnd.commonspace".freeze,
139
- ".css"=>"text/css".freeze,
140
- ".cst"=>"application/x-director".freeze,
141
- ".csv"=>"text/csv".freeze,
142
- ".cu"=>"application/cu-seeme".freeze,
143
- ".curl"=>"text/vnd.curl".freeze,
144
- ".cww"=>"application/prs.cww".freeze,
145
- ".cxt"=>"application/x-director".freeze,
146
- ".cxx"=>"text/x-c".freeze,
147
- ".dae"=>"model/vnd.collada+xml".freeze,
148
- ".daf"=>"application/vnd.mobius.daf".freeze,
149
- ".dart"=>"application/vnd.dart".freeze,
150
- ".dataless"=>"application/vnd.fdsn.seed".freeze,
151
- ".davmount"=>"application/davmount+xml".freeze,
152
- ".dbk"=>"application/docbook+xml".freeze,
153
- ".dcr"=>"application/x-director".freeze,
154
- ".dcurl"=>"text/vnd.curl.dcurl".freeze,
155
- ".dd2"=>"application/vnd.oma.dd2+xml".freeze,
156
- ".ddd"=>"application/vnd.fujixerox.ddd".freeze,
157
- ".deb"=>"application/x-debian-package".freeze,
158
- ".def"=>"text/plain".freeze,
159
- ".deploy"=>"application/octet-stream".freeze,
160
- ".der"=>"application/x-x509-ca-cert".freeze,
161
- ".dfac"=>"application/vnd.dreamfactory".freeze,
162
- ".dgc"=>"application/x-dgc-compressed".freeze,
163
- ".dic"=>"text/x-c".freeze,
164
- ".dif"=>"video/x-dv".freeze,
165
- ".dir"=>"application/x-director".freeze,
166
- ".dis"=>"application/vnd.mobius.dis".freeze,
167
- ".dist"=>"application/octet-stream".freeze,
168
- ".distz"=>"application/octet-stream".freeze,
169
- ".djv"=>"image/vnd.djvu".freeze,
170
- ".djvu"=>"image/vnd.djvu".freeze,
171
- ".dll"=>"application/x-msdownload".freeze,
172
- ".dmg"=>"application/x-apple-diskimage".freeze,
173
- ".dmp"=>"application/vnd.tcpdump.pcap".freeze,
174
- ".dms"=>"application/octet-stream".freeze,
175
- ".dna"=>"application/vnd.dna".freeze,
176
- ".doc"=>"application/msword".freeze,
177
- ".docm"=>"application/vnd.ms-word.document.macroenabled.12".freeze,
178
- ".docx"=>"application/vnd.openxmlformats-officedocument.wordprocessingml.document".freeze,
179
- ".dot"=>"application/msword".freeze,
180
- ".dotm"=>"application/vnd.ms-word.template.macroenabled.12".freeze,
181
- ".dotx"=>"application/vnd.openxmlformats-officedocument.wordprocessingml.template".freeze,
182
- ".dp"=>"application/vnd.osgi.dp".freeze,
183
- ".dpg"=>"application/vnd.dpgraph".freeze,
184
- ".dra"=>"audio/vnd.dra".freeze,
185
- ".dsc"=>"text/prs.lines.tag".freeze,
186
- ".dssc"=>"application/dssc+der".freeze,
187
- ".dtb"=>"application/x-dtbook+xml".freeze,
188
- ".dtd"=>"application/xml-dtd".freeze,
189
- ".dts"=>"audio/vnd.dts".freeze,
190
- ".dtshd"=>"audio/vnd.dts.hd".freeze,
191
- ".dump"=>"application/octet-stream".freeze,
192
- ".dv"=>"video/x-dv".freeze,
193
- ".dvb"=>"video/vnd.dvb.file".freeze,
194
- ".dvi"=>"application/x-dvi".freeze,
195
- ".dwf"=>"model/vnd.dwf".freeze,
196
- ".dwg"=>"image/vnd.dwg".freeze,
197
- ".dxf"=>"image/vnd.dxf".freeze,
198
- ".dxp"=>"application/vnd.spotfire.dxp".freeze,
199
- ".dxr"=>"application/x-director".freeze,
200
- ".ecelp4800"=>"audio/vnd.nuera.ecelp4800".freeze,
201
- ".ecelp7470"=>"audio/vnd.nuera.ecelp7470".freeze,
202
- ".ecelp9600"=>"audio/vnd.nuera.ecelp9600".freeze,
203
- ".ecma"=>"application/ecmascript".freeze,
204
- ".edm"=>"application/vnd.novadigm.edm".freeze,
205
- ".edx"=>"application/vnd.novadigm.edx".freeze,
206
- ".efif"=>"application/vnd.picsel".freeze,
207
- ".ei6"=>"application/vnd.pg.osasli".freeze,
208
- ".elc"=>"application/octet-stream".freeze,
209
- ".emf"=>"application/x-msmetafile".freeze,
210
- ".eml"=>"message/rfc822".freeze,
211
- ".emma"=>"application/emma+xml".freeze,
212
- ".emz"=>"application/x-msmetafile".freeze,
213
- ".eol"=>"audio/vnd.digital-winds".freeze,
214
- ".eot"=>"application/vnd.ms-fontobject".freeze,
215
- ".eps"=>"application/postscript".freeze,
216
- ".epub"=>"application/epub+zip".freeze,
217
- ".es3"=>"application/vnd.eszigno3+xml".freeze,
218
- ".esa"=>"application/vnd.osgi.subsystem".freeze,
219
- ".esf"=>"application/vnd.epson.esf".freeze,
220
- ".et3"=>"application/vnd.eszigno3+xml".freeze,
221
- ".etx"=>"text/x-setext".freeze,
222
- ".eva"=>"application/x-eva".freeze,
223
- ".evy"=>"application/x-envoy".freeze,
224
- ".exe"=>"application/x-msdownload".freeze,
225
- ".exi"=>"application/exi".freeze,
226
- ".ext"=>"application/vnd.novadigm.ext".freeze,
227
- ".ez"=>"application/andrew-inset".freeze,
228
- ".ez2"=>"application/vnd.ezpix-album".freeze,
229
- ".ez3"=>"application/vnd.ezpix-package".freeze,
230
- ".f"=>"text/x-fortran".freeze,
231
- ".f4v"=>"video/x-f4v".freeze,
232
- ".f77"=>"text/x-fortran".freeze,
233
- ".f90"=>"text/x-fortran".freeze,
234
- ".fbs"=>"image/vnd.fastbidsheet".freeze,
235
- ".fcdt"=>"application/vnd.adobe.formscentral.fcdt".freeze,
236
- ".fcs"=>"application/vnd.isac.fcs".freeze,
237
- ".fdf"=>"application/vnd.fdf".freeze,
238
- ".fe_launch"=>"application/vnd.denovo.fcselayout-link".freeze,
239
- ".fg5"=>"application/vnd.fujitsu.oasysgp".freeze,
240
- ".fgd"=>"application/x-director".freeze,
241
- ".fh"=>"image/x-freehand".freeze,
242
- ".fh4"=>"image/x-freehand".freeze,
243
- ".fh5"=>"image/x-freehand".freeze,
244
- ".fh7"=>"image/x-freehand".freeze,
245
- ".fhc"=>"image/x-freehand".freeze,
246
- ".fig"=>"application/x-xfig".freeze,
247
- ".flac"=>"audio/x-flac".freeze,
248
- ".fli"=>"video/x-fli".freeze,
249
- ".flo"=>"application/vnd.micrografx.flo".freeze,
250
- ".flv"=>"video/x-flv".freeze,
251
- ".flw"=>"application/vnd.kde.kivio".freeze,
252
- ".flx"=>"text/vnd.fmi.flexstor".freeze,
253
- ".fly"=>"text/vnd.fly".freeze,
254
- ".fm"=>"application/vnd.framemaker".freeze,
255
- ".fnc"=>"application/vnd.frogans.fnc".freeze,
256
- ".for"=>"text/x-fortran".freeze,
257
- ".fpx"=>"image/vnd.fpx".freeze,
258
- ".frame"=>"application/vnd.framemaker".freeze,
259
- ".fsc"=>"application/vnd.fsc.weblaunch".freeze,
260
- ".fst"=>"image/vnd.fst".freeze,
261
- ".ftc"=>"application/vnd.fluxtime.clip".freeze,
262
- ".fti"=>"application/vnd.anser-web-funds-transfer-initiation".freeze,
263
- ".fvt"=>"video/vnd.fvt".freeze,
264
- ".fxp"=>"application/vnd.adobe.fxp".freeze,
265
- ".fxpl"=>"application/vnd.adobe.fxp".freeze,
266
- ".fzs"=>"application/vnd.fuzzysheet".freeze,
267
- ".g2w"=>"application/vnd.geoplan".freeze,
268
- ".g3"=>"image/g3fax".freeze,
269
- ".g3w"=>"application/vnd.geospace".freeze,
270
- ".gac"=>"application/vnd.groove-account".freeze,
271
- ".gam"=>"application/x-tads".freeze,
272
- ".gbr"=>"application/rpki-ghostbusters".freeze,
273
- ".gca"=>"application/x-gca-compressed".freeze,
274
- ".gdl"=>"model/vnd.gdl".freeze,
275
- ".geo"=>"application/vnd.dynageo".freeze,
276
- ".gex"=>"application/vnd.geometry-explorer".freeze,
277
- ".ggb"=>"application/vnd.geogebra.file".freeze,
278
- ".ggt"=>"application/vnd.geogebra.tool".freeze,
279
- ".ghf"=>"application/vnd.groove-help".freeze,
280
- ".gif"=>"image/gif".freeze,
281
- ".gim"=>"application/vnd.groove-identity-message".freeze,
282
- ".gml"=>"application/gml+xml".freeze,
283
- ".gmx"=>"application/vnd.gmx".freeze,
284
- ".gnumeric"=>"application/x-gnumeric".freeze,
285
- ".gph"=>"application/vnd.flographit".freeze,
286
- ".gpx"=>"application/gpx+xml".freeze,
287
- ".gqf"=>"application/vnd.grafeq".freeze,
288
- ".gqs"=>"application/vnd.grafeq".freeze,
289
- ".gram"=>"application/srgs".freeze,
290
- ".gramps"=>"application/x-gramps-xml".freeze,
291
- ".gre"=>"application/vnd.geometry-explorer".freeze,
292
- ".grv"=>"application/vnd.groove-injector".freeze,
293
- ".grxml"=>"application/srgs+xml".freeze,
294
- ".gsf"=>"application/x-font-ghostscript".freeze,
295
- ".gtar"=>"application/x-gtar".freeze,
296
- ".gtm"=>"application/vnd.groove-tool-message".freeze,
297
- ".gtw"=>"model/vnd.gtw".freeze,
298
- ".gv"=>"text/vnd.graphviz".freeze,
299
- ".gxf"=>"application/gxf".freeze,
300
- ".gxt"=>"application/vnd.geonext".freeze,
301
- ".h"=>"text/x-c".freeze,
302
- ".h261"=>"video/h261".freeze,
303
- ".h263"=>"video/h263".freeze,
304
- ".h264"=>"video/h264".freeze,
305
- ".hal"=>"application/vnd.hal+xml".freeze,
306
- ".hbci"=>"application/vnd.hbci".freeze,
307
- ".hdf"=>"application/x-hdf".freeze,
308
- ".hh"=>"text/x-c".freeze,
309
- ".hlp"=>"application/winhlp".freeze,
310
- ".hpgl"=>"application/vnd.hp-hpgl".freeze,
311
- ".hpid"=>"application/vnd.hp-hpid".freeze,
312
- ".hps"=>"application/vnd.hp-hps".freeze,
313
- ".hqx"=>"application/mac-binhex40".freeze,
314
- ".htke"=>"application/vnd.kenameaapp".freeze,
315
- ".htm"=>"text/html".freeze,
316
- ".html"=>"text/html".freeze,
317
- ".hvd"=>"application/vnd.yamaha.hv-dic".freeze,
318
- ".hvp"=>"application/vnd.yamaha.hv-voice".freeze,
319
- ".hvs"=>"application/vnd.yamaha.hv-script".freeze,
320
- ".i2g"=>"application/vnd.intergeo".freeze,
321
- ".icc"=>"application/vnd.iccprofile".freeze,
322
- ".ice"=>"x-conference/x-cooltalk".freeze,
323
- ".icm"=>"application/vnd.iccprofile".freeze,
324
- ".ico"=>"image/x-icon".freeze,
325
- ".ics"=>"text/calendar".freeze,
326
- ".ief"=>"image/ief".freeze,
327
- ".ifb"=>"text/calendar".freeze,
328
- ".ifm"=>"application/vnd.shana.informed.formdata".freeze,
329
- ".iges"=>"model/iges".freeze,
330
- ".igl"=>"application/vnd.igloader".freeze,
331
- ".igm"=>"application/vnd.insors.igm".freeze,
332
- ".igs"=>"model/iges".freeze,
333
- ".igx"=>"application/vnd.micrografx.igx".freeze,
334
- ".iif"=>"application/vnd.shana.informed.interchange".freeze,
335
- ".imp"=>"application/vnd.accpac.simply.imp".freeze,
336
- ".ims"=>"application/vnd.ms-ims".freeze,
337
- ".in"=>"text/plain".freeze,
338
- ".ink"=>"application/inkml+xml".freeze,
339
- ".inkml"=>"application/inkml+xml".freeze,
340
- ".install"=>"application/x-install-instructions".freeze,
341
- ".iota"=>"application/vnd.astraea-software.iota".freeze,
342
- ".ipfix"=>"application/ipfix".freeze,
343
- ".ipk"=>"application/vnd.shana.informed.package".freeze,
344
- ".irm"=>"application/vnd.ibm.rights-management".freeze,
345
- ".irp"=>"application/vnd.irepository.package+xml".freeze,
346
- ".iso"=>"application/x-iso9660-image".freeze,
347
- ".itp"=>"application/vnd.shana.informed.formtemplate".freeze,
348
- ".ivp"=>"application/vnd.immervision-ivp".freeze,
349
- ".ivu"=>"application/vnd.immervision-ivu".freeze,
350
- ".jad"=>"text/vnd.sun.j2me.app-descriptor".freeze,
351
- ".jam"=>"application/vnd.jam".freeze,
352
- ".jar"=>"application/java-archive".freeze,
353
- ".java"=>"text/x-java-source".freeze,
354
- ".jisp"=>"application/vnd.jisp".freeze,
355
- ".jlt"=>"application/vnd.hp-jlyt".freeze,
356
- ".jnlp"=>"application/x-java-jnlp-file".freeze,
357
- ".joda"=>"application/vnd.joost.joda-archive".freeze,
358
- ".jp2"=>"image/jp2".freeze,
359
- ".jpe"=>"image/jpeg".freeze,
360
- ".jpeg"=>"image/jpeg".freeze,
361
- ".jpg"=>"image/jpeg".freeze,
362
- ".jpgm"=>"video/jpm".freeze,
363
- ".jpgv"=>"video/jpeg".freeze,
364
- ".jpm"=>"video/jpm".freeze,
365
- ".js"=>"application/javascript".freeze,
366
- ".json"=>"application/json".freeze,
367
- ".jsonml"=>"application/jsonml+json".freeze,
368
- ".kar"=>"audio/midi".freeze,
369
- ".karbon"=>"application/vnd.kde.karbon".freeze,
370
- ".kfo"=>"application/vnd.kde.kformula".freeze,
371
- ".kia"=>"application/vnd.kidspiration".freeze,
372
- ".kml"=>"application/vnd.google-earth.kml+xml".freeze,
373
- ".kmz"=>"application/vnd.google-earth.kmz".freeze,
374
- ".kne"=>"application/vnd.kinar".freeze,
375
- ".knp"=>"application/vnd.kinar".freeze,
376
- ".kon"=>"application/vnd.kde.kontour".freeze,
377
- ".kpr"=>"application/vnd.kde.kpresenter".freeze,
378
- ".kpt"=>"application/vnd.kde.kpresenter".freeze,
379
- ".kpxx"=>"application/vnd.ds-keypoint".freeze,
380
- ".ksp"=>"application/vnd.kde.kspread".freeze,
381
- ".ktr"=>"application/vnd.kahootz".freeze,
382
- ".ktx"=>"image/ktx".freeze,
383
- ".ktz"=>"application/vnd.kahootz".freeze,
384
- ".kwd"=>"application/vnd.kde.kword".freeze,
385
- ".kwt"=>"application/vnd.kde.kword".freeze,
386
- ".lasxml"=>"application/vnd.las.las+xml".freeze,
387
- ".latex"=>"application/x-latex".freeze,
388
- ".lbd"=>"application/vnd.llamagraphics.life-balance.desktop".freeze,
389
- ".lbe"=>"application/vnd.llamagraphics.life-balance.exchange+xml".freeze,
390
- ".les"=>"application/vnd.hhe.lesson-player".freeze,
391
- ".lha"=>"application/octet-stream".freeze,
392
- ".link66"=>"application/vnd.route66.link66+xml".freeze,
393
- ".list"=>"text/plain".freeze,
394
- ".list3820"=>"application/vnd.ibm.modcap".freeze,
395
- ".listafp"=>"application/vnd.ibm.modcap".freeze,
396
- ".lnk"=>"application/x-ms-shortcut".freeze,
397
- ".log"=>"text/plain".freeze,
398
- ".lostxml"=>"application/lost+xml".freeze,
399
- ".lrf"=>"application/octet-stream".freeze,
400
- ".lrm"=>"application/vnd.ms-lrm".freeze,
401
- ".ltf"=>"application/vnd.frogans.ltf".freeze,
402
- ".lvp"=>"audio/vnd.lucent.voice".freeze,
403
- ".lwp"=>"application/vnd.lotus-wordpro".freeze,
404
- ".lzh"=>"application/octet-stream".freeze,
405
- ".m13"=>"application/x-msmediaview".freeze,
406
- ".m14"=>"application/x-msmediaview".freeze,
407
- ".m1v"=>"video/mpeg".freeze,
408
- ".m21"=>"application/mp21".freeze,
409
- ".m2a"=>"audio/mpeg".freeze,
410
- ".m2v"=>"video/mpeg".freeze,
411
- ".m3a"=>"audio/mpeg".freeze,
412
- ".m3u"=>"audio/x-mpegurl".freeze,
413
- ".m3u8"=>"application/vnd.apple.mpegurl".freeze,
414
- ".m4a"=>"audio/mp4a-latm".freeze,
415
- ".m4b"=>"audio/mp4a-latm".freeze,
416
- ".m4p"=>"audio/mp4a-latm".freeze,
417
- ".m4u"=>"video/vnd.mpegurl".freeze,
418
- ".m4v"=>"video/x-m4v".freeze,
419
- ".ma"=>"application/mathematica".freeze,
420
- ".mac"=>"image/x-macpaint".freeze,
421
- ".mads"=>"application/mads+xml".freeze,
422
- ".mag"=>"application/vnd.ecowin.chart".freeze,
423
- ".maker"=>"application/vnd.framemaker".freeze,
424
- ".man"=>"application/x-troff-man".freeze,
425
- ".mar"=>"application/octet-stream".freeze,
426
- ".mathml"=>"application/mathml+xml".freeze,
427
- ".mb"=>"application/mathematica".freeze,
428
- ".mbk"=>"application/vnd.mobius.mbk".freeze,
429
- ".mbox"=>"application/mbox".freeze,
430
- ".mc1"=>"application/vnd.medcalcdata".freeze,
431
- ".mcd"=>"application/vnd.mcd".freeze,
432
- ".mcurl"=>"text/vnd.curl.mcurl".freeze,
433
- ".mdb"=>"application/x-msaccess".freeze,
434
- ".mdi"=>"image/vnd.ms-modi".freeze,
435
- ".me"=>"text/troff".freeze,
436
- ".mesh"=>"model/mesh".freeze,
437
- ".meta4"=>"application/metalink4+xml".freeze,
438
- ".metalink"=>"application/metalink+xml".freeze,
439
- ".mets"=>"application/mets+xml".freeze,
440
- ".mfm"=>"application/vnd.mfmp".freeze,
441
- ".mft"=>"application/rpki-manifest".freeze,
442
- ".mgp"=>"application/vnd.osgeo.mapguide.package".freeze,
443
- ".mgz"=>"application/vnd.proteus.magazine".freeze,
444
- ".mid"=>"audio/midi".freeze,
445
- ".midi"=>"audio/midi".freeze,
446
- ".mie"=>"application/x-mie".freeze,
447
- ".mif"=>"application/vnd.mif".freeze,
448
- ".mime"=>"message/rfc822".freeze,
449
- ".mj2"=>"video/mj2".freeze,
450
- ".mjp2"=>"video/mj2".freeze,
451
- ".mk3d"=>"video/x-matroska".freeze,
452
- ".mka"=>"audio/x-matroska".freeze,
453
- ".mks"=>"video/x-matroska".freeze,
454
- ".mkv"=>"video/x-matroska".freeze,
455
- ".mlp"=>"application/vnd.dolby.mlp".freeze,
456
- ".mmd"=>"application/vnd.chipnuts.karaoke-mmd".freeze,
457
- ".mmf"=>"application/vnd.smaf".freeze,
458
- ".mmr"=>"image/vnd.fujixerox.edmics-mmr".freeze,
459
- ".mng"=>"video/x-mng".freeze,
460
- ".mny"=>"application/x-msmoney".freeze,
461
- ".mobi"=>"application/x-mobipocket-ebook".freeze,
462
- ".mods"=>"application/mods+xml".freeze,
463
- ".mov"=>"video/quicktime".freeze,
464
- ".movie"=>"video/x-sgi-movie".freeze,
465
- ".mp2"=>"audio/mpeg".freeze,
466
- ".mp21"=>"application/mp21".freeze,
467
- ".mp2a"=>"audio/mpeg".freeze,
468
- ".mp3"=>"audio/mpeg".freeze,
469
- ".mp4"=>"video/mp4".freeze,
470
- ".mp4a"=>"audio/mp4".freeze,
471
- ".mp4s"=>"application/mp4".freeze,
472
- ".mp4v"=>"video/mp4".freeze,
473
- ".mpc"=>"application/vnd.mophun.certificate".freeze,
474
- ".mpe"=>"video/mpeg".freeze,
475
- ".mpeg"=>"video/mpeg".freeze,
476
- ".mpg"=>"video/mpeg".freeze,
477
- ".mpg4"=>"video/mp4".freeze,
478
- ".mpga"=>"audio/mpeg".freeze,
479
- ".mpkg"=>"application/vnd.apple.installer+xml".freeze,
480
- ".mpm"=>"application/vnd.blueice.multipass".freeze,
481
- ".mpn"=>"application/vnd.mophun.application".freeze,
482
- ".mpp"=>"application/vnd.ms-project".freeze,
483
- ".mpt"=>"application/vnd.ms-project".freeze,
484
- ".mpy"=>"application/vnd.ibm.minipay".freeze,
485
- ".mqy"=>"application/vnd.mobius.mqy".freeze,
486
- ".mrc"=>"application/marc".freeze,
487
- ".mrcx"=>"application/marcxml+xml".freeze,
488
- ".ms"=>"application/x-troff-ms".freeze,
489
- ".mscml"=>"application/mediaservercontrol+xml".freeze,
490
- ".mseed"=>"application/vnd.fdsn.mseed".freeze,
491
- ".mseq"=>"application/vnd.mseq".freeze,
492
- ".msf"=>"application/vnd.epson.msf".freeze,
493
- ".msh"=>"model/mesh".freeze,
494
- ".msi"=>"application/x-msdownload".freeze,
495
- ".msl"=>"application/vnd.mobius.msl".freeze,
496
- ".msty"=>"application/vnd.muvee.style".freeze,
497
- ".mts"=>"model/vnd.mts".freeze,
498
- ".mus"=>"application/vnd.musician".freeze,
499
- ".musicxml"=>"application/vnd.recordare.musicxml+xml".freeze,
500
- ".mvb"=>"application/x-msmediaview".freeze,
501
- ".mwf"=>"application/vnd.mfer".freeze,
502
- ".mxf"=>"application/mxf".freeze,
503
- ".mxl"=>"application/vnd.recordare.musicxml".freeze,
504
- ".mxml"=>"application/xv+xml".freeze,
505
- ".mxs"=>"application/vnd.triscape.mxs".freeze,
506
- ".mxu"=>"video/vnd.mpegurl".freeze,
507
- ".n-gage"=>"application/vnd.nokia.n-gage.symbian.install".freeze,
508
- ".n3"=>"text/n3".freeze,
509
- ".nb"=>"application/mathematica".freeze,
510
- ".nbp"=>"application/vnd.wolfram.player".freeze,
511
- ".nc"=>"application/x-netcdf".freeze,
512
- ".ncx"=>"application/x-dtbncx+xml".freeze,
513
- ".nfo"=>"text/x-nfo".freeze,
514
- ".ngdat"=>"application/vnd.nokia.n-gage.data".freeze,
515
- ".nitf"=>"application/vnd.nitf".freeze,
516
- ".nlu"=>"application/vnd.neurolanguage.nlu".freeze,
517
- ".nml"=>"application/vnd.enliven".freeze,
518
- ".nnd"=>"application/vnd.noblenet-directory".freeze,
519
- ".nns"=>"application/vnd.noblenet-sealer".freeze,
520
- ".nnw"=>"application/vnd.noblenet-web".freeze,
521
- ".npx"=>"image/vnd.net-fpx".freeze,
522
- ".nsc"=>"application/x-conference".freeze,
523
- ".nsf"=>"application/vnd.lotus-notes".freeze,
524
- ".ntf"=>"application/vnd.nitf".freeze,
525
- ".nzb"=>"application/x-nzb".freeze,
526
- ".oa2"=>"application/vnd.fujitsu.oasys2".freeze,
527
- ".oa3"=>"application/vnd.fujitsu.oasys3".freeze,
528
- ".oas"=>"application/vnd.fujitsu.oasys".freeze,
529
- ".obd"=>"application/x-msbinder".freeze,
530
- ".obj"=>"application/x-tgif".freeze,
531
- ".oda"=>"application/oda".freeze,
532
- ".odb"=>"application/vnd.oasis.opendocument.database".freeze,
533
- ".odc"=>"application/vnd.oasis.opendocument.chart".freeze,
534
- ".odf"=>"application/vnd.oasis.opendocument.formula".freeze,
535
- ".odft"=>"application/vnd.oasis.opendocument.formula-template".freeze,
536
- ".odg"=>"application/vnd.oasis.opendocument.graphics".freeze,
537
- ".odi"=>"application/vnd.oasis.opendocument.image".freeze,
538
- ".odm"=>"application/vnd.oasis.opendocument.text-master".freeze,
539
- ".odp"=>"application/vnd.oasis.opendocument.presentation".freeze,
540
- ".ods"=>"application/vnd.oasis.opendocument.spreadsheet".freeze,
541
- ".odt"=>"application/vnd.oasis.opendocument.text".freeze,
542
- ".oga"=>"audio/ogg".freeze,
543
- ".ogg"=>"audio/ogg".freeze,
544
- ".ogv"=>"video/ogg".freeze,
545
- ".ogx"=>"application/ogg".freeze,
546
- ".omdoc"=>"application/omdoc+xml".freeze,
547
- ".onepkg"=>"application/onenote".freeze,
548
- ".onetmp"=>"application/onenote".freeze,
549
- ".onetoc"=>"application/onenote".freeze,
550
- ".onetoc2"=>"application/onenote".freeze,
551
- ".opf"=>"application/oebps-package+xml".freeze,
552
- ".opml"=>"text/x-opml".freeze,
553
- ".oprc"=>"application/vnd.palm".freeze,
554
- ".org"=>"application/vnd.lotus-organizer".freeze,
555
- ".osf"=>"application/vnd.yamaha.openscoreformat".freeze,
556
- ".osfpvg"=>"application/vnd.yamaha.openscoreformat.osfpvg+xml".freeze,
557
- ".otc"=>"application/vnd.oasis.opendocument.chart-template".freeze,
558
- ".otf"=>"application/x-font-otf".freeze,
559
- ".otg"=>"application/vnd.oasis.opendocument.graphics-template".freeze,
560
- ".oth"=>"application/vnd.oasis.opendocument.text-web".freeze,
561
- ".oti"=>"application/vnd.oasis.opendocument.image-template".freeze,
562
- ".otp"=>"application/vnd.oasis.opendocument.presentation-template".freeze,
563
- ".ots"=>"application/vnd.oasis.opendocument.spreadsheet-template".freeze,
564
- ".ott"=>"application/vnd.oasis.opendocument.text-template".freeze,
565
- ".oxps"=>"application/oxps".freeze,
566
- ".oxt"=>"application/vnd.openofficeorg.extension".freeze,
567
- ".p"=>"text/x-pascal".freeze,
568
- ".p10"=>"application/pkcs10".freeze,
569
- ".p12"=>"application/x-pkcs12".freeze,
570
- ".p7b"=>"application/x-pkcs7-certificates".freeze,
571
- ".p7c"=>"application/pkcs7-mime".freeze,
572
- ".p7m"=>"application/pkcs7-mime".freeze,
573
- ".p7r"=>"application/x-pkcs7-certreqresp".freeze,
574
- ".p7s"=>"application/pkcs7-signature".freeze,
575
- ".p8"=>"application/pkcs8".freeze,
576
- ".pas"=>"text/x-pascal".freeze,
577
- ".paw"=>"application/vnd.pawaafile".freeze,
578
- ".pbd"=>"application/vnd.powerbuilder6".freeze,
579
- ".pbm"=>"image/x-portable-bitmap".freeze,
580
- ".pcap"=>"application/vnd.tcpdump.pcap".freeze,
581
- ".pcf"=>"application/x-font-pcf".freeze,
582
- ".pcl"=>"application/vnd.hp-pcl".freeze,
583
- ".pclxl"=>"application/vnd.hp-pclxl".freeze,
584
- ".pct"=>"image/x-pict".freeze,
585
- ".pcurl"=>"application/vnd.curl.pcurl".freeze,
586
- ".pcx"=>"image/x-pcx".freeze,
587
- ".pdb"=>"application/vnd.palm".freeze,
588
- ".pdf"=>"application/pdf".freeze,
589
- ".pfa"=>"application/x-font-type1".freeze,
590
- ".pfb"=>"application/x-font-type1".freeze,
591
- ".pfm"=>"application/x-font-type1".freeze,
592
- ".pfr"=>"application/font-tdpfr".freeze,
593
- ".pfx"=>"application/x-pkcs12".freeze,
594
- ".pgm"=>"image/x-portable-graymap".freeze,
595
- ".pgn"=>"application/x-chess-pgn".freeze,
596
- ".pgp"=>"application/pgp-encrypted".freeze,
597
- ".pic"=>"image/pict".freeze,
598
- ".pict"=>"image/pict".freeze,
599
- ".pkg"=>"application/octet-stream".freeze,
600
- ".pki"=>"application/pkixcmp".freeze,
601
- ".pkipath"=>"application/pkix-pkipath".freeze,
602
- ".plb"=>"application/vnd.3gpp.pic-bw-large".freeze,
603
- ".plc"=>"application/vnd.mobius.plc".freeze,
604
- ".plf"=>"application/vnd.pocketlearn".freeze,
605
- ".pls"=>"application/pls+xml".freeze,
606
- ".pml"=>"application/vnd.ctc-posml".freeze,
607
- ".png"=>"image/png".freeze,
608
- ".pnm"=>"image/x-portable-anymap".freeze,
609
- ".pnt"=>"image/x-macpaint".freeze,
610
- ".pntg"=>"image/x-macpaint".freeze,
611
- ".portpkg"=>"application/vnd.macports.portpkg".freeze,
612
- ".pot"=>"application/vnd.ms-powerpoint".freeze,
613
- ".potm"=>"application/vnd.ms-powerpoint.template.macroenabled.12".freeze,
614
- ".potx"=>"application/vnd.openxmlformats-officedocument.presentationml.template".freeze,
615
- ".ppam"=>"application/vnd.ms-powerpoint.addin.macroenabled.12".freeze,
616
- ".ppd"=>"application/vnd.cups-ppd".freeze,
617
- ".ppm"=>"image/x-portable-pixmap".freeze,
618
- ".pps"=>"application/vnd.ms-powerpoint".freeze,
619
- ".ppsm"=>"application/vnd.ms-powerpoint.slideshow.macroenabled.12".freeze,
620
- ".ppsx"=>"application/vnd.openxmlformats-officedocument.presentationml.slideshow".freeze,
621
- ".ppt"=>"application/vnd.ms-powerpoint".freeze,
622
- ".pptm"=>"application/vnd.ms-powerpoint.presentation.macroenabled.12".freeze,
623
- ".pptx"=>"application/vnd.openxmlformats-officedocument.presentationml.presentation".freeze,
624
- ".pqa"=>"application/vnd.palm".freeze,
625
- ".prc"=>"application/x-mobipocket-ebook".freeze,
626
- ".pre"=>"application/vnd.lotus-freelance".freeze,
627
- ".prf"=>"application/pics-rules".freeze,
628
- ".ps"=>"application/postscript".freeze,
629
- ".psb"=>"application/vnd.3gpp.pic-bw-small".freeze,
630
- ".psd"=>"image/vnd.adobe.photoshop".freeze,
631
- ".psf"=>"application/x-font-linux-psf".freeze,
632
- ".pskcxml"=>"application/pskc+xml".freeze,
633
- ".ptid"=>"application/vnd.pvi.ptid1".freeze,
634
- ".pub"=>"application/x-mspublisher".freeze,
635
- ".pvb"=>"application/vnd.3gpp.pic-bw-var".freeze,
636
- ".pwn"=>"application/vnd.3m.post-it-notes".freeze,
637
- ".pya"=>"audio/vnd.ms-playready.media.pya".freeze,
638
- ".pyv"=>"video/vnd.ms-playready.media.pyv".freeze,
639
- ".qam"=>"application/vnd.epson.quickanime".freeze,
640
- ".qbo"=>"application/vnd.intu.qbo".freeze,
641
- ".qfx"=>"application/vnd.intu.qfx".freeze,
642
- ".qps"=>"application/vnd.publishare-delta-tree".freeze,
643
- ".qt"=>"video/quicktime".freeze,
644
- ".qti"=>"image/x-quicktime".freeze,
645
- ".qtif"=>"image/x-quicktime".freeze,
646
- ".qwd"=>"application/vnd.quark.quarkxpress".freeze,
647
- ".qwt"=>"application/vnd.quark.quarkxpress".freeze,
648
- ".qxb"=>"application/vnd.quark.quarkxpress".freeze,
649
- ".qxd"=>"application/vnd.quark.quarkxpress".freeze,
650
- ".qxl"=>"application/vnd.quark.quarkxpress".freeze,
651
- ".qxt"=>"application/vnd.quark.quarkxpress".freeze,
652
- ".ra"=>"audio/x-pn-realaudio".freeze,
653
- ".ram"=>"audio/x-pn-realaudio".freeze,
654
- ".rar"=>"application/x-rar-compressed".freeze,
655
- ".ras"=>"image/x-cmu-raster".freeze,
656
- ".rcprofile"=>"application/vnd.ipunplugged.rcprofile".freeze,
657
- ".rdf"=>"application/rdf+xml".freeze,
658
- ".rdz"=>"application/vnd.data-vision.rdz".freeze,
659
- ".rep"=>"application/vnd.businessobjects".freeze,
660
- ".res"=>"application/x-dtbresource+xml".freeze,
661
- ".rgb"=>"image/x-rgb".freeze,
662
- ".rif"=>"application/reginfo+xml".freeze,
663
- ".rip"=>"audio/vnd.rip".freeze,
664
- ".ris"=>"application/x-research-info-systems".freeze,
665
- ".rl"=>"application/resource-lists+xml".freeze,
666
- ".rlc"=>"image/vnd.fujixerox.edmics-rlc".freeze,
667
- ".rld"=>"application/resource-lists-diff+xml".freeze,
668
- ".rm"=>"application/vnd.rn-realmedia".freeze,
669
- ".rmi"=>"audio/midi".freeze,
670
- ".rmp"=>"audio/x-pn-realaudio-plugin".freeze,
671
- ".rms"=>"application/vnd.jcp.javame.midlet-rms".freeze,
672
- ".rmvb"=>"application/vnd.rn-realmedia-vbr".freeze,
673
- ".rnc"=>"application/relax-ng-compact-syntax".freeze,
674
- ".roa"=>"application/rpki-roa".freeze,
675
- ".roff"=>"application/x-troff".freeze,
676
- ".rp9"=>"application/vnd.cloanto.rp9".freeze,
677
- ".rpss"=>"application/vnd.nokia.radio-presets".freeze,
678
- ".rpst"=>"application/vnd.nokia.radio-preset".freeze,
679
- ".rq"=>"application/sparql-query".freeze,
680
- ".rs"=>"application/rls-services+xml".freeze,
681
- ".rsd"=>"application/rsd+xml".freeze,
682
- ".rss"=>"application/rss+xml".freeze,
683
- ".rtf"=>"application/rtf".freeze,
684
- ".rtx"=>"text/richtext".freeze,
685
- ".s"=>"text/x-asm".freeze,
686
- ".s3m"=>"audio/s3m".freeze,
687
- ".saf"=>"application/vnd.yamaha.smaf-audio".freeze,
688
- ".sbml"=>"application/sbml+xml".freeze,
689
- ".sc"=>"application/vnd.ibm.secure-container".freeze,
690
- ".scd"=>"application/x-msschedule".freeze,
691
- ".scm"=>"application/vnd.lotus-screencam".freeze,
692
- ".scq"=>"application/scvp-cv-request".freeze,
693
- ".scs"=>"application/scvp-cv-response".freeze,
694
- ".scurl"=>"text/vnd.curl.scurl".freeze,
695
- ".sda"=>"application/vnd.stardivision.draw".freeze,
696
- ".sdc"=>"application/vnd.stardivision.calc".freeze,
697
- ".sdd"=>"application/vnd.stardivision.impress".freeze,
698
- ".sdkd"=>"application/vnd.solent.sdkm+xml".freeze,
699
- ".sdkm"=>"application/vnd.solent.sdkm+xml".freeze,
700
- ".sdp"=>"application/sdp".freeze,
701
- ".sdw"=>"application/vnd.stardivision.writer".freeze,
702
- ".see"=>"application/vnd.seemail".freeze,
703
- ".seed"=>"application/vnd.fdsn.seed".freeze,
704
- ".sema"=>"application/vnd.sema".freeze,
705
- ".semd"=>"application/vnd.semd".freeze,
706
- ".semf"=>"application/vnd.semf".freeze,
707
- ".ser"=>"application/java-serialized-object".freeze,
708
- ".setpay"=>"application/set-payment-initiation".freeze,
709
- ".setreg"=>"application/set-registration-initiation".freeze,
710
- ".sfd-hdstx"=>"application/vnd.hydrostatix.sof-data".freeze,
711
- ".sfs"=>"application/vnd.spotfire.sfs".freeze,
712
- ".sfv"=>"text/x-sfv".freeze,
713
- ".sgi"=>"image/sgi".freeze,
714
- ".sgl"=>"application/vnd.stardivision.writer-global".freeze,
715
- ".sgm"=>"text/sgml".freeze,
716
- ".sgml"=>"text/sgml".freeze,
717
- ".sh"=>"application/x-sh".freeze,
718
- ".shar"=>"application/x-shar".freeze,
719
- ".shf"=>"application/shf+xml".freeze,
720
- ".sid"=>"image/x-mrsid-image".freeze,
721
- ".sig"=>"application/pgp-signature".freeze,
722
- ".sil"=>"audio/silk".freeze,
723
- ".silo"=>"model/mesh".freeze,
724
- ".sis"=>"application/vnd.symbian.install".freeze,
725
- ".sisx"=>"application/vnd.symbian.install".freeze,
726
- ".sit"=>"application/x-stuffit".freeze,
727
- ".sitx"=>"application/x-stuffitx".freeze,
728
- ".skd"=>"application/x-koan".freeze,
729
- ".skm"=>"application/vnd.koan".freeze,
730
- ".skp"=>"application/x-koan".freeze,
731
- ".skt"=>"application/vnd.koan".freeze,
732
- ".sldm"=>"application/vnd.ms-powerpoint.slide.macroenabled.12".freeze,
733
- ".sldx"=>"application/vnd.openxmlformats-officedocument.presentationml.slide".freeze,
734
- ".slt"=>"application/vnd.epson.salt".freeze,
735
- ".sm"=>"application/vnd.stepmania.stepchart".freeze,
736
- ".smf"=>"application/vnd.stardivision.math".freeze,
737
- ".smi"=>"application/smil".freeze,
738
- ".smil"=>"application/smil+xml".freeze,
739
- ".smv"=>"video/x-smv".freeze,
740
- ".smzip"=>"application/vnd.stepmania.package".freeze,
741
- ".snd"=>"audio/basic".freeze,
742
- ".snf"=>"application/x-font-snf".freeze,
743
- ".so"=>"application/octet-stream".freeze,
744
- ".spc"=>"application/x-pkcs7-certificates".freeze,
745
- ".spf"=>"application/vnd.yamaha.smaf-phrase".freeze,
746
- ".spl"=>"application/x-futuresplash".freeze,
747
- ".spot"=>"text/vnd.in3d.spot".freeze,
748
- ".spp"=>"application/scvp-vp-response".freeze,
749
- ".spq"=>"application/scvp-vp-request".freeze,
750
- ".spx"=>"audio/ogg".freeze,
751
- ".sql"=>"application/x-sql".freeze,
752
- ".src"=>"application/x-wais-source".freeze,
753
- ".srt"=>"application/x-subrip".freeze,
754
- ".sru"=>"application/sru+xml".freeze,
755
- ".srx"=>"application/sparql-results+xml".freeze,
756
- ".ssdl"=>"application/ssdl+xml".freeze,
757
- ".sse"=>"application/vnd.kodak-descriptor".freeze,
758
- ".ssf"=>"application/vnd.epson.ssf".freeze,
759
- ".ssml"=>"application/ssml+xml".freeze,
760
- ".st"=>"application/vnd.sailingtracker.track".freeze,
761
- ".stc"=>"application/vnd.sun.xml.calc.template".freeze,
762
- ".std"=>"application/vnd.sun.xml.draw.template".freeze,
763
- ".stf"=>"application/vnd.wt.stf".freeze,
764
- ".sti"=>"application/vnd.sun.xml.impress.template".freeze,
765
- ".stk"=>"application/hyperstudio".freeze,
766
- ".stl"=>"application/vnd.ms-pki.stl".freeze,
767
- ".str"=>"application/vnd.pg.format".freeze,
768
- ".stw"=>"application/vnd.sun.xml.writer.template".freeze,
769
- ".sub"=>"text/vnd.dvb.subtitle".freeze,
770
- ".sus"=>"application/vnd.sus-calendar".freeze,
771
- ".susp"=>"application/vnd.sus-calendar".freeze,
772
- ".sv4cpio"=>"application/x-sv4cpio".freeze,
773
- ".sv4crc"=>"application/x-sv4crc".freeze,
774
- ".svc"=>"application/vnd.dvb.service".freeze,
775
- ".svd"=>"application/vnd.svd".freeze,
776
- ".svg"=>"image/svg+xml".freeze,
777
- ".svgz"=>"image/svg+xml".freeze,
778
- ".swf"=>"application/x-shockwave-flash".freeze,
779
- ".swi"=>"application/vnd.aristanetworks.swi".freeze,
780
- ".sxc"=>"application/vnd.sun.xml.calc".freeze,
781
- ".sxd"=>"application/vnd.sun.xml.draw".freeze,
782
- ".sxg"=>"application/vnd.sun.xml.writer.global".freeze,
783
- ".sxi"=>"application/vnd.sun.xml.impress".freeze,
784
- ".sxm"=>"application/vnd.sun.xml.math".freeze,
785
- ".sxw"=>"application/vnd.sun.xml.writer".freeze,
786
- ".t"=>"text/troff".freeze,
787
- ".t3"=>"application/x-t3vm-image".freeze,
788
- ".taglet"=>"application/vnd.mynfc".freeze,
789
- ".tao"=>"application/vnd.tao.intent-module-archive".freeze,
790
- ".tar"=>"application/x-tar".freeze,
791
- ".tcap"=>"application/vnd.3gpp2.tcap".freeze,
792
- ".tcl"=>"application/x-tcl".freeze,
793
- ".teacher"=>"application/vnd.smart.teacher".freeze,
794
- ".tei"=>"application/tei+xml".freeze,
795
- ".teicorpus"=>"application/tei+xml".freeze,
796
- ".tex"=>"application/x-tex".freeze,
797
- ".texi"=>"application/x-texinfo".freeze,
798
- ".texinfo"=>"application/x-texinfo".freeze,
799
- ".text"=>"text/plain".freeze,
800
- ".tfi"=>"application/thraud+xml".freeze,
801
- ".tfm"=>"application/x-tex-tfm".freeze,
802
- ".tga"=>"image/x-tga".freeze,
803
- ".thmx"=>"application/vnd.ms-officetheme".freeze,
804
- ".tif"=>"image/tiff".freeze,
805
- ".tiff"=>"image/tiff".freeze,
806
- ".tmo"=>"application/vnd.tmobile-livetv".freeze,
807
- ".torrent"=>"application/x-bittorrent".freeze,
808
- ".tpl"=>"application/vnd.groove-tool-template".freeze,
809
- ".tpt"=>"application/vnd.trid.tpt".freeze,
810
- ".tr"=>"text/troff".freeze,
811
- ".tra"=>"application/vnd.trueapp".freeze,
812
- ".trm"=>"application/x-msterminal".freeze,
813
- ".tsd"=>"application/timestamped-data".freeze,
814
- ".tsv"=>"text/tab-separated-values".freeze,
815
- ".ttc"=>"application/x-font-ttf".freeze,
816
- ".ttf"=>"application/x-font-ttf".freeze,
817
- ".ttl"=>"text/turtle".freeze,
818
- ".twd"=>"application/vnd.simtech-mindmapper".freeze,
819
- ".twds"=>"application/vnd.simtech-mindmapper".freeze,
820
- ".txd"=>"application/vnd.genomatix.tuxedo".freeze,
821
- ".txf"=>"application/vnd.mobius.txf".freeze,
822
- ".txt"=>"text/plain".freeze,
823
- ".u32"=>"application/x-authorware-bin".freeze,
824
- ".udeb"=>"application/x-debian-package".freeze,
825
- ".ufd"=>"application/vnd.ufdl".freeze,
826
- ".ufdl"=>"application/vnd.ufdl".freeze,
827
- ".ulx"=>"application/x-glulx".freeze,
828
- ".umj"=>"application/vnd.umajin".freeze,
829
- ".unityweb"=>"application/vnd.unity".freeze,
830
- ".uoml"=>"application/vnd.uoml+xml".freeze,
831
- ".uri"=>"text/uri-list".freeze,
832
- ".uris"=>"text/uri-list".freeze,
833
- ".urls"=>"text/uri-list".freeze,
834
- ".ustar"=>"application/x-ustar".freeze,
835
- ".utz"=>"application/vnd.uiq.theme".freeze,
836
- ".uu"=>"text/x-uuencode".freeze,
837
- ".uva"=>"audio/vnd.dece.audio".freeze,
838
- ".uvd"=>"application/vnd.dece.data".freeze,
839
- ".uvf"=>"application/vnd.dece.data".freeze,
840
- ".uvg"=>"image/vnd.dece.graphic".freeze,
841
- ".uvh"=>"video/vnd.dece.hd".freeze,
842
- ".uvi"=>"image/vnd.dece.graphic".freeze,
843
- ".uvm"=>"video/vnd.dece.mobile".freeze,
844
- ".uvp"=>"video/vnd.dece.pd".freeze,
845
- ".uvs"=>"video/vnd.dece.sd".freeze,
846
- ".uvt"=>"application/vnd.dece.ttml+xml".freeze,
847
- ".uvu"=>"video/vnd.uvvu.mp4".freeze,
848
- ".uvv"=>"video/vnd.dece.video".freeze,
849
- ".uvva"=>"audio/vnd.dece.audio".freeze,
850
- ".uvvd"=>"application/vnd.dece.data".freeze,
851
- ".uvvf"=>"application/vnd.dece.data".freeze,
852
- ".uvvg"=>"image/vnd.dece.graphic".freeze,
853
- ".uvvh"=>"video/vnd.dece.hd".freeze,
854
- ".uvvi"=>"image/vnd.dece.graphic".freeze,
855
- ".uvvm"=>"video/vnd.dece.mobile".freeze,
856
- ".uvvp"=>"video/vnd.dece.pd".freeze,
857
- ".uvvs"=>"video/vnd.dece.sd".freeze,
858
- ".uvvt"=>"application/vnd.dece.ttml+xml".freeze,
859
- ".uvvu"=>"video/vnd.uvvu.mp4".freeze,
860
- ".uvvv"=>"video/vnd.dece.video".freeze,
861
- ".uvvx"=>"application/vnd.dece.unspecified".freeze,
862
- ".uvvz"=>"application/vnd.dece.zip".freeze,
863
- ".uvx"=>"application/vnd.dece.unspecified".freeze,
864
- ".uvz"=>"application/vnd.dece.zip".freeze,
865
- ".vcard"=>"text/vcard".freeze,
866
- ".vcd"=>"application/x-cdlink".freeze,
867
- ".vcf"=>"text/x-vcard".freeze,
868
- ".vcg"=>"application/vnd.groove-vcard".freeze,
869
- ".vcs"=>"text/x-vcalendar".freeze,
870
- ".vcx"=>"application/vnd.vcx".freeze,
871
- ".vis"=>"application/vnd.visionary".freeze,
872
- ".viv"=>"video/vnd.vivo".freeze,
873
- ".vob"=>"video/x-ms-vob".freeze,
874
- ".vor"=>"application/vnd.stardivision.writer".freeze,
875
- ".vox"=>"application/x-authorware-bin".freeze,
876
- ".vrml"=>"model/vrml".freeze,
877
- ".vsd"=>"application/vnd.visio".freeze,
878
- ".vsf"=>"application/vnd.vsf".freeze,
879
- ".vss"=>"application/vnd.visio".freeze,
880
- ".vst"=>"application/vnd.visio".freeze,
881
- ".vsw"=>"application/vnd.visio".freeze,
882
- ".vtu"=>"model/vnd.vtu".freeze,
883
- ".vxml"=>"application/voicexml+xml".freeze,
884
- ".w3d"=>"application/x-director".freeze,
885
- ".wad"=>"application/x-doom".freeze,
886
- ".wav"=>"audio/x-wav".freeze,
887
- ".wax"=>"audio/x-ms-wax".freeze,
888
- ".wbmp"=>"image/vnd.wap.wbmp".freeze,
889
- ".wbmxl"=>"application/vnd.wap.wbxml".freeze,
890
- ".wbs"=>"application/vnd.criticaltools.wbs+xml".freeze,
891
- ".wbxml"=>"application/vnd.wap.wbxml".freeze,
892
- ".wcm"=>"application/vnd.ms-works".freeze,
893
- ".wdb"=>"application/vnd.ms-works".freeze,
894
- ".wdp"=>"image/vnd.ms-photo".freeze,
895
- ".weba"=>"audio/webm".freeze,
896
- ".webm"=>"video/webm".freeze,
897
- ".webp"=>"image/webp".freeze,
898
- ".wg"=>"application/vnd.pmi.widget".freeze,
899
- ".wgt"=>"application/widget".freeze,
900
- ".wks"=>"application/vnd.ms-works".freeze,
901
- ".wm"=>"video/x-ms-wm".freeze,
902
- ".wma"=>"audio/x-ms-wma".freeze,
903
- ".wmd"=>"application/x-ms-wmd".freeze,
904
- ".wmf"=>"application/x-msmetafile".freeze,
905
- ".wml"=>"text/vnd.wap.wml".freeze,
906
- ".wmlc"=>"application/vnd.wap.wmlc".freeze,
907
- ".wmls"=>"text/vnd.wap.wmlscript".freeze,
908
- ".wmlsc"=>"application/vnd.wap.wmlscriptc".freeze,
909
- ".wmv"=>"video/x-ms-wmv".freeze,
910
- ".wmx"=>"video/x-ms-wmx".freeze,
911
- ".wmz"=>"application/x-ms-wmz".freeze,
912
- ".woff"=>"application/font-woff".freeze,
913
- ".wpd"=>"application/vnd.wordperfect".freeze,
914
- ".wpl"=>"application/vnd.ms-wpl".freeze,
915
- ".wps"=>"application/vnd.ms-works".freeze,
916
- ".wqd"=>"application/vnd.wqd".freeze,
917
- ".wri"=>"application/x-mswrite".freeze,
918
- ".wrl"=>"model/vrml".freeze,
919
- ".wsdl"=>"application/wsdl+xml".freeze,
920
- ".wspolicy"=>"application/wspolicy+xml".freeze,
921
- ".wtb"=>"application/vnd.webturbo".freeze,
922
- ".wvx"=>"video/x-ms-wvx".freeze,
923
- ".x32"=>"application/x-authorware-bin".freeze,
924
- ".x3d"=>"model/x3d+xml".freeze,
925
- ".x3db"=>"model/x3d+binary".freeze,
926
- ".x3dbz"=>"model/x3d+binary".freeze,
927
- ".x3dv"=>"model/x3d+vrml".freeze,
928
- ".x3dvz"=>"model/x3d+vrml".freeze,
929
- ".x3dz"=>"model/x3d+xml".freeze,
930
- ".xaml"=>"application/xaml+xml".freeze,
931
- ".xap"=>"application/x-silverlight-app".freeze,
932
- ".xar"=>"application/vnd.xara".freeze,
933
- ".xbap"=>"application/x-ms-xbap".freeze,
934
- ".xbd"=>"application/vnd.fujixerox.docuworks.binder".freeze,
935
- ".xbm"=>"image/x-xbitmap".freeze,
936
- ".xdf"=>"application/xcap-diff+xml".freeze,
937
- ".xdm"=>"application/vnd.syncml.dm+xml".freeze,
938
- ".xdp"=>"application/vnd.adobe.xdp+xml".freeze,
939
- ".xdssc"=>"application/dssc+xml".freeze,
940
- ".xdw"=>"application/vnd.fujixerox.docuworks".freeze,
941
- ".xenc"=>"application/xenc+xml".freeze,
942
- ".xer"=>"application/patch-ops-error+xml".freeze,
943
- ".xfdf"=>"application/vnd.adobe.xfdf".freeze,
944
- ".xfdl"=>"application/vnd.xfdl".freeze,
945
- ".xht"=>"application/xhtml+xml".freeze,
946
- ".xhtml"=>"application/xhtml+xml".freeze,
947
- ".xhvml"=>"application/xv+xml".freeze,
948
- ".xif"=>"image/vnd.xiff".freeze,
949
- ".xla"=>"application/vnd.ms-excel".freeze,
950
- ".xlam"=>"application/vnd.ms-excel.addin.macroenabled.12".freeze,
951
- ".xlc"=>"application/vnd.ms-excel".freeze,
952
- ".xlf"=>"application/x-xliff+xml".freeze,
953
- ".xlm"=>"application/vnd.ms-excel".freeze,
954
- ".xls"=>"application/vnd.ms-excel".freeze,
955
- ".xlsb"=>"application/vnd.ms-excel.sheet.binary.macroenabled.12".freeze,
956
- ".xlsm"=>"application/vnd.ms-excel.sheet.macroenabled.12".freeze,
957
- ".xlsx"=>"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".freeze,
958
- ".xlt"=>"application/vnd.ms-excel".freeze,
959
- ".xltm"=>"application/vnd.ms-excel.template.macroenabled.12".freeze,
960
- ".xltx"=>"application/vnd.openxmlformats-officedocument.spreadsheetml.template".freeze,
961
- ".xlw"=>"application/vnd.ms-excel".freeze,
962
- ".xm"=>"audio/xm".freeze,
963
- ".xml"=>"application/xml".freeze,
964
- ".xo"=>"application/vnd.olpc-sugar".freeze,
965
- ".xop"=>"application/xop+xml".freeze,
966
- ".xpi"=>"application/x-xpinstall".freeze,
967
- ".xpl"=>"application/xproc+xml".freeze,
968
- ".xpm"=>"image/x-xpixmap".freeze,
969
- ".xpr"=>"application/vnd.is-xpr".freeze,
970
- ".xps"=>"application/vnd.ms-xpsdocument".freeze,
971
- ".xpw"=>"application/vnd.intercon.formnet".freeze,
972
- ".xpx"=>"application/vnd.intercon.formnet".freeze,
973
- ".xsl"=>"application/xml".freeze,
974
- ".xslt"=>"application/xslt+xml".freeze,
975
- ".xsm"=>"application/vnd.syncml+xml".freeze,
976
- ".xspf"=>"application/xspf+xml".freeze,
977
- ".xul"=>"application/vnd.mozilla.xul+xml".freeze,
978
- ".xvm"=>"application/xv+xml".freeze,
979
- ".xvml"=>"application/xv+xml".freeze,
980
- ".xwd"=>"image/x-xwindowdump".freeze,
981
- ".xyz"=>"chemical/x-xyz".freeze,
982
- ".xz"=>"application/x-xz".freeze,
983
- ".yang"=>"application/yang".freeze,
984
- ".yin"=>"application/yin+xml".freeze,
985
- ".z1"=>"application/x-zmachine".freeze,
986
- ".z2"=>"application/x-zmachine".freeze,
987
- ".z3"=>"application/x-zmachine".freeze,
988
- ".z4"=>"application/x-zmachine".freeze,
989
- ".z5"=>"application/x-zmachine".freeze,
990
- ".z6"=>"application/x-zmachine".freeze,
991
- ".z7"=>"application/x-zmachine".freeze,
992
- ".z8"=>"application/x-zmachine".freeze,
993
- ".zaz"=>"application/vnd.zzazz.deck+xml".freeze,
994
- ".zip"=>"application/zip".freeze,
995
- ".zir"=>"application/vnd.zul".freeze,
996
- ".zirz"=>"application/vnd.zul".freeze,
997
- ".zmm"=>"application/vnd.handheld-entertainment+xml".freeze,
998
- ############
999
- ## copy with no "." at the begining.
1000
- "123"=>"application/vnd.lotus-1-2-3".freeze,
1001
- "3dml"=>"text/vnd.in3d.3dml".freeze,
1002
- "3ds"=>"image/x-3ds".freeze,
1003
- "3g2"=>"video/3gpp2".freeze,
1004
- "3gp"=>"video/3gpp".freeze,
1005
- "7z"=>"application/x-7z-compressed".freeze,
1006
- "aab"=>"application/x-authorware-bin".freeze,
1007
- "aac"=>"audio/x-aac".freeze,
1008
- "aam"=>"application/x-authorware-map".freeze,
1009
- "aas"=>"application/x-authorware-seg".freeze,
1010
- "abw"=>"application/x-abiword".freeze,
1011
- "ac"=>"application/pkix-attr-cert".freeze,
1012
- "acc"=>"application/vnd.americandynamics.acc".freeze,
1013
- "ace"=>"application/x-ace-compressed".freeze,
1014
- "acu"=>"application/vnd.acucobol".freeze,
1015
- "acutc"=>"application/vnd.acucorp".freeze,
1016
- "adp"=>"audio/adpcm".freeze,
1017
- "aep"=>"application/vnd.audiograph".freeze,
1018
- "afm"=>"application/x-font-type1".freeze,
1019
- "afp"=>"application/vnd.ibm.modcap".freeze,
1020
- "ahead"=>"application/vnd.ahead.space".freeze,
1021
- "ai"=>"application/postscript".freeze,
1022
- "aif"=>"audio/x-aiff".freeze,
1023
- "aifc"=>"audio/x-aiff".freeze,
1024
- "aiff"=>"audio/x-aiff".freeze,
1025
- "air"=>"application/vnd.adobe.air-application-installer-package+zip".freeze,
1026
- "ait"=>"application/vnd.dvb.ait".freeze,
1027
- "ami"=>"application/vnd.amiga.ami".freeze,
1028
- "apk"=>"application/vnd.android.package-archive".freeze,
1029
- "appcache"=>"text/cache-manifest".freeze,
1030
- "application"=>"application/x-ms-application".freeze,
1031
- "apr"=>"application/vnd.lotus-approach".freeze,
1032
- "arc"=>"application/x-freearc".freeze,
1033
- "asc"=>"application/pgp-signature".freeze,
1034
- "asf"=>"video/x-ms-asf".freeze,
1035
- "asm"=>"text/x-asm".freeze,
1036
- "aso"=>"application/vnd.accpac.simply.aso".freeze,
1037
- "asx"=>"video/x-ms-asf".freeze,
1038
- "atc"=>"application/vnd.acucorp".freeze,
1039
- "atom"=>"application/atom+xml".freeze,
1040
- "atomcat"=>"application/atomcat+xml".freeze,
1041
- "atomsvc"=>"application/atomsvc+xml".freeze,
1042
- "atx"=>"application/vnd.antix.game-component".freeze,
1043
- "au"=>"audio/basic".freeze,
1044
- "avi"=>"video/x-msvideo".freeze,
1045
- "aw"=>"application/applixware".freeze,
1046
- "azf"=>"application/vnd.airzip.filesecure.azf".freeze,
1047
- "azs"=>"application/vnd.airzip.filesecure.azs".freeze,
1048
- "azw"=>"application/vnd.amazon.ebook".freeze,
1049
- "bat"=>"application/x-msdownload".freeze,
1050
- "bcpio"=>"application/x-bcpio".freeze,
1051
- "bdf"=>"application/x-font-bdf".freeze,
1052
- "bdm"=>"application/vnd.syncml.dm+wbxml".freeze,
1053
- "bed"=>"application/vnd.realvnc.bed".freeze,
1054
- "bh2"=>"application/vnd.fujitsu.oasysprs".freeze,
1055
- "bin"=>"application/octet-stream".freeze,
1056
- "blb"=>"application/x-blorb".freeze,
1057
- "blorb"=>"application/x-blorb".freeze,
1058
- "bmi"=>"application/vnd.bmi".freeze,
1059
- "bmp"=>"image/bmp".freeze,
1060
- "book"=>"application/vnd.framemaker".freeze,
1061
- "box"=>"application/vnd.previewsystems.box".freeze,
1062
- "boz"=>"application/x-bzip2".freeze,
1063
- "bpk"=>"application/octet-stream".freeze,
1064
- "btif"=>"image/prs.btif".freeze,
1065
- "bz"=>"application/x-bzip".freeze,
1066
- "bz2"=>"application/x-bzip2".freeze,
1067
- "c"=>"text/x-c".freeze,
1068
- "c11amc"=>"application/vnd.cluetrust.cartomobile-config".freeze,
1069
- "c11amz"=>"application/vnd.cluetrust.cartomobile-config-pkg".freeze,
1070
- "c4d"=>"application/vnd.clonk.c4group".freeze,
1071
- "c4f"=>"application/vnd.clonk.c4group".freeze,
1072
- "c4g"=>"application/vnd.clonk.c4group".freeze,
1073
- "c4p"=>"application/vnd.clonk.c4group".freeze,
1074
- "c4u"=>"application/vnd.clonk.c4group".freeze,
1075
- "cab"=>"application/vnd.ms-cab-compressed".freeze,
1076
- "caf"=>"audio/x-caf".freeze,
1077
- "cap"=>"application/vnd.tcpdump.pcap".freeze,
1078
- "car"=>"application/vnd.curl.car".freeze,
1079
- "cat"=>"application/vnd.ms-pki.seccat".freeze,
1080
- "cb7"=>"application/x-cbr".freeze,
1081
- "cba"=>"application/x-cbr".freeze,
1082
- "cbr"=>"application/x-cbr".freeze,
1083
- "cbt"=>"application/x-cbr".freeze,
1084
- "cbz"=>"application/x-cbr".freeze,
1085
- "cc"=>"text/x-c".freeze,
1086
- "cct"=>"application/x-director".freeze,
1087
- "ccxml"=>"application/ccxml+xml".freeze,
1088
- "cdbcmsg"=>"application/vnd.contact.cmsg".freeze,
1089
- "cdf"=>"application/x-netcdf".freeze,
1090
- "cdkey"=>"application/vnd.mediastation.cdkey".freeze,
1091
- "cdmia"=>"application/cdmi-capability".freeze,
1092
- "cdmic"=>"application/cdmi-container".freeze,
1093
- "cdmid"=>"application/cdmi-domain".freeze,
1094
- "cdmio"=>"application/cdmi-object".freeze,
1095
- "cdmiq"=>"application/cdmi-queue".freeze,
1096
- "cdx"=>"chemical/x-cdx".freeze,
1097
- "cdxml"=>"application/vnd.chemdraw+xml".freeze,
1098
- "cdy"=>"application/vnd.cinderella".freeze,
1099
- "cer"=>"application/pkix-cert".freeze,
1100
- "cfs"=>"application/x-cfs-compressed".freeze,
1101
- "cgm"=>"image/cgm".freeze,
1102
- "chat"=>"application/x-chat".freeze,
1103
- "chm"=>"application/vnd.ms-htmlhelp".freeze,
1104
- "chrt"=>"application/vnd.kde.kchart".freeze,
1105
- "cif"=>"chemical/x-cif".freeze,
1106
- "cii"=>"application/vnd.anser-web-certificate-issue-initiation".freeze,
1107
- "cil"=>"application/vnd.ms-artgalry".freeze,
1108
- "cla"=>"application/vnd.claymore".freeze,
1109
- "class"=>"application/java-vm".freeze,
1110
- "clkk"=>"application/vnd.crick.clicker.keyboard".freeze,
1111
- "clkp"=>"application/vnd.crick.clicker.palette".freeze,
1112
- "clkt"=>"application/vnd.crick.clicker.template".freeze,
1113
- "clkw"=>"application/vnd.crick.clicker.wordbank".freeze,
1114
- "clkx"=>"application/vnd.crick.clicker".freeze,
1115
- "clp"=>"application/x-msclip".freeze,
1116
- "cmc"=>"application/vnd.cosmocaller".freeze,
1117
- "cmdf"=>"chemical/x-cmdf".freeze,
1118
- "cml"=>"chemical/x-cml".freeze,
1119
- "cmp"=>"application/vnd.yellowriver-custom-menu".freeze,
1120
- "cmx"=>"image/x-cmx".freeze,
1121
- "cod"=>"application/vnd.rim.cod".freeze,
1122
- "com"=>"application/x-msdownload".freeze,
1123
- "conf"=>"text/plain".freeze,
1124
- "cpio"=>"application/x-cpio".freeze,
1125
- "cpp"=>"text/x-c".freeze,
1126
- "cpt"=>"application/mac-compactpro".freeze,
1127
- "crd"=>"application/x-mscardfile".freeze,
1128
- "crl"=>"application/pkix-crl".freeze,
1129
- "crt"=>"application/x-x509-ca-cert".freeze,
1130
- "cryptonote"=>"application/vnd.rig.cryptonote".freeze,
1131
- "csh"=>"application/x-csh".freeze,
1132
- "csml"=>"chemical/x-csml".freeze,
1133
- "csp"=>"application/vnd.commonspace".freeze,
1134
- "css"=>"text/css".freeze,
1135
- "cst"=>"application/x-director".freeze,
1136
- "csv"=>"text/csv".freeze,
1137
- "cu"=>"application/cu-seeme".freeze,
1138
- "curl"=>"text/vnd.curl".freeze,
1139
- "cww"=>"application/prs.cww".freeze,
1140
- "cxt"=>"application/x-director".freeze,
1141
- "cxx"=>"text/x-c".freeze,
1142
- "dae"=>"model/vnd.collada+xml".freeze,
1143
- "daf"=>"application/vnd.mobius.daf".freeze,
1144
- "dart"=>"application/vnd.dart".freeze,
1145
- "dataless"=>"application/vnd.fdsn.seed".freeze,
1146
- "davmount"=>"application/davmount+xml".freeze,
1147
- "dbk"=>"application/docbook+xml".freeze,
1148
- "dcr"=>"application/x-director".freeze,
1149
- "dcurl"=>"text/vnd.curl.dcurl".freeze,
1150
- "dd2"=>"application/vnd.oma.dd2+xml".freeze,
1151
- "ddd"=>"application/vnd.fujixerox.ddd".freeze,
1152
- "deb"=>"application/x-debian-package".freeze,
1153
- "def"=>"text/plain".freeze,
1154
- "deploy"=>"application/octet-stream".freeze,
1155
- "der"=>"application/x-x509-ca-cert".freeze,
1156
- "dfac"=>"application/vnd.dreamfactory".freeze,
1157
- "dgc"=>"application/x-dgc-compressed".freeze,
1158
- "dic"=>"text/x-c".freeze,
1159
- "dif"=>"video/x-dv".freeze,
1160
- "dir"=>"application/x-director".freeze,
1161
- "dis"=>"application/vnd.mobius.dis".freeze,
1162
- "dist"=>"application/octet-stream".freeze,
1163
- "distz"=>"application/octet-stream".freeze,
1164
- "djv"=>"image/vnd.djvu".freeze,
1165
- "djvu"=>"image/vnd.djvu".freeze,
1166
- "dll"=>"application/x-msdownload".freeze,
1167
- "dmg"=>"application/x-apple-diskimage".freeze,
1168
- "dmp"=>"application/vnd.tcpdump.pcap".freeze,
1169
- "dms"=>"application/octet-stream".freeze,
1170
- "dna"=>"application/vnd.dna".freeze,
1171
- "doc"=>"application/msword".freeze,
1172
- "docm"=>"application/vnd.ms-word.document.macroenabled.12".freeze,
1173
- "docx"=>"application/vnd.openxmlformats-officedocument.wordprocessingml.document".freeze,
1174
- "dot"=>"application/msword".freeze,
1175
- "dotm"=>"application/vnd.ms-word.template.macroenabled.12".freeze,
1176
- "dotx"=>"application/vnd.openxmlformats-officedocument.wordprocessingml.template".freeze,
1177
- "dp"=>"application/vnd.osgi.dp".freeze,
1178
- "dpg"=>"application/vnd.dpgraph".freeze,
1179
- "dra"=>"audio/vnd.dra".freeze,
1180
- "dsc"=>"text/prs.lines.tag".freeze,
1181
- "dssc"=>"application/dssc+der".freeze,
1182
- "dtb"=>"application/x-dtbook+xml".freeze,
1183
- "dtd"=>"application/xml-dtd".freeze,
1184
- "dts"=>"audio/vnd.dts".freeze,
1185
- "dtshd"=>"audio/vnd.dts.hd".freeze,
1186
- "dump"=>"application/octet-stream".freeze,
1187
- "dv"=>"video/x-dv".freeze,
1188
- "dvb"=>"video/vnd.dvb.file".freeze,
1189
- "dvi"=>"application/x-dvi".freeze,
1190
- "dwf"=>"model/vnd.dwf".freeze,
1191
- "dwg"=>"image/vnd.dwg".freeze,
1192
- "dxf"=>"image/vnd.dxf".freeze,
1193
- "dxp"=>"application/vnd.spotfire.dxp".freeze,
1194
- "dxr"=>"application/x-director".freeze,
1195
- "ecelp4800"=>"audio/vnd.nuera.ecelp4800".freeze,
1196
- "ecelp7470"=>"audio/vnd.nuera.ecelp7470".freeze,
1197
- "ecelp9600"=>"audio/vnd.nuera.ecelp9600".freeze,
1198
- "ecma"=>"application/ecmascript".freeze,
1199
- "edm"=>"application/vnd.novadigm.edm".freeze,
1200
- "edx"=>"application/vnd.novadigm.edx".freeze,
1201
- "efif"=>"application/vnd.picsel".freeze,
1202
- "ei6"=>"application/vnd.pg.osasli".freeze,
1203
- "elc"=>"application/octet-stream".freeze,
1204
- "emf"=>"application/x-msmetafile".freeze,
1205
- "eml"=>"message/rfc822".freeze,
1206
- "emma"=>"application/emma+xml".freeze,
1207
- "emz"=>"application/x-msmetafile".freeze,
1208
- "eol"=>"audio/vnd.digital-winds".freeze,
1209
- "eot"=>"application/vnd.ms-fontobject".freeze,
1210
- "eps"=>"application/postscript".freeze,
1211
- "epub"=>"application/epub+zip".freeze,
1212
- "es3"=>"application/vnd.eszigno3+xml".freeze,
1213
- "esa"=>"application/vnd.osgi.subsystem".freeze,
1214
- "esf"=>"application/vnd.epson.esf".freeze,
1215
- "et3"=>"application/vnd.eszigno3+xml".freeze,
1216
- "etx"=>"text/x-setext".freeze,
1217
- "eva"=>"application/x-eva".freeze,
1218
- "evy"=>"application/x-envoy".freeze,
1219
- "exe"=>"application/x-msdownload".freeze,
1220
- "exi"=>"application/exi".freeze,
1221
- "ext"=>"application/vnd.novadigm.ext".freeze,
1222
- "ez"=>"application/andrew-inset".freeze,
1223
- "ez2"=>"application/vnd.ezpix-album".freeze,
1224
- "ez3"=>"application/vnd.ezpix-package".freeze,
1225
- "f"=>"text/x-fortran".freeze,
1226
- "f4v"=>"video/x-f4v".freeze,
1227
- "f77"=>"text/x-fortran".freeze,
1228
- "f90"=>"text/x-fortran".freeze,
1229
- "fbs"=>"image/vnd.fastbidsheet".freeze,
1230
- "fcdt"=>"application/vnd.adobe.formscentral.fcdt".freeze,
1231
- "fcs"=>"application/vnd.isac.fcs".freeze,
1232
- "fdf"=>"application/vnd.fdf".freeze,
1233
- "fe_launch"=>"application/vnd.denovo.fcselayout-link".freeze,
1234
- "fg5"=>"application/vnd.fujitsu.oasysgp".freeze,
1235
- "fgd"=>"application/x-director".freeze,
1236
- "fh"=>"image/x-freehand".freeze,
1237
- "fh4"=>"image/x-freehand".freeze,
1238
- "fh5"=>"image/x-freehand".freeze,
1239
- "fh7"=>"image/x-freehand".freeze,
1240
- "fhc"=>"image/x-freehand".freeze,
1241
- "fig"=>"application/x-xfig".freeze,
1242
- "flac"=>"audio/x-flac".freeze,
1243
- "fli"=>"video/x-fli".freeze,
1244
- "flo"=>"application/vnd.micrografx.flo".freeze,
1245
- "flv"=>"video/x-flv".freeze,
1246
- "flw"=>"application/vnd.kde.kivio".freeze,
1247
- "flx"=>"text/vnd.fmi.flexstor".freeze,
1248
- "fly"=>"text/vnd.fly".freeze,
1249
- "fm"=>"application/vnd.framemaker".freeze,
1250
- "fnc"=>"application/vnd.frogans.fnc".freeze,
1251
- "for"=>"text/x-fortran".freeze,
1252
- "fpx"=>"image/vnd.fpx".freeze,
1253
- "frame"=>"application/vnd.framemaker".freeze,
1254
- "fsc"=>"application/vnd.fsc.weblaunch".freeze,
1255
- "fst"=>"image/vnd.fst".freeze,
1256
- "ftc"=>"application/vnd.fluxtime.clip".freeze,
1257
- "fti"=>"application/vnd.anser-web-funds-transfer-initiation".freeze,
1258
- "fvt"=>"video/vnd.fvt".freeze,
1259
- "fxp"=>"application/vnd.adobe.fxp".freeze,
1260
- "fxpl"=>"application/vnd.adobe.fxp".freeze,
1261
- "fzs"=>"application/vnd.fuzzysheet".freeze,
1262
- "g2w"=>"application/vnd.geoplan".freeze,
1263
- "g3"=>"image/g3fax".freeze,
1264
- "g3w"=>"application/vnd.geospace".freeze,
1265
- "gac"=>"application/vnd.groove-account".freeze,
1266
- "gam"=>"application/x-tads".freeze,
1267
- "gbr"=>"application/rpki-ghostbusters".freeze,
1268
- "gca"=>"application/x-gca-compressed".freeze,
1269
- "gdl"=>"model/vnd.gdl".freeze,
1270
- "geo"=>"application/vnd.dynageo".freeze,
1271
- "gex"=>"application/vnd.geometry-explorer".freeze,
1272
- "ggb"=>"application/vnd.geogebra.file".freeze,
1273
- "ggt"=>"application/vnd.geogebra.tool".freeze,
1274
- "ghf"=>"application/vnd.groove-help".freeze,
1275
- "gif"=>"image/gif".freeze,
1276
- "gim"=>"application/vnd.groove-identity-message".freeze,
1277
- "gml"=>"application/gml+xml".freeze,
1278
- "gmx"=>"application/vnd.gmx".freeze,
1279
- "gnumeric"=>"application/x-gnumeric".freeze,
1280
- "gph"=>"application/vnd.flographit".freeze,
1281
- "gpx"=>"application/gpx+xml".freeze,
1282
- "gqf"=>"application/vnd.grafeq".freeze,
1283
- "gqs"=>"application/vnd.grafeq".freeze,
1284
- "gram"=>"application/srgs".freeze,
1285
- "gramps"=>"application/x-gramps-xml".freeze,
1286
- "gre"=>"application/vnd.geometry-explorer".freeze,
1287
- "grv"=>"application/vnd.groove-injector".freeze,
1288
- "grxml"=>"application/srgs+xml".freeze,
1289
- "gsf"=>"application/x-font-ghostscript".freeze,
1290
- "gtar"=>"application/x-gtar".freeze,
1291
- "gtm"=>"application/vnd.groove-tool-message".freeze,
1292
- "gtw"=>"model/vnd.gtw".freeze,
1293
- "gv"=>"text/vnd.graphviz".freeze,
1294
- "gxf"=>"application/gxf".freeze,
1295
- "gxt"=>"application/vnd.geonext".freeze,
1296
- "h"=>"text/x-c".freeze,
1297
- "h261"=>"video/h261".freeze,
1298
- "h263"=>"video/h263".freeze,
1299
- "h264"=>"video/h264".freeze,
1300
- "hal"=>"application/vnd.hal+xml".freeze,
1301
- "hbci"=>"application/vnd.hbci".freeze,
1302
- "hdf"=>"application/x-hdf".freeze,
1303
- "hh"=>"text/x-c".freeze,
1304
- "hlp"=>"application/winhlp".freeze,
1305
- "hpgl"=>"application/vnd.hp-hpgl".freeze,
1306
- "hpid"=>"application/vnd.hp-hpid".freeze,
1307
- "hps"=>"application/vnd.hp-hps".freeze,
1308
- "hqx"=>"application/mac-binhex40".freeze,
1309
- "htke"=>"application/vnd.kenameaapp".freeze,
1310
- "htm"=>"text/html".freeze,
1311
- "html"=>"text/html".freeze,
1312
- "hvd"=>"application/vnd.yamaha.hv-dic".freeze,
1313
- "hvp"=>"application/vnd.yamaha.hv-voice".freeze,
1314
- "hvs"=>"application/vnd.yamaha.hv-script".freeze,
1315
- "i2g"=>"application/vnd.intergeo".freeze,
1316
- "icc"=>"application/vnd.iccprofile".freeze,
1317
- "ice"=>"x-conference/x-cooltalk".freeze,
1318
- "icm"=>"application/vnd.iccprofile".freeze,
1319
- "ico"=>"image/x-icon".freeze,
1320
- "ics"=>"text/calendar".freeze,
1321
- "ief"=>"image/ief".freeze,
1322
- "ifb"=>"text/calendar".freeze,
1323
- "ifm"=>"application/vnd.shana.informed.formdata".freeze,
1324
- "iges"=>"model/iges".freeze,
1325
- "igl"=>"application/vnd.igloader".freeze,
1326
- "igm"=>"application/vnd.insors.igm".freeze,
1327
- "igs"=>"model/iges".freeze,
1328
- "igx"=>"application/vnd.micrografx.igx".freeze,
1329
- "iif"=>"application/vnd.shana.informed.interchange".freeze,
1330
- "imp"=>"application/vnd.accpac.simply.imp".freeze,
1331
- "ims"=>"application/vnd.ms-ims".freeze,
1332
- "in"=>"text/plain".freeze,
1333
- "ink"=>"application/inkml+xml".freeze,
1334
- "inkml"=>"application/inkml+xml".freeze,
1335
- "install"=>"application/x-install-instructions".freeze,
1336
- "iota"=>"application/vnd.astraea-software.iota".freeze,
1337
- "ipfix"=>"application/ipfix".freeze,
1338
- "ipk"=>"application/vnd.shana.informed.package".freeze,
1339
- "irm"=>"application/vnd.ibm.rights-management".freeze,
1340
- "irp"=>"application/vnd.irepository.package+xml".freeze,
1341
- "iso"=>"application/x-iso9660-image".freeze,
1342
- "itp"=>"application/vnd.shana.informed.formtemplate".freeze,
1343
- "ivp"=>"application/vnd.immervision-ivp".freeze,
1344
- "ivu"=>"application/vnd.immervision-ivu".freeze,
1345
- "jad"=>"text/vnd.sun.j2me.app-descriptor".freeze,
1346
- "jam"=>"application/vnd.jam".freeze,
1347
- "jar"=>"application/java-archive".freeze,
1348
- "java"=>"text/x-java-source".freeze,
1349
- "jisp"=>"application/vnd.jisp".freeze,
1350
- "jlt"=>"application/vnd.hp-jlyt".freeze,
1351
- "jnlp"=>"application/x-java-jnlp-file".freeze,
1352
- "joda"=>"application/vnd.joost.joda-archive".freeze,
1353
- "jp2"=>"image/jp2".freeze,
1354
- "jpe"=>"image/jpeg".freeze,
1355
- "jpeg"=>"image/jpeg".freeze,
1356
- "jpg"=>"image/jpeg".freeze,
1357
- "jpgm"=>"video/jpm".freeze,
1358
- "jpgv"=>"video/jpeg".freeze,
1359
- "jpm"=>"video/jpm".freeze,
1360
- "js"=>"application/javascript".freeze,
1361
- "json"=>"application/json".freeze,
1362
- "jsonml"=>"application/jsonml+json".freeze,
1363
- "kar"=>"audio/midi".freeze,
1364
- "karbon"=>"application/vnd.kde.karbon".freeze,
1365
- "kfo"=>"application/vnd.kde.kformula".freeze,
1366
- "kia"=>"application/vnd.kidspiration".freeze,
1367
- "kml"=>"application/vnd.google-earth.kml+xml".freeze,
1368
- "kmz"=>"application/vnd.google-earth.kmz".freeze,
1369
- "kne"=>"application/vnd.kinar".freeze,
1370
- "knp"=>"application/vnd.kinar".freeze,
1371
- "kon"=>"application/vnd.kde.kontour".freeze,
1372
- "kpr"=>"application/vnd.kde.kpresenter".freeze,
1373
- "kpt"=>"application/vnd.kde.kpresenter".freeze,
1374
- "kpxx"=>"application/vnd.ds-keypoint".freeze,
1375
- "ksp"=>"application/vnd.kde.kspread".freeze,
1376
- "ktr"=>"application/vnd.kahootz".freeze,
1377
- "ktx"=>"image/ktx".freeze,
1378
- "ktz"=>"application/vnd.kahootz".freeze,
1379
- "kwd"=>"application/vnd.kde.kword".freeze,
1380
- "kwt"=>"application/vnd.kde.kword".freeze,
1381
- "lasxml"=>"application/vnd.las.las+xml".freeze,
1382
- "latex"=>"application/x-latex".freeze,
1383
- "lbd"=>"application/vnd.llamagraphics.life-balance.desktop".freeze,
1384
- "lbe"=>"application/vnd.llamagraphics.life-balance.exchange+xml".freeze,
1385
- "les"=>"application/vnd.hhe.lesson-player".freeze,
1386
- "lha"=>"application/octet-stream".freeze,
1387
- "link66"=>"application/vnd.route66.link66+xml".freeze,
1388
- "list"=>"text/plain".freeze,
1389
- "list3820"=>"application/vnd.ibm.modcap".freeze,
1390
- "listafp"=>"application/vnd.ibm.modcap".freeze,
1391
- "lnk"=>"application/x-ms-shortcut".freeze,
1392
- "log"=>"text/plain".freeze,
1393
- "lostxml"=>"application/lost+xml".freeze,
1394
- "lrf"=>"application/octet-stream".freeze,
1395
- "lrm"=>"application/vnd.ms-lrm".freeze,
1396
- "ltf"=>"application/vnd.frogans.ltf".freeze,
1397
- "lvp"=>"audio/vnd.lucent.voice".freeze,
1398
- "lwp"=>"application/vnd.lotus-wordpro".freeze,
1399
- "lzh"=>"application/octet-stream".freeze,
1400
- "m13"=>"application/x-msmediaview".freeze,
1401
- "m14"=>"application/x-msmediaview".freeze,
1402
- "m1v"=>"video/mpeg".freeze,
1403
- "m21"=>"application/mp21".freeze,
1404
- "m2a"=>"audio/mpeg".freeze,
1405
- "m2v"=>"video/mpeg".freeze,
1406
- "m3a"=>"audio/mpeg".freeze,
1407
- "m3u"=>"audio/x-mpegurl".freeze,
1408
- "m3u8"=>"application/vnd.apple.mpegurl".freeze,
1409
- "m4a"=>"audio/mp4a-latm".freeze,
1410
- "m4b"=>"audio/mp4a-latm".freeze,
1411
- "m4p"=>"audio/mp4a-latm".freeze,
1412
- "m4u"=>"video/vnd.mpegurl".freeze,
1413
- "m4v"=>"video/x-m4v".freeze,
1414
- "ma"=>"application/mathematica".freeze,
1415
- "mac"=>"image/x-macpaint".freeze,
1416
- "mads"=>"application/mads+xml".freeze,
1417
- "mag"=>"application/vnd.ecowin.chart".freeze,
1418
- "maker"=>"application/vnd.framemaker".freeze,
1419
- "man"=>"application/x-troff-man".freeze,
1420
- "mar"=>"application/octet-stream".freeze,
1421
- "mathml"=>"application/mathml+xml".freeze,
1422
- "mb"=>"application/mathematica".freeze,
1423
- "mbk"=>"application/vnd.mobius.mbk".freeze,
1424
- "mbox"=>"application/mbox".freeze,
1425
- "mc1"=>"application/vnd.medcalcdata".freeze,
1426
- "mcd"=>"application/vnd.mcd".freeze,
1427
- "mcurl"=>"text/vnd.curl.mcurl".freeze,
1428
- "mdb"=>"application/x-msaccess".freeze,
1429
- "mdi"=>"image/vnd.ms-modi".freeze,
1430
- "me"=>"text/troff".freeze,
1431
- "mesh"=>"model/mesh".freeze,
1432
- "meta4"=>"application/metalink4+xml".freeze,
1433
- "metalink"=>"application/metalink+xml".freeze,
1434
- "mets"=>"application/mets+xml".freeze,
1435
- "mfm"=>"application/vnd.mfmp".freeze,
1436
- "mft"=>"application/rpki-manifest".freeze,
1437
- "mgp"=>"application/vnd.osgeo.mapguide.package".freeze,
1438
- "mgz"=>"application/vnd.proteus.magazine".freeze,
1439
- "mid"=>"audio/midi".freeze,
1440
- "midi"=>"audio/midi".freeze,
1441
- "mie"=>"application/x-mie".freeze,
1442
- "mif"=>"application/vnd.mif".freeze,
1443
- "mime"=>"message/rfc822".freeze,
1444
- "mj2"=>"video/mj2".freeze,
1445
- "mjp2"=>"video/mj2".freeze,
1446
- "mk3d"=>"video/x-matroska".freeze,
1447
- "mka"=>"audio/x-matroska".freeze,
1448
- "mks"=>"video/x-matroska".freeze,
1449
- "mkv"=>"video/x-matroska".freeze,
1450
- "mlp"=>"application/vnd.dolby.mlp".freeze,
1451
- "mmd"=>"application/vnd.chipnuts.karaoke-mmd".freeze,
1452
- "mmf"=>"application/vnd.smaf".freeze,
1453
- "mmr"=>"image/vnd.fujixerox.edmics-mmr".freeze,
1454
- "mng"=>"video/x-mng".freeze,
1455
- "mny"=>"application/x-msmoney".freeze,
1456
- "mobi"=>"application/x-mobipocket-ebook".freeze,
1457
- "mods"=>"application/mods+xml".freeze,
1458
- "mov"=>"video/quicktime".freeze,
1459
- "movie"=>"video/x-sgi-movie".freeze,
1460
- "mp2"=>"audio/mpeg".freeze,
1461
- "mp21"=>"application/mp21".freeze,
1462
- "mp2a"=>"audio/mpeg".freeze,
1463
- "mp3"=>"audio/mpeg".freeze,
1464
- "mp4"=>"video/mp4".freeze,
1465
- "mp4a"=>"audio/mp4".freeze,
1466
- "mp4s"=>"application/mp4".freeze,
1467
- "mp4v"=>"video/mp4".freeze,
1468
- "mpc"=>"application/vnd.mophun.certificate".freeze,
1469
- "mpe"=>"video/mpeg".freeze,
1470
- "mpeg"=>"video/mpeg".freeze,
1471
- "mpg"=>"video/mpeg".freeze,
1472
- "mpg4"=>"video/mp4".freeze,
1473
- "mpga"=>"audio/mpeg".freeze,
1474
- "mpkg"=>"application/vnd.apple.installer+xml".freeze,
1475
- "mpm"=>"application/vnd.blueice.multipass".freeze,
1476
- "mpn"=>"application/vnd.mophun.application".freeze,
1477
- "mpp"=>"application/vnd.ms-project".freeze,
1478
- "mpt"=>"application/vnd.ms-project".freeze,
1479
- "mpy"=>"application/vnd.ibm.minipay".freeze,
1480
- "mqy"=>"application/vnd.mobius.mqy".freeze,
1481
- "mrc"=>"application/marc".freeze,
1482
- "mrcx"=>"application/marcxml+xml".freeze,
1483
- "ms"=>"application/x-troff-ms".freeze,
1484
- "mscml"=>"application/mediaservercontrol+xml".freeze,
1485
- "mseed"=>"application/vnd.fdsn.mseed".freeze,
1486
- "mseq"=>"application/vnd.mseq".freeze,
1487
- "msf"=>"application/vnd.epson.msf".freeze,
1488
- "msh"=>"model/mesh".freeze,
1489
- "msi"=>"application/x-msdownload".freeze,
1490
- "msl"=>"application/vnd.mobius.msl".freeze,
1491
- "msty"=>"application/vnd.muvee.style".freeze,
1492
- "mts"=>"model/vnd.mts".freeze,
1493
- "mus"=>"application/vnd.musician".freeze,
1494
- "musicxml"=>"application/vnd.recordare.musicxml+xml".freeze,
1495
- "mvb"=>"application/x-msmediaview".freeze,
1496
- "mwf"=>"application/vnd.mfer".freeze,
1497
- "mxf"=>"application/mxf".freeze,
1498
- "mxl"=>"application/vnd.recordare.musicxml".freeze,
1499
- "mxml"=>"application/xv+xml".freeze,
1500
- "mxs"=>"application/vnd.triscape.mxs".freeze,
1501
- "mxu"=>"video/vnd.mpegurl".freeze,
1502
- "n-gage"=>"application/vnd.nokia.n-gage.symbian.install".freeze,
1503
- "n3"=>"text/n3".freeze,
1504
- "nb"=>"application/mathematica".freeze,
1505
- "nbp"=>"application/vnd.wolfram.player".freeze,
1506
- "nc"=>"application/x-netcdf".freeze,
1507
- "ncx"=>"application/x-dtbncx+xml".freeze,
1508
- "nfo"=>"text/x-nfo".freeze,
1509
- "ngdat"=>"application/vnd.nokia.n-gage.data".freeze,
1510
- "nitf"=>"application/vnd.nitf".freeze,
1511
- "nlu"=>"application/vnd.neurolanguage.nlu".freeze,
1512
- "nml"=>"application/vnd.enliven".freeze,
1513
- "nnd"=>"application/vnd.noblenet-directory".freeze,
1514
- "nns"=>"application/vnd.noblenet-sealer".freeze,
1515
- "nnw"=>"application/vnd.noblenet-web".freeze,
1516
- "npx"=>"image/vnd.net-fpx".freeze,
1517
- "nsc"=>"application/x-conference".freeze,
1518
- "nsf"=>"application/vnd.lotus-notes".freeze,
1519
- "ntf"=>"application/vnd.nitf".freeze,
1520
- "nzb"=>"application/x-nzb".freeze,
1521
- "oa2"=>"application/vnd.fujitsu.oasys2".freeze,
1522
- "oa3"=>"application/vnd.fujitsu.oasys3".freeze,
1523
- "oas"=>"application/vnd.fujitsu.oasys".freeze,
1524
- "obd"=>"application/x-msbinder".freeze,
1525
- "obj"=>"application/x-tgif".freeze,
1526
- "oda"=>"application/oda".freeze,
1527
- "odb"=>"application/vnd.oasis.opendocument.database".freeze,
1528
- "odc"=>"application/vnd.oasis.opendocument.chart".freeze,
1529
- "odf"=>"application/vnd.oasis.opendocument.formula".freeze,
1530
- "odft"=>"application/vnd.oasis.opendocument.formula-template".freeze,
1531
- "odg"=>"application/vnd.oasis.opendocument.graphics".freeze,
1532
- "odi"=>"application/vnd.oasis.opendocument.image".freeze,
1533
- "odm"=>"application/vnd.oasis.opendocument.text-master".freeze,
1534
- "odp"=>"application/vnd.oasis.opendocument.presentation".freeze,
1535
- "ods"=>"application/vnd.oasis.opendocument.spreadsheet".freeze,
1536
- "odt"=>"application/vnd.oasis.opendocument.text".freeze,
1537
- "oga"=>"audio/ogg".freeze,
1538
- "ogg"=>"audio/ogg".freeze,
1539
- "ogv"=>"video/ogg".freeze,
1540
- "ogx"=>"application/ogg".freeze,
1541
- "omdoc"=>"application/omdoc+xml".freeze,
1542
- "onepkg"=>"application/onenote".freeze,
1543
- "onetmp"=>"application/onenote".freeze,
1544
- "onetoc"=>"application/onenote".freeze,
1545
- "onetoc2"=>"application/onenote".freeze,
1546
- "opf"=>"application/oebps-package+xml".freeze,
1547
- "opml"=>"text/x-opml".freeze,
1548
- "oprc"=>"application/vnd.palm".freeze,
1549
- "org"=>"application/vnd.lotus-organizer".freeze,
1550
- "osf"=>"application/vnd.yamaha.openscoreformat".freeze,
1551
- "osfpvg"=>"application/vnd.yamaha.openscoreformat.osfpvg+xml".freeze,
1552
- "otc"=>"application/vnd.oasis.opendocument.chart-template".freeze,
1553
- "otf"=>"application/x-font-otf".freeze,
1554
- "otg"=>"application/vnd.oasis.opendocument.graphics-template".freeze,
1555
- "oth"=>"application/vnd.oasis.opendocument.text-web".freeze,
1556
- "oti"=>"application/vnd.oasis.opendocument.image-template".freeze,
1557
- "otp"=>"application/vnd.oasis.opendocument.presentation-template".freeze,
1558
- "ots"=>"application/vnd.oasis.opendocument.spreadsheet-template".freeze,
1559
- "ott"=>"application/vnd.oasis.opendocument.text-template".freeze,
1560
- "oxps"=>"application/oxps".freeze,
1561
- "oxt"=>"application/vnd.openofficeorg.extension".freeze,
1562
- "p"=>"text/x-pascal".freeze,
1563
- "p10"=>"application/pkcs10".freeze,
1564
- "p12"=>"application/x-pkcs12".freeze,
1565
- "p7b"=>"application/x-pkcs7-certificates".freeze,
1566
- "p7c"=>"application/pkcs7-mime".freeze,
1567
- "p7m"=>"application/pkcs7-mime".freeze,
1568
- "p7r"=>"application/x-pkcs7-certreqresp".freeze,
1569
- "p7s"=>"application/pkcs7-signature".freeze,
1570
- "p8"=>"application/pkcs8".freeze,
1571
- "pas"=>"text/x-pascal".freeze,
1572
- "paw"=>"application/vnd.pawaafile".freeze,
1573
- "pbd"=>"application/vnd.powerbuilder6".freeze,
1574
- "pbm"=>"image/x-portable-bitmap".freeze,
1575
- "pcap"=>"application/vnd.tcpdump.pcap".freeze,
1576
- "pcf"=>"application/x-font-pcf".freeze,
1577
- "pcl"=>"application/vnd.hp-pcl".freeze,
1578
- "pclxl"=>"application/vnd.hp-pclxl".freeze,
1579
- "pct"=>"image/x-pict".freeze,
1580
- "pcurl"=>"application/vnd.curl.pcurl".freeze,
1581
- "pcx"=>"image/x-pcx".freeze,
1582
- "pdb"=>"application/vnd.palm".freeze,
1583
- "pdf"=>"application/pdf".freeze,
1584
- "pfa"=>"application/x-font-type1".freeze,
1585
- "pfb"=>"application/x-font-type1".freeze,
1586
- "pfm"=>"application/x-font-type1".freeze,
1587
- "pfr"=>"application/font-tdpfr".freeze,
1588
- "pfx"=>"application/x-pkcs12".freeze,
1589
- "pgm"=>"image/x-portable-graymap".freeze,
1590
- "pgn"=>"application/x-chess-pgn".freeze,
1591
- "pgp"=>"application/pgp-encrypted".freeze,
1592
- "pic"=>"image/pict".freeze,
1593
- "pict"=>"image/pict".freeze,
1594
- "pkg"=>"application/octet-stream".freeze,
1595
- "pki"=>"application/pkixcmp".freeze,
1596
- "pkipath"=>"application/pkix-pkipath".freeze,
1597
- "plb"=>"application/vnd.3gpp.pic-bw-large".freeze,
1598
- "plc"=>"application/vnd.mobius.plc".freeze,
1599
- "plf"=>"application/vnd.pocketlearn".freeze,
1600
- "pls"=>"application/pls+xml".freeze,
1601
- "pml"=>"application/vnd.ctc-posml".freeze,
1602
- "png"=>"image/png".freeze,
1603
- "pnm"=>"image/x-portable-anymap".freeze,
1604
- "pnt"=>"image/x-macpaint".freeze,
1605
- "pntg"=>"image/x-macpaint".freeze,
1606
- "portpkg"=>"application/vnd.macports.portpkg".freeze,
1607
- "pot"=>"application/vnd.ms-powerpoint".freeze,
1608
- "potm"=>"application/vnd.ms-powerpoint.template.macroenabled.12".freeze,
1609
- "potx"=>"application/vnd.openxmlformats-officedocument.presentationml.template".freeze,
1610
- "ppam"=>"application/vnd.ms-powerpoint.addin.macroenabled.12".freeze,
1611
- "ppd"=>"application/vnd.cups-ppd".freeze,
1612
- "ppm"=>"image/x-portable-pixmap".freeze,
1613
- "pps"=>"application/vnd.ms-powerpoint".freeze,
1614
- "ppsm"=>"application/vnd.ms-powerpoint.slideshow.macroenabled.12".freeze,
1615
- "ppsx"=>"application/vnd.openxmlformats-officedocument.presentationml.slideshow".freeze,
1616
- "ppt"=>"application/vnd.ms-powerpoint".freeze,
1617
- "pptm"=>"application/vnd.ms-powerpoint.presentation.macroenabled.12".freeze,
1618
- "pptx"=>"application/vnd.openxmlformats-officedocument.presentationml.presentation".freeze,
1619
- "pqa"=>"application/vnd.palm".freeze,
1620
- "prc"=>"application/x-mobipocket-ebook".freeze,
1621
- "pre"=>"application/vnd.lotus-freelance".freeze,
1622
- "prf"=>"application/pics-rules".freeze,
1623
- "ps"=>"application/postscript".freeze,
1624
- "psb"=>"application/vnd.3gpp.pic-bw-small".freeze,
1625
- "psd"=>"image/vnd.adobe.photoshop".freeze,
1626
- "psf"=>"application/x-font-linux-psf".freeze,
1627
- "pskcxml"=>"application/pskc+xml".freeze,
1628
- "ptid"=>"application/vnd.pvi.ptid1".freeze,
1629
- "pub"=>"application/x-mspublisher".freeze,
1630
- "pvb"=>"application/vnd.3gpp.pic-bw-var".freeze,
1631
- "pwn"=>"application/vnd.3m.post-it-notes".freeze,
1632
- "pya"=>"audio/vnd.ms-playready.media.pya".freeze,
1633
- "pyv"=>"video/vnd.ms-playready.media.pyv".freeze,
1634
- "qam"=>"application/vnd.epson.quickanime".freeze,
1635
- "qbo"=>"application/vnd.intu.qbo".freeze,
1636
- "qfx"=>"application/vnd.intu.qfx".freeze,
1637
- "qps"=>"application/vnd.publishare-delta-tree".freeze,
1638
- "qt"=>"video/quicktime".freeze,
1639
- "qti"=>"image/x-quicktime".freeze,
1640
- "qtif"=>"image/x-quicktime".freeze,
1641
- "qwd"=>"application/vnd.quark.quarkxpress".freeze,
1642
- "qwt"=>"application/vnd.quark.quarkxpress".freeze,
1643
- "qxb"=>"application/vnd.quark.quarkxpress".freeze,
1644
- "qxd"=>"application/vnd.quark.quarkxpress".freeze,
1645
- "qxl"=>"application/vnd.quark.quarkxpress".freeze,
1646
- "qxt"=>"application/vnd.quark.quarkxpress".freeze,
1647
- "ra"=>"audio/x-pn-realaudio".freeze,
1648
- "ram"=>"audio/x-pn-realaudio".freeze,
1649
- "rar"=>"application/x-rar-compressed".freeze,
1650
- "ras"=>"image/x-cmu-raster".freeze,
1651
- "rcprofile"=>"application/vnd.ipunplugged.rcprofile".freeze,
1652
- "rdf"=>"application/rdf+xml".freeze,
1653
- "rdz"=>"application/vnd.data-vision.rdz".freeze,
1654
- "rep"=>"application/vnd.businessobjects".freeze,
1655
- "res"=>"application/x-dtbresource+xml".freeze,
1656
- "rgb"=>"image/x-rgb".freeze,
1657
- "rif"=>"application/reginfo+xml".freeze,
1658
- "rip"=>"audio/vnd.rip".freeze,
1659
- "ris"=>"application/x-research-info-systems".freeze,
1660
- "rl"=>"application/resource-lists+xml".freeze,
1661
- "rlc"=>"image/vnd.fujixerox.edmics-rlc".freeze,
1662
- "rld"=>"application/resource-lists-diff+xml".freeze,
1663
- "rm"=>"application/vnd.rn-realmedia".freeze,
1664
- "rmi"=>"audio/midi".freeze,
1665
- "rmp"=>"audio/x-pn-realaudio-plugin".freeze,
1666
- "rms"=>"application/vnd.jcp.javame.midlet-rms".freeze,
1667
- "rmvb"=>"application/vnd.rn-realmedia-vbr".freeze,
1668
- "rnc"=>"application/relax-ng-compact-syntax".freeze,
1669
- "roa"=>"application/rpki-roa".freeze,
1670
- "roff"=>"application/x-troff".freeze,
1671
- "rp9"=>"application/vnd.cloanto.rp9".freeze,
1672
- "rpss"=>"application/vnd.nokia.radio-presets".freeze,
1673
- "rpst"=>"application/vnd.nokia.radio-preset".freeze,
1674
- "rq"=>"application/sparql-query".freeze,
1675
- "rs"=>"application/rls-services+xml".freeze,
1676
- "rsd"=>"application/rsd+xml".freeze,
1677
- "rss"=>"application/rss+xml".freeze,
1678
- "rtf"=>"application/rtf".freeze,
1679
- "rtx"=>"text/richtext".freeze,
1680
- "s"=>"text/x-asm".freeze,
1681
- "s3m"=>"audio/s3m".freeze,
1682
- "saf"=>"application/vnd.yamaha.smaf-audio".freeze,
1683
- "sbml"=>"application/sbml+xml".freeze,
1684
- "sc"=>"application/vnd.ibm.secure-container".freeze,
1685
- "scd"=>"application/x-msschedule".freeze,
1686
- "scm"=>"application/vnd.lotus-screencam".freeze,
1687
- "scq"=>"application/scvp-cv-request".freeze,
1688
- "scs"=>"application/scvp-cv-response".freeze,
1689
- "scurl"=>"text/vnd.curl.scurl".freeze,
1690
- "sda"=>"application/vnd.stardivision.draw".freeze,
1691
- "sdc"=>"application/vnd.stardivision.calc".freeze,
1692
- "sdd"=>"application/vnd.stardivision.impress".freeze,
1693
- "sdkd"=>"application/vnd.solent.sdkm+xml".freeze,
1694
- "sdkm"=>"application/vnd.solent.sdkm+xml".freeze,
1695
- "sdp"=>"application/sdp".freeze,
1696
- "sdw"=>"application/vnd.stardivision.writer".freeze,
1697
- "see"=>"application/vnd.seemail".freeze,
1698
- "seed"=>"application/vnd.fdsn.seed".freeze,
1699
- "sema"=>"application/vnd.sema".freeze,
1700
- "semd"=>"application/vnd.semd".freeze,
1701
- "semf"=>"application/vnd.semf".freeze,
1702
- "ser"=>"application/java-serialized-object".freeze,
1703
- "setpay"=>"application/set-payment-initiation".freeze,
1704
- "setreg"=>"application/set-registration-initiation".freeze,
1705
- "sfd-hdstx"=>"application/vnd.hydrostatix.sof-data".freeze,
1706
- "sfs"=>"application/vnd.spotfire.sfs".freeze,
1707
- "sfv"=>"text/x-sfv".freeze,
1708
- "sgi"=>"image/sgi".freeze,
1709
- "sgl"=>"application/vnd.stardivision.writer-global".freeze,
1710
- "sgm"=>"text/sgml".freeze,
1711
- "sgml"=>"text/sgml".freeze,
1712
- "sh"=>"application/x-sh".freeze,
1713
- "shar"=>"application/x-shar".freeze,
1714
- "shf"=>"application/shf+xml".freeze,
1715
- "sid"=>"image/x-mrsid-image".freeze,
1716
- "sig"=>"application/pgp-signature".freeze,
1717
- "sil"=>"audio/silk".freeze,
1718
- "silo"=>"model/mesh".freeze,
1719
- "sis"=>"application/vnd.symbian.install".freeze,
1720
- "sisx"=>"application/vnd.symbian.install".freeze,
1721
- "sit"=>"application/x-stuffit".freeze,
1722
- "sitx"=>"application/x-stuffitx".freeze,
1723
- "skd"=>"application/x-koan".freeze,
1724
- "skm"=>"application/vnd.koan".freeze,
1725
- "skp"=>"application/x-koan".freeze,
1726
- "skt"=>"application/vnd.koan".freeze,
1727
- "sldm"=>"application/vnd.ms-powerpoint.slide.macroenabled.12".freeze,
1728
- "sldx"=>"application/vnd.openxmlformats-officedocument.presentationml.slide".freeze,
1729
- "slt"=>"application/vnd.epson.salt".freeze,
1730
- "sm"=>"application/vnd.stepmania.stepchart".freeze,
1731
- "smf"=>"application/vnd.stardivision.math".freeze,
1732
- "smi"=>"application/smil".freeze,
1733
- "smil"=>"application/smil+xml".freeze,
1734
- "smv"=>"video/x-smv".freeze,
1735
- "smzip"=>"application/vnd.stepmania.package".freeze,
1736
- "snd"=>"audio/basic".freeze,
1737
- "snf"=>"application/x-font-snf".freeze,
1738
- "so"=>"application/octet-stream".freeze,
1739
- "spc"=>"application/x-pkcs7-certificates".freeze,
1740
- "spf"=>"application/vnd.yamaha.smaf-phrase".freeze,
1741
- "spl"=>"application/x-futuresplash".freeze,
1742
- "spot"=>"text/vnd.in3d.spot".freeze,
1743
- "spp"=>"application/scvp-vp-response".freeze,
1744
- "spq"=>"application/scvp-vp-request".freeze,
1745
- "spx"=>"audio/ogg".freeze,
1746
- "sql"=>"application/x-sql".freeze,
1747
- "src"=>"application/x-wais-source".freeze,
1748
- "srt"=>"application/x-subrip".freeze,
1749
- "sru"=>"application/sru+xml".freeze,
1750
- "srx"=>"application/sparql-results+xml".freeze,
1751
- "ssdl"=>"application/ssdl+xml".freeze,
1752
- "sse"=>"application/vnd.kodak-descriptor".freeze,
1753
- "ssf"=>"application/vnd.epson.ssf".freeze,
1754
- "ssml"=>"application/ssml+xml".freeze,
1755
- "st"=>"application/vnd.sailingtracker.track".freeze,
1756
- "stc"=>"application/vnd.sun.xml.calc.template".freeze,
1757
- "std"=>"application/vnd.sun.xml.draw.template".freeze,
1758
- "stf"=>"application/vnd.wt.stf".freeze,
1759
- "sti"=>"application/vnd.sun.xml.impress.template".freeze,
1760
- "stk"=>"application/hyperstudio".freeze,
1761
- "stl"=>"application/vnd.ms-pki.stl".freeze,
1762
- "str"=>"application/vnd.pg.format".freeze,
1763
- "stw"=>"application/vnd.sun.xml.writer.template".freeze,
1764
- "sub"=>"text/vnd.dvb.subtitle".freeze,
1765
- "sus"=>"application/vnd.sus-calendar".freeze,
1766
- "susp"=>"application/vnd.sus-calendar".freeze,
1767
- "sv4cpio"=>"application/x-sv4cpio".freeze,
1768
- "sv4crc"=>"application/x-sv4crc".freeze,
1769
- "svc"=>"application/vnd.dvb.service".freeze,
1770
- "svd"=>"application/vnd.svd".freeze,
1771
- "svg"=>"image/svg+xml".freeze,
1772
- "svgz"=>"image/svg+xml".freeze,
1773
- "swf"=>"application/x-shockwave-flash".freeze,
1774
- "swi"=>"application/vnd.aristanetworks.swi".freeze,
1775
- "sxc"=>"application/vnd.sun.xml.calc".freeze,
1776
- "sxd"=>"application/vnd.sun.xml.draw".freeze,
1777
- "sxg"=>"application/vnd.sun.xml.writer.global".freeze,
1778
- "sxi"=>"application/vnd.sun.xml.impress".freeze,
1779
- "sxm"=>"application/vnd.sun.xml.math".freeze,
1780
- "sxw"=>"application/vnd.sun.xml.writer".freeze,
1781
- "t"=>"text/troff".freeze,
1782
- "t3"=>"application/x-t3vm-image".freeze,
1783
- "taglet"=>"application/vnd.mynfc".freeze,
1784
- "tao"=>"application/vnd.tao.intent-module-archive".freeze,
1785
- "tar"=>"application/x-tar".freeze,
1786
- "tcap"=>"application/vnd.3gpp2.tcap".freeze,
1787
- "tcl"=>"application/x-tcl".freeze,
1788
- "teacher"=>"application/vnd.smart.teacher".freeze,
1789
- "tei"=>"application/tei+xml".freeze,
1790
- "teicorpus"=>"application/tei+xml".freeze,
1791
- "tex"=>"application/x-tex".freeze,
1792
- "texi"=>"application/x-texinfo".freeze,
1793
- "texinfo"=>"application/x-texinfo".freeze,
1794
- "text"=>"text/plain".freeze,
1795
- "tfi"=>"application/thraud+xml".freeze,
1796
- "tfm"=>"application/x-tex-tfm".freeze,
1797
- "tga"=>"image/x-tga".freeze,
1798
- "thmx"=>"application/vnd.ms-officetheme".freeze,
1799
- "tif"=>"image/tiff".freeze,
1800
- "tiff"=>"image/tiff".freeze,
1801
- "tmo"=>"application/vnd.tmobile-livetv".freeze,
1802
- "torrent"=>"application/x-bittorrent".freeze,
1803
- "tpl"=>"application/vnd.groove-tool-template".freeze,
1804
- "tpt"=>"application/vnd.trid.tpt".freeze,
1805
- "tr"=>"text/troff".freeze,
1806
- "tra"=>"application/vnd.trueapp".freeze,
1807
- "trm"=>"application/x-msterminal".freeze,
1808
- "tsd"=>"application/timestamped-data".freeze,
1809
- "tsv"=>"text/tab-separated-values".freeze,
1810
- "ttc"=>"application/x-font-ttf".freeze,
1811
- "ttf"=>"application/x-font-ttf".freeze,
1812
- "ttl"=>"text/turtle".freeze,
1813
- "twd"=>"application/vnd.simtech-mindmapper".freeze,
1814
- "twds"=>"application/vnd.simtech-mindmapper".freeze,
1815
- "txd"=>"application/vnd.genomatix.tuxedo".freeze,
1816
- "txf"=>"application/vnd.mobius.txf".freeze,
1817
- "txt"=>"text/plain".freeze,
1818
- "u32"=>"application/x-authorware-bin".freeze,
1819
- "udeb"=>"application/x-debian-package".freeze,
1820
- "ufd"=>"application/vnd.ufdl".freeze,
1821
- "ufdl"=>"application/vnd.ufdl".freeze,
1822
- "ulx"=>"application/x-glulx".freeze,
1823
- "umj"=>"application/vnd.umajin".freeze,
1824
- "unityweb"=>"application/vnd.unity".freeze,
1825
- "uoml"=>"application/vnd.uoml+xml".freeze,
1826
- "uri"=>"text/uri-list".freeze,
1827
- "uris"=>"text/uri-list".freeze,
1828
- "urls"=>"text/uri-list".freeze,
1829
- "ustar"=>"application/x-ustar".freeze,
1830
- "utz"=>"application/vnd.uiq.theme".freeze,
1831
- "uu"=>"text/x-uuencode".freeze,
1832
- "uva"=>"audio/vnd.dece.audio".freeze,
1833
- "uvd"=>"application/vnd.dece.data".freeze,
1834
- "uvf"=>"application/vnd.dece.data".freeze,
1835
- "uvg"=>"image/vnd.dece.graphic".freeze,
1836
- "uvh"=>"video/vnd.dece.hd".freeze,
1837
- "uvi"=>"image/vnd.dece.graphic".freeze,
1838
- "uvm"=>"video/vnd.dece.mobile".freeze,
1839
- "uvp"=>"video/vnd.dece.pd".freeze,
1840
- "uvs"=>"video/vnd.dece.sd".freeze,
1841
- "uvt"=>"application/vnd.dece.ttml+xml".freeze,
1842
- "uvu"=>"video/vnd.uvvu.mp4".freeze,
1843
- "uvv"=>"video/vnd.dece.video".freeze,
1844
- "uvva"=>"audio/vnd.dece.audio".freeze,
1845
- "uvvd"=>"application/vnd.dece.data".freeze,
1846
- "uvvf"=>"application/vnd.dece.data".freeze,
1847
- "uvvg"=>"image/vnd.dece.graphic".freeze,
1848
- "uvvh"=>"video/vnd.dece.hd".freeze,
1849
- "uvvi"=>"image/vnd.dece.graphic".freeze,
1850
- "uvvm"=>"video/vnd.dece.mobile".freeze,
1851
- "uvvp"=>"video/vnd.dece.pd".freeze,
1852
- "uvvs"=>"video/vnd.dece.sd".freeze,
1853
- "uvvt"=>"application/vnd.dece.ttml+xml".freeze,
1854
- "uvvu"=>"video/vnd.uvvu.mp4".freeze,
1855
- "uvvv"=>"video/vnd.dece.video".freeze,
1856
- "uvvx"=>"application/vnd.dece.unspecified".freeze,
1857
- "uvvz"=>"application/vnd.dece.zip".freeze,
1858
- "uvx"=>"application/vnd.dece.unspecified".freeze,
1859
- "uvz"=>"application/vnd.dece.zip".freeze,
1860
- "vcard"=>"text/vcard".freeze,
1861
- "vcd"=>"application/x-cdlink".freeze,
1862
- "vcf"=>"text/x-vcard".freeze,
1863
- "vcg"=>"application/vnd.groove-vcard".freeze,
1864
- "vcs"=>"text/x-vcalendar".freeze,
1865
- "vcx"=>"application/vnd.vcx".freeze,
1866
- "vis"=>"application/vnd.visionary".freeze,
1867
- "viv"=>"video/vnd.vivo".freeze,
1868
- "vob"=>"video/x-ms-vob".freeze,
1869
- "vor"=>"application/vnd.stardivision.writer".freeze,
1870
- "vox"=>"application/x-authorware-bin".freeze,
1871
- "vrml"=>"model/vrml".freeze,
1872
- "vsd"=>"application/vnd.visio".freeze,
1873
- "vsf"=>"application/vnd.vsf".freeze,
1874
- "vss"=>"application/vnd.visio".freeze,
1875
- "vst"=>"application/vnd.visio".freeze,
1876
- "vsw"=>"application/vnd.visio".freeze,
1877
- "vtu"=>"model/vnd.vtu".freeze,
1878
- "vxml"=>"application/voicexml+xml".freeze,
1879
- "w3d"=>"application/x-director".freeze,
1880
- "wad"=>"application/x-doom".freeze,
1881
- "wav"=>"audio/x-wav".freeze,
1882
- "wax"=>"audio/x-ms-wax".freeze,
1883
- "wbmp"=>"image/vnd.wap.wbmp".freeze,
1884
- "wbmxl"=>"application/vnd.wap.wbxml".freeze,
1885
- "wbs"=>"application/vnd.criticaltools.wbs+xml".freeze,
1886
- "wbxml"=>"application/vnd.wap.wbxml".freeze,
1887
- "wcm"=>"application/vnd.ms-works".freeze,
1888
- "wdb"=>"application/vnd.ms-works".freeze,
1889
- "wdp"=>"image/vnd.ms-photo".freeze,
1890
- "weba"=>"audio/webm".freeze,
1891
- "webm"=>"video/webm".freeze,
1892
- "webp"=>"image/webp".freeze,
1893
- "wg"=>"application/vnd.pmi.widget".freeze,
1894
- "wgt"=>"application/widget".freeze,
1895
- "wks"=>"application/vnd.ms-works".freeze,
1896
- "wm"=>"video/x-ms-wm".freeze,
1897
- "wma"=>"audio/x-ms-wma".freeze,
1898
- "wmd"=>"application/x-ms-wmd".freeze,
1899
- "wmf"=>"application/x-msmetafile".freeze,
1900
- "wml"=>"text/vnd.wap.wml".freeze,
1901
- "wmlc"=>"application/vnd.wap.wmlc".freeze,
1902
- "wmls"=>"text/vnd.wap.wmlscript".freeze,
1903
- "wmlsc"=>"application/vnd.wap.wmlscriptc".freeze,
1904
- "wmv"=>"video/x-ms-wmv".freeze,
1905
- "wmx"=>"video/x-ms-wmx".freeze,
1906
- "wmz"=>"application/x-ms-wmz".freeze,
1907
- "woff"=>"application/font-woff".freeze,
1908
- "wpd"=>"application/vnd.wordperfect".freeze,
1909
- "wpl"=>"application/vnd.ms-wpl".freeze,
1910
- "wps"=>"application/vnd.ms-works".freeze,
1911
- "wqd"=>"application/vnd.wqd".freeze,
1912
- "wri"=>"application/x-mswrite".freeze,
1913
- "wrl"=>"model/vrml".freeze,
1914
- "wsdl"=>"application/wsdl+xml".freeze,
1915
- "wspolicy"=>"application/wspolicy+xml".freeze,
1916
- "wtb"=>"application/vnd.webturbo".freeze,
1917
- "wvx"=>"video/x-ms-wvx".freeze,
1918
- "x32"=>"application/x-authorware-bin".freeze,
1919
- "x3d"=>"model/x3d+xml".freeze,
1920
- "x3db"=>"model/x3d+binary".freeze,
1921
- "x3dbz"=>"model/x3d+binary".freeze,
1922
- "x3dv"=>"model/x3d+vrml".freeze,
1923
- "x3dvz"=>"model/x3d+vrml".freeze,
1924
- "x3dz"=>"model/x3d+xml".freeze,
1925
- "xaml"=>"application/xaml+xml".freeze,
1926
- "xap"=>"application/x-silverlight-app".freeze,
1927
- "xar"=>"application/vnd.xara".freeze,
1928
- "xbap"=>"application/x-ms-xbap".freeze,
1929
- "xbd"=>"application/vnd.fujixerox.docuworks.binder".freeze,
1930
- "xbm"=>"image/x-xbitmap".freeze,
1931
- "xdf"=>"application/xcap-diff+xml".freeze,
1932
- "xdm"=>"application/vnd.syncml.dm+xml".freeze,
1933
- "xdp"=>"application/vnd.adobe.xdp+xml".freeze,
1934
- "xdssc"=>"application/dssc+xml".freeze,
1935
- "xdw"=>"application/vnd.fujixerox.docuworks".freeze,
1936
- "xenc"=>"application/xenc+xml".freeze,
1937
- "xer"=>"application/patch-ops-error+xml".freeze,
1938
- "xfdf"=>"application/vnd.adobe.xfdf".freeze,
1939
- "xfdl"=>"application/vnd.xfdl".freeze,
1940
- "xht"=>"application/xhtml+xml".freeze,
1941
- "xhtml"=>"application/xhtml+xml".freeze,
1942
- "xhvml"=>"application/xv+xml".freeze,
1943
- "xif"=>"image/vnd.xiff".freeze,
1944
- "xla"=>"application/vnd.ms-excel".freeze,
1945
- "xlam"=>"application/vnd.ms-excel.addin.macroenabled.12".freeze,
1946
- "xlc"=>"application/vnd.ms-excel".freeze,
1947
- "xlf"=>"application/x-xliff+xml".freeze,
1948
- "xlm"=>"application/vnd.ms-excel".freeze,
1949
- "xls"=>"application/vnd.ms-excel".freeze,
1950
- "xlsb"=>"application/vnd.ms-excel.sheet.binary.macroenabled.12".freeze,
1951
- "xlsm"=>"application/vnd.ms-excel.sheet.macroenabled.12".freeze,
1952
- "xlsx"=>"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet".freeze,
1953
- "xlt"=>"application/vnd.ms-excel".freeze,
1954
- "xltm"=>"application/vnd.ms-excel.template.macroenabled.12".freeze,
1955
- "xltx"=>"application/vnd.openxmlformats-officedocument.spreadsheetml.template".freeze,
1956
- "xlw"=>"application/vnd.ms-excel".freeze,
1957
- "xm"=>"audio/xm".freeze,
1958
- "xml"=>"application/xml".freeze,
1959
- "xo"=>"application/vnd.olpc-sugar".freeze,
1960
- "xop"=>"application/xop+xml".freeze,
1961
- "xpi"=>"application/x-xpinstall".freeze,
1962
- "xpl"=>"application/xproc+xml".freeze,
1963
- "xpm"=>"image/x-xpixmap".freeze,
1964
- "xpr"=>"application/vnd.is-xpr".freeze,
1965
- "xps"=>"application/vnd.ms-xpsdocument".freeze,
1966
- "xpw"=>"application/vnd.intercon.formnet".freeze,
1967
- "xpx"=>"application/vnd.intercon.formnet".freeze,
1968
- "xsl"=>"application/xml".freeze,
1969
- "xslt"=>"application/xslt+xml".freeze,
1970
- "xsm"=>"application/vnd.syncml+xml".freeze,
1971
- "xspf"=>"application/xspf+xml".freeze,
1972
- "xul"=>"application/vnd.mozilla.xul+xml".freeze,
1973
- "xvm"=>"application/xv+xml".freeze,
1974
- "xvml"=>"application/xv+xml".freeze,
1975
- "xwd"=>"image/x-xwindowdump".freeze,
1976
- "xyz"=>"chemical/x-xyz".freeze,
1977
- "xz"=>"application/x-xz".freeze,
1978
- "yang"=>"application/yang".freeze,
1979
- "yin"=>"application/yin+xml".freeze,
1980
- "z1"=>"application/x-zmachine".freeze,
1981
- "z2"=>"application/x-zmachine".freeze,
1982
- "z3"=>"application/x-zmachine".freeze,
1983
- "z4"=>"application/x-zmachine".freeze,
1984
- "z5"=>"application/x-zmachine".freeze,
1985
- "z6"=>"application/x-zmachine".freeze,
1986
- "z7"=>"application/x-zmachine".freeze,
1987
- "z8"=>"application/x-zmachine".freeze,
1988
- "zaz"=>"application/vnd.zzazz.deck+xml".freeze,
1989
- "zip"=>"application/zip".freeze,
1990
- "zir"=>"application/vnd.zul".freeze,
1991
- "zirz"=>"application/vnd.zul".freeze,
1992
- "zmm"=>"application/vnd.handheld-entertainment+xml".freeze
1993
- }
1994
- end
1995
- end