all repos — litestore @ 70e18a3dfa92dbab74871c8b3fa3d930f9b86b23

A minimalist nosql document store.

Updated documentation, added markdown content type.
h3rald h3rald@h3rald.com
Sat, 21 Feb 2015 20:39:20 +0100
commit

70e18a3dfa92dbab74871c8b3fa3d930f9b86b23

parent

42f751b94e0a84816857a4764d0e40d1ab2029ac

4 files changed, 2552 insertions(+), 38 deletions(-)

jump to
M doc/LiteStore_UserGuide.htmdoc/LiteStore_UserGuide.htm

@@ -74,7 +74,16 @@ <ul>

<li><a href="#Overview">Overview</a> <ul> <li><a href="#Rationale">Rationale</a></li> - <li><a href="#Key.Features">Key Features</a></li> + <li><a href="#Key.Features">Key Features</a> + <ul> + <li><a href="#Multiformat.documents">Multiformat documents</a></li> + <li><a href="#Document.Tagging">Document Tagging</a></li> + <li><a href="#Fulltext.Search">Fulltext Search</a></li> + <li><a href="#REST.HTTP.API">REST HTTP API</a></li> + <li><a href="#Directory.Bulk.Import.Export">Directory Bulk Import/Export</a></li> + </ul> + </li> + <li><a href="#Architecture">Architecture</a></li> </ul> </li> <li><a href="#Getting.Started">Getting Started</a>

@@ -92,14 +101,14 @@ </ul>

</li> <li><a href="#REST.API.Reference">REST API Reference</a> <ul> - <li><a href="#L.v1.info.-.LiteStore.Information">/v1/info - LiteStore Information</a> + <li><a href="#info.-.LiteStore.Information">info - LiteStore Information</a> <ul> - <li><a href="#OPTIONS..v1.info">OPTIONS /v1/info</a> + <li><a href="#OPTIONS.info">OPTIONS info</a> <ul> <li><a href="#Example">Example</a></li> </ul> </li> - <li><a href="#GET..v1.info">GET /v1/info</a> + <li><a href="#GET.info">GET info</a> <ul> <li><a href="#Example.Response">Example Response</a> </li>

@@ -107,27 +116,27 @@ </ul>

</li> </ul> </li> - <li><a href="#L.v1.docs.-.LiteStore.Documents">/v1/docs - LiteStore Documents</a> + <li><a href="#docs.-.LiteStore.Documents">docs - LiteStore Documents</a> <ul> <li><a href="#Example.Document">Example Document</a></li> - <li><a href="#OPTIONS..v1.docs">OPTIONS /v1/docs</a> + <li><a href="#OPTIONS.docs">OPTIONS docs</a> <ul> <li><a href="#Example">Example</a></li> </ul> </li> - <li><a href="#OPTIONS..v1.docs.:id">OPTIONS /v1/docs/:id</a> + <li><a href="#OPTIONS.docs.:id">OPTIONS docs/:id</a> <ul> <li><a href="#Example">Example</a></li> </ul> </li> - <li><a href="#POST..v1.docs">POST /v1/docs</a></li> - <li><a href="#HEAD..v1.docs">HEAD /v1/docs</a></li> - <li><a href="#HEAD..v1.docs.:id">HEAD /v1/docs/:id</a></li> - <li><a href="#GET..v1.docs">GET /v1/docs</a></li> - <li><a href="#GET..v1.docs.:id">GET /v1/docs/:id</a></li> - <li><a href="#PUT..v1.docs.:id">PUT /v1/docs/:id</a></li> - <li><a href="#PATCH..v1.docs.:id">PATCH /v1/docs/:id</a></li> - <li><a href="#DELETE..v1.docs.:id">DELETE /v1/docs/:id</a> + <li><a href="#POST.docs">POST docs</a></li> + <li><a href="#HEAD.docs">HEAD docs</a></li> + <li><a href="#HEAD.docs.:id">HEAD docs/:id</a></li> + <li><a href="#GET.docs">GET docs</a></li> + <li><a href="#GET.docs.:id">GET docs/:id</a></li> + <li><a href="#PUT.docs.:id">PUT docs/:id</a></li> + <li><a href="#PATCH.docs.:id">PATCH docs/:id</a></li> + <li><a href="#DELETE.docs.:id">DELETE docs/:id</a> </li> </ul> </li>

@@ -141,13 +150,39 @@ </div>

<div id="main"> <h2 id="Overview">Overview<a href="#document-top" title="Go to top"></a></h2> +<p>LiteStore is a self-contained, RESTful, multi-format document store written in <a href="http://www.nim-lang.org">Nim</a>. It aims to be a very simple and lightweight backend suitable for prototypes and testing REST APIs.</p> + <h3 id="Rationale">Rationale<a href="#document-top" title="Go to top"></a></h3> -<p>&hellip;</p> +<p>If you ever wanted to build a simple single-page application in your favorite framework, just to try something out or as a prototype, you inevitably had to answer the question <em>&ldquo;What backend should I use?&rdquo;</em></p> + +<p>Sure, setting up a simple REST service using <a href="http://www.sinatrarb.com">Sinatra</a> or <a href="http://expressjs.com">Express.js</a> is not very hard, but if you want to distribute it, that will become a prerequisite for your app: you&rsquo;ll either distribute it with it, or install it beforehand on any machine you want to try your app on. Which is a shame, really, because single-page-applications are meant to be running anywhere <em>provided that they can access their backend</em>.</p> + +<p>LiteStore aims to solve this problem. Using LiteStore, you only need to take <em>two files</em> with you, at all times:</p> + +<ul> +<li>The <span class="cmd">litestore</span> executable file for your platform of choice (that&rsquo;s about 2MB in size)</li> +<li>A datastore file</li> +</ul> + + +<p>And yes, you can even store the code of your client-side application inside the datastore itself, along with your application data.</p> <h3 id="Key.Features">Key Features<a href="#document-top" title="Go to top"></a></h3> -<p>&hellip;</p> +<h4 id="Multiformat.documents">Multiformat documents<a href="#document-top" title="Go to top"></a></h4> + +<h4 id="Document.Tagging">Document Tagging<a href="#document-top" title="Go to top"></a></h4> + +<h4 id="Fulltext.Search">Fulltext Search<a href="#document-top" title="Go to top"></a></h4> + +<h4 id="REST.HTTP.API">REST HTTP API<a href="#document-top" title="Go to top"></a></h4> + +<h4 id="Directory.Bulk.Import.Export">Directory Bulk Import/Export<a href="#document-top" title="Go to top"></a></h4> + +<h3 id="Architecture">Architecture<a href="#document-top" title="Go to top"></a></h3> + +<p style="text-align:center;"> <img src="data:image/png;base64,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" alt="LiteStore Architecture" /></p> <h2 id="Getting.Started">Getting Started<a href="#document-top" title="Go to top"></a></h2>

@@ -165,22 +200,22 @@ <h3 id="Examples">Examples<a href="#document-top" title="Go to top"></a></h3>

<h2 id="REST.API.Reference">REST API Reference<a href="#document-top" title="Go to top"></a></h2> -<h3 id="L.v1.info.-.LiteStore.Information">/v1/info - LiteStore Information<a href="#document-top" title="Go to top"></a></h3> +<h3 id="info.-.LiteStore.Information">info - LiteStore Information<a href="#document-top" title="Go to top"></a></h3> <p>This resource can be queried to obtain basic information and statistics on the LiteStore server.</p> -<h4 id="OPTIONS..v1.info">OPTIONS /v1/info<a href="#document-top" title="Go to top"></a></h4> +<h4 id="OPTIONS.info">OPTIONS info<a href="#document-top" title="Go to top"></a></h4> <p>Returns the allowed HTTP verbs for this resource.</p> <h5 id="Example">Example<a href="#document-top" title="Go to top"></a></h5> -<div class="terminal"><p>curl -i -X OPTIONS http://0.0.0.0:9500/v1/info<br/> +<div class="terminal"><p>curl -i -X OPTIONS http://0.0.0.0:9500info<br/> HTTP/1.1 200 OK <br/> Content-Length: 0<br/> Allow: GET,OPTIONS</p></div> -<h4 id="GET..v1.info">GET /v1/info<a href="#document-top" title="Go to top"></a></h4> +<h4 id="GET.info">GET info<a href="#document-top" title="Go to top"></a></h4> <p>Returns the following server statistics:</p>

@@ -224,7 +259,7 @@ }]

} </code></pre> -<h3 id="L.v1.docs.-.LiteStore.Documents">/v1/docs - LiteStore Documents<a href="#document-top" title="Go to top"></a></h3> +<h3 id="docs.-.LiteStore.Documents">docs - LiteStore Documents<a href="#document-top" title="Go to top"></a></h3> <p>A document is the main resource type managed by LiteStore. Any LiteStore document can be represented as a JSON object exposing the following properties:</p>

@@ -252,7 +287,7 @@ "tags": ["$type:text", "$subtype:plain", "$format:text", "another_tag"]

} </code></pre> -<h4 id="OPTIONS..v1.docs">OPTIONS /v1/docs<a href="#document-top" title="Go to top"></a></h4> +<h4 id="OPTIONS.docs">OPTIONS docs<a href="#document-top" title="Go to top"></a></h4> <p>Returns the allowed HTTP verbs for this resource.</p>

@@ -263,7 +298,7 @@ HTTP/1.1 200 OK <br/>

Content-Length: 0<br/> Allow: HEAD,GET,POST,OPTIONS</p></div> -<h4 id="OPTIONS..v1.docs.:id">OPTIONS /v1/docs/:id<a href="#document-top" title="Go to top"></a></h4> +<h4 id="OPTIONS.docs.:id">OPTIONS docs/:id<a href="#document-top" title="Go to top"></a></h4> <p>Returns the allowed HTTP verbs for this resource.</p>

@@ -274,26 +309,26 @@ HTTP/1.1 200 OK <br/>

Content-Length: 0<br/> Allow: HEAD,GET,PUT,PATCH,DELETE,OPTIONS</p></div> -<h4 id="POST..v1.docs">POST /v1/docs<a href="#document-top" title="Go to top"></a></h4> +<h4 id="POST.docs">POST docs<a href="#document-top" title="Go to top"></a></h4> -<h4 id="HEAD..v1.docs">HEAD /v1/docs<a href="#document-top" title="Go to top"></a></h4> +<h4 id="HEAD.docs">HEAD docs<a href="#document-top" title="Go to top"></a></h4> -<h4 id="HEAD..v1.docs.:id">HEAD /v1/docs/:id<a href="#document-top" title="Go to top"></a></h4> +<h4 id="HEAD.docs.:id">HEAD docs/:id<a href="#document-top" title="Go to top"></a></h4> -<h4 id="GET..v1.docs">GET /v1/docs<a href="#document-top" title="Go to top"></a></h4> +<h4 id="GET.docs">GET docs<a href="#document-top" title="Go to top"></a></h4> -<h4 id="GET..v1.docs.:id">GET /v1/docs/:id<a href="#document-top" title="Go to top"></a></h4> +<h4 id="GET.docs.:id">GET docs/:id<a href="#document-top" title="Go to top"></a></h4> -<h4 id="PUT..v1.docs.:id">PUT /v1/docs/:id<a href="#document-top" title="Go to top"></a></h4> +<h4 id="PUT.docs.:id">PUT docs/:id<a href="#document-top" title="Go to top"></a></h4> -<h4 id="PATCH..v1.docs.:id">PATCH /v1/docs/:id<a href="#document-top" title="Go to top"></a></h4> +<h4 id="PATCH.docs.:id">PATCH docs/:id<a href="#document-top" title="Go to top"></a></h4> -<h4 id="DELETE..v1.docs.:id">DELETE /v1/docs/:id<a href="#document-top" title="Go to top"></a></h4> +<h4 id="DELETE.docs.:id">DELETE docs/:id<a href="#document-top" title="Go to top"></a></h4> <h2 id="Credits">Credits<a href="#document-top" title="Go to top"></a></h2> </div> <div id="footer"> - <p><span class="copy"></span> Fabio Cevasco &ndash; February 7, 2015</p> + <p><span class="copy"></span> Fabio Cevasco &ndash; February 21, 2015</p> <p><span>Powered by</span> <a href="https://h3rald.com/hastyscribe"><span class="hastyscribe"></span></a></p> </div> </body>
M doc/_md/overview.mddoc/_md/overview.md

@@ -1,11 +1,33 @@

## Overview -{{LS -> LiteStore}} +{{LS -> LiteStore}} is a self-contained, RESTful, multi-format document store written in [Nim](http://www.nim-lang.org). It aims to be a very simple and lightweight backend suitable for prototypes and testing REST APIs. ### Rationale -... +If you ever wanted to build a simple single-page application in your favorite framework, just to try something out or as a prototype, you inevitably had to answer the question _"What backend should I use?"_ + +Sure, setting up a simple REST service using [Sinatra](http://www.sinatrarb.com) or [Express.js](http://expressjs.com) is not very hard, but if you want to distribute it, that will become a prerequisite for your app: you'll either distribute it with it, or install it beforehand on any machine you want to try your app on. Which is a shame, really, because single-page-applications are meant to be running anywhere _provided that they can access their backend_. + +{{LS}} aims to solve this problem. Using {{LS}}, you only need to take _two files_ with you, at all times: + +* The [litestore](class:cmd) executable file for your platform of choice (that's about 2MB in size) +* A datastore file + +And yes, you can even store the code of your client-side application inside the datastore itself, along with your application data. ### Key Features -... +#### Multiformat documents + +#### Document Tagging + +#### Fulltext Search + +#### REST HTTP API + +#### Directory Bulk Import/Export + +### Architecture + +-> ![{{LS}} Architecture](_assets/litestore_arch.png) <- +
M lib/contenttypes.jsonlib/contenttypes.json

