├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── build.zig ├── licenses.txt ├── mime.zig ├── test.zig └── zigmod.yml /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.zig text eol=lf 3 | zigmod.* text eol=lf 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .zig-cache 2 | zig-out 3 | .zigmod 4 | deps.zig 5 | files.zig 6 | zigmod.lock 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Meghan Denny 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # zig-mime 2 | 3 | ![loc](https://sloc.xyz/github/nektro/zig-mime) 4 | [![license](https://img.shields.io/github/license/nektro/zig-mime.svg)](https://github.com/nektro/zig-mime/blob/master/LICENSE) 5 | [![nektro @ github sponsors](https://img.shields.io/badge/sponsors-nektro-purple?logo=github)](https://github.com/sponsors/nektro) 6 | [![Zig](https://img.shields.io/badge/Zig-0.14-f7a41d)](https://ziglang.org/) 7 | [![Zigmod](https://img.shields.io/badge/Zigmod-latest-f7a41d)](https://github.com/nektro/zigmod) 8 | 9 | Query the MIME type of a file extension. 10 | 11 | https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/MIME_types 12 | -------------------------------------------------------------------------------- /build.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | const deps = @import("./deps.zig"); 3 | 4 | pub fn build(b: *std.Build) void { 5 | const target = b.standardTargetOptions(.{}); 6 | const mode = b.option(std.builtin.Mode, "mode", "") orelse .Debug; 7 | const disable_llvm = b.option(bool, "disable_llvm", "use the non-llvm zig codegen") orelse false; 8 | 9 | const tests = b.addTest(.{ 10 | .root_source_file = b.path("test.zig"), 11 | .target = target, 12 | .optimize = mode, 13 | }); 14 | deps.addAllTo(tests); 15 | tests.use_llvm = !disable_llvm; 16 | tests.use_lld = !disable_llvm; 17 | 18 | const test_step = b.step("test", "Run all library tests"); 19 | const tests_run = b.addRunArtifact(tests); 20 | tests_run.has_side_effects = true; 21 | test_step.dependOn(&tests_run.step); 22 | } 23 | -------------------------------------------------------------------------------- /licenses.txt: -------------------------------------------------------------------------------- 1 | MIT: 2 | = https://spdx.org/licenses/MIT 3 | - This 4 | - git https://github.com/nektro/zig-expect 5 | -------------------------------------------------------------------------------- /mime.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | const string = []const u8; 3 | 4 | // Many entries added from https://pagure.io/mailcap/blob/master/f/mime.types 5 | // Last updated as of 9699055a1b4dfb90f7594ee2e8dda705fa56d3b8 6 | 7 | pub const map = std.StaticStringMap(string).initComptime(.{ 8 | .{ ".1", "application/x-troff-man" }, 9 | .{ ".123", "application/vnd.lotus-1-2-3" }, 10 | .{ ".1clr", "application/clr" }, 11 | .{ ".1km", "application/vnd.1000minds.decision-model+xml" }, 12 | .{ ".2", "application/x-troff-man" }, 13 | .{ ".210", "application/p21" }, 14 | .{ ".3", "application/x-troff-man" }, 15 | .{ ".3dm", "text/vnd.in3d.3dml" }, 16 | .{ ".3dml", "text/vnd.in3d.3dml" }, 17 | .{ ".3g2", "video/3gpp2" }, 18 | .{ ".3gp", "video/3gpp" }, 19 | .{ ".3gpp", "video/3gpp" }, 20 | .{ ".3gpp2", "video/3gpp2" }, 21 | .{ ".3mf", "application/vnd.ms-3mfdocument" }, 22 | .{ ".3tz", "application/vnd.maxar.archive.3tz+zip" }, 23 | .{ ".4", "application/x-troff-man" }, 24 | .{ ".5", "application/x-troff-man" }, 25 | .{ ".6", "application/x-troff-man" }, 26 | .{ ".669", "audio/x-mod" }, 27 | .{ ".7", "application/x-troff-man" }, 28 | .{ ".726", "audio/32kadpcm" }, 29 | .{ ".7z", "application/x-7z-compressed" }, 30 | .{ ".8", "application/x-troff-man" }, 31 | .{ ".CQL", "text/cql" }, 32 | .{ ".SAR", "application/vnd.sar" }, 33 | .{ ".VES", "application/vnd.ves.encrypted" }, 34 | .{ ".a", "text/vnd.a" }, 35 | .{ ".a2l", "application/A2L" }, 36 | .{ ".aa3", "audio/ATRAC3" }, 37 | .{ ".aac", "audio/aac" }, 38 | .{ ".aal", "audio/ATRAC-ADVANCED-LOSSLESS" }, 39 | .{ ".abc", "text/vnd.abc" }, 40 | .{ ".abw", "application/x-abiword" }, 41 | .{ ".ac", "application/vnd.nokia.n-gage.ac+xml" }, 42 | .{ ".ac2", "application/vnd.banana-accounting" }, 43 | .{ ".ac3", "audio/ac3" }, 44 | .{ ".acc", "application/vnd.americandynamics.acc" }, 45 | .{ ".acn", "audio/asc" }, 46 | .{ ".acu", "application/vnd.acucobol" }, 47 | .{ ".acutc", "application/vnd.acucorp" }, 48 | .{ ".adts", "audio/aac" }, 49 | .{ ".aep", "application/vnd.audiograph" }, 50 | .{ ".afp", "application/vnd.afpc.modca" }, 51 | .{ ".age", "application/vnd.age" }, 52 | .{ ".ahead", "application/vnd.ahead.space" }, 53 | .{ ".ai", "application/postscript" }, 54 | .{ ".aif", "audio/x-aiff" }, 55 | .{ ".aifc", "audio/x-aiff" }, 56 | .{ ".aiff", "audio/x-aiff" }, 57 | .{ ".aion", "application/vnd.veritone.aion+json" }, 58 | .{ ".ait", "application/vnd.dvb.ait" }, 59 | .{ ".ami", "application/vnd.amiga.ami" }, 60 | .{ ".aml", "application/AML" }, 61 | .{ ".amlx", "application/automationml-amlx+zip" }, 62 | .{ ".amr", "audio/AMR" }, 63 | .{ ".anx", "application/x-annodex" }, 64 | .{ ".apex", "application/vnd.apexlang" }, 65 | .{ ".apexland", "application/vnd.apexlang" }, 66 | .{ ".apk", "application/vnd.android.package-archive" }, 67 | .{ ".apkg", "application/vnd.anki" }, 68 | .{ ".apng", "image/vnd.mozilla.apng" }, 69 | .{ ".appcache", "text/cache-manifest" }, 70 | .{ ".apr", "application/vnd.lotus-approach" }, 71 | .{ ".apxml", "application/auth-policy+xml" }, 72 | .{ ".arc", "application/x-freearc" }, 73 | .{ ".arrow", "application/vnd.apache.arrow.file" }, 74 | .{ ".arrows", "application/vnd.apache.arrow.stream" }, 75 | .{ ".art", "message/rfc822" }, 76 | .{ ".artisan", "application/vnd.artisan+json" }, 77 | .{ ".asc", "text/plain" }, 78 | .{ ".ascii", "text/vnd.ascii-art" }, 79 | .{ ".asf", "application/vnd.ms-asf" }, 80 | .{ ".asice", "application/vnd.etsi.asic-e+zip" }, 81 | .{ ".asics", "application/vnd.etsi.asic-s+zip" }, 82 | .{ ".aso", "application/vnd.accpac.simply.aso" }, 83 | .{ ".ass", "audio/aac" }, 84 | .{ ".asx", "video/x-ms-asf" }, 85 | .{ ".at3", "audio/ATRAC3" }, 86 | .{ ".atc", "application/vnd.acucorp" }, 87 | .{ ".atf", "application/ATF" }, 88 | .{ ".atfx", "application/ATFX" }, 89 | .{ ".atom", "application/atom+xml" }, 90 | .{ ".atomcat", "application/atomcat+xml" }, 91 | .{ ".atomdeleted", "application/atomdeleted+xml" }, 92 | .{ ".atomsvc", "application/atomsvc+xml" }, 93 | .{ ".atx", "audio/ATRAC-X" }, 94 | .{ ".atxml", "application/ATXML" }, 95 | .{ ".au", "audio/basic" }, 96 | .{ ".auc", "application/tamp-apex-update-confirm" }, 97 | .{ ".avci", "image/avci" }, 98 | .{ ".avcs", "image/avcs" }, 99 | .{ ".avi", "video/x-msvideo" }, 100 | .{ ".avif", "image/avif" }, 101 | .{ ".awb", "audio/AMR-WB" }, 102 | .{ ".axa", "audio/x-annodex" }, 103 | .{ ".axdl", "application/vnd.apexlang" }, 104 | .{ ".axv", "video/x-annodex" }, 105 | .{ ".azf", "application/vnd.airzip.filesecure.azf" }, 106 | .{ ".azs", "application/vnd.airzip.filesecure.azs" }, 107 | .{ ".azv", "image/vnd.airzip.accelerator.azv" }, 108 | .{ ".azw", "application/vnd.amazon.ebook" }, 109 | .{ ".azw3", "application/vnd.amazon.mobi8-ebook" }, 110 | .{ ".b16", "image/vnd.pco.b16" }, 111 | .{ ".bar", "application/vnd.qualcomm.brew-app-res" }, 112 | .{ ".bary", "model/vnd.bary" }, 113 | .{ ".bcpio", "application/x-bcpio" }, 114 | .{ ".bdm", "application/vnd.syncml.dm+wbxml" }, 115 | .{ ".bed", "application/vnd.realvnc.bed" }, 116 | .{ ".bh2", "application/vnd.fujitsu.oasysprs" }, 117 | .{ ".bik", "video/vnd.radgamettools.bink" }, 118 | .{ ".bin", "application/octet-stream" }, 119 | .{ ".bk2", "video/vnd.radgamettools.bink" }, 120 | .{ ".bkm", "application/vnd.nervana" }, 121 | .{ ".bmed", "multipart/vnd.bint.med-plus" }, 122 | .{ ".bmi", "application/vnd.bmi" }, 123 | .{ ".bmml", "application/vnd.balsamiq.bmml+xml" }, 124 | .{ ".bmp", "image/bmp" }, 125 | .{ ".bmpr", "application/vnd.balsamiq.bmpr" }, 126 | .{ ".box", "application/vnd.previewsystems.box" }, 127 | .{ ".bpd", "application/vnd.hbci" }, 128 | .{ ".bsp", "model/vnd.valve.source.compiled-map" }, 129 | .{ ".btf", "image/prs.btif" }, 130 | .{ ".btif", "image/prs.btif" }, 131 | .{ ".bz", "application/x-bzip" }, 132 | .{ ".bz2", "application/x-bzip2" }, 133 | .{ ".c", "text/plain" }, 134 | .{ ".c11amc", "application/vnd.cluetrust.cartomobile-config" }, 135 | .{ ".c11amz", "application/vnd.cluetrust.cartomobile-config-pkg" }, 136 | .{ ".c3ex", "application/cccex" }, 137 | .{ ".c4d", "application/vnd.clonk.c4group" }, 138 | .{ ".c4f", "application/vnd.clonk.c4group" }, 139 | .{ ".c4g", "application/vnd.clonk.c4group" }, 140 | .{ ".c4p", "application/vnd.clonk.c4group" }, 141 | .{ ".c4u", "application/vnd.clonk.c4group" }, 142 | .{ ".c9r", "application/vnd.cryptomator.encrypted" }, 143 | .{ ".c9s", "application/vnd.cryptomator.encrypted" }, 144 | .{ ".cab", "application/vnd.ms-cab-compressed" }, 145 | .{ ".cap", "application/vnd.tcpdump.pcap" }, 146 | .{ ".car", "application/vnd.ipld.car" }, 147 | .{ ".carjson", "application/vnd.eu.kasparian.car+json" }, 148 | .{ ".cbor", "application/cbor" }, 149 | .{ ".cbr", "application/vnd.comicbook-rar" }, 150 | .{ ".cbz", "application/vnd.comicbook+zip" }, 151 | .{ ".cc", "text/plain" }, 152 | .{ ".ccc", "text/vnd.net2phone.commcenter.command" }, 153 | .{ ".ccmp", "application/ccmp+xml" }, 154 | .{ ".ccxml", "application/ccxml+xml" }, 155 | .{ ".cda", "application/x-cdf" }, 156 | .{ ".cdbcmsg", "application/vnd.contact.cmsg" }, 157 | .{ ".cdf", "application/x-netcdf" }, 158 | .{ ".cdfx", "application/CDFX+XML" }, 159 | .{ ".cdkey", "application/vnd.mediastation.cdkey" }, 160 | .{ ".cdmia", "application/cdmi-capability" }, 161 | .{ ".cdmic", "application/cdmi-container" }, 162 | .{ ".cdmid", "application/cdmi-domain" }, 163 | .{ ".cdmio", "application/cdmi-object" }, 164 | .{ ".cdmiq", "application/cdmi-queue" }, 165 | .{ ".cdxml", "application/vnd.chemdraw+xml" }, 166 | .{ ".cdy", "application/vnd.cinderella" }, 167 | .{ ".cea", "application/CEA" }, 168 | .{ ".cellml", "application/cellml+xml" }, 169 | .{ ".cer", "application/pkix-cert" }, 170 | .{ ".cgm", "image/cgm" }, 171 | .{ ".chm", "application/vnd.ms-htmlhelp" }, 172 | .{ ".chrt", "application/vnd.kde.kchart" }, 173 | .{ ".cif", "application/vnd.multiad.creator.cif" }, 174 | .{ ".cii", "application/vnd.anser-web-certificate-issue-initiation" }, 175 | .{ ".cil", "application/vnd.ms-artgalry" }, 176 | .{ ".cjs", "application/javascript" }, 177 | .{ ".cl", "application/simple-filter+xml" }, 178 | .{ ".cla", "application/vnd.claymore" }, 179 | .{ ".class", "application/octet-stream" }, 180 | .{ ".cld", "model/vnd.cld" }, 181 | .{ ".clkk", "application/vnd.crick.clicker.keyboard" }, 182 | .{ ".clkp", "application/vnd.crick.clicker.palette" }, 183 | .{ ".clkt", "application/vnd.crick.clicker.template" }, 184 | .{ ".clkw", "application/vnd.crick.clicker.wordbank" }, 185 | .{ ".clkx", "application/vnd.crick.clicker" }, 186 | .{ ".clue", "application/clue_info+xml" }, 187 | .{ ".cmc", "application/vnd.cosmocaller" }, 188 | .{ ".cml", "application/cellml+xml" }, 189 | .{ ".cmp", "application/vnd.yellowriver-custom-menu" }, 190 | .{ ".cmsc", "application/cms" }, 191 | .{ ".cnd", "text/jcr-cnd" }, 192 | .{ ".coffee", "application/vnd.coffeescript" }, 193 | .{ ".conf", "text/plain" }, 194 | .{ ".copyright", "text/vnd.debian.copyright" }, 195 | .{ ".coswid", "application/swid+cbor" }, 196 | .{ ".cpio", "application/x-cpio" }, 197 | .{ ".cpkg", "application/vnd.xmpie.cpkg" }, 198 | .{ ".cpl", "application/cpl+xml" }, 199 | .{ ".cpt", "application/mac-compactpro" }, 200 | .{ ".crl", "application/pkix-crl" }, 201 | .{ ".crtr", "application/vnd.multiad.creator" }, 202 | .{ ".crx", "application/x-chrome-extension" }, 203 | .{ ".cryptomator", "application/vnd.cryptomator.vault" }, 204 | .{ ".cryptonote", "application/vnd.rig.cryptonote" }, 205 | .{ ".csh", "application/x-csh" }, 206 | .{ ".csl", "application/vnd.citationstyles.style+xml" }, 207 | .{ ".csp", "application/vnd.commonspace" }, 208 | .{ ".csrattrs", "application/csrattrs" }, 209 | .{ ".css", "text/css" }, 210 | .{ ".cst", "application/vnd.commonspace" }, 211 | .{ ".csv", "text/csv" }, 212 | .{ ".csvs", "text/csv-schema" }, 213 | .{ ".cuc", "application/tamp-community-update-confirm" }, 214 | .{ ".curl", "application/vnd.curl" }, 215 | .{ ".cw", "application/prs.cww" }, 216 | .{ ".cwl", "application/cwl" }, 217 | .{ ".cwl.json", "application/cwl+json" }, 218 | .{ ".cww", "application/prs.cww" }, 219 | .{ ".cxx", "text/plain" }, 220 | .{ ".dae", "model/vnd.collada+xml" }, 221 | .{ ".daf", "application/vnd.Mobius.DAF" }, 222 | .{ ".dart", "application/vnd.dart" }, 223 | .{ ".dataless", "application/vnd.fdsn.seed" }, 224 | .{ ".davmount", "application/davmount+xml" }, 225 | .{ ".dbf", "application/vnd.dbf" }, 226 | .{ ".dcd", "application/DCD" }, 227 | .{ ".dcf", "application/vnd.oma.drm.content" }, 228 | .{ ".dcm", "application/dicom" }, 229 | .{ ".dcr", "application/x-director" }, 230 | .{ ".dd", "application/vnd.oma.dd+xml" }, 231 | .{ ".dd2", "application/vnd.oma.dd2+xml" }, 232 | .{ ".ddd", "application/vnd.fujixerox.ddd" }, 233 | .{ ".ddf", "application/vnd.syncml.dmddf+xml" }, 234 | .{ ".deb", "application/vnd.debian.binary-package" }, 235 | .{ ".dfac", "application/vnd.dreamfactory" }, 236 | .{ ".dib", "image/bmp" }, 237 | .{ ".dii", "application/DII" }, 238 | .{ ".dim", "application/vnd.fastcopy-disk-image" }, 239 | .{ ".dir", "application/x-director" }, 240 | .{ ".dis", "application/vnd.Mobius.DIS" }, 241 | .{ ".dist", "application/vnd.apple.installer+xml" }, 242 | .{ ".distz", "application/vnd.apple.installer+xml" }, 243 | .{ ".dit", "application/DIT" }, 244 | .{ ".dive", "application/vnd.patentdive" }, 245 | .{ ".djv", "image/vnd.djvu" }, 246 | .{ ".djvu", "image/vnd.djvu" }, 247 | .{ ".dl", "application/vnd.datalog" }, 248 | .{ ".dll", "application/octet-stream" }, 249 | .{ ".dls", "audio/dls" }, 250 | .{ ".dm", "application/vnd.oma.drm.message" }, 251 | .{ ".dmp", "application/vnd.tcpdump.pcap" }, 252 | .{ ".dms", "text/vnd.DMClientScript" }, 253 | .{ ".dna", "application/vnd.dna" }, 254 | .{ ".doc", "application/msword" }, 255 | .{ ".docjson", "application/vnd.document+json" }, 256 | .{ ".docm", "application/vnd.ms-word.document.macroEnabled.12" }, 257 | .{ ".docx", "application/vnd.openxmlformats-officedocument.wordprocessingml.document" }, 258 | .{ ".dor", "model/vnd.gdl" }, 259 | .{ ".dot", "text/vnd.graphviz" }, 260 | .{ ".dotm", "application/vnd.ms-word.template.macroEnabled.12" }, 261 | .{ ".dotx", "application/vnd.openxmlformats-officedocument.wordprocessingml.template" }, 262 | .{ ".dp", "application/vnd.osgi.dp" }, 263 | .{ ".dpg", "application/vnd.dpgraph" }, 264 | .{ ".dpgraph", "application/vnd.dpgraph" }, 265 | .{ ".dpkg", "application/vnd.xmpie.dpkg" }, 266 | .{ ".dpx", "image/dpx" }, 267 | .{ ".dr", "application/vnd.oma.drm.rights+xml" }, 268 | .{ ".drc", "application/vnd.oma.drm.rights+wbxml" }, 269 | .{ ".drle", "image/dicom-rle" }, 270 | .{ ".dsc", "text/prs.lines.tag" }, 271 | .{ ".dsm", "application/vnd.desmume.movie" }, 272 | .{ ".dssc", "application/dssc+der" }, 273 | .{ ".dtd", "application/xml-dtd" }, 274 | .{ ".dts", "audio/vnd.dts" }, 275 | .{ ".dtshd", "audio/vnd.dts.hd" }, 276 | .{ ".dvb", "video/vnd.dvb.file" }, 277 | .{ ".dvc", "application/dvcs" }, 278 | .{ ".dvi", "application/x-dvi" }, 279 | .{ ".dwd", "application/atsc-dwd+xml" }, 280 | .{ ".dwf", "model/vnd.dwf" }, 281 | .{ ".dwg", "image/vnd.dwg" }, 282 | .{ ".dxf", "image/vnd.dxf" }, 283 | .{ ".dxp", "application/vnd.spotfire.dxp" }, 284 | .{ ".dxr", "application/x-director" }, 285 | .{ ".dzr", "application/vnd.dzr" }, 286 | .{ ".ebuild", "application/vnd.gentoo.ebuild" }, 287 | .{ ".ecelp4800", "audio/vnd.nuera.ecelp4800" }, 288 | .{ ".ecelp7470", "audio/vnd.nuera.ecelp7470" }, 289 | .{ ".ecelp9600", "audio/vnd.nuera.ecelp9600" }, 290 | .{ ".ecig", "application/vnd.evolv.ecig.settings" }, 291 | .{ ".ecigprofile", "application/vnd.evolv.ecig.profile" }, 292 | .{ ".ecigtheme", "application/vnd.evolv.ecig.theme" }, 293 | .{ ".eclass", "application/vnd.gentoo.eclass" }, 294 | .{ ".edm", "application/vnd.novadigm.EDM" }, 295 | .{ ".edx", "application/vnd.novadigm.EDX" }, 296 | .{ ".efi", "application/efi" }, 297 | .{ ".efif", "application/vnd.picsel" }, 298 | .{ ".ei6", "application/vnd.pg.osasli" }, 299 | .{ ".el", "text/plain" }, 300 | .{ ".eln", "application/vnd.eln+zip" }, 301 | .{ ".emf", "image/emf" }, 302 | .{ ".eml", "message/rfc822" }, 303 | .{ ".emm", "application/vnd.ibm.electronic-media" }, 304 | .{ ".emma", "application/emma+xml" }, 305 | .{ ".emotionml", "application/emotionml+xml" }, 306 | .{ ".ent", "text/xml-external-parsed-entity" }, 307 | .{ ".entity", "application/vnd.nervana" }, 308 | .{ ".enw", "audio/EVRCNW" }, 309 | .{ ".eol", "audio/vnd.digital-winds" }, 310 | .{ ".eot", "application/vnd.ms-fontobject" }, 311 | .{ ".ep", "application/vnd.bluetooth.ep.oob" }, 312 | .{ ".eps", "application/postscript" }, 313 | .{ ".epub", "application/epub+zip" }, 314 | .{ ".es", "application/ecmascript" }, 315 | .{ ".es3", "application/vnd.eszigno3+xml" }, 316 | .{ ".esa", "application/vnd.osgi.subsystem" }, 317 | .{ ".esf", "application/vnd.epson.esf" }, 318 | .{ ".espass", "application/vnd.espass-espass+zip" }, 319 | .{ ".et3", "application/vnd.eszigno3+xml" }, 320 | .{ ".etx", "text/x-setext" }, 321 | .{ ".evb", "audio/EVRCB" }, 322 | .{ ".evc", "audio/EVRC" }, 323 | .{ ".evw", "audio/EVRCWB" }, 324 | .{ ".exe", "application/octet-stream" }, 325 | .{ ".exi", "application/exi" }, 326 | .{ ".exp", "application/express" }, 327 | .{ ".exr", "image/aces" }, 328 | .{ ".ext", "application/vnd.novadigm.EXT" }, 329 | .{ ".ez", "application/andrew-inset" }, 330 | .{ ".ez2", "application/vnd.ezpix-album" }, 331 | .{ ".ez3", "application/vnd.ezpix-package" }, 332 | .{ ".f90", "text/plain" }, 333 | .{ ".fbs", "image/vnd.fastbidsheet" }, 334 | .{ ".fcdt", "application/vnd.adobe.formscentral.fcdt" }, 335 | .{ ".fcs", "application/vnd.isac.fcs" }, 336 | .{ ".fdf", "application/vnd.fdf" }, 337 | .{ ".fdt", "application/fdt+xml" }, 338 | .{ ".fe_launch", "application/vnd.denovo.fcselayout-link" }, 339 | .{ ".fg5", "application/vnd.fujitsu.oasysgp" }, 340 | .{ ".finf", "application/fastinfoset" }, 341 | .{ ".fit", "image/fits" }, 342 | .{ ".fits", "image/fits" }, 343 | .{ ".fla", "application/vnd.dtg.local.flash" }, 344 | .{ ".flac", "audio/x-flac" }, 345 | .{ ".flb", "application/vnd.ficlab.flb+zip" }, 346 | .{ ".flo", "application/vnd.micrografx.flo" }, 347 | .{ ".flt", "text/vnd.ficlab.flt" }, 348 | .{ ".flv", "video/x-flv" }, 349 | .{ ".flw", "application/vnd.kde.kivio" }, 350 | .{ ".flx", "text/vnd.fmi.flexstor" }, 351 | .{ ".fly", "text/vnd.fly" }, 352 | .{ ".fm", "application/vnd.framemaker" }, 353 | .{ ".fnc", "application/vnd.frogans.fnc" }, 354 | .{ ".fo", "application/vnd.software602.filler.form+xml" }, 355 | .{ ".fpx", "image/vnd.fpx" }, 356 | .{ ".frm", "application/vnd.ufdl" }, 357 | .{ ".fsc", "application/vnd.fsc.weblaunch" }, 358 | .{ ".fst", "image/vnd.fst" }, 359 | .{ ".ftc", "application/vnd.fluxtime.clip" }, 360 | .{ ".fti", "application/vnd.anser-web-funds-transfer-initiation" }, 361 | .{ ".fts", "image/fits" }, 362 | .{ ".fvt", "video/vnd.fvt" }, 363 | .{ ".fxm", "video/x-javafx" }, 364 | .{ ".fxp", "application/vnd.adobe.fxp" }, 365 | .{ ".fxpl", "application/vnd.adobe.fxp" }, 366 | .{ ".fzs", "application/vnd.fuzzysheet" }, 367 | .{ ".g2w", "application/vnd.geoplan" }, 368 | .{ ".g3", "application/vnd.geocube+xml" }, 369 | .{ ".g3w", "application/vnd.geospace" }, 370 | .{ ".gac", "application/vnd.groove-account" }, 371 | .{ ".gbr", "application/rpki-ghostbusters" }, 372 | .{ ".gdl", "model/vnd.gdl" }, 373 | .{ ".gdz", "application/vnd.familysearch.gedcom+zip" }, 374 | .{ ".ged", "text/vnd.familysearch.gedcom" }, 375 | .{ ".genozip", "application/vnd.genozip" }, 376 | .{ ".geo", "application/vnd.dynageo" }, 377 | .{ ".geojson", "application/geo+json" }, 378 | .{ ".gex", "application/vnd.geometry-explorer" }, 379 | .{ ".gff3", "text/gff3" }, 380 | .{ ".ggb", "application/vnd.geogebra.file" }, 381 | .{ ".ggs", "application/vnd.geogebra.slides" }, 382 | .{ ".ggt", "application/vnd.geogebra.tool" }, 383 | .{ ".ghf", "application/vnd.groove-help" }, 384 | .{ ".gif", "image/gif" }, 385 | .{ ".gim", "application/vnd.groove-identity-message" }, 386 | .{ ".glb", "model/gltf-binary" }, 387 | .{ ".glbin", "application/gltf-buffer" }, 388 | .{ ".glbuf", "application/gltf-buffer" }, 389 | .{ ".gltf", "model/gltf+json" }, 390 | .{ ".gml", "application/gml+xml" }, 391 | .{ ".gmx", "application/vnd.gmx" }, 392 | .{ ".gph", "application/vnd.FloGraphIt" }, 393 | .{ ".gpkg", "application/geopackage+sqlite3" }, 394 | .{ ".gpkg.tar", "application/vnd.gentoo.gpkg" }, 395 | .{ ".gqf", "application/vnd.grafeq" }, 396 | .{ ".gqs", "application/vnd.grafeq" }, 397 | .{ ".gram", "application/srgs" }, 398 | .{ ".gre", "application/vnd.geometry-explorer" }, 399 | .{ ".grv", "application/vnd.groove-injector" }, 400 | .{ ".grxml", "application/srgs+xml" }, 401 | .{ ".gsheet", "application/urc-grpsheet+xml" }, 402 | .{ ".gsm", "model/vnd.gdl" }, 403 | .{ ".gtar", "application/x-gtar" }, 404 | .{ ".gtm", "application/vnd.groove-tool-message" }, 405 | .{ ".gtw", "model/vnd.gtw" }, 406 | .{ ".gv", "text/vnd.graphviz" }, 407 | .{ ".gxt", "application/vnd.geonext" }, 408 | .{ ".gz", "application/gzip" }, 409 | .{ ".h", "text/plain" }, 410 | .{ ".h5", "application/mipc" }, 411 | .{ ".hal", "application/vnd.hal+xml" }, 412 | .{ ".hans", "text/vnd.hans" }, 413 | .{ ".hbc", "application/vnd.hbci" }, 414 | .{ ".hbci", "application/vnd.hbci" }, 415 | .{ ".hdf", "application/x-hdf" }, 416 | .{ ".hdr", "image/vnd.radiance" }, 417 | .{ ".hdt", "application/vnd.hdt" }, 418 | .{ ".heic", "image/heic" }, 419 | .{ ".heics", "image/heic-sequence" }, 420 | .{ ".heif", "image/heif" }, 421 | .{ ".heifs", "image/heif-sequence" }, 422 | .{ ".hej2", "image/hej2k" }, 423 | .{ ".held", "application/atsc-held+xml" }, 424 | .{ ".hgl", "text/vnd.hgl" }, 425 | .{ ".hh", "text/plain" }, 426 | .{ ".hif", "image/avif" }, 427 | .{ ".hpgl", "application/vnd.hp-HPGL" }, 428 | .{ ".hpi", "application/vnd.hp-hpid" }, 429 | .{ ".hpid", "application/vnd.hp-hpid" }, 430 | .{ ".hps", "application/vnd.hp-hps" }, 431 | .{ ".hpub", "application/prs.hpub+zip" }, 432 | .{ ".hqx", "application/mac-binhex40" }, 433 | .{ ".hsj2", "image/hsj2" }, 434 | .{ ".hsl", "application/vnd.hsl" }, 435 | .{ ".htke", "application/vnd.kenameaapp" }, 436 | .{ ".htm", "text/html" }, 437 | .{ ".html", "text/html" }, 438 | .{ ".hvd", "application/vnd.yamaha.hv-dic" }, 439 | .{ ".hvp", "application/vnd.yamaha.hv-voice" }, 440 | .{ ".hvs", "application/vnd.yamaha.hv-script" }, 441 | .{ ".hxx", "text/plain" }, 442 | .{ ".i2g", "application/vnd.intergeo" }, 443 | .{ ".ic0", "application/vnd.commerce-battelle" }, 444 | .{ ".ic1", "application/vnd.commerce-battelle" }, 445 | .{ ".ic2", "application/vnd.commerce-battelle" }, 446 | .{ ".ic3", "application/vnd.commerce-battelle" }, 447 | .{ ".ic4", "application/vnd.commerce-battelle" }, 448 | .{ ".ic5", "application/vnd.commerce-battelle" }, 449 | .{ ".ic6", "application/vnd.commerce-battelle" }, 450 | .{ ".ic7", "application/vnd.commerce-battelle" }, 451 | .{ ".ic8", "application/vnd.commerce-battelle" }, 452 | .{ ".ica", "application/vnd.commerce-battelle" }, 453 | .{ ".icc", "application/vnd.iccprofile" }, 454 | .{ ".icd", "application/vnd.commerce-battelle" }, 455 | .{ ".ice", "x-conference/x-cooltalk" }, 456 | .{ ".icf", "application/vnd.commerce-battelle" }, 457 | .{ ".icm", "application/vnd.iccprofile" }, 458 | .{ ".ico", "image/vnd.microsoft.icon" }, 459 | .{ ".ics", "text/calendar" }, 460 | .{ ".ief", "image/ief" }, 461 | .{ ".ifb", "text/calendar" }, 462 | .{ ".ifc", "application/p21" }, 463 | .{ ".ifm", "application/vnd.shana.informed.formdata" }, 464 | .{ ".iges", "model/iges" }, 465 | .{ ".igl", "application/vnd.igloader" }, 466 | .{ ".igm", "application/vnd.insors.igm" }, 467 | .{ ".ign", "application/vnd.coreos.ignition+json" }, 468 | .{ ".ignition", "application/vnd.coreos.ignition+json" }, 469 | .{ ".igs", "model/iges" }, 470 | .{ ".igx", "application/vnd.micrografx.igx" }, 471 | .{ ".iif", "application/vnd.shana.informed.interchange" }, 472 | .{ ".imf", "application/vnd.imagemeter.folder+zip" }, 473 | .{ ".img", "application/octet-stream" }, 474 | .{ ".imgcal", "application/vnd.3lightssoftware.imagescal" }, 475 | .{ ".imi", "application/vnd.imagemeter.image+zip" }, 476 | .{ ".imp", "application/vnd.accpac.simply.imp" }, 477 | .{ ".ims", "application/vnd.ms-ims" }, 478 | .{ ".imscc", "application/vnd.ims.imsccv1p1" }, 479 | .{ ".ink", "application/inkml+xml" }, 480 | .{ ".inkml", "application/inkml+xml" }, 481 | .{ ".iota", "application/vnd.astraea-software.iota" }, 482 | .{ ".ipfix", "application/ipfix" }, 483 | .{ ".ipk", "application/vnd.shana.informed.package" }, 484 | .{ ".irm", "application/vnd.ibm.rights-management" }, 485 | .{ ".irp", "application/vnd.irepository.package+xml" }, 486 | .{ ".ism", "model/vnd.gdl" }, 487 | .{ ".iso", "application/octet-stream" }, 488 | .{ ".istc", "application/vnd.veryant.thin" }, 489 | .{ ".isws", "application/vnd.veryant.thin" }, 490 | .{ ".itp", "application/vnd.shana.informed.formtemplate" }, 491 | .{ ".its", "application/its+xml" }, 492 | .{ ".ivp", "application/vnd.immervision-ivp" }, 493 | .{ ".ivu", "application/vnd.immervision-ivu" }, 494 | .{ ".jad", "text/vnd.sun.j2me.app-descriptor" }, 495 | .{ ".jam", "application/vnd.jam" }, 496 | .{ ".jar", "application/java-archive" }, 497 | .{ ".jfif", "image/jpeg" }, 498 | .{ ".jhc", "image/jphc" }, 499 | .{ ".jisp", "application/vnd.jisp" }, 500 | .{ ".jls", "image/jls" }, 501 | .{ ".jlt", "application/vnd.hp-jlyt" }, 502 | .{ ".jnlp", "application/x-java-jnlp-file" }, 503 | .{ ".joda", "application/vnd.joost.joda-archive" }, 504 | .{ ".jp2", "image/jp2" }, 505 | .{ ".jpe", "image/jpeg" }, 506 | .{ ".jpeg", "image/jpeg" }, 507 | .{ ".jpf", "image/jpx" }, 508 | .{ ".jpg", "image/jpeg" }, 509 | .{ ".jpg2", "image/jp2" }, 510 | .{ ".jpgm", "image/jpm" }, 511 | .{ ".jph", "image/jph" }, 512 | .{ ".jpm", "image/jpm" }, 513 | .{ ".jpx", "image/jpx" }, 514 | .{ ".jrd", "application/jrd+json" }, 515 | .{ ".js", "application/javascript" }, 516 | .{ ".json", "application/json" }, 517 | .{ ".json-patch", "application/json-patch+json" }, 518 | .{ ".jsonld", "application/ld+json" }, 519 | .{ ".jsontd", "application/td+json" }, 520 | .{ ".jsontm", "application/tm+json" }, 521 | .{ ".jt", "model/JT" }, 522 | .{ ".jtd", "text/vnd.esmertec.theme-descriptor" }, 523 | .{ ".jxl", "image/jxl" }, 524 | .{ ".jxr", "image/jxr" }, 525 | .{ ".jxra", "image/jxrA" }, 526 | .{ ".jxrs", "image/jxrS" }, 527 | .{ ".jxs", "image/jxs" }, 528 | .{ ".jxsc", "image/jxsc" }, 529 | .{ ".jxsi", "image/jxsi" }, 530 | .{ ".jxss", "image/jxss" }, 531 | .{ ".kar", "audio/midi" }, 532 | .{ ".karbon", "application/vnd.kde.karbon" }, 533 | .{ ".kcm", "application/vnd.nervana" }, 534 | .{ ".keynote", "application/vnd.apple.keynote" }, 535 | .{ ".kfo", "application/vnd.kde.kformula" }, 536 | .{ ".kia", "application/vnd.kidspiration" }, 537 | .{ ".kil", "application/x-killustrator" }, 538 | .{ ".kml", "application/vnd.google-earth.kml+xml" }, 539 | .{ ".kmz", "application/vnd.google-earth.kmz" }, 540 | .{ ".kne", "application/vnd.Kinar" }, 541 | .{ ".knp", "application/vnd.Kinar" }, 542 | .{ ".kom", "application/vnd.hbci" }, 543 | .{ ".kon", "application/vnd.kde.kontour" }, 544 | .{ ".koz", "audio/vnd.audiokoz" }, 545 | .{ ".kpr", "application/vnd.kde.kpresenter" }, 546 | .{ ".kpt", "application/vnd.kde.kpresenter" }, 547 | .{ ".ksp", "application/vnd.kde.kspread" }, 548 | .{ ".ktr", "application/vnd.kahootz" }, 549 | .{ ".ktx", "image/ktx" }, 550 | .{ ".ktx2", "image/ktx2" }, 551 | .{ ".ktz", "application/vnd.kahootz" }, 552 | .{ ".kwd", "application/vnd.kde.kword" }, 553 | .{ ".kwt", "application/vnd.kde.kword" }, 554 | .{ ".l16", "audio/L16" }, 555 | .{ ".las", "application/vnd.las" }, 556 | .{ ".lasjson", "application/vnd.las.las+json" }, 557 | .{ ".lasxml", "application/vnd.las.las+xml" }, 558 | .{ ".latex", "application/x-latex" }, 559 | .{ ".lbc", "audio/iLBC" }, 560 | .{ ".lbd", "application/vnd.llamagraphics.life-balance.desktop" }, 561 | .{ ".lbe", "application/vnd.llamagraphics.life-balance.exchange+xml" }, 562 | .{ ".lca", "application/vnd.logipipe.circuit+zip" }, 563 | .{ ".lcs", "application/vnd.logipipe.circuit+zip" }, 564 | .{ ".le", "application/vnd.bluetooth.le.oob" }, 565 | .{ ".les", "application/vnd.hhe.lesson-player" }, 566 | .{ ".lgr", "application/lgr+xml" }, 567 | .{ ".lha", "application/octet-stream" }, 568 | .{ ".lhzd", "application/vnd.belightsoft.lhzd+zip" }, 569 | .{ ".lhzl", "application/vnd.belightsoft.lhzl+zip" }, 570 | .{ ".line", "application/vnd.nebumind.line" }, 571 | .{ ".link66", "application/vnd.route66.link66+xml" }, 572 | .{ ".list3820", "application/vnd.afpc.modca" }, 573 | .{ ".listafp", "application/vnd.afpc.modca" }, 574 | .{ ".lmp", "model/vnd.gdl" }, 575 | .{ ".loas", "audio/usac" }, 576 | .{ ".log", "text/plain" }, 577 | .{ ".loom", "application/vnd.loom" }, 578 | .{ ".lostsyncxml", "application/lostsync+xml" }, 579 | .{ ".lostxml", "application/lost+xml" }, 580 | .{ ".lpf", "application/lpf+zip" }, 581 | .{ ".lrm", "application/vnd.ms-lrm" }, 582 | .{ ".ltf", "application/vnd.frogans.ltf" }, 583 | .{ ".lvp", "audio/vnd.lucent.voice" }, 584 | .{ ".lwp", "application/vnd.lotus-wordpro" }, 585 | .{ ".lxf", "application/LXF" }, 586 | .{ ".lzh", "application/octet-stream" }, 587 | .{ ".m", "application/vnd.wolfram.mathematica.package" }, 588 | .{ ".m15", "audio/x-mod" }, 589 | .{ ".m1v", "video/mpeg" }, 590 | .{ ".m21", "application/mp21" }, 591 | .{ ".m2v", "video/mpeg" }, 592 | .{ ".m3u", "audio/x-mpegurl" }, 593 | .{ ".m3u8", "application/vnd.apple.mpegurl" }, 594 | .{ ".m4a", "audio/mp4" }, 595 | .{ ".m4s", "video/iso.segment" }, 596 | .{ ".m4u", "video/vnd.mpegurl" }, 597 | .{ ".m4v", "video/mp4" }, 598 | .{ ".ma", "application/mathematica" }, 599 | .{ ".mads", "application/mads+xml" }, 600 | .{ ".maei", "application/mmt-aei+xml" }, 601 | .{ ".mag", "application/vnd.ecowin.chart" }, 602 | .{ ".mail", "message/rfc822" }, 603 | .{ ".man", "application/x-troff-man" }, 604 | .{ ".manifest", "text/cache-manifest" }, 605 | .{ ".markdown", "text/markdown" }, 606 | .{ ".mb", "application/mathematica" }, 607 | .{ ".mbk", "application/vnd.Mobius.MBK" }, 608 | .{ ".mbox", "application/mbox" }, 609 | .{ ".mbsdf", "application/vnd.mdl-mbsdf" }, 610 | .{ ".mc1", "application/vnd.medcalcdata" }, 611 | .{ ".mc2", "text/vnd.senx.warpscript" }, 612 | .{ ".mcd", "application/vnd.mcd" }, 613 | .{ ".md", "text/markdown" }, 614 | .{ ".mdc", "application/vnd.marlin.drm.mdcf" }, 615 | .{ ".mdi", "image/vnd.ms-modi" }, 616 | .{ ".mdl", "application/vnd.mdl" }, 617 | .{ ".me", "application/x-troff-me" }, 618 | .{ ".med", "audio/x-mod" }, 619 | .{ ".mesh", "model/mesh" }, 620 | .{ ".meta4", "application/metalink4+xml" }, 621 | .{ ".metalink", "application/metalink+xml" }, 622 | .{ ".mets", "application/mets+xml" }, 623 | .{ ".mf4", "application/MF4" }, 624 | .{ ".mfm", "application/vnd.mfmp" }, 625 | .{ ".mft", "application/rpki-manifest" }, 626 | .{ ".mgp", "application/vnd.osgeo.mapguide.package" }, 627 | .{ ".mgz", "application/vnd.proteus.magazine" }, 628 | .{ ".mhas", "audio/mhas" }, 629 | .{ ".mid", "audio/midi" }, 630 | .{ ".midi", "audio/midi" }, 631 | .{ ".mif", "application/vnd.mif" }, 632 | .{ ".miz", "text/mizar" }, 633 | .{ ".mj2", "video/mj2" }, 634 | .{ ".mjp2", "video/mj2" }, 635 | .{ ".mjs", "application/javascript" }, 636 | .{ ".mk3d", "video/x-matroska-3d" }, 637 | .{ ".mka", "audio/x-matroska" }, 638 | .{ ".mkv", "video/x-matroska" }, 639 | .{ ".ml2", "application/vnd.sybyl.mol2" }, 640 | .{ ".mlp", "audio/vnd.dolby.mlp" }, 641 | .{ ".mmd", "application/vnd.chipnuts.karaoke-mmd" }, 642 | .{ ".mmdb", "application/vnd.maxmind.maxmind-db" }, 643 | .{ ".mmf", "application/vnd.smaf" }, 644 | .{ ".mml", "application/mathml+xml" }, 645 | .{ ".mmr", "image/vnd.fujixerox.edmics-mmr" }, 646 | .{ ".mms", "application/vnd.wap.mms-message" }, 647 | .{ ".mod", "audio/x-mod" }, 648 | .{ ".model-inter", "application/vnd.vd-study" }, 649 | .{ ".modl", "application/vnd.modl" }, 650 | .{ ".mods", "application/mods+xml" }, 651 | .{ ".mol2", "application/vnd.sybyl.mol2" }, 652 | .{ ".moml", "model/vnd.moml+xml" }, 653 | .{ ".mov", "video/quicktime" }, 654 | .{ ".movie", "video/x-sgi-movie" }, 655 | .{ ".mp1", "audio/mpeg" }, 656 | .{ ".mp2", "audio/mpeg" }, 657 | .{ ".mp21", "application/mp21" }, 658 | .{ ".mp3", "audio/mpeg" }, 659 | .{ ".mp4", "video/mp4" }, 660 | .{ ".mpc", "application/vnd.mophun.certificate" }, 661 | .{ ".mpd", "application/dash+xml" }, 662 | .{ ".mpdd", "application/dashdelta" }, 663 | .{ ".mpe", "video/mpeg" }, 664 | .{ ".mpeg", "video/mpeg" }, 665 | .{ ".mpf", "text/vnd.ms-mediapackage" }, 666 | .{ ".mpg", "video/mpeg" }, 667 | .{ ".mpg4", "video/mp4" }, 668 | .{ ".mpga", "audio/mpeg" }, 669 | .{ ".mpkg", "application/vnd.apple.installer+xml" }, 670 | .{ ".mpm", "application/vnd.blueice.multipass" }, 671 | .{ ".mpn", "application/vnd.mophun.application" }, 672 | .{ ".mpp", "application/vnd.ms-project" }, 673 | .{ ".mpt", "application/vnd.ms-project" }, 674 | .{ ".mpw", "application/vnd.exstream-empower+zip" }, 675 | .{ ".mpy", "application/vnd.ibm.MiniPay" }, 676 | .{ ".mqy", "application/vnd.Mobius.MQY" }, 677 | .{ ".mrc", "application/marc" }, 678 | .{ ".mrcx", "application/marcxml+xml" }, 679 | .{ ".ms", "application/x-troff-ms" }, 680 | .{ ".msa", "application/vnd.msa-disk-image" }, 681 | .{ ".msd", "application/vnd.fdsn.mseed" }, 682 | .{ ".mseed", "application/vnd.fdsn.mseed" }, 683 | .{ ".mseq", "application/vnd.mseq" }, 684 | .{ ".msf", "application/vnd.epson.msf" }, 685 | .{ ".msh", "model/mesh" }, 686 | .{ ".msl", "application/vnd.Mobius.MSL" }, 687 | .{ ".msm", "model/vnd.gdl" }, 688 | .{ ".msty", "application/vnd.muvee.style" }, 689 | .{ ".mtl", "model/mtl" }, 690 | .{ ".mtm", "audio/x-mod" }, 691 | .{ ".mts", "model/vnd.mts" }, 692 | .{ ".multitrack", "audio/vnd.presonus.multitrack" }, 693 | .{ ".mus", "application/vnd.musician" }, 694 | .{ ".musd", "application/mmt-usd+xml" }, 695 | .{ ".mvt", "application/vnd.mapbox-vector-tile" }, 696 | .{ ".mwc", "application/vnd.dpgraph" }, 697 | .{ ".mwf", "application/vnd.MFER" }, 698 | .{ ".mxf", "application/mxf" }, 699 | .{ ".mxi", "application/vnd.vd-study" }, 700 | .{ ".mxl", "application/vnd.recordare.musicxml" }, 701 | .{ ".mxmf", "audio/mobile-xmf" }, 702 | .{ ".mxml", "application/xv+xml" }, 703 | .{ ".mxs", "application/vnd.triscape.mxs" }, 704 | .{ ".mxu", "video/vnd.mpegurl" }, 705 | .{ ".n-gage", "application/vnd.nokia.n-gage.symbian.install" }, 706 | .{ ".n3", "text/n3" }, 707 | .{ ".nb", "application/mathematica" }, 708 | .{ ".nbp", "application/vnd.wolfram.player" }, 709 | .{ ".nc", "application/x-netcdf" }, 710 | .{ ".ndc", "application/vnd.osa.netdeploy" }, 711 | .{ ".ndl", "application/vnd.lotus-notes" }, 712 | .{ ".nds", "application/vnd.nintendo.nitro.rom" }, 713 | .{ ".nebul", "application/vnd.nebumind.line" }, 714 | .{ ".ngdat", "application/vnd.nokia.n-gage.data" }, 715 | .{ ".nim", "video/vnd.nokia.interleaved-multimedia" }, 716 | .{ ".nimn", "application/vnd.nimn" }, 717 | .{ ".nitf", "application/vnd.nitf" }, 718 | .{ ".nlu", "application/vnd.neurolanguage.nlu" }, 719 | .{ ".nml", "application/vnd.enliven" }, 720 | .{ ".nnd", "application/vnd.noblenet-directory" }, 721 | .{ ".nns", "application/vnd.noblenet-sealer" }, 722 | .{ ".nnw", "application/vnd.noblenet-web" }, 723 | .{ ".notebook", "application/vnd.smart.notebook" }, 724 | .{ ".nq", "application/n-quads" }, 725 | .{ ".ns2", "application/vnd.lotus-notes" }, 726 | .{ ".ns3", "application/vnd.lotus-notes" }, 727 | .{ ".ns4", "application/vnd.lotus-notes" }, 728 | .{ ".nsf", "application/vnd.lotus-notes" }, 729 | .{ ".nsg", "application/vnd.lotus-notes" }, 730 | .{ ".nsh", "application/vnd.lotus-notes" }, 731 | .{ ".nt", "application/n-triples" }, 732 | .{ ".ntf", "application/vnd.lotus-notes" }, 733 | .{ ".numbers", "application/vnd.apple.numbers" }, 734 | .{ ".o4a", "application/vnd.oma.drm.dcf" }, 735 | .{ ".o4v", "application/vnd.oma.drm.dcf" }, 736 | .{ ".oa2", "application/vnd.fujitsu.oasys2" }, 737 | .{ ".oa3", "application/vnd.fujitsu.oasys3" }, 738 | .{ ".oas", "application/vnd.fujitsu.oasys" }, 739 | .{ ".ob", "application/vnd.1ob" }, 740 | .{ ".obg", "application/vnd.openblox.game-binary" }, 741 | .{ ".obgx", "application/vnd.openblox.game+xml" }, 742 | .{ ".obj", "model/obj" }, 743 | .{ ".oda", "application/ODA" }, 744 | .{ ".odb", "application/vnd.oasis.opendocument.base" }, 745 | .{ ".odc", "application/vnd.oasis.opendocument.chart" }, 746 | .{ ".odd", "application/tei+xml" }, 747 | .{ ".odf", "application/vnd.oasis.opendocument.formula" }, 748 | .{ ".odg", "application/vnd.oasis.opendocument.graphics" }, 749 | .{ ".odi", "application/vnd.oasis.opendocument.image" }, 750 | .{ ".odm", "application/vnd.oasis.opendocument.text-master" }, 751 | .{ ".odp", "application/vnd.oasis.opendocument.presentation" }, 752 | .{ ".ods", "application/vnd.oasis.opendocument.spreadsheet" }, 753 | .{ ".odt", "application/vnd.oasis.opendocument.text" }, 754 | .{ ".odt", "application/vnd.oasis.opendocument.text" }, 755 | .{ ".odx", "application/ODX" }, 756 | .{ ".oeb", "application/vnd.openeye.oeb" }, 757 | .{ ".oga", "audio/ogg" }, 758 | .{ ".ogex", "model/vnd.opengex" }, 759 | .{ ".ogg", "audio/ogg" }, 760 | .{ ".ogv", "video/ogg" }, 761 | .{ ".ogx", "application/ogg" }, 762 | .{ ".omg", "audio/ATRAC3" }, 763 | .{ ".opf", "application/oebps-package+xml" }, 764 | .{ ".oprc", "application/vnd.palm" }, 765 | .{ ".opus", "audio/ogg" }, 766 | .{ ".opus", "audio/opus" }, 767 | .{ ".or2", "application/vnd.lotus-organizer" }, 768 | .{ ".or3", "application/vnd.lotus-organizer" }, 769 | .{ ".org", "application/vnd.lotus-organizer" }, 770 | .{ ".orq", "application/ocsp-request" }, 771 | .{ ".ors", "application/ocsp-response" }, 772 | .{ ".osf", "application/vnd.yamaha.openscoreformat" }, 773 | .{ ".osm", "application/vnd.openstreetmap.data+xml" }, 774 | .{ ".ota", "application/vnd.android.ota" }, 775 | .{ ".otc", "application/vnd.oasis.opendocument.chart-template" }, 776 | .{ ".otf", "font/otf" }, 777 | .{ ".otg", "application/vnd.oasis.opendocument.graphics-template" }, 778 | .{ ".oth", "application/vnd.oasis.opendocument.text-web" }, 779 | .{ ".oti", "application/vnd.oasis.opendocument.image-template" }, 780 | .{ ".otm", "application/vnd.oasis.opendocument.text-master-template" }, 781 | .{ ".otp", "application/vnd.oasis.opendocument.presentation-template" }, 782 | .{ ".ots", "application/vnd.oasis.opendocument.spreadsheet-template" }, 783 | .{ ".ott", "application/vnd.oasis.opendocument.text-template" }, 784 | .{ ".ovl", "application/vnd.afpc.modca-overlay" }, 785 | .{ ".owx", "application/owl+xml" }, 786 | .{ ".oxlicg", "application/vnd.oxli.countgraph" }, 787 | .{ ".oxps", "application/oxps" }, 788 | .{ ".oxt", "application/vnd.openofficeorg.extension" }, 789 | .{ ".p10", "application/pkcs10" }, 790 | .{ ".p12", "application/pkcs12" }, 791 | .{ ".p21", "application/p21" }, 792 | .{ ".p2p", "application/vnd.wfa.p2p" }, 793 | .{ ".p7c", "application/pkcs7-mime" }, 794 | .{ ".p7m", "application/pkcs7-mime" }, 795 | .{ ".p7s", "application/pkcs7-signature" }, 796 | .{ ".p8", "application/pkcs8" }, 797 | .{ ".p8e", "application/pkcs8-encrypted" }, 798 | .{ ".pack", "application/x-java-pack200" }, 799 | .{ ".package", "application/vnd.autopackage" }, 800 | .{ ".pages", "application/vnd.apple.pages" }, 801 | .{ ".paw", "application/vnd.pawaafile" }, 802 | .{ ".pbd", "application/vnd.powerbuilder6" }, 803 | .{ ".pbm", "image/x-portable-bitmap" }, 804 | .{ ".pcap", "application/vnd.tcpdump.pcap" }, 805 | .{ ".pcl", "application/vnd.hp-PCL" }, 806 | .{ ".pcx", "image/vnd.zbrush.pcx" }, 807 | .{ ".pdb", "application/vnd.palm" }, 808 | .{ ".pdf", "application/pdf" }, 809 | .{ ".pdx", "application/PDX" }, 810 | .{ ".pem", "application/pem-certificate-chain" }, 811 | .{ ".pfr", "application/font-tdpfr" }, 812 | .{ ".pfx", "application/pkcs12" }, 813 | .{ ".pgb", "image/vnd.globalgraphics.pgb" }, 814 | .{ ".pgm", "image/x-portable-graymap" }, 815 | .{ ".pgn", "application/vnd.chess-pgn" }, 816 | .{ ".pgp", "application/pgp-encrypted" }, 817 | .{ ".php", "application/x-httpd-php" }, 818 | .{ ".pil", "application/vnd.piaccess.application-licence" }, 819 | .{ ".pkd", "application/vnd.hbci" }, 820 | .{ ".pkg", "application/vnd.apple.installer+xml" }, 821 | .{ ".pki", "application/pkixcmp" }, 822 | .{ ".pkipath", "application/pkix-pkipath" }, 823 | .{ ".pl", "application/x-perl" }, 824 | .{ ".plb", "application/vnd.3gpp.pic-bw-large" }, 825 | .{ ".plc", "application/vnd.Mobius.PLC" }, 826 | .{ ".plf", "application/vnd.pocketlearn" }, 827 | .{ ".plj", "audio/vnd.everad.plj" }, 828 | .{ ".plp", "application/vnd.panoply" }, 829 | .{ ".pls", "application/pls+xml" }, 830 | .{ ".pm", "text/plain" }, 831 | .{ ".pml", "application/vnd.ctc-posml" }, 832 | .{ ".png", "image/png" }, 833 | .{ ".pnm", "image/x-portable-anymap" }, 834 | .{ ".pod", "text/x-pod" }, 835 | .{ ".portpkg", "application/vnd.macports.portpkg" }, 836 | .{ ".pot", "application/vnd.ms-powerpoint" }, 837 | .{ ".potm", "application/vnd.ms-powerpoint.template.macroEnabled.12" }, 838 | .{ ".potx", "application/vnd.openxmlformats-officedocument.presentationml.template" }, 839 | .{ ".ppam", "application/vnd.ms-powerpoint.addin.macroEnabled.12" }, 840 | .{ ".ppd", "application/vnd.cups-ppd" }, 841 | .{ ".ppkg", "application/vnd.xmpie.ppkg" }, 842 | .{ ".ppm", "image/x-portable-pixmap" }, 843 | .{ ".pps", "application/vnd.ms-powerpoint" }, 844 | .{ ".ppsm", "application/vnd.ms-powerpoint.slideshow.macroEnabled.12" }, 845 | .{ ".ppsx", "application/vnd.openxmlformats-officedocument.presentationml.slideshow" }, 846 | .{ ".ppt", "application/vnd.ms-powerpoint" }, 847 | .{ ".pptm", "application/vnd.ms-powerpoint.presentation.macroEnabled.12" }, 848 | .{ ".ppttc", "application/vnd.think-cell.ppttc+json" }, 849 | .{ ".pptx", "application/vnd.openxmlformats-officedocument.presentationml.presentation" }, 850 | .{ ".pqa", "application/vnd.palm" }, 851 | .{ ".prc", "application/vnd.palm" }, 852 | .{ ".pre", "application/vnd.lotus-freelance" }, 853 | .{ ".preminet", "application/vnd.preminet" }, 854 | .{ ".provn", "text/provenance-notation" }, 855 | .{ ".provx", "application/provenance+xml" }, 856 | .{ ".prz", "application/vnd.lotus-freelance" }, 857 | .{ ".ps", "application/postscript" }, 858 | .{ ".psb", "application/vnd.3gpp.pic-bw-small" }, 859 | .{ ".psd", "image/vnd.adobe.photoshop" }, 860 | .{ ".pseg3820", "application/vnd.afpc.modca" }, 861 | .{ ".psfs", "application/vnd.psfs" }, 862 | .{ ".psg", "application/vnd.afpc.modca-pagesegment" }, 863 | .{ ".psid", "audio/prs.sid" }, 864 | .{ ".pskcxml", "application/pskc+xml" }, 865 | .{ ".pt", "application/vnd.snesdev-page-table" }, 866 | .{ ".pti", "image/prs.pti" }, 867 | .{ ".ptid", "application/vnd.pvi.ptid1" }, 868 | .{ ".ptrom", "application/vnd.snesdev-page-table" }, 869 | .{ ".pub", "application/vnd.exstream-package" }, 870 | .{ ".pvb", "application/vnd.3gpp.pic-bw-var" }, 871 | .{ ".pwn", "application/vnd.3M.Post-it-Notes" }, 872 | .{ ".pya", "audio/vnd.ms-playready.media.pya" }, 873 | .{ ".pyo", "model/vnd.pytha.pyox" }, 874 | .{ ".pyox", "model/vnd.pytha.pyox" }, 875 | .{ ".pyv", "video/vnd.ms-playready.media.pyv" }, 876 | .{ ".qam", "application/vnd.epson.quickanime" }, 877 | .{ ".qbo", "application/vnd.intu.qbo" }, 878 | .{ ".qca", "application/vnd.ericsson.quickcall" }, 879 | .{ ".qcall", "application/vnd.ericsson.quickcall" }, 880 | .{ ".qcp", "audio/QCELP" }, 881 | .{ ".qfx", "application/vnd.intu.qfx" }, 882 | .{ ".qps", "application/vnd.publishare-delta-tree" }, 883 | .{ ".qt", "video/quicktime" }, 884 | .{ ".quiz", "application/vnd.quobject-quoxdocument" }, 885 | .{ ".quox", "application/vnd.quobject-quoxdocument" }, 886 | .{ ".qvd", "application/vnd.theqvd" }, 887 | .{ ".qwd", "application/vnd.Quark.QuarkXPress" }, 888 | .{ ".qwt", "application/vnd.Quark.QuarkXPress" }, 889 | .{ ".qxb", "application/vnd.Quark.QuarkXPress" }, 890 | .{ ".qxd", "application/vnd.Quark.QuarkXPress" }, 891 | .{ ".qxl", "application/vnd.Quark.QuarkXPress" }, 892 | .{ ".qxt", "application/vnd.Quark.QuarkXPress" }, 893 | .{ ".ra", "audio/x-realaudio" }, 894 | .{ ".ram", "audio/x-pn-realaudio" }, 895 | .{ ".rapd", "application/route-apd+xml" }, 896 | .{ ".rar", "application/vnd.rar" }, 897 | .{ ".ras", "image/x-cmu-raster" }, 898 | .{ ".rcprofile", "application/vnd.ipunplugged.rcprofile" }, 899 | .{ ".rct", "application/prs.nprend" }, 900 | .{ ".rdf", "application/rdf+xml" }, 901 | .{ ".rdf-crypt", "application/prs.rdf-xml-crypt" }, 902 | .{ ".rdz", "application/vnd.data-vision.rdz" }, 903 | .{ ".relo", "application/p2p-overlay+xml" }, 904 | .{ ".reload", "application/vnd.resilient.logic" }, 905 | .{ ".rep", "application/vnd.businessobjects" }, 906 | .{ ".request", "application/vnd.nervana" }, 907 | .{ ".rfcxml", "application/rfc+xml" }, 908 | .{ ".rgb", "image/x-rgb" }, 909 | .{ ".rgbe", "image/vnd.radiance" }, 910 | .{ ".rif", "application/reginfo+xml" }, 911 | .{ ".rip", "audio/vnd.rip" }, 912 | .{ ".rl", "application/resource-lists+xml" }, 913 | .{ ".rlc", "image/vnd.fujixerox.edmics-rlc" }, 914 | .{ ".rld", "application/resource-lists-diff+xml" }, 915 | .{ ".rlm", "application/vnd.resilient.logic" }, 916 | .{ ".rm", "audio/x-pn-realaudio" }, 917 | .{ ".rms", "application/vnd.jcp.javame.midlet-rms" }, 918 | .{ ".rnc", "application/relax-ng-compact-syntax" }, 919 | .{ ".rnd", "application/prs.nprend" }, 920 | .{ ".rng", "text/xml" }, 921 | .{ ".roa", "application/rpki-roa" }, 922 | .{ ".roff", "text/troff" }, 923 | .{ ".rp9", "application/vnd.cloanto.rp9" }, 924 | .{ ".rpm", "application/x-rpm" }, 925 | .{ ".rpss", "application/vnd.nokia.radio-presets" }, 926 | .{ ".rpst", "application/vnd.nokia.radio-preset" }, 927 | .{ ".rq", "application/sparql-query" }, 928 | .{ ".rs", "application/rls-services+xml" }, 929 | .{ ".rsat", "application/atsc-rsat+xml" }, 930 | .{ ".rsheet", "application/urc-ressheet+xml" }, 931 | .{ ".rsm", "model/vnd.gdl" }, 932 | .{ ".rss", "application/rss+xml" }, 933 | .{ ".rst", "text/prs.fallenstein.rst" }, 934 | .{ ".rtf", "application/rtf" }, 935 | .{ ".rtx", "text/richtext" }, 936 | .{ ".rusd", "application/route-usd+xml" }, 937 | .{ ".rxr", "application/vnd.medicalholodeck.recordxr" }, 938 | .{ ".s11", "video/vnd.sealed.mpeg1" }, 939 | .{ ".s14", "video/vnd.sealed.mpeg4" }, 940 | .{ ".s1a", "application/vnd.sealedmedia.softseal.pdf" }, 941 | .{ ".s1e", "application/vnd.sealed.xls" }, 942 | .{ ".s1g", "image/vnd.sealedmedia.softseal.gif" }, 943 | .{ ".s1h", "application/vnd.sealedmedia.softseal.html" }, 944 | .{ ".s1j", "image/vnd.sealedmedia.softseal.jpg" }, 945 | .{ ".s1m", "audio/vnd.sealedmedia.softseal.mpeg" }, 946 | .{ ".s1n", "image/vnd.sealed.png" }, 947 | .{ ".s1p", "application/vnd.sealed.ppt" }, 948 | .{ ".s1q", "video/vnd.sealedmedia.softseal.mov" }, 949 | .{ ".s1w", "application/vnd.sealed.doc" }, 950 | .{ ".s3df", "application/vnd.sealed.3df" }, 951 | .{ ".s3m", "audio/x-s3m" }, 952 | .{ ".sac", "application/tamp-sequence-adjust-confirm" }, 953 | .{ ".saf", "application/vnd.yamaha.smaf-audio" }, 954 | .{ ".sam", "application/vnd.lotus-wordpro" }, 955 | .{ ".sandboxed", "text/html-sandboxed" }, 956 | .{ ".sarif", "application/sarif+json" }, 957 | .{ ".sarif-external-properties", "application/sarif-external-properties+json" }, 958 | .{ ".sarif-external-properties.json", "application/sarif-external-properties+json" }, 959 | .{ ".sarif.json", "application/sarif+json" }, 960 | .{ ".sc", "application/vnd.ibm.secure-container" }, 961 | .{ ".scd", "application/vnd.scribus" }, 962 | .{ ".sce", "application/vnd.etsi.asic-e+zip" }, 963 | .{ ".scim", "application/scim+json" }, 964 | .{ ".scl", "application/vnd.sycle+xml" }, 965 | .{ ".scld", "application/vnd.doremir.scorecloud-binary-document" }, 966 | .{ ".scm", "application/vnd.lotus-screencam" }, 967 | .{ ".scq", "application/scvp-cv-request" }, 968 | .{ ".scs", "application/scvp-cv-response" }, 969 | .{ ".scsf", "application/vnd.sealed.csf" }, 970 | .{ ".sdf", "application/vnd.Kinar" }, 971 | .{ ".sdkd", "application/vnd.solent.sdkm+xml" }, 972 | .{ ".sdkm", "application/vnd.solent.sdkm+xml" }, 973 | .{ ".sdo", "application/vnd.sealed.doc" }, 974 | .{ ".sdoc", "application/vnd.sealed.doc" }, 975 | .{ ".sdp", "application/sdp" }, 976 | .{ ".see", "application/vnd.seemail" }, 977 | .{ ".seed", "application/vnd.fdsn.seed" }, 978 | .{ ".sem", "application/vnd.sealed.eml" }, 979 | .{ ".sema", "application/vnd.sema" }, 980 | .{ ".semd", "application/vnd.semd" }, 981 | .{ ".semf", "application/vnd.semf" }, 982 | .{ ".seml", "application/vnd.sealed.eml" }, 983 | .{ ".senml", "application/senml+json" }, 984 | .{ ".senml-etchc", "application/senml-etch+cbor" }, 985 | .{ ".senml-etchj", "application/senml-etch+json" }, 986 | .{ ".senmlc", "application/senml+cbor" }, 987 | .{ ".senmle", "application/senml-exi" }, 988 | .{ ".senmlx", "application/senml+xml" }, 989 | .{ ".sensml", "application/sensml+json" }, 990 | .{ ".sensmlc", "application/sensml+cbor" }, 991 | .{ ".sensmle", "application/sensml-exi" }, 992 | .{ ".sensmlx", "application/sensml+xml" }, 993 | .{ ".sfc", "application/vnd.nintendo.snes.rom" }, 994 | .{ ".sfd", "application/vnd.font-fontforge-sfd" }, 995 | .{ ".sfd-hdstx", "application/vnd.hydrostatix.sof-data" }, 996 | .{ ".sfs", "application/vnd.spotfire.sfs" }, 997 | .{ ".sgi", "image/vnd.sealedmedia.softseal.gif" }, 998 | .{ ".sgif", "image/vnd.sealedmedia.softseal.gif" }, 999 | .{ ".sgm", "text/SGML" }, 1000 | .{ ".sgml", "text/SGML" }, 1001 | .{ ".sh", "application/x-sh" }, 1002 | .{ ".shaclc", "text/shaclc" }, 1003 | .{ ".shar", "application/x-shar" }, 1004 | .{ ".shc", "text/shaclc" }, 1005 | .{ ".shex", "text/shex" }, 1006 | .{ ".shf", "application/shf+xml" }, 1007 | .{ ".shp", "application/vnd.shp" }, 1008 | .{ ".shx", "application/vnd.shx" }, 1009 | .{ ".si", "text/vnd.wap.si" }, 1010 | .{ ".sic", "application/vnd.wap.sic" }, 1011 | .{ ".sid", "audio/prs.sid" }, 1012 | .{ ".sieve", "application/sieve" }, 1013 | .{ ".sig", "application/pgp-signature" }, 1014 | .{ ".silo", "model/mesh" }, 1015 | .{ ".sipa", "application/vnd.smintio.portals.archive" }, 1016 | .{ ".sis", "application/vnd.symbian.install" }, 1017 | .{ ".sisx", "x-epoc/x-sisx-app" }, 1018 | .{ ".sit", "application/x-stuffit" }, 1019 | .{ ".siv", "application/sieve" }, 1020 | .{ ".sjp", "image/vnd.sealedmedia.softseal.jpg" }, 1021 | .{ ".sjpg", "image/vnd.sealedmedia.softseal.jpg" }, 1022 | .{ ".skd", "application/vnd.koan" }, 1023 | .{ ".skm", "application/vnd.koan" }, 1024 | .{ ".skp", "application/vnd.koan" }, 1025 | .{ ".skt", "application/vnd.koan" }, 1026 | .{ ".sl", "text/vnd.wap.sl" }, 1027 | .{ ".sla", "application/vnd.scribus" }, 1028 | .{ ".slaz", "application/vnd.scribus" }, 1029 | .{ ".slc", "application/vnd.wap.slc" }, 1030 | .{ ".sldm", "application/vnd.ms-powerpoint.slide.macroEnabled.12" }, 1031 | .{ ".sldx", "application/vnd.openxmlformats-officedocument.presentationml.slide" }, 1032 | .{ ".sls", "application/route-s-tsid+xml" }, 1033 | .{ ".slt", "application/vnd.epson.salt" }, 1034 | .{ ".sm", "application/vnd.stepmania.stepchart" }, 1035 | .{ ".smc", "application/vnd.nintendo.snes.rom" }, 1036 | .{ ".smh", "application/vnd.sealed.mht" }, 1037 | .{ ".smht", "application/vnd.sealed.mht" }, 1038 | .{ ".smi", "application/smil+xml" }, 1039 | .{ ".smil", "application/smil+xml" }, 1040 | .{ ".smk", "video/vnd.radgamettools.smacker" }, 1041 | .{ ".sml", "application/smil+xml" }, 1042 | .{ ".smo", "video/vnd.sealedmedia.softseal.mov" }, 1043 | .{ ".smov", "video/vnd.sealedmedia.softseal.mov" }, 1044 | .{ ".smp", "audio/vnd.sealedmedia.softseal.mpeg" }, 1045 | .{ ".smp3", "audio/vnd.sealedmedia.softseal.mpeg" }, 1046 | .{ ".smpg", "video/vnd.sealed.mpeg1" }, 1047 | .{ ".sms", "application/vnd.3gpp2.sms" }, 1048 | .{ ".smv", "audio/SMV" }, 1049 | .{ ".smzip", "application/vnd.stepmania.package" }, 1050 | .{ ".snd", "audio/basic" }, 1051 | .{ ".so", "application/octet-stream" }, 1052 | .{ ".soa", "text/dns" }, 1053 | .{ ".soc", "application/sgml-open-catalog" }, 1054 | .{ ".sofa", "audio/sofa" }, 1055 | .{ ".sos", "text/vnd.sosi" }, 1056 | .{ ".spd", "application/vnd.sealedmedia.softseal.pdf" }, 1057 | .{ ".spdf", "application/vnd.sealedmedia.softseal.pdf" }, 1058 | .{ ".spdx", "text/spdx" }, 1059 | .{ ".spdx.json", "application/spdx+json" }, 1060 | .{ ".spf", "application/vnd.yamaha.smaf-phrase" }, 1061 | .{ ".spl", "application/x-futuresplash" }, 1062 | .{ ".spn", "image/vnd.sealed.png" }, 1063 | .{ ".spng", "image/vnd.sealed.png" }, 1064 | .{ ".spo", "text/vnd.in3d.spot" }, 1065 | .{ ".spot", "text/vnd.in3d.spot" }, 1066 | .{ ".spp", "application/scvp-vp-response" }, 1067 | .{ ".sppt", "application/vnd.sealed.ppt" }, 1068 | .{ ".spq", "application/scvp-vp-request" }, 1069 | .{ ".spx", "audio/ogg" }, 1070 | .{ ".sql", "application/sql" }, 1071 | .{ ".sqlite", "application/vnd.sqlite3" }, 1072 | .{ ".sqlite3", "application/vnd.sqlite3" }, 1073 | .{ ".sr", "application/vnd.sigrok.session" }, 1074 | .{ ".src", "application/x-wais-source" }, 1075 | .{ ".sru", "application/sru+xml" }, 1076 | .{ ".srx", "application/sparql-results+xml" }, 1077 | .{ ".sse", "application/vnd.kodak-descriptor" }, 1078 | .{ ".ssf", "application/vnd.epson.ssf" }, 1079 | .{ ".ssml", "application/ssml+xml" }, 1080 | .{ ".ssv", "application/vnd.shade-save-file" }, 1081 | .{ ".ssvc", "application/vnd.crypto-shade-file" }, 1082 | .{ ".ssw", "video/vnd.sealed.swf" }, 1083 | .{ ".sswf", "video/vnd.sealed.swf" }, 1084 | .{ ".st", "application/vnd.sailingtracker.track" }, 1085 | .{ ".stc", "application/vnd.sun.xml.calc.template" }, 1086 | .{ ".std", "application/vnd.sun.xml.draw.template" }, 1087 | .{ ".step", "application/p21" }, 1088 | .{ ".stf", "application/vnd.wt.stf" }, 1089 | .{ ".sti", "application/vnd.sun.xml.impress.template" }, 1090 | .{ ".stif", "application/vnd.sealed.tiff" }, 1091 | .{ ".stix", "application/stix+json" }, 1092 | .{ ".stk", "application/hyperstudio" }, 1093 | .{ ".stl", "model/stl" }, 1094 | .{ ".stm", "audio/x-stm" }, 1095 | .{ ".stml", "application/vnd.sealedmedia.softseal.html" }, 1096 | .{ ".stp", "application/p21" }, 1097 | .{ ".stpnc", "application/p21" }, 1098 | .{ ".stpx", "model/step+xml" }, 1099 | .{ ".stpxz", "model/step-xml+zip" }, 1100 | .{ ".stpz", "application/p21+zip" }, 1101 | .{ ".str", "application/vnd.pg.format" }, 1102 | .{ ".study-inter", "application/vnd.vd-study" }, 1103 | .{ ".stw", "application/vnd.sun.xml.writer.template" }, 1104 | .{ ".sub", "text/vnd.dvb.subtitle" }, 1105 | .{ ".sus", "application/vnd.sus-calendar" }, 1106 | .{ ".susp", "application/vnd.sus-calendar" }, 1107 | .{ ".sv4cpio", "application/x-sv4cpio" }, 1108 | .{ ".sv4crc", "application/x-sv4crc" }, 1109 | .{ ".svc", "application/vnd.dvb.service" }, 1110 | .{ ".svg", "image/svg+xml" }, 1111 | .{ ".svgz", "image/svg+xml" }, 1112 | .{ ".swf", "application/x-shockwave-flash" }, 1113 | .{ ".swi", "application/vnd.aristanetworks.swi" }, 1114 | .{ ".swidtag", "application/swid+xml" }, 1115 | .{ ".sxc", "application/vnd.sun.xml.calc" }, 1116 | .{ ".sxd", "application/vnd.sun.xml.draw" }, 1117 | .{ ".sxg", "application/vnd.sun.xml.writer.global" }, 1118 | .{ ".sxi", "application/vnd.sun.xml.impress" }, 1119 | .{ ".sxl", "application/vnd.sealed.xls" }, 1120 | .{ ".sxls", "application/vnd.sealed.xls" }, 1121 | .{ ".sxm", "application/vnd.sun.xml.math" }, 1122 | .{ ".sxw", "application/vnd.sun.xml.writer" }, 1123 | .{ ".sy2", "application/vnd.sybyl.mol2" }, 1124 | .{ ".syft.json", "application/vnd.syft+json" }, 1125 | .{ ".t", "text/troff" }, 1126 | .{ ".t38", "image/t38" }, 1127 | .{ ".tag", "text/prs.lines.tag" }, 1128 | .{ ".taglet", "application/vnd.mynfc" }, 1129 | .{ ".tam", "application/vnd.onepager" }, 1130 | .{ ".tamp", "application/vnd.onepagertamp" }, 1131 | .{ ".tamx", "application/vnd.onepagertamx" }, 1132 | .{ ".tao", "application/vnd.tao.intent-module-archive" }, 1133 | .{ ".tap", "image/vnd.tencent.tap" }, 1134 | .{ ".tar", "application/x-tar" }, 1135 | .{ ".tat", "application/vnd.onepagertat" }, 1136 | .{ ".tatp", "application/vnd.onepagertatp" }, 1137 | .{ ".tatx", "application/vnd.onepagertatx" }, 1138 | .{ ".tau", "application/tamp-apex-update" }, 1139 | .{ ".tbz2", "application/vnd.gentoo.xpak" }, 1140 | .{ ".tcap", "application/vnd.3gpp2.tcap" }, 1141 | .{ ".tcl", "application/x-tcl" }, 1142 | .{ ".tcu", "application/tamp-community-update" }, 1143 | .{ ".td", "application/urc-targetdesc+xml" }, 1144 | .{ ".teacher", "application/vnd.smart.teacher" }, 1145 | .{ ".tei", "application/tei+xml" }, 1146 | .{ ".teiCorpus", "application/tei+xml" }, 1147 | .{ ".ter", "application/tamp-error" }, 1148 | .{ ".tex", "application/x-tex" }, 1149 | .{ ".texi", "application/x-texinfo" }, 1150 | .{ ".texinfo", "application/x-texinfo" }, 1151 | .{ ".text", "text/plain" }, 1152 | .{ ".tfi", "application/thraud+xml" }, 1153 | .{ ".tfx", "image/tiff-fx" }, 1154 | .{ ".tga", "image/x-targa" }, 1155 | .{ ".tgz", "application/gzip" }, 1156 | .{ ".thmx", "application/vnd.ms-officetheme" }, 1157 | .{ ".tif", "image/tiff" }, 1158 | .{ ".tiff", "image/tiff" }, 1159 | .{ ".tlclient", "application/vnd.cendio.thinlinc.clientconf" }, 1160 | .{ ".tm.json", "application/tm+json" }, 1161 | .{ ".tm.jsonld", "application/tm+json" }, 1162 | .{ ".tmo", "application/vnd.tmobile-livetv" }, 1163 | .{ ".tnef", "application/vnd.ms-tnef" }, 1164 | .{ ".tnf", "application/vnd.ms-tnef" }, 1165 | .{ ".torrent", "application/x-bittorrent" }, 1166 | .{ ".tpl", "application/vnd.groove-tool-template" }, 1167 | .{ ".tpt", "application/vnd.trid.tpt" }, 1168 | .{ ".tr", "text/troff" }, 1169 | .{ ".tra", "application/vnd.trueapp" }, 1170 | .{ ".tree", "application/vnd.rainstor.data" }, 1171 | .{ ".trig", "application/trig" }, 1172 | .{ ".ts", "video/mp2t" }, 1173 | .{ ".tsa", "application/tamp-sequence-adjust" }, 1174 | .{ ".tsd", "application/timestamped-data" }, 1175 | .{ ".tsq", "application/timestamp-query" }, 1176 | .{ ".tsr", "application/timestamp-reply" }, 1177 | .{ ".tst", "application/vnd.etsi.timestamp-token" }, 1178 | .{ ".tsv", "text/tab-separated-values" }, 1179 | .{ ".ttc", "font/collection" }, 1180 | .{ ".ttf", "font/ttf" }, 1181 | .{ ".ttl", "text/turtle" }, 1182 | .{ ".ttml", "application/ttml+xml" }, 1183 | .{ ".tuc", "application/tamp-update-confirm" }, 1184 | .{ ".tur", "application/tamp-update" }, 1185 | .{ ".twd", "application/vnd.SimTech-MindMapper" }, 1186 | .{ ".twds", "application/vnd.SimTech-MindMapper" }, 1187 | .{ ".txd", "application/vnd.genomatix.tuxedo" }, 1188 | .{ ".txf", "application/vnd.Mobius.TXF" }, 1189 | .{ ".txt", "text/plain" }, 1190 | .{ ".u3d", "model/u3d" }, 1191 | .{ ".u8dsn", "message/global-delivery-status" }, 1192 | .{ ".u8hdr", "message/global-headers" }, 1193 | .{ ".u8mdn", "message/global-disposition-notification" }, 1194 | .{ ".u8msg", "message/global" }, 1195 | .{ ".udeb", "application/vnd.debian.binary-package" }, 1196 | .{ ".ufd", "application/vnd.ufdl" }, 1197 | .{ ".ufdl", "application/vnd.ufdl" }, 1198 | .{ ".uis", "application/urc-uisocketdesc+xml" }, 1199 | .{ ".ult", "audio/x-mod" }, 1200 | .{ ".umj", "application/vnd.umajin" }, 1201 | .{ ".uni", "audio/x-mod" }, 1202 | .{ ".unityweb", "application/vnd.unity" }, 1203 | .{ ".uo", "application/vnd.uoml+xml" }, 1204 | .{ ".uoml", "application/vnd.uoml+xml" }, 1205 | .{ ".upa", "application/vnd.hbci" }, 1206 | .{ ".uri", "text/uri-list" }, 1207 | .{ ".uric", "text/vnd.si.uricatalogue" }, 1208 | .{ ".urim", "application/vnd.uri-map" }, 1209 | .{ ".urimap", "application/vnd.uri-map" }, 1210 | .{ ".uris", "text/uri-list" }, 1211 | .{ ".usda", "model/vnd.usda" }, 1212 | .{ ".usdz", "model/vnd.usdz+zip" }, 1213 | .{ ".ustar", "application/x-ustar" }, 1214 | .{ ".utz", "application/vnd.uiq.theme" }, 1215 | .{ ".uva", "audio/vnd.dece.audio" }, 1216 | .{ ".uvd", "application/vnd.dece.data" }, 1217 | .{ ".uvf", "application/vnd.dece.data" }, 1218 | .{ ".uvg", "image/vnd.dece.graphic" }, 1219 | .{ ".uvh", "video/vnd.dece.hd" }, 1220 | .{ ".uvi", "image/vnd.dece.graphic" }, 1221 | .{ ".uvm", "video/vnd.dece.mobile" }, 1222 | .{ ".uvp", "video/vnd.dece.pd" }, 1223 | .{ ".uvs", "video/vnd.dece.sd" }, 1224 | .{ ".uvt", "application/vnd.dece.ttml+xml" }, 1225 | .{ ".uvu", "video/vnd.dece.mp4" }, 1226 | .{ ".uvv", "video/vnd.dece.video" }, 1227 | .{ ".uvva", "audio/vnd.dece.audio" }, 1228 | .{ ".uvvd", "application/vnd.dece.data" }, 1229 | .{ ".uvvf", "application/vnd.dece.data" }, 1230 | .{ ".uvvg", "image/vnd.dece.graphic" }, 1231 | .{ ".uvvh", "video/vnd.dece.hd" }, 1232 | .{ ".uvvi", "image/vnd.dece.graphic" }, 1233 | .{ ".uvvm", "video/vnd.dece.mobile" }, 1234 | .{ ".uvvp", "video/vnd.dece.pd" }, 1235 | .{ ".uvvs", "video/vnd.dece.sd" }, 1236 | .{ ".uvvt", "application/vnd.dece.ttml+xml" }, 1237 | .{ ".uvvu", "video/vnd.dece.mp4" }, 1238 | .{ ".uvvv", "video/vnd.dece.video" }, 1239 | .{ ".uvvx", "application/vnd.dece.unspecified" }, 1240 | .{ ".uvvz", "application/vnd.dece.zip" }, 1241 | .{ ".uvx", "application/vnd.dece.unspecified" }, 1242 | .{ ".uvz", "application/vnd.dece.zip" }, 1243 | .{ ".vbk", "audio/vnd.nortel.vbk" }, 1244 | .{ ".vbox", "application/vnd.previewsystems.box" }, 1245 | .{ ".vcard", "text/vcard" }, 1246 | .{ ".vcd", "application/x-cdlink" }, 1247 | .{ ".vcf", "text/vcard" }, 1248 | .{ ".vcg", "application/vnd.groove-vcard" }, 1249 | .{ ".vcj", "application/voucher-cms+json" }, 1250 | .{ ".vcx", "application/vnd.vcx" }, 1251 | .{ ".vds", "model/vnd.sap.vds" }, 1252 | .{ ".vew", "application/vnd.lotus-approach" }, 1253 | .{ ".vfk", "text/vnd.exchangeable" }, 1254 | .{ ".vfr", "application/vnd.tml" }, 1255 | .{ ".viaframe", "application/vnd.tml" }, 1256 | .{ ".vis", "application/vnd.visionary" }, 1257 | .{ ".viv", "video/vnd.vivo" }, 1258 | .{ ".vmt", "application/vnd.valve.source.material" }, 1259 | .{ ".vpm", "multipart/voice-message" }, 1260 | .{ ".vrml", "model/vrml" }, 1261 | .{ ".vsc", "application/vnd.vidsoft.vidconference" }, 1262 | .{ ".vsd", "application/vnd.visio" }, 1263 | .{ ".vsf", "application/vnd.vsf" }, 1264 | .{ ".vss", "application/vnd.visio" }, 1265 | .{ ".vst", "application/vnd.visio" }, 1266 | .{ ".vsw", "application/vnd.visio" }, 1267 | .{ ".vtf", "image/vnd.valve.source.texture" }, 1268 | .{ ".vtnstd", "application/vnd.veritone.aion+json" }, 1269 | .{ ".vtt", "text/vtt" }, 1270 | .{ ".vtu", "model/vnd.vtu" }, 1271 | .{ ".vwx", "application/vnd.vectorworks" }, 1272 | .{ ".vxml", "application/voicexml+xml" }, 1273 | .{ ".wadl", "application/vnd.sun.wadl+xml" }, 1274 | .{ ".wafl", "application/vnd.wasmflow.wafl" }, 1275 | .{ ".wasm", "application/wasm" }, 1276 | .{ ".wav", "audio/wav" }, 1277 | .{ ".wax", "audio/x-ms-wax" }, 1278 | .{ ".wbmp", "image/vnd.wap.wbmp" }, 1279 | .{ ".wbs", "application/vnd.criticaltools.wbs+xml" }, 1280 | .{ ".wbxml", "application/vnd.wap.wbxml" }, 1281 | .{ ".wcm", "application/vnd.ms-works" }, 1282 | .{ ".wdb", "application/vnd.ms-works" }, 1283 | .{ ".weba", "audio/webm" }, 1284 | .{ ".webm", "video/webm" }, 1285 | .{ ".webmanifest", "application/manifest+json" }, 1286 | .{ ".webp", "image/webp" }, 1287 | .{ ".wg", "application/vnd.pmi.widget" }, 1288 | .{ ".wgsl", "text/wgsl" }, 1289 | .{ ".wgt", "application/widget" }, 1290 | .{ ".wif", "application/watcherinfo+xml" }, 1291 | .{ ".win", "model/vnd.gdl" }, 1292 | .{ ".wk1", "application/vnd.lotus-1-2-3" }, 1293 | .{ ".wk3", "application/vnd.lotus-1-2-3" }, 1294 | .{ ".wk4", "application/vnd.lotus-1-2-3" }, 1295 | .{ ".wks", "application/vnd.ms-works" }, 1296 | .{ ".wlnk", "application/link-format" }, 1297 | .{ ".wm", "video/x-ms-wm" }, 1298 | .{ ".wma", "audio/x-ms-wma" }, 1299 | .{ ".wmc", "application/vnd.wmc" }, 1300 | .{ ".wmf", "image/wmf" }, 1301 | .{ ".wml", "text/vnd.wap.wml" }, 1302 | .{ ".wmlc", "application/vnd.wap.wmlc" }, 1303 | .{ ".wmls", "text/vnd.wap.wmlscript" }, 1304 | .{ ".wmlsc", "application/vnd.wap.wmlscriptc" }, 1305 | .{ ".wmv", "video/x-ms-wmv" }, 1306 | .{ ".wmx", "video/x-ms-wmx" }, 1307 | .{ ".woff", "font/woff" }, 1308 | .{ ".woff2", "font/woff2" }, 1309 | .{ ".wpd", "application/vnd.wordperfect" }, 1310 | .{ ".wpl", "application/vnd.ms-wpl" }, 1311 | .{ ".wps", "application/vnd.ms-works" }, 1312 | .{ ".wqd", "application/vnd.wqd" }, 1313 | .{ ".wrl", "model/vrml" }, 1314 | .{ ".wsc", "application/vnd.wfa.wsc" }, 1315 | .{ ".wsdl", "application/wsdl+xml" }, 1316 | .{ ".wspolicy", "application/wspolicy+xml" }, 1317 | .{ ".wtb", "application/vnd.webturbo" }, 1318 | .{ ".wv", "application/vnd.wv.csp+wbxml" }, 1319 | .{ ".wvx", "video/x-ms-wvx" }, 1320 | .{ ".x3d", "application/vnd.hzn-3d-crossword" }, 1321 | .{ ".x3db", "model/x3d+xml" }, 1322 | .{ ".x3dv", "model/x3d-vrml" }, 1323 | .{ ".x3dvz", "model/x3d-vrml" }, 1324 | .{ ".x_b", "model/vnd.parasolid.transmit.binary" }, 1325 | .{ ".x_t", "model/vnd.parasolid.transmit.text" }, 1326 | .{ ".xar", "application/vnd.xara" }, 1327 | .{ ".xav", "application/xcap-att+xml" }, 1328 | .{ ".xbd", "application/vnd.fujixerox.docuworks.binder" }, 1329 | .{ ".xbm", "image/x-xbitmap" }, 1330 | .{ ".xca", "application/xcap-caps+xml" }, 1331 | .{ ".xcs", "application/calendar+xml" }, 1332 | .{ ".xct", "application/vnd.fujixerox.docuworks.container" }, 1333 | .{ ".xdd", "application/bacnet-xdd+zip" }, 1334 | .{ ".xdf", "application/xcap-diff+xml" }, 1335 | .{ ".xdm", "application/vnd.syncml.dm+xml" }, 1336 | .{ ".xdp", "application/vnd.adobe.xdp+xml" }, 1337 | .{ ".xdssc", "application/dssc+xml" }, 1338 | .{ ".xdw", "application/vnd.fujixerox.docuworks" }, 1339 | .{ ".xel", "application/xcap-el+xml" }, 1340 | .{ ".xer", "application/xcap-error+xml" }, 1341 | .{ ".xfd", "application/vnd.xfdl" }, 1342 | .{ ".xfdf", "application/xfdf" }, 1343 | .{ ".xfdl", "application/vnd.xfdl" }, 1344 | .{ ".xhe", "audio/usac" }, 1345 | .{ ".xht", "application/xhtml+xml" }, 1346 | .{ ".xhtm", "application/xhtml+xml" }, 1347 | .{ ".xhtml", "application/xhtml+xml" }, 1348 | .{ ".xhvml", "application/xv+xml" }, 1349 | .{ ".xif", "image/vnd.xiff" }, 1350 | .{ ".xla", "application/vnd.ms-excel" }, 1351 | .{ ".xlam", "application/vnd.ms-excel.addin.macroEnabled.12" }, 1352 | .{ ".xlc", "application/vnd.ms-excel" }, 1353 | .{ ".xlf", "application/xliff+xml" }, 1354 | .{ ".xlim", "application/vnd.xmpie.xlim" }, 1355 | .{ ".xlm", "application/vnd.ms-excel" }, 1356 | .{ ".xls", "application/vnd.ms-excel" }, 1357 | .{ ".xlsb", "application/vnd.ms-excel.sheet.binary.macroEnabled.12" }, 1358 | .{ ".xlsm", "application/vnd.ms-excel.sheet.macroEnabled.12" }, 1359 | .{ ".xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }, 1360 | .{ ".xlt", "application/vnd.ms-excel" }, 1361 | .{ ".xltm", "application/vnd.ms-excel.template.macroEnabled.12" }, 1362 | .{ ".xltx", "application/vnd.openxmlformats-officedocument.spreadsheetml.template" }, 1363 | .{ ".xlw", "application/vnd.ms-excel" }, 1364 | .{ ".xml", "application/xml" }, 1365 | .{ ".xmls", "application/dskpp+xml" }, 1366 | .{ ".xmt_bin", "model/vnd.parasolid.transmit.binary" }, 1367 | .{ ".xmt_txt", "model/vnd.parasolid.transmit.text" }, 1368 | .{ ".xns", "application/xcap-ns+xml" }, 1369 | .{ ".xo", "application/vnd.olpc-sugar" }, 1370 | .{ ".xodp", "application/vnd.collabio.xodocuments.presentation" }, 1371 | .{ ".xods", "application/vnd.collabio.xodocuments.spreadsheet" }, 1372 | .{ ".xodt", "application/vnd.collabio.xodocuments.document" }, 1373 | .{ ".xop", "application/xop+xml" }, 1374 | .{ ".xotp", "application/vnd.collabio.xodocuments.presentation-template" }, 1375 | .{ ".xots", "application/vnd.collabio.xodocuments.spreadsheet-template" }, 1376 | .{ ".xott", "application/vnd.collabio.xodocuments.document-template" }, 1377 | .{ ".xpak", "application/vnd.gentoo.xpak" }, 1378 | .{ ".xpi", "application/x-xpinstall" }, 1379 | .{ ".xpm", "image/x-xpixmap" }, 1380 | .{ ".xpr", "application/vnd.is-xpr" }, 1381 | .{ ".xps", "application/vnd.ms-xpsdocument" }, 1382 | .{ ".xpw", "application/vnd.intercon.formnet" }, 1383 | .{ ".xpx", "application/vnd.intercon.formnet" }, 1384 | .{ ".xsd", "text/xml" }, 1385 | .{ ".xsf", "application/prs.xsf+xml" }, 1386 | .{ ".xsl", "application/xslt+xml" }, 1387 | .{ ".xslt", "application/xslt+xml" }, 1388 | .{ ".xsm", "application/vnd.syncml+xml" }, 1389 | .{ ".xspf", "application/x-xspf+xml" }, 1390 | .{ ".xul", "application/vnd.mozilla.xul+xml" }, 1391 | .{ ".xvm", "application/xv+xml" }, 1392 | .{ ".xvml", "application/xv+xml" }, 1393 | .{ ".xwd", "image/x-xwindowdump" }, 1394 | .{ ".xyz", "chemical/x-xyz" }, 1395 | .{ ".xyze", "image/vnd.radiance" }, 1396 | .{ ".xz", "application/x-xz" }, 1397 | .{ ".yang", "application/yang" }, 1398 | .{ ".yin", "application/yin+xml" }, 1399 | .{ ".yme", "application/vnd.yaoweme" }, 1400 | .{ ".yt", "video/vnd.youtube.yt" }, 1401 | .{ ".zaz", "application/vnd.zzazz.deck+xml" }, 1402 | .{ ".zfc", "application/vnd.filmit.zfc" }, 1403 | .{ ".zfo", "application/vnd.software602.filler.form-xml-zip" }, 1404 | .{ ".zip", "application/zip" }, 1405 | .{ ".zir", "application/vnd.zul" }, 1406 | .{ ".zirz", "application/vnd.zul" }, 1407 | .{ ".zmm", "application/vnd.HandHeld-Entertainment+xml" }, 1408 | .{ ".zone", "text/dns" }, 1409 | .{ ".zst", "application/zstd" }, 1410 | }); 1411 | -------------------------------------------------------------------------------- /test.zig: -------------------------------------------------------------------------------- 1 | const std = @import("std"); 2 | const mime = @import("mime"); 3 | const expect = @import("expect").expect; 4 | 5 | test { 6 | try expect(mime.map.get(".html")).toEqualString("text/html"); 7 | } 8 | test { 9 | try expect(mime.map.get(".sillybogo")).toBeNull(); 10 | } 11 | -------------------------------------------------------------------------------- /zigmod.yml: -------------------------------------------------------------------------------- 1 | id: f3k4y5cdrgemtq38ztm7kqjnr3tq9az396e8vu2a 2 | name: mime 3 | main: mime.zig 4 | license: MIT 5 | root_dependencies: 6 | - src: git https://github.com/nektro/zig-expect 7 | --------------------------------------------------------------------------------