You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6102 lines
158 KiB

#pragma once
#include <string.h>
#ifdef NO_GC
#include <gc.h>
#define malloc(n) GC_malloc(n)
#else
#include <stdlib.h>
#endif
#include "log.h"
int hasTriedIndex;
int getMime(char** mime, char* filename) {
char* dot = strrchr(filename, '.');
if (!dot || dot == filename) {
if (!hasTriedIndex) {
hasTriedIndex++;
strcat(filename, "/index.html");
info("trying to upgrade directory to index.html");
return getMime(mime, filename);
} else {
warn("file extension does not exist or is the same as request's path.\n");
hasTriedIndex = 1;
*mime = "text/plain";
return 0;
}
} else { if (0) {}
else if (!strcmp(dot, ".js")) {
*mime = "application/javascript";
}
else if (!strcmp(dot, ".mjs")) {
*mime = "application/javascript";
}
else if (!strcmp(dot, ".json")) {
*mime = "application/json";
}
else if (!strcmp(dot, ".webmanifest")) {
*mime = "application/manifest+json";
return 1;
}
else if (!strcmp(dot, ".doc")) {
*mime = "application/msword";
return 1;
}
else if (!strcmp(dot, ".dot")) {
*mime = "application/msword";
return 1;
}
else if (!strcmp(dot, ".wiz")) {
*mime = "application/msword";
return 1;
}
else if (!strcmp(dot, ".bin")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".a")) {
*mime = "text/vnd.a";
}
else if (!strcmp(dot, ".dll")) {
*mime = "application/x-msdownload";
return 1;
}
else if (!strcmp(dot, ".exe")) {
*mime = "application/x-msdownload";
return 1;
}
else if (!strcmp(dot, ".o")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".obj")) {
*mime = "application/x-tgif";
return 1;
}
else if (!strcmp(dot, ".so")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".oda")) {
*mime = "application/oda";
return 1;
}
else if (!strcmp(dot, ".pdf")) {
*mime = "application/pdf";
return 1;
}
else if (!strcmp(dot, ".p7c")) {
*mime = "application/pkcs7-mime";
return 1;
}
else if (!strcmp(dot, ".ps")) {
*mime = "application/postscript";
return 1;
}
else if (!strcmp(dot, ".ai")) {
*mime = "application/postscript";
return 1;
}
else if (!strcmp(dot, ".eps")) {
*mime = "application/postscript";
return 1;
}
else if (!strcmp(dot, ".m3u")) {
*mime = "audio/x-mpegurl";
return 1;
}
else if (!strcmp(dot, ".m3u8")) {
*mime = "application/vnd.apple.mpegurl";
return 1;
}
else if (!strcmp(dot, ".xls")) {
*mime = "application/vnd.ms-excel";
return 1;
}
else if (!strcmp(dot, ".xlb")) {
*mime = "application/vnd.ms-excel";
return 1;
}
else if (!strcmp(dot, ".ppt")) {
*mime = "application/vnd.ms-powerpoint";
return 1;
}
else if (!strcmp(dot, ".pot")) {
*mime = "application/vnd.ms-powerpoint";
return 1;
}
else if (!strcmp(dot, ".ppa")) {
*mime = "application/vnd.ms-powerpoint";
return 1;
}
else if (!strcmp(dot, ".pps")) {
*mime = "application/vnd.ms-powerpoint";
return 1;
}
else if (!strcmp(dot, ".pwz")) {
*mime = "application/vnd.ms-powerpoint";
return 1;
}
else if (!strcmp(dot, ".wasm")) {
*mime = "application/wasm";
return 1;
}
else if (!strcmp(dot, ".bcpio")) {
*mime = "application/x-bcpio";
return 1;
}
else if (!strcmp(dot, ".cpio")) {
*mime = "application/x-cpio";
return 1;
}
else if (!strcmp(dot, ".csh")) {
*mime = "application/x-csh";
return 1;
}
else if (!strcmp(dot, ".dvi")) {
*mime = "application/x-dvi";
return 1;
}
else if (!strcmp(dot, ".gtar")) {
*mime = "application/x-gtar";
return 1;
}
else if (!strcmp(dot, ".hdf")) {
*mime = "application/x-hdf";
return 1;
}
else if (!strcmp(dot, ".h5")) {
*mime = "application/mipc";
return 1;
}
else if (!strcmp(dot, ".latex")) {
*mime = "application/x-latex";
return 1;
}
else if (!strcmp(dot, ".mif")) {
*mime = "application/vnd.mif";
return 1;
}
else if (!strcmp(dot, ".cdf")) {
*mime = "application/x-netcdf";
return 1;
}
else if (!strcmp(dot, ".nc")) {
*mime = "application/x-netcdf";
return 1;
}
else if (!strcmp(dot, ".p12")) {
*mime = "application/x-pkcs12";
return 1;
}
else if (!strcmp(dot, ".pfx")) {
*mime = "application/x-pkcs12";
return 1;
}
else if (!strcmp(dot, ".ram")) {
*mime = "audio/x-pn-realaudio";
return 1;
}
else if (!strcmp(dot, ".pyc")) {
*mime = "application/x-python-code";
return 1;
}
else if (!strcmp(dot, ".pyo")) {
*mime = "model/vnd.pytha.pyox";
return 1;
}
else if (!strcmp(dot, ".sh")) {
*mime = "application/x-sh";
}
else if (!strcmp(dot, ".shar")) {
*mime = "application/x-shar";
}
else if (!strcmp(dot, ".swf")) {
*mime = "application/x-shockwave-flash";
}
else if (!strcmp(dot, ".sv4cpio")) {
*mime = "application/x-sv4cpio";
return 1;
}
else if (!strcmp(dot, ".sv4crc")) {
*mime = "application/x-sv4crc";
return 1;
}
else if (!strcmp(dot, ".tar")) {
*mime = "application/x-tar";
return 1;
}
else if (!strcmp(dot, ".tcl")) {
*mime = "application/x-tcl";
return 1;
}
else if (!strcmp(dot, ".tex")) {
*mime = "application/x-tex";
return 1;
}
else if (!strcmp(dot, ".texi")) {
*mime = "application/x-texinfo";
return 1;
}
else if (!strcmp(dot, ".texinfo")) {
*mime = "application/x-texinfo";
return 1;
}
else if (!strcmp(dot, ".roff")) {
*mime = "text/troff";
}
else if (!strcmp(dot, ".t")) {
*mime = "text/troff";
}
else if (!strcmp(dot, ".tr")) {
*mime = "text/troff";
}
else if (!strcmp(dot, ".man")) {
*mime = "text/troff";
}
else if (!strcmp(dot, ".me")) {
*mime = "text/troff";
}
else if (!strcmp(dot, ".ms")) {
*mime = "text/troff";
}
else if (!strcmp(dot, ".ustar")) {
*mime = "application/x-ustar";
return 1;
}
else if (!strcmp(dot, ".src")) {
*mime = "application/x-wais-source";
return 1;
}
else if (!strcmp(dot, ".xsl")) {
*mime = "application/xml";
}
else if (!strcmp(dot, ".rdf")) {
*mime = "application/rdf+xml";
return 1;
}
else if (!strcmp(dot, ".wsdl")) {
*mime = "application/wsdl+xml";
return 1;
}
else if (!strcmp(dot, ".xpdl")) {
*mime = "application/xml";
}
else if (!strcmp(dot, ".zip")) {
*mime = "application/zip";
return 1;
}
else if (!strcmp(dot, ".3gp")) {
*mime = "video/3gpp";
return 1;
}
else if (!strcmp(dot, ".3gpp")) {
*mime = "video/3gpp";
return 1;
}
else if (!strcmp(dot, ".3g2")) {
*mime = "video/3gpp2";
return 1;
}
else if (!strcmp(dot, ".3gpp2")) {
*mime = "video/3gpp2";
return 1;
}
else if (!strcmp(dot, ".aac")) {
*mime = "audio/x-aac";
return 1;
}
else if (!strcmp(dot, ".adts")) {
*mime = "audio/aac";
return 1;
}
else if (!strcmp(dot, ".loas")) {
*mime = "audio/usac";
return 1;
}
else if (!strcmp(dot, ".ass")) {
*mime = "audio/aac";
return 1;
}
else if (!strcmp(dot, ".au")) {
*mime = "audio/basic";
return 1;
}
else if (!strcmp(dot, ".snd")) {
*mime = "audio/basic";
return 1;
}
else if (!strcmp(dot, ".mp3")) {
*mime = "audio/mpeg";
return 1;
}
else if (!strcmp(dot, ".mp2")) {
*mime = "audio/mpeg";
return 1;
}
else if (!strcmp(dot, ".opus")) {
*mime = "audio/ogg";
return 1;
}
else if (!strcmp(dot, ".aif")) {
*mime = "audio/x-aiff";
return 1;
}
else if (!strcmp(dot, ".aifc")) {
*mime = "audio/x-aiff";
return 1;
}
else if (!strcmp(dot, ".aiff")) {
*mime = "audio/x-aiff";
return 1;
}
else if (!strcmp(dot, ".ra")) {
*mime = "audio/x-pn-realaudio";
return 1;
}
else if (!strcmp(dot, ".wav")) {
*mime = "audio/x-wav";
return 1;
}
else if (!strcmp(dot, ".bmp")) {
*mime = "image/bmp";
return 1;
}
else if (!strcmp(dot, ".gif")) {
*mime = "image/gif";
return 1;
}
else if (!strcmp(dot, ".ief")) {
*mime = "image/ief";
return 1;
}
else if (!strcmp(dot, ".jpg")) {
*mime = "image/jpeg";
return 1;
}
else if (!strcmp(dot, ".jpe")) {
*mime = "image/jpeg";
return 1;
}
else if (!strcmp(dot, ".jpeg")) {
*mime = "image/jpeg";
return 1;
}
else if (!strcmp(dot, ".heic")) {
*mime = "image/heic";
return 1;
}
else if (!strcmp(dot, ".heif")) {
*mime = "image/heif";
return 1;
}
else if (!strcmp(dot, ".png")) {
*mime = "image/png";
return 1;
}
else if (!strcmp(dot, ".svg")) {
*mime = "image/svg+xml";
return 1;
}
else if (!strcmp(dot, ".tiff")) {
*mime = "image/tiff";
return 1;
}
else if (!strcmp(dot, ".tif")) {
*mime = "image/tiff";
return 1;
}
else if (!strcmp(dot, ".ico")) {
*mime = "image/x-icon";
return 1;
}
else if (!strcmp(dot, ".ras")) {
*mime = "image/x-cmu-raster";
return 1;
}
else if (!strcmp(dot, ".pnm")) {
*mime = "image/x-portable-anymap";
return 1;
}
else if (!strcmp(dot, ".pbm")) {
*mime = "image/x-portable-bitmap";
return 1;
}
else if (!strcmp(dot, ".pgm")) {
*mime = "image/x-portable-graymap";
return 1;
}
else if (!strcmp(dot, ".ppm")) {
*mime = "image/x-portable-pixmap";
return 1;
}
else if (!strcmp(dot, ".rgb")) {
*mime = "image/x-rgb";
return 1;
}
else if (!strcmp(dot, ".xbm")) {
*mime = "image/x-xbitmap";
return 1;
}
else if (!strcmp(dot, ".xpm")) {
*mime = "image/x-xpixmap";
return 1;
}
else if (!strcmp(dot, ".xwd")) {
*mime = "image/x-xwindowdump";
return 1;
}
else if (!strcmp(dot, ".eml")) {
*mime = "message/rfc822";
return 1;
}
else if (!strcmp(dot, ".mht")) {
*mime = "message/rfc822";
return 1;
}
else if (!strcmp(dot, ".mhtml")) {
*mime = "message/rfc822";
return 1;
}
else if (!strcmp(dot, ".nws")) {
*mime = "message/rfc822";
return 1;
}
else if (!strcmp(dot, ".css")) {
*mime = "text/css";
}
else if (!strcmp(dot, ".csv")) {
*mime = "text/csv";
}
else if (!strcmp(dot, ".html")) {
*mime = "text/html";
}
else if (!strcmp(dot, ".htm")) {
*mime = "text/html";
}
else if (!strcmp(dot, ".txt")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".bat")) {
*mime = "application/x-msdownload";
return 1;
}
else if (!strcmp(dot, ".c")) {
*mime = "text/x-c";
}
else if (!strcmp(dot, ".h")) {
*mime = "text/x-c";
}
else if (!strcmp(dot, ".ksh")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".pl")) {
*mime = "application/x-perl";
return 1;
}
else if (!strcmp(dot, ".rtx")) {
*mime = "text/richtext";
}
else if (!strcmp(dot, ".tsv")) {
*mime = "text/tab-separated-values";
}
else if (!strcmp(dot, ".py")) {
*mime = "text/x-python";
}
else if (!strcmp(dot, ".etx")) {
*mime = "text/x-setext";
}
else if (!strcmp(dot, ".sgm")) {
*mime = "text/sgml";
}
else if (!strcmp(dot, ".sgml")) {
*mime = "text/sgml";
}
else if (!strcmp(dot, ".vcf")) {
*mime = "text/x-vcard";
}
else if (!strcmp(dot, ".xml")) {
*mime = "application/xml";
}
else if (!strcmp(dot, ".mp4")) {
*mime = "video/mp4";
return 1;
}
else if (!strcmp(dot, ".mpeg")) {
*mime = "video/mpeg";
return 1;
}
else if (!strcmp(dot, ".m1v")) {
*mime = "video/mpeg";
return 1;
}
else if (!strcmp(dot, ".mpa")) {
*mime = "video/mpeg";
return 1;
}
else if (!strcmp(dot, ".mpe")) {
*mime = "video/mpeg";
return 1;
}
else if (!strcmp(dot, ".mpg")) {
*mime = "video/mpeg";
return 1;
}
else if (!strcmp(dot, ".mov")) {
*mime = "video/quicktime";
return 1;
}
else if (!strcmp(dot, ".qt")) {
*mime = "video/quicktime";
return 1;
}
else if (!strcmp(dot, ".webm")) {
*mime = "video/webm";
return 1;
}
else if (!strcmp(dot, ".avi")) {
*mime = "video/x-msvideo";
return 1;
}
else if (!strcmp(dot, ".movie")) {
*mime = "video/x-sgi-movie";
return 1;
}
else if (!strcmp(dot, ".a2l")) {
*mime = "application/A2L";
return 1;
}
else if (!strcmp(dot, ".aml")) {
*mime = "application/AML";
return 1;
}
else if (!strcmp(dot, ".ez")) {
*mime = "application/andrew-inset";
return 1;
}
else if (!strcmp(dot, ".atf")) {
*mime = "application/ATF";
return 1;
}
else if (!strcmp(dot, ".atfx")) {
*mime = "application/ATFX";
return 1;
}
else if (!strcmp(dot, ".atxml")) {
*mime = "application/ATXML";
return 1;
}
else if (!strcmp(dot, ".atom")) {
*mime = "application/atom+xml";
return 1;
}
else if (!strcmp(dot, ".atomcat")) {
*mime = "application/atomcat+xml";
return 1;
}
else if (!strcmp(dot, ".atomdeleted")) {
*mime = "application/atomdeleted+xml";
return 1;
}
else if (!strcmp(dot, ".atomsvc")) {
*mime = "application/atomsvc+xml";
return 1;
}
else if (!strcmp(dot, ".dwd")) {
*mime = "application/atsc-dwd+xml";
return 1;
}
else if (!strcmp(dot, ".held")) {
*mime = "application/atsc-held+xml";
return 1;
}
else if (!strcmp(dot, ".rsat")) {
*mime = "application/atsc-rsat+xml";
return 1;
}
else if (!strcmp(dot, ".apxml")) {
*mime = "application/auth-policy+xml";
return 1;
}
else if (!strcmp(dot, ".xdd")) {
*mime = "application/bacnet-xdd+zip";
return 1;
}
else if (!strcmp(dot, ".xcs")) {
*mime = "application/calendar+xml";
return 1;
}
else if (!strcmp(dot, ".cbor")) {
*mime = "application/cbor";
return 1;
}
else if (!strcmp(dot, ".c3ex")) {
*mime = "application/cccex";
return 1;
}
else if (!strcmp(dot, ".ccmp")) {
*mime = "application/ccmp+xml";
return 1;
}
else if (!strcmp(dot, ".ccxml")) {
*mime = "application/ccxml+xml";
return 1;
}
else if (!strcmp(dot, ".cdfx")) {
*mime = "application/CDFX+XML";
return 1;
}
else if (!strcmp(dot, ".cdmia")) {
*mime = "application/cdmi-capability";
return 1;
}
else if (!strcmp(dot, ".cdmic")) {
*mime = "application/cdmi-container";
return 1;
}
else if (!strcmp(dot, ".cdmid")) {
*mime = "application/cdmi-domain";
return 1;
}
else if (!strcmp(dot, ".cdmio")) {
*mime = "application/cdmi-object";
return 1;
}
else if (!strcmp(dot, ".cdmiq")) {
*mime = "application/cdmi-queue";
return 1;
}
else if (!strcmp(dot, ".cea")) {
*mime = "application/CEA";
return 1;
}
else if (!strcmp(dot, ".cellml")) {
*mime = "application/cellml+xml";
return 1;
}
else if (!strcmp(dot, ".cml")) {
*mime = "chemical/x-cml";
return 1;
}
else if (!strcmp(dot, ".1clr")) {
*mime = "application/clr";
return 1;
}
else if (!strcmp(dot, ".clue")) {
*mime = "application/clue_info+xml";
return 1;
}
else if (!strcmp(dot, ".cmsc")) {
*mime = "application/cms";
return 1;
}
else if (!strcmp(dot, ".cpl")) {
*mime = "application/cpl+xml";
return 1;
}
else if (!strcmp(dot, ".csrattrs")) {
*mime = "application/csrattrs";
return 1;
}
else if (!strcmp(dot, ".mpd")) {
*mime = "application/dash+xml";
return 1;
}
else if (!strcmp(dot, ".mpdd")) {
*mime = "application/dashdelta";
return 1;
}
else if (!strcmp(dot, ".davmount")) {
*mime = "application/davmount+xml";
return 1;
}
else if (!strcmp(dot, ".dcd")) {
*mime = "application/DCD";
return 1;
}
else if (!strcmp(dot, ".dcm")) {
*mime = "application/dicom";
return 1;
}
else if (!strcmp(dot, ".dii")) {
*mime = "application/DII";
return 1;
}
else if (!strcmp(dot, ".dit")) {
*mime = "application/DIT";
return 1;
}
else if (!strcmp(dot, ".xmls")) {
*mime = "application/dskpp+xml";
return 1;
}
else if (!strcmp(dot, ".dssc")) {
*mime = "application/dssc+der";
return 1;
}
else if (!strcmp(dot, ".xdssc")) {
*mime = "application/dssc+xml";
return 1;
}
else if (!strcmp(dot, ".dvc")) {
*mime = "application/dvcs";
return 1;
}
else if (!strcmp(dot, ".es")) {
*mime = "application/ecmascript";
return 1;
}
else if (!strcmp(dot, ".efi")) {
*mime = "application/efi";
return 1;
}
else if (!strcmp(dot, ".emma")) {
*mime = "application/emma+xml";
return 1;
}
else if (!strcmp(dot, ".emotionml")) {
*mime = "application/emotionml+xml";
return 1;
}
else if (!strcmp(dot, ".epub")) {
*mime = "application/epub+zip";
return 1;
}
else if (!strcmp(dot, ".exi")) {
*mime = "application/exi";
return 1;
}
else if (!strcmp(dot, ".finf")) {
*mime = "application/fastinfoset";
return 1;
}
else if (!strcmp(dot, ".fdt")) {
*mime = "application/fdt+xml";
return 1;
}
else if (!strcmp(dot, ".pfr")) {
*mime = "application/font-tdpfr";
return 1;
}
else if (!strcmp(dot, ".geojson")) {
*mime = "application/geo+json";
return 1;
}
else if (!strcmp(dot, ".gpkg")) {
*mime = "application/geopackage+sqlite3";
return 1;
}
else if (!strcmp(dot, ".glbin")) {
*mime = "application/gltf-buffer";
return 1;
}
else if (!strcmp(dot, ".glbuf")) {
*mime = "application/gltf-buffer";
return 1;
}
else if (!strcmp(dot, ".gml")) {
*mime = "application/gml+xml";
return 1;
}
else if (!strcmp(dot, ".gz")) {
*mime = "application/gzip";
return 1;
}
else if (!strcmp(dot, ".tgz")) {
*mime = "application/gzip";
return 1;
}
else if (!strcmp(dot, ".stk")) {
*mime = "application/hyperstudio";
return 1;
}
else if (!strcmp(dot, ".ink")) {
*mime = "application/inkml+xml";
return 1;
}
else if (!strcmp(dot, ".inkml")) {
*mime = "application/inkml+xml";
return 1;
}
else if (!strcmp(dot, ".ipfix")) {
*mime = "application/ipfix";
return 1;
}
else if (!strcmp(dot, ".its")) {
*mime = "application/its+xml";
return 1;
}
else if (!strcmp(dot, ".jrd")) {
*mime = "application/jrd+json";
return 1;
}
else if (!strcmp(dot, ".json-patch")) {
*mime = "application/json-patch+json";
}
else if (!strcmp(dot, ".jsonld")) {
*mime = "application/ld+json";
return 1;
}
else if (!strcmp(dot, ".lgr")) {
*mime = "application/lgr+xml";
return 1;
}
else if (!strcmp(dot, ".wlnk")) {
*mime = "application/link-format";
return 1;
}
else if (!strcmp(dot, ".lostxml")) {
*mime = "application/lost+xml";
return 1;
}
else if (!strcmp(dot, ".lostsyncxml")) {
*mime = "application/lostsync+xml";
return 1;
}
else if (!strcmp(dot, ".lpf")) {
*mime = "application/lpf+zip";
return 1;
}
else if (!strcmp(dot, ".lxf")) {
*mime = "application/LXF";
return 1;
}
else if (!strcmp(dot, ".hqx")) {
*mime = "application/mac-binhex40";
return 1;
}
else if (!strcmp(dot, ".mads")) {
*mime = "application/mads+xml";
return 1;
}
else if (!strcmp(dot, ".mrc")) {
*mime = "application/marc";
return 1;
}
else if (!strcmp(dot, ".mrcx")) {
*mime = "application/marcxml+xml";
return 1;
}
else if (!strcmp(dot, ".nb")) {
*mime = "application/mathematica";
return 1;
}
else if (!strcmp(dot, ".ma")) {
*mime = "application/mathematica";
return 1;
}
else if (!strcmp(dot, ".mb")) {
*mime = "application/mathematica";
return 1;
}
else if (!strcmp(dot, ".mml")) {
*mime = "application/mathml+xml";
return 1;
}
else if (!strcmp(dot, ".mbox")) {
*mime = "application/mbox";
return 1;
}
else if (!strcmp(dot, ".meta4")) {
*mime = "application/metalink4+xml";
return 1;
}
else if (!strcmp(dot, ".mets")) {
*mime = "application/mets+xml";
return 1;
}
else if (!strcmp(dot, ".mf4")) {
*mime = "application/MF4";
return 1;
}
else if (!strcmp(dot, ".maei")) {
*mime = "application/mmt-aei+xml";
return 1;
}
else if (!strcmp(dot, ".musd")) {
*mime = "application/mmt-usd+xml";
return 1;
}
else if (!strcmp(dot, ".mods")) {
*mime = "application/mods+xml";
return 1;
}
else if (!strcmp(dot, ".m21")) {
*mime = "application/mp21";
return 1;
}
else if (!strcmp(dot, ".mp21")) {
*mime = "application/mp21";
return 1;
}
else if (!strcmp(dot, ".mxf")) {
*mime = "application/mxf";
return 1;
}
else if (!strcmp(dot, ".nq")) {
*mime = "application/n-quads";
return 1;
}
else if (!strcmp(dot, ".nt")) {
*mime = "application/n-triples";
return 1;
}
else if (!strcmp(dot, ".orq")) {
*mime = "application/ocsp-request";
return 1;
}
else if (!strcmp(dot, ".ors")) {
*mime = "application/ocsp-response";
return 1;
}
else if (!strcmp(dot, ".lha")) {
*mime = "application/x-lzh-compressed";
return 1;
}
else if (!strcmp(dot, ".lzh")) {
*mime = "application/x-lzh-compressed";
return 1;
}
else if (!strcmp(dot, ".class")) {
*mime = "application/java-vm";
return 1;
}
else if (!strcmp(dot, ".img")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".iso")) {
*mime = "application/x-iso9660-image";
return 1;
}
else if (!strcmp(dot, ".odx")) {
*mime = "application/ODX";
return 1;
}
else if (!strcmp(dot, ".opf")) {
*mime = "application/oebps-package+xml";
return 1;
}
else if (!strcmp(dot, ".ogx")) {
*mime = "application/ogg";
return 1;
}
else if (!strcmp(dot, ".oxps")) {
*mime = "application/oxps";
return 1;
}
else if (!strcmp(dot, ".relo")) {
*mime = "application/p2p-overlay+xml";
return 1;
}
else if (!strcmp(dot, ".pdx")) {
*mime = "application/PDX";
return 1;
}
else if (!strcmp(dot, ".pem")) {
*mime = "application/pem-certificate-chain";
return 1;
}
else if (!strcmp(dot, ".pgp")) {
*mime = "application/pgp-encrypted";
return 1;
}
else if (!strcmp(dot, ".sig")) {
*mime = "application/pgp-signature";
return 1;
}
else if (!strcmp(dot, ".p10")) {
*mime = "application/pkcs10";
return 1;
}
else if (!strcmp(dot, ".p7m")) {
*mime = "application/pkcs7-mime";
return 1;
}
else if (!strcmp(dot, ".p7s")) {
*mime = "application/pkcs7-signature";
return 1;
}
else if (!strcmp(dot, ".p8")) {
*mime = "application/pkcs8";
return 1;
}
else if (!strcmp(dot, ".p8e")) {
*mime = "application/pkcs8-encrypted";
return 1;
}
else if (!strcmp(dot, ".cer")) {
*mime = "application/pkix-cert";
return 1;
}
else if (!strcmp(dot, ".crl")) {
*mime = "application/pkix-crl";
return 1;
}
else if (!strcmp(dot, ".pkipath")) {
*mime = "application/pkix-pkipath";
return 1;
}
else if (!strcmp(dot, ".pki")) {
*mime = "application/pkixcmp";
return 1;
}
else if (!strcmp(dot, ".pls")) {
*mime = "application/pls+xml";
return 1;
}
else if (!strcmp(dot, ".provx")) {
*mime = "application/provenance+xml";
return 1;
}
else if (!strcmp(dot, ".cw")) {
*mime = "application/prs.cww";
return 1;
}
else if (!strcmp(dot, ".cww")) {
*mime = "application/prs.cww";
return 1;
}
else if (!strcmp(dot, ".hpub")) {
*mime = "application/prs.hpub+zip";
return 1;
}
else if (!strcmp(dot, ".rnd")) {
*mime = "application/prs.nprend";
return 1;
}
else if (!strcmp(dot, ".rct")) {
*mime = "application/prs.nprend";
return 1;
}
else if (!strcmp(dot, ".rdf-crypt")) {
*mime = "application/prs.rdf-xml-crypt";
return 1;
}
else if (!strcmp(dot, ".xsf")) {
*mime = "application/prs.xsf+xml";
return 1;
}
else if (!strcmp(dot, ".pskcxml")) {
*mime = "application/pskc+xml";
return 1;
}
else if (!strcmp(dot, ".rapd")) {
*mime = "application/route-apd+xml";
return 1;
}
else if (!strcmp(dot, ".sls")) {
*mime = "application/route-s-tsid+xml";
return 1;
}
else if (!strcmp(dot, ".rusd")) {
*mime = "application/route-usd+xml";
return 1;
}
else if (!strcmp(dot, ".rif")) {
*mime = "application/reginfo+xml";
return 1;
}
else if (!strcmp(dot, ".rnc")) {
*mime = "application/relax-ng-compact-syntax";
return 1;
}
else if (!strcmp(dot, ".rld")) {
*mime = "application/resource-lists-diff+xml";
return 1;
}
else if (!strcmp(dot, ".rl")) {
*mime = "application/resource-lists+xml";
return 1;
}
else if (!strcmp(dot, ".rfcxml")) {
*mime = "application/rfc+xml";
return 1;
}
else if (!strcmp(dot, ".rs")) {
*mime = "application/rls-services+xml";
return 1;
}
else if (!strcmp(dot, ".gbr")) {
*mime = "application/rpki-ghostbusters";
return 1;
}
else if (!strcmp(dot, ".mft")) {
*mime = "application/rpki-manifest";
return 1;
}
else if (!strcmp(dot, ".roa")) {
*mime = "application/rpki-roa";
return 1;
}
else if (!strcmp(dot, ".rtf")) {
*mime = "application/rtf";
return 1;
}
else if (!strcmp(dot, ".sarif-external-properties")) {
*mime = "application/sarif-external-properties+json";
return 1;
}
else if (!strcmp(dot, ".sarif-external-properties.json")) {
*mime = "application/sarif-external-properties+json";
return 1;
}
else if (!strcmp(dot, ".sarif")) {
*mime = "application/sarif+json";
return 1;
}
else if (!strcmp(dot, ".sarif.json")) {
*mime = "application/sarif+json";
return 1;
}
else if (!strcmp(dot, ".scim")) {
*mime = "application/scim+json";
return 1;
}
else if (!strcmp(dot, ".scq")) {
*mime = "application/scvp-cv-request";
return 1;
}
else if (!strcmp(dot, ".scs")) {
*mime = "application/scvp-cv-response";
return 1;
}
else if (!strcmp(dot, ".spq")) {
*mime = "application/scvp-vp-request";
return 1;
}
else if (!strcmp(dot, ".spp")) {
*mime = "application/scvp-vp-response";
return 1;
}
else if (!strcmp(dot, ".sdp")) {
*mime = "application/sdp";
return 1;
}
else if (!strcmp(dot, ".senml-etchc")) {
*mime = "application/senml-etch+cbor";
return 1;
}
else if (!strcmp(dot, ".senml-etchj")) {
*mime = "application/senml-etch+json";
return 1;
}
else if (!strcmp(dot, ".senmlc")) {
*mime = "application/senml+cbor";
return 1;
}
else if (!strcmp(dot, ".senml")) {
*mime = "application/senml+json";
return 1;
}
else if (!strcmp(dot, ".senmlx")) {
*mime = "application/senml+xml";
return 1;
}
else if (!strcmp(dot, ".senmle")) {
*mime = "application/senml-exi";
return 1;
}
else if (!strcmp(dot, ".sensmlc")) {
*mime = "application/sensml+cbor";
return 1;
}
else if (!strcmp(dot, ".sensml")) {
*mime = "application/sensml+json";
return 1;
}
else if (!strcmp(dot, ".sensmlx")) {
*mime = "application/sensml+xml";
return 1;
}
else if (!strcmp(dot, ".sensmle")) {
*mime = "application/sensml-exi";
return 1;
}
else if (!strcmp(dot, ".soc")) {
*mime = "application/sgml-open-catalog";
return 1;
}
else if (!strcmp(dot, ".shf")) {
*mime = "application/shf+xml";
return 1;
}
else if (!strcmp(dot, ".siv")) {
*mime = "application/sieve";
return 1;
}
else if (!strcmp(dot, ".sieve")) {
*mime = "application/sieve";
return 1;
}
else if (!strcmp(dot, ".cl")) {
*mime = "application/simple-filter+xml";
return 1;
}
else if (!strcmp(dot, ".smil")) {
*mime = "application/smil+xml";
return 1;
}
else if (!strcmp(dot, ".smi")) {
*mime = "application/smil+xml";
return 1;
}
else if (!strcmp(dot, ".sml")) {
*mime = "application/smil+xml";
return 1;
}
else if (!strcmp(dot, ".rq")) {
*mime = "application/sparql-query";
return 1;
}
else if (!strcmp(dot, ".srx")) {
*mime = "application/sparql-results+xml";
return 1;
}
else if (!strcmp(dot, ".sql")) {
*mime = "application/x-sql";
return 1;
}
else if (!strcmp(dot, ".gram")) {
*mime = "application/srgs";
return 1;
}
else if (!strcmp(dot, ".grxml")) {
*mime = "application/srgs+xml";
return 1;
}
else if (!strcmp(dot, ".sru")) {
*mime = "application/sru+xml";
return 1;
}
else if (!strcmp(dot, ".ssml")) {
*mime = "application/ssml+xml";
return 1;
}
else if (!strcmp(dot, ".stix")) {
*mime = "application/stix+json";
return 1;
}
else if (!strcmp(dot, ".swidtag")) {
*mime = "application/swid+xml";
return 1;
}
else if (!strcmp(dot, ".tau")) {
*mime = "application/tamp-apex-update";
return 1;
}
else if (!strcmp(dot, ".auc")) {
*mime = "application/tamp-apex-update-confirm";
return 1;
}
else if (!strcmp(dot, ".tcu")) {
*mime = "application/tamp-community-update";
return 1;
}
else if (!strcmp(dot, ".cuc")) {
*mime = "application/tamp-community-update-confirm";
return 1;
}
else if (!strcmp(dot, ".jsontd")) {
*mime = "application/td+json";
return 1;
}
else if (!strcmp(dot, ".ter")) {
*mime = "application/tamp-error";
return 1;
}
else if (!strcmp(dot, ".tsa")) {
*mime = "application/tamp-sequence-adjust";
return 1;
}
else if (!strcmp(dot, ".sac")) {
*mime = "application/tamp-sequence-adjust-confirm";
return 1;
}
else if (!strcmp(dot, ".tur")) {
*mime = "application/tamp-update";
return 1;
}
else if (!strcmp(dot, ".tuc")) {
*mime = "application/tamp-update-confirm";
return 1;
}
else if (!strcmp(dot, ".tei")) {
*mime = "application/tei+xml";
return 1;
}
else if (!strcmp(dot, ".teiCorpus")) {
*mime = "application/tei+xml";
return 1;
}
else if (!strcmp(dot, ".odd")) {
*mime = "application/tei+xml";
return 1;
}
else if (!strcmp(dot, ".tfi")) {
*mime = "application/thraud+xml";
return 1;
}
else if (!strcmp(dot, ".tsq")) {
*mime = "application/timestamp-query";
return 1;
}
else if (!strcmp(dot, ".tsr")) {
*mime = "application/timestamp-reply";
return 1;
}
else if (!strcmp(dot, ".tsd")) {
*mime = "application/timestamped-data";
return 1;
}
else if (!strcmp(dot, ".trig")) {
*mime = "application/trig";
return 1;
}
else if (!strcmp(dot, ".ttml")) {
*mime = "application/ttml+xml";
return 1;
}
else if (!strcmp(dot, ".gsheet")) {
*mime = "application/urc-grpsheet+xml";
return 1;
}
else if (!strcmp(dot, ".rsheet")) {
*mime = "application/urc-ressheet+xml";
return 1;
}
else if (!strcmp(dot, ".td")) {
*mime = "application/urc-targetdesc+xml";
return 1;
}
else if (!strcmp(dot, ".uis")) {
*mime = "application/urc-uisocketdesc+xml";
return 1;
}
else if (!strcmp(dot, ".1km")) {
*mime = "application/vnd.1000minds.decision-model+xml";
return 1;
}
else if (!strcmp(dot, ".plb")) {
*mime = "application/vnd.3gpp.pic-bw-large";
return 1;
}
else if (!strcmp(dot, ".psb")) {
*mime = "application/vnd.3gpp.pic-bw-small";
return 1;
}
else if (!strcmp(dot, ".pvb")) {
*mime = "application/vnd.3gpp.pic-bw-var";
return 1;
}
else if (!strcmp(dot, ".sms")) {
*mime = "application/vnd.3gpp2.sms";
return 1;
}
else if (!strcmp(dot, ".tcap")) {
*mime = "application/vnd.3gpp2.tcap";
return 1;
}
else if (!strcmp(dot, ".imgcal")) {
*mime = "application/vnd.3lightssoftware.imagescal";
return 1;
}
else if (!strcmp(dot, ".pwn")) {
*mime = "application/vnd.3m.post-it-notes";
return 1;
}
else if (!strcmp(dot, ".aso")) {
*mime = "application/vnd.accpac.simply.aso";
return 1;
}
else if (!strcmp(dot, ".imp")) {
*mime = "application/vnd.accpac.simply.imp";
return 1;
}
else if (!strcmp(dot, ".acu")) {
*mime = "application/vnd.acucobol";
return 1;
}
else if (!strcmp(dot, ".atc")) {
*mime = "application/vnd.acucorp";
return 1;
}
else if (!strcmp(dot, ".acutc")) {
*mime = "application/vnd.acucorp";
return 1;
}
else if (!strcmp(dot, ".fcdt")) {
*mime = "application/vnd.adobe.formscentral.fcdt";
return 1;
}
else if (!strcmp(dot, ".fxp")) {
*mime = "application/vnd.adobe.fxp";
return 1;
}
else if (!strcmp(dot, ".fxpl")) {
*mime = "application/vnd.adobe.fxp";
return 1;
}
else if (!strcmp(dot, ".xdp")) {
*mime = "application/vnd.adobe.xdp+xml";
return 1;
}
else if (!strcmp(dot, ".xfdf")) {
*mime = "application/vnd.adobe.xfdf";
return 1;
}
else if (!strcmp(dot, ".list3820")) {
*mime = "application/vnd.ibm.modcap";
return 1;
}
else if (!strcmp(dot, ".listafp")) {
*mime = "application/vnd.ibm.modcap";
return 1;
}
else if (!strcmp(dot, ".afp")) {
*mime = "application/vnd.ibm.modcap";
return 1;
}
else if (!strcmp(dot, ".pseg3820")) {
*mime = "application/vnd.afpc.modca";
return 1;
}
else if (!strcmp(dot, ".ovl")) {
*mime = "application/vnd.afpc.modca-overlay";
return 1;
}
else if (!strcmp(dot, ".psg")) {
*mime = "application/vnd.afpc.modca-pagesegment";
return 1;
}
else if (!strcmp(dot, ".ahead")) {
*mime = "application/vnd.ahead.space";
return 1;
}
else if (!strcmp(dot, ".azf")) {
*mime = "application/vnd.airzip.filesecure.azf";
return 1;
}
else if (!strcmp(dot, ".azs")) {
*mime = "application/vnd.airzip.filesecure.azs";
return 1;
}
else if (!strcmp(dot, ".azw3")) {
*mime = "application/vnd.amazon.mobi8-ebook";
return 1;
}
else if (!strcmp(dot, ".acc")) {
*mime = "application/vnd.americandynamics.acc";
return 1;
}
else if (!strcmp(dot, ".ami")) {
*mime = "application/vnd.amiga.ami";
return 1;
}
else if (!strcmp(dot, ".ota")) {
*mime = "application/vnd.android.ota";
return 1;
}
else if (!strcmp(dot, ".apkg")) {
*mime = "application/vnd.anki";
return 1;
}
else if (!strcmp(dot, ".cii")) {
*mime = "application/vnd.anser-web-certificate-issue-initiation";
return 1;
}
else if (!strcmp(dot, ".fti")) {
*mime = "application/vnd.anser-web-funds-transfer-initiation";
return 1;
}
else if (!strcmp(dot, ".dist")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".distz")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".pkg")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".mpkg")) {
*mime = "application/vnd.apple.installer+xml";
return 1;
}
else if (!strcmp(dot, ".keynote")) {
*mime = "application/vnd.apple.keynote";
return 1;
}
else if (!strcmp(dot, ".numbers")) {
*mime = "application/vnd.apple.numbers";
return 1;
}
else if (!strcmp(dot, ".pages")) {
*mime = "application/vnd.apple.pages";
return 1;
}
else if (!strcmp(dot, ".swi")) {
*mime = "application/vnd.aristanetworks.swi";
return 1;
}
else if (!strcmp(dot, ".artisan")) {
*mime = "application/vnd.artisan+json";
return 1;
}
else if (!strcmp(dot, ".iota")) {
*mime = "application/vnd.astraea-software.iota";
return 1;
}
else if (!strcmp(dot, ".aep")) {
*mime = "application/vnd.audiograph";
return 1;
}
else if (!strcmp(dot, ".package")) {
*mime = "application/vnd.autopackage";
return 1;
}
else if (!strcmp(dot, ".bmml")) {
*mime = "application/vnd.balsamiq.bmml+xml";
return 1;
}
else if (!strcmp(dot, ".ac2")) {
*mime = "application/vnd.banana-accounting";
return 1;
}
else if (!strcmp(dot, ".bmpr")) {
*mime = "application/vnd.balsamiq.bmpr";
return 1;
}
else if (!strcmp(dot, ".mpm")) {
*mime = "application/vnd.blueice.multipass";
return 1;
}
else if (!strcmp(dot, ".ep")) {
*mime = "application/vnd.bluetooth.ep.oob";
return 1;
}
else if (!strcmp(dot, ".le")) {
*mime = "application/vnd.bluetooth.le.oob";
return 1;
}
else if (!strcmp(dot, ".bmi")) {
*mime = "application/vnd.bmi";
return 1;
}
else if (!strcmp(dot, ".rep")) {
*mime = "application/vnd.businessobjects";
return 1;
}
else if (!strcmp(dot, ".tlclient")) {
*mime = "application/vnd.cendio.thinlinc.clientconf";
return 1;
}
else if (!strcmp(dot, ".cdxml")) {
*mime = "application/vnd.chemdraw+xml";
return 1;
}
else if (!strcmp(dot, ".pgn")) {
*mime = "application/x-chess-pgn";
return 1;
}
else if (!strcmp(dot, ".mmd")) {
*mime = "application/vnd.chipnuts.karaoke-mmd";
return 1;
}
else if (!strcmp(dot, ".cdy")) {
*mime = "application/vnd.cinderella";
return 1;
}
else if (!strcmp(dot, ".csl")) {
*mime = "application/vnd.citationstyles.style+xml";
return 1;
}
else if (!strcmp(dot, ".cla")) {
*mime = "application/vnd.claymore";
return 1;
}
else if (!strcmp(dot, ".rp9")) {
*mime = "application/vnd.cloanto.rp9";
return 1;
}
else if (!strcmp(dot, ".c4g")) {
*mime = "application/vnd.clonk.c4group";
return 1;
}
else if (!strcmp(dot, ".c4d")) {
*mime = "application/vnd.clonk.c4group";
return 1;
}
else if (!strcmp(dot, ".c4f")) {
*mime = "application/vnd.clonk.c4group";
return 1;
}
else if (!strcmp(dot, ".c4p")) {
*mime = "application/vnd.clonk.c4group";
return 1;
}
else if (!strcmp(dot, ".c4u")) {
*mime = "application/vnd.clonk.c4group";
return 1;
}
else if (!strcmp(dot, ".c11amc")) {
*mime = "application/vnd.cluetrust.cartomobile-config";
return 1;
}
else if (!strcmp(dot, ".c11amz")) {
*mime = "application/vnd.cluetrust.cartomobile-config-pkg";
return 1;
}
else if (!strcmp(dot, ".coffee")) {
*mime = "application/vnd.coffeescript";
return 1;
}
else if (!strcmp(dot, ".xodt")) {
*mime = "application/vnd.collabio.xodocuments.document";
return 1;
}
else if (!strcmp(dot, ".xott")) {
*mime = "application/vnd.collabio.xodocuments.document-template";
return 1;
}
else if (!strcmp(dot, ".xodp")) {
*mime = "application/vnd.collabio.xodocuments.presentation";
return 1;
}
else if (!strcmp(dot, ".xotp")) {
*mime = "application/vnd.collabio.xodocuments.presentation-template";
return 1;
}
else if (!strcmp(dot, ".xods")) {
*mime = "application/vnd.collabio.xodocuments.spreadsheet";
return 1;
}
else if (!strcmp(dot, ".xots")) {
*mime = "application/vnd.collabio.xodocuments.spreadsheet-template";
return 1;
}
else if (!strcmp(dot, ".cbr")) {
*mime = "application/x-cbr";
return 1;
}
else if (!strcmp(dot, ".cbz")) {
*mime = "application/x-cbr";
return 1;
}
else if (!strcmp(dot, ".ica")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".icf")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".icd")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic0")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic1")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic2")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic3")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic4")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic5")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic6")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic7")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".ic8")) {
*mime = "application/vnd.commerce-battelle";
return 1;
}
else if (!strcmp(dot, ".csp")) {
*mime = "application/vnd.commonspace";
return 1;
}
else if (!strcmp(dot, ".cst")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".cdbcmsg")) {
*mime = "application/vnd.contact.cmsg";
return 1;
}
else if (!strcmp(dot, ".ign")) {
*mime = "application/vnd.coreos.ignition+json";
return 1;
}
else if (!strcmp(dot, ".ignition")) {
*mime = "application/vnd.coreos.ignition+json";
return 1;
}
else if (!strcmp(dot, ".cmc")) {
*mime = "application/vnd.cosmocaller";
return 1;
}
else if (!strcmp(dot, ".clkx")) {
*mime = "application/vnd.crick.clicker";
return 1;
}
else if (!strcmp(dot, ".clkk")) {
*mime = "application/vnd.crick.clicker.keyboard";
return 1;
}
else if (!strcmp(dot, ".clkp")) {
*mime = "application/vnd.crick.clicker.palette";
return 1;
}
else if (!strcmp(dot, ".clkt")) {
*mime = "application/vnd.crick.clicker.template";
return 1;
}
else if (!strcmp(dot, ".clkw")) {
*mime = "application/vnd.crick.clicker.wordbank";
return 1;
}
else if (!strcmp(dot, ".wbs")) {
*mime = "application/vnd.criticaltools.wbs+xml";
return 1;
}
else if (!strcmp(dot, ".ssvc")) {
*mime = "application/vnd.crypto-shade-file";
return 1;
}
else if (!strcmp(dot, ".c9r")) {
*mime = "application/vnd.cryptomator.encrypted";
return 1;
}
else if (!strcmp(dot, ".c9s")) {
*mime = "application/vnd.cryptomator.encrypted";
return 1;
}
else if (!strcmp(dot, ".cryptomator")) {
*mime = "application/vnd.cryptomator.vault";
return 1;
}
else if (!strcmp(dot, ".pml")) {
*mime = "application/vnd.ctc-posml";
return 1;
}
else if (!strcmp(dot, ".ppd")) {
*mime = "application/vnd.cups-ppd";
return 1;
}
else if (!strcmp(dot, ".curl")) {
*mime = "text/vnd.curl";
}
else if (!strcmp(dot, ".dart")) {
*mime = "application/vnd.dart";
return 1;
}
else if (!strcmp(dot, ".rdz")) {
*mime = "application/vnd.data-vision.rdz";
return 1;
}
else if (!strcmp(dot, ".dbf")) {
*mime = "application/vnd.dbf";
return 1;
}
else if (!strcmp(dot, ".deb")) {
*mime = "application/x-debian-package";
return 1;
}
else if (!strcmp(dot, ".udeb")) {
*mime = "application/x-debian-package";
return 1;
}
else if (!strcmp(dot, ".uvf")) {
*mime = "application/vnd.dece.data";
return 1;
}
else if (!strcmp(dot, ".uvvf")) {
*mime = "application/vnd.dece.data";
return 1;
}
else if (!strcmp(dot, ".uvd")) {
*mime = "application/vnd.dece.data";
return 1;
}
else if (!strcmp(dot, ".uvvd")) {
*mime = "application/vnd.dece.data";
return 1;
}
else if (!strcmp(dot, ".uvt")) {
*mime = "application/vnd.dece.ttml+xml";
return 1;
}
else if (!strcmp(dot, ".uvvt")) {
*mime = "application/vnd.dece.ttml+xml";
return 1;
}
else if (!strcmp(dot, ".uvx")) {
*mime = "application/vnd.dece.unspecified";
return 1;
}
else if (!strcmp(dot, ".uvvx")) {
*mime = "application/vnd.dece.unspecified";
return 1;
}
else if (!strcmp(dot, ".uvz")) {
*mime = "application/vnd.dece.zip";
return 1;
}
else if (!strcmp(dot, ".uvvz")) {
*mime = "application/vnd.dece.zip";
return 1;
}
else if (!strcmp(dot, ".fe_launch")) {
*mime = "application/vnd.denovo.fcselayout-link";
return 1;
}
else if (!strcmp(dot, ".dsm")) {
*mime = "application/vnd.desmume.movie";
return 1;
}
else if (!strcmp(dot, ".dna")) {
*mime = "application/vnd.dna";
return 1;
}
else if (!strcmp(dot, ".docjson")) {
*mime = "application/vnd.document+json";
return 1;
}
else if (!strcmp(dot, ".scld")) {
*mime = "application/vnd.doremir.scorecloud-binary-document";
return 1;
}
else if (!strcmp(dot, ".dpg")) {
*mime = "application/vnd.dpgraph";
return 1;
}
else if (!strcmp(dot, ".mwc")) {
*mime = "application/vnd.dpgraph";
return 1;
}
else if (!strcmp(dot, ".dpgraph")) {
*mime = "application/vnd.dpgraph";
return 1;
}
else if (!strcmp(dot, ".dfac")) {
*mime = "application/vnd.dreamfactory";
return 1;
}
else if (!strcmp(dot, ".fla")) {
*mime = "application/vnd.dtg.local.flash";
return 1;
}
else if (!strcmp(dot, ".ait")) {
*mime = "application/vnd.dvb.ait";
return 1;
}
else if (!strcmp(dot, ".svc")) {
*mime = "application/vnd.dvb.service";
return 1;
}
else if (!strcmp(dot, ".geo")) {
*mime = "application/vnd.dynageo";
return 1;
}
else if (!strcmp(dot, ".dzr")) {
*mime = "application/vnd.dzr";
return 1;
}
else if (!strcmp(dot, ".mag")) {
*mime = "application/vnd.ecowin.chart";
return 1;
}
else if (!strcmp(dot, ".nml")) {
*mime = "application/vnd.enliven";
return 1;
}
else if (!strcmp(dot, ".esf")) {
*mime = "application/vnd.epson.esf";
return 1;
}
else if (!strcmp(dot, ".msf")) {
*mime = "application/vnd.epson.msf";
return 1;
}
else if (!strcmp(dot, ".qam")) {
*mime = "application/vnd.epson.quickanime";
return 1;
}
else if (!strcmp(dot, ".slt")) {
*mime = "application/vnd.epson.salt";
return 1;
}
else if (!strcmp(dot, ".ssf")) {
*mime = "application/vnd.epson.ssf";
return 1;
}
else if (!strcmp(dot, ".qcall")) {
*mime = "application/vnd.ericsson.quickcall";
return 1;
}
else if (!strcmp(dot, ".qca")) {
*mime = "application/vnd.ericsson.quickcall";
return 1;
}
else if (!strcmp(dot, ".espass")) {
*mime = "application/vnd.espass-espass+zip";
return 1;
}
else if (!strcmp(dot, ".es3")) {
*mime = "application/vnd.eszigno3+xml";
return 1;
}
else if (!strcmp(dot, ".et3")) {
*mime = "application/vnd.eszigno3+xml";
return 1;
}
else if (!strcmp(dot, ".asice")) {
*mime = "application/vnd.etsi.asic-e+zip";
return 1;
}
else if (!strcmp(dot, ".sce")) {
*mime = "application/vnd.etsi.asic-e+zip";
return 1;
}
else if (!strcmp(dot, ".asics")) {
*mime = "application/vnd.etsi.asic-s+zip";
return 1;
}
else if (!strcmp(dot, ".tst")) {
*mime = "application/vnd.etsi.timestamp-token";
return 1;
}
else if (!strcmp(dot, ".mpw")) {
*mime = "application/vnd.exstream-empower+zip";
return 1;
}
else if (!strcmp(dot, ".pub")) {
*mime = "application/x-mspublisher";
return 1;
}
else if (!strcmp(dot, ".ecigprofile")) {
*mime = "application/vnd.evolv.ecig.profile";
return 1;
}
else if (!strcmp(dot, ".ecig")) {
*mime = "application/vnd.evolv.ecig.settings";
return 1;
}
else if (!strcmp(dot, ".ecigtheme")) {
*mime = "application/vnd.evolv.ecig.theme";
return 1;
}
else if (!strcmp(dot, ".ez2")) {
*mime = "application/vnd.ezpix-album";
return 1;
}
else if (!strcmp(dot, ".ez3")) {
*mime = "application/vnd.ezpix-package";
return 1;
}
else if (!strcmp(dot, ".dim")) {
*mime = "application/vnd.fastcopy-disk-image";
return 1;
}
else if (!strcmp(dot, ".fdf")) {
*mime = "application/vnd.fdf";
return 1;
}
else if (!strcmp(dot, ".msd")) {
*mime = "application/vnd.fdsn.mseed";
return 1;
}
else if (!strcmp(dot, ".mseed")) {
*mime = "application/vnd.fdsn.mseed";
return 1;
}
else if (!strcmp(dot, ".seed")) {
*mime = "application/vnd.fdsn.seed";
return 1;
}
else if (!strcmp(dot, ".dataless")) {
*mime = "application/vnd.fdsn.seed";
return 1;
}
else if (!strcmp(dot, ".flb")) {
*mime = "application/vnd.ficlab.flb+zip";
return 1;
}
else if (!strcmp(dot, ".zfc")) {
*mime = "application/vnd.filmit.zfc";
return 1;
}
else if (!strcmp(dot, ".gph")) {
*mime = "application/vnd.flographit";
return 1;
}
else if (!strcmp(dot, ".ftc")) {
*mime = "application/vnd.fluxtime.clip";
return 1;
}
else if (!strcmp(dot, ".sfd")) {
*mime = "application/vnd.font-fontforge-sfd";
return 1;
}
else if (!strcmp(dot, ".fm")) {
*mime = "application/vnd.framemaker";
return 1;
}
else if (!strcmp(dot, ".fnc")) {
*mime = "application/vnd.frogans.fnc";
return 1;
}
else if (!strcmp(dot, ".ltf")) {
*mime = "application/vnd.frogans.ltf";
return 1;
}
else if (!strcmp(dot, ".fsc")) {
*mime = "application/vnd.fsc.weblaunch";
return 1;
}
else if (!strcmp(dot, ".oas")) {
*mime = "application/vnd.fujitsu.oasys";
return 1;
}
else if (!strcmp(dot, ".oa2")) {
*mime = "application/vnd.fujitsu.oasys2";
return 1;
}
else if (!strcmp(dot, ".oa3")) {
*mime = "application/vnd.fujitsu.oasys3";
return 1;
}
else if (!strcmp(dot, ".fg5")) {
*mime = "application/vnd.fujitsu.oasysgp";
return 1;
}
else if (!strcmp(dot, ".bh2")) {
*mime = "application/vnd.fujitsu.oasysprs";
return 1;
}
else if (!strcmp(dot, ".ddd")) {
*mime = "application/vnd.fujixerox.ddd";
return 1;
}
else if (!strcmp(dot, ".xdw")) {
*mime = "application/vnd.fujixerox.docuworks";
return 1;
}
else if (!strcmp(dot, ".xbd")) {
*mime = "application/vnd.fujixerox.docuworks.binder";
return 1;
}
else if (!strcmp(dot, ".xct")) {
*mime = "application/vnd.fujixerox.docuworks.container";
return 1;
}
else if (!strcmp(dot, ".fzs")) {
*mime = "application/vnd.fuzzysheet";
return 1;
}
else if (!strcmp(dot, ".txd")) {
*mime = "application/vnd.genomatix.tuxedo";
return 1;
}
else if (!strcmp(dot, ".g3")) {
*mime = "image/g3fax";
return 1;
}
else if (!strcmp(dot, ".g³")) {
*mime = "application/vnd.geocube+xml";
return 1;
}
else if (!strcmp(dot, ".ggb")) {
*mime = "application/vnd.geogebra.file";
return 1;
}
else if (!strcmp(dot, ".ggs")) {
*mime = "application/vnd.geogebra.slides";
return 1;
}
else if (!strcmp(dot, ".ggt")) {
*mime = "application/vnd.geogebra.tool";
return 1;
}
else if (!strcmp(dot, ".gex")) {
*mime = "application/vnd.geometry-explorer";
return 1;
}
else if (!strcmp(dot, ".gre")) {
*mime = "application/vnd.geometry-explorer";
return 1;
}
else if (!strcmp(dot, ".gxt")) {
*mime = "application/vnd.geonext";
return 1;
}
else if (!strcmp(dot, ".g2w")) {
*mime = "application/vnd.geoplan";
return 1;
}
else if (!strcmp(dot, ".g3w")) {
*mime = "application/vnd.geospace";
return 1;
}
else if (!strcmp(dot, ".gmx")) {
*mime = "application/vnd.gmx";
return 1;
}
else if (!strcmp(dot, ".kml")) {
*mime = "application/vnd.google-earth.kml+xml";
return 1;
}
else if (!strcmp(dot, ".kmz")) {
*mime = "application/vnd.google-earth.kmz";
return 1;
}
else if (!strcmp(dot, ".gqf")) {
*mime = "application/vnd.grafeq";
return 1;
}
else if (!strcmp(dot, ".gqs")) {
*mime = "application/vnd.grafeq";
return 1;
}
else if (!strcmp(dot, ".gac")) {
*mime = "application/vnd.groove-account";
return 1;
}
else if (!strcmp(dot, ".ghf")) {
*mime = "application/vnd.groove-help";
return 1;
}
else if (!strcmp(dot, ".gim")) {
*mime = "application/vnd.groove-identity-message";
return 1;
}
else if (!strcmp(dot, ".grv")) {
*mime = "application/vnd.groove-injector";
return 1;
}
else if (!strcmp(dot, ".gtm")) {
*mime = "application/vnd.groove-tool-message";
return 1;
}
else if (!strcmp(dot, ".tpl")) {
*mime = "application/vnd.groove-tool-template";
return 1;
}
else if (!strcmp(dot, ".vcg")) {
*mime = "application/vnd.groove-vcard";
return 1;
}
else if (!strcmp(dot, ".hal")) {
*mime = "application/vnd.hal+xml";
return 1;
}
else if (!strcmp(dot, ".zmm")) {
*mime = "application/vnd.handheld-entertainment+xml";
return 1;
}
else if (!strcmp(dot, ".hbci")) {
*mime = "application/vnd.hbci";
return 1;
}
else if (!strcmp(dot, ".hbc")) {
*mime = "application/vnd.hbci";
return 1;
}
else if (!strcmp(dot, ".kom")) {
*mime = "application/vnd.hbci";
return 1;
}
else if (!strcmp(dot, ".upa")) {
*mime = "application/vnd.hbci";
return 1;
}
else if (!strcmp(dot, ".pkd")) {
*mime = "application/vnd.hbci";
return 1;
}
else if (!strcmp(dot, ".bpd")) {
*mime = "application/vnd.hbci";
return 1;
}
else if (!strcmp(dot, ".hdt")) {
*mime = "application/vnd.hdt";
return 1;
}
else if (!strcmp(dot, ".les")) {
*mime = "application/vnd.hhe.lesson-player";
return 1;
}
else if (!strcmp(dot, ".hpgl")) {
*mime = "application/vnd.hp-hpgl";
return 1;
}
else if (!strcmp(dot, ".hpi")) {
*mime = "application/vnd.hp-hpid";
return 1;
}
else if (!strcmp(dot, ".hpid")) {
*mime = "application/vnd.hp-hpid";
return 1;
}
else if (!strcmp(dot, ".hps")) {
*mime = "application/vnd.hp-hps";
return 1;
}
else if (!strcmp(dot, ".jlt")) {
*mime = "application/vnd.hp-jlyt";
return 1;
}
else if (!strcmp(dot, ".pcl")) {
*mime = "application/vnd.hp-pcl";
return 1;
}
else if (!strcmp(dot, ".sfd-hdstx")) {
*mime = "application/vnd.hydrostatix.sof-data";
return 1;
}
else if (!strcmp(dot, ".x3d")) {
*mime = "model/x3d+xml";
return 1;
}
else if (!strcmp(dot, ".emm")) {
*mime = "application/vnd.ibm.electronic-media";
return 1;
}
else if (!strcmp(dot, ".mpy")) {
*mime = "application/vnd.ibm.minipay";
return 1;
}
else if (!strcmp(dot, ".irm")) {
*mime = "application/vnd.ibm.rights-management";
return 1;
}
else if (!strcmp(dot, ".sc")) {
*mime = "application/vnd.ibm.secure-container";
return 1;
}
else if (!strcmp(dot, ".icc")) {
*mime = "application/vnd.iccprofile";
return 1;
}
else if (!strcmp(dot, ".icm")) {
*mime = "application/vnd.iccprofile";
return 1;
}
else if (!strcmp(dot, ".1905.1")) {
*mime = "application/vnd.ieee.1905";
return 1;
}
else if (!strcmp(dot, ".igl")) {
*mime = "application/vnd.igloader";
return 1;
}
else if (!strcmp(dot, ".imf")) {
*mime = "application/vnd.imagemeter.folder+zip";
return 1;
}
else if (!strcmp(dot, ".imi")) {
*mime = "application/vnd.imagemeter.image+zip";
return 1;
}
else if (!strcmp(dot, ".ivp")) {
*mime = "application/vnd.immervision-ivp";
return 1;
}
else if (!strcmp(dot, ".ivu")) {
*mime = "application/vnd.immervision-ivu";
return 1;
}
else if (!strcmp(dot, ".imscc")) {
*mime = "application/vnd.ims.imsccv1p1";
return 1;
}
else if (!strcmp(dot, ".igm")) {
*mime = "application/vnd.insors.igm";
return 1;
}
else if (!strcmp(dot, ".xpw")) {
*mime = "application/vnd.intercon.formnet";
return 1;
}
else if (!strcmp(dot, ".xpx")) {
*mime = "application/vnd.intercon.formnet";
return 1;
}
else if (!strcmp(dot, ".i2g")) {
*mime = "application/vnd.intergeo";
return 1;
}
else if (!strcmp(dot, ".qbo")) {
*mime = "application/vnd.intu.qbo";
return 1;
}
else if (!strcmp(dot, ".qfx")) {
*mime = "application/vnd.intu.qfx";
return 1;
}
else if (!strcmp(dot, ".rcprofile")) {
*mime = "application/vnd.ipunplugged.rcprofile";
return 1;
}
else if (!strcmp(dot, ".irp")) {
*mime = "application/vnd.irepository.package+xml";
return 1;
}
else if (!strcmp(dot, ".xpr")) {
*mime = "application/vnd.is-xpr";
return 1;
}
else if (!strcmp(dot, ".fcs")) {
*mime = "application/vnd.isac.fcs";
return 1;
}
else if (!strcmp(dot, ".jam")) {
*mime = "application/vnd.jam";
return 1;
}
else if (!strcmp(dot, ".rms")) {
*mime = "application/vnd.jcp.javame.midlet-rms";
return 1;
}
else if (!strcmp(dot, ".jisp")) {
*mime = "application/vnd.jisp";
return 1;
}
else if (!strcmp(dot, ".joda")) {
*mime = "application/vnd.joost.joda-archive";
return 1;
}
else if (!strcmp(dot, ".ktz")) {
*mime = "application/vnd.kahootz";
return 1;
}
else if (!strcmp(dot, ".ktr")) {
*mime = "application/vnd.kahootz";
return 1;
}
else if (!strcmp(dot, ".karbon")) {
*mime = "application/vnd.kde.karbon";
return 1;
}
else if (!strcmp(dot, ".chrt")) {
*mime = "application/vnd.kde.kchart";
return 1;
}
else if (!strcmp(dot, ".kfo")) {
*mime = "application/vnd.kde.kformula";
return 1;
}
else if (!strcmp(dot, ".flw")) {
*mime = "application/vnd.kde.kivio";
return 1;
}
else if (!strcmp(dot, ".kon")) {
*mime = "application/vnd.kde.kontour";
return 1;
}
else if (!strcmp(dot, ".kpr")) {
*mime = "application/vnd.kde.kpresenter";
return 1;
}
else if (!strcmp(dot, ".kpt")) {
*mime = "application/vnd.kde.kpresenter";
return 1;
}
else if (!strcmp(dot, ".ksp")) {
*mime = "application/vnd.kde.kspread";
return 1;
}
else if (!strcmp(dot, ".kwd")) {
*mime = "application/vnd.kde.kword";
return 1;
}
else if (!strcmp(dot, ".kwt")) {
*mime = "application/vnd.kde.kword";
return 1;
}
else if (!strcmp(dot, ".htke")) {
*mime = "application/vnd.kenameaapp";
return 1;
}
else if (!strcmp(dot, ".kia")) {
*mime = "application/vnd.kidspiration";
return 1;
}
else if (!strcmp(dot, ".kne")) {
*mime = "application/vnd.kinar";
return 1;
}
else if (!strcmp(dot, ".knp")) {
*mime = "application/vnd.kinar";
return 1;
}
else if (!strcmp(dot, ".sdf")) {
*mime = "application/vnd.Kinar";
return 1;
}
else if (!strcmp(dot, ".skp")) {
*mime = "application/vnd.koan";
return 1;
}
else if (!strcmp(dot, ".skd")) {
*mime = "application/vnd.koan";
return 1;
}
else if (!strcmp(dot, ".skm")) {
*mime = "application/vnd.koan";
return 1;
}
else if (!strcmp(dot, ".skt")) {
*mime = "application/vnd.koan";
return 1;
}
else if (!strcmp(dot, ".sse")) {
*mime = "application/vnd.kodak-descriptor";
return 1;
}
else if (!strcmp(dot, ".las")) {
*mime = "application/vnd.las";
return 1;
}
else if (!strcmp(dot, ".lasjson")) {
*mime = "application/vnd.las.las+json";
return 1;
}
else if (!strcmp(dot, ".lasxml")) {
*mime = "application/vnd.las.las+xml";
return 1;
}
else if (!strcmp(dot, ".lbd")) {
*mime = "application/vnd.llamagraphics.life-balance.desktop";
return 1;
}
else if (!strcmp(dot, ".lbe")) {
*mime = "application/vnd.llamagraphics.life-balance.exchange+xml";
return 1;
}
else if (!strcmp(dot, ".lcs")) {
*mime = "application/vnd.logipipe.circuit+zip";
return 1;
}
else if (!strcmp(dot, ".lca")) {
*mime = "application/vnd.logipipe.circuit+zip";
return 1;
}
else if (!strcmp(dot, ".loom")) {
*mime = "application/vnd.loom";
return 1;
}
else if (!strcmp(dot, ".123")) {
*mime = "application/vnd.lotus-1-2-3";
return 1;
}
else if (!strcmp(dot, ".wk4")) {
*mime = "application/vnd.lotus-1-2-3";
return 1;
}
else if (!strcmp(dot, ".wk3")) {
*mime = "application/vnd.lotus-1-2-3";
return 1;
}
else if (!strcmp(dot, ".wk1")) {
*mime = "application/vnd.lotus-1-2-3";
return 1;
}
else if (!strcmp(dot, ".apr")) {
*mime = "application/vnd.lotus-approach";
return 1;
}
else if (!strcmp(dot, ".vew")) {
*mime = "application/vnd.lotus-approach";
return 1;
}
else if (!strcmp(dot, ".prz")) {
*mime = "application/vnd.lotus-freelance";
return 1;
}
else if (!strcmp(dot, ".pre")) {
*mime = "application/vnd.lotus-freelance";
return 1;
}
else if (!strcmp(dot, ".nsf")) {
*mime = "application/vnd.lotus-notes";
return 1;
}
else if (!strcmp(dot, ".ntf")) {
*mime = "application/vnd.nitf";
return 1;
}
else if (!strcmp(dot, ".ndl")) {
*mime = "application/vnd.lotus-notes";
return 1;
}
else if (!strcmp(dot, ".ns4")) {
*mime = "application/vnd.lotus-notes";
return 1;
}
else if (!strcmp(dot, ".ns3")) {
*mime = "application/vnd.lotus-notes";
return 1;
}
else if (!strcmp(dot, ".ns2")) {
*mime = "application/vnd.lotus-notes";
return 1;
}
else if (!strcmp(dot, ".nsh")) {
*mime = "application/vnd.lotus-notes";
return 1;
}
else if (!strcmp(dot, ".nsg")) {
*mime = "application/vnd.lotus-notes";
return 1;
}
else if (!strcmp(dot, ".or3")) {
*mime = "application/vnd.lotus-organizer";
return 1;
}
else if (!strcmp(dot, ".or2")) {
*mime = "application/vnd.lotus-organizer";
return 1;
}
else if (!strcmp(dot, ".org")) {
*mime = "application/vnd.lotus-organizer";
return 1;
}
else if (!strcmp(dot, ".scm")) {
*mime = "application/vnd.lotus-screencam";
return 1;
}
else if (!strcmp(dot, ".lwp")) {
*mime = "application/vnd.lotus-wordpro";
return 1;
}
else if (!strcmp(dot, ".sam")) {
*mime = "application/vnd.lotus-wordpro";
return 1;
}
else if (!strcmp(dot, ".portpkg")) {
*mime = "application/vnd.macports.portpkg";
return 1;
}
else if (!strcmp(dot, ".mvt")) {
*mime = "application/vnd.mapbox-vector-tile";
return 1;
}
else if (!strcmp(dot, ".mdc")) {
*mime = "application/vnd.marlin.drm.mdcf";
return 1;
}
else if (!strcmp(dot, ".mmdb")) {
*mime = "application/vnd.maxmind.maxmind-db";
return 1;
}
else if (!strcmp(dot, ".mcd")) {
*mime = "application/vnd.mcd";
return 1;
}
else if (!strcmp(dot, ".mc1")) {
*mime = "application/vnd.medcalcdata";
return 1;
}
else if (!strcmp(dot, ".cdkey")) {
*mime = "application/vnd.mediastation.cdkey";
return 1;
}
else if (!strcmp(dot, ".mwf")) {
*mime = "application/vnd.mfer";
return 1;
}
else if (!strcmp(dot, ".mfm")) {
*mime = "application/vnd.mfmp";
return 1;
}
else if (!strcmp(dot, ".flo")) {
*mime = "application/vnd.micrografx.flo";
return 1;
}
else if (!strcmp(dot, ".igx")) {
*mime = "application/vnd.micrografx.igx";
return 1;
}
else if (!strcmp(dot, ".daf")) {
*mime = "application/vnd.mobius.daf";
return 1;
}
else if (!strcmp(dot, ".dis")) {
*mime = "application/vnd.mobius.dis";
return 1;
}
else if (!strcmp(dot, ".mbk")) {
*mime = "application/vnd.mobius.mbk";
return 1;
}
else if (!strcmp(dot, ".mqy")) {
*mime = "application/vnd.mobius.mqy";
return 1;
}
else if (!strcmp(dot, ".msl")) {
*mime = "application/vnd.mobius.msl";
return 1;
}
else if (!strcmp(dot, ".plc")) {
*mime = "application/vnd.mobius.plc";
return 1;
}
else if (!strcmp(dot, ".txf")) {
*mime = "application/vnd.mobius.txf";
return 1;
}
else if (!strcmp(dot, ".mpn")) {
*mime = "application/vnd.mophun.application";
return 1;
}
else if (!strcmp(dot, ".mpc")) {
*mime = "application/vnd.mophun.certificate";
return 1;
}
else if (!strcmp(dot, ".xul")) {
*mime = "application/vnd.mozilla.xul+xml";
return 1;
}
else if (!strcmp(dot, ".3mf")) {
*mime = "application/vnd.ms-3mfdocument";
return 1;
}
else if (!strcmp(dot, ".cil")) {
*mime = "application/vnd.ms-artgalry";
return 1;
}
else if (!strcmp(dot, ".asf")) {
*mime = "video/x-ms-asf";
return 1;
}
else if (!strcmp(dot, ".cab")) {
*mime = "application/vnd.ms-cab-compressed";
return 1;
}
else if (!strcmp(dot, ".xlm")) {
*mime = "application/vnd.ms-excel";
return 1;
}
else if (!strcmp(dot, ".xla")) {
*mime = "application/vnd.ms-excel";
return 1;
}
else if (!strcmp(dot, ".xlc")) {
*mime = "application/vnd.ms-excel";
return 1;
}
else if (!strcmp(dot, ".xlt")) {
*mime = "application/vnd.ms-excel";
return 1;
}
else if (!strcmp(dot, ".xlw")) {
*mime = "application/vnd.ms-excel";
return 1;
}
else if (!strcmp(dot, ".xltm")) {
*mime = "application/vnd.ms-excel.template.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".xlam")) {
*mime = "application/vnd.ms-excel.addin.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".xlsb")) {
*mime = "application/vnd.ms-excel.sheet.binary.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".xlsm")) {
*mime = "application/vnd.ms-excel.sheet.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".eot")) {
*mime = "application/vnd.ms-fontobject";
return 1;
}
else if (!strcmp(dot, ".chm")) {
*mime = "application/vnd.ms-htmlhelp";
return 1;
}
else if (!strcmp(dot, ".ims")) {
*mime = "application/vnd.ms-ims";
return 1;
}
else if (!strcmp(dot, ".lrm")) {
*mime = "application/vnd.ms-lrm";
return 1;
}
else if (!strcmp(dot, ".thmx")) {
*mime = "application/vnd.ms-officetheme";
return 1;
}
else if (!strcmp(dot, ".ppam")) {
*mime = "application/vnd.ms-powerpoint.addin.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".pptm")) {
*mime = "application/vnd.ms-powerpoint.presentation.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".sldm")) {
*mime = "application/vnd.ms-powerpoint.slide.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".ppsm")) {
*mime = "application/vnd.ms-powerpoint.slideshow.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".potm")) {
*mime = "application/vnd.ms-powerpoint.template.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".mpp")) {
*mime = "application/vnd.ms-project";
return 1;
}
else if (!strcmp(dot, ".mpt")) {
*mime = "application/vnd.ms-project";
return 1;
}
else if (!strcmp(dot, ".tnef")) {
*mime = "application/vnd.ms-tnef";
return 1;
}
else if (!strcmp(dot, ".tnf")) {
*mime = "application/vnd.ms-tnef";
return 1;
}
else if (!strcmp(dot, ".docm")) {
*mime = "application/vnd.ms-word.document.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".dotm")) {
*mime = "application/vnd.ms-word.template.macroenabled.12";
return 1;
}
else if (!strcmp(dot, ".wcm")) {
*mime = "application/vnd.ms-works";
return 1;
}
else if (!strcmp(dot, ".wdb")) {
*mime = "application/vnd.ms-works";
return 1;
}
else if (!strcmp(dot, ".wks")) {
*mime = "application/vnd.ms-works";
return 1;
}
else if (!strcmp(dot, ".wps")) {
*mime = "application/vnd.ms-works";
return 1;
}
else if (!strcmp(dot, ".wpl")) {
*mime = "application/vnd.ms-wpl";
return 1;
}
else if (!strcmp(dot, ".xps")) {
*mime = "application/vnd.ms-xpsdocument";
return 1;
}
else if (!strcmp(dot, ".msa")) {
*mime = "application/vnd.msa-disk-image";
return 1;
}
else if (!strcmp(dot, ".mseq")) {
*mime = "application/vnd.mseq";
return 1;
}
else if (!strcmp(dot, ".crtr")) {
*mime = "application/vnd.multiad.creator";
return 1;
}
else if (!strcmp(dot, ".cif")) {
*mime = "chemical/x-cif";
return 1;
}
else if (!strcmp(dot, ".mus")) {
*mime = "application/vnd.musician";
return 1;
}
else if (!strcmp(dot, ".msty")) {
*mime = "application/vnd.muvee.style";
return 1;
}
else if (!strcmp(dot, ".taglet")) {
*mime = "application/vnd.mynfc";
return 1;
}
else if (!strcmp(dot, ".nebul")) {
*mime = "application/vnd.nebumind.line";
return 1;
}
else if (!strcmp(dot, ".line")) {
*mime = "application/vnd.nebumind.line";
return 1;
}
else if (!strcmp(dot, ".entity")) {
*mime = "application/vnd.nervana";
return 1;
}
else if (!strcmp(dot, ".request")) {
*mime = "application/vnd.nervana";
return 1;
}
else if (!strcmp(dot, ".bkm")) {
*mime = "application/vnd.nervana";
return 1;
}
else if (!strcmp(dot, ".kcm")) {
*mime = "application/vnd.nervana";
return 1;
}
else if (!strcmp(dot, ".nimn")) {
*mime = "application/vnd.nimn";
return 1;
}
else if (!strcmp(dot, ".nitf")) {
*mime = "application/vnd.nitf";
return 1;
}
else if (!strcmp(dot, ".nlu")) {
*mime = "application/vnd.neurolanguage.nlu";
return 1;
}
else if (!strcmp(dot, ".nds")) {
*mime = "application/vnd.nintendo.nitro.rom";
return 1;
}
else if (!strcmp(dot, ".sfc")) {
*mime = "application/vnd.nintendo.snes.rom";
return 1;
}
else if (!strcmp(dot, ".smc")) {
*mime = "application/vnd.nintendo.snes.rom";
return 1;
}
else if (!strcmp(dot, ".nnd")) {
*mime = "application/vnd.noblenet-directory";
return 1;
}
else if (!strcmp(dot, ".nns")) {
*mime = "application/vnd.noblenet-sealer";
return 1;
}
else if (!strcmp(dot, ".nnw")) {
*mime = "application/vnd.noblenet-web";
return 1;
}
else if (!strcmp(dot, ".ac")) {
*mime = "application/pkix-attr-cert";
return 1;
}
else if (!strcmp(dot, ".ngdat")) {
*mime = "application/vnd.nokia.n-gage.data";
return 1;
}
else if (!strcmp(dot, ".n-gage")) {
*mime = "application/vnd.nokia.n-gage.symbian.install";
return 1;
}
else if (!strcmp(dot, ".rpst")) {
*mime = "application/vnd.nokia.radio-preset";
return 1;
}
else if (!strcmp(dot, ".rpss")) {
*mime = "application/vnd.nokia.radio-presets";
return 1;
}
else if (!strcmp(dot, ".edm")) {
*mime = "application/vnd.novadigm.edm";
return 1;
}
else if (!strcmp(dot, ".edx")) {
*mime = "application/vnd.novadigm.edx";
return 1;
}
else if (!strcmp(dot, ".ext")) {
*mime = "application/vnd.novadigm.ext";
return 1;
}
else if (!strcmp(dot, ".odc")) {
*mime = "application/vnd.oasis.opendocument.chart";
return 1;
}
else if (!strcmp(dot, ".otc")) {
*mime = "application/vnd.oasis.opendocument.chart-template";
return 1;
}
else if (!strcmp(dot, ".odb")) {
*mime = "application/vnd.oasis.opendocument.database";
return 1;
}
else if (!strcmp(dot, ".odf")) {
*mime = "application/vnd.oasis.opendocument.formula";
return 1;
}
else if (!strcmp(dot, ".odg")) {
*mime = "application/vnd.oasis.opendocument.graphics";
return 1;
}
else if (!strcmp(dot, ".otg")) {
*mime = "application/vnd.oasis.opendocument.graphics-template";
return 1;
}
else if (!strcmp(dot, ".odi")) {
*mime = "application/vnd.oasis.opendocument.image";
return 1;
}
else if (!strcmp(dot, ".oti")) {
*mime = "application/vnd.oasis.opendocument.image-template";
return 1;
}
else if (!strcmp(dot, ".odp")) {
*mime = "application/vnd.oasis.opendocument.presentation";
return 1;
}
else if (!strcmp(dot, ".otp")) {
*mime = "application/vnd.oasis.opendocument.presentation-template";
return 1;
}
else if (!strcmp(dot, ".ods")) {
*mime = "application/vnd.oasis.opendocument.spreadsheet";
return 1;
}
else if (!strcmp(dot, ".ots")) {
*mime = "application/vnd.oasis.opendocument.spreadsheet-template";
return 1;
}
else if (!strcmp(dot, ".odt")) {
*mime = "application/vnd.oasis.opendocument.text";
}
else if (!strcmp(dot, ".odm")) {
*mime = "application/vnd.oasis.opendocument.text-master";
}
else if (!strcmp(dot, ".ott")) {
*mime = "application/vnd.oasis.opendocument.text-template";
}
else if (!strcmp(dot, ".oth")) {
*mime = "application/vnd.oasis.opendocument.text-web";
}
else if (!strcmp(dot, ".xo")) {
*mime = "application/vnd.olpc-sugar";
return 1;
}
else if (!strcmp(dot, ".dd2")) {
*mime = "application/vnd.oma.dd2+xml";
return 1;
}
else if (!strcmp(dot, ".tam")) {
*mime = "application/vnd.onepager";
return 1;
}
else if (!strcmp(dot, ".tamp")) {
*mime = "application/vnd.onepagertamp";
return 1;
}
else if (!strcmp(dot, ".tamx")) {
*mime = "application/vnd.onepagertamx";
return 1;
}
else if (!strcmp(dot, ".tat")) {
*mime = "application/vnd.onepagertat";
return 1;
}
else if (!strcmp(dot, ".tatp")) {
*mime = "application/vnd.onepagertatp";
return 1;
}
else if (!strcmp(dot, ".tatx")) {
*mime = "application/vnd.onepagertatx";
return 1;
}
else if (!strcmp(dot, ".obgx")) {
*mime = "application/vnd.openblox.game+xml";
return 1;
}
else if (!strcmp(dot, ".obg")) {
*mime = "application/vnd.openblox.game-binary";
return 1;
}
else if (!strcmp(dot, ".oeb")) {
*mime = "application/vnd.openeye.oeb";
return 1;
}
else if (!strcmp(dot, ".oxt")) {
*mime = "application/vnd.openofficeorg.extension";
return 1;
}
else if (!strcmp(dot, ".osm")) {
*mime = "application/vnd.openstreetmap.data+xml";
return 1;
}
else if (!strcmp(dot, ".pptx")) {
*mime = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
return 1;
}
else if (!strcmp(dot, ".sldx")) {
*mime = "application/vnd.openxmlformats-officedocument.presentationml.slide";
return 1;
}
else if (!strcmp(dot, ".ppsx")) {
*mime = "application/vnd.openxmlformats-officedocument.presentationml.slideshow";
return 1;
}
else if (!strcmp(dot, ".potx")) {
*mime = "application/vnd.openxmlformats-officedocument.presentationml.template";
return 1;
}
else if (!strcmp(dot, ".xlsx")) {
*mime = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
return 1;
}
else if (!strcmp(dot, ".xltx")) {
*mime = "application/vnd.openxmlformats-officedocument.spreadsheetml.template";
return 1;
}
else if (!strcmp(dot, ".docx")) {
*mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
return 1;
}
else if (!strcmp(dot, ".dotx")) {
*mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.template";
return 1;
}
else if (!strcmp(dot, ".ndc")) {
*mime = "application/vnd.osa.netdeploy";
return 1;
}
else if (!strcmp(dot, ".mgp")) {
*mime = "application/vnd.osgeo.mapguide.package";
return 1;
}
else if (!strcmp(dot, ".dp")) {
*mime = "application/vnd.osgi.dp";
return 1;
}
else if (!strcmp(dot, ".esa")) {
*mime = "application/vnd.osgi.subsystem";
return 1;
}
else if (!strcmp(dot, ".oxlicg")) {
*mime = "application/vnd.oxli.countgraph";
return 1;
}
else if (!strcmp(dot, ".prc")) {
*mime = "application/x-mobipocket-ebook";
return 1;
}
else if (!strcmp(dot, ".pdb")) {
*mime = "application/vnd.palm";
return 1;
}
else if (!strcmp(dot, ".pqa")) {
*mime = "application/vnd.palm";
return 1;
}
else if (!strcmp(dot, ".oprc")) {
*mime = "application/vnd.palm";
return 1;
}
else if (!strcmp(dot, ".plp")) {
*mime = "application/vnd.panoply";
return 1;
}
else if (!strcmp(dot, ".dive")) {
*mime = "application/vnd.patentdive";
return 1;
}
else if (!strcmp(dot, ".paw")) {
*mime = "application/vnd.pawaafile";
return 1;
}
else if (!strcmp(dot, ".str")) {
*mime = "application/vnd.pg.format";
return 1;
}
else if (!strcmp(dot, ".ei6")) {
*mime = "application/vnd.pg.osasli";
return 1;
}
else if (!strcmp(dot, ".pil")) {
*mime = "application/vnd.piaccess.application-licence";
return 1;
}
else if (!strcmp(dot, ".efif")) {
*mime = "application/vnd.picsel";
return 1;
}
else if (!strcmp(dot, ".wg")) {
*mime = "application/vnd.pmi.widget";
return 1;
}
else if (!strcmp(dot, ".plf")) {
*mime = "application/vnd.pocketlearn";
return 1;
}
else if (!strcmp(dot, ".pbd")) {
*mime = "application/vnd.powerbuilder6";
return 1;
}
else if (!strcmp(dot, ".preminet")) {
*mime = "application/vnd.preminet";
return 1;
}
else if (!strcmp(dot, ".box")) {
*mime = "application/vnd.previewsystems.box";
return 1;
}
else if (!strcmp(dot, ".vbox")) {
*mime = "application/vnd.previewsystems.box";
return 1;
}
else if (!strcmp(dot, ".mgz")) {
*mime = "application/vnd.proteus.magazine";
return 1;
}
else if (!strcmp(dot, ".psfs")) {
*mime = "application/vnd.psfs";
return 1;
}
else if (!strcmp(dot, ".qps")) {
*mime = "application/vnd.publishare-delta-tree";
return 1;
}
else if (!strcmp(dot, ".ptid")) {
*mime = "application/vnd.pvi.ptid1";
return 1;
}
else if (!strcmp(dot, ".bar")) {
*mime = "application/vnd.qualcomm.brew-app-res";
return 1;
}
else if (!strcmp(dot, ".qxd")) {
*mime = "application/vnd.quark.quarkxpress";
return 1;
}
else if (!strcmp(dot, ".qxt")) {
*mime = "application/vnd.quark.quarkxpress";
return 1;
}
else if (!strcmp(dot, ".qwd")) {
*mime = "application/vnd.quark.quarkxpress";
return 1;
}
else if (!strcmp(dot, ".qwt")) {
*mime = "application/vnd.quark.quarkxpress";
return 1;
}
else if (!strcmp(dot, ".qxl")) {
*mime = "application/vnd.quark.quarkxpress";
return 1;
}
else if (!strcmp(dot, ".qxb")) {
*mime = "application/vnd.quark.quarkxpress";
return 1;
}
else if (!strcmp(dot, ".quox")) {
*mime = "application/vnd.quobject-quoxdocument";
return 1;
}
else if (!strcmp(dot, ".quiz")) {
*mime = "application/vnd.quobject-quoxdocument";
return 1;
}
else if (!strcmp(dot, ".tree")) {
*mime = "application/vnd.rainstor.data";
return 1;
}
else if (!strcmp(dot, ".rar")) {
*mime = "application/x-rar-compressed";
return 1;
}
else if (!strcmp(dot, ".bed")) {
*mime = "application/vnd.realvnc.bed";
return 1;
}
else if (!strcmp(dot, ".mxl")) {
*mime = "application/vnd.recordare.musicxml";
return 1;
}
else if (!strcmp(dot, ".cryptonote")) {
*mime = "application/vnd.rig.cryptonote";
return 1;
}
else if (!strcmp(dot, ".link66")) {
*mime = "application/vnd.route66.link66+xml";
return 1;
}
else if (!strcmp(dot, ".st")) {
*mime = "application/vnd.sailingtracker.track";
return 1;
}
else if (!strcmp(dot, ".SAR")) {
*mime = "application/vnd.sar";
return 1;
}
else if (!strcmp(dot, ".scd")) {
*mime = "application/x-msschedule";
return 1;
}
else if (!strcmp(dot, ".sla")) {
*mime = "application/vnd.scribus";
return 1;
}
else if (!strcmp(dot, ".slaz")) {
*mime = "application/vnd.scribus";
return 1;
}
else if (!strcmp(dot, ".s3df")) {
*mime = "application/vnd.sealed.3df";
return 1;
}
else if (!strcmp(dot, ".scsf")) {
*mime = "application/vnd.sealed.csf";
return 1;
}
else if (!strcmp(dot, ".sdoc")) {
*mime = "application/vnd.sealed.doc";
return 1;
}
else if (!strcmp(dot, ".sdo")) {
*mime = "application/vnd.sealed.doc";
return 1;
}
else if (!strcmp(dot, ".s1w")) {
*mime = "application/vnd.sealed.doc";
return 1;
}
else if (!strcmp(dot, ".seml")) {
*mime = "application/vnd.sealed.eml";
return 1;
}
else if (!strcmp(dot, ".sem")) {
*mime = "application/vnd.sealed.eml";
return 1;
}
else if (!strcmp(dot, ".smht")) {
*mime = "application/vnd.sealed.mht";
return 1;
}
else if (!strcmp(dot, ".smh")) {
*mime = "application/vnd.sealed.mht";
return 1;
}
else if (!strcmp(dot, ".sppt")) {
*mime = "application/vnd.sealed.ppt";
return 1;
}
else if (!strcmp(dot, ".s1p")) {
*mime = "application/vnd.sealed.ppt";
return 1;
}
else if (!strcmp(dot, ".stif")) {
*mime = "application/vnd.sealed.tiff";
return 1;
}
else if (!strcmp(dot, ".sxls")) {
*mime = "application/vnd.sealed.xls";
return 1;
}
else if (!strcmp(dot, ".sxl")) {
*mime = "application/vnd.sealed.xls";
return 1;
}
else if (!strcmp(dot, ".s1e")) {
*mime = "application/vnd.sealed.xls";
return 1;
}
else if (!strcmp(dot, ".stml")) {
*mime = "application/vnd.sealedmedia.softseal.html";
return 1;
}
else if (!strcmp(dot, ".s1h")) {
*mime = "application/vnd.sealedmedia.softseal.html";
return 1;
}
else if (!strcmp(dot, ".spdf")) {
*mime = "application/vnd.sealedmedia.softseal.pdf";
return 1;
}
else if (!strcmp(dot, ".spd")) {
*mime = "application/vnd.sealedmedia.softseal.pdf";
return 1;
}
else if (!strcmp(dot, ".s1a")) {
*mime = "application/vnd.sealedmedia.softseal.pdf";
return 1;
}
else if (!strcmp(dot, ".see")) {
*mime = "application/vnd.seemail";
return 1;
}
else if (!strcmp(dot, ".sema")) {
*mime = "application/vnd.sema";
return 1;
}
else if (!strcmp(dot, ".semd")) {
*mime = "application/vnd.semd";
return 1;
}
else if (!strcmp(dot, ".semf")) {
*mime = "application/vnd.semf";
return 1;
}
else if (!strcmp(dot, ".ssv")) {
*mime = "application/vnd.shade-save-file";
return 1;
}
else if (!strcmp(dot, ".ifm")) {
*mime = "application/vnd.shana.informed.formdata";
return 1;
}
else if (!strcmp(dot, ".itp")) {
*mime = "application/vnd.shana.informed.formtemplate";
return 1;
}
else if (!strcmp(dot, ".iif")) {
*mime = "application/vnd.shana.informed.interchange";
return 1;
}
else if (!strcmp(dot, ".ipk")) {
*mime = "application/vnd.shana.informed.package";
return 1;
}
else if (!strcmp(dot, ".shp")) {
*mime = "application/vnd.shp";
return 1;
}
else if (!strcmp(dot, ".shx")) {
*mime = "application/vnd.shx";
return 1;
}
else if (!strcmp(dot, ".sr")) {
*mime = "application/vnd.sigrok.session";
return 1;
}
else if (!strcmp(dot, ".twd")) {
*mime = "application/vnd.simtech-mindmapper";
return 1;
}
else if (!strcmp(dot, ".twds")) {
*mime = "application/vnd.simtech-mindmapper";
return 1;
}
else if (!strcmp(dot, ".mmf")) {
*mime = "application/vnd.smaf";
return 1;
}
else if (!strcmp(dot, ".notebook")) {
*mime = "application/vnd.smart.notebook";
return 1;
}
else if (!strcmp(dot, ".teacher")) {
*mime = "application/vnd.smart.teacher";
return 1;
}
else if (!strcmp(dot, ".ptrom")) {
*mime = "application/vnd.snesdev-page-table";
return 1;
}
else if (!strcmp(dot, ".pt")) {
*mime = "application/vnd.snesdev-page-table";
return 1;
}
else if (!strcmp(dot, ".fo")) {
*mime = "application/vnd.software602.filler.form+xml";
return 1;
}
else if (!strcmp(dot, ".zfo")) {
*mime = "application/vnd.software602.filler.form-xml-zip";
return 1;
}
else if (!strcmp(dot, ".sdkm")) {
*mime = "application/vnd.solent.sdkm+xml";
return 1;
}
else if (!strcmp(dot, ".sdkd")) {
*mime = "application/vnd.solent.sdkm+xml";
return 1;
}
else if (!strcmp(dot, ".dxp")) {
*mime = "application/vnd.spotfire.dxp";
return 1;
}
else if (!strcmp(dot, ".sfs")) {
*mime = "application/vnd.spotfire.sfs";
return 1;
}
else if (!strcmp(dot, ".sqlite")) {
*mime = "application/vnd.sqlite3";
return 1;
}
else if (!strcmp(dot, ".sqlite3")) {
*mime = "application/vnd.sqlite3";
return 1;
}
else if (!strcmp(dot, ".smzip")) {
*mime = "application/vnd.stepmania.package";
return 1;
}
else if (!strcmp(dot, ".sm")) {
*mime = "application/vnd.stepmania.stepchart";
return 1;
}
else if (!strcmp(dot, ".wadl")) {
*mime = "application/vnd.sun.wadl+xml";
return 1;
}
else if (!strcmp(dot, ".sus")) {
*mime = "application/vnd.sus-calendar";
return 1;
}
else if (!strcmp(dot, ".susp")) {
*mime = "application/vnd.sus-calendar";
return 1;
}
else if (!strcmp(dot, ".scl")) {
*mime = "application/vnd.sycle+xml";
return 1;
}
else if (!strcmp(dot, ".xsm")) {
*mime = "application/vnd.syncml+xml";
return 1;
}
else if (!strcmp(dot, ".bdm")) {
*mime = "application/vnd.syncml.dm+wbxml";
return 1;
}
else if (!strcmp(dot, ".xdm")) {
*mime = "application/vnd.syncml.dm+xml";
return 1;
}
else if (!strcmp(dot, ".ddf")) {
*mime = "application/vnd.syncml.dmddf+xml";
return 1;
}
else if (!strcmp(dot, ".tao")) {
*mime = "application/vnd.tao.intent-module-archive";
return 1;
}
else if (!strcmp(dot, ".pcap")) {
*mime = "application/vnd.tcpdump.pcap";
return 1;
}
else if (!strcmp(dot, ".cap")) {
*mime = "application/vnd.tcpdump.pcap";
return 1;
}
else if (!strcmp(dot, ".dmp")) {
*mime = "application/vnd.tcpdump.pcap";
return 1;
}
else if (!strcmp(dot, ".qvd")) {
*mime = "application/vnd.theqvd";
return 1;
}
else if (!strcmp(dot, ".ppttc")) {
*mime = "application/vnd.think-cell.ppttc+json";
return 1;
}
else if (!strcmp(dot, ".vfr")) {
*mime = "application/vnd.tml";
return 1;
}
else if (!strcmp(dot, ".viaframe")) {
*mime = "application/vnd.tml";
return 1;
}
else if (!strcmp(dot, ".tmo")) {
*mime = "application/vnd.tmobile-livetv";
return 1;
}
else if (!strcmp(dot, ".tpt")) {
*mime = "application/vnd.trid.tpt";
return 1;
}
else if (!strcmp(dot, ".mxs")) {
*mime = "application/vnd.triscape.mxs";
return 1;
}
else if (!strcmp(dot, ".tra")) {
*mime = "application/vnd.trueapp";
return 1;
}
else if (!strcmp(dot, ".ufdl")) {
*mime = "application/vnd.ufdl";
return 1;
}
else if (!strcmp(dot, ".ufd")) {
*mime = "application/vnd.ufdl";
return 1;
}
else if (!strcmp(dot, ".frm")) {
*mime = "application/vnd.ufdl";
return 1;
}
else if (!strcmp(dot, ".utz")) {
*mime = "application/vnd.uiq.theme";
return 1;
}
else if (!strcmp(dot, ".umj")) {
*mime = "application/vnd.umajin";
return 1;
}
else if (!strcmp(dot, ".unityweb")) {
*mime = "application/vnd.unity";
return 1;
}
else if (!strcmp(dot, ".uoml")) {
*mime = "application/vnd.uoml+xml";
return 1;
}
else if (!strcmp(dot, ".uo")) {
*mime = "application/vnd.uoml+xml";
return 1;
}
else if (!strcmp(dot, ".urim")) {
*mime = "application/vnd.uri-map";
return 1;
}
else if (!strcmp(dot, ".urimap")) {
*mime = "application/vnd.uri-map";
return 1;
}
else if (!strcmp(dot, ".vmt")) {
*mime = "application/vnd.valve.source.material";
return 1;
}
else if (!strcmp(dot, ".vcx")) {
*mime = "application/vnd.vcx";
return 1;
}
else if (!strcmp(dot, ".mxi")) {
*mime = "application/vnd.vd-study";
return 1;
}
else if (!strcmp(dot, ".study-inter")) {
*mime = "application/vnd.vd-study";
return 1;
}
else if (!strcmp(dot, ".model-inter")) {
*mime = "application/vnd.vd-study";
return 1;
}
else if (!strcmp(dot, ".vwx")) {
*mime = "application/vnd.vectorworks";
return 1;
}
else if (!strcmp(dot, ".istc")) {
*mime = "application/vnd.veryant.thin";
return 1;
}
else if (!strcmp(dot, ".isws")) {
*mime = "application/vnd.veryant.thin";
return 1;
}
else if (!strcmp(dot, ".VES")) {
*mime = "application/vnd.ves.encrypted";
return 1;
}
else if (!strcmp(dot, ".vsc")) {
*mime = "application/vnd.vidsoft.vidconference";
return 1;
}
else if (!strcmp(dot, ".vsd")) {
*mime = "application/vnd.visio";
return 1;
}
else if (!strcmp(dot, ".vst")) {
*mime = "application/vnd.visio";
return 1;
}
else if (!strcmp(dot, ".vsw")) {
*mime = "application/vnd.visio";
return 1;
}
else if (!strcmp(dot, ".vss")) {
*mime = "application/vnd.visio";
return 1;
}
else if (!strcmp(dot, ".vis")) {
*mime = "application/vnd.visionary";
return 1;
}
else if (!strcmp(dot, ".vsf")) {
*mime = "application/vnd.vsf";
return 1;
}
else if (!strcmp(dot, ".sic")) {
*mime = "application/vnd.wap.sic";
return 1;
}
else if (!strcmp(dot, ".slc")) {
*mime = "application/vnd.wap.slc";
return 1;
}
else if (!strcmp(dot, ".wbxml")) {
*mime = "application/vnd.wap.wbxml";
return 1;
}
else if (!strcmp(dot, ".wmlc")) {
*mime = "application/vnd.wap.wmlc";
return 1;
}
else if (!strcmp(dot, ".wmlsc")) {
*mime = "application/vnd.wap.wmlscriptc";
return 1;
}
else if (!strcmp(dot, ".wtb")) {
*mime = "application/vnd.webturbo";
return 1;
}
else if (!strcmp(dot, ".p2p")) {
*mime = "application/vnd.wfa.p2p";
return 1;
}
else if (!strcmp(dot, ".wsc")) {
*mime = "application/vnd.wfa.wsc";
return 1;
}
else if (!strcmp(dot, ".wmc")) {
*mime = "application/vnd.wmc";
return 1;
}
else if (!strcmp(dot, ".m")) {
*mime = "application/vnd.wolfram.mathematica.package";
return 1;
}
else if (!strcmp(dot, ".nbp")) {
*mime = "application/vnd.wolfram.player";
return 1;
}
else if (!strcmp(dot, ".wpd")) {
*mime = "application/vnd.wordperfect";
return 1;
}
else if (!strcmp(dot, ".wqd")) {
*mime = "application/vnd.wqd";
return 1;
}
else if (!strcmp(dot, ".stf")) {
*mime = "application/vnd.wt.stf";
return 1;
}
else if (!strcmp(dot, ".wv")) {
*mime = "application/vnd.wv.csp+wbxml";
return 1;
}
else if (!strcmp(dot, ".xar")) {
*mime = "application/vnd.xara";
return 1;
}
else if (!strcmp(dot, ".xfdl")) {
*mime = "application/vnd.xfdl";
return 1;
}
else if (!strcmp(dot, ".xfd")) {
*mime = "application/vnd.xfdl";
return 1;
}
else if (!strcmp(dot, ".cpkg")) {
*mime = "application/vnd.xmpie.cpkg";
return 1;
}
else if (!strcmp(dot, ".dpkg")) {
*mime = "application/vnd.xmpie.dpkg";
return 1;
}
else if (!strcmp(dot, ".ppkg")) {
*mime = "application/vnd.xmpie.ppkg";
return 1;
}
else if (!strcmp(dot, ".xlim")) {
*mime = "application/vnd.xmpie.xlim";
return 1;
}
else if (!strcmp(dot, ".hvd")) {
*mime = "application/vnd.yamaha.hv-dic";
return 1;
}
else if (!strcmp(dot, ".hvs")) {
*mime = "application/vnd.yamaha.hv-script";
return 1;
}
else if (!strcmp(dot, ".hvp")) {
*mime = "application/vnd.yamaha.hv-voice";
return 1;
}
else if (!strcmp(dot, ".osf")) {
*mime = "application/vnd.yamaha.openscoreformat";
return 1;
}
else if (!strcmp(dot, ".saf")) {
*mime = "application/vnd.yamaha.smaf-audio";
return 1;
}
else if (!strcmp(dot, ".spf")) {
*mime = "application/vnd.yamaha.smaf-phrase";
return 1;
}
else if (!strcmp(dot, ".yme")) {
*mime = "application/vnd.yaoweme";
return 1;
}
else if (!strcmp(dot, ".cmp")) {
*mime = "application/vnd.yellowriver-custom-menu";
return 1;
}
else if (!strcmp(dot, ".zir")) {
*mime = "application/vnd.zul";
return 1;
}
else if (!strcmp(dot, ".zirz")) {
*mime = "application/vnd.zul";
return 1;
}
else if (!strcmp(dot, ".zaz")) {
*mime = "application/vnd.zzazz.deck+xml";
return 1;
}
else if (!strcmp(dot, ".vxml")) {
*mime = "application/voicexml+xml";
return 1;
}
else if (!strcmp(dot, ".vcj")) {
*mime = "application/voucher-cms+json";
return 1;
}
else if (!strcmp(dot, ".wif")) {
*mime = "application/watcherinfo+xml";
return 1;
}
else if (!strcmp(dot, ".wgt")) {
*mime = "application/widget";
return 1;
}
else if (!strcmp(dot, ".wspolicy")) {
*mime = "application/wspolicy+xml";
return 1;
}
else if (!strcmp(dot, ".xav")) {
*mime = "application/xcap-att+xml";
return 1;
}
else if (!strcmp(dot, ".xca")) {
*mime = "application/xcap-caps+xml";
return 1;
}
else if (!strcmp(dot, ".xdf")) {
*mime = "application/xcap-diff+xml";
return 1;
}
else if (!strcmp(dot, ".xel")) {
*mime = "application/xcap-el+xml";
return 1;
}
else if (!strcmp(dot, ".xer")) {
*mime = "application/patch-ops-error+xml";
return 1;
}
else if (!strcmp(dot, ".xns")) {
*mime = "application/xcap-ns+xml";
return 1;
}
else if (!strcmp(dot, ".xhtml")) {
*mime = "application/xhtml+xml";
}
else if (!strcmp(dot, ".xhtm")) {
*mime = "application/xhtml+xml";
}
else if (!strcmp(dot, ".xht")) {
*mime = "application/xhtml+xml";
}
else if (!strcmp(dot, ".xlf")) {
*mime = "application/x-xliff+xml";
return 1;
}
else if (!strcmp(dot, ".dtd")) {
*mime = "application/xml-dtd";
}
else if (!strcmp(dot, ".xop")) {
*mime = "application/xop+xml";
return 1;
}
else if (!strcmp(dot, ".xslt")) {
*mime = "application/xslt+xml";
return 1;
}
else if (!strcmp(dot, ".mxml")) {
*mime = "application/xv+xml";
return 1;
}
else if (!strcmp(dot, ".xhvml")) {
*mime = "application/xv+xml";
return 1;
}
else if (!strcmp(dot, ".xvml")) {
*mime = "application/xv+xml";
return 1;
}
else if (!strcmp(dot, ".xvm")) {
*mime = "application/xv+xml";
return 1;
}
else if (!strcmp(dot, ".yang")) {
*mime = "application/yang";
return 1;
}
else if (!strcmp(dot, ".yin")) {
*mime = "application/yin+xml";
return 1;
}
else if (!strcmp(dot, ".zst")) {
*mime = "application/zstd";
return 1;
}
else if (!strcmp(dot, ".726")) {
*mime = "audio/32kadpcm";
return 1;
}
else if (!strcmp(dot, ".ac3")) {
*mime = "audio/ac3";
return 1;
}
else if (!strcmp(dot, ".amr")) {
*mime = "audio/AMR";
return 1;
}
else if (!strcmp(dot, ".awb")) {
*mime = "audio/AMR-WB";
return 1;
}
else if (!strcmp(dot, ".acn")) {
*mime = "audio/asc";
return 1;
}
else if (!strcmp(dot, ".aal")) {
*mime = "audio/ATRAC-ADVANCED-LOSSLESS";
return 1;
}
else if (!strcmp(dot, ".atx")) {
*mime = "application/vnd.antix.game-component";
return 1;
}
else if (!strcmp(dot, ".at3")) {
*mime = "audio/ATRAC3";
return 1;
}
else if (!strcmp(dot, ".aa3")) {
*mime = "audio/ATRAC3";
return 1;
}
else if (!strcmp(dot, ".omg")) {
*mime = "audio/ATRAC3";
return 1;
}
else if (!strcmp(dot, ".dls")) {
*mime = "audio/dls";
return 1;
}
else if (!strcmp(dot, ".evc")) {
*mime = "audio/EVRC";
return 1;
}
else if (!strcmp(dot, ".evb")) {
*mime = "audio/EVRCB";
return 1;
}
else if (!strcmp(dot, ".enw")) {
*mime = "audio/EVRCNW";
return 1;
}
else if (!strcmp(dot, ".evw")) {
*mime = "audio/EVRCWB";
return 1;
}
else if (!strcmp(dot, ".lbc")) {
*mime = "audio/iLBC";
return 1;
}
else if (!strcmp(dot, ".l16")) {
*mime = "audio/L16";
return 1;
}
else if (!strcmp(dot, ".mhas")) {
*mime = "audio/mhas";
return 1;
}
else if (!strcmp(dot, ".mxmf")) {
*mime = "audio/mobile-xmf";
return 1;
}
else if (!strcmp(dot, ".m4a")) {
*mime = "audio/mp4";
return 1;
}
else if (!strcmp(dot, ".mpga")) {
*mime = "audio/mpeg";
return 1;
}
else if (!strcmp(dot, ".mp1")) {
*mime = "audio/mpeg";
return 1;
}
else if (!strcmp(dot, ".oga")) {
*mime = "audio/ogg";
return 1;
}
else if (!strcmp(dot, ".ogg")) {
*mime = "audio/ogg";
return 1;
}
else if (!strcmp(dot, ".spx")) {
*mime = "audio/ogg";
return 1;
}
else if (!strcmp(dot, ".sid")) {
*mime = "image/x-mrsid-image";
return 1;
}
else if (!strcmp(dot, ".psid")) {
*mime = "audio/prs.sid";
return 1;
}
else if (!strcmp(dot, ".qcp")) {
*mime = "audio/QCELP";
return 1;
}
else if (!strcmp(dot, ".smv")) {
*mime = "video/x-smv";
return 1;
}
else if (!strcmp(dot, ".sofa")) {
*mime = "audio/sofa";
return 1;
}
else if (!strcmp(dot, ".xhe")) {
*mime = "audio/usac";
return 1;
}
else if (!strcmp(dot, ".koz")) {
*mime = "audio/vnd.audiokoz";
return 1;
}
else if (!strcmp(dot, ".uva")) {
*mime = "audio/vnd.dece.audio";
return 1;
}
else if (!strcmp(dot, ".uvva")) {
*mime = "audio/vnd.dece.audio";
return 1;
}
else if (!strcmp(dot, ".eol")) {
*mime = "audio/vnd.digital-winds";
return 1;
}
else if (!strcmp(dot, ".mlp")) {
*mime = "application/vnd.dolby.mlp";
return 1;
}
else if (!strcmp(dot, ".dts")) {
*mime = "audio/vnd.dts";
return 1;
}
else if (!strcmp(dot, ".dtshd")) {
*mime = "audio/vnd.dts.hd";
return 1;
}
else if (!strcmp(dot, ".plj")) {
*mime = "audio/vnd.everad.plj";
return 1;
}
else if (!strcmp(dot, ".lvp")) {
*mime = "audio/vnd.lucent.voice";
return 1;
}
else if (!strcmp(dot, ".pya")) {
*mime = "audio/vnd.ms-playready.media.pya";
return 1;
}
else if (!strcmp(dot, ".vbk")) {
*mime = "audio/vnd.nortel.vbk";
return 1;
}
else if (!strcmp(dot, ".ecelp4800")) {
*mime = "audio/vnd.nuera.ecelp4800";
return 1;
}
else if (!strcmp(dot, ".ecelp7470")) {
*mime = "audio/vnd.nuera.ecelp7470";
return 1;
}
else if (!strcmp(dot, ".ecelp9600")) {
*mime = "audio/vnd.nuera.ecelp9600";
return 1;
}
else if (!strcmp(dot, ".multitrack")) {
*mime = "audio/vnd.presonus.multitrack";
return 1;
}
else if (!strcmp(dot, ".rip")) {
*mime = "audio/vnd.rip";
return 1;
}
else if (!strcmp(dot, ".smp3")) {
*mime = "audio/vnd.sealedmedia.softseal.mpeg";
return 1;
}
else if (!strcmp(dot, ".smp")) {
*mime = "audio/vnd.sealedmedia.softseal.mpeg";
return 1;
}
else if (!strcmp(dot, ".s1m")) {
*mime = "audio/vnd.sealedmedia.softseal.mpeg";
return 1;
}
else if (!strcmp(dot, ".ttc")) {
*mime = "font/collection";
return 1;
}
else if (!strcmp(dot, ".otf")) {
*mime = "font/otf";
return 1;
}
else if (!strcmp(dot, ".ttf")) {
*mime = "font/ttf";
return 1;
}
else if (!strcmp(dot, ".woff")) {
*mime = "font/woff";
return 1;
}
else if (!strcmp(dot, ".woff2")) {
*mime = "font/woff2";
return 1;
}
else if (!strcmp(dot, ".exr")) {
*mime = "image/aces";
return 1;
}
else if (!strcmp(dot, ".avci")) {
*mime = "image/avci";
return 1;
}
else if (!strcmp(dot, ".avcs")) {
*mime = "image/avcs";
return 1;
}
else if (!strcmp(dot, ".avif")) {
*mime = "image/avif";
return 1;
}
else if (!strcmp(dot, ".hif")) {
*mime = "image/avif";
return 1;
}
else if (!strcmp(dot, ".dib")) {
*mime = "image/bmp";
return 1;
}
else if (!strcmp(dot, ".cgm")) {
*mime = "image/cgm";
return 1;
}
else if (!strcmp(dot, ".drle")) {
*mime = "image/dicom-rle";
return 1;
}
else if (!strcmp(dot, ".emf")) {
*mime = "application/x-msmetafile";
return 1;
}
else if (!strcmp(dot, ".fits")) {
*mime = "image/fits";
return 1;
}
else if (!strcmp(dot, ".fit")) {
*mime = "image/fits";
return 1;
}
else if (!strcmp(dot, ".fts")) {
*mime = "image/fits";
return 1;
}
else if (!strcmp(dot, ".heics")) {
*mime = "image/heic-sequence";
return 1;
}
else if (!strcmp(dot, ".heifs")) {
*mime = "image/heif-sequence";
return 1;
}
else if (!strcmp(dot, ".hej2")) {
*mime = "image/hej2k";
return 1;
}
else if (!strcmp(dot, ".hsj2")) {
*mime = "image/hsj2";
return 1;
}
else if (!strcmp(dot, ".jls")) {
*mime = "image/jls";
return 1;
}
else if (!strcmp(dot, ".jp2")) {
*mime = "image/jp2";
return 1;
}
else if (!strcmp(dot, ".jpg2")) {
*mime = "image/jp2";
return 1;
}
else if (!strcmp(dot, ".jph")) {
*mime = "image/jph";
return 1;
}
else if (!strcmp(dot, ".jhc")) {
*mime = "image/jphc";
return 1;
}
else if (!strcmp(dot, ".jfif")) {
*mime = "image/jpeg";
return 1;
}
else if (!strcmp(dot, ".jpm")) {
*mime = "video/jpm";
return 1;
}
else if (!strcmp(dot, ".jpgm")) {
*mime = "video/jpm";
return 1;
}
else if (!strcmp(dot, ".jpx")) {
*mime = "image/jpx";
return 1;
}
else if (!strcmp(dot, ".jpf")) {
*mime = "image/jpx";
return 1;
}
else if (!strcmp(dot, ".jxl")) {
*mime = "image/jxl";
return 1;
}
else if (!strcmp(dot, ".jxr")) {
*mime = "image/jxr";
return 1;
}
else if (!strcmp(dot, ".jxra")) {
*mime = "image/jxrA";
return 1;
}
else if (!strcmp(dot, ".jxrs")) {
*mime = "image/jxrS";
return 1;
}
else if (!strcmp(dot, ".jxs")) {
*mime = "image/jxs";
return 1;
}
else if (!strcmp(dot, ".jxsc")) {
*mime = "image/jxsc";
return 1;
}
else if (!strcmp(dot, ".jxsi")) {
*mime = "image/jxsi";
return 1;
}
else if (!strcmp(dot, ".jxss")) {
*mime = "image/jxss";
return 1;
}
else if (!strcmp(dot, ".ktx")) {
*mime = "image/ktx";
return 1;
}
else if (!strcmp(dot, ".ktx2")) {
*mime = "image/ktx2";
return 1;
}
else if (!strcmp(dot, ".btif")) {
*mime = "image/prs.btif";
return 1;
}
else if (!strcmp(dot, ".btf")) {
*mime = "image/prs.btif";
return 1;
}
else if (!strcmp(dot, ".pti")) {
*mime = "image/prs.pti";
return 1;
}
else if (!strcmp(dot, ".svgz")) {
*mime = "image/svg+xml";
return 1;
}
else if (!strcmp(dot, ".t38")) {
*mime = "image/t38";
return 1;
}
else if (!strcmp(dot, ".tfx")) {
*mime = "image/tiff-fx";
return 1;
}
else if (!strcmp(dot, ".psd")) {
*mime = "image/vnd.adobe.photoshop";
return 1;
}
else if (!strcmp(dot, ".azv")) {
*mime = "image/vnd.airzip.accelerator.azv";
return 1;
}
else if (!strcmp(dot, ".uvi")) {
*mime = "image/vnd.dece.graphic";
return 1;
}
else if (!strcmp(dot, ".uvvi")) {
*mime = "image/vnd.dece.graphic";
return 1;
}
else if (!strcmp(dot, ".uvg")) {
*mime = "image/vnd.dece.graphic";
return 1;
}
else if (!strcmp(dot, ".uvvg")) {
*mime = "image/vnd.dece.graphic";
return 1;
}
else if (!strcmp(dot, ".djvu")) {
*mime = "image/vnd.djvu";
return 1;
}
else if (!strcmp(dot, ".djv")) {
*mime = "image/vnd.djvu";
return 1;
}
else if (!strcmp(dot, ".dwg")) {
*mime = "image/vnd.dwg";
return 1;
}
else if (!strcmp(dot, ".dxf")) {
*mime = "image/vnd.dxf";
return 1;
}
else if (!strcmp(dot, ".fbs")) {
*mime = "image/vnd.fastbidsheet";
return 1;
}
else if (!strcmp(dot, ".fpx")) {
*mime = "image/vnd.fpx";
return 1;
}
else if (!strcmp(dot, ".fst")) {
*mime = "image/vnd.fst";
return 1;
}
else if (!strcmp(dot, ".mmr")) {
*mime = "image/vnd.fujixerox.edmics-mmr";
return 1;
}
else if (!strcmp(dot, ".rlc")) {
*mime = "image/vnd.fujixerox.edmics-rlc";
return 1;
}
else if (!strcmp(dot, ".pgb")) {
*mime = "image/vnd.globalgraphics.pgb";
return 1;
}
else if (!strcmp(dot, ".apng")) {
*mime = "image/vnd.mozilla.apng";
return 1;
}
else if (!strcmp(dot, ".mdi")) {
*mime = "image/vnd.ms-modi";
return 1;
}
else if (!strcmp(dot, ".b16")) {
*mime = "image/vnd.pco.b16";
return 1;
}
else if (!strcmp(dot, ".hdr")) {
*mime = "image/vnd.radiance";
return 1;
}
else if (!strcmp(dot, ".rgbe")) {
*mime = "image/vnd.radiance";
return 1;
}
else if (!strcmp(dot, ".xyze")) {
*mime = "image/vnd.radiance";
return 1;
}
else if (!strcmp(dot, ".spng")) {
*mime = "image/vnd.sealed.png";
return 1;
}
else if (!strcmp(dot, ".spn")) {
*mime = "image/vnd.sealed.png";
return 1;
}
else if (!strcmp(dot, ".s1n")) {
*mime = "image/vnd.sealed.png";
return 1;
}
else if (!strcmp(dot, ".sgif")) {
*mime = "image/vnd.sealedmedia.softseal.gif";
return 1;
}
else if (!strcmp(dot, ".sgi")) {
*mime = "image/sgi";
return 1;
}
else if (!strcmp(dot, ".s1g")) {
*mime = "image/vnd.sealedmedia.softseal.gif";
return 1;
}
else if (!strcmp(dot, ".sjpg")) {
*mime = "image/vnd.sealedmedia.softseal.jpg";
return 1;
}
else if (!strcmp(dot, ".sjp")) {
*mime = "image/vnd.sealedmedia.softseal.jpg";
return 1;
}
else if (!strcmp(dot, ".s1j")) {
*mime = "image/vnd.sealedmedia.softseal.jpg";
return 1;
}
else if (!strcmp(dot, ".tap")) {
*mime = "image/vnd.tencent.tap";
return 1;
}
else if (!strcmp(dot, ".vtf")) {
*mime = "image/vnd.valve.source.texture";
}
else if (!strcmp(dot, ".wbmp")) {
*mime = "image/vnd.wap.wbmp";
return 1;
}
else if (!strcmp(dot, ".xif")) {
*mime = "image/vnd.xiff";
return 1;
}
else if (!strcmp(dot, ".pcx")) {
*mime = "image/x-pcx";
return 1;
}
else if (!strcmp(dot, ".wmf")) {
*mime = "application/x-msmetafile";
return 1;
}
else if (!strcmp(dot, ".u8msg")) {
*mime = "message/global";
return 1;
}
else if (!strcmp(dot, ".u8dsn")) {
*mime = "message/global-delivery-status";
return 1;
}
else if (!strcmp(dot, ".u8mdn")) {
*mime = "message/global-disposition-notification";
return 1;
}
else if (!strcmp(dot, ".u8hdr")) {
*mime = "message/global-headers";
return 1;
}
else if (!strcmp(dot, ".mail")) {
*mime = "message/rfc822";
return 1;
}
else if (!strcmp(dot, ".art")) {
*mime = "message/rfc822";
return 1;
}
else if (!strcmp(dot, ".glb")) {
*mime = "model/gltf-binary";
return 1;
}
else if (!strcmp(dot, ".gltf")) {
*mime = "model/gltf+json";
return 1;
}
else if (!strcmp(dot, ".igs")) {
*mime = "model/iges";
return 1;
}
else if (!strcmp(dot, ".iges")) {
*mime = "model/iges";
return 1;
}
else if (!strcmp(dot, ".msh")) {
*mime = "model/mesh";
return 1;
}
else if (!strcmp(dot, ".mesh")) {
*mime = "model/mesh";
return 1;
}
else if (!strcmp(dot, ".silo")) {
*mime = "model/mesh";
return 1;
}
else if (!strcmp(dot, ".mtl")) {
*mime = "model/mtl";
return 1;
}
else if (!strcmp(dot, ".stl")) {
*mime = "application/vnd.ms-pki.stl";
return 1;
}
else if (!strcmp(dot, ".dae")) {
*mime = "model/vnd.collada+xml";
return 1;
}
else if (!strcmp(dot, ".dwf")) {
*mime = "model/vnd.dwf";
return 1;
}
else if (!strcmp(dot, ".gdl")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".gsm")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".win")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".dor")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".lmp")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".rsm")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".msm")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".ism")) {
*mime = "model/vnd.gdl";
return 1;
}
else if (!strcmp(dot, ".gtw")) {
*mime = "model/vnd.gtw";
return 1;
}
else if (!strcmp(dot, ".moml")) {
*mime = "model/vnd.moml+xml";
return 1;
}
else if (!strcmp(dot, ".mts")) {
*mime = "model/vnd.mts";
return 1;
}
else if (!strcmp(dot, ".ogex")) {
*mime = "model/vnd.opengex";
return 1;
}
else if (!strcmp(dot, ".x_b")) {
*mime = "model/vnd.parasolid.transmit.binary";
return 1;
}
else if (!strcmp(dot, ".xmt_bin")) {
*mime = "model/vnd.parasolid.transmit.binary";
return 1;
}
else if (!strcmp(dot, ".x_t")) {
*mime = "model/vnd.parasolid.transmit.text";
}
else if (!strcmp(dot, ".xmt_txt")) {
*mime = "model/vnd.parasolid.transmit.text";
}
else if (!strcmp(dot, ".pyox")) {
*mime = "model/vnd.pytha.pyox";
return 1;
}
else if (!strcmp(dot, ".vds")) {
*mime = "model/vnd.sap.vds";
return 1;
}
else if (!strcmp(dot, ".usdz")) {
*mime = "model/vnd.usdz+zip";
return 1;
}
else if (!strcmp(dot, ".bsp")) {
*mime = "model/vnd.valve.source.compiled-map";
return 1;
}
else if (!strcmp(dot, ".vtu")) {
*mime = "model/vnd.vtu";
return 1;
}
else if (!strcmp(dot, ".wrl")) {
*mime = "model/vrml";
return 1;
}
else if (!strcmp(dot, ".vrml")) {
*mime = "model/vrml";
return 1;
}
else if (!strcmp(dot, ".x3db")) {
*mime = "model/x3d+binary";
return 1;
}
else if (!strcmp(dot, ".x3dv")) {
*mime = "model/x3d+vrml";
return 1;
}
else if (!strcmp(dot, ".x3dvz")) {
*mime = "model/x3d+vrml";
return 1;
}
else if (!strcmp(dot, ".bmed")) {
*mime = "multipart/vnd.bint.med-plus";
return 1;
}
else if (!strcmp(dot, ".vpm")) {
*mime = "multipart/voice-message";
return 1;
}
else if (!strcmp(dot, ".appcache")) {
*mime = "text/cache-manifest";
}
else if (!strcmp(dot, ".manifest")) {
*mime = "text/cache-manifest";
}
else if (!strcmp(dot, ".ics")) {
*mime = "text/calendar";
}
else if (!strcmp(dot, ".ifb")) {
*mime = "text/calendar";
}
else if (!strcmp(dot, ".CQL")) {
*mime = "text/cql";
}
else if (!strcmp(dot, ".csvs")) {
*mime = "text/csv-schema";
}
else if (!strcmp(dot, ".soa")) {
*mime = "text/dns";
}
else if (!strcmp(dot, ".zone")) {
*mime = "text/dns";
}
else if (!strcmp(dot, ".gff3")) {
*mime = "text/gff3";
}
else if (!strcmp(dot, ".cnd")) {
*mime = "text/jcr-cnd";
}
else if (!strcmp(dot, ".markdown")) {
*mime = "text/markdown";
}
else if (!strcmp(dot, ".md")) {
*mime = "text/markdown";
}
else if (!strcmp(dot, ".miz")) {
*mime = "text/mizar";
}
else if (!strcmp(dot, ".n3")) {
*mime = "text/n3";
}
else if (!strcmp(dot, ".asc")) {
*mime = "application/pgp-signature";
return 1;
}
else if (!strcmp(dot, ".text")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".pm")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".el")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".cc")) {
*mime = "text/x-c";
}
else if (!strcmp(dot, ".hh")) {
*mime = "text/x-c";
}
else if (!strcmp(dot, ".cxx")) {
*mime = "text/x-c";
}
else if (!strcmp(dot, ".hxx")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".f90")) {
*mime = "text/x-fortran";
}
else if (!strcmp(dot, ".conf")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".log")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".provn")) {
*mime = "text/provenance-notation";
}
else if (!strcmp(dot, ".rst")) {
*mime = "text/prs.fallenstein.rst";
}
else if (!strcmp(dot, ".tag")) {
*mime = "text/prs.lines.tag";
}
else if (!strcmp(dot, ".dsc")) {
*mime = "text/prs.lines.tag";
}
else if (!strcmp(dot, ".shaclc")) {
*mime = "text/shaclc";
}
else if (!strcmp(dot, ".shc")) {
*mime = "text/shaclc";
}
else if (!strcmp(dot, ".spdx")) {
*mime = "text/spdx";
}
else if (!strcmp(dot, ".ttl")) {
*mime = "text/turtle";
}
else if (!strcmp(dot, ".uris")) {
*mime = "text/uri-list";
}
else if (!strcmp(dot, ".uri")) {
*mime = "text/uri-list";
}
else if (!strcmp(dot, ".vcard")) {
*mime = "text/vcard";
}
else if (!strcmp(dot, ".abc")) {
*mime = "text/vnd.abc";
}
else if (!strcmp(dot, ".ascii")) {
*mime = "text/vnd.ascii-art";
}
else if (!strcmp(dot, ".copyright")) {
*mime = "text/vnd.debian.copyright";
}
else if (!strcmp(dot, ".dms")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".sub")) {
*mime = "text/vnd.dvb.subtitle";
}
else if (!strcmp(dot, ".jtd")) {
*mime = "text/vnd.esmertec.theme-descriptor";
}
else if (!strcmp(dot, ".flt")) {
*mime = "text/vnd.ficlab.flt";
}
else if (!strcmp(dot, ".fly")) {
*mime = "text/vnd.fly";
}
else if (!strcmp(dot, ".flx")) {
*mime = "text/vnd.fmi.flexstor";
}
else if (!strcmp(dot, ".gv")) {
*mime = "text/vnd.graphviz";
}
else if (!strcmp(dot, ".hans")) {
*mime = "text/vnd.hans";
}
else if (!strcmp(dot, ".hgl")) {
*mime = "text/vnd.hgl";
}
else if (!strcmp(dot, ".3dml")) {
*mime = "text/vnd.in3d.3dml";
}
else if (!strcmp(dot, ".3dm")) {
*mime = "text/vnd.in3d.3dml";
}
else if (!strcmp(dot, ".spot")) {
*mime = "text/vnd.in3d.spot";
}
else if (!strcmp(dot, ".spo")) {
*mime = "text/vnd.in3d.spot";
}
else if (!strcmp(dot, ".mpf")) {
*mime = "text/vnd.ms-mediapackage";
}
else if (!strcmp(dot, ".ccc")) {
*mime = "text/vnd.net2phone.commcenter.command";
}
else if (!strcmp(dot, ".mc2")) {
*mime = "text/vnd.senx.warpscript";
}
else if (!strcmp(dot, ".uric")) {
*mime = "text/vnd.si.uricatalogue";
}
else if (!strcmp(dot, ".jad")) {
*mime = "text/vnd.sun.j2me.app-descriptor";
}
else if (!strcmp(dot, ".sos")) {
*mime = "text/vnd.sosi";
}
else if (!strcmp(dot, ".ts")) {
*mime = "text/vnd.trolltech.linguist";
}
else if (!strcmp(dot, ".si")) {
*mime = "text/vnd.wap.si";
}
else if (!strcmp(dot, ".sl")) {
*mime = "text/vnd.wap.sl";
}
else if (!strcmp(dot, ".wml")) {
*mime = "text/vnd.wap.wml";
}
else if (!strcmp(dot, ".wmls")) {
*mime = "text/vnd.wap.wmlscript";
}
else if (!strcmp(dot, ".vtt")) {
*mime = "text/vtt";
}
else if (!strcmp(dot, ".xsd")) {
*mime = "text/xml";
}
else if (!strcmp(dot, ".rng")) {
*mime = "text/xml";
}
else if (!strcmp(dot, ".ent")) {
*mime = "text/xml-external-parsed-entity";
}
else if (!strcmp(dot, ".m4s")) {
*mime = "video/iso.segment";
return 1;
}
else if (!strcmp(dot, ".mj2")) {
*mime = "video/mj2";
return 1;
}
else if (!strcmp(dot, ".mjp2")) {
*mime = "video/mj2";
return 1;
}
else if (!strcmp(dot, ".mpg4")) {
*mime = "video/mp4";
return 1;
}
else if (!strcmp(dot, ".m4v")) {
*mime = "video/x-m4v";
return 1;
}
else if (!strcmp(dot, ".m2v")) {
*mime = "video/mpeg";
return 1;
}
else if (!strcmp(dot, ".ogv")) {
*mime = "video/ogg";
return 1;
}
else if (!strcmp(dot, ".uvh")) {
*mime = "video/vnd.dece.hd";
return 1;
}
else if (!strcmp(dot, ".uvvh")) {
*mime = "video/vnd.dece.hd";
return 1;
}
else if (!strcmp(dot, ".uvm")) {
*mime = "video/vnd.dece.mobile";
return 1;
}
else if (!strcmp(dot, ".uvvm")) {
*mime = "video/vnd.dece.mobile";
return 1;
}
else if (!strcmp(dot, ".uvu")) {
*mime = "video/vnd.uvvu.mp4";
return 1;
}
else if (!strcmp(dot, ".uvvu")) {
*mime = "video/vnd.uvvu.mp4";
return 1;
}
else if (!strcmp(dot, ".uvp")) {
*mime = "video/vnd.dece.pd";
return 1;
}
else if (!strcmp(dot, ".uvvp")) {
*mime = "video/vnd.dece.pd";
return 1;
}
else if (!strcmp(dot, ".uvs")) {
*mime = "video/vnd.dece.sd";
return 1;
}
else if (!strcmp(dot, ".uvvs")) {
*mime = "video/vnd.dece.sd";
return 1;
}
else if (!strcmp(dot, ".uvv")) {
*mime = "video/vnd.dece.video";
return 1;
}
else if (!strcmp(dot, ".uvvv")) {
*mime = "video/vnd.dece.video";
return 1;
}
else if (!strcmp(dot, ".dvb")) {
*mime = "video/vnd.dvb.file";
return 1;
}
else if (!strcmp(dot, ".fvt")) {
*mime = "video/vnd.fvt";
return 1;
}
else if (!strcmp(dot, ".mxu")) {
*mime = "video/vnd.mpegurl";
return 1;
}
else if (!strcmp(dot, ".m4u")) {
*mime = "video/vnd.mpegurl";
return 1;
}
else if (!strcmp(dot, ".pyv")) {
*mime = "video/vnd.ms-playready.media.pyv";
return 1;
}
else if (!strcmp(dot, ".nim")) {
*mime = "video/vnd.nokia.interleaved-multimedia";
return 1;
}
else if (!strcmp(dot, ".bik")) {
*mime = "video/vnd.radgamettools.bink";
return 1;
}
else if (!strcmp(dot, ".bk2")) {
*mime = "video/vnd.radgamettools.bink";
return 1;
}
else if (!strcmp(dot, ".smk")) {
*mime = "video/vnd.radgamettools.smacker";
return 1;
}
else if (!strcmp(dot, ".smpg")) {
*mime = "video/vnd.sealed.mpeg1";
return 1;
}
else if (!strcmp(dot, ".s11")) {
*mime = "video/vnd.sealed.mpeg1";
return 1;
}
else if (!strcmp(dot, ".s14")) {
*mime = "video/vnd.sealed.mpeg4";
return 1;
}
else if (!strcmp(dot, ".sswf")) {
*mime = "video/vnd.sealed.swf";
return 1;
}
else if (!strcmp(dot, ".ssw")) {
*mime = "video/vnd.sealed.swf";
return 1;
}
else if (!strcmp(dot, ".smov")) {
*mime = "video/vnd.sealedmedia.softseal.mov";
return 1;
}
else if (!strcmp(dot, ".smo")) {
*mime = "video/vnd.sealedmedia.softseal.mov";
return 1;
}
else if (!strcmp(dot, ".s1q")) {
*mime = "video/vnd.sealedmedia.softseal.mov";
return 1;
}
else if (!strcmp(dot, ".yt")) {
*mime = "video/vnd.youtube.yt";
return 1;
}
else if (!strcmp(dot, ".viv")) {
*mime = "video/vnd.vivo";
return 1;
}
else if (!strcmp(dot, ".cpt")) {
*mime = "application/mac-compactpro";
return 1;
}
else if (!strcmp(dot, ".metalink")) {
*mime = "application/metalink+xml";
return 1;
}
else if (!strcmp(dot, ".owx")) {
*mime = "application/owl+xml";
return 1;
}
else if (!strcmp(dot, ".rss")) {
*mime = "application/rss+xml";
return 1;
}
else if (!strcmp(dot, ".apk")) {
*mime = "application/vnd.android.package-archive";
return 1;
}
else if (!strcmp(dot, ".dd")) {
*mime = "application/vnd.oma.dd+xml";
return 1;
}
else if (!strcmp(dot, ".dcf")) {
*mime = "application/vnd.oma.drm.content";
return 1;
}
else if (!strcmp(dot, ".o4a")) {
*mime = "application/vnd.oma.drm.dcf";
return 1;
}
else if (!strcmp(dot, ".o4v")) {
*mime = "application/vnd.oma.drm.dcf";
return 1;
}
else if (!strcmp(dot, ".dm")) {
*mime = "application/vnd.oma.drm.message";
return 1;
}
else if (!strcmp(dot, ".drc")) {
*mime = "application/vnd.oma.drm.rights+wbxml";
return 1;
}
else if (!strcmp(dot, ".dr")) {
*mime = "application/vnd.oma.drm.rights+xml";
return 1;
}
else if (!strcmp(dot, ".sxc")) {
*mime = "application/vnd.sun.xml.calc";
return 1;
}
else if (!strcmp(dot, ".stc")) {
*mime = "application/vnd.sun.xml.calc.template";
return 1;
}
else if (!strcmp(dot, ".sxd")) {
*mime = "application/vnd.sun.xml.draw";
return 1;
}
else if (!strcmp(dot, ".std")) {
*mime = "application/vnd.sun.xml.draw.template";
return 1;
}
else if (!strcmp(dot, ".sxi")) {
*mime = "application/vnd.sun.xml.impress";
return 1;
}
else if (!strcmp(dot, ".sti")) {
*mime = "application/vnd.sun.xml.impress.template";
return 1;
}
else if (!strcmp(dot, ".sxm")) {
*mime = "application/vnd.sun.xml.math";
return 1;
}
else if (!strcmp(dot, ".sxw")) {
*mime = "application/vnd.sun.xml.writer";
return 1;
}
else if (!strcmp(dot, ".sxg")) {
*mime = "application/vnd.sun.xml.writer.global";
return 1;
}
else if (!strcmp(dot, ".stw")) {
*mime = "application/vnd.sun.xml.writer.template";
return 1;
}
else if (!strcmp(dot, ".sis")) {
*mime = "application/vnd.symbian.install";
return 1;
}
else if (!strcmp(dot, ".mms")) {
*mime = "application/vnd.wap.mms-message";
return 1;
}
else if (!strcmp(dot, ".anx")) {
*mime = "application/x-annodex";
return 1;
}
else if (!strcmp(dot, ".torrent")) {
*mime = "application/x-bittorrent";
return 1;
}
else if (!strcmp(dot, ".bz2")) {
*mime = "application/x-bzip2";
return 1;
}
else if (!strcmp(dot, ".vcd")) {
*mime = "application/x-cdlink";
return 1;
}
else if (!strcmp(dot, ".crx")) {
*mime = "application/x-chrome-extension";
return 1;
}
else if (!strcmp(dot, ".dcr")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".dir")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".dxr")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".spl")) {
*mime = "application/x-futuresplash";
return 1;
}
else if (!strcmp(dot, ".jar")) {
*mime = "application/java-archive";
return 1;
}
else if (!strcmp(dot, ".jnlp")) {
*mime = "application/x-java-jnlp-file";
return 1;
}
else if (!strcmp(dot, ".pack")) {
*mime = "application/x-java-pack200";
return 1;
}
else if (!strcmp(dot, ".kil")) {
*mime = "application/x-killustrator";
return 1;
}
else if (!strcmp(dot, ".rpm")) {
*mime = "application/x-rpm";
return 1;
}
else if (!strcmp(dot, ".sit")) {
*mime = "application/x-stuffit";
return 1;
}
else if (!strcmp(dot, ".1")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".2")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".3")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".4")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".5")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".6")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".7")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".8")) {
*mime = "application/x-troff-man";
return 1;
}
else if (!strcmp(dot, ".xpi")) {
*mime = "application/x-xpinstall";
return 1;
}
else if (!strcmp(dot, ".xspf")) {
*mime = "application/xspf+xml";
return 1;
}
else if (!strcmp(dot, ".xz")) {
*mime = "application/x-xz";
return 1;
}
else if (!strcmp(dot, ".mid")) {
*mime = "audio/midi";
return 1;
}
else if (!strcmp(dot, ".midi")) {
*mime = "audio/midi";
return 1;
}
else if (!strcmp(dot, ".kar")) {
*mime = "audio/midi";
return 1;
}
else if (!strcmp(dot, ".axa")) {
*mime = "audio/x-annodex";
return 1;
}
else if (!strcmp(dot, ".flac")) {
*mime = "audio/x-flac";
return 1;
}
else if (!strcmp(dot, ".mka")) {
*mime = "audio/x-matroska";
return 1;
}
else if (!strcmp(dot, ".mod")) {
*mime = "audio/x-mod";
return 1;
}
else if (!strcmp(dot, ".ult")) {
*mime = "audio/x-mod";
return 1;
}
else if (!strcmp(dot, ".uni")) {
*mime = "audio/x-mod";
return 1;
}
else if (!strcmp(dot, ".m15")) {
*mime = "audio/x-mod";
return 1;
}
else if (!strcmp(dot, ".mtm")) {
*mime = "audio/x-mod";
return 1;
}
else if (!strcmp(dot, ".669")) {
*mime = "audio/x-mod";
return 1;
}
else if (!strcmp(dot, ".med")) {
*mime = "audio/x-mod";
return 1;
}
else if (!strcmp(dot, ".wax")) {
*mime = "audio/x-ms-wax";
return 1;
}
else if (!strcmp(dot, ".wma")) {
*mime = "audio/x-ms-wma";
return 1;
}
else if (!strcmp(dot, ".rm")) {
*mime = "application/vnd.rn-realmedia";
return 1;
}
else if (!strcmp(dot, ".s3m")) {
*mime = "audio/s3m";
return 1;
}
else if (!strcmp(dot, ".stm")) {
*mime = "audio/x-stm";
return 1;
}
else if (!strcmp(dot, ".xyz")) {
*mime = "chemical/x-xyz";
return 1;
}
else if (!strcmp(dot, ".webp")) {
*mime = "image/webp";
return 1;
}
else if (!strcmp(dot, ".tga")) {
*mime = "image/x-tga";
return 1;
}
else if (!strcmp(dot, ".sandboxed")) {
*mime = "text/html-sandboxed";
}
else if (!strcmp(dot, ".pod")) {
*mime = "text/x-pod";
}
else if (!strcmp(dot, ".axv")) {
*mime = "video/x-annodex";
return 1;
}
else if (!strcmp(dot, ".flv")) {
*mime = "video/x-flv";
return 1;
}
else if (!strcmp(dot, ".fxm")) {
*mime = "video/x-javafx";
return 1;
}
else if (!strcmp(dot, ".mkv")) {
*mime = "video/x-matroska";
return 1;
}
else if (!strcmp(dot, ".mk3d")) {
*mime = "video/x-matroska";
return 1;
}
else if (!strcmp(dot, ".asx")) {
*mime = "video/x-ms-asf";
return 1;
}
else if (!strcmp(dot, ".wm")) {
*mime = "video/x-ms-wm";
return 1;
}
else if (!strcmp(dot, ".wmv")) {
*mime = "video/x-ms-wmv";
return 1;
}
else if (!strcmp(dot, ".wmx")) {
*mime = "video/x-ms-wmx";
return 1;
}
else if (!strcmp(dot, ".wvx")) {
*mime = "video/x-ms-wvx";
return 1;
}
else if (!strcmp(dot, ".ice")) {
*mime = "x-conference/x-cooltalk";
return 1;
}
else if (!strcmp(dot, ".sisx")) {
*mime = "application/vnd.symbian.install";
return 1;
}
else if (!strcmp(dot, ".aw")) {
*mime = "application/applixware";
return 1;
}
else if (!strcmp(dot, ".cu")) {
*mime = "application/cu-seeme";
return 1;
}
else if (!strcmp(dot, ".dbk")) {
*mime = "application/docbook+xml";
return 1;
}
else if (!strcmp(dot, ".ecma")) {
*mime = "application/ecmascript";
return 1;
}
else if (!strcmp(dot, ".gpx")) {
*mime = "application/gpx+xml";
return 1;
}
else if (!strcmp(dot, ".gxf")) {
*mime = "application/gxf";
return 1;
}
else if (!strcmp(dot, ".ser")) {
*mime = "application/java-serialized-object";
return 1;
}
else if (!strcmp(dot, ".jsonml")) {
*mime = "application/jsonml+json";
}
else if (!strcmp(dot, ".mathml")) {
*mime = "application/mathml+xml";
return 1;
}
else if (!strcmp(dot, ".mscml")) {
*mime = "application/mediaservercontrol+xml";
return 1;
}
else if (!strcmp(dot, ".mp4s")) {
*mime = "application/mp4";
return 1;
}
else if (!strcmp(dot, ".lrf")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".mar")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".bpk")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".dump")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".elc")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".deploy")) {
*mime = "application/octet-stream";
return 1;
}
else if (!strcmp(dot, ".omdoc")) {
*mime = "application/omdoc+xml";
return 1;
}
else if (!strcmp(dot, ".onetoc")) {
*mime = "application/onenote";
return 1;
}
else if (!strcmp(dot, ".onetoc2")) {
*mime = "application/onenote";
return 1;
}
else if (!strcmp(dot, ".onetmp")) {
*mime = "application/onenote";
return 1;
}
else if (!strcmp(dot, ".onepkg")) {
*mime = "application/onenote";
return 1;
}
else if (!strcmp(dot, ".prf")) {
*mime = "application/pics-rules";
return 1;
}
else if (!strcmp(dot, ".rsd")) {
*mime = "application/rsd+xml";
return 1;
}
else if (!strcmp(dot, ".sbml")) {
*mime = "application/sbml+xml";
return 1;
}
else if (!strcmp(dot, ".setpay")) {
*mime = "application/set-payment-initiation";
return 1;
}
else if (!strcmp(dot, ".setreg")) {
*mime = "application/set-registration-initiation";
return 1;
}
else if (!strcmp(dot, ".ssdl")) {
*mime = "application/ssdl+xml";
return 1;
}
else if (!strcmp(dot, ".teicorpus")) {
*mime = "application/tei+xml";
return 1;
}
else if (!strcmp(dot, ".air")) {
*mime = "application/vnd.adobe.air-application-installer-package+zip";
return 1;
}
else if (!strcmp(dot, ".azw")) {
*mime = "application/vnd.amazon.ebook";
return 1;
}
else if (!strcmp(dot, ".car")) {
*mime = "application/vnd.curl.car";
return 1;
}
else if (!strcmp(dot, ".pcurl")) {
*mime = "application/vnd.curl.pcurl";
return 1;
}
else if (!strcmp(dot, ".kpxx")) {
*mime = "application/vnd.ds-keypoint";
return 1;
}
else if (!strcmp(dot, ".frame")) {
*mime = "application/vnd.framemaker";
return 1;
}
else if (!strcmp(dot, ".maker")) {
*mime = "application/vnd.framemaker";
return 1;
}
else if (!strcmp(dot, ".book")) {
*mime = "application/vnd.framemaker";
return 1;
}
else if (!strcmp(dot, ".pclxl")) {
*mime = "application/vnd.hp-pclxl";
return 1;
}
else if (!strcmp(dot, ".cat")) {
*mime = "application/vnd.ms-pki.seccat";
return 1;
}
else if (!strcmp(dot, ".odft")) {
*mime = "application/vnd.oasis.opendocument.formula-template";
return 1;
}
else if (!strcmp(dot, ".musicxml")) {
*mime = "application/vnd.recordare.musicxml+xml";
return 1;
}
else if (!strcmp(dot, ".cod")) {
*mime = "application/vnd.rim.cod";
return 1;
}
else if (!strcmp(dot, ".rmvb")) {
*mime = "application/vnd.rn-realmedia-vbr";
return 1;
}
else if (!strcmp(dot, ".sdc")) {
*mime = "application/vnd.stardivision.calc";
return 1;
}
else if (!strcmp(dot, ".sda")) {
*mime = "application/vnd.stardivision.draw";
return 1;
}
else if (!strcmp(dot, ".sdd")) {
*mime = "application/vnd.stardivision.impress";
return 1;
}
else if (!strcmp(dot, ".smf")) {
*mime = "application/vnd.stardivision.math";
return 1;
}
else if (!strcmp(dot, ".sdw")) {
*mime = "application/vnd.stardivision.writer";
return 1;
}
else if (!strcmp(dot, ".vor")) {
*mime = "application/vnd.stardivision.writer";
return 1;
}
else if (!strcmp(dot, ".sgl")) {
*mime = "application/vnd.stardivision.writer-global";
return 1;
}
else if (!strcmp(dot, ".svd")) {
*mime = "application/vnd.svd";
return 1;
}
else if (!strcmp(dot, ".osfpvg")) {
*mime = "application/vnd.yamaha.openscoreformat.osfpvg+xml";
return 1;
}
else if (!strcmp(dot, ".hlp")) {
*mime = "application/winhlp";
return 1;
}
else if (!strcmp(dot, ".7z")) {
*mime = "application/x-7z-compressed";
return 1;
}
else if (!strcmp(dot, ".abw")) {
*mime = "application/x-abiword";
return 1;
}
else if (!strcmp(dot, ".ace")) {
*mime = "application/x-ace-compressed";
return 1;
}
else if (!strcmp(dot, ".dmg")) {
*mime = "application/x-apple-diskimage";
return 1;
}
else if (!strcmp(dot, ".aab")) {
*mime = "application/x-authorware-bin";
return 1;
}
else if (!strcmp(dot, ".x32")) {
*mime = "application/x-authorware-bin";
return 1;
}
else if (!strcmp(dot, ".u32")) {
*mime = "application/x-authorware-bin";
return 1;
}
else if (!strcmp(dot, ".vox")) {
*mime = "application/x-authorware-bin";
return 1;
}
else if (!strcmp(dot, ".aam")) {
*mime = "application/x-authorware-map";
return 1;
}
else if (!strcmp(dot, ".aas")) {
*mime = "application/x-authorware-seg";
return 1;
}
else if (!strcmp(dot, ".blb")) {
*mime = "application/x-blorb";
return 1;
}
else if (!strcmp(dot, ".blorb")) {
*mime = "application/x-blorb";
return 1;
}
else if (!strcmp(dot, ".bz")) {
*mime = "application/x-bzip";
return 1;
}
else if (!strcmp(dot, ".boz")) {
*mime = "application/x-bzip2";
return 1;
}
else if (!strcmp(dot, ".cba")) {
*mime = "application/x-cbr";
return 1;
}
else if (!strcmp(dot, ".cbt")) {
*mime = "application/x-cbr";
return 1;
}
else if (!strcmp(dot, ".cb7")) {
*mime = "application/x-cbr";
return 1;
}
else if (!strcmp(dot, ".cfs")) {
*mime = "application/x-cfs-compressed";
return 1;
}
else if (!strcmp(dot, ".chat")) {
*mime = "application/x-chat";
return 1;
}
else if (!strcmp(dot, ".nsc")) {
*mime = "application/x-conference";
return 1;
}
else if (!strcmp(dot, ".dgc")) {
*mime = "application/x-dgc-compressed";
return 1;
}
else if (!strcmp(dot, ".cct")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".cxt")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".w3d")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".fgd")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".swa")) {
*mime = "application/x-director";
return 1;
}
else if (!strcmp(dot, ".wad")) {
*mime = "application/x-doom";
return 1;
}
else if (!strcmp(dot, ".ncx")) {
*mime = "application/x-dtbncx+xml";
return 1;
}
else if (!strcmp(dot, ".dtb")) {
*mime = "application/x-dtbook+xml";
return 1;
}
else if (!strcmp(dot, ".res")) {
*mime = "application/x-dtbresource+xml";
return 1;
}
else if (!strcmp(dot, ".evy")) {
*mime = "application/x-envoy";
return 1;
}
else if (!strcmp(dot, ".eva")) {
*mime = "application/x-eva";
return 1;
}
else if (!strcmp(dot, ".bdf")) {
*mime = "application/x-font-bdf";
return 1;
}
else if (!strcmp(dot, ".gsf")) {
*mime = "application/x-font-ghostscript";
return 1;
}
else if (!strcmp(dot, ".psf")) {
*mime = "application/x-font-linux-psf";
return 1;
}
else if (!strcmp(dot, ".pcf")) {
*mime = "application/x-font-pcf";
return 1;
}
else if (!strcmp(dot, ".snf")) {
*mime = "application/x-font-snf";
return 1;
}
else if (!strcmp(dot, ".pfa")) {
*mime = "application/x-font-type1";
return 1;
}
else if (!strcmp(dot, ".pfb")) {
*mime = "application/x-font-type1";
return 1;
}
else if (!strcmp(dot, ".pfm")) {
*mime = "application/x-font-type1";
return 1;
}
else if (!strcmp(dot, ".afm")) {
*mime = "application/x-font-type1";
return 1;
}
else if (!strcmp(dot, ".arc")) {
*mime = "application/x-freearc";
return 1;
}
else if (!strcmp(dot, ".gca")) {
*mime = "application/x-gca-compressed";
return 1;
}
else if (!strcmp(dot, ".ulx")) {
*mime = "application/x-glulx";
return 1;
}
else if (!strcmp(dot, ".gnumeric")) {
*mime = "application/x-gnumeric";
return 1;
}
else if (!strcmp(dot, ".gramps")) {
*mime = "application/x-gramps-xml";
return 1;
}
else if (!strcmp(dot, ".install")) {
*mime = "application/x-install-instructions";
return 1;
}
else if (!strcmp(dot, ".mie")) {
*mime = "application/x-mie";
return 1;
}
else if (!strcmp(dot, ".mobi")) {
*mime = "application/x-mobipocket-ebook";
return 1;
}
else if (!strcmp(dot, ".application")) {
*mime = "application/x-ms-application";
return 1;
}
else if (!strcmp(dot, ".lnk")) {
*mime = "application/x-ms-shortcut";
return 1;
}
else if (!strcmp(dot, ".wmd")) {
*mime = "application/x-ms-wmd";
return 1;
}
else if (!strcmp(dot, ".wmz")) {
*mime = "application/x-msmetafile";
return 1;
}
else if (!strcmp(dot, ".xbap")) {
*mime = "application/x-ms-xbap";
return 1;
}
else if (!strcmp(dot, ".mdb")) {
*mime = "application/x-msaccess";
return 1;
}
else if (!strcmp(dot, ".obd")) {
*mime = "application/x-msbinder";
return 1;
}
else if (!strcmp(dot, ".crd")) {
*mime = "application/x-mscardfile";
return 1;
}
else if (!strcmp(dot, ".clp")) {
*mime = "application/x-msclip";
return 1;
}
else if (!strcmp(dot, ".com")) {
*mime = "application/x-msdownload";
return 1;
}
else if (!strcmp(dot, ".msi")) {
*mime = "application/x-msdownload";
return 1;
}
else if (!strcmp(dot, ".mvb")) {
*mime = "application/x-msmediaview";
return 1;
}
else if (!strcmp(dot, ".m13")) {
*mime = "application/x-msmediaview";
return 1;
}
else if (!strcmp(dot, ".m14")) {
*mime = "application/x-msmediaview";
return 1;
}
else if (!strcmp(dot, ".emz")) {
*mime = "application/x-msmetafile";
return 1;
}
else if (!strcmp(dot, ".mny")) {
*mime = "application/x-msmoney";
return 1;
}
else if (!strcmp(dot, ".trm")) {
*mime = "application/x-msterminal";
return 1;
}
else if (!strcmp(dot, ".wri")) {
*mime = "application/x-mswrite";
return 1;
}
else if (!strcmp(dot, ".nzb")) {
*mime = "application/x-nzb";
return 1;
}
else if (!strcmp(dot, ".p7b")) {
*mime = "application/x-pkcs7-certificates";
return 1;
}
else if (!strcmp(dot, ".spc")) {
*mime = "application/x-pkcs7-certificates";
return 1;
}
else if (!strcmp(dot, ".p7r")) {
*mime = "application/x-pkcs7-certreqresp";
return 1;
}
else if (!strcmp(dot, ".ris")) {
*mime = "application/x-research-info-systems";
return 1;
}
else if (!strcmp(dot, ".xap")) {
*mime = "application/x-silverlight-app";
return 1;
}
else if (!strcmp(dot, ".sitx")) {
*mime = "application/x-stuffitx";
return 1;
}
else if (!strcmp(dot, ".srt")) {
*mime = "application/x-subrip";
return 1;
}
else if (!strcmp(dot, ".t3")) {
*mime = "application/x-t3vm-image";
return 1;
}
else if (!strcmp(dot, ".gam")) {
*mime = "application/x-tads";
return 1;
}
else if (!strcmp(dot, ".tfm")) {
*mime = "application/x-tex-tfm";
return 1;
}
else if (!strcmp(dot, ".der")) {
*mime = "application/x-x509-ca-cert";
return 1;
}
else if (!strcmp(dot, ".crt")) {
*mime = "application/x-x509-ca-cert";
return 1;
}
else if (!strcmp(dot, ".fig")) {
*mime = "application/x-xfig";
return 1;
}
else if (!strcmp(dot, ".z1")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".z2")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".z3")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".z4")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".z5")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".z6")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".z7")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".z8")) {
*mime = "application/x-zmachine";
return 1;
}
else if (!strcmp(dot, ".xaml")) {
*mime = "application/xaml+xml";
return 1;
}
else if (!strcmp(dot, ".xenc")) {
*mime = "application/xenc+xml";
return 1;
}
else if (!strcmp(dot, ".xpl")) {
*mime = "application/xproc+xml";
return 1;
}
else if (!strcmp(dot, ".adp")) {
*mime = "audio/adpcm";
return 1;
}
else if (!strcmp(dot, ".rmi")) {
*mime = "audio/midi";
return 1;
}
else if (!strcmp(dot, ".mp4a")) {
*mime = "audio/mp4";
return 1;
}
else if (!strcmp(dot, ".mp2a")) {
*mime = "audio/mpeg";
return 1;
}
else if (!strcmp(dot, ".m2a")) {
*mime = "audio/mpeg";
return 1;
}
else if (!strcmp(dot, ".m3a")) {
*mime = "audio/mpeg";
return 1;
}
else if (!strcmp(dot, ".sil")) {
*mime = "audio/silk";
return 1;
}
else if (!strcmp(dot, ".dra")) {
*mime = "audio/vnd.dra";
return 1;
}
else if (!strcmp(dot, ".weba")) {
*mime = "audio/webm";
return 1;
}
else if (!strcmp(dot, ".caf")) {
*mime = "audio/x-caf";
return 1;
}
else if (!strcmp(dot, ".rmp")) {
*mime = "audio/x-pn-realaudio-plugin";
return 1;
}
else if (!strcmp(dot, ".xm")) {
*mime = "audio/xm";
return 1;
}
else if (!strcmp(dot, ".cdx")) {
*mime = "chemical/x-cdx";
return 1;
}
else if (!strcmp(dot, ".cmdf")) {
*mime = "chemical/x-cmdf";
return 1;
}
else if (!strcmp(dot, ".csml")) {
*mime = "chemical/x-csml";
return 1;
}
else if (!strcmp(dot, ".wdp")) {
*mime = "image/vnd.ms-photo";
return 1;
}
else if (!strcmp(dot, ".npx")) {
*mime = "image/vnd.net-fpx";
return 1;
}
else if (!strcmp(dot, ".3ds")) {
*mime = "image/x-3ds";
return 1;
}
else if (!strcmp(dot, ".cmx")) {
*mime = "image/x-cmx";
return 1;
}
else if (!strcmp(dot, ".fh")) {
*mime = "image/x-freehand";
return 1;
}
else if (!strcmp(dot, ".fhc")) {
*mime = "image/x-freehand";
return 1;
}
else if (!strcmp(dot, ".fh4")) {
*mime = "image/x-freehand";
return 1;
}
else if (!strcmp(dot, ".fh5")) {
*mime = "image/x-freehand";
return 1;
}
else if (!strcmp(dot, ".fh7")) {
*mime = "image/x-freehand";
return 1;
}
else if (!strcmp(dot, ".pic")) {
*mime = "image/x-pict";
return 1;
}
else if (!strcmp(dot, ".pct")) {
*mime = "image/x-pict";
return 1;
}
else if (!strcmp(dot, ".mime")) {
*mime = "message/rfc822";
return 1;
}
else if (!strcmp(dot, ".x3dbz")) {
*mime = "model/x3d+binary";
return 1;
}
else if (!strcmp(dot, ".x3dz")) {
*mime = "model/x3d+xml";
return 1;
}
else if (!strcmp(dot, ".def")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".list")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".in")) {
*mime = "text/plain";
}
else if (!strcmp(dot, ".urls")) {
*mime = "text/uri-list";
}
else if (!strcmp(dot, ".dcurl")) {
*mime = "text/vnd.curl.dcurl";
}
else if (!strcmp(dot, ".mcurl")) {
*mime = "text/vnd.curl.mcurl";
}
else if (!strcmp(dot, ".scurl")) {
*mime = "text/vnd.curl.scurl";
}
else if (!strcmp(dot, ".s")) {
*mime = "text/x-asm";
}
else if (!strcmp(dot, ".asm")) {
*mime = "text/x-asm";
}
else if (!strcmp(dot, ".cpp")) {
*mime = "text/x-c";
}
else if (!strcmp(dot, ".dic")) {
*mime = "text/x-c";
}
else if (!strcmp(dot, ".f")) {
*mime = "text/x-fortran";
}
else if (!strcmp(dot, ".for")) {
*mime = "text/x-fortran";
}
else if (!strcmp(dot, ".f77")) {
*mime = "text/x-fortran";
}
else if (!strcmp(dot, ".java")) {
*mime = "text/x-java-source";
}
else if (!strcmp(dot, ".nfo")) {
*mime = "text/x-nfo";
}
else if (!strcmp(dot, ".opml")) {
*mime = "text/x-opml";
}
else if (!strcmp(dot, ".p")) {
*mime = "text/x-pascal";
}
else if (!strcmp(dot, ".pas")) {
*mime = "text/x-pascal";
}
else if (!strcmp(dot, ".sfv")) {
*mime = "text/x-sfv";
}
else if (!strcmp(dot, ".uu")) {
*mime = "text/x-uuencode";
}
else if (!strcmp(dot, ".vcs")) {
*mime = "text/x-vcalendar";
}
else if (!strcmp(dot, ".h261")) {
*mime = "video/h261";
return 1;
}
else if (!strcmp(dot, ".h263")) {
*mime = "video/h263";
return 1;
}
else if (!strcmp(dot, ".h264")) {
*mime = "video/h264";
return 1;
}
else if (!strcmp(dot, ".jpgv")) {
*mime = "video/jpeg";
return 1;
}
else if (!strcmp(dot, ".mp4v")) {
*mime = "video/mp4";
return 1;
}
else if (!strcmp(dot, ".f4v")) {
*mime = "video/x-f4v";
return 1;
}
else if (!strcmp(dot, ".fli")) {
*mime = "video/x-fli";
return 1;
}
else if (!strcmp(dot, ".mks")) {
*mime = "video/x-matroska";
return 1;
}
else if (!strcmp(dot, ".mng")) {
*mime = "video/x-mng";
return 1;
}
else if (!strcmp(dot, ".vob")) {
*mime = "video/x-ms-vob";
return 1;
}
else if (!strcmp(dot, "example")) {
*mime = "text/example";
} else {
warn("mimetype for %s not found\n", filename);
*mime = "text/plain";
}
if (hasTriedIndex == 1) {
hasTriedIndex = 2;
} else {
hasTriedIndex = 0;
}
}
return 0;
}