@@ -1,2 +1,2459 @@

- -[{".123": "application\/vnd.lotus-1-2-3"}, {".3dml": "text\/vnd.in3d.3dml"}, {".3g2": "video\/3gpp2"}, {".3gp": "video\/3gpp"}, {".a": "application\/octet-stream"}, {".aab": "application\/x-authorware-bin"}, {".aac": "audio\/x-aac"}, {".aam": "application\/x-authorware-map"}, {".aas": "application\/x-authorware-seg"}, {".abw": "application\/x-abiword"}, {".acc": "application\/vnd.americandynamics.acc"}, {".ace": "application\/x-ace-compressed"}, {".acu": "application\/vnd.acucobol"}, {".acutc": "application\/vnd.acucorp"}, {".adp": "audio\/adpcm"}, {".aep": "application\/vnd.audiograph"}, {".afm": "application\/x-font-type1"}, {".afp": "application\/vnd.ibm.modcap"}, {".ai": "application\/postscript"}, {".aif": "audio\/x-aiff"}, {".aifc": "audio\/x-aiff"}, {".aiff": "audio\/x-aiff"}, {".air": "application\/vnd.adobe.air-application-installer-package+zip"}, {".ami": "application\/vnd.amiga.ami"}, {".apk": "application\/vnd.android.package-archive"}, {".application": "application\/x-ms-application"}, {".apr": "application\/vnd.lotus-approach"}, {".asc": "application\/pgp-signature"}, {".asf": "video\/x-ms-asf"}, {".asm": "text\/x-asm"}, {".aso": "application\/vnd.accpac.simply.aso"}, {".asx": "video\/x-ms-asf"}, {".atc": "application\/vnd.acucorp"}, {".atom": "application\/atom+xml"}, {".atomcat": "application\/atomcat+xml"}, {".atomsvc": "application\/atomsvc+xml"}, {".atx": "application\/vnd.antix.game-component"}, {".au": "audio\/basic"}, {".avi": "video\/x-msvideo"}, {".aw": "application\/applixware"}, {".azf": "application\/vnd.airzip.filesecure.azf"}, {".azs": "application\/vnd.airzip.filesecure.azs"}, {".azw": "application\/vnd.amazon.ebook"}, {".bat": "application\/x-msdownload"}, {".bcpio": "application\/x-bcpio"}, {".bdf": "application\/x-font-bdf"}, {".bdm": "application\/vnd.syncml.dm+wbxml"}, {".bh2": "application\/vnd.fujitsu.oasysprs"}, {".bin": "application\/octet-stream"}, {".bmi": "application\/vnd.bmi"}, {".bmp": "image\/bmp"}, {".book": "application\/vnd.framemaker"}, {".box": "application\/vnd.previewsystems.box"}, {".boz": "application\/x-bzip2"}, {".bpk": "application\/octet-stream"}, {".btif": "image\/prs.btif"}, {".bz": "application\/x-bzip"}, {".bz2": "application\/x-bzip2"}, {".c": "text\/x-c"}, {".c4d": "application\/vnd.clonk.c4group"}, {".c4f": "application\/vnd.clonk.c4group"}, {".c4g": "application\/vnd.clonk.c4group"}, {".c4p": "application\/vnd.clonk.c4group"}, {".c4u": "application\/vnd.clonk.c4group"}, {".cab": "application\/vnd.ms-cab-compressed"}, {".car": "application\/vnd.curl.car"}, {".cat": "application\/vnd.ms-pki.seccat"}, {".cc": "text\/x-c"}, {".cct": "application\/x-director"}, {".ccxml": "application\/ccxml+xml"}, {".cdbcmsg": "application\/vnd.contact.cmsg"}, {".cdf": "application\/x-netcdf"}, {".cdkey": "application\/vnd.mediastation.cdkey"}, {".cdx": "chemical\/x-cdx"}, {".cdxml": "application\/vnd.chemdraw+xml"}, {".cdy": "application\/vnd.cinderella"}, {".cer": "application\/pkix-cert"}, {".cgm": "image\/cgm"}, {".chat": "application\/x-chat"}, {".chm": "application\/vnd.ms-htmlhelp"}, {".chrt": "application\/vnd.kde.kchart"}, {".cif": "chemical\/x-cif"}, {".cii": "application\/vnd.anser-web-certificate-issue-initiation"}, {".cil": "application\/vnd.ms-artgalry"}, {".cla": "application\/vnd.claymore"}, {".class": "application\/java-vm"}, {".clkk": "application\/vnd.crick.clicker.keyboard"}, {".clkp": "application\/vnd.crick.clicker.palette"}, {".clkt": "application\/vnd.crick.clicker.template"}, {".clkw": "application\/vnd.crick.clicker.wordbank"}, {".clkx": "application\/vnd.crick.clicker"}, {".clp": "application\/x-msclip"}, {".cmc": "application\/vnd.cosmocaller"}, {".cmdf": "chemical\/x-cmdf"}, {".cml": "chemical\/x-cml"}, {".cmp": "application\/vnd.yellowriver-custom-menu"}, {".cmx": "image\/x-cmx"}, {".cod": "application\/vnd.rim.cod"}, {".com": "application\/x-msdownload"}, {".conf": "text\/plain"}, {".cpio": "application\/x-cpio"}, {".cpp": "text\/x-c"}, {".cpt": "application\/mac-compactpro"}, {".crd": "application\/x-mscardfile"}, {".crl": "application\/pkix-crl"}, {".crt": "application\/x-x509-ca-cert"}, {".csh": "application\/x-csh"}, {".csml": "chemical\/x-csml"}, {".csp": "application\/vnd.commonspace"}, {".css": "text\/css"}, {".cst": "application\/x-director"}, {".csv": "text\/csv"}, {".cu": "application\/cu-seeme"}, {".curl": "text\/vnd.curl"}, {".cww": "application\/prs.cww"}, {".cxt": "application\/x-director"}, {".cxx": "text\/x-c"}, {".daf": "application\/vnd.mobius.daf"}, {".dataless": "application\/vnd.fdsn.seed"}, {".davmount": "application\/davmount+xml"}, {".dcr": "application\/x-director"}, {".dcurl": "text\/vnd.curl.dcurl"}, {".dd2": "application\/vnd.oma.dd2+xml"}, {".ddd": "application\/vnd.fujixerox.ddd"}, {".deb": "application\/x-debian-package"}, {".def": "text\/plain"}, {".deploy": "application\/octet-stream"}, {".der": "application\/x-x509-ca-cert"}, {".dfac": "application\/vnd.dreamfactory"}, {".dic": "text\/x-c"}, {".diff": "text\/plain"}, {".dir": "application\/x-director"}, {".dis": "application\/vnd.mobius.dis"}, {".dist": "application\/octet-stream"}, {".distz": "application\/octet-stream"}, {".djv": "image\/vnd.djvu"}, {".djvu": "image\/vnd.djvu"}, {".dll": "application\/x-msdownload"}, {".dmg": "application\/octet-stream"}, {".dms": "application\/octet-stream"}, {".dna": "application\/vnd.dna"}, {".doc": "application\/msword"}, {".docm": "application\/vnd.ms-word.document.macroenabled.12"}, {".docx": "application\/vnd.openxmlformats-officedocument.wordprocessingml.document"}, {".dot": "application\/msword"}, {".dotm": "application\/vnd.ms-word.template.macroenabled.12"}, {".dotx": "application\/vnd.openxmlformats-officedocument.wordprocessingml.template"}, {".dp": "application\/vnd.osgi.dp"}, {".dpg": "application\/vnd.dpgraph"}, {".dsc": "text\/prs.lines.tag"}, {".dtb": "application\/x-dtbook+xml"}, {".dtd": "application\/xml-dtd"}, {".dts": "audio\/vnd.dts"}, {".dtshd": "audio\/vnd.dts.hd"}, {".dump": "application\/octet-stream"}, {".dvi": "application\/x-dvi"}, {".dwf": "model\/vnd.dwf"}, {".dwg": "image\/vnd.dwg"}, {".dxf": "image\/vnd.dxf"}, {".dxp": "application\/vnd.spotfire.dxp"}, {".dxr": "application\/x-director"}, {".ecelp4800": "audio\/vnd.nuera.ecelp4800"}, {".ecelp7470": "audio\/vnd.nuera.ecelp7470"}, {".ecelp9600": "audio\/vnd.nuera.ecelp9600"}, {".ecma": "application\/ecmascript"}, {".edm": "application\/vnd.novadigm.edm"}, {".edx": "application\/vnd.novadigm.edx"}, {".efif": "application\/vnd.picsel"}, {".ei6": "application\/vnd.pg.osasli"}, {".elc": "application\/octet-stream"}, {".eml": "message\/rfc822"}, {".emma": "application\/emma+xml"}, {".eol": "audio\/vnd.digital-winds"}, {".eot": "application\/vnd.ms-fontobject"}, {".eps": "application\/postscript"}, {".epub": "application\/epub+zip"}, {".es3": "application\/vnd.eszigno3+xml"}, {".esf": "application\/vnd.epson.esf"}, {".et3": "application\/vnd.eszigno3+xml"}, {".etx": "text\/x-setext"}, {".exe": "application\/x-msdownload"}, {".ext": "application\/vnd.novadigm.ext"}, {".ez": "application\/andrew-inset"}, {".ez2": "application\/vnd.ezpix-album"}, {".ez3": "application\/vnd.ezpix-package"}, {".f": "text\/x-fortran"}, {".f4v": "video\/x-f4v"}, {".f77": "text\/x-fortran"}, {".f90": "text\/x-fortran"}, {".fbs": "image\/vnd.fastbidsheet"}, {".fdf": "application\/vnd.fdf"}, {".fe_launch": "application\/vnd.denovo.fcselayout-link"}, {".fg5": "application\/vnd.fujitsu.oasysgp"}, {".fgd": "application\/x-director"}, {".fh": "image\/x-freehand"}, {".fh4": "image\/x-freehand"}, {".fh5": "image\/x-freehand"}, {".fh7": "image\/x-freehand"}, {".fhc": "image\/x-freehand"}, {".fig": "application\/x-xfig"}, {".fli": "video\/x-fli"}, {".flo": "application\/vnd.micrografx.flo"}, {".flv": "video\/x-flv"}, {".flw": "application\/vnd.kde.kivio"}, {".flx": "text\/vnd.fmi.flexstor"}, {".fly": "text\/vnd.fly"}, {".fm": "application\/vnd.framemaker"}, {".fnc": "application\/vnd.frogans.fnc"}, {".for": "text\/x-fortran"}, {".fpx": "image\/vnd.fpx"}, {".frame": "application\/vnd.framemaker"}, {".fsc": "application\/vnd.fsc.weblaunch"}, {".fst": "image\/vnd.fst"}, {".ftc": "application\/vnd.fluxtime.clip"}, {".fti": "application\/vnd.anser-web-funds-transfer-initiation"}, {".fvt": "video\/vnd.fvt"}, {".fzs": "application\/vnd.fuzzysheet"}, {".g3": "image\/g3fax"}, {".gac": "application\/vnd.groove-account"}, {".gdl": "model\/vnd.gdl"}, {".geo": "application\/vnd.dynageo"}, {".gex": "application\/vnd.geometry-explorer"}, {".ggb": "application\/vnd.geogebra.file"}, {".ggt": "application\/vnd.geogebra.tool"}, {".ghf": "application\/vnd.groove-help"}, {".gif": "image\/gif"}, {".gim": "application\/vnd.groove-identity-message"}, {".gmx": "application\/vnd.gmx"}, {".gnumeric": "application\/x-gnumeric"}, {".gph": "application\/vnd.flographit"}, {".gqf": "application\/vnd.grafeq"}, {".gqs": "application\/vnd.grafeq"}, {".gram": "application\/srgs"}, {".gre": "application\/vnd.geometry-explorer"}, {".grv": "application\/vnd.groove-injector"}, {".grxml": "application\/srgs+xml"}, {".gsf": "application\/x-font-ghostscript"}, {".gtar": "application\/x-gtar"}, {".gtm": "application\/vnd.groove-tool-message"}, {".gtw": "model\/vnd.gtw"}, {".gv": "text\/vnd.graphviz"}, {".gz": "application\/x-gzip"}, {".h": "text\/x-c"}, {".h261": "video\/h261"}, {".h263": "video\/h263"}, {".h264": "video\/h264"}, {".hbci": "application\/vnd.hbci"}, {".hdf": "application\/x-hdf"}, {".hh": "text\/x-c"}, {".hlp": "application\/winhlp"}, {".hpgl": "application\/vnd.hp-hpgl"}, {".hpid": "application\/vnd.hp-hpid"}, {".hps": "application\/vnd.hp-hps"}, {".hqx": "application\/mac-binhex40"}, {".htke": "application\/vnd.kenameaapp"}, {".htm": "text\/html"}, {".html": "text\/html"}, {".hvd": "application\/vnd.yamaha.hv-dic"}, {".hvp": "application\/vnd.yamaha.hv-voice"}, {".hvs": "application\/vnd.yamaha.hv-script"}, {".icc": "application\/vnd.iccprofile"}, {".ice": "x-conference\/x-cooltalk"}, {".icm": "application\/vnd.iccprofile"}, {".ico": "image\/x-icon"}, {".ics": "text\/calendar"}, {".ief": "image\/ief"}, {".ifb": "text\/calendar"}, {".ifm": "application\/vnd.shana.informed.formdata"}, {".iges": "model\/iges"}, {".igl": "application\/vnd.igloader"}, {".igs": "model\/iges"}, {".igx": "application\/vnd.micrografx.igx"}, {".iif": "application\/vnd.shana.informed.interchange"}, {".imp": "application\/vnd.accpac.simply.imp"}, {".ims": "application\/vnd.ms-ims"}, {".in": "text\/plain"}, {".ipk": "application\/vnd.shana.informed.package"}, {".irm": "application\/vnd.ibm.rights-management"}, {".irp": "application\/vnd.irepository.package+xml"}, {".iso": "application\/octet-stream"}, {".itp": "application\/vnd.shana.informed.formtemplate"}, {".ivp": "application\/vnd.immervision-ivp"}, {".ivu": "application\/vnd.immervision-ivu"}, {".jad": "text\/vnd.sun.j2me.app-descriptor"}, {".jam": "application\/vnd.jam"}, {".jar": "application\/java-archive"}, {".java": "text\/x-java-source"}, {".jisp": "application\/vnd.jisp"}, {".jlt": "application\/vnd.hp-jlyt"}, {".jnlp": "application\/x-java-jnlp-file"}, {".joda": "application\/vnd.joost.joda-archive"}, {".jpe": "image\/jpeg"}, {".jpeg": "image\/jpeg"}, {".jpg": "image\/jpeg"}, {".jpgm": "video\/jpm"}, {".jpgv": "video\/jpeg"}, {".jpm": "video\/jpm"}, {".js": "application\/javascript"}, {".json": "application\/json"}, {".kar": "audio\/midi"}, {".karbon": "application\/vnd.kde.karbon"}, {".kfo": "application\/vnd.kde.kformula"}, {".kia": "application\/vnd.kidspiration"}, {".kil": "application\/x-killustrator"}, {".kml": "application\/vnd.google-earth.kml+xml"}, {".kmz": "application\/vnd.google-earth.kmz"}, {".kne": "application\/vnd.kinar"}, {".knp": "application\/vnd.kinar"}, {".kon": "application\/vnd.kde.kontour"}, {".kpr": "application\/vnd.kde.kpresenter"}, {".kpt": "application\/vnd.kde.kpresenter"}, {".ksh": "text\/plain"}, {".ksp": "application\/vnd.kde.kspread"}, {".ktr": "application\/vnd.kahootz"}, {".ktz": "application\/vnd.kahootz"}, {".kwd": "application\/vnd.kde.kword"}, {".kwt": "application\/vnd.kde.kword"}, {".latex": "application\/x-latex"}, {".lbd": "application\/vnd.llamagraphics.life-balance.desktop"}, {".lbe": "application\/vnd.llamagraphics.life-balance.exchange+xml"}, {".les": "application\/vnd.hhe.lesson-player"}, {".lha": "application\/octet-stream"}, {".link66": "application\/vnd.route66.link66+xml"}, {".list": "text\/plain"}, {".list3820": "application\/vnd.ibm.modcap"}, {".listafp": "application\/vnd.ibm.modcap"}, {".log": "text\/plain"}, {".lostxml": "application\/lost+xml"}, {".lrf": "application\/octet-stream"}, {".lrm": "application\/vnd.ms-lrm"}, {".ltf": "application\/vnd.frogans.ltf"}, {".lvp": "audio\/vnd.lucent.voice"}, {".lwp": "application\/vnd.lotus-wordpro"}, {".lzh": "application\/octet-stream"}, {".m13": "application\/x-msmediaview"}, {".m14": "application\/x-msmediaview"}, {".m1v": "video\/mpeg"}, {".m2a": "audio\/mpeg"}, {".m2v": "video\/mpeg"}, {".m3a": "audio\/mpeg"}, {".m3u": "audio\/x-mpegurl"}, {".m4u": "video\/vnd.mpegurl"}, {".m4v": "video\/x-m4v"}, {".ma": "application\/mathematica"}, {".mag": "application\/vnd.ecowin.chart"}, {".maker": "application\/vnd.framemaker"}, {".man": "text\/troff"}, {".mathml": "application\/mathml+xml"}, {".mb": "application\/mathematica"}, {".mbk": "application\/vnd.mobius.mbk"}, {".mbox": "application\/mbox"}, {".mc1": "application\/vnd.medcalcdata"}, {".mcd": "application\/vnd.mcd"}, {".mcurl": "text\/vnd.curl.mcurl"}, {".mdb": "application\/x-msaccess"}, {".mdi": "image\/vnd.ms-modi"}, {".me": "text\/troff"}, {".mesh": "model\/mesh"}, {".mfm": "application\/vnd.mfmp"}, {".mgz": "application\/vnd.proteus.magazine"}, {".mht": "message\/rfc822"}, {".mhtml": "message\/rfc822"}, {".mid": "audio\/midi"}, {".midi": "audio\/midi"}, {".mif": "application\/vnd.mif"}, {".mime": "message\/rfc822"}, {".mj2": "video\/mj2"}, {".mjp2": "video\/mj2"}, {".mlp": "application\/vnd.dolby.mlp"}, {".mmd": "application\/vnd.chipnuts.karaoke-mmd"}, {".mmf": "application\/vnd.smaf"}, {".mmr": "image\/vnd.fujixerox.edmics-mmr"}, {".mny": "application\/x-msmoney"}, {".mobi": "application\/x-mobipocket-ebook"}, {".mov": "video\/quicktime"}, {".movie": "video\/x-sgi-movie"}, {".mp2": "audio\/mpeg"}, {".mp2a": "audio\/mpeg"}, {".mp3": "audio\/mpeg"}, {".mp4": "video\/mp4"}, {".mp4a": "audio\/mp4"}, {".mp4s": "application\/mp4"}, {".mp4v": "video\/mp4"}, {".mpa": "video\/mpeg"}, {".mpc": "application\/vnd.mophun.certificate"}, {".mpe": "video\/mpeg"}, {".mpeg": "video\/mpeg"}, {".mpg": "video\/mpeg"}, {".mpg4": "video\/mp4"}, {".mpga": "audio\/mpeg"}, {".mpkg": "application\/vnd.apple.installer+xml"}, {".mpm": "application\/vnd.blueice.multipass"}, {".mpn": "application\/vnd.mophun.application"}, {".mpp": "application\/vnd.ms-project"}, {".mpt": "application\/vnd.ms-project"}, {".mpy": "application\/vnd.ibm.minipay"}, {".mqy": "application\/vnd.mobius.mqy"}, {".mrc": "application\/marc"}, {".ms": "text\/troff"}, {".mscml": "application\/mediaservercontrol+xml"}, {".mseed": "application\/vnd.fdsn.mseed"}, {".mseq": "application\/vnd.mseq"}, {".msf": "application\/vnd.epson.msf"}, {".msh": "model\/mesh"}, {".msi": "application\/x-msdownload"}, {".msl": "application\/vnd.mobius.msl"}, {".msty": "application\/vnd.muvee.style"}, {".mts": "model\/vnd.mts"}, {".mus": "application\/vnd.musician"}, {".musicxml": "application\/vnd.recordare.musicxml+xml"}, {".mvb": "application\/x-msmediaview"}, {".mwf": "application\/vnd.mfer"}, {".mxf": "application\/mxf"}, {".mxl": "application\/vnd.recordare.musicxml"}, {".mxml": "application\/xv+xml"}, {".mxs": "application\/vnd.triscape.mxs"}, {".mxu": "video\/vnd.mpegurl"}, {".n-gage": "application\/vnd.nokia.n-gage.symbian.install"}, {".nb": "application\/mathematica"}, {".nc": "application\/x-netcdf"}, {".ncx": "application\/x-dtbncx+xml"}, {".ngdat": "application\/vnd.nokia.n-gage.data"}, {".nlu": "application\/vnd.neurolanguage.nlu"}, {".nml": "application\/vnd.enliven"}, {".nnd": "application\/vnd.noblenet-directory"}, {".nns": "application\/vnd.noblenet-sealer"}, {".nnw": "application\/vnd.noblenet-web"}, {".npx": "image\/vnd.net-fpx"}, {".nsf": "application\/vnd.lotus-notes"}, {".nws": "message\/rfc822"}, {".o": "application\/octet-stream"}, {".oa2": "application\/vnd.fujitsu.oasys2"}, {".oa3": "application\/vnd.fujitsu.oasys3"}, {".oas": "application\/vnd.fujitsu.oasys"}, {".obd": "application\/x-msbinder"}, {".obj": "application\/octet-stream"}, {".oda": "application\/oda"}, {".odb": "application\/vnd.oasis.opendocument.database"}, {".odc": "application\/vnd.oasis.opendocument.chart"}, {".odf": "application\/vnd.oasis.opendocument.formula"}, {".odft": "application\/vnd.oasis.opendocument.formula-template"}, {".odg": "application\/vnd.oasis.opendocument.graphics"}, {".odi": "application\/vnd.oasis.opendocument.image"}, {".odp": "application\/vnd.oasis.opendocument.presentation"}, {".ods": "application\/vnd.oasis.opendocument.spreadsheet"}, {".odt": "application\/vnd.oasis.opendocument.text"}, {".oga": "audio\/ogg"}, {".ogg": "audio\/ogg"}, {".ogv": "video\/ogg"}, {".ogx": "application\/ogg"}, {".onepkg": "application\/onenote"}, {".onetmp": "application\/onenote"}, {".onetoc": "application\/onenote"}, {".onetoc2": "application\/onenote"}, {".opf": "application\/oebps-package+xml"}, {".oprc": "application\/vnd.palm"}, {".org": "application\/vnd.lotus-organizer"}, {".osf": "application\/vnd.yamaha.openscoreformat"}, {".osfpvg": "application\/vnd.yamaha.openscoreformat.osfpvg+xml"}, {".otc": "application\/vnd.oasis.opendocument.chart-template"}, {".otf": "application\/x-font-otf"}, {".otg": "application\/vnd.oasis.opendocument.graphics-template"}, {".oth": "application\/vnd.oasis.opendocument.text-web"}, {".oti": "application\/vnd.oasis.opendocument.image-template"}, {".otm": "application\/vnd.oasis.opendocument.text-master"}, {".otp": "application\/vnd.oasis.opendocument.presentation-template"}, {".ots": "application\/vnd.oasis.opendocument.spreadsheet-template"}, {".ott": "application\/vnd.oasis.opendocument.text-template"}, {".oxt": "application\/vnd.openofficeorg.extension"}, {".p": "text\/x-pascal"}, {".p10": "application\/pkcs10"}, {".p12": "application\/x-pkcs12"}, {".p7b": "application\/x-pkcs7-certificates"}, {".p7c": "application\/pkcs7-mime"}, {".p7m": "application\/pkcs7-mime"}, {".p7r": "application\/x-pkcs7-certreqresp"}, {".p7s": "application\/pkcs7-signature"}, {".pas": "text\/x-pascal"}, {".pbd": "application\/vnd.powerbuilder6"}, {".pbm": "image\/x-portable-bitmap"}, {".pcf": "application\/x-font-pcf"}, {".pcl": "application\/vnd.hp-pcl"}, {".pclxl": "application\/vnd.hp-pclxl"}, {".pct": "image\/x-pict"}, {".pcurl": "application\/vnd.curl.pcurl"}, {".pcx": "image\/x-pcx"}, {".pdb": "application\/vnd.palm"}, {".pdf": "application\/pdf"}, {".pfa": "application\/x-font-type1"}, {".pfb": "application\/x-font-type1"}, {".pfm": "application\/x-font-type1"}, {".pfr": "application\/font-tdpfr"}, {".pfx": "application\/x-pkcs12"}, {".pgm": "image\/x-portable-graymap"}, {".pgn": "application\/x-chess-pgn"}, {".pgp": "application\/pgp-encrypted"}, {".pic": "image\/x-pict"}, {".pkg": "application\/octet-stream"}, {".pki": "application\/pkixcmp"}, {".pkipath": "application\/pkix-pkipath"}, {".pl": "text\/plain"}, {".plb": "application\/vnd.3gpp.pic-bw-large"}, {".plc": "application\/vnd.mobius.plc"}, {".plf": "application\/vnd.pocketlearn"}, {".pls": "application\/pls+xml"}, {".pml": "application\/vnd.ctc-posml"}, {".png": "image\/png"}, {".pnm": "image\/x-portable-anymap"}, {".portpkg": "application\/vnd.macports.portpkg"}, {".pot": "application\/vnd.ms-powerpoint"}, {".potm": "application\/vnd.ms-powerpoint.template.macroenabled.12"}, {".potx": "application\/vnd.openxmlformats-officedocument.presentationml.template"}, {".ppa": "application\/vnd.ms-powerpoint"}, {".ppam": "application\/vnd.ms-powerpoint.addin.macroenabled.12"}, {".ppd": "application\/vnd.cups-ppd"}, {".ppm": "image\/x-portable-pixmap"}, {".pps": "application\/vnd.ms-powerpoint"}, {".ppsm": "application\/vnd.ms-powerpoint.slideshow.macroenabled.12"}, {".ppsx": "application\/vnd.openxmlformats-officedocument.presentationml.slideshow"}, {".ppt": "application\/vnd.ms-powerpoint"}, {".pptm": "application\/vnd.ms-powerpoint.presentation.macroenabled.12"}, {".pptx": "application\/vnd.openxmlformats-officedocument.presentationml.presentation"}, {".pqa": "application\/vnd.palm"}, {".prc": "application\/x-mobipocket-ebook"}, {".pre": "application\/vnd.lotus-freelance"}, {".prf": "application\/pics-rules"}, {".ps": "application\/postscript"}, {".psb": "application\/vnd.3gpp.pic-bw-small"}, {".psd": "image\/vnd.adobe.photoshop"}, {".psf": "application\/x-font-linux-psf"}, {".ptid": "application\/vnd.pvi.ptid1"}, {".pub": "application\/x-mspublisher"}, {".pvb": "application\/vnd.3gpp.pic-bw-var"}, {".pwn": "application\/vnd.3m.post-it-notes"}, {".pwz": "application\/vnd.ms-powerpoint"}, {".py": "text\/x-python"}, {".pya": "audio\/vnd.ms-playready.media.pya"}, {".pyc": "application\/x-python-code"}, {".pyo": "application\/x-python-code"}, {".pyv": "video\/vnd.ms-playready.media.pyv"}, {".qam": "application\/vnd.epson.quickanime"}, {".qbo": "application\/vnd.intu.qbo"}, {".qfx": "application\/vnd.intu.qfx"}, {".qps": "application\/vnd.publishare-delta-tree"}, {".qt": "video\/quicktime"}, {".qwd": "application\/vnd.quark.quarkxpress"}, {".qwt": "application\/vnd.quark.quarkxpress"}, {".qxb": "application\/vnd.quark.quarkxpress"}, {".qxd": "application\/vnd.quark.quarkxpress"}, {".qxl": "application\/vnd.quark.quarkxpress"}, {".qxt": "application\/vnd.quark.quarkxpress"}, {".ra": "audio\/x-pn-realaudio"}, {".ram": "audio\/x-pn-realaudio"}, {".rar": "application\/x-rar-compressed"}, {".ras": "image\/x-cmu-raster"}, {".rcprofile": "application\/vnd.ipunplugged.rcprofile"}, {".rdf": "application\/rdf+xml"}, {".rdz": "application\/vnd.data-vision.rdz"}, {".rep": "application\/vnd.businessobjects"}, {".res": "application\/x-dtbresource+xml"}, {".rgb": "image\/x-rgb"}, {".rif": "application\/reginfo+xml"}, {".rl": "application\/resource-lists+xml"}, {".rlc": "image\/vnd.fujixerox.edmics-rlc"}, {".rld": "application\/resource-lists-diff+xml"}, {".rm": "application\/vnd.rn-realmedia"}, {".rmi": "audio\/midi"}, {".rmp": "audio\/x-pn-realaudio-plugin"}, {".rms": "application\/vnd.jcp.javame.midlet-rms"}, {".rnc": "application\/relax-ng-compact-syntax"}, {".roff": "text\/troff"}, {".rpm": "application\/x-rpm"}, {".rpss": "application\/vnd.nokia.radio-presets"}, {".rpst": "application\/vnd.nokia.radio-preset"}, {".rq": "application\/sparql-query"}, {".rs": "application\/rls-services+xml"}, {".rsd": "application\/rsd+xml"}, {".rss": "application\/rss+xml"}, {".rtf": "application\/rtf"}, {".rtx": "text\/richtext"}, {".s": "text\/x-asm"}, {".saf": "application\/vnd.yamaha.smaf-audio"}, {".sbml": "application\/sbml+xml"}, {".sc": "application\/vnd.ibm.secure-container"}, {".scd": "application\/x-msschedule"}, {".scm": "application\/vnd.lotus-screencam"}, {".scq": "application\/scvp-cv-request"}, {".scs": "application\/scvp-cv-response"}, {".scurl": "text\/vnd.curl.scurl"}, {".sda": "application\/vnd.stardivision.draw"}, {".sdc": "application\/vnd.stardivision.calc"}, {".sdd": "application\/vnd.stardivision.impress"}, {".sdkd": "application\/vnd.solent.sdkm+xml"}, {".sdkm": "application\/vnd.solent.sdkm+xml"}, {".sdp": "application\/sdp"}, {".sdw": "application\/vnd.stardivision.writer"}, {".see": "application\/vnd.seemail"}, {".seed": "application\/vnd.fdsn.seed"}, {".sema": "application\/vnd.sema"}, {".semd": "application\/vnd.semd"}, {".semf": "application\/vnd.semf"}, {".ser": "application\/java-serialized-object"}, {".setpay": "application\/set-payment-initiation"}, {".setreg": "application\/set-registration-initiation"}, {".sfd-hdstx": "application\/vnd.hydrostatix.sof-data"}, {".sfs": "application\/vnd.spotfire.sfs"}, {".sgl": "application\/vnd.stardivision.writer-global"}, {".sgm": "text\/sgml"}, {".sgml": "text\/sgml"}, {".sh": "application\/x-sh"}, {".shar": "application\/x-shar"}, {".shf": "application\/shf+xml"}, {".si": "text\/vnd.wap.si"}, {".sic": "application\/vnd.wap.sic"}, {".sig": "application\/pgp-signature"}, {".silo": "model\/mesh"}, {".sis": "application\/vnd.symbian.install"}, {".sisx": "application\/vnd.symbian.install"}, {".sit": "application\/x-stuffit"}, {".sitx": "application\/x-stuffitx"}, {".skd": "application\/vnd.koan"}, {".skm": "application\/vnd.koan"}, {".skp": "application\/vnd.koan"}, {".skt": "application\/vnd.koan"}, {".sl": "text\/vnd.wap.sl"}, {".slc": "application\/vnd.wap.slc"}, {".sldm": "application\/vnd.ms-powerpoint.slide.macroenabled.12"}, {".sldx": "application\/vnd.openxmlformats-officedocument.presentationml.slide"}, {".slt": "application\/vnd.epson.salt"}, {".smf": "application\/vnd.stardivision.math"}, {".smi": "application\/smil+xml"}, {".smil": "application\/smil+xml"}, {".snd": "audio\/basic"}, {".snf": "application\/x-font-snf"}, {".so": "application\/octet-stream"}, {".spc": "application\/x-pkcs7-certificates"}, {".spf": "application\/vnd.yamaha.smaf-phrase"}, {".spl": "application\/x-futuresplash"}, {".spot": "text\/vnd.in3d.spot"}, {".spp": "application\/scvp-vp-response"}, {".spq": "application\/scvp-vp-request"}, {".spx": "audio\/ogg"}, {".src": "application\/x-wais-source"}, {".srx": "application\/sparql-results+xml"}, {".sse": "application\/vnd.kodak-descriptor"}, {".ssf": "application\/vnd.epson.ssf"}, {".ssml": "application\/ssml+xml"}, {".stc": "application\/vnd.sun.xml.calc.template"}, {".std": "application\/vnd.sun.xml.draw.template"}, {".stf": "application\/vnd.wt.stf"}, {".sti": "application\/vnd.sun.xml.impress.template"}, {".stk": "application\/hyperstudio"}, {".stl": "application\/vnd.ms-pki.stl"}, {".str": "application\/vnd.pg.format"}, {".stw": "application\/vnd.sun.xml.writer.template"}, {".sus": "application\/vnd.sus-calendar"}, {".susp": "application\/vnd.sus-calendar"}, {".sv4cpio": "application\/x-sv4cpio"}, {".sv4crc": "application\/x-sv4crc"}, {".svd": "application\/vnd.svd"}, {".svg": "image\/svg+xml"}, {".svgz": "image\/svg+xml"}, {".swa": "application\/x-director"}, {".swf": "application\/x-shockwave-flash"}, {".swi": "application\/vnd.arastra.swi"}, {".sxc": "application\/vnd.sun.xml.calc"}, {".sxd": "application\/vnd.sun.xml.draw"}, {".sxg": "application\/vnd.sun.xml.writer.global"}, {".sxi": "application\/vnd.sun.xml.impress"}, {".sxm": "application\/vnd.sun.xml.math"}, {".sxw": "application\/vnd.sun.xml.writer"}, {".t": "text\/troff"}, {".tao": "application\/vnd.tao.intent-module-archive"}, {".tar": "application\/x-tar"}, {".tcap": "application\/vnd.3gpp2.tcap"}, {".tcl": "application\/x-tcl"}, {".teacher": "application\/vnd.smart.teacher"}, {".tex": "application\/x-tex"}, {".texi": "application\/x-texinfo"}, {".texinfo": "application\/x-texinfo"}, {".text": "text\/plain"}, {".tfm": "application\/x-tex-tfm"}, {".tgz": "application\/x-gzip"}, {".tif": "image\/tiff"}, {".tiff": "image\/tiff"}, {".tmo": "application\/vnd.tmobile-livetv"}, {".torrent": "application\/x-bittorrent"}, {".tpl": "application\/vnd.groove-tool-template"}, {".tpt": "application\/vnd.trid.tpt"}, {".tr": "text\/troff"}, {".tra": "application\/vnd.trueapp"}, {".trm": "application\/x-msterminal"}, {".tsv": "text\/tab-separated-values"}, {".ttc": "application\/x-font-ttf"}, {".ttf": "application\/x-font-ttf"}, {".twd": "application\/vnd.simtech-mindmapper"}, {".twds": "application\/vnd.simtech-mindmapper"}, {".txd": "application\/vnd.genomatix.tuxedo"}, {".txf": "application\/vnd.mobius.txf"}, {".txt": "text\/plain"}, {".u32": "application\/x-authorware-bin"}, {".udeb": "application\/x-debian-package"}, {".ufd": "application\/vnd.ufdl"}, {".ufdl": "application\/vnd.ufdl"}, {".umj": "application\/vnd.umajin"}, {".unityweb": "application\/vnd.unity"}, {".uoml": "application\/vnd.uoml+xml"}, {".uri": "text\/uri-list"}, {".uris": "text\/uri-list"}, {".urls": "text\/uri-list"}, {".ustar": "application\/x-ustar"}, {".utz": "application\/vnd.uiq.theme"}, {".uu": "text\/x-uuencode"}, {".vcd": "application\/x-cdlink"}, {".vcf": "text\/x-vcard"}, {".vcg": "application\/vnd.groove-vcard"}, {".vcs": "text\/x-vcalendar"}, {".vcx": "application\/vnd.vcx"}, {".vis": "application\/vnd.visionary"}, {".viv": "video\/vnd.vivo"}, {".vor": "application\/vnd.stardivision.writer"}, {".vox": "application\/x-authorware-bin"}, {".vrml": "model\/vrml"}, {".vsd": "application\/vnd.visio"}, {".vsf": "application\/vnd.vsf"}, {".vss": "application\/vnd.visio"}, {".vst": "application\/vnd.visio"}, {".vsw": "application\/vnd.visio"}, {".vtu": "model\/vnd.vtu"}, {".vxml": "application\/voicexml+xml"}, {".w3d": "application\/x-director"}, {".wad": "application\/x-doom"}, {".wav": "audio\/x-wav"}, {".wax": "audio\/x-ms-wax"}, {".wbmp": "image\/vnd.wap.wbmp"}, {".wbs": "application\/vnd.criticaltools.wbs+xml"}, {".wbxml": "application\/vnd.wap.wbxml"}, {".wcm": "application\/vnd.ms-works"}, {".wdb": "application\/vnd.ms-works"}, {".wiz": "application\/msword"}, {".wks": "application\/vnd.ms-works"}, {".wm": "video\/x-ms-wm"}, {".wma": "audio\/x-ms-wma"}, {".wmd": "application\/x-ms-wmd"}, {".wmf": "application\/x-msmetafile"}, {".wml": "text\/vnd.wap.wml"}, {".wmlc": "application\/vnd.wap.wmlc"}, {".wmls": "text\/vnd.wap.wmlscript"}, {".wmlsc": "application\/vnd.wap.wmlscriptc"}, {".wmv": "video\/x-ms-wmv"}, {".wmx": "video\/x-ms-wmx"}, {".wmz": "application\/x-ms-wmz"}, {".wpd": "application\/vnd.wordperfect"}, {".wpl": "application\/vnd.ms-wpl"}, {".wps": "application\/vnd.ms-works"}, {".wqd": "application\/vnd.wqd"}, {".wri": "application\/x-mswrite"}, {".wrl": "model\/vrml"}, {".wsdl": "application\/wsdl+xml"}, {".wspolicy": "application\/wspolicy+xml"}, {".wtb": "application\/vnd.webturbo"}, {".wvx": "video\/x-ms-wvx"}, {".x32": "application\/x-authorware-bin"}, {".x3d": "application\/vnd.hzn-3d-crossword"}, {".xap": "application\/x-silverlight-app"}, {".xar": "application\/vnd.xara"}, {".xbap": "application\/x-ms-xbap"}, {".xbd": "application\/vnd.fujixerox.docuworks.binder"}, {".xbm": "image\/x-xbitmap"}, {".xdm": "application\/vnd.syncml.dm+xml"}, {".xdp": "application\/vnd.adobe.xdp+xml"}, {".xdw": "application\/vnd.fujixerox.docuworks"}, {".xenc": "application\/xenc+xml"}, {".xer": "application\/patch-ops-error+xml"}, {".xfdf": "application\/vnd.adobe.xfdf"}, {".xfdl": "application\/vnd.xfdl"}, {".xht": "application\/xhtml+xml"}, {".xhtml": "application\/xhtml+xml"}, {".xhvml": "application\/xv+xml"}, {".xif": "image\/vnd.xiff"}, {".xla": "application\/vnd.ms-excel"}, {".xlam": "application\/vnd.ms-excel.addin.macroenabled.12"}, {".xlb": "application\/vnd.ms-excel"}, {".xlc": "application\/vnd.ms-excel"}, {".xlm": "application\/vnd.ms-excel"}, {".xls": "application\/vnd.ms-excel"}, {".xlsb": "application\/vnd.ms-excel.sheet.binary.macroenabled.12"}, {".xlsm": "application\/vnd.ms-excel.sheet.macroenabled.12"}, {".xlsx": "application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet"}, {".xlt": "application\/vnd.ms-excel"}, {".xltm": "application\/vnd.ms-excel.template.macroenabled.12"}, {".xltx": "application\/vnd.openxmlformats-officedocument.spreadsheetml.template"}, {".xlw": "application\/vnd.ms-excel"}, {".xml": "application\/xml"}, {".xo": "application\/vnd.olpc-sugar"}, {".xop": "application\/xop+xml"}, {".xpdl": "application\/xml"}, {".xpi": "application\/x-xpinstall"}, {".xpm": "image\/x-xpixmap"}, {".xpr": "application\/vnd.is-xpr"}, {".xps": "application\/vnd.ms-xpsdocument"}, {".xpw": "application\/vnd.intercon.formnet"}, {".xpx": "application\/vnd.intercon.formnet"}, {".xsl": "application\/xml"}, {".xslt": "application\/xslt+xml"}, {".xsm": "application\/vnd.syncml+xml"}, {".xspf": "application\/xspf+xml"}, {".xul": "application\/vnd.mozilla.xul+xml"}, {".xvm": "application\/xv+xml"}, {".xvml": "application\/xv+xml"}, {".xwd": "image\/x-xwindowdump"}, {".xyz": "chemical\/x-xyz"}, {".zaz": "application\/vnd.zzazz.deck+xml"}, {".zip": "application\/zip"}, {".zir": "application\/vnd.zul"}, {".zirz": "application\/vnd.zul"}, {".zmm": "application\/vnd.handheld-entertainment+xml"}] +[ + { + ".123":"application\/vnd.lotus-1-2-3" + }, + { + ".3dml":"text\/vnd.in3d.3dml" + }, + { + ".3g2":"video\/3gpp2" + }, + { + ".3gp":"video\/3gpp" + }, + { + ".a":"application\/octet-stream" + }, + { + ".aab":"application\/x-authorware-bin" + }, + { + ".aac":"audio\/x-aac" + }, + { + ".aam":"application\/x-authorware-map" + }, + { + ".aas":"application\/x-authorware-seg" + }, + { + ".abw":"application\/x-abiword" + }, + { + ".acc":"application\/vnd.americandynamics.acc" + }, + { + ".ace":"application\/x-ace-compressed" + }, + { + ".acu":"application\/vnd.acucobol" + }, + { + ".acutc":"application\/vnd.acucorp" + }, + { + ".adp":"audio\/adpcm" + }, + { + ".aep":"application\/vnd.audiograph" + }, + { + ".afm":"application\/x-font-type1" + }, + { + ".afp":"application\/vnd.ibm.modcap" + }, + { + ".ai":"application\/postscript" + }, + { + ".aif":"audio\/x-aiff" + }, + { + ".aifc":"audio\/x-aiff" + }, + { + ".aiff":"audio\/x-aiff" + }, + { + ".air":"application\/vnd.adobe.air-application-installer-package+zip" + }, + { + ".ami":"application\/vnd.amiga.ami" + }, + { + ".apk":"application\/vnd.android.package-archive" + }, + { + ".application":"application\/x-ms-application" + }, + { + ".apr":"application\/vnd.lotus-approach" + }, + { + ".asc":"application\/pgp-signature" + }, + { + ".asf":"video\/x-ms-asf" + }, + { + ".asm":"text\/x-asm" + }, + { + ".aso":"application\/vnd.accpac.simply.aso" + }, + { + ".asx":"video\/x-ms-asf" + }, + { + ".atc":"application\/vnd.acucorp" + }, + { + ".atom":"application\/atom+xml" + }, + { + ".atomcat":"application\/atomcat+xml" + }, + { + ".atomsvc":"application\/atomsvc+xml" + }, + { + ".atx":"application\/vnd.antix.game-component" + }, + { + ".au":"audio\/basic" + }, + { + ".avi":"video\/x-msvideo" + }, + { + ".aw":"application\/applixware" + }, + { + ".azf":"application\/vnd.airzip.filesecure.azf" + }, + { + ".azs":"application\/vnd.airzip.filesecure.azs" + }, + { + ".azw":"application\/vnd.amazon.ebook" + }, + { + ".bat":"application\/x-msdownload" + }, + { + ".bcpio":"application\/x-bcpio" + }, + { + ".bdf":"application\/x-font-bdf" + }, + { + ".bdm":"application\/vnd.syncml.dm+wbxml" + }, + { + ".bh2":"application\/vnd.fujitsu.oasysprs" + }, + { + ".bin":"application\/octet-stream" + }, + { + ".bmi":"application\/vnd.bmi" + }, + { + ".bmp":"image\/bmp" + }, + { + ".book":"application\/vnd.framemaker" + }, + { + ".box":"application\/vnd.previewsystems.box" + }, + { + ".boz":"application\/x-bzip2" + }, + { + ".bpk":"application\/octet-stream" + }, + { + ".btif":"image\/prs.btif" + }, + { + ".bz":"application\/x-bzip" + }, + { + ".bz2":"application\/x-bzip2" + }, + { + ".c":"text\/x-c" + }, + { + ".c4d":"application\/vnd.clonk.c4group" + }, + { + ".c4f":"application\/vnd.clonk.c4group" + }, + { + ".c4g":"application\/vnd.clonk.c4group" + }, + { + ".c4p":"application\/vnd.clonk.c4group" + }, + { + ".c4u":"application\/vnd.clonk.c4group" + }, + { + ".cab":"application\/vnd.ms-cab-compressed" + }, + { + ".car":"application\/vnd.curl.car" + }, + { + ".cat":"application\/vnd.ms-pki.seccat" + }, + { + ".cc":"text\/x-c" + }, + { + ".cct":"application\/x-director" + }, + { + ".ccxml":"application\/ccxml+xml" + }, + { + ".cdbcmsg":"application\/vnd.contact.cmsg" + }, + { + ".cdf":"application\/x-netcdf" + }, + { + ".cdkey":"application\/vnd.mediastation.cdkey" + }, + { + ".cdx":"chemical\/x-cdx" + }, + { + ".cdxml":"application\/vnd.chemdraw+xml" + }, + { + ".cdy":"application\/vnd.cinderella" + }, + { + ".cer":"application\/pkix-cert" + }, + { + ".cgm":"image\/cgm" + }, + { + ".chat":"application\/x-chat" + }, + { + ".chm":"application\/vnd.ms-htmlhelp" + }, + { + ".chrt":"application\/vnd.kde.kchart" + }, + { + ".cif":"chemical\/x-cif" + }, + { + ".cii":"application\/vnd.anser-web-certificate-issue-initiation" + }, + { + ".cil":"application\/vnd.ms-artgalry" + }, + { + ".cla":"application\/vnd.claymore" + }, + { + ".class":"application\/java-vm" + }, + { + ".clkk":"application\/vnd.crick.clicker.keyboard" + }, + { + ".clkp":"application\/vnd.crick.clicker.palette" + }, + { + ".clkt":"application\/vnd.crick.clicker.template" + }, + { + ".clkw":"application\/vnd.crick.clicker.wordbank" + }, + { + ".clkx":"application\/vnd.crick.clicker" + }, + { + ".clp":"application\/x-msclip" + }, + { + ".cmc":"application\/vnd.cosmocaller" + }, + { + ".cmdf":"chemical\/x-cmdf" + }, + { + ".cml":"chemical\/x-cml" + }, + { + ".cmp":"application\/vnd.yellowriver-custom-menu" + }, + { + ".cmx":"image\/x-cmx" + }, + { + ".cod":"application\/vnd.rim.cod" + }, + { + ".com":"application\/x-msdownload" + }, + { + ".conf":"text\/plain" + }, + { + ".cpio":"application\/x-cpio" + }, + { + ".cpp":"text\/x-c" + }, + { + ".cpt":"application\/mac-compactpro" + }, + { + ".crd":"application\/x-mscardfile" + }, + { + ".crl":"application\/pkix-crl" + }, + { + ".crt":"application\/x-x509-ca-cert" + }, + { + ".csh":"application\/x-csh" + }, + { + ".csml":"chemical\/x-csml" + }, + { + ".csp":"application\/vnd.commonspace" + }, + { + ".css":"text\/css" + }, + { + ".cst":"application\/x-director" + }, + { + ".csv":"text\/csv" + }, + { + ".cu":"application\/cu-seeme" + }, + { + ".curl":"text\/vnd.curl" + }, + { + ".cww":"application\/prs.cww" + }, + { + ".cxt":"application\/x-director" + }, + { + ".cxx":"text\/x-c" + }, + { + ".daf":"application\/vnd.mobius.daf" + }, + { + ".dataless":"application\/vnd.fdsn.seed" + }, + { + ".davmount":"application\/davmount+xml" + }, + { + ".dcr":"application\/x-director" + }, + { + ".dcurl":"text\/vnd.curl.dcurl" + }, + { + ".dd2":"application\/vnd.oma.dd2+xml" + }, + { + ".ddd":"application\/vnd.fujixerox.ddd" + }, + { + ".deb":"application\/x-debian-package" + }, + { + ".def":"text\/plain" + }, + { + ".deploy":"application\/octet-stream" + }, + { + ".der":"application\/x-x509-ca-cert" + }, + { + ".dfac":"application\/vnd.dreamfactory" + }, + { + ".dic":"text\/x-c" + }, + { + ".diff":"text\/plain" + }, + { + ".dir":"application\/x-director" + }, + { + ".dis":"application\/vnd.mobius.dis" + }, + { + ".dist":"application\/octet-stream" + }, + { + ".distz":"application\/octet-stream" + }, + { + ".djv":"image\/vnd.djvu" + }, + { + ".djvu":"image\/vnd.djvu" + }, + { + ".dll":"application\/x-msdownload" + }, + { + ".dmg":"application\/octet-stream" + }, + { + ".dms":"application\/octet-stream" + }, + { + ".dna":"application\/vnd.dna" + }, + { + ".doc":"application\/msword" + }, + { + ".docm":"application\/vnd.ms-word.document.macroenabled.12" + }, + { + ".docx":"application\/vnd.openxmlformats-officedocument.wordprocessingml.document" + }, + { + ".dot":"application\/msword" + }, + { + ".dotm":"application\/vnd.ms-word.template.macroenabled.12" + }, + { + ".dotx":"application\/vnd.openxmlformats-officedocument.wordprocessingml.template" + }, + { + ".dp":"application\/vnd.osgi.dp" + }, + { + ".dpg":"application\/vnd.dpgraph" + }, + { + ".dsc":"text\/prs.lines.tag" + }, + { + ".dtb":"application\/x-dtbook+xml" + }, + { + ".dtd":"application\/xml-dtd" + }, + { + ".dts":"audio\/vnd.dts" + }, + { + ".dtshd":"audio\/vnd.dts.hd" + }, + { + ".dump":"application\/octet-stream" + }, + { + ".dvi":"application\/x-dvi" + }, + { + ".dwf":"model\/vnd.dwf" + }, + { + ".dwg":"image\/vnd.dwg" + }, + { + ".dxf":"image\/vnd.dxf" + }, + { + ".dxp":"application\/vnd.spotfire.dxp" + }, + { + ".dxr":"application\/x-director" + }, + { + ".ecelp4800":"audio\/vnd.nuera.ecelp4800" + }, + { + ".ecelp7470":"audio\/vnd.nuera.ecelp7470" + }, + { + ".ecelp9600":"audio\/vnd.nuera.ecelp9600" + }, + { + ".ecma":"application\/ecmascript" + }, + { + ".edm":"application\/vnd.novadigm.edm" + }, + { + ".edx":"application\/vnd.novadigm.edx" + }, + { + ".efif":"application\/vnd.picsel" + }, + { + ".ei6":"application\/vnd.pg.osasli" + }, + { + ".elc":"application\/octet-stream" + }, + { + ".eml":"message\/rfc822" + }, + { + ".emma":"application\/emma+xml" + }, + { + ".eol":"audio\/vnd.digital-winds" + }, + { + ".eot":"application\/vnd.ms-fontobject" + }, + { + ".eps":"application\/postscript" + }, + { + ".epub":"application\/epub+zip" + }, + { + ".es3":"application\/vnd.eszigno3+xml" + }, + { + ".esf":"application\/vnd.epson.esf" + }, + { + ".et3":"application\/vnd.eszigno3+xml" + }, + { + ".etx":"text\/x-setext" + }, + { + ".exe":"application\/x-msdownload" + }, + { + ".ext":"application\/vnd.novadigm.ext" + }, + { + ".ez":"application\/andrew-inset" + }, + { + ".ez2":"application\/vnd.ezpix-album" + }, + { + ".ez3":"application\/vnd.ezpix-package" + }, + { + ".f":"text\/x-fortran" + }, + { + ".f4v":"video\/x-f4v" + }, + { + ".f77":"text\/x-fortran" + }, + { + ".f90":"text\/x-fortran" + }, + { + ".fbs":"image\/vnd.fastbidsheet" + }, + { + ".fdf":"application\/vnd.fdf" + }, + { + ".fe_launch":"application\/vnd.denovo.fcselayout-link" + }, + { + ".fg5":"application\/vnd.fujitsu.oasysgp" + }, + { + ".fgd":"application\/x-director" + }, + { + ".fh":"image\/x-freehand" + }, + { + ".fh4":"image\/x-freehand" + }, + { + ".fh5":"image\/x-freehand" + }, + { + ".fh7":"image\/x-freehand" + }, + { + ".fhc":"image\/x-freehand" + }, + { + ".fig":"application\/x-xfig" + }, + { + ".fli":"video\/x-fli" + }, + { + ".flo":"application\/vnd.micrografx.flo" + }, + { + ".flv":"video\/x-flv" + }, + { + ".flw":"application\/vnd.kde.kivio" + }, + { + ".flx":"text\/vnd.fmi.flexstor" + }, + { + ".fly":"text\/vnd.fly" + }, + { + ".fm":"application\/vnd.framemaker" + }, + { + ".fnc":"application\/vnd.frogans.fnc" + }, + { + ".for":"text\/x-fortran" + }, + { + ".fpx":"image\/vnd.fpx" + }, + { + ".frame":"application\/vnd.framemaker" + }, + { + ".fsc":"application\/vnd.fsc.weblaunch" + }, + { + ".fst":"image\/vnd.fst" + }, + { + ".ftc":"application\/vnd.fluxtime.clip" + }, + { + ".fti":"application\/vnd.anser-web-funds-transfer-initiation" + }, + { + ".fvt":"video\/vnd.fvt" + }, + { + ".fzs":"application\/vnd.fuzzysheet" + }, + { + ".g3":"image\/g3fax" + }, + { + ".gac":"application\/vnd.groove-account" + }, + { + ".gdl":"model\/vnd.gdl" + }, + { + ".geo":"application\/vnd.dynageo" + }, + { + ".gex":"application\/vnd.geometry-explorer" + }, + { + ".ggb":"application\/vnd.geogebra.file" + }, + { + ".ggt":"application\/vnd.geogebra.tool" + }, + { + ".ghf":"application\/vnd.groove-help" + }, + { + ".gif":"image\/gif" + }, + { + ".gim":"application\/vnd.groove-identity-message" + }, + { + ".gmx":"application\/vnd.gmx" + }, + { + ".gnumeric":"application\/x-gnumeric" + }, + { + ".gph":"application\/vnd.flographit" + }, + { + ".gqf":"application\/vnd.grafeq" + }, + { + ".gqs":"application\/vnd.grafeq" + }, + { + ".gram":"application\/srgs" + }, + { + ".gre":"application\/vnd.geometry-explorer" + }, + { + ".grv":"application\/vnd.groove-injector" + }, + { + ".grxml":"application\/srgs+xml" + }, + { + ".gsf":"application\/x-font-ghostscript" + }, + { + ".gtar":"application\/x-gtar" + }, + { + ".gtm":"application\/vnd.groove-tool-message" + }, + { + ".gtw":"model\/vnd.gtw" + }, + { + ".gv":"text\/vnd.graphviz" + }, + { + ".gz":"application\/x-gzip" + }, + { + ".h":"text\/x-c" + }, + { + ".h261":"video\/h261" + }, + { + ".h263":"video\/h263" + }, + { + ".h264":"video\/h264" + }, + { + ".hbci":"application\/vnd.hbci" + }, + { + ".hdf":"application\/x-hdf" + }, + { + ".hh":"text\/x-c" + }, + { + ".hlp":"application\/winhlp" + }, + { + ".hpgl":"application\/vnd.hp-hpgl" + }, + { + ".hpid":"application\/vnd.hp-hpid" + }, + { + ".hps":"application\/vnd.hp-hps" + }, + { + ".hqx":"application\/mac-binhex40" + }, + { + ".htke":"application\/vnd.kenameaapp" + }, + { + ".htm":"text\/html" + }, + { + ".html":"text\/html" + }, + { + ".hvd":"application\/vnd.yamaha.hv-dic" + }, + { + ".hvp":"application\/vnd.yamaha.hv-voice" + }, + { + ".hvs":"application\/vnd.yamaha.hv-script" + }, + { + ".icc":"application\/vnd.iccprofile" + }, + { + ".ice":"x-conference\/x-cooltalk" + }, + { + ".icm":"application\/vnd.iccprofile" + }, + { + ".ico":"image\/x-icon" + }, + { + ".ics":"text\/calendar" + }, + { + ".ief":"image\/ief" + }, + { + ".ifb":"text\/calendar" + }, + { + ".ifm":"application\/vnd.shana.informed.formdata" + }, + { + ".iges":"model\/iges" + }, + { + ".igl":"application\/vnd.igloader" + }, + { + ".igs":"model\/iges" + }, + { + ".igx":"application\/vnd.micrografx.igx" + }, + { + ".iif":"application\/vnd.shana.informed.interchange" + }, + { + ".imp":"application\/vnd.accpac.simply.imp" + }, + { + ".ims":"application\/vnd.ms-ims" + }, + { + ".in":"text\/plain" + }, + { + ".ipk":"application\/vnd.shana.informed.package" + }, + { + ".irm":"application\/vnd.ibm.rights-management" + }, + { + ".irp":"application\/vnd.irepository.package+xml" + }, + { + ".iso":"application\/octet-stream" + }, + { + ".itp":"application\/vnd.shana.informed.formtemplate" + }, + { + ".ivp":"application\/vnd.immervision-ivp" + }, + { + ".ivu":"application\/vnd.immervision-ivu" + }, + { + ".jad":"text\/vnd.sun.j2me.app-descriptor" + }, + { + ".jam":"application\/vnd.jam" + }, + { + ".jar":"application\/java-archive" + }, + { + ".java":"text\/x-java-source" + }, + { + ".jisp":"application\/vnd.jisp" + }, + { + ".jlt":"application\/vnd.hp-jlyt" + }, + { + ".jnlp":"application\/x-java-jnlp-file" + }, + { + ".joda":"application\/vnd.joost.joda-archive" + }, + { + ".jpe":"image\/jpeg" + }, + { + ".jpeg":"image\/jpeg" + }, + { + ".jpg":"image\/jpeg" + }, + { + ".jpgm":"video\/jpm" + }, + { + ".jpgv":"video\/jpeg" + }, + { + ".jpm":"video\/jpm" + }, + { + ".js":"application\/javascript" + }, + { + ".json":"application\/json" + }, + { + ".kar":"audio\/midi" + }, + { + ".karbon":"application\/vnd.kde.karbon" + }, + { + ".kfo":"application\/vnd.kde.kformula" + }, + { + ".kia":"application\/vnd.kidspiration" + }, + { + ".kil":"application\/x-killustrator" + }, + { + ".kml":"application\/vnd.google-earth.kml+xml" + }, + { + ".kmz":"application\/vnd.google-earth.kmz" + }, + { + ".kne":"application\/vnd.kinar" + }, + { + ".knp":"application\/vnd.kinar" + }, + { + ".kon":"application\/vnd.kde.kontour" + }, + { + ".kpr":"application\/vnd.kde.kpresenter" + }, + { + ".kpt":"application\/vnd.kde.kpresenter" + }, + { + ".ksh":"text\/plain" + }, + { + ".ksp":"application\/vnd.kde.kspread" + }, + { + ".ktr":"application\/vnd.kahootz" + }, + { + ".ktz":"application\/vnd.kahootz" + }, + { + ".kwd":"application\/vnd.kde.kword" + }, + { + ".kwt":"application\/vnd.kde.kword" + }, + { + ".latex":"application\/x-latex" + }, + { + ".lbd":"application\/vnd.llamagraphics.life-balance.desktop" + }, + { + ".lbe":"application\/vnd.llamagraphics.life-balance.exchange+xml" + }, + { + ".les":"application\/vnd.hhe.lesson-player" + }, + { + ".lha":"application\/octet-stream" + }, + { + ".link66":"application\/vnd.route66.link66+xml" + }, + { + ".list":"text\/plain" + }, + { + ".list3820":"application\/vnd.ibm.modcap" + }, + { + ".listafp":"application\/vnd.ibm.modcap" + }, + { + ".log":"text\/plain" + }, + { + ".lostxml":"application\/lost+xml" + }, + { + ".lrf":"application\/octet-stream" + }, + { + ".lrm":"application\/vnd.ms-lrm" + }, + { + ".ltf":"application\/vnd.frogans.ltf" + }, + { + ".lvp":"audio\/vnd.lucent.voice" + }, + { + ".lwp":"application\/vnd.lotus-wordpro" + }, + { + ".lzh":"application\/octet-stream" + }, + { + ".m13":"application\/x-msmediaview" + }, + { + ".m14":"application\/x-msmediaview" + }, + { + ".m1v":"video\/mpeg" + }, + { + ".m2a":"audio\/mpeg" + }, + { + ".m2v":"video\/mpeg" + }, + { + ".m3a":"audio\/mpeg" + }, + { + ".m3u":"audio\/x-mpegurl" + }, + { + ".m4u":"video\/vnd.mpegurl" + }, + { + ".m4v":"video\/x-m4v" + }, + { + ".ma":"application\/mathematica" + }, + { + ".mag":"application\/vnd.ecowin.chart" + }, + { + ".maker":"application\/vnd.framemaker" + }, + { + ".man":"text\/troff" + }, + { + ".markdown":"text\/x-markdown" + }, + { + ".mathml":"application\/mathml+xml" + }, + { + ".mb":"application\/mathematica" + }, + { + ".mbk":"application\/vnd.mobius.mbk" + }, + { + ".mbox":"application\/mbox" + }, + { + ".mc1":"application\/vnd.medcalcdata" + }, + { + ".mcd":"application\/vnd.mcd" + }, + { + ".mcurl":"text\/vnd.curl.mcurl" + }, + { + ".md":"text\/x-markdown" + }, + { + ".mdb":"application\/x-msaccess" + }, + { + ".mdi":"image\/vnd.ms-modi" + }, + { + ".me":"text\/troff" + }, + { + ".mesh":"model\/mesh" + }, + { + ".mfm":"application\/vnd.mfmp" + }, + { + ".mgz":"application\/vnd.proteus.magazine" + }, + { + ".mht":"message\/rfc822" + }, + { + ".mhtml":"message\/rfc822" + }, + { + ".mid":"audio\/midi" + }, + { + ".midi":"audio\/midi" + }, + { + ".mif":"application\/vnd.mif" + }, + { + ".mime":"message\/rfc822" + }, + { + ".mj2":"video\/mj2" + }, + { + ".mjp2":"video\/mj2" + }, + { + ".mlp":"application\/vnd.dolby.mlp" + }, + { + ".mmd":"application\/vnd.chipnuts.karaoke-mmd" + }, + { + ".mmf":"application\/vnd.smaf" + }, + { + ".mmr":"image\/vnd.fujixerox.edmics-mmr" + }, + { + ".mny":"application\/x-msmoney" + }, + { + ".mobi":"application\/x-mobipocket-ebook" + }, + { + ".mov":"video\/quicktime" + }, + { + ".movie":"video\/x-sgi-movie" + }, + { + ".mp2":"audio\/mpeg" + }, + { + ".mp2a":"audio\/mpeg" + }, + { + ".mp3":"audio\/mpeg" + }, + { + ".mp4":"video\/mp4" + }, + { + ".mp4a":"audio\/mp4" + }, + { + ".mp4s":"application\/mp4" + }, + { + ".mp4v":"video\/mp4" + }, + { + ".mpa":"video\/mpeg" + }, + { + ".mpc":"application\/vnd.mophun.certificate" + }, + { + ".mpe":"video\/mpeg" + }, + { + ".mpeg":"video\/mpeg" + }, + { + ".mpg":"video\/mpeg" + }, + { + ".mpg4":"video\/mp4" + }, + { + ".mpga":"audio\/mpeg" + }, + { + ".mpkg":"application\/vnd.apple.installer+xml" + }, + { + ".mpm":"application\/vnd.blueice.multipass" + }, + { + ".mpn":"application\/vnd.mophun.application" + }, + { + ".mpp":"application\/vnd.ms-project" + }, + { + ".mpt":"application\/vnd.ms-project" + }, + { + ".mpy":"application\/vnd.ibm.minipay" + }, + { + ".mqy":"application\/vnd.mobius.mqy" + }, + { + ".mrc":"application\/marc" + }, + { + ".ms":"text\/troff" + }, + { + ".mscml":"application\/mediaservercontrol+xml" + }, + { + ".mseed":"application\/vnd.fdsn.mseed" + }, + { + ".mseq":"application\/vnd.mseq" + }, + { + ".msf":"application\/vnd.epson.msf" + }, + { + ".msh":"model\/mesh" + }, + { + ".msi":"application\/x-msdownload" + }, + { + ".msl":"application\/vnd.mobius.msl" + }, + { + ".msty":"application\/vnd.muvee.style" + }, + { + ".mts":"model\/vnd.mts" + }, + { + ".mus":"application\/vnd.musician" + }, + { + ".musicxml":"application\/vnd.recordare.musicxml+xml" + }, + { + ".mvb":"application\/x-msmediaview" + }, + { + ".mwf":"application\/vnd.mfer" + }, + { + ".mxf":"application\/mxf" + }, + { + ".mxl":"application\/vnd.recordare.musicxml" + }, + { + ".mxml":"application\/xv+xml" + }, + { + ".mxs":"application\/vnd.triscape.mxs" + }, + { + ".mxu":"video\/vnd.mpegurl" + }, + { + ".n-gage":"application\/vnd.nokia.n-gage.symbian.install" + }, + { + ".nb":"application\/mathematica" + }, + { + ".nc":"application\/x-netcdf" + }, + { + ".ncx":"application\/x-dtbncx+xml" + }, + { + ".ngdat":"application\/vnd.nokia.n-gage.data" + }, + { + ".nlu":"application\/vnd.neurolanguage.nlu" + }, + { + ".nml":"application\/vnd.enliven" + }, + { + ".nnd":"application\/vnd.noblenet-directory" + }, + { + ".nns":"application\/vnd.noblenet-sealer" + }, + { + ".nnw":"application\/vnd.noblenet-web" + }, + { + ".npx":"image\/vnd.net-fpx" + }, + { + ".nsf":"application\/vnd.lotus-notes" + }, + { + ".nws":"message\/rfc822" + }, + { + ".o":"application\/octet-stream" + }, + { + ".oa2":"application\/vnd.fujitsu.oasys2" + }, + { + ".oa3":"application\/vnd.fujitsu.oasys3" + }, + { + ".oas":"application\/vnd.fujitsu.oasys" + }, + { + ".obd":"application\/x-msbinder" + }, + { + ".obj":"application\/octet-stream" + }, + { + ".oda":"application\/oda" + }, + { + ".odb":"application\/vnd.oasis.opendocument.database" + }, + { + ".odc":"application\/vnd.oasis.opendocument.chart" + }, + { + ".odf":"application\/vnd.oasis.opendocument.formula" + }, + { + ".odft":"application\/vnd.oasis.opendocument.formula-template" + }, + { + ".odg":"application\/vnd.oasis.opendocument.graphics" + }, + { + ".odi":"application\/vnd.oasis.opendocument.image" + }, + { + ".odp":"application\/vnd.oasis.opendocument.presentation" + }, + { + ".ods":"application\/vnd.oasis.opendocument.spreadsheet" + }, + { + ".odt":"application\/vnd.oasis.opendocument.text" + }, + { + ".oga":"audio\/ogg" + }, + { + ".ogg":"audio\/ogg" + }, + { + ".ogv":"video\/ogg" + }, + { + ".ogx":"application\/ogg" + }, + { + ".onepkg":"application\/onenote" + }, + { + ".onetmp":"application\/onenote" + }, + { + ".onetoc":"application\/onenote" + }, + { + ".onetoc2":"application\/onenote" + }, + { + ".opf":"application\/oebps-package+xml" + }, + { + ".oprc":"application\/vnd.palm" + }, + { + ".org":"application\/vnd.lotus-organizer" + }, + { + ".osf":"application\/vnd.yamaha.openscoreformat" + }, + { + ".osfpvg":"application\/vnd.yamaha.openscoreformat.osfpvg+xml" + }, + { + ".otc":"application\/vnd.oasis.opendocument.chart-template" + }, + { + ".otf":"application\/x-font-otf" + }, + { + ".otg":"application\/vnd.oasis.opendocument.graphics-template" + }, + { + ".oth":"application\/vnd.oasis.opendocument.text-web" + }, + { + ".oti":"application\/vnd.oasis.opendocument.image-template" + }, + { + ".otm":"application\/vnd.oasis.opendocument.text-master" + }, + { + ".otp":"application\/vnd.oasis.opendocument.presentation-template" + }, + { + ".ots":"application\/vnd.oasis.opendocument.spreadsheet-template" + }, + { + ".ott":"application\/vnd.oasis.opendocument.text-template" + }, + { + ".oxt":"application\/vnd.openofficeorg.extension" + }, + { + ".p":"text\/x-pascal" + }, + { + ".p10":"application\/pkcs10" + }, + { + ".p12":"application\/x-pkcs12" + }, + { + ".p7b":"application\/x-pkcs7-certificates" + }, + { + ".p7c":"application\/pkcs7-mime" + }, + { + ".p7m":"application\/pkcs7-mime" + }, + { + ".p7r":"application\/x-pkcs7-certreqresp" + }, + { + ".p7s":"application\/pkcs7-signature" + }, + { + ".pas":"text\/x-pascal" + }, + { + ".pbd":"application\/vnd.powerbuilder6" + }, + { + ".pbm":"image\/x-portable-bitmap" + }, + { + ".pcf":"application\/x-font-pcf" + }, + { + ".pcl":"application\/vnd.hp-pcl" + }, + { + ".pclxl":"application\/vnd.hp-pclxl" + }, + { + ".pct":"image\/x-pict" + }, + { + ".pcurl":"application\/vnd.curl.pcurl" + }, + { + ".pcx":"image\/x-pcx" + }, + { + ".pdb":"application\/vnd.palm" + }, + { + ".pdf":"application\/pdf" + }, + { + ".pfa":"application\/x-font-type1" + }, + { + ".pfb":"application\/x-font-type1" + }, + { + ".pfm":"application\/x-font-type1" + }, + { + ".pfr":"application\/font-tdpfr" + }, + { + ".pfx":"application\/x-pkcs12" + }, + { + ".pgm":"image\/x-portable-graymap" + }, + { + ".pgn":"application\/x-chess-pgn" + }, + { + ".pgp":"application\/pgp-encrypted" + }, + { + ".pic":"image\/x-pict" + }, + { + ".pkg":"application\/octet-stream" + }, + { + ".pki":"application\/pkixcmp" + }, + { + ".pkipath":"application\/pkix-pkipath" + }, + { + ".pl":"text\/plain" + }, + { + ".plb":"application\/vnd.3gpp.pic-bw-large" + }, + { + ".plc":"application\/vnd.mobius.plc" + }, + { + ".plf":"application\/vnd.pocketlearn" + }, + { + ".pls":"application\/pls+xml" + }, + { + ".pml":"application\/vnd.ctc-posml" + }, + { + ".png":"image\/png" + }, + { + ".pnm":"image\/x-portable-anymap" + }, + { + ".portpkg":"application\/vnd.macports.portpkg" + }, + { + ".pot":"application\/vnd.ms-powerpoint" + }, + { + ".potm":"application\/vnd.ms-powerpoint.template.macroenabled.12" + }, + { + ".potx":"application\/vnd.openxmlformats-officedocument.presentationml.template" + }, + { + ".ppa":"application\/vnd.ms-powerpoint" + }, + { + ".ppam":"application\/vnd.ms-powerpoint.addin.macroenabled.12" + }, + { + ".ppd":"application\/vnd.cups-ppd" + }, + { + ".ppm":"image\/x-portable-pixmap" + }, + { + ".pps":"application\/vnd.ms-powerpoint" + }, + { + ".ppsm":"application\/vnd.ms-powerpoint.slideshow.macroenabled.12" + }, + { + ".ppsx":"application\/vnd.openxmlformats-officedocument.presentationml.slideshow" + }, + { + ".ppt":"application\/vnd.ms-powerpoint" + }, + { + ".pptm":"application\/vnd.ms-powerpoint.presentation.macroenabled.12" + }, + { + ".pptx":"application\/vnd.openxmlformats-officedocument.presentationml.presentation" + }, + { + ".pqa":"application\/vnd.palm" + }, + { + ".prc":"application\/x-mobipocket-ebook" + }, + { + ".pre":"application\/vnd.lotus-freelance" + }, + { + ".prf":"application\/pics-rules" + }, + { + ".ps":"application\/postscript" + }, + { + ".psb":"application\/vnd.3gpp.pic-bw-small" + }, + { + ".psd":"image\/vnd.adobe.photoshop" + }, + { + ".psf":"application\/x-font-linux-psf" + }, + { + ".ptid":"application\/vnd.pvi.ptid1" + }, + { + ".pub":"application\/x-mspublisher" + }, + { + ".pvb":"application\/vnd.3gpp.pic-bw-var" + }, + { + ".pwn":"application\/vnd.3m.post-it-notes" + }, + { + ".pwz":"application\/vnd.ms-powerpoint" + }, + { + ".py":"text\/x-python" + }, + { + ".pya":"audio\/vnd.ms-playready.media.pya" + }, + { + ".pyc":"application\/x-python-code" + }, + { + ".pyo":"application\/x-python-code" + }, + { + ".pyv":"video\/vnd.ms-playready.media.pyv" + }, + { + ".qam":"application\/vnd.epson.quickanime" + }, + { + ".qbo":"application\/vnd.intu.qbo" + }, + { + ".qfx":"application\/vnd.intu.qfx" + }, + { + ".qps":"application\/vnd.publishare-delta-tree" + }, + { + ".qt":"video\/quicktime" + }, + { + ".qwd":"application\/vnd.quark.quarkxpress" + }, + { + ".qwt":"application\/vnd.quark.quarkxpress" + }, + { + ".qxb":"application\/vnd.quark.quarkxpress" + }, + { + ".qxd":"application\/vnd.quark.quarkxpress" + }, + { + ".qxl":"application\/vnd.quark.quarkxpress" + }, + { + ".qxt":"application\/vnd.quark.quarkxpress" + }, + { + ".ra":"audio\/x-pn-realaudio" + }, + { + ".ram":"audio\/x-pn-realaudio" + }, + { + ".rar":"application\/x-rar-compressed" + }, + { + ".ras":"image\/x-cmu-raster" + }, + { + ".rcprofile":"application\/vnd.ipunplugged.rcprofile" + }, + { + ".rdf":"application\/rdf+xml" + }, + { + ".rdz":"application\/vnd.data-vision.rdz" + }, + { + ".rep":"application\/vnd.businessobjects" + }, + { + ".res":"application\/x-dtbresource+xml" + }, + { + ".rgb":"image\/x-rgb" + }, + { + ".rif":"application\/reginfo+xml" + }, + { + ".rl":"application\/resource-lists+xml" + }, + { + ".rlc":"image\/vnd.fujixerox.edmics-rlc" + }, + { + ".rld":"application\/resource-lists-diff+xml" + }, + { + ".rm":"application\/vnd.rn-realmedia" + }, + { + ".rmi":"audio\/midi" + }, + { + ".rmp":"audio\/x-pn-realaudio-plugin" + }, + { + ".rms":"application\/vnd.jcp.javame.midlet-rms" + }, + { + ".rnc":"application\/relax-ng-compact-syntax" + }, + { + ".roff":"text\/troff" + }, + { + ".rpm":"application\/x-rpm" + }, + { + ".rpss":"application\/vnd.nokia.radio-presets" + }, + { + ".rpst":"application\/vnd.nokia.radio-preset" + }, + { + ".rq":"application\/sparql-query" + }, + { + ".rs":"application\/rls-services+xml" + }, + { + ".rsd":"application\/rsd+xml" + }, + { + ".rss":"application\/rss+xml" + }, + { + ".rtf":"application\/rtf" + }, + { + ".rtx":"text\/richtext" + }, + { + ".s":"text\/x-asm" + }, + { + ".saf":"application\/vnd.yamaha.smaf-audio" + }, + { + ".sbml":"application\/sbml+xml" + }, + { + ".sc":"application\/vnd.ibm.secure-container" + }, + { + ".scd":"application\/x-msschedule" + }, + { + ".scm":"application\/vnd.lotus-screencam" + }, + { + ".scq":"application\/scvp-cv-request" + }, + { + ".scs":"application\/scvp-cv-response" + }, + { + ".scurl":"text\/vnd.curl.scurl" + }, + { + ".sda":"application\/vnd.stardivision.draw" + }, + { + ".sdc":"application\/vnd.stardivision.calc" + }, + { + ".sdd":"application\/vnd.stardivision.impress" + }, + { + ".sdkd":"application\/vnd.solent.sdkm+xml" + }, + { + ".sdkm":"application\/vnd.solent.sdkm+xml" + }, + { + ".sdp":"application\/sdp" + }, + { + ".sdw":"application\/vnd.stardivision.writer" + }, + { + ".see":"application\/vnd.seemail" + }, + { + ".seed":"application\/vnd.fdsn.seed" + }, + { + ".sema":"application\/vnd.sema" + }, + { + ".semd":"application\/vnd.semd" + }, + { + ".semf":"application\/vnd.semf" + }, + { + ".ser":"application\/java-serialized-object" + }, + { + ".setpay":"application\/set-payment-initiation" + }, + { + ".setreg":"application\/set-registration-initiation" + }, + { + ".sfd-hdstx":"application\/vnd.hydrostatix.sof-data" + }, + { + ".sfs":"application\/vnd.spotfire.sfs" + }, + { + ".sgl":"application\/vnd.stardivision.writer-global" + }, + { + ".sgm":"text\/sgml" + }, + { + ".sgml":"text\/sgml" + }, + { + ".sh":"application\/x-sh" + }, + { + ".shar":"application\/x-shar" + }, + { + ".shf":"application\/shf+xml" + }, + { + ".si":"text\/vnd.wap.si" + }, + { + ".sic":"application\/vnd.wap.sic" + }, + { + ".sig":"application\/pgp-signature" + }, + { + ".silo":"model\/mesh" + }, + { + ".sis":"application\/vnd.symbian.install" + }, + { + ".sisx":"application\/vnd.symbian.install" + }, + { + ".sit":"application\/x-stuffit" + }, + { + ".sitx":"application\/x-stuffitx" + }, + { + ".skd":"application\/vnd.koan" + }, + { + ".skm":"application\/vnd.koan" + }, + { + ".skp":"application\/vnd.koan" + }, + { + ".skt":"application\/vnd.koan" + }, + { + ".sl":"text\/vnd.wap.sl" + }, + { + ".slc":"application\/vnd.wap.slc" + }, + { + ".sldm":"application\/vnd.ms-powerpoint.slide.macroenabled.12" + }, + { + ".sldx":"application\/vnd.openxmlformats-officedocument.presentationml.slide" + }, + { + ".slt":"application\/vnd.epson.salt" + }, + { + ".smf":"application\/vnd.stardivision.math" + }, + { + ".smi":"application\/smil+xml" + }, + { + ".smil":"application\/smil+xml" + }, + { + ".snd":"audio\/basic" + }, + { + ".snf":"application\/x-font-snf" + }, + { + ".so":"application\/octet-stream" + }, + { + ".spc":"application\/x-pkcs7-certificates" + }, + { + ".spf":"application\/vnd.yamaha.smaf-phrase" + }, + { + ".spl":"application\/x-futuresplash" + }, + { + ".spot":"text\/vnd.in3d.spot" + }, + { + ".spp":"application\/scvp-vp-response" + }, + { + ".spq":"application\/scvp-vp-request" + }, + { + ".spx":"audio\/ogg" + }, + { + ".src":"application\/x-wais-source" + }, + { + ".srx":"application\/sparql-results+xml" + }, + { + ".sse":"application\/vnd.kodak-descriptor" + }, + { + ".ssf":"application\/vnd.epson.ssf" + }, + { + ".ssml":"application\/ssml+xml" + }, + { + ".stc":"application\/vnd.sun.xml.calc.template" + }, + { + ".std":"application\/vnd.sun.xml.draw.template" + }, + { + ".stf":"application\/vnd.wt.stf" + }, + { + ".sti":"application\/vnd.sun.xml.impress.template" + }, + { + ".stk":"application\/hyperstudio" + }, + { + ".stl":"application\/vnd.ms-pki.stl" + }, + { + ".str":"application\/vnd.pg.format" + }, + { + ".stw":"application\/vnd.sun.xml.writer.template" + }, + { + ".sus":"application\/vnd.sus-calendar" + }, + { + ".susp":"application\/vnd.sus-calendar" + }, + { + ".sv4cpio":"application\/x-sv4cpio" + }, + { + ".sv4crc":"application\/x-sv4crc" + }, + { + ".svd":"application\/vnd.svd" + }, + { + ".svg":"image\/svg+xml" + }, + { + ".svgz":"image\/svg+xml" + }, + { + ".swa":"application\/x-director" + }, + { + ".swf":"application\/x-shockwave-flash" + }, + { + ".swi":"application\/vnd.arastra.swi" + }, + { + ".sxc":"application\/vnd.sun.xml.calc" + }, + { + ".sxd":"application\/vnd.sun.xml.draw" + }, + { + ".sxg":"application\/vnd.sun.xml.writer.global" + }, + { + ".sxi":"application\/vnd.sun.xml.impress" + }, + { + ".sxm":"application\/vnd.sun.xml.math" + }, + { + ".sxw":"application\/vnd.sun.xml.writer" + }, + { + ".t":"text\/troff" + }, + { + ".tao":"application\/vnd.tao.intent-module-archive" + }, + { + ".tar":"application\/x-tar" + }, + { + ".tcap":"application\/vnd.3gpp2.tcap" + }, + { + ".tcl":"application\/x-tcl" + }, + { + ".teacher":"application\/vnd.smart.teacher" + }, + { + ".tex":"application\/x-tex" + }, + { + ".texi":"application\/x-texinfo" + }, + { + ".texinfo":"application\/x-texinfo" + }, + { + ".text":"text\/plain" + }, + { + ".tfm":"application\/x-tex-tfm" + }, + { + ".tgz":"application\/x-gzip" + }, + { + ".tif":"image\/tiff" + }, + { + ".tiff":"image\/tiff" + }, + { + ".tmo":"application\/vnd.tmobile-livetv" + }, + { + ".torrent":"application\/x-bittorrent" + }, + { + ".tpl":"application\/vnd.groove-tool-template" + }, + { + ".tpt":"application\/vnd.trid.tpt" + }, + { + ".tr":"text\/troff" + }, + { + ".tra":"application\/vnd.trueapp" + }, + { + ".trm":"application\/x-msterminal" + }, + { + ".tsv":"text\/tab-separated-values" + }, + { + ".ttc":"application\/x-font-ttf" + }, + { + ".ttf":"application\/x-font-ttf" + }, + { + ".twd":"application\/vnd.simtech-mindmapper" + }, + { + ".twds":"application\/vnd.simtech-mindmapper" + }, + { + ".txd":"application\/vnd.genomatix.tuxedo" + }, + { + ".txf":"application\/vnd.mobius.txf" + }, + { + ".txt":"text\/plain" + }, + { + ".u32":"application\/x-authorware-bin" + }, + { + ".udeb":"application\/x-debian-package" + }, + { + ".ufd":"application\/vnd.ufdl" + }, + { + ".ufdl":"application\/vnd.ufdl" + }, + { + ".umj":"application\/vnd.umajin" + }, + { + ".unityweb":"application\/vnd.unity" + }, + { + ".uoml":"application\/vnd.uoml+xml" + }, + { + ".uri":"text\/uri-list" + }, + { + ".uris":"text\/uri-list" + }, + { + ".urls":"text\/uri-list" + }, + { + ".ustar":"application\/x-ustar" + }, + { + ".utz":"application\/vnd.uiq.theme" + }, + { + ".uu":"text\/x-uuencode" + }, + { + ".vcd":"application\/x-cdlink" + }, + { + ".vcf":"text\/x-vcard" + }, + { + ".vcg":"application\/vnd.groove-vcard" + }, + { + ".vcs":"text\/x-vcalendar" + }, + { + ".vcx":"application\/vnd.vcx" + }, + { + ".vis":"application\/vnd.visionary" + }, + { + ".viv":"video\/vnd.vivo" + }, + { + ".vor":"application\/vnd.stardivision.writer" + }, + { + ".vox":"application\/x-authorware-bin" + }, + { + ".vrml":"model\/vrml" + }, + { + ".vsd":"application\/vnd.visio" + }, + { + ".vsf":"application\/vnd.vsf" + }, + { + ".vss":"application\/vnd.visio" + }, + { + ".vst":"application\/vnd.visio" + }, + { + ".vsw":"application\/vnd.visio" + }, + { + ".vtu":"model\/vnd.vtu" + }, + { + ".vxml":"application\/voicexml+xml" + }, + { + ".w3d":"application\/x-director" + }, + { + ".wad":"application\/x-doom" + }, + { + ".wav":"audio\/x-wav" + }, + { + ".wax":"audio\/x-ms-wax" + }, + { + ".wbmp":"image\/vnd.wap.wbmp" + }, + { + ".wbs":"application\/vnd.criticaltools.wbs+xml" + }, + { + ".wbxml":"application\/vnd.wap.wbxml" + }, + { + ".wcm":"application\/vnd.ms-works" + }, + { + ".wdb":"application\/vnd.ms-works" + }, + { + ".wiz":"application\/msword" + }, + { + ".wks":"application\/vnd.ms-works" + }, + { + ".wm":"video\/x-ms-wm" + }, + { + ".wma":"audio\/x-ms-wma" + }, + { + ".wmd":"application\/x-ms-wmd" + }, + { + ".wmf":"application\/x-msmetafile" + }, + { + ".wml":"text\/vnd.wap.wml" + }, + { + ".wmlc":"application\/vnd.wap.wmlc" + }, + { + ".wmls":"text\/vnd.wap.wmlscript" + }, + { + ".wmlsc":"application\/vnd.wap.wmlscriptc" + }, + { + ".wmv":"video\/x-ms-wmv" + }, + { + ".wmx":"video\/x-ms-wmx" + }, + { + ".wmz":"application\/x-ms-wmz" + }, + { + ".wpd":"application\/vnd.wordperfect" + }, + { + ".wpl":"application\/vnd.ms-wpl" + }, + { + ".wps":"application\/vnd.ms-works" + }, + { + ".wqd":"application\/vnd.wqd" + }, + { + ".wri":"application\/x-mswrite" + }, + { + ".wrl":"model\/vrml" + }, + { + ".wsdl":"application\/wsdl+xml" + }, + { + ".wspolicy":"application\/wspolicy+xml" + }, + { + ".wtb":"application\/vnd.webturbo" + }, + { + ".wvx":"video\/x-ms-wvx" + }, + { + ".x32":"application\/x-authorware-bin" + }, + { + ".x3d":"application\/vnd.hzn-3d-crossword" + }, + { + ".xap":"application\/x-silverlight-app" + }, + { + ".xar":"application\/vnd.xara" + }, + { + ".xbap":"application\/x-ms-xbap" + }, + { + ".xbd":"application\/vnd.fujixerox.docuworks.binder" + }, + { + ".xbm":"image\/x-xbitmap" + }, + { + ".xdm":"application\/vnd.syncml.dm+xml" + }, + { + ".xdp":"application\/vnd.adobe.xdp+xml" + }, + { + ".xdw":"application\/vnd.fujixerox.docuworks" + }, + { + ".xenc":"application\/xenc+xml" + }, + { + ".xer":"application\/patch-ops-error+xml" + }, + { + ".xfdf":"application\/vnd.adobe.xfdf" + }, + { + ".xfdl":"application\/vnd.xfdl" + }, + { + ".xht":"application\/xhtml+xml" + }, + { + ".xhtml":"application\/xhtml+xml" + }, + { + ".xhvml":"application\/xv+xml" + }, + { + ".xif":"image\/vnd.xiff" + }, + { + ".xla":"application\/vnd.ms-excel" + }, + { + ".xlam":"application\/vnd.ms-excel.addin.macroenabled.12" + }, + { + ".xlb":"application\/vnd.ms-excel" + }, + { + ".xlc":"application\/vnd.ms-excel" + }, + { + ".xlm":"application\/vnd.ms-excel" + }, + { + ".xls":"application\/vnd.ms-excel" + }, + { + ".xlsb":"application\/vnd.ms-excel.sheet.binary.macroenabled.12" + }, + { + ".xlsm":"application\/vnd.ms-excel.sheet.macroenabled.12" + }, + { + ".xlsx":"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet" + }, + { + ".xlt":"application\/vnd.ms-excel" + }, + { + ".xltm":"application\/vnd.ms-excel.template.macroenabled.12" + }, + { + ".xltx":"application\/vnd.openxmlformats-officedocument.spreadsheetml.template" + }, + { + ".xlw":"application\/vnd.ms-excel" + }, + { + ".xml":"application\/xml" + }, + { + ".xo":"application\/vnd.olpc-sugar" + }, + { + ".xop":"application\/xop+xml" + }, + { + ".xpdl":"application\/xml" + }, + { + ".xpi":"application\/x-xpinstall" + }, + { + ".xpm":"image\/x-xpixmap" + }, + { + ".xpr":"application\/vnd.is-xpr" + }, + { + ".xps":"application\/vnd.ms-xpsdocument" + }, + { + ".xpw":"application\/vnd.intercon.formnet" + }, + { + ".xpx":"application\/vnd.intercon.formnet" + }, + { + ".xsl":"application\/xml" + }, + { + ".xslt":"application\/xslt+xml" + }, + { + ".xsm":"application\/vnd.syncml+xml" + }, + { + ".xspf":"application\/xspf+xml" + }, + { + ".xul":"application\/vnd.mozilla.xul+xml" + }, + { + ".xvm":"application\/xv+xml" + }, + { + ".xvml":"application\/xv+xml" + }, + { + ".xwd":"image\/x-xwindowdump" + }, + { + ".xyz":"chemical\/x-xyz" + }, + { + ".zaz":"application\/vnd.zzazz.deck+xml" + }, + { + ".zip":"application\/zip" + }, + { + ".zir":"application\/vnd.zul" + }, + { + ".zirz":"application\/vnd.zul" + }, + { + ".zmm":"application\/vnd.handheld-entertainment+xml" + } +]