mimty 0.3.0

mimetype matcher
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
/*
    ext.rs: extension MIME type associations 
    Copyright © 2015  Josh Morin <JoshMorin@gmx.com>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.


    This data is generate from the data at:
    https://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/docs/conf/mime.types?revision=1576707&view=co
    
    Trailing nuls have been added to avoid complexity and performance hits 
    to the C API


*/
// TODO:PER sort array for most common formats 
//#[repr(C)]
pub const EXTENSION_LIST: &'static [(&'static str, &'static [&'static str])] = &[
    ("123",                             &["application/vnd.lotus-1-2-3\0", "\0"]),
    ("3dml",                                     &["text/vnd.in3d.3dml\0", "\0"]),
    ("3ds",                                             &["image/x-3ds\0", "\0"]),
    ("3g2",                                             &["video/3gpp2\0", "\0"]),
    ("3gp",                                              &["video/3gpp\0", "\0"]),
    ("7z",                              &["application/x-7z-compressed\0", "\0"]),
    ("aab",                            &["application/x-authorware-bin\0", "\0"]),
    ("aac",                                             &["audio/x-aac\0", "\0"]),
    ("aam",                            &["application/x-authorware-map\0", "\0"]),
    ("aas",                            &["application/x-authorware-seg\0", "\0"]),
    ("abw",                                   &["application/x-abiword\0", "\0"]),
    ("ac",                               &["application/pkix-attr-cert\0", "\0"]),
    ("acc",                    &["application/vnd.americandynamics.acc\0", "\0"]),
    ("ace",                            &["application/x-ace-compressed\0", "\0"]),
    ("acu",                                &["application/vnd.acucobol\0", "\0"]),
    ("acutc",                               &["application/vnd.acucorp\0", "\0"]),
    ("adp",                                             &["audio/adpcm\0", "\0"]),
    ("aep",                              &["application/vnd.audiograph\0", "\0"]),
    ("afm",                                &["application/x-font-type1\0", "\0"]),
    ("afp",                              &["application/vnd.ibm.modcap\0", "\0"]),
    ("ahead",                           &["application/vnd.ahead.space\0", "\0"]),
    ("ai",                                   &["application/postscript\0", "\0"]),
    ("aif",                                            &["audio/x-aiff\0", "\0"]),
    ("aifc",                                           &["audio/x-aiff\0", "\0"]),
    ("aiff",                                           &["audio/x-aiff\0", "\0"]),
    ("air",     &["application/vnd.adobe.air-application-installer-package+zip\0", "\0"]),
    ("ait",                                 &["application/vnd.dvb.ait\0", "\0"]),
    ("ami",                               &["application/vnd.amiga.ami\0", "\0"]),
    ("apk",                 &["application/vnd.android.package-archive\0", "\0"]),
    ("appcache",                                &["text/cache-manifest\0", "\0"]),
    ("application",                      &["application/x-ms-application\0", "\0"]),
    ("apr",                          &["application/vnd.lotus-approach\0", "\0"]),
    ("arc",                                   &["application/x-freearc\0", "\0"]),
    ("asc",                               &["application/pgp-signature\0", "\0"]),
    ("asf",                                          &["video/x-ms-asf\0", "\0"]),
    ("asm",                                              &["text/x-asm\0", "\0"]),
    ("aso",                       &["application/vnd.accpac.simply.aso\0", "\0"]),
    ("asx",                                          &["video/x-ms-asf\0", "\0"]),
    ("atc",                                 &["application/vnd.acucorp\0", "\0"]),
    ("atom",                                   &["application/atom+xml\0", "\0"]),
    ("atomcat",                             &["application/atomcat+xml\0", "\0"]),
    ("atomsvc",                             &["application/atomsvc+xml\0", "\0"]),
    ("atx",                    &["application/vnd.antix.game-component\0", "\0"]),
    ("au",                                              &["audio/basic\0", "\0"]),
    ("avi",                                         &["video/x-msvideo\0", "\0"]),
    ("aw",                                   &["application/applixware\0", "\0"]),
    ("azf",                   &["application/vnd.airzip.filesecure.azf\0", "\0"]),
    ("azs",                   &["application/vnd.airzip.filesecure.azs\0", "\0"]),
    ("azw",                            &["application/vnd.amazon.ebook\0", "\0"]),
    ("bat",                                &["application/x-msdownload\0", "\0"]),
    ("bcpio",                                   &["application/x-bcpio\0", "\0"]),
    ("bdf",                                  &["application/x-font-bdf\0", "\0"]),
    ("bdm",                         &["application/vnd.syncml.dm+wbxml\0", "\0"]),
    ("bed",                             &["application/vnd.realvnc.bed\0", "\0"]),
    ("bh2",                        &["application/vnd.fujitsu.oasysprs\0", "\0"]),
    ("bin",                                &["application/octet-stream\0", "\0"]),
    ("blb",                                     &["application/x-blorb\0", "\0"]),
    ("blorb",                                   &["application/x-blorb\0", "\0"]),
    ("bmi",                                     &["application/vnd.bmi\0", "\0"]),
    ("bmp",                                               &["image/bmp\0", "\0"]),
    ("book",                             &["application/vnd.framemaker\0", "\0"]),
    ("box",                      &["application/vnd.previewsystems.box\0", "\0"]),
    ("boz",                                     &["application/x-bzip2\0", "\0"]),
    ("bpk",                                &["application/octet-stream\0", "\0"]),
    ("btif",                                         &["image/prs.btif\0", "\0"]),
    ("bz",                                       &["application/x-bzip\0", "\0"]),
    ("bz2",                                     &["application/x-bzip2\0", "\0"]),
    ("c",                                                  &["text/x-c\0", "\0"]),
    ("c11amc",         &["application/vnd.cluetrust.cartomobile-config\0", "\0"]),
    ("c11amz",     &["application/vnd.cluetrust.cartomobile-config-pkg\0", "\0"]),
    ("c4d",                           &["application/vnd.clonk.c4group\0", "\0"]),
    ("c4f",                           &["application/vnd.clonk.c4group\0", "\0"]),
    ("c4g",                           &["application/vnd.clonk.c4group\0", "\0"]),
    ("c4p",                           &["application/vnd.clonk.c4group\0", "\0"]),
    ("c4u",                           &["application/vnd.clonk.c4group\0", "\0"]),
    ("cab",                       &["application/vnd.ms-cab-compressed\0", "\0"]),
    ("caf",                                             &["audio/x-caf\0", "\0"]),
    ("cap",                            &["application/vnd.tcpdump.pcap\0", "\0"]),
    ("car",                                &["application/vnd.curl.car\0", "\0"]),
    ("cat",                           &["application/vnd.ms-pki.seccat\0", "\0"]),
    ("cb7",                                       &["application/x-cbr\0", "\0"]),
    ("cba",                                       &["application/x-cbr\0", "\0"]),
    ("cbr",                                       &["application/x-cbr\0", "\0"]),
    ("cbt",                                       &["application/x-cbr\0", "\0"]),
    ("cbz",                                       &["application/x-cbr\0", "\0"]),
    ("cc",                                                 &["text/x-c\0", "\0"]),
    ("cct",                                  &["application/x-director\0", "\0"]),
    ("ccxml",                                 &["application/ccxml+xml\0", "\0"]),
    ("cdbcmsg",                        &["application/vnd.contact.cmsg\0", "\0"]),
    ("cdf",                                    &["application/x-netcdf\0", "\0"]),
    ("cdkey",                    &["application/vnd.mediastation.cdkey\0", "\0"]),
    ("cdmia",                           &["application/cdmi-capability\0", "\0"]),
    ("cdmic",                            &["application/cdmi-container\0", "\0"]),
    ("cdmid",                               &["application/cdmi-domain\0", "\0"]),
    ("cdmio",                               &["application/cdmi-object\0", "\0"]),
    ("cdmiq",                                &["application/cdmi-queue\0", "\0"]),
    ("cdx",                                          &["chemical/x-cdx\0", "\0"]),
    ("cdxml",                          &["application/vnd.chemdraw+xml\0", "\0"]),
    ("cdy",                              &["application/vnd.cinderella\0", "\0"]),
    ("cer",                                   &["application/pkix-cert\0", "\0"]),
    ("cfs",                            &["application/x-cfs-compressed\0", "\0"]),
    ("cgm",                                               &["image/cgm\0", "\0"]),
    ("chat",                                     &["application/x-chat\0", "\0"]),
    ("chm",                             &["application/vnd.ms-htmlhelp\0", "\0"]),
    ("chrt",                             &["application/vnd.kde.kchart\0", "\0"]),
    ("cif",                                          &["chemical/x-cif\0", "\0"]),
    ("cii",     &["application/vnd.anser-web-certificate-issue-initiation\0", "\0"]),
    ("cil",                             &["application/vnd.ms-artgalry\0", "\0"]),
    ("cla",                                &["application/vnd.claymore\0", "\0"]),
    ("class",                                   &["application/java-vm\0", "\0"]),
    ("clkk",                 &["application/vnd.crick.clicker.keyboard\0", "\0"]),
    ("clkp",                  &["application/vnd.crick.clicker.palette\0", "\0"]),
    ("clkt",                 &["application/vnd.crick.clicker.template\0", "\0"]),
    ("clkw",                 &["application/vnd.crick.clicker.wordbank\0", "\0"]),
    ("clkx",                          &["application/vnd.crick.clicker\0", "\0"]),
    ("clp",                                    &["application/x-msclip\0", "\0"]),
    ("cmc",                             &["application/vnd.cosmocaller\0", "\0"]),
    ("cmdf",                                        &["chemical/x-cmdf\0", "\0"]),
    ("cml",                                          &["chemical/x-cml\0", "\0"]),
    ("cmp",                 &["application/vnd.yellowriver-custom-menu\0", "\0"]),
    ("cmx",                                             &["image/x-cmx\0", "\0"]),
    ("cod",                                 &["application/vnd.rim.cod\0", "\0"]),
    ("com",                                &["application/x-msdownload\0", "\0"]),
    ("conf",                                             &["text/plain\0", "\0"]),
    ("cpio",                                     &["application/x-cpio\0", "\0"]),
    ("cpp",                                                &["text/x-c\0", "\0"]),
    ("cpt",                              &["application/mac-compactpro\0", "\0"]),
    ("crd",                                &["application/x-mscardfile\0", "\0"]),
    ("crl",                                    &["application/pkix-crl\0", "\0"]),
    ("crt",                              &["application/x-x509-ca-cert\0", "\0"]),
    ("cryptonote",                    &["application/vnd.rig.cryptonote\0", "\0"]),
    ("csh",                                       &["application/x-csh\0", "\0"]),
    ("csml",                                        &["chemical/x-csml\0", "\0"]),
    ("csp",                             &["application/vnd.commonspace\0", "\0"]),
    ("css",                                                &["text/css\0", "\0"]),
    ("cst",                                  &["application/x-director\0", "\0"]),
    ("csv",                                                &["text/csv\0", "\0"]),
    ("cu",                                     &["application/cu-seeme\0", "\0"]),
    ("curl",                                          &["text/vnd.curl\0", "\0"]),
    ("cww",                                     &["application/prs.cww\0", "\0"]),
    ("cxt",                                  &["application/x-director\0", "\0"]),
    ("cxx",                                                &["text/x-c\0", "\0"]),
    ("dae",                                   &["model/vnd.collada+xml\0", "\0"]),
    ("daf",                              &["application/vnd.mobius.daf\0", "\0"]),
    ("dart",                                   &["application/vnd.dart\0", "\0"]),
    ("dataless",                          &["application/vnd.fdsn.seed\0", "\0"]),
    ("davmount",                           &["application/davmount+xml\0", "\0"]),
    ("dbk",                                 &["application/docbook+xml\0", "\0"]),
    ("dcr",                                  &["application/x-director\0", "\0"]),
    ("dcurl",                                   &["text/vnd.curl.dcurl\0", "\0"]),
    ("dd2",                             &["application/vnd.oma.dd2+xml\0", "\0"]),
    ("ddd",                           &["application/vnd.fujixerox.ddd\0", "\0"]),
    ("deb",                            &["application/x-debian-package\0", "\0"]),
    ("def",                                              &["text/plain\0", "\0"]),
    ("deploy",                             &["application/octet-stream\0", "\0"]),
    ("der",                              &["application/x-x509-ca-cert\0", "\0"]),
    ("dfac",                           &["application/vnd.dreamfactory\0", "\0"]),
    ("dgc",                            &["application/x-dgc-compressed\0", "\0"]),
    ("dic",                                                &["text/x-c\0", "\0"]),
    ("dir",                                  &["application/x-director\0", "\0"]),
    ("dis",                              &["application/vnd.mobius.dis\0", "\0"]),
    ("dist",                               &["application/octet-stream\0", "\0"]),
    ("distz",                              &["application/octet-stream\0", "\0"]),
    ("djv",                                          &["image/vnd.djvu\0", "\0"]),
    ("djvu",                                         &["image/vnd.djvu\0", "\0"]),
    ("dll",                                &["application/x-msdownload\0", "\0"]),
    ("dmg",                           &["application/x-apple-diskimage\0", "\0"]),
    ("dmp",                            &["application/vnd.tcpdump.pcap\0", "\0"]),
    ("dms",                                &["application/octet-stream\0", "\0"]),
    ("dna",                                     &["application/vnd.dna\0", "\0"]),
    ("doc",                                      &["application/msword\0", "\0"]),
    ("docm",       &["application/vnd.ms-word.document.macroenabled.12\0", "\0"]),
    ("docx",    &["application/vnd.openxmlformats-officedocument.wordprocessingml.document\0", "\0"]),
    ("dot",                                      &["application/msword\0", "\0"]),
    ("dotm",       &["application/vnd.ms-word.template.macroenabled.12\0", "\0"]),
    ("dotx",    &["application/vnd.openxmlformats-officedocument.wordprocessingml.template\0", "\0"]),
    ("dp",                                  &["application/vnd.osgi.dp\0", "\0"]),
    ("dpg",                                 &["application/vnd.dpgraph\0", "\0"]),
    ("dra",                                           &["audio/vnd.dra\0", "\0"]),
    ("dsc",                                      &["text/prs.lines.tag\0", "\0"]),
    ("dssc",                                   &["application/dssc+der\0", "\0"]),
    ("dtb",                                &["application/x-dtbook+xml\0", "\0"]),
    ("dtd",                                     &["application/xml-dtd\0", "\0"]),
    ("dts",                                           &["audio/vnd.dts\0", "\0"]),
    ("dtshd",                                      &["audio/vnd.dts.hd\0", "\0"]),
    ("dump",                               &["application/octet-stream\0", "\0"]),
    ("dvb",                                      &["video/vnd.dvb.file\0", "\0"]),
    ("dvi",                                       &["application/x-dvi\0", "\0"]),
    ("dwf",                                           &["model/vnd.dwf\0", "\0"]),
    ("dwg",                                           &["image/vnd.dwg\0", "\0"]),
    ("dxf",                                           &["image/vnd.dxf\0", "\0"]),
    ("dxp",                            &["application/vnd.spotfire.dxp\0", "\0"]),
    ("dxr",                                  &["application/x-director\0", "\0"]),
    ("ecelp4800",                         &["audio/vnd.nuera.ecelp4800\0", "\0"]),
    ("ecelp7470",                         &["audio/vnd.nuera.ecelp7470\0", "\0"]),
    ("ecelp9600",                         &["audio/vnd.nuera.ecelp9600\0", "\0"]),
    ("ecma",                                 &["application/ecmascript\0", "\0"]),
    ("edm",                            &["application/vnd.novadigm.edm\0", "\0"]),
    ("edx",                            &["application/vnd.novadigm.edx\0", "\0"]),
    ("efif",                                 &["application/vnd.picsel\0", "\0"]),
    ("ei6",                               &["application/vnd.pg.osasli\0", "\0"]),
    ("elc",                                &["application/octet-stream\0", "\0"]),
    ("emf",                                &["application/x-msmetafile\0", "\0"]),
    ("eml",                                          &["message/rfc822\0", "\0"]),
    ("emma",                                   &["application/emma+xml\0", "\0"]),
    ("emz",                                &["application/x-msmetafile\0", "\0"]),
    ("eol",                                 &["audio/vnd.digital-winds\0", "\0"]),
    ("eot",                           &["application/vnd.ms-fontobject\0", "\0"]),
    ("eps",                                  &["application/postscript\0", "\0"]),
    ("epub",                                   &["application/epub+zip\0", "\0"]),
    ("es3",                            &["application/vnd.eszigno3+xml\0", "\0"]),
    ("esa",                          &["application/vnd.osgi.subsystem\0", "\0"]),
    ("esf",                               &["application/vnd.epson.esf\0", "\0"]),
    ("et3",                            &["application/vnd.eszigno3+xml\0", "\0"]),
    ("etx",                                           &["text/x-setext\0", "\0"]),
    ("eva",                                       &["application/x-eva\0", "\0"]),
    ("evy",                                     &["application/x-envoy\0", "\0"]),
    ("exe",                                &["application/x-msdownload\0", "\0"]),
    ("exi",                                         &["application/exi\0", "\0"]),
    ("ext",                            &["application/vnd.novadigm.ext\0", "\0"]),
    ("ez",                                 &["application/andrew-inset\0", "\0"]),
    ("ez2",                             &["application/vnd.ezpix-album\0", "\0"]),
    ("ez3",                           &["application/vnd.ezpix-package\0", "\0"]),
    ("f",                                            &["text/x-fortran\0", "\0"]),
    ("f4v",                                             &["video/x-f4v\0", "\0"]),
    ("f77",                                          &["text/x-fortran\0", "\0"]),
    ("f90",                                          &["text/x-fortran\0", "\0"]),
    ("fbs",                                  &["image/vnd.fastbidsheet\0", "\0"]),
    ("fcdt",                &["application/vnd.adobe.formscentral.fcdt\0", "\0"]),
    ("fcs",                                &["application/vnd.isac.fcs\0", "\0"]),
    ("fdf",                                     &["application/vnd.fdf\0", "\0"]),
    ("fe_launch",            &["application/vnd.denovo.fcselayout-link\0", "\0"]),
    ("fg5",                         &["application/vnd.fujitsu.oasysgp\0", "\0"]),
    ("fgd",                                  &["application/x-director\0", "\0"]),
    ("fh",                                         &["image/x-freehand\0", "\0"]),
    ("fh4",                                        &["image/x-freehand\0", "\0"]),
    ("fh5",                                        &["image/x-freehand\0", "\0"]),
    ("fh7",                                        &["image/x-freehand\0", "\0"]),
    ("fhc",                                        &["image/x-freehand\0", "\0"]),
    ("fig",                                      &["application/x-xfig\0", "\0"]),
    ("flac",                                           &["audio/x-flac\0", "\0"]),
    ("fli",                                             &["video/x-fli\0", "\0"]),
    ("flo",                          &["application/vnd.micrografx.flo\0", "\0"]),
    ("flv",                                             &["video/x-flv\0", "\0"]),
    ("flw",                               &["application/vnd.kde.kivio\0", "\0"]),
    ("flx",                                   &["text/vnd.fmi.flexstor\0", "\0"]),
    ("fly",                                            &["text/vnd.fly\0", "\0"]),
    ("fm",                               &["application/vnd.framemaker\0", "\0"]),
    ("fnc",                             &["application/vnd.frogans.fnc\0", "\0"]),
    ("for",                                          &["text/x-fortran\0", "\0"]),
    ("fpx",                                           &["image/vnd.fpx\0", "\0"]),
    ("frame",                            &["application/vnd.framemaker\0", "\0"]),
    ("fsc",                           &["application/vnd.fsc.weblaunch\0", "\0"]),
    ("fst",                                           &["image/vnd.fst\0", "\0"]),
    ("ftc",                           &["application/vnd.fluxtime.clip\0", "\0"]),
    ("fti",     &["application/vnd.anser-web-funds-transfer-initiation\0", "\0"]),
    ("fvt",                                           &["video/vnd.fvt\0", "\0"]),
    ("fxp",                               &["application/vnd.adobe.fxp\0", "\0"]),
    ("fxpl",                              &["application/vnd.adobe.fxp\0", "\0"]),
    ("fzs",                              &["application/vnd.fuzzysheet\0", "\0"]),
    ("g2w",                                 &["application/vnd.geoplan\0", "\0"]),
    ("g3",                                              &["image/g3fax\0", "\0"]),
    ("g3w",                                &["application/vnd.geospace\0", "\0"]),
    ("gac",                          &["application/vnd.groove-account\0", "\0"]),
    ("gam",                                      &["application/x-tads\0", "\0"]),
    ("gbr",                           &["application/rpki-ghostbusters\0", "\0"]),
    ("gca",                            &["application/x-gca-compressed\0", "\0"]),
    ("gdl",                                           &["model/vnd.gdl\0", "\0"]),
    ("geo",                                 &["application/vnd.dynageo\0", "\0"]),
    ("gex",                       &["application/vnd.geometry-explorer\0", "\0"]),
    ("ggb",                           &["application/vnd.geogebra.file\0", "\0"]),
    ("ggt",                           &["application/vnd.geogebra.tool\0", "\0"]),
    ("ghf",                             &["application/vnd.groove-help\0", "\0"]),
    ("gif",                                               &["image/gif\0", "\0"]),
    ("gim",                 &["application/vnd.groove-identity-message\0", "\0"]),
    ("gml",                                     &["application/gml+xml\0", "\0"]),
    ("gmx",                                     &["application/vnd.gmx\0", "\0"]),
    ("gnumeric",                             &["application/x-gnumeric\0", "\0"]),
    ("gph",                              &["application/vnd.flographit\0", "\0"]),
    ("gpx",                                     &["application/gpx+xml\0", "\0"]),
    ("gqf",                                  &["application/vnd.grafeq\0", "\0"]),
    ("gqs",                                  &["application/vnd.grafeq\0", "\0"]),
    ("gram",                                       &["application/srgs\0", "\0"]),
    ("gramps",                             &["application/x-gramps-xml\0", "\0"]),
    ("gre",                       &["application/vnd.geometry-explorer\0", "\0"]),
    ("grv",                         &["application/vnd.groove-injector\0", "\0"]),
    ("grxml",                                  &["application/srgs+xml\0", "\0"]),
    ("gsf",                          &["application/x-font-ghostscript\0", "\0"]),
    ("gtar",                                     &["application/x-gtar\0", "\0"]),
    ("gtm",                     &["application/vnd.groove-tool-message\0", "\0"]),
    ("gtw",                                           &["model/vnd.gtw\0", "\0"]),
    ("gv",                                        &["text/vnd.graphviz\0", "\0"]),
    ("gxf",                                         &["application/gxf\0", "\0"]),
    ("gxt",                                 &["application/vnd.geonext\0", "\0"]),
    ("h",                                                  &["text/x-c\0", "\0"]),
    ("h261",                                             &["video/h261\0", "\0"]),
    ("h263",                                             &["video/h263\0", "\0"]),
    ("h264",                                             &["video/h264\0", "\0"]),
    ("hal",                                 &["application/vnd.hal+xml\0", "\0"]),
    ("hbci",                                   &["application/vnd.hbci\0", "\0"]),
    ("hdf",                                       &["application/x-hdf\0", "\0"]),
    ("hh",                                                 &["text/x-c\0", "\0"]),
    ("hlp",                                      &["application/winhlp\0", "\0"]),
    ("hpgl",                                &["application/vnd.hp-hpgl\0", "\0"]),
    ("hpid",                                &["application/vnd.hp-hpid\0", "\0"]),
    ("hps",                                  &["application/vnd.hp-hps\0", "\0"]),
    ("hqx",                                &["application/mac-binhex40\0", "\0"]),
    ("htke",                             &["application/vnd.kenameaapp\0", "\0"]),
    ("htm",                                               &["text/html\0", "\0"]),
    ("html",                                              &["text/html\0", "\0"]),
    ("hvd",                           &["application/vnd.yamaha.hv-dic\0", "\0"]),
    ("hvp",                         &["application/vnd.yamaha.hv-voice\0", "\0"]),
    ("hvs",                        &["application/vnd.yamaha.hv-script\0", "\0"]),
    ("i2g",                                &["application/vnd.intergeo\0", "\0"]),
    ("icc",                              &["application/vnd.iccprofile\0", "\0"]),
    ("ice",                                 &["x-conference/x-cooltalk\0", "\0"]),
    ("icm",                              &["application/vnd.iccprofile\0", "\0"]),
    ("ico",                                            &["image/x-icon\0", "\0"]),
    ("ics",                                           &["text/calendar\0", "\0"]),
    ("ief",                                               &["image/ief\0", "\0"]),
    ("ifb",                                           &["text/calendar\0", "\0"]),
    ("ifm",                 &["application/vnd.shana.informed.formdata\0", "\0"]),
    ("iges",                                             &["model/iges\0", "\0"]),
    ("igl",                                &["application/vnd.igloader\0", "\0"]),
    ("igm",                              &["application/vnd.insors.igm\0", "\0"]),
    ("igs",                                              &["model/iges\0", "\0"]),
    ("igx",                          &["application/vnd.micrografx.igx\0", "\0"]),
    ("iif",              &["application/vnd.shana.informed.interchange\0", "\0"]),
    ("imp",                       &["application/vnd.accpac.simply.imp\0", "\0"]),
    ("ims",                                  &["application/vnd.ms-ims\0", "\0"]),
    ("in",                                               &["text/plain\0", "\0"]),
    ("ink",                                   &["application/inkml+xml\0", "\0"]),
    ("inkml",                                 &["application/inkml+xml\0", "\0"]),
    ("install",                  &["application/x-install-instructions\0", "\0"]),
    ("iota",                  &["application/vnd.astraea-software.iota\0", "\0"]),
    ("ipfix",                                     &["application/ipfix\0", "\0"]),
    ("ipk",                  &["application/vnd.shana.informed.package\0", "\0"]),
    ("irm",                   &["application/vnd.ibm.rights-management\0", "\0"]),
    ("irp",                 &["application/vnd.irepository.package+xml\0", "\0"]),
    ("iso",                             &["application/x-iso9660-image\0", "\0"]),
    ("itp",             &["application/vnd.shana.informed.formtemplate\0", "\0"]),
    ("ivp",                         &["application/vnd.immervision-ivp\0", "\0"]),
    ("ivu",                         &["application/vnd.immervision-ivu\0", "\0"]),
    ("jad",                        &["text/vnd.sun.j2me.app-descriptor\0", "\0"]),
    ("jam",                                     &["application/vnd.jam\0", "\0"]),
    ("jar",                                &["application/java-archive\0", "\0"]),
    ("java",                                     &["text/x-java-source\0", "\0"]),
    ("jisp",                                   &["application/vnd.jisp\0", "\0"]),
    ("jlt",                                 &["application/vnd.hp-jlyt\0", "\0"]),
    ("jnlp",                           &["application/x-java-jnlp-file\0", "\0"]),
    ("joda",                     &["application/vnd.joost.joda-archive\0", "\0"]),
    ("jpe",                                              &["image/jpeg\0", "\0"]),
    ("jpeg",                                             &["image/jpeg\0", "\0"]),
    ("jpg",                                              &["image/jpeg\0", "\0"]),
    ("jpgm",                                              &["video/jpm\0", "\0"]),
    ("jpgv",                                             &["video/jpeg\0", "\0"]),
    ("jpm",                                               &["video/jpm\0", "\0"]),
    ("js",                                   &["application/javascript\0", "\0"]),
    ("json",                                       &["application/json\0", "\0"]),
    ("jsonml",                              &["application/jsonml+json\0", "\0"]),
    ("kar",                                              &["audio/midi\0", "\0"]),
    ("karbon",                           &["application/vnd.kde.karbon\0", "\0"]),
    ("kfo",                            &["application/vnd.kde.kformula\0", "\0"]),
    ("kia",                            &["application/vnd.kidspiration\0", "\0"]),
    ("kml",                    &["application/vnd.google-earth.kml+xml\0", "\0"]),
    ("kmz",                        &["application/vnd.google-earth.kmz\0", "\0"]),
    ("kne",                                   &["application/vnd.kinar\0", "\0"]),
    ("knp",                                   &["application/vnd.kinar\0", "\0"]),
    ("kon",                             &["application/vnd.kde.kontour\0", "\0"]),
    ("kpr",                          &["application/vnd.kde.kpresenter\0", "\0"]),
    ("kpt",                          &["application/vnd.kde.kpresenter\0", "\0"]),
    ("kpxx",                            &["application/vnd.ds-keypoint\0", "\0"]),
    ("ksp",                             &["application/vnd.kde.kspread\0", "\0"]),
    ("ktr",                                 &["application/vnd.kahootz\0", "\0"]),
    ("ktx",                                               &["image/ktx\0", "\0"]),
    ("ktz",                                 &["application/vnd.kahootz\0", "\0"]),
    ("kwd",                               &["application/vnd.kde.kword\0", "\0"]),
    ("kwt",                               &["application/vnd.kde.kword\0", "\0"]),
    ("lasxml",                          &["application/vnd.las.las+xml\0", "\0"]),
    ("latex",                                   &["application/x-latex\0", "\0"]),
    ("lbd",      &["application/vnd.llamagraphics.life-balance.desktop\0", "\0"]),
    ("lbe",     &["application/vnd.llamagraphics.life-balance.exchange+xml\0", "\0"]),
    ("les",                       &["application/vnd.hhe.lesson-player\0", "\0"]),
    ("lha",                            &["application/x-lzh-compressed\0", "\0"]),
    ("link66",                   &["application/vnd.route66.link66+xml\0", "\0"]),
    ("list",                                             &["text/plain\0", "\0"]),
    ("list3820",                         &["application/vnd.ibm.modcap\0", "\0"]),
    ("listafp",                          &["application/vnd.ibm.modcap\0", "\0"]),
    ("lnk",                               &["application/x-ms-shortcut\0", "\0"]),
    ("log",                                              &["text/plain\0", "\0"]),
    ("lostxml",                                &["application/lost+xml\0", "\0"]),
    ("lrf",                                &["application/octet-stream\0", "\0"]),
    ("lrm",                                  &["application/vnd.ms-lrm\0", "\0"]),
    ("ltf",                             &["application/vnd.frogans.ltf\0", "\0"]),
    ("lvp",                                  &["audio/vnd.lucent.voice\0", "\0"]),
    ("lwp",                           &["application/vnd.lotus-wordpro\0", "\0"]),
    ("lzh",                            &["application/x-lzh-compressed\0", "\0"]),
    ("m13",                               &["application/x-msmediaview\0", "\0"]),
    ("m14",                               &["application/x-msmediaview\0", "\0"]),
    ("m1v",                                              &["video/mpeg\0", "\0"]),
    ("m21",                                        &["application/mp21\0", "\0"]),
    ("m2a",                                              &["audio/mpeg\0", "\0"]),
    ("m2v",                                              &["video/mpeg\0", "\0"]),
    ("m3a",                                              &["audio/mpeg\0", "\0"]),
    ("m3u",                                         &["audio/x-mpegurl\0", "\0"]),
    ("m3u8",                          &["application/vnd.apple.mpegurl\0", "\0"]),
    ("m4u",                                       &["video/vnd.mpegurl\0", "\0"]),
    ("m4v",                                             &["video/x-m4v\0", "\0"]),
    ("ma",                                  &["application/mathematica\0", "\0"]),
    ("mads",                                   &["application/mads+xml\0", "\0"]),
    ("mag",                            &["application/vnd.ecowin.chart\0", "\0"]),
    ("maker",                            &["application/vnd.framemaker\0", "\0"]),
    ("man",                                              &["text/troff\0", "\0"]),
    ("mar",                                &["application/octet-stream\0", "\0"]),
    ("mathml",                               &["application/mathml+xml\0", "\0"]),
    ("mb",                                  &["application/mathematica\0", "\0"]),
    ("mbk",                              &["application/vnd.mobius.mbk\0", "\0"]),
    ("mbox",                                       &["application/mbox\0", "\0"]),
    ("mc1",                             &["application/vnd.medcalcdata\0", "\0"]),
    ("mcd",                                     &["application/vnd.mcd\0", "\0"]),
    ("mcurl",                                   &["text/vnd.curl.mcurl\0", "\0"]),
    ("mdb",                                  &["application/x-msaccess\0", "\0"]),
    ("mdi",                                       &["image/vnd.ms-modi\0", "\0"]),
    ("me",                                               &["text/troff\0", "\0"]),
    ("mesh",                                             &["model/mesh\0", "\0"]),
    ("meta4",                             &["application/metalink4+xml\0", "\0"]),
    ("metalink",                           &["application/metalink+xml\0", "\0"]),
    ("mets",                                   &["application/mets+xml\0", "\0"]),
    ("mfm",                                    &["application/vnd.mfmp\0", "\0"]),
    ("mft",                               &["application/rpki-manifest\0", "\0"]),
    ("mgp",                  &["application/vnd.osgeo.mapguide.package\0", "\0"]),
    ("mgz",                        &["application/vnd.proteus.magazine\0", "\0"]),
    ("mid",                                              &["audio/midi\0", "\0"]),
    ("midi",                                             &["audio/midi\0", "\0"]),
    ("mie",                                       &["application/x-mie\0", "\0"]),
    ("mif",                                     &["application/vnd.mif\0", "\0"]),
    ("mime",                                         &["message/rfc822\0", "\0"]),
    ("mj2",                                               &["video/mj2\0", "\0"]),
    ("mjp2",                                              &["video/mj2\0", "\0"]),
    ("mk3d",                                       &["video/x-matroska\0", "\0"]),
    ("mka",                                        &["audio/x-matroska\0", "\0"]),
    ("mks",                                        &["video/x-matroska\0", "\0"]),
    ("mkv",                                        &["video/x-matroska\0", "\0"]),
    ("mlp",                               &["application/vnd.dolby.mlp\0", "\0"]),
    ("mmd",                    &["application/vnd.chipnuts.karaoke-mmd\0", "\0"]),
    ("mmf",                                    &["application/vnd.smaf\0", "\0"]),
    ("mmr",                          &["image/vnd.fujixerox.edmics-mmr\0", "\0"]),
    ("mng",                                             &["video/x-mng\0", "\0"]),
    ("mny",                                   &["application/x-msmoney\0", "\0"]),
    ("mobi",                         &["application/x-mobipocket-ebook\0", "\0"]),
    ("mods",                                   &["application/mods+xml\0", "\0"]),
    ("mov",                                         &["video/quicktime\0", "\0"]),
    ("movie",                                     &["video/x-sgi-movie\0", "\0"]),
    ("mp2",                                              &["audio/mpeg\0", "\0"]),
    ("mp21",                                       &["application/mp21\0", "\0"]),
    ("mp2a",                                             &["audio/mpeg\0", "\0"]),
    ("mp3",                                              &["audio/mpeg\0", "\0"]),
    ("mp4",                                               &["video/mp4\0", "\0"]),
    ("mp4a",                                              &["audio/mp4\0", "\0"]),
    ("mp4s",                                        &["application/mp4\0", "\0"]),
    ("mp4v",                                              &["video/mp4\0", "\0"]),
    ("mpc",                      &["application/vnd.mophun.certificate\0", "\0"]),
    ("mpe",                                              &["video/mpeg\0", "\0"]),
    ("mpeg",                                             &["video/mpeg\0", "\0"]),
    ("mpg",                                              &["video/mpeg\0", "\0"]),
    ("mpg4",                                              &["video/mp4\0", "\0"]),
    ("mpga",                                             &["audio/mpeg\0", "\0"]),
    ("mpkg",                    &["application/vnd.apple.installer+xml\0", "\0"]),
    ("mpm",                       &["application/vnd.blueice.multipass\0", "\0"]),
    ("mpn",                      &["application/vnd.mophun.application\0", "\0"]),
    ("mpp",                              &["application/vnd.ms-project\0", "\0"]),
    ("mpt",                              &["application/vnd.ms-project\0", "\0"]),
    ("mpy",                             &["application/vnd.ibm.minipay\0", "\0"]),
    ("mqy",                              &["application/vnd.mobius.mqy\0", "\0"]),
    ("mrc",                                        &["application/marc\0", "\0"]),
    ("mrcx",                                &["application/marcxml+xml\0", "\0"]),
    ("ms",                                               &["text/troff\0", "\0"]),
    ("mscml",                    &["application/mediaservercontrol+xml\0", "\0"]),
    ("mseed",                            &["application/vnd.fdsn.mseed\0", "\0"]),
    ("mseq",                                   &["application/vnd.mseq\0", "\0"]),
    ("msf",                               &["application/vnd.epson.msf\0", "\0"]),
    ("msh",                                              &["model/mesh\0", "\0"]),
    ("msi",                                &["application/x-msdownload\0", "\0"]),
    ("msl",                              &["application/vnd.mobius.msl\0", "\0"]),
    ("msty",                            &["application/vnd.muvee.style\0", "\0"]),
    ("mts",                                           &["model/vnd.mts\0", "\0"]),
    ("mus",                                &["application/vnd.musician\0", "\0"]),
    ("musicxml",             &["application/vnd.recordare.musicxml+xml\0", "\0"]),
    ("mvb",                               &["application/x-msmediaview\0", "\0"]),
    ("mwf",                                    &["application/vnd.mfer\0", "\0"]),
    ("mxf",                                         &["application/mxf\0", "\0"]),
    ("mxl",                      &["application/vnd.recordare.musicxml\0", "\0"]),
    ("mxml",                                     &["application/xv+xml\0", "\0"]),
    ("mxs",                            &["application/vnd.triscape.mxs\0", "\0"]),
    ("mxu",                                       &["video/vnd.mpegurl\0", "\0"]),
    ("n-gage",         &["application/vnd.nokia.n-gage.symbian.install\0", "\0"]),
    ("n3",                                                  &["text/n3\0", "\0"]),
    ("nb",                                  &["application/mathematica\0", "\0"]),
    ("nbp",                          &["application/vnd.wolfram.player\0", "\0"]),
    ("nc",                                     &["application/x-netcdf\0", "\0"]),
    ("ncx",                                &["application/x-dtbncx+xml\0", "\0"]),
    ("nfo",                                              &["text/x-nfo\0", "\0"]),
    ("ngdat",                     &["application/vnd.nokia.n-gage.data\0", "\0"]),
    ("nitf",                                   &["application/vnd.nitf\0", "\0"]),
    ("nlu",                       &["application/vnd.neurolanguage.nlu\0", "\0"]),
    ("nml",                                 &["application/vnd.enliven\0", "\0"]),
    ("nnd",                      &["application/vnd.noblenet-directory\0", "\0"]),
    ("nns",                         &["application/vnd.noblenet-sealer\0", "\0"]),
    ("nnw",                            &["application/vnd.noblenet-web\0", "\0"]),
    ("npx",                                       &["image/vnd.net-fpx\0", "\0"]),
    ("nsc",                                &["application/x-conference\0", "\0"]),
    ("nsf",                             &["application/vnd.lotus-notes\0", "\0"]),
    ("ntf",                                    &["application/vnd.nitf\0", "\0"]),
    ("nzb",                                       &["application/x-nzb\0", "\0"]),
    ("oa2",                          &["application/vnd.fujitsu.oasys2\0", "\0"]),
    ("oa3",                          &["application/vnd.fujitsu.oasys3\0", "\0"]),
    ("oas",                           &["application/vnd.fujitsu.oasys\0", "\0"]),
    ("obd",                                  &["application/x-msbinder\0", "\0"]),
    ("obj",                                      &["application/x-tgif\0", "\0"]),
    ("oda",                                         &["application/oda\0", "\0"]),
    ("odb",             &["application/vnd.oasis.opendocument.database\0", "\0"]),
    ("odc",                &["application/vnd.oasis.opendocument.chart\0", "\0"]),
    ("odf",              &["application/vnd.oasis.opendocument.formula\0", "\0"]),
    ("odft",    &["application/vnd.oasis.opendocument.formula-template\0", "\0"]),
    ("odg",             &["application/vnd.oasis.opendocument.graphics\0", "\0"]),
    ("odi",                &["application/vnd.oasis.opendocument.image\0", "\0"]),
    ("odm",          &["application/vnd.oasis.opendocument.text-master\0", "\0"]),
    ("odp",         &["application/vnd.oasis.opendocument.presentation\0", "\0"]),
    ("ods",          &["application/vnd.oasis.opendocument.spreadsheet\0", "\0"]),
    ("odt",                 &["application/vnd.oasis.opendocument.text\0", "\0"]),
    ("oga",                                               &["audio/ogg\0", "\0"]),
    ("ogg",                                               &["audio/ogg\0", "\0"]),
    ("ogv",                                               &["video/ogg\0", "\0"]),
    ("ogx",                                         &["application/ogg\0", "\0"]),
    ("omdoc",                                 &["application/omdoc+xml\0", "\0"]),
    ("onepkg",                                  &["application/onenote\0", "\0"]),
    ("onetmp",                                  &["application/onenote\0", "\0"]),
    ("onetoc",                                  &["application/onenote\0", "\0"]),
    ("onetoc2",                                 &["application/onenote\0", "\0"]),
    ("opf",                           &["application/oebps-package+xml\0", "\0"]),
    ("opml",                                            &["text/x-opml\0", "\0"]),
    ("oprc",                                   &["application/vnd.palm\0", "\0"]),
    ("org",                         &["application/vnd.lotus-organizer\0", "\0"]),
    ("osf",                  &["application/vnd.yamaha.openscoreformat\0", "\0"]),
    ("osfpvg",    &["application/vnd.yamaha.openscoreformat.osfpvg+xml\0", "\0"]),
    ("otc",       &["application/vnd.oasis.opendocument.chart-template\0", "\0"]),
    ("otf",                                  &["application/x-font-otf\0", "\0"]),
    ("otg",     &["application/vnd.oasis.opendocument.graphics-template\0", "\0"]),
    ("oth",             &["application/vnd.oasis.opendocument.text-web\0", "\0"]),
    ("oti",       &["application/vnd.oasis.opendocument.image-template\0", "\0"]),
    ("otp",     &["application/vnd.oasis.opendocument.presentation-template\0", "\0"]),
    ("ots",     &["application/vnd.oasis.opendocument.spreadsheet-template\0", "\0"]),
    ("ott",        &["application/vnd.oasis.opendocument.text-template\0", "\0"]),
    ("oxps",                                       &["application/oxps\0", "\0"]),
    ("oxt",                 &["application/vnd.openofficeorg.extension\0", "\0"]),
    ("p",                                             &["text/x-pascal\0", "\0"]),
    ("p10",                                      &["application/pkcs10\0", "\0"]),
    ("p12",                                    &["application/x-pkcs12\0", "\0"]),
    ("p7b",                        &["application/x-pkcs7-certificates\0", "\0"]),
    ("p7c",                                  &["application/pkcs7-mime\0", "\0"]),
    ("p7m",                                  &["application/pkcs7-mime\0", "\0"]),
    ("p7r",                         &["application/x-pkcs7-certreqresp\0", "\0"]),
    ("p7s",                             &["application/pkcs7-signature\0", "\0"]),
    ("p8",                                        &["application/pkcs8\0", "\0"]),
    ("pas",                                           &["text/x-pascal\0", "\0"]),
    ("paw",                               &["application/vnd.pawaafile\0", "\0"]),
    ("pbd",                           &["application/vnd.powerbuilder6\0", "\0"]),
    ("pbm",                                 &["image/x-portable-bitmap\0", "\0"]),
    ("pcap",                           &["application/vnd.tcpdump.pcap\0", "\0"]),
    ("pcf",                                  &["application/x-font-pcf\0", "\0"]),
    ("pcl",                                  &["application/vnd.hp-pcl\0", "\0"]),
    ("pclxl",                              &["application/vnd.hp-pclxl\0", "\0"]),
    ("pct",                                            &["image/x-pict\0", "\0"]),
    ("pcurl",                            &["application/vnd.curl.pcurl\0", "\0"]),
    ("pcx",                                             &["image/x-pcx\0", "\0"]),
    ("pdb",                                    &["application/vnd.palm\0", "\0"]),
    ("pdf",                                         &["application/pdf\0", "\0"]),
    ("pfa",                                &["application/x-font-type1\0", "\0"]),
    ("pfb",                                &["application/x-font-type1\0", "\0"]),
    ("pfm",                                &["application/x-font-type1\0", "\0"]),
    ("pfr",                                  &["application/font-tdpfr\0", "\0"]),
    ("pfx",                                    &["application/x-pkcs12\0", "\0"]),
    ("pgm",                                &["image/x-portable-graymap\0", "\0"]),
    ("pgn",                                 &["application/x-chess-pgn\0", "\0"]),
    ("pgp",                               &["application/pgp-encrypted\0", "\0"]),
    ("pic",                                            &["image/x-pict\0", "\0"]),
    ("pkg",                                &["application/octet-stream\0", "\0"]),
    ("pki",                                     &["application/pkixcmp\0", "\0"]),
    ("pkipath",                            &["application/pkix-pkipath\0", "\0"]),
    ("plb",                       &["application/vnd.3gpp.pic-bw-large\0", "\0"]),
    ("plc",                              &["application/vnd.mobius.plc\0", "\0"]),
    ("plf",                             &["application/vnd.pocketlearn\0", "\0"]),
    ("pls",                                     &["application/pls+xml\0", "\0"]),
    ("pml",                               &["application/vnd.ctc-posml\0", "\0"]),
    ("png",                                               &["image/png\0", "\0"]),
    ("pnm",                                 &["image/x-portable-anymap\0", "\0"]),
    ("portpkg",                    &["application/vnd.macports.portpkg\0", "\0"]),
    ("pot",                           &["application/vnd.ms-powerpoint\0", "\0"]),
    ("potm",    &["application/vnd.ms-powerpoint.template.macroenabled.12\0", "\0"]),
    ("potx",    &["application/vnd.openxmlformats-officedocument.presentationml.template\0", "\0"]),
    ("ppam",    &["application/vnd.ms-powerpoint.addin.macroenabled.12\0", "\0"]),
    ("ppd",                                &["application/vnd.cups-ppd\0", "\0"]),
    ("ppm",                                 &["image/x-portable-pixmap\0", "\0"]),
    ("pps",                           &["application/vnd.ms-powerpoint\0", "\0"]),
    ("ppsm",    &["application/vnd.ms-powerpoint.slideshow.macroenabled.12\0", "\0"]),
    ("ppsx",    &["application/vnd.openxmlformats-officedocument.presentationml.slideshow\0", "\0"]),
    ("ppt",                           &["application/vnd.ms-powerpoint\0", "\0"]),
    ("pptm",    &["application/vnd.ms-powerpoint.presentation.macroenabled.12\0", "\0"]),
    ("pptx",    &["application/vnd.openxmlformats-officedocument.presentationml.presentation\0", "\0"]),
    ("pqa",                                    &["application/vnd.palm\0", "\0"]),
    ("prc",                          &["application/x-mobipocket-ebook\0", "\0"]),
    ("pre",                         &["application/vnd.lotus-freelance\0", "\0"]),
    ("prf",                                  &["application/pics-rules\0", "\0"]),
    ("ps",                                   &["application/postscript\0", "\0"]),
    ("psb",                       &["application/vnd.3gpp.pic-bw-small\0", "\0"]),
    ("psd",                               &["image/vnd.adobe.photoshop\0", "\0"]),
    ("psf",                            &["application/x-font-linux-psf\0", "\0"]),
    ("pskcxml",                                &["application/pskc+xml\0", "\0"]),
    ("ptid",                              &["application/vnd.pvi.ptid1\0", "\0"]),
    ("pub",                               &["application/x-mspublisher\0", "\0"]),
    ("pvb",                         &["application/vnd.3gpp.pic-bw-var\0", "\0"]),
    ("pwn",                        &["application/vnd.3m.post-it-notes\0", "\0"]),
    ("pya",                        &["audio/vnd.ms-playready.media.pya\0", "\0"]),
    ("pyv",                        &["video/vnd.ms-playready.media.pyv\0", "\0"]),
    ("qam",                        &["application/vnd.epson.quickanime\0", "\0"]),
    ("qbo",                                &["application/vnd.intu.qbo\0", "\0"]),
    ("qfx",                                &["application/vnd.intu.qfx\0", "\0"]),
    ("qps",                   &["application/vnd.publishare-delta-tree\0", "\0"]),
    ("qt",                                          &["video/quicktime\0", "\0"]),
    ("qwd",                       &["application/vnd.quark.quarkxpress\0", "\0"]),
    ("qwt",                       &["application/vnd.quark.quarkxpress\0", "\0"]),
    ("qxb",                       &["application/vnd.quark.quarkxpress\0", "\0"]),
    ("qxd",                       &["application/vnd.quark.quarkxpress\0", "\0"]),
    ("qxl",                       &["application/vnd.quark.quarkxpress\0", "\0"]),
    ("qxt",                       &["application/vnd.quark.quarkxpress\0", "\0"]),
    ("ra",                                     &["audio/x-pn-realaudio\0", "\0"]),
    ("ram",                                    &["audio/x-pn-realaudio\0", "\0"]),
    ("rar",                            &["application/x-rar-compressed\0", "\0"]),
    ("ras",                                      &["image/x-cmu-raster\0", "\0"]),
    ("rcprofile",             &["application/vnd.ipunplugged.rcprofile\0", "\0"]),
    ("rdf",                                     &["application/rdf+xml\0", "\0"]),
    ("rdz",                         &["application/vnd.data-vision.rdz\0", "\0"]),
    ("rep",                         &["application/vnd.businessobjects\0", "\0"]),
    ("res",                           &["application/x-dtbresource+xml\0", "\0"]),
    ("rgb",                                             &["image/x-rgb\0", "\0"]),
    ("rif",                                 &["application/reginfo+xml\0", "\0"]),
    ("rip",                                           &["audio/vnd.rip\0", "\0"]),
    ("ris",                     &["application/x-research-info-systems\0", "\0"]),
    ("rl",                           &["application/resource-lists+xml\0", "\0"]),
    ("rlc",                          &["image/vnd.fujixerox.edmics-rlc\0", "\0"]),
    ("rld",                     &["application/resource-lists-diff+xml\0", "\0"]),
    ("rm",                             &["application/vnd.rn-realmedia\0", "\0"]),
    ("rmi",                                              &["audio/midi\0", "\0"]),
    ("rmp",                             &["audio/x-pn-realaudio-plugin\0", "\0"]),
    ("rms",                   &["application/vnd.jcp.javame.midlet-rms\0", "\0"]),
    ("rmvb",                       &["application/vnd.rn-realmedia-vbr\0", "\0"]),
    ("rnc",                     &["application/relax-ng-compact-syntax\0", "\0"]),
    ("roa",                                    &["application/rpki-roa\0", "\0"]),
    ("roff",                                             &["text/troff\0", "\0"]),
    ("rp9",                             &["application/vnd.cloanto.rp9\0", "\0"]),
    ("rpss",                    &["application/vnd.nokia.radio-presets\0", "\0"]),
    ("rpst",                     &["application/vnd.nokia.radio-preset\0", "\0"]),
    ("rq",                                 &["application/sparql-query\0", "\0"]),
    ("rs",                             &["application/rls-services+xml\0", "\0"]),
    ("rsd",                                     &["application/rsd+xml\0", "\0"]),
    ("rss",                                     &["application/rss+xml\0", "\0"]),
    ("rtf",                                         &["application/rtf\0", "\0"]),
    ("rtx",                                           &["text/richtext\0", "\0"]),
    ("s",                                                &["text/x-asm\0", "\0"]),
    ("s3m",                                               &["audio/s3m\0", "\0"]),
    ("saf",                       &["application/vnd.yamaha.smaf-audio\0", "\0"]),
    ("sbml",                                   &["application/sbml+xml\0", "\0"]),
    ("sc",                     &["application/vnd.ibm.secure-container\0", "\0"]),
    ("scd",                                &["application/x-msschedule\0", "\0"]),
    ("scm",                         &["application/vnd.lotus-screencam\0", "\0"]),
    ("scq",                             &["application/scvp-cv-request\0", "\0"]),
    ("scs",                            &["application/scvp-cv-response\0", "\0"]),
    ("scurl",                                   &["text/vnd.curl.scurl\0", "\0"]),
    ("sda",                       &["application/vnd.stardivision.draw\0", "\0"]),
    ("sdc",                       &["application/vnd.stardivision.calc\0", "\0"]),
    ("sdd",                    &["application/vnd.stardivision.impress\0", "\0"]),
    ("sdkd",                        &["application/vnd.solent.sdkm+xml\0", "\0"]),
    ("sdkm",                        &["application/vnd.solent.sdkm+xml\0", "\0"]),
    ("sdp",                                         &["application/sdp\0", "\0"]),
    ("sdw",                     &["application/vnd.stardivision.writer\0", "\0"]),
    ("see",                                 &["application/vnd.seemail\0", "\0"]),
    ("seed",                              &["application/vnd.fdsn.seed\0", "\0"]),
    ("sema",                                   &["application/vnd.sema\0", "\0"]),
    ("semd",                                   &["application/vnd.semd\0", "\0"]),
    ("semf",                                   &["application/vnd.semf\0", "\0"]),
    ("ser",                      &["application/java-serialized-object\0", "\0"]),
    ("setpay",                   &["application/set-payment-initiation\0", "\0"]),
    ("setreg",              &["application/set-registration-initiation\0", "\0"]),
    ("sfd-hdstx",              &["application/vnd.hydrostatix.sof-data\0", "\0"]),
    ("sfs",                            &["application/vnd.spotfire.sfs\0", "\0"]),
    ("sfv",                                              &["text/x-sfv\0", "\0"]),
    ("sgi",                                               &["image/sgi\0", "\0"]),
    ("sgl",              &["application/vnd.stardivision.writer-global\0", "\0"]),
    ("sgm",                                               &["text/sgml\0", "\0"]),
    ("sgml",                                              &["text/sgml\0", "\0"]),
    ("sh",                                         &["application/x-sh\0", "\0"]),
    ("shar",                                     &["application/x-shar\0", "\0"]),
    ("shf",                                     &["application/shf+xml\0", "\0"]),
    ("sid",                                     &["image/x-mrsid-image\0", "\0"]),
    ("sig",                               &["application/pgp-signature\0", "\0"]),
    ("sil",                                              &["audio/silk\0", "\0"]),
    ("silo",                                             &["model/mesh\0", "\0"]),
    ("sis",                         &["application/vnd.symbian.install\0", "\0"]),
    ("sisx",                        &["application/vnd.symbian.install\0", "\0"]),
    ("sit",                                   &["application/x-stuffit\0", "\0"]),
    ("sitx",                                 &["application/x-stuffitx\0", "\0"]),
    ("skd",                                    &["application/vnd.koan\0", "\0"]),
    ("skm",                                    &["application/vnd.koan\0", "\0"]),
    ("skp",                                    &["application/vnd.koan\0", "\0"]),
    ("skt",                                    &["application/vnd.koan\0", "\0"]),
    ("sldm",    &["application/vnd.ms-powerpoint.slide.macroenabled.12\0", "\0"]),
    ("sldx",    &["application/vnd.openxmlformats-officedocument.presentationml.slide\0", "\0"]),
    ("slt",                              &["application/vnd.epson.salt\0", "\0"]),
    ("sm",                      &["application/vnd.stepmania.stepchart\0", "\0"]),
    ("smf",                       &["application/vnd.stardivision.math\0", "\0"]),
    ("smi",                                    &["application/smil+xml\0", "\0"]),
    ("smil",                                   &["application/smil+xml\0", "\0"]),
    ("smv",                                             &["video/x-smv\0", "\0"]),
    ("smzip",                     &["application/vnd.stepmania.package\0", "\0"]),
    ("snd",                                             &["audio/basic\0", "\0"]),
    ("snf",                                  &["application/x-font-snf\0", "\0"]),
    ("so",                                 &["application/octet-stream\0", "\0"]),
    ("spc",                        &["application/x-pkcs7-certificates\0", "\0"]),
    ("spf",                      &["application/vnd.yamaha.smaf-phrase\0", "\0"]),
    ("spl",                              &["application/x-futuresplash\0", "\0"]),
    ("spot",                                     &["text/vnd.in3d.spot\0", "\0"]),
    ("spp",                            &["application/scvp-vp-response\0", "\0"]),
    ("spq",                             &["application/scvp-vp-request\0", "\0"]),
    ("spx",                                               &["audio/ogg\0", "\0"]),
    ("sql",                                       &["application/x-sql\0", "\0"]),
    ("src",                               &["application/x-wais-source\0", "\0"]),
    ("srt",                                    &["application/x-subrip\0", "\0"]),
    ("sru",                                     &["application/sru+xml\0", "\0"]),
    ("srx",                          &["application/sparql-results+xml\0", "\0"]),
    ("ssdl",                                   &["application/ssdl+xml\0", "\0"]),
    ("sse",                        &["application/vnd.kodak-descriptor\0", "\0"]),
    ("ssf",                               &["application/vnd.epson.ssf\0", "\0"]),
    ("ssml",                                   &["application/ssml+xml\0", "\0"]),
    ("st",                     &["application/vnd.sailingtracker.track\0", "\0"]),
    ("stc",                   &["application/vnd.sun.xml.calc.template\0", "\0"]),
    ("std",                   &["application/vnd.sun.xml.draw.template\0", "\0"]),
    ("stf",                                  &["application/vnd.wt.stf\0", "\0"]),
    ("sti",                &["application/vnd.sun.xml.impress.template\0", "\0"]),
    ("stk",                                 &["application/hyperstudio\0", "\0"]),
    ("stl",                              &["application/vnd.ms-pki.stl\0", "\0"]),
    ("str",                               &["application/vnd.pg.format\0", "\0"]),
    ("stw",                 &["application/vnd.sun.xml.writer.template\0", "\0"]),
    ("sub",       &["image/vnd.dvb.subtitle\0", "text/vnd.dvb.subtitle\0", "\0"]),
    ("sus",                            &["application/vnd.sus-calendar\0", "\0"]),
    ("susp",                           &["application/vnd.sus-calendar\0", "\0"]),
    ("sv4cpio",                               &["application/x-sv4cpio\0", "\0"]),
    ("sv4crc",                                 &["application/x-sv4crc\0", "\0"]),
    ("svc",                             &["application/vnd.dvb.service\0", "\0"]),
    ("svd",                                     &["application/vnd.svd\0", "\0"]),
    ("svg",                                           &["image/svg+xml\0", "\0"]),
    ("svgz",                                          &["image/svg+xml\0", "\0"]),
    ("swa",                                  &["application/x-director\0", "\0"]),
    ("swf",                           &["application/x-shockwave-flash\0", "\0"]),
    ("swi",                      &["application/vnd.aristanetworks.swi\0", "\0"]),
    ("sxc",                            &["application/vnd.sun.xml.calc\0", "\0"]),
    ("sxd",                            &["application/vnd.sun.xml.draw\0", "\0"]),
    ("sxg",                   &["application/vnd.sun.xml.writer.global\0", "\0"]),
    ("sxi",                         &["application/vnd.sun.xml.impress\0", "\0"]),
    ("sxm",                            &["application/vnd.sun.xml.math\0", "\0"]),
    ("sxw",                          &["application/vnd.sun.xml.writer\0", "\0"]),
    ("t",                                                &["text/troff\0", "\0"]),
    ("t3",                                 &["application/x-t3vm-image\0", "\0"]),
    ("taglet",                                &["application/vnd.mynfc\0", "\0"]),
    ("tao",               &["application/vnd.tao.intent-module-archive\0", "\0"]),
    ("tar",                                       &["application/x-tar\0", "\0"]),
    ("tcap",                             &["application/vnd.3gpp2.tcap\0", "\0"]),
    ("tcl",                                       &["application/x-tcl\0", "\0"]),
    ("teacher",                       &["application/vnd.smart.teacher\0", "\0"]),
    ("tei",                                     &["application/tei+xml\0", "\0"]),
    ("teicorpus",                               &["application/tei+xml\0", "\0"]),
    ("tex",                                       &["application/x-tex\0", "\0"]),
    ("texi",                                  &["application/x-texinfo\0", "\0"]),
    ("texinfo",                               &["application/x-texinfo\0", "\0"]),
    ("text",                                             &["text/plain\0", "\0"]),
    ("tfi",                                  &["application/thraud+xml\0", "\0"]),
    ("tfm",                                   &["application/x-tex-tfm\0", "\0"]),
    ("tga",                                             &["image/x-tga\0", "\0"]),
    ("thmx",                         &["application/vnd.ms-officetheme\0", "\0"]),
    ("tif",                                              &["image/tiff\0", "\0"]),
    ("tiff",                                             &["image/tiff\0", "\0"]),
    ("tmo",                          &["application/vnd.tmobile-livetv\0", "\0"]),
    ("torrent",                            &["application/x-bittorrent\0", "\0"]),
    ("tpl",                    &["application/vnd.groove-tool-template\0", "\0"]),
    ("tpt",                                &["application/vnd.trid.tpt\0", "\0"]),
    ("tr",                                               &["text/troff\0", "\0"]),
    ("tra",                                 &["application/vnd.trueapp\0", "\0"]),
    ("trm",                                &["application/x-msterminal\0", "\0"]),
    ("tsd",                            &["application/timestamped-data\0", "\0"]),
    ("tsv",                               &["text/tab-separated-values\0", "\0"]),
    ("ttc",                                  &["application/x-font-ttf\0", "\0"]),
    ("ttf",                                  &["application/x-font-ttf\0", "\0"]),
    ("ttl",                                             &["text/turtle\0", "\0"]),
    ("twd",                      &["application/vnd.simtech-mindmapper\0", "\0"]),
    ("twds",                     &["application/vnd.simtech-mindmapper\0", "\0"]),
    ("txd",                        &["application/vnd.genomatix.tuxedo\0", "\0"]),
    ("txf",                              &["application/vnd.mobius.txf\0", "\0"]),
    ("txt",                                              &["text/plain\0", "\0"]),
    ("u32",                            &["application/x-authorware-bin\0", "\0"]),
    ("udeb",                           &["application/x-debian-package\0", "\0"]),
    ("ufd",                                    &["application/vnd.ufdl\0", "\0"]),
    ("ufdl",                                   &["application/vnd.ufdl\0", "\0"]),
    ("ulx",                                     &["application/x-glulx\0", "\0"]),
    ("umj",                                  &["application/vnd.umajin\0", "\0"]),
    ("unityweb",                              &["application/vnd.unity\0", "\0"]),
    ("uoml",                               &["application/vnd.uoml+xml\0", "\0"]),
    ("uri",                                           &["text/uri-list\0", "\0"]),
    ("uris",                                          &["text/uri-list\0", "\0"]),
    ("urls",                                          &["text/uri-list\0", "\0"]),
    ("ustar",                                   &["application/x-ustar\0", "\0"]),
    ("utz",                               &["application/vnd.uiq.theme\0", "\0"]),
    ("uu",                                          &["text/x-uuencode\0", "\0"]),
    ("uva",                                    &["audio/vnd.dece.audio\0", "\0"]),
    ("uvd",                               &["application/vnd.dece.data\0", "\0"]),
    ("uvf",                               &["application/vnd.dece.data\0", "\0"]),
    ("uvg",                                  &["image/vnd.dece.graphic\0", "\0"]),
    ("uvh",                                       &["video/vnd.dece.hd\0", "\0"]),
    ("uvi",                                  &["image/vnd.dece.graphic\0", "\0"]),
    ("uvm",                                   &["video/vnd.dece.mobile\0", "\0"]),
    ("uvp",                                       &["video/vnd.dece.pd\0", "\0"]),
    ("uvs",                                       &["video/vnd.dece.sd\0", "\0"]),
    ("uvt",                           &["application/vnd.dece.ttml+xml\0", "\0"]),
    ("uvu",                                      &["video/vnd.uvvu.mp4\0", "\0"]),
    ("uvv",                                    &["video/vnd.dece.video\0", "\0"]),
    ("uvva",                                   &["audio/vnd.dece.audio\0", "\0"]),
    ("uvvd",                              &["application/vnd.dece.data\0", "\0"]),
    ("uvvf",                              &["application/vnd.dece.data\0", "\0"]),
    ("uvvg",                                 &["image/vnd.dece.graphic\0", "\0"]),
    ("uvvh",                                      &["video/vnd.dece.hd\0", "\0"]),
    ("uvvi",                                 &["image/vnd.dece.graphic\0", "\0"]),
    ("uvvm",                                  &["video/vnd.dece.mobile\0", "\0"]),
    ("uvvp",                                      &["video/vnd.dece.pd\0", "\0"]),
    ("uvvs",                                      &["video/vnd.dece.sd\0", "\0"]),
    ("uvvt",                          &["application/vnd.dece.ttml+xml\0", "\0"]),
    ("uvvu",                                     &["video/vnd.uvvu.mp4\0", "\0"]),
    ("uvvv",                                   &["video/vnd.dece.video\0", "\0"]),
    ("uvvx",                       &["application/vnd.dece.unspecified\0", "\0"]),
    ("uvvz",                               &["application/vnd.dece.zip\0", "\0"]),
    ("uvx",                        &["application/vnd.dece.unspecified\0", "\0"]),
    ("uvz",                                &["application/vnd.dece.zip\0", "\0"]),
    ("vcard",                                            &["text/vcard\0", "\0"]),
    ("vcd",                                    &["application/x-cdlink\0", "\0"]),
    ("vcf",                                            &["text/x-vcard\0", "\0"]),
    ("vcg",                            &["application/vnd.groove-vcard\0", "\0"]),
    ("vcs",                                        &["text/x-vcalendar\0", "\0"]),
    ("vcx",                                     &["application/vnd.vcx\0", "\0"]),
    ("vis",                               &["application/vnd.visionary\0", "\0"]),
    ("viv",                                          &["video/vnd.vivo\0", "\0"]),
    ("vob",                                          &["video/x-ms-vob\0", "\0"]),
    ("vor",                     &["application/vnd.stardivision.writer\0", "\0"]),
    ("vox",                            &["application/x-authorware-bin\0", "\0"]),
    ("vrml",                                             &["model/vrml\0", "\0"]),
    ("vsd",                                   &["application/vnd.visio\0", "\0"]),
    ("vsf",                                     &["application/vnd.vsf\0", "\0"]),
    ("vss",                                   &["application/vnd.visio\0", "\0"]),
    ("vst",                                   &["application/vnd.visio\0", "\0"]),
    ("vsw",                                   &["application/vnd.visio\0", "\0"]),
    ("vtu",                                           &["model/vnd.vtu\0", "\0"]),
    ("vxml",                               &["application/voicexml+xml\0", "\0"]),
    ("w3d",                                  &["application/x-director\0", "\0"]),
    ("wad",                                      &["application/x-doom\0", "\0"]),
    ("wav",                                             &["audio/x-wav\0", "\0"]),
    ("wax",                                          &["audio/x-ms-wax\0", "\0"]),
    ("wbmp",                                     &["image/vnd.wap.wbmp\0", "\0"]),
    ("wbs",                   &["application/vnd.criticaltools.wbs+xml\0", "\0"]),
    ("wbxml",                             &["application/vnd.wap.wbxml\0", "\0"]),
    ("wcm",                                &["application/vnd.ms-works\0", "\0"]),
    ("wdb",                                &["application/vnd.ms-works\0", "\0"]),
    ("wdp",                                      &["image/vnd.ms-photo\0", "\0"]),
    ("weba",                                             &["audio/webm\0", "\0"]),
    ("webm",                                             &["video/webm\0", "\0"]),
    ("webp",                                             &["image/webp\0", "\0"]),
    ("wg",                               &["application/vnd.pmi.widget\0", "\0"]),
    ("wgt",                                      &["application/widget\0", "\0"]),
    ("wks",                                &["application/vnd.ms-works\0", "\0"]),
    ("wm",                                            &["video/x-ms-wm\0", "\0"]),
    ("wma",                                          &["audio/x-ms-wma\0", "\0"]),
    ("wmd",                                    &["application/x-ms-wmd\0", "\0"]),
    ("wmf",                                &["application/x-msmetafile\0", "\0"]),
    ("wml",                                        &["text/vnd.wap.wml\0", "\0"]),
    ("wmlc",                               &["application/vnd.wap.wmlc\0", "\0"]),
    ("wmls",                                 &["text/vnd.wap.wmlscript\0", "\0"]),
    ("wmlsc",                        &["application/vnd.wap.wmlscriptc\0", "\0"]),
    ("wmv",                                          &["video/x-ms-wmv\0", "\0"]),
    ("wmx",                                          &["video/x-ms-wmx\0", "\0"]),
    ("wmz",      &["application/x-msmetafile\0", "application/x-ms-wmz\0", "\0"]),
    ("woff",                                &["application/x-font-woff\0", "\0"]),
    ("wpd",                             &["application/vnd.wordperfect\0", "\0"]),
    ("wpl",                                  &["application/vnd.ms-wpl\0", "\0"]),
    ("wps",                                &["application/vnd.ms-works\0", "\0"]),
    ("wqd",                                     &["application/vnd.wqd\0", "\0"]),
    ("wri",                                   &["application/x-mswrite\0", "\0"]),
    ("wrl",                                              &["model/vrml\0", "\0"]),
    ("wsdl",                                   &["application/wsdl+xml\0", "\0"]),
    ("wspolicy",                           &["application/wspolicy+xml\0", "\0"]),
    ("wtb",                                &["application/vnd.webturbo\0", "\0"]),
    ("wvx",                                          &["video/x-ms-wvx\0", "\0"]),
    ("x32",                            &["application/x-authorware-bin\0", "\0"]),
    ("x3d",                                           &["model/x3d+xml\0", "\0"]),
    ("x3db",                                       &["model/x3d+binary\0", "\0"]),
    ("x3dbz",                                      &["model/x3d+binary\0", "\0"]),
    ("x3dv",                                         &["model/x3d+vrml\0", "\0"]),
    ("x3dvz",                                        &["model/x3d+vrml\0", "\0"]),
    ("x3dz",                                          &["model/x3d+xml\0", "\0"]),
    ("xaml",                                   &["application/xaml+xml\0", "\0"]),
    ("xap",                           &["application/x-silverlight-app\0", "\0"]),
    ("xar",                                    &["application/vnd.xara\0", "\0"]),
    ("xbap",                                  &["application/x-ms-xbap\0", "\0"]),
    ("xbd",              &["application/vnd.fujixerox.docuworks.binder\0", "\0"]),
    ("xbm",                                         &["image/x-xbitmap\0", "\0"]),
    ("xdf",                               &["application/xcap-diff+xml\0", "\0"]),
    ("xdm",                           &["application/vnd.syncml.dm+xml\0", "\0"]),
    ("xdp",                           &["application/vnd.adobe.xdp+xml\0", "\0"]),
    ("xdssc",                                  &["application/dssc+xml\0", "\0"]),
    ("xdw",                     &["application/vnd.fujixerox.docuworks\0", "\0"]),
    ("xenc",                                   &["application/xenc+xml\0", "\0"]),
    ("xer",                         &["application/patch-ops-error+xml\0", "\0"]),
    ("xfdf",                             &["application/vnd.adobe.xfdf\0", "\0"]),
    ("xfdl",                                   &["application/vnd.xfdl\0", "\0"]),
    ("xht",                                   &["application/xhtml+xml\0", "\0"]),
    ("xhtml",                                 &["application/xhtml+xml\0", "\0"]),
    ("xhvml",                                    &["application/xv+xml\0", "\0"]),
    ("xif",                                          &["image/vnd.xiff\0", "\0"]),
    ("xla",                                &["application/vnd.ms-excel\0", "\0"]),
    ("xlam",         &["application/vnd.ms-excel.addin.macroenabled.12\0", "\0"]),
    ("xlc",                                &["application/vnd.ms-excel\0", "\0"]),
    ("xlf",                                 &["application/x-xliff+xml\0", "\0"]),
    ("xlm",                                &["application/vnd.ms-excel\0", "\0"]),
    ("xls",                                &["application/vnd.ms-excel\0", "\0"]),
    ("xlsb",    &["application/vnd.ms-excel.sheet.binary.macroenabled.12\0", "\0"]),
    ("xlsm",         &["application/vnd.ms-excel.sheet.macroenabled.12\0", "\0"]),
    ("xlsx",    &["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\0", "\0"]),
    ("xlt",                                &["application/vnd.ms-excel\0", "\0"]),
    ("xltm",      &["application/vnd.ms-excel.template.macroenabled.12\0", "\0"]),
    ("xltx",    &["application/vnd.openxmlformats-officedocument.spreadsheetml.template\0", "\0"]),
    ("xlw",                                &["application/vnd.ms-excel\0", "\0"]),
    ("xm",                                                 &["audio/xm\0", "\0"]),
    ("xml",                                         &["application/xml\0", "\0"]),
    ("xo",                               &["application/vnd.olpc-sugar\0", "\0"]),
    ("xop",                                     &["application/xop+xml\0", "\0"]),
    ("xpi",                                 &["application/x-xpinstall\0", "\0"]),
    ("xpl",                                   &["application/xproc+xml\0", "\0"]),
    ("xpm",                                         &["image/x-xpixmap\0", "\0"]),
    ("xpr",                                  &["application/vnd.is-xpr\0", "\0"]),
    ("xps",                          &["application/vnd.ms-xpsdocument\0", "\0"]),
    ("xpw",                        &["application/vnd.intercon.formnet\0", "\0"]),
    ("xpx",                        &["application/vnd.intercon.formnet\0", "\0"]),
    ("xsl",                                         &["application/xml\0", "\0"]),
    ("xslt",                                   &["application/xslt+xml\0", "\0"]),
    ("xsm",                              &["application/vnd.syncml+xml\0", "\0"]),
    ("xspf",                                   &["application/xspf+xml\0", "\0"]),
    ("xul",                         &["application/vnd.mozilla.xul+xml\0", "\0"]),
    ("xvm",                                      &["application/xv+xml\0", "\0"]),
    ("xvml",                                     &["application/xv+xml\0", "\0"]),
    ("xwd",                                     &["image/x-xwindowdump\0", "\0"]),
    ("xyz",                                          &["chemical/x-xyz\0", "\0"]),
    ("xz",                                         &["application/x-xz\0", "\0"]),
    ("yang",                                       &["application/yang\0", "\0"]),
    ("yin",                                     &["application/yin+xml\0", "\0"]),
    ("z1",                                   &["application/x-zmachine\0", "\0"]),
    ("z2",                                   &["application/x-zmachine\0", "\0"]),
    ("z3",                                   &["application/x-zmachine\0", "\0"]),
    ("z4",                                   &["application/x-zmachine\0", "\0"]),
    ("z5",                                   &["application/x-zmachine\0", "\0"]),
    ("z6",                                   &["application/x-zmachine\0", "\0"]),
    ("z7",                                   &["application/x-zmachine\0", "\0"]),
    ("z8",                                   &["application/x-zmachine\0", "\0"]),
    ("zaz",                          &["application/vnd.zzazz.deck+xml\0", "\0"]),
    ("zip",                                         &["application/zip\0", "\0"]),
    ("zir",                                     &["application/vnd.zul\0", "\0"]),
    ("zirz",                                    &["application/vnd.zul\0", "\0"]),
    ("zmm",              &["application/vnd.handheld-entertainment+xml\0", "\0"]),
];


#[test]
fn extensions_test(){
    use super::*;
    macro_rules! test_ext {
        ($extension: expr, $mime: expr) => (
            assert!(file(concat!("/does/not/exist", $e)) == MimeType::Known($mime))
        )
    }
    
    let mut last = "";
    for i in EXTENSION_LIST.iter() {
        println!("comparing '{}' '{}'", i.0, last);
        if i.0 <= last {
            panic!("list is not sorted correctly")
        }
        else {
            last = i.0;
        }
    }
    
    assert!(file("/does/not/exist.jpg") == Some("image/jpeg"));
    assert!(file("/does/not/exist.jpeg") == Some("image/jpeg"));
    assert!(file("/does/not/exist.gif") == Some("image/gif"));
    assert!(file("/does/not/exist.png") == Some("image/png"));
    
}