minad-mimemagic 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,10 @@
1
+ require 'hoe'
2
+
3
+ $:.unshift 'lib'
4
+ require 'mimemagic'
5
+
6
+ Hoe.new 'mimemagic', MimeMagic::VERSION do |mimemagic|
7
+ mimemagic.developer 'Daniel Mendler', 'mail@daniel-mendler.de'
8
+ mimemagic.summary = 'Mime detection by extension or content'
9
+ end
10
+
@@ -0,0 +1,90 @@
1
+ require 'mimemagic_tables'
2
+ require 'stringio'
3
+
4
+ # Mime type detection
5
+ class MimeMagic
6
+ VERSION = '0.1.1'
7
+
8
+ attr_reader :type, :mediatype, :subtype
9
+
10
+ # Mime type by type string
11
+ def initialize(type)
12
+ @type = type
13
+ @mediatype = @type.split('/')[0]
14
+ @subtype = @type.split('/')[1]
15
+ end
16
+
17
+ # Add custom mime type. You have to
18
+ # specify the type, a string list of file extensions,
19
+ # a string list of parent mime types and an optional
20
+ # detector block for magic detection.
21
+ def self.add(type, extensions, parents, *magics)
22
+ TYPES[type] = [extensions, parents, block_given? ? proc(&block) : nil]
23
+ extensions.each do |ext|
24
+ EXTENSIONS[ext] = type
25
+ end
26
+ MAGIC.unshift [type, magics] if magics
27
+ end
28
+
29
+ # Returns true if type is a text format
30
+ def text?
31
+ child_of? 'text/plain'
32
+ end
33
+
34
+ # Returns true if type is child of parent type
35
+ def child_of?(parent)
36
+ child?(type, parent)
37
+ end
38
+
39
+ # Get string list of file extensions
40
+ def extensions
41
+ TYPES.key?(type) ? TYPES[type][0] : []
42
+ end
43
+
44
+ # Lookup mime type by file extension
45
+ def self.by_extension(ext)
46
+ ext = ext.downcase
47
+ mime = EXTENSIONS[ext] || (ext[0..0] == '.' && EXTENSIONS[ext[1..-1]])
48
+ mime ? new(mime) : nil
49
+ end
50
+
51
+ # Lookup mime type by magic content analysis
52
+ # That could be slow
53
+ def self.by_magic(content)
54
+ io = content.respond_to?(:seek) ? content : StringIO.new(content.to_s, 'rb')
55
+ mime = MAGIC.find {|type, matches| magic_match(io, matches) }
56
+ mime ? new(mime[0]) : nil
57
+ end
58
+
59
+ # Return type as string
60
+ def to_s
61
+ type
62
+ end
63
+
64
+ # Allow comparison with string
65
+ def ==(x)
66
+ type == x.to_s
67
+ end
68
+
69
+ private
70
+
71
+ def child?(child, parent)
72
+ return true if child == parent
73
+ TYPES.key?(child) ? TYPES[child][1].any? {|p| child?(p, parent) } : false
74
+ end
75
+
76
+ def self.magic_match(io, matches)
77
+ matches.any? do |offset, value, children|
78
+ if Range === offset
79
+ io.seek(offset.begin)
80
+ match = io.read(offset.end - offset.begin + value.length).include?(value)
81
+ else
82
+ io.seek(offset)
83
+ match = value == io.read(value.length)
84
+ end
85
+ match && (!children || magic_match(io, children))
86
+ end
87
+ rescue
88
+ false
89
+ end
90
+ end
@@ -0,0 +1,1400 @@
1
+ # Generated from /usr/share/mime/packages/freedesktop.org.xml
2
+ class MimeMagic
3
+ private
4
+ EXTENSIONS = {
5
+ '123' => 'application/vnd.lotus-1-2-3',
6
+ '3ds' => 'image/x-3ds',
7
+ '3g2' => 'video/3gpp',
8
+ '3ga' => 'video/3gpp',
9
+ '3gp' => 'video/3gpp',
10
+ '3gpp' => 'video/3gpp',
11
+ '602' => 'application/x-t602',
12
+ '669' => 'audio/x-mod',
13
+ '7z' => 'application/x-7z-compressed',
14
+ 'a' => 'application/x-archive',
15
+ 'aac' => 'audio/mp4',
16
+ 'abw' => 'application/x-abiword',
17
+ 'abw.crashed' => 'application/x-abiword',
18
+ 'abw.gz' => 'application/x-abiword',
19
+ 'ac3' => 'audio/ac3',
20
+ 'ace' => 'application/x-ace',
21
+ 'adb' => 'text/x-adasrc',
22
+ 'ads' => 'text/x-adasrc',
23
+ 'afm' => 'application/x-font-afm',
24
+ 'ag' => 'image/x-applix-graphics',
25
+ 'ai' => 'application/illustrator',
26
+ 'aif' => 'audio/x-aiff',
27
+ 'aifc' => 'audio/x-aiff',
28
+ 'aiff' => 'audio/x-aiff',
29
+ 'al' => 'application/x-perl',
30
+ 'alz' => 'application/x-alz',
31
+ 'amr' => 'audio/AMR',
32
+ 'ani' => 'application/x-navi-animation',
33
+ 'ape' => 'audio/x-ape',
34
+ 'arj' => 'application/x-arj',
35
+ 'arw' => 'image/x-sony-arw',
36
+ 'as' => 'application/x-applix-spreadsheet',
37
+ 'asc' => 'application/pgp-encrypted',
38
+ 'asf' => 'video/x-ms-asf',
39
+ 'asp' => 'application/x-asp',
40
+ 'ass' => 'text/x-ssa',
41
+ 'asx' => 'audio/x-ms-asx',
42
+ 'atom' => 'application/atom+xml',
43
+ 'au' => 'audio/basic',
44
+ 'avi' => 'video/x-msvideo',
45
+ 'aw' => 'application/x-applix-word',
46
+ 'awb' => 'audio/AMR-WB',
47
+ 'awk' => 'application/x-awk',
48
+ 'bak' => 'application/x-trash',
49
+ 'bcpio' => 'application/x-bcpio',
50
+ 'bdf' => 'application/x-font-bdf',
51
+ 'bib' => 'text/x-bibtex',
52
+ 'bin' => 'application/octet-stream',
53
+ 'blend' => 'application/x-blender',
54
+ 'blender' => 'application/x-blender',
55
+ 'bmp' => 'image/bmp',
56
+ 'bz' => 'application/x-bzip',
57
+ 'bz2' => 'application/x-bzip',
58
+ 'c' => 'text/x-c++src',
59
+ 'c++' => 'text/x-c++src',
60
+ 'cbr' => 'application/x-cbr',
61
+ 'cbz' => 'application/x-cbz',
62
+ 'cc' => 'text/x-c++src',
63
+ 'cdf' => 'application/x-netcdf',
64
+ 'cdr' => 'application/vnd.corel-draw',
65
+ 'cer' => 'application/x-x509-ca-cert',
66
+ 'cert' => 'application/x-x509-ca-cert',
67
+ 'cgm' => 'image/cgm',
68
+ 'chm' => 'application/x-chm',
69
+ 'chrt' => 'application/x-kchart',
70
+ 'class' => 'application/x-java',
71
+ 'cls' => 'text/x-tex',
72
+ 'cmake' => 'text/x-cmake',
73
+ 'cpio' => 'application/x-cpio',
74
+ 'cpio.gz' => 'application/x-cpio-compressed',
75
+ 'cpp' => 'text/x-c++src',
76
+ 'cr2' => 'image/x-canon-cr2',
77
+ 'crt' => 'application/x-x509-ca-cert',
78
+ 'crw' => 'image/x-canon-crw',
79
+ 'cs' => 'text/x-csharp',
80
+ 'csh' => 'application/x-csh',
81
+ 'css' => 'text/css',
82
+ 'cssl' => 'text/css',
83
+ 'csv' => 'text/csv',
84
+ 'cue' => 'application/x-cue',
85
+ 'cur' => 'image/x-win-bitmap',
86
+ 'cxx' => 'text/x-c++src',
87
+ 'd' => 'text/x-dsrc',
88
+ 'dar' => 'application/x-dar',
89
+ 'dbf' => 'application/x-dbf',
90
+ 'dc' => 'application/x-dc-rom',
91
+ 'dcl' => 'text/x-dcl',
92
+ 'dcm' => 'application/dicom',
93
+ 'dcr' => 'image/x-kodak-dcr',
94
+ 'dds' => 'image/x-dds',
95
+ 'deb' => 'application/x-deb',
96
+ 'der' => 'application/x-x509-ca-cert',
97
+ 'desktop' => 'application/x-desktop',
98
+ 'dia' => 'application/x-dia-diagram',
99
+ 'diff' => 'text/x-patch',
100
+ 'divx' => 'video/x-msvideo',
101
+ 'djv' => 'image/vnd.djvu',
102
+ 'djvu' => 'image/vnd.djvu',
103
+ 'dng' => 'image/x-adobe-dng',
104
+ 'doc' => 'application/msword',
105
+ 'docbook' => 'application/docbook+xml',
106
+ 'dot' => 'application/msword-template',
107
+ 'dsl' => 'text/x-dsl',
108
+ 'dtd' => 'application/xml-dtd',
109
+ 'dtx' => 'text/x-tex',
110
+ 'dv' => 'video/dv',
111
+ 'dvi' => 'application/x-dvi',
112
+ 'dvi.bz2' => 'application/x-bzdvi',
113
+ 'dvi.gz' => 'application/x-gzdvi',
114
+ 'dwg' => 'image/vnd.dwg',
115
+ 'dxf' => 'image/vnd.dxf',
116
+ 'e' => 'text/x-eiffel',
117
+ 'egon' => 'application/x-egon',
118
+ 'eif' => 'text/x-eiffel',
119
+ 'el' => 'text/x-emacs-lisp',
120
+ 'emf' => 'image/x-emf',
121
+ 'emp' => 'application/vnd.emusic-emusic_package',
122
+ 'ent' => 'application/xml-external-parsed-entity',
123
+ 'eps' => 'image/x-eps',
124
+ 'eps.bz2' => 'image/x-bzeps',
125
+ 'eps.gz' => 'image/x-gzeps',
126
+ 'epsf' => 'image/x-eps',
127
+ 'epsf.bz2' => 'image/x-bzeps',
128
+ 'epsf.gz' => 'image/x-gzeps',
129
+ 'epsi' => 'image/x-eps',
130
+ 'epsi.bz2' => 'image/x-bzeps',
131
+ 'epsi.gz' => 'image/x-gzeps',
132
+ 'epub' => 'application/epub+zip',
133
+ 'erl' => 'text/x-erlang',
134
+ 'es' => 'application/ecmascript',
135
+ 'etheme' => 'application/x-e-theme',
136
+ 'etx' => 'text/x-setext',
137
+ 'exe' => 'application/x-ms-dos-executable',
138
+ 'exr' => 'image/x-exr',
139
+ 'ez' => 'application/andrew-inset',
140
+ 'f' => 'text/x-fortran',
141
+ 'f90' => 'text/x-fortran',
142
+ 'f95' => 'text/x-fortran',
143
+ 'fig' => 'image/x-xfig',
144
+ 'fits' => 'image/x-fits',
145
+ 'fl' => 'application/x-fluid',
146
+ 'flac' => 'audio/x-flac',
147
+ 'flc' => 'video/x-flic',
148
+ 'fli' => 'video/x-flic',
149
+ 'flv' => 'video/x-flv',
150
+ 'flw' => 'application/x-kivio',
151
+ 'fo' => 'text/x-xslfo',
152
+ 'for' => 'text/x-fortran',
153
+ 'g3' => 'image/fax-g3',
154
+ 'gb' => 'application/x-gameboy-rom',
155
+ 'gba' => 'application/x-gba-rom',
156
+ 'gcrd' => 'text/directory',
157
+ 'ged' => 'application/x-gedcom',
158
+ 'gedcom' => 'application/x-gedcom',
159
+ 'gen' => 'application/x-genesis-rom',
160
+ 'gf' => 'application/x-tex-gf',
161
+ 'gg' => 'application/x-sms-rom',
162
+ 'gif' => 'image/gif',
163
+ 'glade' => 'application/x-glade',
164
+ 'gmo' => 'application/x-gettext-translation',
165
+ 'gnc' => 'application/x-gnucash',
166
+ 'gnd' => 'application/gnunet-directory',
167
+ 'gnucash' => 'application/x-gnucash',
168
+ 'gnumeric' => 'application/x-gnumeric',
169
+ 'gnuplot' => 'application/x-gnuplot',
170
+ 'gp' => 'application/x-gnuplot',
171
+ 'gpg' => 'application/pgp-encrypted',
172
+ 'gplt' => 'application/x-gnuplot',
173
+ 'gra' => 'application/x-graphite',
174
+ 'gsf' => 'application/x-font-type1',
175
+ 'gtar' => 'application/x-tar',
176
+ 'gvp' => 'text/x-google-video-pointer',
177
+ 'gz' => 'application/x-gzip',
178
+ 'h' => 'text/x-chdr',
179
+ 'h++' => 'text/x-c++hdr',
180
+ 'hdf' => 'application/x-hdf',
181
+ 'hh' => 'text/x-c++hdr',
182
+ 'hp' => 'text/x-c++hdr',
183
+ 'hpgl' => 'application/vnd.hp-hpgl',
184
+ 'hpp' => 'text/x-c++hdr',
185
+ 'hs' => 'text/x-haskell',
186
+ 'htm' => 'text/html',
187
+ 'html' => 'text/html',
188
+ 'hwp' => 'application/x-hwp',
189
+ 'hwt' => 'application/x-hwt',
190
+ 'hxx' => 'text/x-c++hdr',
191
+ 'ica' => 'application/x-ica',
192
+ 'icb' => 'image/x-tga',
193
+ 'icns' => 'image/x-icns',
194
+ 'ico' => 'image/x-ico',
195
+ 'ics' => 'text/calendar',
196
+ 'idl' => 'text/x-idl',
197
+ 'ief' => 'image/ief',
198
+ 'iff' => 'image/x-iff',
199
+ 'ilbm' => 'image/x-ilbm',
200
+ 'ime' => 'text/x-iMelody',
201
+ 'imy' => 'text/x-iMelody',
202
+ 'ins' => 'text/x-tex',
203
+ 'iptables' => 'text/x-iptables',
204
+ 'iso' => 'application/x-cd-image',
205
+ 'iso9660' => 'application/x-cd-image',
206
+ 'it' => 'audio/x-it',
207
+ 'j2k' => 'image/jp2',
208
+ 'jad' => 'text/vnd.sun.j2me.app-descriptor',
209
+ 'jar' => 'application/x-java-archive',
210
+ 'java' => 'text/x-java',
211
+ 'jng' => 'image/x-jng',
212
+ 'jnlp' => 'application/x-java-jnlp-file',
213
+ 'jp2' => 'image/jp2',
214
+ 'jpc' => 'image/jp2',
215
+ 'jpe' => 'image/jpeg',
216
+ 'jpeg' => 'image/jpeg',
217
+ 'jpf' => 'image/jp2',
218
+ 'jpg' => 'image/jpeg',
219
+ 'jpr' => 'application/x-jbuilder-project',
220
+ 'jpx' => 'application/x-jbuilder-project',
221
+ 'js' => 'application/javascript',
222
+ 'k25' => 'image/x-kodak-k25',
223
+ 'kar' => 'audio/midi',
224
+ 'karbon' => 'application/x-karbon',
225
+ 'kdc' => 'image/x-kodak-kdc',
226
+ 'kdelnk' => 'application/x-desktop',
227
+ 'kfo' => 'application/x-kformula',
228
+ 'kil' => 'application/x-killustrator',
229
+ 'kino' => 'application/smil',
230
+ 'kon' => 'application/x-kontour',
231
+ 'kpm' => 'application/x-kpovmodeler',
232
+ 'kpr' => 'application/x-kpresenter',
233
+ 'kpt' => 'application/x-kpresenter',
234
+ 'kra' => 'application/x-krita',
235
+ 'ksp' => 'application/x-kspread',
236
+ 'kud' => 'application/x-kugar',
237
+ 'kwd' => 'application/x-kword',
238
+ 'kwt' => 'application/x-kword',
239
+ 'la' => 'application/x-shared-library-la',
240
+ 'latex' => 'text/x-tex',
241
+ 'ldif' => 'text/x-ldif',
242
+ 'lha' => 'application/x-lha',
243
+ 'lhs' => 'text/x-literate-haskell',
244
+ 'lhz' => 'application/x-lhz',
245
+ 'log' => 'text/x-log',
246
+ 'ltx' => 'text/x-tex',
247
+ 'lua' => 'text/x-lua',
248
+ 'lwo' => 'image/x-lwo',
249
+ 'lwob' => 'image/x-lwo',
250
+ 'lws' => 'image/x-lws',
251
+ 'ly' => 'text/x-lilypond',
252
+ 'lyx' => 'application/x-lyx',
253
+ 'lzh' => 'application/x-lha',
254
+ 'lzma' => 'application/x-lzma',
255
+ 'lzo' => 'application/x-lzop',
256
+ 'm' => 'text/x-objcsrc',
257
+ 'm15' => 'audio/x-mod',
258
+ 'm2t' => 'video/mpeg',
259
+ 'm3u' => 'audio/x-mpegurl',
260
+ 'm3u8' => 'audio/x-mpegurl',
261
+ 'm4' => 'application/x-m4',
262
+ 'm4a' => 'audio/mp4',
263
+ 'm4b' => 'audio/x-m4b',
264
+ 'm4v' => 'video/mp4',
265
+ 'mab' => 'application/x-markaby',
266
+ 'man' => 'application/x-troff-man',
267
+ 'mbox' => 'application/mbox',
268
+ 'md' => 'application/x-genesis-rom',
269
+ 'mdb' => 'application/vnd.ms-access',
270
+ 'me' => 'text/x-troff-me',
271
+ 'med' => 'audio/x-mod',
272
+ 'mgp' => 'application/x-magicpoint',
273
+ 'mid' => 'audio/midi',
274
+ 'midi' => 'audio/midi',
275
+ 'mif' => 'application/x-mif',
276
+ 'minipsf' => 'audio/x-minipsf',
277
+ 'mka' => 'audio/x-matroska',
278
+ 'mkv' => 'video/x-matroska',
279
+ 'ml' => 'text/x-ocaml',
280
+ 'mli' => 'text/x-ocaml',
281
+ 'mm' => 'text/x-troff-mm',
282
+ 'mmf' => 'application/x-smaf',
283
+ 'mml' => 'text/mathml',
284
+ 'mng' => 'video/x-mng',
285
+ 'mo' => 'application/x-gettext-translation',
286
+ 'mo3' => 'audio/x-mo3',
287
+ 'moc' => 'text/x-moc',
288
+ 'mod' => 'audio/x-mod',
289
+ 'mof' => 'text/x-mof',
290
+ 'moov' => 'video/quicktime',
291
+ 'mov' => 'video/quicktime',
292
+ 'movie' => 'video/x-sgi-movie',
293
+ 'mp+' => 'audio/x-musepack',
294
+ 'mp2' => 'audio/mp2',
295
+ 'mp3' => 'audio/mpeg',
296
+ 'mp4' => 'video/mp4',
297
+ 'mpc' => 'audio/x-musepack',
298
+ 'mpe' => 'video/mpeg',
299
+ 'mpeg' => 'video/mpeg',
300
+ 'mpg' => 'video/mpeg',
301
+ 'mpga' => 'audio/mpeg',
302
+ 'mpp' => 'audio/x-musepack',
303
+ 'mrl' => 'text/x-mrml',
304
+ 'mrml' => 'text/x-mrml',
305
+ 'mrw' => 'image/x-minolta-mrw',
306
+ 'ms' => 'text/x-troff-ms',
307
+ 'msi' => 'application/x-msi',
308
+ 'msod' => 'image/x-msod',
309
+ 'msx' => 'application/x-msx-rom',
310
+ 'mtm' => 'audio/x-mod',
311
+ 'mup' => 'text/x-mup',
312
+ 'n64' => 'application/x-n64-rom',
313
+ 'nb' => 'application/mathematica',
314
+ 'nc' => 'application/x-netcdf',
315
+ 'nds' => 'application/x-nintendo-ds-rom',
316
+ 'nef' => 'image/x-nikon-nef',
317
+ 'nes' => 'application/x-nes-rom',
318
+ 'nfo' => 'text/x-nfo',
319
+ 'not' => 'text/x-mup',
320
+ 'nsc' => 'application/x-netshow-channel',
321
+ 'nsv' => 'video/x-nsv',
322
+ 'o' => 'application/x-object',
323
+ 'obj' => 'application/x-tgif',
324
+ 'ocl' => 'text/x-ocl',
325
+ 'oda' => 'application/oda',
326
+ 'odb' => 'application/vnd.oasis.opendocument.database',
327
+ 'odc' => 'application/vnd.oasis.opendocument.chart',
328
+ 'odf' => 'application/vnd.oasis.opendocument.formula',
329
+ 'odg' => 'application/vnd.oasis.opendocument.graphics',
330
+ 'odi' => 'application/vnd.oasis.opendocument.image',
331
+ 'odm' => 'application/vnd.oasis.opendocument.text-master',
332
+ 'odp' => 'application/vnd.oasis.opendocument.presentation',
333
+ 'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
334
+ 'odt' => 'application/vnd.oasis.opendocument.text',
335
+ 'oga' => 'audio/ogg',
336
+ 'ogg' => 'application/ogg',
337
+ 'ogm' => 'video/x-ogm+ogg',
338
+ 'ogv' => 'video/ogg',
339
+ 'ogx' => 'application/ogg',
340
+ 'old' => 'application/x-trash',
341
+ 'oleo' => 'application/x-oleo',
342
+ 'opml' => 'text/x-opml+xml',
343
+ 'orf' => 'image/x-olympus-orf',
344
+ 'otg' => 'application/vnd.oasis.opendocument.graphics-template',
345
+ 'oth' => 'application/vnd.oasis.opendocument.text-web',
346
+ 'otp' => 'application/vnd.oasis.opendocument.presentation-template',
347
+ 'ots' => 'application/vnd.oasis.opendocument.spreadsheet-template',
348
+ 'ott' => 'application/vnd.oasis.opendocument.text-template',
349
+ 'owl' => 'text/rdf',
350
+ 'oxt' => 'application/vnd.openofficeorg.extension',
351
+ 'p' => 'text/x-pascal',
352
+ 'p10' => 'application/pkcs10',
353
+ 'p12' => 'application/x-pkcs12',
354
+ 'p7s' => 'application/pkcs7-signature',
355
+ 'pack' => 'application/x-java-pack200',
356
+ 'pak' => 'application/x-pak',
357
+ 'par2' => 'application/x-par2',
358
+ 'pas' => 'text/x-pascal',
359
+ 'patch' => 'text/x-patch',
360
+ 'pbm' => 'image/x-portable-bitmap',
361
+ 'pcd' => 'image/x-photo-cd',
362
+ 'pcf' => 'application/x-font-pcf',
363
+ 'pcf.gz' => 'application/x-font-pcf',
364
+ 'pcf.z' => 'application/x-font-pcf',
365
+ 'pcl' => 'application/vnd.hp-pcl',
366
+ 'pcx' => 'image/x-pcx',
367
+ 'pdb' => 'application/x-palm-database',
368
+ 'pdf' => 'application/pdf',
369
+ 'pdf.bz2' => 'application/x-bzpdf',
370
+ 'pdf.gz' => 'application/x-gzpdf',
371
+ 'pef' => 'image/x-pentax-pef',
372
+ 'pem' => 'application/x-x509-ca-cert',
373
+ 'perl' => 'application/x-perl',
374
+ 'pfa' => 'application/x-font-type1',
375
+ 'pfb' => 'application/x-font-type1',
376
+ 'pfx' => 'application/x-pkcs12',
377
+ 'pgm' => 'image/x-portable-graymap',
378
+ 'pgn' => 'application/x-chess-pgn',
379
+ 'pgp' => 'application/pgp-encrypted',
380
+ 'php' => 'application/x-php',
381
+ 'php3' => 'application/x-php',
382
+ 'php4' => 'application/x-php',
383
+ 'pict' => 'image/x-pict',
384
+ 'pict1' => 'image/x-pict',
385
+ 'pict2' => 'image/x-pict',
386
+ 'pk' => 'application/x-tex-pk',
387
+ 'pkr' => 'application/pgp-keys',
388
+ 'pl' => 'application/x-perl',
389
+ 'pla' => 'audio/x-iriver-pla',
390
+ 'pln' => 'application/x-planperfect',
391
+ 'pls' => 'audio/x-scpls',
392
+ 'pm' => 'application/x-perl',
393
+ 'png' => 'image/png',
394
+ 'pnm' => 'image/x-portable-anymap',
395
+ 'pntg' => 'image/x-macpaint',
396
+ 'po' => 'text/x-gettext-translation',
397
+ 'pot' => 'application/vnd.ms-powerpoint',
398
+ 'ppm' => 'image/x-portable-pixmap',
399
+ 'pps' => 'application/vnd.ms-powerpoint',
400
+ 'ppt' => 'application/vnd.ms-powerpoint',
401
+ 'ppz' => 'application/vnd.ms-powerpoint',
402
+ 'prc' => 'application/x-palm-database',
403
+ 'ps' => 'application/postscript',
404
+ 'ps.bz2' => 'application/x-bzpostscript',
405
+ 'ps.gz' => 'application/x-gzpostscript',
406
+ 'psd' => 'image/x-psd',
407
+ 'psf' => 'application/x-font-linux-psf',
408
+ 'psf.gz' => 'application/x-gz-font-linux-psf',
409
+ 'psflib' => 'audio/x-psflib',
410
+ 'psid' => 'audio/prs.sid',
411
+ 'pw' => 'application/x-pw',
412
+ 'py' => 'text/x-python',
413
+ 'pyc' => 'application/x-python-bytecode',
414
+ 'pyo' => 'application/x-python-bytecode',
415
+ 'qif' => 'application/x-qw',
416
+ 'qt' => 'video/quicktime',
417
+ 'qtif' => 'image/x-quicktime',
418
+ 'qtl' => 'application/x-quicktime-media-link',
419
+ 'qtvr' => 'video/quicktime',
420
+ 'ra' => 'audio/vnd.rn-realaudio',
421
+ 'raf' => 'image/x-fuji-raf',
422
+ 'ram' => 'application/ram',
423
+ 'rar' => 'application/x-rar',
424
+ 'ras' => 'image/x-cmu-raster',
425
+ 'raw' => 'image/x-panasonic-raw',
426
+ 'rax' => 'audio/vnd.rn-realaudio',
427
+ 'rb' => 'application/x-ruby',
428
+ 'rdf' => 'text/rdf',
429
+ 'rdfs' => 'text/rdf',
430
+ 'reg' => 'text/x-ms-regedit',
431
+ 'rej' => 'application/x-reject',
432
+ 'rgb' => 'image/x-rgb',
433
+ 'rle' => 'image/rle',
434
+ 'rm' => 'application/vnd.rn-realmedia',
435
+ 'rmj' => 'application/vnd.rn-realmedia',
436
+ 'rmm' => 'application/vnd.rn-realmedia',
437
+ 'rms' => 'application/vnd.rn-realmedia',
438
+ 'rmvb' => 'application/vnd.rn-realmedia',
439
+ 'rmx' => 'application/vnd.rn-realmedia',
440
+ 'roff' => 'text/troff',
441
+ 'rp' => 'image/vnd.rn-realpix',
442
+ 'rpm' => 'application/x-rpm',
443
+ 'rss' => 'application/rss+xml',
444
+ 'rt' => 'text/vnd.rn-realtext',
445
+ 'rtf' => 'application/rtf',
446
+ 'rtx' => 'text/richtext',
447
+ 'rv' => 'video/vnd.rn-realvideo',
448
+ 'rvx' => 'video/vnd.rn-realvideo',
449
+ 's3m' => 'audio/x-s3m',
450
+ 'sam' => 'application/x-amipro',
451
+ 'sami' => 'application/x-sami',
452
+ 'scm' => 'text/x-scheme',
453
+ 'sda' => 'application/vnd.stardivision.draw',
454
+ 'sdc' => 'application/vnd.stardivision.calc',
455
+ 'sdd' => 'application/vnd.stardivision.impress',
456
+ 'sdp' => 'application/vnd.stardivision.impress',
457
+ 'sds' => 'application/vnd.stardivision.chart',
458
+ 'sdw' => 'application/vnd.stardivision.writer',
459
+ 'sgf' => 'application/x-go-sgf',
460
+ 'sgi' => 'image/x-sgi',
461
+ 'sgl' => 'application/vnd.stardivision.writer',
462
+ 'sgm' => 'text/sgml',
463
+ 'sgml' => 'text/sgml',
464
+ 'sh' => 'application/x-shellscript',
465
+ 'shar' => 'application/x-shar',
466
+ 'shn' => 'application/x-shorten',
467
+ 'siag' => 'application/x-siag',
468
+ 'sid' => 'audio/prs.sid',
469
+ 'sik' => 'application/x-trash',
470
+ 'sis' => 'application/vnd.symbian.install',
471
+ 'sisx' => 'x-epoc/x-sisx-app',
472
+ 'sit' => 'application/x-stuffit',
473
+ 'siv' => 'application/sieve',
474
+ 'sk' => 'image/x-skencil',
475
+ 'sk1' => 'image/x-skencil',
476
+ 'skr' => 'application/pgp-keys',
477
+ 'slk' => 'text/spreadsheet',
478
+ 'smaf' => 'application/x-smaf',
479
+ 'smc' => 'application/x-snes-rom',
480
+ 'smd' => 'application/vnd.stardivision.mail',
481
+ 'smf' => 'application/vnd.stardivision.math',
482
+ 'smi' => 'application/smil',
483
+ 'smil' => 'application/smil',
484
+ 'sml' => 'application/smil',
485
+ 'sms' => 'application/x-sms-rom',
486
+ 'snd' => 'audio/basic',
487
+ 'so' => 'application/x-sharedlib',
488
+ 'spd' => 'application/x-font-speedo',
489
+ 'spec' => 'text/x-rpm-spec',
490
+ 'spl' => 'application/x-shockwave-flash',
491
+ 'spx' => 'audio/x-speex',
492
+ 'sql' => 'text/x-sql',
493
+ 'sr2' => 'image/x-sony-sr2',
494
+ 'src' => 'application/x-wais-source',
495
+ 'srf' => 'image/x-sony-srf',
496
+ 'srt' => 'application/x-subrip',
497
+ 'ssa' => 'text/x-ssa',
498
+ 'stc' => 'application/vnd.sun.xml.calc.template',
499
+ 'std' => 'application/vnd.sun.xml.draw.template',
500
+ 'sti' => 'application/vnd.sun.xml.impress.template',
501
+ 'stm' => 'audio/x-stm',
502
+ 'stw' => 'application/vnd.sun.xml.writer.template',
503
+ 'sty' => 'text/x-tex',
504
+ 'sub' => 'text/x-microdvd',
505
+ 'sun' => 'image/x-sun-raster',
506
+ 'sv4cpio' => 'application/x-sv4cpio',
507
+ 'sv4crc' => 'application/x-sv4crc',
508
+ 'svg' => 'image/svg+xml',
509
+ 'svgz' => 'image/svg+xml-compressed',
510
+ 'swf' => 'application/x-shockwave-flash',
511
+ 'sxc' => 'application/vnd.sun.xml.calc',
512
+ 'sxd' => 'application/vnd.sun.xml.draw',
513
+ 'sxg' => 'application/vnd.sun.xml.writer.global',
514
+ 'sxi' => 'application/vnd.sun.xml.impress',
515
+ 'sxm' => 'application/vnd.sun.xml.math',
516
+ 'sxw' => 'application/vnd.sun.xml.writer',
517
+ 'sylk' => 'text/spreadsheet',
518
+ 't' => 'text/troff',
519
+ 't2t' => 'text/x-txt2tags',
520
+ 'tar' => 'application/x-tar',
521
+ 'tar.bz' => 'application/x-bzip-compressed-tar',
522
+ 'tar.bz2' => 'application/x-bzip-compressed-tar',
523
+ 'tar.gz' => 'application/x-compressed-tar',
524
+ 'tar.lzma' => 'application/x-lzma-compressed-tar',
525
+ 'tar.lzo' => 'application/x-tzo',
526
+ 'tar.z' => 'application/x-tarz',
527
+ 'tbz' => 'application/x-bzip-compressed-tar',
528
+ 'tbz2' => 'application/x-bzip-compressed-tar',
529
+ 'tcl' => 'text/x-tcl',
530
+ 'tex' => 'text/x-tex',
531
+ 'texi' => 'text/x-texinfo',
532
+ 'texinfo' => 'text/x-texinfo',
533
+ 'tga' => 'image/x-tga',
534
+ 'tgz' => 'application/x-compressed-tar',
535
+ 'theme' => 'application/x-theme',
536
+ 'tif' => 'image/tiff',
537
+ 'tiff' => 'image/tiff',
538
+ 'tk' => 'text/x-tcl',
539
+ 'tlz' => 'application/x-lzma-compressed-tar',
540
+ 'tnef' => 'application/vnd.ms-tnef',
541
+ 'tnf' => 'application/vnd.ms-tnef',
542
+ 'toc' => 'application/x-cdrdao-toc',
543
+ 'torrent' => 'application/x-bittorrent',
544
+ 'tpic' => 'image/x-tga',
545
+ 'tr' => 'text/troff',
546
+ 'ts' => 'application/x-linguist',
547
+ 'tsv' => 'text/tab-separated-values',
548
+ 'tta' => 'audio/x-tta',
549
+ 'ttc' => 'application/x-font-ttf',
550
+ 'ttf' => 'application/x-font-ttf',
551
+ 'ttx' => 'application/x-font-ttx',
552
+ 'txt' => 'text/plain',
553
+ 'tzo' => 'application/x-tzo',
554
+ 'ufraw' => 'application/x-ufraw',
555
+ 'ui' => 'application/x-designer',
556
+ 'uil' => 'text/x-uil',
557
+ 'ult' => 'audio/x-mod',
558
+ 'uni' => 'audio/x-mod',
559
+ 'uri' => 'text/x-uri',
560
+ 'url' => 'text/x-uri',
561
+ 'ustar' => 'application/x-ustar',
562
+ 'vala' => 'text/x-vala',
563
+ 'vcf' => 'text/directory',
564
+ 'vcs' => 'text/calendar',
565
+ 'vct' => 'text/directory',
566
+ 'vda' => 'image/x-tga',
567
+ 'vhd' => 'text/x-vhdl',
568
+ 'vhdl' => 'text/x-vhdl',
569
+ 'viv' => 'video/vivo',
570
+ 'vivo' => 'video/vivo',
571
+ 'vlc' => 'audio/x-mpegurl',
572
+ 'vob' => 'video/mpeg',
573
+ 'voc' => 'audio/x-voc',
574
+ 'vor' => 'application/vnd.stardivision.writer',
575
+ 'vst' => 'image/x-tga',
576
+ 'wav' => 'audio/x-wav',
577
+ 'wax' => 'audio/x-ms-asx',
578
+ 'wb1' => 'application/x-quattropro',
579
+ 'wb2' => 'application/x-quattropro',
580
+ 'wb3' => 'application/x-quattropro',
581
+ 'wbmp' => 'image/vnd.wap.wbmp',
582
+ 'wcm' => 'application/vnd.ms-works',
583
+ 'wdb' => 'application/vnd.ms-works',
584
+ 'wk1' => 'application/vnd.lotus-1-2-3',
585
+ 'wk3' => 'application/vnd.lotus-1-2-3',
586
+ 'wk4' => 'application/vnd.lotus-1-2-3',
587
+ 'wks' => 'application/vnd.lotus-1-2-3',
588
+ 'wma' => 'audio/x-ms-wma',
589
+ 'wmf' => 'image/x-wmf',
590
+ 'wml' => 'text/vnd.wap.wml',
591
+ 'wmls' => 'text/vnd.wap.wmlscript',
592
+ 'wmv' => 'video/x-ms-wmv',
593
+ 'wmx' => 'audio/x-ms-asx',
594
+ 'wp' => 'application/vnd.wordperfect',
595
+ 'wp4' => 'application/vnd.wordperfect',
596
+ 'wp5' => 'application/vnd.wordperfect',
597
+ 'wp6' => 'application/vnd.wordperfect',
598
+ 'wpd' => 'application/vnd.wordperfect',
599
+ 'wpg' => 'application/x-wpg',
600
+ 'wpp' => 'application/vnd.wordperfect',
601
+ 'wps' => 'application/vnd.ms-works',
602
+ 'wri' => 'application/x-mswrite',
603
+ 'wrl' => 'model/vrml',
604
+ 'wv' => 'audio/x-wavpack',
605
+ 'wvc' => 'audio/x-wavpack-correction',
606
+ 'wvp' => 'audio/x-wavpack',
607
+ 'wvx' => 'audio/x-ms-asx',
608
+ 'x3f' => 'image/x-sigma-x3f',
609
+ 'xac' => 'application/x-gnucash',
610
+ 'xbel' => 'application/x-xbel',
611
+ 'xbl' => 'application/xml',
612
+ 'xbm' => 'image/x-xbitmap',
613
+ 'xcf' => 'image/x-xcf',
614
+ 'xcf.bz2' => 'image/x-compressed-xcf',
615
+ 'xcf.gz' => 'image/x-compressed-xcf',
616
+ 'xhtml' => 'application/xhtml+xml',
617
+ 'xi' => 'audio/x-xi',
618
+ 'xla' => 'application/vnd.ms-excel',
619
+ 'xlc' => 'application/vnd.ms-excel',
620
+ 'xld' => 'application/vnd.ms-excel',
621
+ 'xlf' => 'application/x-xliff',
622
+ 'xliff' => 'application/x-xliff',
623
+ 'xll' => 'application/vnd.ms-excel',
624
+ 'xlm' => 'application/vnd.ms-excel',
625
+ 'xls' => 'application/vnd.ms-excel',
626
+ 'xlt' => 'application/vnd.ms-excel',
627
+ 'xlw' => 'application/vnd.ms-excel',
628
+ 'xm' => 'audio/x-xm',
629
+ 'xmf' => 'audio/x-xmf',
630
+ 'xmi' => 'text/x-xmi',
631
+ 'xml' => 'application/xml',
632
+ 'xpm' => 'image/x-xpixmap',
633
+ 'xps' => 'application/vnd.ms-xpsdocument',
634
+ 'xsl' => 'application/xml',
635
+ 'xslfo' => 'text/x-xslfo',
636
+ 'xslt' => 'application/xml',
637
+ 'xspf' => 'application/xspf+xml',
638
+ 'xul' => 'application/vnd.mozilla.xul+xml',
639
+ 'xwd' => 'image/x-xwindowdump',
640
+ 'z' => 'application/x-compress',
641
+ 'zabw' => 'application/x-abiword',
642
+ 'zip' => 'application/zip',
643
+ 'zoo' => 'application/x-zoo',
644
+ }
645
+ TYPES = {
646
+ 'application/andrew-inset' => [["ez"], []],
647
+ 'application/atom+xml' => [["atom"], ["application/xml"]],
648
+ 'application/dicom' => [["dcm"], []],
649
+ 'application/docbook+xml' => [["docbook"], ["application/xml"]],
650
+ 'application/ecmascript' => [["es"], ["text/plain"]],
651
+ 'application/epub+zip' => [["epub"], []],
652
+ 'application/gnunet-directory' => [["gnd"], []],
653
+ 'application/illustrator' => [["ai"], []],
654
+ 'application/javascript' => [["js"], ["text/plain"]],
655
+ 'application/mathematica' => [["nb"], ["text/plain"]],
656
+ 'application/mbox' => [["mbox"], ["text/plain"]],
657
+ 'application/msword' => [["doc"], ["application/x-ole-storage"]],
658
+ 'application/msword-template' => [["dot"], ["application/msword"]],
659
+ 'application/octet-stream' => [["bin"], []],
660
+ 'application/oda' => [["oda"], []],
661
+ 'application/ogg' => [["ogg", "ogx"], []],
662
+ 'application/pdf' => [["pdf"], []],
663
+ 'application/pgp-encrypted' => [["asc", "gpg", "pgp"], []],
664
+ 'application/pgp-keys' => [["asc", "pkr", "skr"], ["text/plain"]],
665
+ 'application/pkcs10' => [["p10"], []],
666
+ 'application/pkcs7-signature' => [["p7s"], ["text/plain"]],
667
+ 'application/postscript' => [["ps"], ["text/plain"]],
668
+ 'application/ram' => [["ram"], ["text/plain"]],
669
+ 'application/rss+xml' => [["rss"], ["application/xml"]],
670
+ 'application/rtf' => [["rtf"], ["text/plain"]],
671
+ 'application/sdp' => [["sdp"], []],
672
+ 'application/sieve' => [["siv"], ["application/xml"]],
673
+ 'application/smil' => [["kino", "smi", "smil", "sml"], ["application/xml"]],
674
+ 'application/vnd.corel-draw' => [["cdr"], []],
675
+ 'application/vnd.emusic-emusic_package' => [["emp"], []],
676
+ 'application/vnd.hp-hpgl' => [["hpgl"], []],
677
+ 'application/vnd.hp-pcl' => [["pcl"], []],
678
+ 'application/vnd.lotus-1-2-3' => [["123", "wk1", "wk3", "wk4", "wks"], []],
679
+ 'application/vnd.mozilla.xul+xml' => [["xul"], ["application/xml"]],
680
+ 'application/vnd.ms-access' => [["mdb"], []],
681
+ 'application/vnd.ms-excel' => [["xla", "xlc", "xld", "xll", "xlm", "xls", "xlt", "xlw"], []],
682
+ 'application/vnd.ms-powerpoint' => [["pot", "pps", "ppt", "ppz"], []],
683
+ 'application/vnd.ms-tnef' => [["tnef", "tnf"], []],
684
+ 'application/vnd.ms-works' => [["wcm", "wdb", "wks", "wps"], ["application/x-ole-storage"]],
685
+ 'application/vnd.ms-xpsdocument' => [["xps"], ["application/zip"]],
686
+ 'application/vnd.oasis.opendocument.chart' => [["odc"], ["application/zip"]],
687
+ 'application/vnd.oasis.opendocument.database' => [["odb"], ["application/zip"]],
688
+ 'application/vnd.oasis.opendocument.formula' => [["odf"], ["application/zip"]],
689
+ 'application/vnd.oasis.opendocument.graphics' => [["odg"], ["application/zip"]],
690
+ 'application/vnd.oasis.opendocument.graphics-template' => [["otg"], ["application/zip"]],
691
+ 'application/vnd.oasis.opendocument.image' => [["odi"], ["application/zip"]],
692
+ 'application/vnd.oasis.opendocument.presentation' => [["odp"], ["application/zip"]],
693
+ 'application/vnd.oasis.opendocument.presentation-template' => [["otp"], ["application/zip"]],
694
+ 'application/vnd.oasis.opendocument.spreadsheet' => [["ods"], ["application/zip"]],
695
+ 'application/vnd.oasis.opendocument.spreadsheet-template' => [["ots"], ["application/zip"]],
696
+ 'application/vnd.oasis.opendocument.text' => [["odt"], ["application/zip"]],
697
+ 'application/vnd.oasis.opendocument.text-master' => [["odm"], ["application/zip"]],
698
+ 'application/vnd.oasis.opendocument.text-template' => [["ott"], ["application/zip"]],
699
+ 'application/vnd.oasis.opendocument.text-web' => [["oth"], ["application/zip"]],
700
+ 'application/vnd.openofficeorg.extension' => [["oxt"], ["application/zip"]],
701
+ 'application/vnd.rn-realmedia' => [["rm", "rmj", "rmm", "rms", "rmvb", "rmx"], []],
702
+ 'application/vnd.stardivision.calc' => [["sdc"], []],
703
+ 'application/vnd.stardivision.chart' => [["sds"], []],
704
+ 'application/vnd.stardivision.draw' => [["sda"], []],
705
+ 'application/vnd.stardivision.impress' => [["sdd", "sdp"], []],
706
+ 'application/vnd.stardivision.mail' => [["smd"], []],
707
+ 'application/vnd.stardivision.math' => [["smf"], []],
708
+ 'application/vnd.stardivision.writer' => [["sdw", "sgl", "vor"], []],
709
+ 'application/vnd.sun.xml.calc' => [["sxc"], ["application/zip"]],
710
+ 'application/vnd.sun.xml.calc.template' => [["stc"], ["application/zip"]],
711
+ 'application/vnd.sun.xml.draw' => [["sxd"], ["application/zip"]],
712
+ 'application/vnd.sun.xml.draw.template' => [["std"], ["application/zip"]],
713
+ 'application/vnd.sun.xml.impress' => [["sxi"], ["application/zip"]],
714
+ 'application/vnd.sun.xml.impress.template' => [["sti"], ["application/zip"]],
715
+ 'application/vnd.sun.xml.math' => [["sxm"], ["application/zip"]],
716
+ 'application/vnd.sun.xml.writer' => [["sxw"], ["application/zip"]],
717
+ 'application/vnd.sun.xml.writer.global' => [["sxg"], ["application/zip"]],
718
+ 'application/vnd.sun.xml.writer.template' => [["stw"], ["application/zip"]],
719
+ 'application/vnd.symbian.install' => [["sis"], []],
720
+ 'application/vnd.wordperfect' => [["wp", "wp4", "wp5", "wp6", "wpd", "wpp"], []],
721
+ 'application/x-7z-compressed' => [["7z"], []],
722
+ 'application/x-abiword' => [["abw", "abw.crashed", "abw.gz", "zabw"], ["application/xml"]],
723
+ 'application/x-ace' => [["ace"], []],
724
+ 'application/x-alz' => [["alz"], []],
725
+ 'application/x-amipro' => [["sam"], []],
726
+ 'application/x-applix-spreadsheet' => [["as"], []],
727
+ 'application/x-applix-word' => [["aw"], []],
728
+ 'application/x-archive' => [["a"], []],
729
+ 'application/x-arj' => [["arj"], []],
730
+ 'application/x-asp' => [["asp"], ["text/plain"]],
731
+ 'application/x-awk' => [["awk"], ["application/x-executable", "text/plain"]],
732
+ 'application/x-bcpio' => [["bcpio"], []],
733
+ 'application/x-bittorrent' => [["torrent"], []],
734
+ 'application/x-blender' => [["blend", "blend", "blender"], []],
735
+ 'application/x-bzdvi' => [["dvi.bz2"], []],
736
+ 'application/x-bzip' => [["bz", "bz2"], []],
737
+ 'application/x-bzip-compressed-tar' => [["tar.bz", "tar.bz2", "tbz", "tbz2"], []],
738
+ 'application/x-bzpdf' => [["pdf.bz2"], []],
739
+ 'application/x-bzpostscript' => [["ps.bz2"], []],
740
+ 'application/x-cbr' => [["cbr"], ["application/x-rar"]],
741
+ 'application/x-cbz' => [["cbz"], ["application/zip"]],
742
+ 'application/x-cd-image' => [["iso", "iso9660"], []],
743
+ 'application/x-cdrdao-toc' => [["toc"], ["text/plain"]],
744
+ 'application/x-chess-pgn' => [["pgn"], ["text/plain"]],
745
+ 'application/x-chm' => [["chm"], []],
746
+ 'application/x-cisco-vpn-settings' => [["pcf"], []],
747
+ 'application/x-compress' => [["z"], []],
748
+ 'application/x-compressed-tar' => [["tar.gz", "tgz"], []],
749
+ 'application/x-cpio' => [["cpio"], []],
750
+ 'application/x-cpio-compressed' => [["cpio.gz"], []],
751
+ 'application/x-csh' => [["csh"], ["application/x-shellscript", "text/plain"]],
752
+ 'application/x-cue' => [["cue"], ["text/plain"]],
753
+ 'application/x-dar' => [["dar"], []],
754
+ 'application/x-dbf' => [["dbf"], []],
755
+ 'application/x-dc-rom' => [["dc"], []],
756
+ 'application/x-deb' => [["deb"], []],
757
+ 'application/x-designer' => [["ui"], []],
758
+ 'application/x-desktop' => [["desktop", "kdelnk"], ["text/plain"]],
759
+ 'application/x-dia-diagram' => [["dia"], ["application/xml"]],
760
+ 'application/x-dvi' => [["dvi"], []],
761
+ 'application/x-e-theme' => [["etheme"], []],
762
+ 'application/x-egon' => [["egon"], []],
763
+ 'application/x-fluid' => [["fl"], ["text/plain"]],
764
+ 'application/x-font-afm' => [["afm"], []],
765
+ 'application/x-font-bdf' => [["bdf"], []],
766
+ 'application/x-font-linux-psf' => [["psf"], []],
767
+ 'application/x-font-pcf' => [["pcf", "pcf.gz", "pcf.z"], []],
768
+ 'application/x-font-speedo' => [["spd"], []],
769
+ 'application/x-font-ttf' => [["ttc", "ttf"], []],
770
+ 'application/x-font-ttx' => [["ttx"], ["text/xml"]],
771
+ 'application/x-font-type1' => [["gsf", "pfa", "pfb"], ["application/postscript"]],
772
+ 'application/x-gameboy-rom' => [["gb"], []],
773
+ 'application/x-gba-rom' => [["gba"], []],
774
+ 'application/x-gedcom' => [["ged", "gedcom"], []],
775
+ 'application/x-genesis-rom' => [["gen", "md"], []],
776
+ 'application/x-gettext-translation' => [["gmo", "mo"], []],
777
+ 'application/x-glade' => [["glade"], ["application/xml"]],
778
+ 'application/x-gnucash' => [["gnc", "gnucash", "xac"], []],
779
+ 'application/x-gnumeric' => [["gnumeric"], []],
780
+ 'application/x-gnuplot' => [["gnuplot", "gp", "gplt"], ["text/plain"]],
781
+ 'application/x-go-sgf' => [["sgf"], ["text/plain"]],
782
+ 'application/x-graphite' => [["gra"], []],
783
+ 'application/x-gz-font-linux-psf' => [["psf.gz"], ["application/x-gzip"]],
784
+ 'application/x-gzdvi' => [["dvi.gz"], ["application/x-gzip"]],
785
+ 'application/x-gzip' => [["gz"], []],
786
+ 'application/x-gzpdf' => [["pdf.gz"], ["application/x-gzip"]],
787
+ 'application/x-gzpostscript' => [["ps.gz"], ["application/x-gzip"]],
788
+ 'application/x-hdf' => [["hdf"], []],
789
+ 'application/x-hwp' => [["hwp"], []],
790
+ 'application/x-hwt' => [["hwt"], []],
791
+ 'application/x-ica' => [["ica"], ["text/plain"]],
792
+ 'application/x-java' => [["class"], []],
793
+ 'application/x-java-archive' => [["jar"], []],
794
+ 'application/x-java-jnlp-file' => [["jnlp"], ["application/xml"]],
795
+ 'application/x-java-pack200' => [["pack"], []],
796
+ 'application/x-jbuilder-project' => [["jpr", "jpx"], []],
797
+ 'application/x-karbon' => [["karbon"], []],
798
+ 'application/x-kchart' => [["chrt"], []],
799
+ 'application/x-kformula' => [["kfo"], []],
800
+ 'application/x-killustrator' => [["kil"], []],
801
+ 'application/x-kivio' => [["flw"], []],
802
+ 'application/x-kontour' => [["kon"], []],
803
+ 'application/x-kpovmodeler' => [["kpm"], []],
804
+ 'application/x-kpresenter' => [["kpr", "kpt"], []],
805
+ 'application/x-krita' => [["kra"], []],
806
+ 'application/x-kspread' => [["ksp"], []],
807
+ 'application/x-kugar' => [["kud"], []],
808
+ 'application/x-kword' => [["kwd", "kwt"], []],
809
+ 'application/x-lha' => [["lha", "lzh"], []],
810
+ 'application/x-lhz' => [["lhz"], []],
811
+ 'application/x-linguist' => [["ts"], []],
812
+ 'application/x-lyx' => [["lyx"], ["text/plain"]],
813
+ 'application/x-lzma' => [["lzma"], []],
814
+ 'application/x-lzma-compressed-tar' => [["tar.lzma", "tlz"], []],
815
+ 'application/x-lzop' => [["lzo"], []],
816
+ 'application/x-m4' => [["m4"], ["text/plain"]],
817
+ 'application/x-magicpoint' => [["mgp"], ["text/plain"]],
818
+ 'application/x-markaby' => [["mab"], ["application/x-ruby"]],
819
+ 'application/x-mif' => [["mif"], []],
820
+ 'application/x-ms-dos-executable' => [["exe"], []],
821
+ 'application/x-msi' => [["msi"], ["application/x-ole-storage"]],
822
+ 'application/x-mswrite' => [["wri"], []],
823
+ 'application/x-msx-rom' => [["msx"], []],
824
+ 'application/x-n64-rom' => [["n64"], []],
825
+ 'application/x-navi-animation' => [["ani"], []],
826
+ 'application/x-nes-rom' => [["nes"], []],
827
+ 'application/x-netcdf' => [["cdf", "nc"], []],
828
+ 'application/x-netshow-channel' => [["nsc"], ["video/x-ms-asf"]],
829
+ 'application/x-nintendo-ds-rom' => [["nds"], []],
830
+ 'application/x-object' => [["o"], []],
831
+ 'application/x-oleo' => [["oleo"], []],
832
+ 'application/x-pak' => [["pak"], []],
833
+ 'application/x-palm-database' => [["pdb", "prc"], []],
834
+ 'application/x-par2' => [["par2", "par2"], []],
835
+ 'application/x-perl' => [["al", "perl", "pl", "pm"], ["application/x-executable", "text/plain"]],
836
+ 'application/x-php' => [["php", "php3", "php4"], ["text/plain"]],
837
+ 'application/x-pkcs12' => [["p12", "pfx"], []],
838
+ 'application/x-planperfect' => [["pln"], []],
839
+ 'application/x-pw' => [["pw"], []],
840
+ 'application/x-python-bytecode' => [["pyc", "pyo"], []],
841
+ 'application/x-quattropro' => [["wb1", "wb2", "wb3"], []],
842
+ 'application/x-quicktime-media-link' => [["qtl"], ["video/quicktime"]],
843
+ 'application/x-qw' => [["qif"], []],
844
+ 'application/x-rar' => [["rar"], []],
845
+ 'application/x-reject' => [["rej"], ["text/plain"]],
846
+ 'application/x-rpm' => [["rpm"], []],
847
+ 'application/x-ruby' => [["rb"], ["application/x-executable", "text/plain"]],
848
+ 'application/x-sami' => [["sami", "smi"], ["text/plain"]],
849
+ 'application/x-shar' => [["shar"], []],
850
+ 'application/x-shared-library-la' => [["la"], ["text/plain"]],
851
+ 'application/x-sharedlib' => [["so"], []],
852
+ 'application/x-shellscript' => [["sh"], ["application/x-executable", "text/plain"]],
853
+ 'application/x-shockwave-flash' => [["spl", "swf"], []],
854
+ 'application/x-shorten' => [["shn"], []],
855
+ 'application/x-siag' => [["siag"], []],
856
+ 'application/x-smaf' => [["mmf", "smaf"], []],
857
+ 'application/x-sms-rom' => [["gg", "sms"], []],
858
+ 'application/x-snes-rom' => [["smc"], []],
859
+ 'application/x-stuffit' => [["sit"], []],
860
+ 'application/x-subrip' => [["srt"], ["text/plain"]],
861
+ 'application/x-sv4cpio' => [["sv4cpio"], []],
862
+ 'application/x-sv4crc' => [["sv4crc"], []],
863
+ 'application/x-t602' => [["602"], []],
864
+ 'application/x-tar' => [["gtar", "tar"], []],
865
+ 'application/x-tarz' => [["tar.z"], []],
866
+ 'application/x-tex-gf' => [["gf"], []],
867
+ 'application/x-tex-pk' => [["pk"], []],
868
+ 'application/x-tgif' => [["obj"], []],
869
+ 'application/x-theme' => [["theme"], ["application/x-desktop"]],
870
+ 'application/x-trash' => [["bak", "old", "sik"], []],
871
+ 'application/x-troff-man' => [["man"], ["text/plain"]],
872
+ 'application/x-tzo' => [["tar.lzo", "tzo"], []],
873
+ 'application/x-ufraw' => [["ufraw"], ["text/xml"]],
874
+ 'application/x-ustar' => [["ustar"], []],
875
+ 'application/x-wais-source' => [["src"], []],
876
+ 'application/x-wpg' => [["wpg"], []],
877
+ 'application/x-x509-ca-cert' => [["cer", "cert", "crt", "der", "pem"], []],
878
+ 'application/x-xbel' => [["xbel"], ["application/xml"]],
879
+ 'application/x-xliff' => [["xlf", "xliff"], ["application/xml"]],
880
+ 'application/x-zoo' => [["zoo"], []],
881
+ 'application/xhtml+xml' => [["xhtml"], ["application/xml"]],
882
+ 'application/xml' => [["xbl", "xml", "xsl", "xslt"], ["text/plain"]],
883
+ 'application/xml-dtd' => [["dtd"], ["text/plain"]],
884
+ 'application/xml-external-parsed-entity' => [["ent"], ["application/xml"]],
885
+ 'application/xspf+xml' => [["xspf"], ["application/xml"]],
886
+ 'application/zip' => [["zip"], []],
887
+ 'audio/AMR' => [["amr"], []],
888
+ 'audio/AMR-WB' => [["awb"], []],
889
+ 'audio/ac3' => [["ac3"], []],
890
+ 'audio/basic' => [["au", "snd"], []],
891
+ 'audio/midi' => [["kar", "mid", "midi"], []],
892
+ 'audio/mp2' => [["mp2"], []],
893
+ 'audio/mp4' => [["aac", "m4a"], []],
894
+ 'audio/mpeg' => [["mp3", "mpga"], []],
895
+ 'audio/ogg' => [["oga"], ["application/ogg"]],
896
+ 'audio/prs.sid' => [["psid", "sid"], []],
897
+ 'audio/vnd.rn-realaudio' => [["ra", "rax"], []],
898
+ 'audio/x-aiff' => [["aif", "aifc", "aiff"], []],
899
+ 'audio/x-ape' => [["ape"], []],
900
+ 'audio/x-flac' => [["flac"], []],
901
+ 'audio/x-flac+ogg' => [["ogg"], ["audio/ogg"]],
902
+ 'audio/x-iriver-pla' => [["pla"], []],
903
+ 'audio/x-it' => [["it"], []],
904
+ 'audio/x-m4b' => [["m4b"], ["audio/mp4"]],
905
+ 'audio/x-matroska' => [["mka"], ["application/x-matroska"]],
906
+ 'audio/x-minipsf' => [["minipsf"], ["audio/x-psf"]],
907
+ 'audio/x-mo3' => [["mo3"], []],
908
+ 'audio/x-mod' => [["669", "m15", "med", "mod", "mtm", "ult", "uni"], []],
909
+ 'audio/x-mpegurl' => [["m3u", "m3u8", "vlc"], ["text/plain"]],
910
+ 'audio/x-ms-asx' => [["asx", "wax", "wmx", "wvx"], []],
911
+ 'audio/x-ms-wma' => [["wma"], ["video/x-ms-asf"]],
912
+ 'audio/x-musepack' => [["mp+", "mpc", "mpp"], []],
913
+ 'audio/x-psf' => [["psf"], []],
914
+ 'audio/x-psflib' => [["psflib"], ["audio/x-psf"]],
915
+ 'audio/x-s3m' => [["s3m"], []],
916
+ 'audio/x-scpls' => [["pls"], []],
917
+ 'audio/x-speex' => [["spx"], []],
918
+ 'audio/x-speex+ogg' => [["ogg"], ["audio/ogg"]],
919
+ 'audio/x-stm' => [["stm"], []],
920
+ 'audio/x-tta' => [["tta"], []],
921
+ 'audio/x-voc' => [["voc"], []],
922
+ 'audio/x-vorbis+ogg' => [["ogg"], ["audio/ogg"]],
923
+ 'audio/x-wav' => [["wav"], []],
924
+ 'audio/x-wavpack' => [["wv", "wvp"], []],
925
+ 'audio/x-wavpack-correction' => [["wvc"], []],
926
+ 'audio/x-xi' => [["xi"], []],
927
+ 'audio/x-xm' => [["xm"], []],
928
+ 'audio/x-xmf' => [["xmf"], []],
929
+ 'image/bmp' => [["bmp"], []],
930
+ 'image/cgm' => [["cgm"], []],
931
+ 'image/fax-g3' => [["g3"], []],
932
+ 'image/gif' => [["gif"], []],
933
+ 'image/ief' => [["ief"], []],
934
+ 'image/jp2' => [["j2k", "jp2", "jpc", "jpf", "jpx"], []],
935
+ 'image/jpeg' => [["jpe", "jpeg", "jpg"], []],
936
+ 'image/png' => [["png"], []],
937
+ 'image/rle' => [["rle"], []],
938
+ 'image/svg+xml' => [["svg"], ["application/xml"]],
939
+ 'image/svg+xml-compressed' => [["svgz"], ["application/x-gzip"]],
940
+ 'image/tiff' => [["tif", "tiff"], []],
941
+ 'image/vnd.djvu' => [["djv", "djvu"], []],
942
+ 'image/vnd.dwg' => [["dwg"], []],
943
+ 'image/vnd.dxf' => [["dxf"], []],
944
+ 'image/vnd.rn-realpix' => [["rp"], []],
945
+ 'image/vnd.wap.wbmp' => [["wbmp"], []],
946
+ 'image/x-3ds' => [["3ds"], []],
947
+ 'image/x-adobe-dng' => [["dng"], ["image/tiff", "image/x-dcraw"]],
948
+ 'image/x-applix-graphics' => [["ag"], []],
949
+ 'image/x-bzeps' => [["eps.bz2", "epsf.bz2", "epsi.bz2"], []],
950
+ 'image/x-canon-cr2' => [["cr2"], ["image/tiff", "image/x-dcraw"]],
951
+ 'image/x-canon-crw' => [["crw"], ["image/x-dcraw"]],
952
+ 'image/x-cmu-raster' => [["ras"], []],
953
+ 'image/x-compressed-xcf' => [["xcf.bz2", "xcf.gz"], []],
954
+ 'image/x-dds' => [["dds"], []],
955
+ 'image/x-emf' => [["emf"], []],
956
+ 'image/x-eps' => [["eps", "epsf", "epsi"], ["application/postscript"]],
957
+ 'image/x-exr' => [["exr"], []],
958
+ 'image/x-fits' => [["fits"], []],
959
+ 'image/x-fuji-raf' => [["raf"], ["image/x-dcraw"]],
960
+ 'image/x-gzeps' => [["eps.gz", "epsf.gz", "epsi.gz"], []],
961
+ 'image/x-icns' => [["icns"], []],
962
+ 'image/x-ico' => [["ico"], []],
963
+ 'image/x-iff' => [["iff"], []],
964
+ 'image/x-ilbm' => [["ilbm"], []],
965
+ 'image/x-jng' => [["jng"], []],
966
+ 'image/x-kodak-dcr' => [["dcr"], ["image/tiff", "image/x-dcraw"]],
967
+ 'image/x-kodak-k25' => [["k25"], ["image/tiff", "image/x-dcraw"]],
968
+ 'image/x-kodak-kdc' => [["kdc"], ["image/tiff", "image/x-dcraw"]],
969
+ 'image/x-lwo' => [["lwo", "lwob"], []],
970
+ 'image/x-lws' => [["lws"], []],
971
+ 'image/x-macpaint' => [["pntg"], []],
972
+ 'image/x-minolta-mrw' => [["mrw"], ["image/x-dcraw"]],
973
+ 'image/x-msod' => [["msod"], []],
974
+ 'image/x-nikon-nef' => [["nef"], ["image/tiff", "image/x-dcraw"]],
975
+ 'image/x-olympus-orf' => [["orf"], ["image/x-dcraw"]],
976
+ 'image/x-panasonic-raw' => [["raw"], ["image/x-dcraw"]],
977
+ 'image/x-pcx' => [["pcx"], []],
978
+ 'image/x-pentax-pef' => [["pef"], ["image/tiff", "image/x-dcraw"]],
979
+ 'image/x-photo-cd' => [["pcd"], []],
980
+ 'image/x-pict' => [["pict", "pict1", "pict2"], []],
981
+ 'image/x-portable-anymap' => [["pnm"], []],
982
+ 'image/x-portable-bitmap' => [["pbm"], ["image/x-portable-anymap"]],
983
+ 'image/x-portable-graymap' => [["pgm"], ["image/x-portable-anymap"]],
984
+ 'image/x-portable-pixmap' => [["ppm"], ["image/x-portable-anymap"]],
985
+ 'image/x-psd' => [["psd"], []],
986
+ 'image/x-quicktime' => [["qif", "qtif"], []],
987
+ 'image/x-rgb' => [["rgb"], []],
988
+ 'image/x-sgi' => [["sgi"], []],
989
+ 'image/x-sigma-x3f' => [["x3f"], ["image/x-dcraw"]],
990
+ 'image/x-skencil' => [["sk", "sk1"], []],
991
+ 'image/x-sony-arw' => [["arw"], ["image/tiff", "image/x-dcraw"]],
992
+ 'image/x-sony-sr2' => [["sr2"], ["image/tiff", "image/x-dcraw"]],
993
+ 'image/x-sony-srf' => [["srf"], ["image/tiff", "image/x-dcraw"]],
994
+ 'image/x-sun-raster' => [["sun"], []],
995
+ 'image/x-tga' => [["icb", "tga", "tpic", "vda", "vst"], []],
996
+ 'image/x-win-bitmap' => [["cur"], []],
997
+ 'image/x-wmf' => [["wmf"], []],
998
+ 'image/x-xbitmap' => [["xbm"], []],
999
+ 'image/x-xcf' => [["xcf"], []],
1000
+ 'image/x-xfig' => [["fig"], []],
1001
+ 'image/x-xpixmap' => [["xpm"], []],
1002
+ 'image/x-xwindowdump' => [["xwd"], []],
1003
+ 'model/vrml' => [["wrl"], ["text/plain"]],
1004
+ 'text/calendar' => [["ics", "vcs"], ["text/plain"]],
1005
+ 'text/css' => [["css", "cssl"], ["text/x-csrc"]],
1006
+ 'text/csv' => [["csv"], ["text/plain"]],
1007
+ 'text/directory' => [["gcrd", "vcf", "vct"], ["text/plain"]],
1008
+ 'text/html' => [["htm", "html"], ["text/plain"]],
1009
+ 'text/mathml' => [["mml"], ["application/xml"]],
1010
+ 'text/plain' => [["asc", "txt"], []],
1011
+ 'text/rdf' => [["owl", "rdf", "rdfs"], ["application/xml"]],
1012
+ 'text/richtext' => [["rtx"], ["text/plain"]],
1013
+ 'text/sgml' => [["sgm", "sgml"], ["text/plain"]],
1014
+ 'text/spreadsheet' => [["slk", "sylk"], ["text/plain"]],
1015
+ 'text/tab-separated-values' => [["tsv"], ["text/plain"]],
1016
+ 'text/troff' => [["roff", "t", "tr"], ["text/plain"]],
1017
+ 'text/vnd.rn-realtext' => [["rt"], []],
1018
+ 'text/vnd.sun.j2me.app-descriptor' => [["jad"], []],
1019
+ 'text/vnd.wap.wml' => [["wml"], ["application/xml"]],
1020
+ 'text/vnd.wap.wmlscript' => [["wmls"], []],
1021
+ 'text/x-adasrc' => [["adb", "ads"], ["text/plain"]],
1022
+ 'text/x-bibtex' => [["bib"], ["text/plain"]],
1023
+ 'text/x-c++hdr' => [["h++", "hh", "hp", "hpp", "hxx"], ["text/x-chdr"]],
1024
+ 'text/x-c++src' => [["c", "c++", "cc", "cpp", "cxx"], ["text/x-csrc"]],
1025
+ 'text/x-chdr' => [["h"], ["text/x-csrc"]],
1026
+ 'text/x-cmake' => [["cmake"], []],
1027
+ 'text/x-csharp' => [["cs"], ["text/x-csrc"]],
1028
+ 'text/x-csrc' => [["c"], ["text/plain"]],
1029
+ 'text/x-dcl' => [["dcl"], ["text/plain"]],
1030
+ 'text/x-dsl' => [["dsl"], ["text/plain"]],
1031
+ 'text/x-dsrc' => [["d"], ["text/plain"]],
1032
+ 'text/x-eiffel' => [["e", "eif"], ["text/plain"]],
1033
+ 'text/x-emacs-lisp' => [["el"], ["text/plain"]],
1034
+ 'text/x-erlang' => [["erl"], ["text/plain"]],
1035
+ 'text/x-fortran' => [["f", "f90", "f95", "for"], ["text/plain"]],
1036
+ 'text/x-gettext-translation' => [["po"], ["text/plain"]],
1037
+ 'text/x-gettext-translation-template' => [["pot"], ["text/plain"]],
1038
+ 'text/x-google-video-pointer' => [["gvp"], []],
1039
+ 'text/x-haskell' => [["hs"], ["text/plain"]],
1040
+ 'text/x-iMelody' => [["ime", "imy"], []],
1041
+ 'text/x-idl' => [["idl"], ["text/plain"]],
1042
+ 'text/x-iptables' => [["iptables"], ["text/plain"]],
1043
+ 'text/x-java' => [["java"], ["text/x-csrc"]],
1044
+ 'text/x-ldif' => [["ldif"], ["text/plain"]],
1045
+ 'text/x-lilypond' => [["ly"], ["text/plain"]],
1046
+ 'text/x-literate-haskell' => [["lhs"], ["text/plain"]],
1047
+ 'text/x-log' => [["log"], ["text/plain"]],
1048
+ 'text/x-lua' => [["lua"], ["application/x-executable", "text/plain"]],
1049
+ 'text/x-matlab' => [["m"], ["text/plain"]],
1050
+ 'text/x-microdvd' => [["sub"], ["text/plain"]],
1051
+ 'text/x-moc' => [["moc"], ["text/plain"]],
1052
+ 'text/x-mof' => [["mof"], ["text/x-csrc"]],
1053
+ 'text/x-mpsub' => [["sub"], ["text/plain"]],
1054
+ 'text/x-mrml' => [["mrl", "mrml"], []],
1055
+ 'text/x-ms-regedit' => [["reg"], ["text/plain"]],
1056
+ 'text/x-mup' => [["mup", "not"], ["text/plain"]],
1057
+ 'text/x-nfo' => [["nfo"], ["text/x-readme"]],
1058
+ 'text/x-objcsrc' => [["m"], ["text/x-csrc"]],
1059
+ 'text/x-ocaml' => [["ml", "mli"], []],
1060
+ 'text/x-ocl' => [["ocl"], ["text/plain"]],
1061
+ 'text/x-opml+xml' => [["opml"], ["application/xml"]],
1062
+ 'text/x-pascal' => [["p", "pas"], ["text/plain"]],
1063
+ 'text/x-patch' => [["diff", "patch"], ["text/plain"]],
1064
+ 'text/x-python' => [["py"], ["application/x-executable", "text/plain"]],
1065
+ 'text/x-rpm-spec' => [["spec"], ["text/plain"]],
1066
+ 'text/x-scheme' => [["scm"], ["text/plain"]],
1067
+ 'text/x-setext' => [["etx"], ["text/plain"]],
1068
+ 'text/x-sql' => [["sql"], ["text/plain"]],
1069
+ 'text/x-ssa' => [["ass", "ssa"], ["text/plain"]],
1070
+ 'text/x-subviewer' => [["sub"], ["text/plain"]],
1071
+ 'text/x-tcl' => [["tcl", "tk"], ["text/plain"]],
1072
+ 'text/x-tex' => [["cls", "dtx", "ins", "latex", "ltx", "sty", "tex"], ["text/plain"]],
1073
+ 'text/x-texinfo' => [["texi", "texinfo"], ["text/plain"]],
1074
+ 'text/x-troff-me' => [["me"], ["text/plain"]],
1075
+ 'text/x-troff-mm' => [["mm"], ["text/plain"]],
1076
+ 'text/x-troff-ms' => [["ms"], ["text/plain"]],
1077
+ 'text/x-txt2tags' => [["t2t"], ["text/plain"]],
1078
+ 'text/x-uil' => [["uil"], ["text/plain"]],
1079
+ 'text/x-uri' => [["uri", "url"], ["text/plain"]],
1080
+ 'text/x-vala' => [["vala"], ["text/x-csrc"]],
1081
+ 'text/x-vhdl' => [["vhd", "vhdl"], ["text/plain"]],
1082
+ 'text/x-xmi' => [["xmi"], ["application/xml"]],
1083
+ 'text/x-xslfo' => [["fo", "xslfo"], ["application/xml"]],
1084
+ 'video/3gpp' => [["3g2", "3ga", "3gp", "3gpp"], ["video/mp4"]],
1085
+ 'video/dv' => [["dv"], []],
1086
+ 'video/mp4' => [["m4v", "mp4"], []],
1087
+ 'video/mpeg' => [["m2t", "mp2", "mpe", "mpeg", "mpg", "vob"], []],
1088
+ 'video/ogg' => [["ogv"], ["application/ogg"]],
1089
+ 'video/quicktime' => [["moov", "mov", "qt", "qtvr"], []],
1090
+ 'video/vivo' => [["viv", "vivo"], []],
1091
+ 'video/vnd.rn-realvideo' => [["rv", "rvx"], []],
1092
+ 'video/x-flic' => [["flc", "fli"], []],
1093
+ 'video/x-flv' => [["flv"], []],
1094
+ 'video/x-matroska' => [["mkv"], ["application/x-matroska"]],
1095
+ 'video/x-mng' => [["mng"], []],
1096
+ 'video/x-ms-asf' => [["asf"], []],
1097
+ 'video/x-ms-wmv' => [["wmv"], ["video/x-ms-asf"]],
1098
+ 'video/x-msvideo' => [["avi", "divx"], []],
1099
+ 'video/x-nsv' => [["nsv"], []],
1100
+ 'video/x-ogm+ogg' => [["ogm"], ["video/ogg"]],
1101
+ 'video/x-sgi-movie' => [["movie"], []],
1102
+ 'video/x-theora+ogg' => [["ogg"], ["video/ogg"]],
1103
+ 'x-epoc/x-sisx-app' => [["sisx"], []],
1104
+ }
1105
+ MAGIC = [
1106
+ ['application/vnd.stardivision.writer', [[2089, "StarWriter"]]],
1107
+ ['image/x-eps', [[0, "%!", [[15, "EPS"]]], [0, "\x04%!", [[16, "EPS"]]]]],
1108
+ ['application/docbook+xml', [[0, "<?xml", [[0..100, "-//OASIS//DTD DocBook XML"], [0..100, "-//KDE//DTD DocBook XML"]]]]],
1109
+ ['application/x-java-archive', [[0, "PK\x03\x04", [[40, "\xFE\xCA"]]]]],
1110
+ ['application/smil', [[0..256, "<smil"]]],
1111
+ ['image/x-niff', [[0, "IIN1"]]],
1112
+ ['application/prs.plucker', [[60, "DataPlkr"]]],
1113
+ ['application/x-mozilla-bookmarks', [[0..64, "<!DOCTYPE NETSCAPE-Bookmark-file-1>"]]],
1114
+ ['image/svg+xml', [[0..256, "<!DOCTYPE svg"], [0..256, "<svg"]]],
1115
+ ['image/x-kodak-kdc', [[242, "EASTMAN KODAK COMPANY"]]],
1116
+ ['audio/x-vorbis+ogg', [[0, "OggS", [[28, "\x01vorbis"]]]]],
1117
+ ['application/vnd.corel-draw', []],
1118
+ ['application/x-php', [[0..64, "<?php"]]],
1119
+ ['application/x-xliff', [[0..256, "<xliff"]]],
1120
+ ['application/x-pak', [[0, "PACK"]]],
1121
+ ['audio/x-flac+ogg', [[0, "OggS", [[28, "fLaC"]]], [0, "OggS", [[28, "\x7FFLAC"]]]]],
1122
+ ['video/x-theora+ogg', [[0, "OggS", [[28, "\x80theora"]]]]],
1123
+ ['audio/x-speex+ogg', [[0, "OggS", [[28, "Speex "]]]]],
1124
+ ['video/x-ogm+ogg', [[0, "OggS", [[29, "video"]]]]],
1125
+ ['application/rss+xml', [[0..256, "<rss "], [0..256, "<RSS "]]],
1126
+ ['text/x-opml+xml', [[0..256, "<opml "]]],
1127
+ ['application/atom+xml', [[0..256, "<feed "]]],
1128
+ ['text/x-txt2tags', [[0, "%!postproc"], [0, "%!encoding"]]],
1129
+ ['application/x-quicktime-media-link', [[0, "<?xml", [[0..64, "<?quicktime"]]], [0, "RTSPtext"], [0, "rtsptext"], [0, "SMILtext"]]],
1130
+ ['application/x-font-type1', [[0, "LWFN"], [65, "LWFN"], [0, "%!PS-AdobeFont-1."], [6, "%!PS-AdobeFont-1."], [0, "%!FontType1-1."], [6, "%!FontType1-1."]]],
1131
+ ['audio/x-ms-asx', [[0, "ASF "], [0..64, "<ASX"], [0..64, "<asx"], [0..64, "<Asx"]]],
1132
+ ['audio/x-wav', [[8, "WAVE"], [8, "WAV "]]],
1133
+ ['application/gnunet-directory', [[0, "\x89GND\r\n\x1A\n"]]],
1134
+ ['video/x-sgi-movie', [[0, "MOVI"]]],
1135
+ ['application/sdp', [[0, "v=", [[0..256, "s="]]]]],
1136
+ ['video/x-nsv', [[0, "NSVf"]]],
1137
+ ['video/x-msvideo', [[0, "RIFF", [[8, "AVI "]]]]],
1138
+ ['application/x-netshow-channel', [[0, "[Address]"]]],
1139
+ ['video/x-ms-asf', [[0, "0&\xB2u"], [0, "[Reference]"]]],
1140
+ ['application/x-hwp', [[0, "HWP Document File"]]],
1141
+ ['video/x-flic', [[0, "\x11\xAF"], [0, "\x12\xAF"]]],
1142
+ ['image/x-quicktime', [[4, "idat"]]],
1143
+ ['video/quicktime', [[12, "mdat"], [4, "mdat"], [4, "moov"], [4, "ftypqt"]]],
1144
+ ['application/vnd.oasis.opendocument.text', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.text"]]]]]]],
1145
+ ['application/vnd.oasis.opendocument.text-template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.text-template"]]]]]]],
1146
+ ['application/vnd.oasis.opendocument.text-web', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.text-web"]]]]]]],
1147
+ ['application/vnd.oasis.opendocument.text-master', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.text-master"]]]]]]],
1148
+ ['application/vnd.oasis.opendocument.graphics', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.graphics"]]]]]]],
1149
+ ['application/vnd.oasis.opendocument.graphics-template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.graphics-template"]]]]]]],
1150
+ ['application/vnd.oasis.opendocument.presentation', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.presentation"]]]]]]],
1151
+ ['application/vnd.oasis.opendocument.presentation-template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.presentation-template"]]]]]]],
1152
+ ['application/vnd.oasis.opendocument.spreadsheet', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.spreadsheet"]]]]]]],
1153
+ ['application/vnd.oasis.opendocument.spreadsheet-template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.spreadsheet-template"]]]]]]],
1154
+ ['application/vnd.oasis.opendocument.chart', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.chart"]]]]]]],
1155
+ ['application/vnd.oasis.opendocument.formula', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.formula"]]]]]]],
1156
+ ['application/vnd.oasis.opendocument.image', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.oasis.opendocument.image"]]]]]]],
1157
+ ['application/vnd.symbian.install', [[8, "\x19\x04\x00\x10"]]],
1158
+ ['x-epoc/x-sisx-app', [[0, "z\x1A \x10"]]],
1159
+ ['application/vnd.wordperfect', [[1, "WPC"]]],
1160
+ ['application/x-xbel', [[0..256, "<!DOCTYPE xbel"]]],
1161
+ ['application/x-abiword', [[0..256, "<abiword"], [0..256, "<!DOCTYPE abiword"]]],
1162
+ ['application/x-applix-spreadsheet', [[0, "*BEGIN SPREADSHEETS"], [0, "*BEGIN", [[7, "SPREADSHEETS"]]]]],
1163
+ ['application/x-applix-word', [[0, "*BEGIN", [[7, "WORDS"]]]]],
1164
+ ['application/x-arc', []],
1165
+ ['video/mpeg', [[0, "G?\xFF\x10"], [0, "\x00\x00\x01\xB3"], [0, "\x00\x00\x01\xBA"]]],
1166
+ ['application/x-arj', [[0, "`\xEA"]]],
1167
+ ['application/x-awk', [[0, "#!/bin/gawk"], [0, "#! /bin/gawk"], [0, "#!/usr/bin/gawk"], [0, "#! /usr/bin/gawk"], [0, "#!/usr/local/bin/gawk"], [0, "#! /usr/local/bin/gawk"], [0, "#!/bin/awk"], [0, "#! /bin/awk"], [0, "#!/usr/bin/awk"], [0, "#! /usr/bin/awk"]]],
1168
+ ['application/x-bittorrent', [[0, "d8:announce"]]],
1169
+ ['application/x-blender', [[0, "BLENDER"]]],
1170
+ ['application/x-bzip', [[0, "BZh"]]],
1171
+ ['application/x-cdrdao-toc', [[0, "CD_ROM\n"], [0, "CD_DA\n"], [0, "CD_ROM_XA\n"], [0, "CD_TEXT "], [0, "CATALOG \"", [[22, "\""]]]]],
1172
+ ['application/x-chess-pgn', [[0, "[Event "]]],
1173
+ ['application/x-compress', [[0, "\x1F\x9D"]]],
1174
+ ['application/x-core', [[0, "\x7FELF", [[5, "\x01", [[16, "\x04\x00"]]]]], [0, "\x7FELF", [[5, "\x02", [[16, "\x00\x04"]]]]], [0, "Core\x01"], [0, "Core\x02"]]],
1175
+ ['application/x-cpio', [[0, "\xC7q"], [0, "070701"], [0, "070702"], [0, "q\xC7"]]],
1176
+ ['video/dv', []],
1177
+ ['application/x-deb', [[0, "!<arch>", [[8, "debian"]]]]],
1178
+ ['application/x-desktop', [[0..32, "[Desktop Entry]"], [0, "[Desktop Action"], [0, "[KDE Desktop Entry]"], [0, "# Config File"], [0, "# KDE Config File"]]],
1179
+ ['application/x-dia-diagram', [[5..100, "<dia:"]]],
1180
+ ['application/x-dvi', [[0, "\xF7\x02"]]],
1181
+ ['text/xmcd', [[0, "# xmcd"]]],
1182
+ ['application/x-fluid', [[0, "# data file for the Fltk"], [0, "version"], [0, "header_name"], [0, "code_name"]]],
1183
+ ['application/msword', [[0, "1\xBE\x00\x00"], [0, "PO^Q`"], [0, "\xFE7\x00#"], [0, "\xDB\xA5-\x00\x00\x00"], [2112, "MSWordDoc"], [2108, "MSWordDoc"], [2112, "Microsoft Word document data"]]],
1184
+ ['application/x-font-bdf', [[0, "STARTFONT "]]],
1185
+ ['application/x-font-dos', [[0, "\xFFFON"], [7, "\x00EGA"], [7, "\x00VID"]]],
1186
+ ['application/x-font-framemaker', [[0, "<MakerScreenFont"]]],
1187
+ ['application/x-font-libgrx', [[0, "\x14\x02Y\x19"]]],
1188
+ ['application/x-font-linux-psf', [[0, "6\x04"]]],
1189
+ ['application/x-font-pcf', [[0, "\x01fcp"]]],
1190
+ ['application/x-font-otf', [[0, "OTTO"]]],
1191
+ ['application/x-font-speedo', [[0, "D1.0\r"]]],
1192
+ ['application/x-font-sunos-news', [[0, "StartFont"], [0, "\x13z)"], [8, "\x13z+"]]],
1193
+ ['application/x-font-tex', [[0, "\xF7\x83"], [0, "\xF7Y"], [0, "\xF7\xCA"]]],
1194
+ ['application/x-font-tex-tfm', [[2, "\x00\x11"], [2, "\x00\x12"]]],
1195
+ ['application/x-font-ttf', [[0, "FFIL"], [65, "FFIL"], [0, "\x00\x01\x00\x00\x00"]]],
1196
+ ['application/x-font-ttx', [[0..256, "<ttFont sfntVersion=\"\\x00\\x01\\x00\\x00\" ttLibVersion=\""]]],
1197
+ ['application/x-font-vfont', [[0, "FONT"]]],
1198
+ ['application/x-frame', [[0, "<MakerFile"], [0, "<MIFFile"], [0, "<MakerDictionary"], [0, "<MakerScreenFon"], [0, "<MML"], [0, "<Book"], [0, "<Maker"]]],
1199
+ ['application/x-gdbm', [[0, "\x13W\x9A\xCE"], [0, "\xCE\x9AW\x13"], [0, "GDBM"]]],
1200
+ ['application/x-glade', [[0..256, "<glade-interface"]]],
1201
+ ['application/x-gmc-link', [[0..32, "URL:"]]],
1202
+ ['application/x-gnumeric', [[0..64, "gmr:Workbook"], [0..64, "gnm:Workbook"]]],
1203
+ ['application/x-gtktalog', [[4, "gtktalog "]]],
1204
+ ['application/x-gzip', [[0, "\x1F\x8B"]]],
1205
+ ['application/x-ipod-firmware', [[0, "S T O P"]]],
1206
+ ['application/vnd.ms-excel', [[2080, "Microsoft Excel 5.0 Worksheet"]]],
1207
+ ['application/x-java', [[0, "\xCA\xFE\xBA\xBE"]]],
1208
+ ['application/x-java-jnlp-file', [[0..256, "<jnlp"]]],
1209
+ ['application/x-java-pack200', [[0, "\xCA\xFE\xD0\r"]]],
1210
+ ['application/x-karbon', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-karbon\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-karbon"]]]]]]],
1211
+ ['application/x-kchart', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-kchart\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-kchart"]]]]]]],
1212
+ ['application/x-kformula', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-kformula\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-kformula"]]]]]]],
1213
+ ['application/x-killustrator', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-killustrator\x04\x06"]]]]]]],
1214
+ ['text/x-ms-regedit', [[0, "REGEDIT"], [0, "Windows Registry Editor Version 5.00"], [0, "\xFF\xFEW\x00i\x00n\x00d\x00o\x00w\x00s\x00 \x00R\x00e\x00g\x00i\x00s\x00t\x00r\x00y\x00 \x00E\x00d\x00i\x00t\x00o\x00r\x00"]]],
1215
+ ['application/x-kontour', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-kontour\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-kontour"]]]]]]],
1216
+ ['application/x-kpresenter', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-kpresenter\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-kpresenter"]]]]]]],
1217
+ ['application/x-krita', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-krita\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-krita"]]]]]]],
1218
+ ['application/x-kspread', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-kspread\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-kspread"]]]]]]],
1219
+ ['application/x-kspread-crypt', [[0, "\r\x1A'\x02"]]],
1220
+ ['application/x-ksysv-package', [[4, "KSysV", [[15, "\x01"]]]]],
1221
+ ['application/x-kword', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-kword\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-kword"]]]]]]],
1222
+ ['application/x-kword-crypt', [[0, "\r\x1A'\x01"]]],
1223
+ ['application/x-lha', [[2, "-lh -"], [2, "-lh0-"], [2, "-lh1-"], [2, "-lh2-"], [2, "-lh3-"], [2, "-lh4-"], [2, "-lh5-"], [2, "-lh40-"], [2, "-lhd-"], [2, "-lz4-"], [2, "-lz5-"], [2, "-lzs-"]]],
1224
+ ['application/x-lyx', [[0, "#LyX"]]],
1225
+ ['application/x-macbinary', [[102, "mBIN"]]],
1226
+ ['application/x-matroska', [[8, "matroska"]]],
1227
+ ['application/vnd.ms-access', [[0, "\x00\x01\x00\x00Standard Jet DB"]]],
1228
+ ['application/x-ms-dos-executable', [[0, "MZ"]]],
1229
+ ['application/x-mswinurl', [[1, "InternetShortcut"], [1, "DEFAULT", [[10, "BASEURL="]]]]],
1230
+ ['application/x-nautilus-link', [[0..32, "<nautilus_object nautilus_link"]]],
1231
+ ['application/x-object', [[0, "\x7FELF", [[5, "\x01", [[16, "\x01\x00"]]]]], [0, "\x7FELF", [[5, "\x02", [[16, "\x00\x01"]]]]]]],
1232
+ ['application/ogg', [[0, "OggS"]]],
1233
+ ['audio/ogg', [[0, "OggS"]]],
1234
+ ['video/ogg', [[0, "OggS"]]],
1235
+ ['application/vnd.lotus-1-2-3', [[0, "\x00\x00\x02\x00\x06\x04\x06\x00\b\x00\x00\x00\x00\x00"]]],
1236
+ ['application/x-go-sgf', [[0, "(;FF[3]"], [0, "(;FF[4]"]]],
1237
+ ['video/x-flv', [[0, "FLV"]]],
1238
+ ['audio/x-speex', [[0, "Speex"]]],
1239
+ ['application/x-gedcom', [[0, "0 HEAD"]]],
1240
+ ['application/vnd.emusic-emusic_package', [[0, "nF7YLao"]]],
1241
+ ['application/x-ole-storage', [[0, "\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1"], [0, "\xD0\xCF\x11\xE0"]]],
1242
+ ['application/x-msi', [[0, "\xD0\xCF\x11\xE0\xA1\xB1\x1A\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>\x00\x03\x00\xFE\xFF\t\x00\x06"]]],
1243
+ ['application/x-oleo', [[31, "Oleo"]]],
1244
+ ['application/x-t602', [[0, "@CT 0"], [0, "@CT 1"], [0, "@CT 2"]]],
1245
+ ['application/x-par2', [[0, "PAR2"]]],
1246
+ ['application/x-pef-executable', [[0, "Joy!"]]],
1247
+ ['application/x-perl', [[0, "eval \"exec /usr/local/bin/perl"], [1..16, "/bin/perl"], [1..16, "/bin/env perl"]]],
1248
+ ['application/rtf', [[0, "{\\rtf"]]],
1249
+ ['application/x-python-bytecode', [[0, "\x99N\r\n"]]],
1250
+ ['application/epub+zip', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/epub+zip"]]]]]]],
1251
+ ['application/x-rar', [[0, "Rar!"]]],
1252
+ ['text/x-iptables', [[0..256, "/etc/sysconfig/iptables"], [0..256, "*filter", [[0..256, ":INPUT", [[0..256, ":FORWARD", [[0..256, ":OUTPUT"]]]]]]], [0..256, "-A INPUT", [[0..256, "-A FORWARD", [[0..256, "-A OUTPUT"]]]]], [0..256, "-P INPUT", [[0..256, "-P FORWARD", [[0..256, "-P OUTPUT"]]]]]]],
1253
+ ['application/x-alz', [[0, "ALZ"]]],
1254
+ ['application/x-rpm', [[0, "\xED\xAB\xEE\xDB"]]],
1255
+ ['text/x-tex', [[1, "documentclass"]]],
1256
+ ['application/x-sc', [[38, "Spreadsheet"]]],
1257
+ ['application/x-sharedlib', [[0, "\x7FELF", [[5, "\x01", [[16, "\x03\x00"]]]]], [0, "\x7FELF", [[5, "\x02", [[16, "\x00\x03"]]]]], [0, "\x83\x01"]]],
1258
+ ['application/x-shellscript', [[10, "# This is a shell archive"], [1..16, "/bin/bash"], [1..16, "/bin/nawk"], [1..16, "/bin/zsh"], [1..16, "/bin/sh"], [1..16, "/bin/ksh"], [0, "#!/usr/bin/env sh"], [0, "#!/usr/bin/env bash"], [0, "#!/usr/bin/env zsh"], [0, "#!/usr/bin/env ksh"]]],
1259
+ ['application/x-shockwave-flash', [[0, "FWS"], [0, "CWS"]]],
1260
+ ['application/x-shorten', [[0, "ajkg"]]],
1261
+ ['image/x-skencil', [[0, "##Sketch"]]],
1262
+ ['application/x-stuffit', [[0, "StuffIt "], [0, "SIT!"]]],
1263
+ ['application/x-subrip', [[0, "1", [[0..256, " --> "]]]]],
1264
+ ['application/x-sami', [[0..256, "<SAMI>"]]],
1265
+ ['text/x-microdvd', [[0, "{1}"], [0, "{0}"], [0..6, "}{"]]],
1266
+ ['text/x-mpsub', [[0..256, "FORMAT="]]],
1267
+ ['text/x-ssa', [[0..256, "[Script Info]"], [0..256, "Dialogue: "]]],
1268
+ ['text/x-subviewer', [[0, "[INFORMATION]"]]],
1269
+ ['text/x-iMelody', [[0, "BEGIN:IMELODY"]]],
1270
+ ['application/x-smaf', [[0, "MMMD"]]],
1271
+ ['text/x-mrml', [[0, "<mrml "]]],
1272
+ ['audio/x-xmf', [[0, "XMF_"], [0, "XMF_2.00\x00\x00\x00\x02"]]],
1273
+ ['application/x-tar', [[257, "ustar\x00"], [257, "ustar \x00"]]],
1274
+ ['application/x-tgif', [[0, "%TGIF"]]],
1275
+ ['text/troff', [[0, ".\\\""], [0, "'\\\""], [0, "'.\\\""], [0, "\\\""]]],
1276
+ ['application/x-zoo', [[20, "\xDC\xA7\xC4\xFD"]]],
1277
+ ['text/x-rpm-spec', [[0, "Summary: "], [0, "%define "]]],
1278
+ ['audio/ac3', [[0, "\vw"]]],
1279
+ ['audio/AMR', [[0, "#!AMR\n"], [0, "#!AMR_MC1.0\n"]]],
1280
+ ['audio/AMR-WB', [[0, "#!AMR-WB\n"], [0, "#!AMR-WB_MC1.0\n"]]],
1281
+ ['text/x-lua', [[0, "/bin/lua"], [0, "/bin/env lua"]]],
1282
+ ['audio/prs.sid', [[0, "PSID"]]],
1283
+ ['audio/x-adpcm', [[0, ".snd", [[12, "\x00\x00\x00\x17"]]], [0, ".sd\x00", [[12, "\x01\x00\x00\x00"], [12, "\x02\x00\x00\x00"], [12, "\x03\x00\x00\x00"], [12, "\x04\x00\x00\x00"], [12, "\x05\x00\x00\x00"], [12, "\x06\x00\x00\x00"], [12, "\a\x00\x00\x00"], [12, "\x17\x00\x00\x00"]]]]],
1284
+ ['audio/x-aifc', [[8, "AIFC"]]],
1285
+ ['audio/x-aiff', [[8, "AIFF"], [8, "AIFC"], [8, "8SVX"]]],
1286
+ ['audio/x-ape', [[0, "MAC "]]],
1287
+ ['audio/x-it', [[0, "IMPM"]]],
1288
+ ['audio/x-wavpack', [[0, "wvpk"]]],
1289
+ ['audio/x-wavpack-correction', [[0, "wvpk"]]],
1290
+ ['audio/midi', [[0, "MThd"]]],
1291
+ ['audio/x-mo3', [[0, "MO3"]]],
1292
+ ['audio/mp4', [[4, "ftypM4A"]]],
1293
+ ['video/mp4', [[4, "ftypisom"], [4, "ftypmp42"]]],
1294
+ ['audio/x-m4b', [[4, "ftypM4B"]]],
1295
+ ['video/3gpp', [[4, "ftyp3gp"]]],
1296
+ ['audio/mpeg', [[0, "\x00\x00\xFF\xFB"], [0, "ID3"]]],
1297
+ ['audio/x-mpegurl', [[0, "#EXTM3U"]]],
1298
+ ['application/postscript', [[0, "\x04%!"], [0, "%!"]]],
1299
+ ['audio/x-psf', [[0, "PSF"]]],
1300
+ ['audio/x-musepack', [[0, "MP+"]]],
1301
+ ['text/x-python', [[0, "#!/bin/python"], [0, "#! /bin/python"], [0, "eval \"exec /bin/python"], [0, "#!/usr/bin/python"], [0, "#! /usr/bin/python"], [0, "eval \"exec /usr/bin/python"], [0, "#!/usr/local/bin/python"], [0, "#! /usr/local/bin/python"], [0, "eval \"exec /usr/local/bin/python"], [1..16, "/bin/env python"]]],
1302
+ ['audio/x-s3m', [[44, "SCRM"]]],
1303
+ ['audio/x-scpls', [[0, "[playlist]"], [0, "[Playlist]"], [0, "[PLAYLIST]"]]],
1304
+ ['application/vnd.ms-tnef', [[0, "x\x9F>\""]]],
1305
+ ['audio/x-xi', [[0, "Extended Intrument:"]]],
1306
+ ['audio/x-xm', [[0, "Extended Module:"]]],
1307
+ ['audio/x-tta', [[0, "TTA1"]]],
1308
+ ['image/bmp', [[0, "BM", [[14, "\f"], [14, "@"], [14, "("]]]]],
1309
+ ['image/gif', [[0, "GIF8"]]],
1310
+ ['image/jpeg', [[0, "\xFF\xD8\xFF"], [0, "\xFF\xD8"]]],
1311
+ ['image/jp2', [[4, "jP"], [0, "\xFFO\xFFQ\x00"], [3, "\fjP "]]],
1312
+ ['image/x-dds', [[0, "DDS"]]],
1313
+ ['image/x-xcursor', [[0, "Xcur"]]],
1314
+ ['image/x-exr', [[0, "v/1\x01"]]],
1315
+ ['image/x-canon-crw', [[0, "II\x1A\x00\x00\x00HEAPCCDR"]]],
1316
+ ['image/x-fuji-raf', [[0, "FUJIFILMCCD-RAW "]]],
1317
+ ['application/pgp-signature', [[0, "-----BEGIN PGP SIGNED MESSAGE-----"], [0, "-----BEGIN PGP SIGNATURE-----"]]],
1318
+ ['image/x-minolta-mrw', [[0, "\x00MRM"]]],
1319
+ ['image/x-olympus-orf', [[0, "IIRO\b\x00\x00\x00"]]],
1320
+ ['image/x-panasonic-raw', [[0, "IIU\x00\b\x00\x00\x00"]]],
1321
+ ['image/x-sigma-x3f', [[0, "FOVb"]]],
1322
+ ['image/png', [[0, "\x89PNG"]]],
1323
+ ['application/pgp-keys', [[0, "-----BEGIN PGP PUBLIC KEY BLOCK-----"], [0, "-----BEGIN PGP PRIVATE KEY BLOCK-----"], [0, "\x95\x01"], [0, "\x95\x00"], [0, "\x99\x00"], [0, "\x99\x01"]]],
1324
+ ['image/tiff', [[0, "MM\x00*"], [0, "II*\x00"]]],
1325
+ ['image/vnd.dxf', [[0..64, "\nHEADER\n"], [0..64, "\r\nHEADER\r\n"]]],
1326
+ ['image/x-applix-graphics', [[0, "*BEGIN", [[7, "GRAPHICS"]]]]],
1327
+ ['application/dicom', [[128, "DICM"]]],
1328
+ ['application/pgp-encrypted', [[0, "-----BEGIN PGP MESSAGE-----"]]],
1329
+ ['image/x-dib', [[0, "(\x00\x00\x00"]]],
1330
+ ['image/vnd.djvu', [[0, "AT&TFORM", [[12, "DJVM"], [12, "DJVU"]]], [0, "FORM", [[8, "DJVM"], [8, "DJVU"]]]]],
1331
+ ['image/dpx', [[0, "SDPX"]]],
1332
+ ['audio/x-iriver-pla', [[4, "iriver UMS PLA"]]],
1333
+ ['image/x-fits', [[0, "SIMPLE ="]]],
1334
+ ['image/x-fpx', [[0, "FPix"]]],
1335
+ ['image/x-ico', [[0, "\x00\x00\x01\x00", [[5, "\x00"]]]]],
1336
+ ['image/x-icns', [[0, "icns"]]],
1337
+ ['application/xspf+xml', [[0..64, "<playlist version=\"1"]]],
1338
+ ['image/x-pcx', [[0, "\n", [[1, "\x00"], [1, "\x02"], [1, "\x03"], [1, "\x05"]]]]],
1339
+ ['image/x-portable-bitmap', [[0, "P1", [[2, "\n", [[3, "#"]]]]], [0, "P4", [[2, "\n", [[3, "#"]]]]]]],
1340
+ ['image/x-portable-graymap', [[0, "P2", [[2, "\n", [[3, "#"]]]]], [0, "P5", [[2, "\n", [[3, "#"]]]]]]],
1341
+ ['image/x-portable-pixmap', [[0, "P3", [[2, "\n", [[3, "#"]]]]], [0, "P6", [[2, "\n", [[3, "#"]]]]]]],
1342
+ ['image/x-psd', []],
1343
+ ['image/x-sun-raster', [[0, "Y\xA6j\x95"]]],
1344
+ ['text/x-patch', [[0, "diff\t"], [0, "diff "], [0, "***\t"], [0, "*** "], [0, "=== "], [0, "--- "], [0, "Only in\t"], [0, "Only in "], [0, "Common subdirectories: "], [0, "Index:"]]],
1345
+ ['image/x-win-bitmap', [[0, "\x00\x00\x02\x00", [[5, "\x00"]]]]],
1346
+ ['application/x-navi-animation', [[0, "RIFF", [[8, "ACON"]]]]],
1347
+ ['image/x-emf', [[0, "\x01\x00\x00\x00", [[40, " EMF", [[44, "\x00\x00\x01\x00", [[58, "\x00\x00"]]]]]]]]],
1348
+ ['image/x-wmf', [[0, "\xD7\xCD\xC6\x9A", [[22, "\x01\x00", [[24, "\t\x00"]]]]], [0, "\x01\x00", [[2, "\t\x00"]]]]],
1349
+ ['image/x-xfig', [[0, "#FIG"]]],
1350
+ ['image/x-xpixmap', [[0, "/* XPM"]]],
1351
+ ['message/news', [[0, "Article"], [0, "Path:"], [0, "Xref:"]]],
1352
+ ['message/rfc822', [[0, "#! rnews"], [0, "Forward to"], [0, "From:"], [0, "N#! rnews"], [0, "Pipe to"], [0, "Received:"], [0, "Relay-Version:"], [0, "Return-Path:"], [0, "Return-path:"], [0, "Subject: "]]],
1353
+ ['text/calendar', [[0, "BEGIN:VCALENDAR"], [0, "begin:vcalendar"]]],
1354
+ ['text/directory', [[0, "BEGIN:VCARD"], [0, "begin:vcard"]]],
1355
+ ['application/pdf', [[0, "%PDF-"]]],
1356
+ ['text/x-matlab', [[0, "function"]]],
1357
+ ['text/plain', [[0, "This is TeX,"], [0, "This is METAFONT,"]]],
1358
+ ['application/x-cisco-vpn-settings', [[0, "[main]"]]],
1359
+ ['application/mathematica', [[0, "(************** Content-type: application/mathematica"], [100..256, "This notebook can be used on any computer system with Mathematica"], [10..256, "This is a Mathematica Notebook file. It contains ASCII text"]]],
1360
+ ['application/mac-binhex40', [[11, "must be converted with BinHex"]]],
1361
+ ['text/spreadsheet', [[0, "ID;"]]],
1362
+ ['text/vnd.sun.j2me.app-descriptor', [[0, "MIDlet-"]]],
1363
+ ['application/x-ace', [[7, "**ACE**"]]],
1364
+ ['text/x-mup', [[0, "//!Mup"]]],
1365
+ ['text/x-emacs-lisp', [[0, "\n("], [0, ";ELC\x13\x00\x00\x00"]]],
1366
+ ['text/html', [[0..256, "<!DOCTYPE HTML"], [0..256, "<!doctype html"], [0..256, "<HEAD"], [0..256, "<head"], [0..256, "<TITLE"], [0..256, "<title"], [0..256, "<HTML"], [0..256, "<html"], [0..256, "<SCRIPT"], [0..256, "<script"], [0, "<BODY"], [0, "<body"], [0, "<!--"], [0, "<h1"], [0, "<H1"], [0, "<!doctype HTML"], [0, "<!DOCTYPE html"]]],
1367
+ ['text/x-google-video-pointer', [[0, "#.download.the.free.Google.Video.Player"], [0, "# download the free Google Video Player"]]],
1368
+ ['text/x-ldif', [[0, "dn: cn="], [0, "dn: mail="]]],
1369
+ ['text/x-makefile', [[0, "#!/usr/bin/make"], [0, "#! /usr/bin/make"]]],
1370
+ ['application/x-kivio', [[0, "\x1F\x8B", [[10, "KOffice", [[18, "application/x-kivio\x04\x06"]]]]], [0, "PK\x03\x04", [[30, "mimetype", [[38, "application/x-kivio"]]]]]]],
1371
+ ['application/x-archive', [[0, "<ar>"], [0, "!<arch>"]]],
1372
+ ['audio/x-riff', [[0, "RIFF"]]],
1373
+ ['application/x-executable', [[0, "\x7FELF", [[5, "\x01", [[16, "\x02\x00"]]]]], [0, "\x7FELF", [[5, "\x02", [[16, "\x00\x02"]]]]], [0, "MZ"], [0, "\x1CR"], [0, "\x10\x01"], [0, "\x11\x01"], [0, "\x83\x01"]]],
1374
+ ['application/xml', [[0, "<?xml"], [0, "<!--"]]],
1375
+ ['audio/basic', [[0, ".snd"]]],
1376
+ ['application/zip', [[0, "PK\x03\x04"]]],
1377
+ ['text/x-csrc', [[0, "/*"], [0, "//"], [0, "#include"]]],
1378
+ ['text/x-objcsrc', [[0, "#import"]]],
1379
+ ['text/x-vhdl', [[0, "--"]]],
1380
+ ['application/mbox', [[0, "From "]]],
1381
+ ['text/x-matlab', [[0, "%"]]],
1382
+ ['text/x-tex', [[0, "%"]]],
1383
+ ['image/x-tga', [[1, "\x01\x01"], [1, "\x019"], [1, "\x00\x03"], [1, "\x00\n"], [1, "\x00\v"], [1, "\x00\x02"]]],
1384
+ ['application/vnd.sun.xml.impress.template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.impress"]]]]]]],
1385
+ ['application/x-ruby', [[1..16, "/bin/env ruby"], [1..16, "/bin/ruby"]]],
1386
+ ['application/vnd.sun.xml.writer.template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.writer"]]]]]]],
1387
+ ['application/vnd.sun.xml.writer.global', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.writer"]]]]]]],
1388
+ ['application/x-dar', [[0, "\x00\x00\x00{"]]],
1389
+ ['application/vnd.sun.xml.math', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.math"]]]]]]],
1390
+ ['application/x-csh', [[1..16, "/bin/tcsh"], [1..16, "/bin/csh"], [0, "#!/usr/bin/env csh"], [0, "#!/usr/bin/env tcsh"]]],
1391
+ ['application/vnd.sun.xml.impress', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.impress"]]]]]]],
1392
+ ['application/vnd.sun.xml.draw.template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.draw"]]]]]]],
1393
+ ['application/vnd.sun.xml.draw', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.draw"]]]]]]],
1394
+ ['application/vnd.sun.xml.calc.template', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.calc"]]]]]]],
1395
+ ['application/vnd.sun.xml.calc', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.calc"]]]]]]],
1396
+ ['application/x-sqlite3', [[0, "SQLite format 3"]]],
1397
+ ['application/x-sqlite2', [[0, "** This file contains an SQLite"]]],
1398
+ ['application/vnd.sun.xml.writer', [[0, "PK\x03\x04", [[30, "mimetype", [[38, "application/vnd.sun.xml.writer"]]]]]]],
1399
+ ]
1400
+ end