UNPKG

549 kBSource Map (JSON)View Raw
1{"version":3,"sources":["node_modules/browser-pack/_prelude.js","node_modules/mime-db/db.json","src/index.js","src/core/index.js","src/plugins/FileInput.js","src/plugins/MetaData.js","src/plugins/Informer.js","src/plugins/ProgressBar.js","src/plugins/Dashboard/index.js","src/plugins/Plugin.js","src/plugins/DragDrop/index.js","src/plugins/Dummy.js","src/plugins/GoogleDrive/index.js","src/plugins/Webcam/index.js","src/plugins/Tus10.js","src/plugins/Multipart.js","src/core/Core.js","src/core/Utils.js","src/core/html.js","src/core/UppySocket.js","src/plugins/Dashboard/Dashboard.js","src/plugins/Dashboard/icons.js","src/plugins/GoogleDrive/AuthView.js","src/plugins/GoogleDrive/Error.js","src/plugins/Webcam/WebcamIcon.js","src/plugins/Webcam/CameraScreen.js","src/plugins/Webcam/PermissionsScreen.js","src/uppy-base/src/plugins/Provider.js","src/plugins/GoogleDrive/new/Browser.js","src/uppy-base/src/plugins/Webcam.js","node_modules/yo-yo/index.js","src/core/Translator.js","src/locales/en_US.js","node_modules/tus-js-client/lib.es5/index.js","node_modules/es6-promise/dist/es6-promise.js","src/plugins/Dashboard/FileList.js","src/plugins/Dashboard/Tabs.js","src/plugins/Dashboard/FileCard.js","src/plugins/Dashboard/UploadBtn.js","src/plugins/Dashboard/ProgressCircle.js","src/plugins/Dashboard/StatusBar.js","src/plugins/Webcam/CameraIcon.js","src/uppy-base/src/utils/dataURItoFile.js","src/plugins/GoogleDrive/new/Breadcrumbs.js","src/plugins/GoogleDrive/new/Table.js","node_modules/drag-drop/index.js","node_modules/whatwg-fetch/fetch.js","node_modules/pretty-bytes/index.js","node_modules/yo-yo/update-events.js","node_modules/tus-js-client/lib.es5/upload.js","node_modules/tus-js-client/lib.es5/browser/storage.js","node_modules/namespace-emitter/index.js","node_modules/browserify/node_modules/process/browser.js","node_modules/mime-types/index.js","src/plugins/Dashboard/FileItem.js","node_modules/bel/index.js","node_modules/morphdom/src/index.js","src/plugins/GoogleDrive/new/Breadcrumb.js","src/plugins/GoogleDrive/new/TableRow.js","node_modules/tus-js-client/lib.es5/fingerprint.js","node_modules/tus-js-client/lib.es5/error.js","node_modules/tus-js-client/lib.es5/browser/request.js","node_modules/tus-js-client/lib.es5/browser/source.js","node_modules/tus-js-client/lib.es5/browser/base64.js","node_modules/path-browserify/index.js","node_modules/flatten/index.js","node_modules/run-parallel/index.js","node_modules/number-is-nan/index.js","src/plugins/Dashboard/FileItemProgress.js","node_modules/mime-db/index.js","src/plugins/GoogleDrive/new/TableColumn.js","node_modules/extend/index.js","node_modules/hyperx/index.js","node_modules/on-load/index.js","node_modules/global/document.js","node_modules/resolve-url/resolve-url.js","node_modules/hyperscript-attribute-to-property/index.js","node_modules/global/window.js"],"names":["_index","require","_Plugin","_index3","_Dummy","_index5","_FileInput","_index7","_index9","_ProgressBar","_Informer","_MetaData","_Tus","_Multipart","locales","Core","Plugin","Dummy","ProgressBar","Informer","DragDrop","GoogleDrive","FileInput","Tus10","Multipart","Dashboard","MetaData","Webcam","_Core","_Plugin2","_Utils","_html","core","opts","_classCallCheck","this","_this","_possibleConstructorReturn","call","id","title","type","defaultOptions","target","replaceTargetContent","multipleFiles","text","i18n","pretty","_extends","render","bind","handleInputChange","ev","_this2","log","files","_Utils2","default","toArray","forEach","file","emitter","emit","source","name","data","state","hiddenInputStyle","input","_html2","_templateObject2","_templateObject3","click","install","plugin","mount","addInitialMeta","metaFields","fields","setState","on","fileID","item","obj","value","updateMeta","showInformer","msg","duration","informer","isHidden","setTimeout","newInformer","getState","hideInformer","_templateObject","_this3","bus","fixed","progress","totalProgress","_dragDrop","_Dashboard","_prettyBytes","_icons","DashboardUI","inline","semiTransparent","defaultTabIcon","panelSelectorPrefix","showProgressDetails","hideModal","showModal","addTarget","actions","hideAllPanels","showPanel","initEvents","handleDrop","pauseAll","resumeAll","callerPluginId","constructor","callerPluginName","callerPluginIcon","icon","callerPluginType","focus","modal","newTargets","targets","slice","push","map","document","body","classList","remove","add","querySelector","showModalTrigger","trigger","addEventListener","event","keyCode","_dragDrop2","el","fileId","fileCardFor","uploadedCount","smart_count","_this4","getTotalSpeed","totalSpeed","getSpeed","getTotalETA","totalSeconds","getETA","_this5","newFiles","Object","keys","filter","uploadStarted","uploadStartedFiles","completeFiles","uploadComplete","inProgressFiles","isPaused","inProgressFilesArray","_prettyBytes2","totalETA","prettyETA","isAllComplete","isAllPaused","length","acquirers","activeAcquirer","acquirer","progressindicators","addFile","removeFile","startUpload","pauseUpload","showFileCard","fileCardDone","meta","info","_Dashboard2","totalFileCount","autoProceed","container","onPaste","handlePaste","_yoYo","update","newEl","_yoYo2","innerHTML","appendChild","Target","targetPluginName","targetPlugin","getPlugin","selectorTarget","props","defaultOpts","isDragDropSupported","checkDragDropSupport","div","createElement","window","firstInput","onSelect","next","preventDefault","stopPropagation","onSubmit","strange","addFakeFileJustToTest","blob","Blob","bla","_Provider","_AuthView","_Browser","_Error","Google","_Provider2","host","provider","filterItems","filterQuery","getFolder","getNextFolder","handleRowClick","logout","handleDemoAuth","sortByTitle","sortByDate","googleDrive","authenticated","folders","directories","activeRow","filterInput","checkAuthentication","then","updateState","console","newState","fetch","method","credentials","headers","Accept","Content-Type","res","status","error","Error","statusText","response","json","catch","err","arguments","undefined","list","items","mimeType","index","findIndex","dir","updatedDirectories","concat","extend","tagFile","isRemote","remote","url","handleError","_this6","location","href","ok","getFileType","fileTypes","application/vnd.google-apps.folder","application/vnd.google-apps.document","application/vnd.google-apps.spreadsheet","application/vnd.google-apps.presentation","image/jpeg","image/png","fileExtension","toUpperCase","e","folder","toLowerCase","indexOf","sorting","sortedFiles","sort","fileA","fileB","localeCompare","sortedFolders","folderA","folderB","a","Date","modifiedByMeDate","b","_state$googleDrive","_Error2","authState","btoa","JSON","stringify","redirect","split","link","_AuthView2","demo","browserProps","_Browser2","_Webcam","_WebcamIcon","_CameraScreen","_PermissionsScreen","userMedia","protocol","match","_WebcamIcon2","enableFlash","params","swfURL","width","height","dest_width","dest_height","image_format","jpeg_quality","enable_flash","force_flash","flip_horiz","fps","upload_name","constraints","flashNotDetectedText","noInterfaceFoundText","unfreeze_snap","start","takeSnapshot","webcam","_Webcam2","stream","videoStream","cameraReady","cameraError","now","video","image","getImage","useTheFlash","URL","createObjectURL","_CameraScreen2","onSnapshot","getSWFHTML","src","_PermissionsScreen2","init","_tusJsClient","_UppySocket","resume","allowPause","pauseResume","action","updatedFiles","inProgressUpdatedFiles","wasPaused","updatedFile","upload","current","total","_Promise","resolve","reject","_tusJsClient2","Upload","metadata","endpoint","onError","onProgress","bytesUploaded","bytesTotal","uploader","onSuccess","abort","uploadRemote","regex","exec","token","socket","_UppySocket2","progressData","close","uploadFiles","uploaders","parseInt","Promise","all","selectForUpload","filesForUpload","addResumableUploadsCapabilityFlag","newCapabilities","capabilities","resumableUploads","fieldName","responseUrlFieldName","bundle","formPost","FormData","append","xhr","XMLHttpRequest","lengthComputable","loaded","resp","parse","uploadURL","open","send","i","result","_Translator","_namespaceEmitter","_en_US","debug","types","plugins","translator","_Translator2","translate","initSocket","_namespaceEmitter2","global","UppyState","uppyLog","UppyAddFile","_Uppy","updateAll","pluginType","stateUpdate","newMeta","fileName","fileType","fileTypeGeneral","fileTypeSpecific","getFileNameAndExtension","generateFileID","newFile","extension","general","specific","percentage","size","addThumbnail","readFile","imgDataURI","createImageThumbnail","thumbnail","preview","calculateProgress","Math","round","toFixed","inProgress","progressMax","progressAll","isOnline","online","navigator","onLine","wasOffline","use","ee","pluginName","existsPluginAlready","foundPlugin","iteratePlugins","installAll","run","flatten","arr","apply","isTouchDevice","maxTouchPoints","$","selector","ctx","$$","els","Array","prototype","querySelectorAll","truncateString","str","substr","secondsToTime","rawSeconds","hours","floor","minutes","seconds","groupBy","array","groupingFn","reduce","key","xs","get","set","Map","every","predicateFn","replace","_len","objs","_key","assign","getProportionalImageHeight","img","newWidth","aspect","newHeight","_mimeTypes2","lookup","fullFileName","re","fileExt","fileObj","reader","FileReader","readAsDataURL","Image","newImageWidth","newImageHeight","canvas","getContext","drawImage","toDataURL","dataURItoBlob","dataURI","toFile","binary","atob","charCodeAt","File","Uint8Array","dataURItoFile","copyToClipboard","textToCopy","fallbackString","textArea","setAttribute","position","top","left","padding","border","outline","boxShadow","background","select","magicCopyFailed","removeChild","prompt","successful","execCommand","makeWorker","script","webkitURL","Worker","code","toString","substring","lastIndexOf","worker","fileProgress","timeElapsed","uploadSpeed","bytesRemaining","secondsRemaining","time","hoursStr","minutesStr","secondsStr","makeCachingFunction","cachedEl","lastUpdate","_mimeTypes","UppySocket","queued","isOpen","WebSocket","onopen","first","payload","onclose","_handleMessage","onmessage","once","handler","message","clipboardData","kind","getAsFile","closeIcon","_Tabs2","_FileCard2","done","_FileList2","_UploadBtn2","newFileCount","_StatusBar2","complete","_FileList","_Tabs","_FileCard","_UploadBtn","_ProgressCircle","_StatusBar","iconCopy","iconResume","iconPause","_templateObject4","iconEdit","_templateObject5","localIcon","_templateObject6","_templateObject7","pluginIcon","_templateObject8","checkIcon","_templateObject9","iconAudio","_templateObject10","iconFile","_templateObject11","iconText","_templateObject12","uploadIcon","_templateObject13","dashboardBgIcon","_templateObject14","demoLink","_CameraIcon","_CameraIcon2","_getName","s","charAt","join","Provider","isAuthenticated","directory","_Breadcrumbs","_Table","filteredFolders","filteredFiles","_Breadcrumbs2","_Table2","columns","handleFileDoubleClick","handleFolderDoubleClick","_dataURItoFile","_userMedia","defaultParams","stop","detectFlash","getUserMedia","getMediaDevices","mediaDevices","reset","mozGetUserMedia","webkitGetUserMedia","userAgent","RegExp","$1","mozURL","msURL","audio","SHOCKWAVE_FLASH","SHOCKWAVE_FLASH_AX","FLASH_MIME_TYPE","win","nav","hasFlash","_typeof","desc","description","mimeTypes","enabledPlugin","ActiveXObject","ax","ver","GetVariable","preview_active","unfreeze","getVideoTracks","tracks","getMovie","_releaseCamera","base_url","scpts","getElementsByTagName","idx","len","getAttribute","flashvars","escape","movie","getElementById","_snap","msStop","onended","onerror","pause","mozSrcObject","live","panel","_configure","videoWidth","videoHeight","dataUrl","_dataURItoFile2","bel","morphdom","defaultEvents","module","exports","fromNode","toNode","copier","f","t","events","nodeName","onBeforeElUpdated","Translator","strings","_en_US2","interpolate","phrase","options","String","dollarRegex","dollarBillsYall","arg","hasOwnProperty","replacement","plural","pluralize","en_US","chooseFile","youHaveChosen","orDragDrop","filesChosen","0","1","filesUploaded","selectToUpload","closeModal","importFrom","dashboardWindowTitle","dashboardTitle","copyLinkToClipboardSuccess","copyLinkToClipboardFallback","localDisk","dropPasteImport","numberOfSelectedFiles","uploadAllNewFiles","n","Uppy","_interopRequireDefault","__esModule","_upload","_upload2","_storage","_window","isSupported","canStoreURLs","lib$es6$promise$utils$$objectOrFunction","x","lib$es6$promise$utils$$isFunction","lib$es6$promise$asap$$setScheduler","scheduleFn","lib$es6$promise$asap$$customSchedulerFn","lib$es6$promise$asap$$setAsap","asapFn","lib$es6$promise$asap$$asap","lib$es6$promise$asap$$useNextTick","process","nextTick","lib$es6$promise$asap$$flush","lib$es6$promise$asap$$useVertxTimer","lib$es6$promise$asap$$vertxNext","lib$es6$promise$asap$$useMutationObserver","iterations","observer","lib$es6$promise$asap$$BrowserMutationObserver","node","createTextNode","observe","characterData","lib$es6$promise$asap$$useMessageChannel","channel","MessageChannel","port1","port2","postMessage","lib$es6$promise$asap$$useSetTimeout","lib$es6$promise$asap$$len","callback","lib$es6$promise$asap$$queue","lib$es6$promise$asap$$attemptVertx","r","vertx","runOnLoop","runOnContext","lib$es6$promise$then$$then","onFulfillment","onRejection","parent","child","lib$es6$promise$$internal$$noop","lib$es6$promise$$internal$$PROMISE_ID","lib$es6$promise$$internal$$makePromise","_state","lib$es6$promise$$internal$$invokeCallback","_result","lib$es6$promise$$internal$$subscribe","lib$es6$promise$promise$resolve$$resolve","object","Constructor","promise","lib$es6$promise$$internal$$resolve","lib$es6$promise$$internal$$selfFulfillment","TypeError","lib$es6$promise$$internal$$cannotReturnOwn","lib$es6$promise$$internal$$getThen","lib$es6$promise$$internal$$GET_THEN_ERROR","lib$es6$promise$$internal$$tryThen","fulfillmentHandler","rejectionHandler","lib$es6$promise$$internal$$handleForeignThenable","thenable","sealed","lib$es6$promise$$internal$$fulfill","reason","lib$es6$promise$$internal$$reject","_label","lib$es6$promise$$internal$$handleOwnThenable","lib$es6$promise$$internal$$FULFILLED","lib$es6$promise$$internal$$REJECTED","lib$es6$promise$$internal$$handleMaybeThenable","maybeThenable","lib$es6$promise$then$$default","lib$es6$promise$promise$resolve$$default","lib$es6$promise$$internal$$publishRejection","_onerror","lib$es6$promise$$internal$$publish","lib$es6$promise$$internal$$PENDING","_subscribers","subscribers","settled","detail","lib$es6$promise$$internal$$ErrorObject","lib$es6$promise$$internal$$tryCatch","lib$es6$promise$$internal$$TRY_CATCH_ERROR","succeeded","failed","hasCallback","lib$es6$promise$$internal$$initializePromise","resolver","lib$es6$promise$$internal$$nextId","lib$es6$promise$$internal$$id","lib$es6$promise$promise$all$$all","entries","lib$es6$promise$enumerator$$default","lib$es6$promise$promise$race$$race","lib$es6$promise$utils$$isArray","lib$es6$promise$promise$reject$$reject","lib$es6$promise$promise$$needsResolver","lib$es6$promise$promise$$needsNew","lib$es6$promise$promise$$Promise","lib$es6$promise$enumerator$$Enumerator","_instanceConstructor","_input","_remaining","_enumerate","lib$es6$promise$enumerator$$validationError","lib$es6$promise$polyfill$$polyfill","local","self","Function","P","cast","lib$es6$promise$promise$$default","lib$es6$promise$utils$$_isArray","isArray","lib$es6$promise$asap$$scheduleFlush","lib$es6$promise$asap$$browserWindow","lib$es6$promise$asap$$browserGlobal","MutationObserver","WebKitMutationObserver","lib$es6$promise$asap$$isNode","lib$es6$promise$asap$$isWorker","Uint8ClampedArray","importScripts","random","lib$es6$promise$promise$all$$default","lib$es6$promise$promise$race$$default","lib$es6$promise$promise$reject$$default","race","_setScheduler","_setAsap","_asap","_eachEntry","entry","c","_settledAt","_willSettleAt","enumerator","lib$es6$promise$polyfill$$default","lib$es6$promise$umd$$ES6Promise","polyfill","define","_FileItem","_FileItem2","getIconByMime","fileCard","tempStoreMeta","attributes","renderMetaFields","field","placeholder","togglePauseResume","statusBar","_Breadcrumb","_Breadcrumb2","_TableRow","column","_TableRow2","active","iconLink","handleClick","handleDoubleClick","owner","dragDrop","elem","listeners","onDragOver","dataTransfer","clearTimeout","timeout","dropEffect","onDragLeave","removeDragClass","onDrop","pos","clientX","y","clientY","parallel","cb","processEntry","webkitGetAsEntry","results","fullPath","stopEvent","removeEventListener","readEntries","entries_","doneEntries","isFile","isDirectory","createReader","normalizeName","test","normalizeValue","iteratorFor","iterator","shift","support","iterable","Symbol","Headers","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","onload","readBlobAsArrayBuffer","readAsArrayBuffer","readBlobAsText","readAsText","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","formData","_bodyFormData","searchParams","URLSearchParams","arrayBuffer","ArrayBuffer","rejected","decode","normalizeMethod","upcased","methods","Request","mode","referrer","form","trim","bytes","decodeURIComponent","head","pairs","getAllResponseHeaders","header","Response","bodyInit","values","getAll","has","thisArg","clone","redirectStatuses","RangeError","responseURL","getResponseHeader","request","responseText","ontimeout","withCredentials","responseType","setRequestHeader","numberIsNan","num","exponent","unit","neg","units","min","Number","pow","_interopRequireWildcard","newObj","instance","encodeMetadata","Base64","encoded","encode","_createClass","defineProperties","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_fingerprint","_fingerprint2","_error","_error2","_extend","_extend2","_request","_source","_base","Storage","fingerprint","onChunkComplete","chunkSize","Infinity","uploadUrl","uploadSize","overridePatchMethod","retryDelays","_xhr","_offset","_aborted","_size","_retryAttempt","_retryTimeout","_offsetBeforeRetry","_emitError","getSource","isNaN","errorCallback","shouldResetDelays","shouldRetry","originalRequest","delay","_resumeUpload","resumedUrl","getItem","_createUpload","causingErr","bytesSent","bytesAccepted","newRequest","resolveUrl","setItem","_startUpload","_emitXhrError","_setupXHR","removeItem","offset","_emitProgress","_emitSuccess","_emitChunkComplete","onprogress","end","hasStorage","localStorage","SECURITY_ERR","namespaces","out","args","fns","_fns","emitAll","namespaced","fn","one","off","keep","runTimeout","fun","cachedSetTimeout","runClearTimeout","marker","cachedClearTimeout","cleanUpNextTick","draining","currentQueue","queue","queueIndex","drainQueue","Item","noop","browser","env","argv","version","versions","addListener","removeListener","removeAllListeners","binding","cwd","chdir","umask","charset","extractTypeRegExp","mime","db","textTypeRegExp","contentType","exts","extensions","path","extname","populateMaps","preference","from","to","charsets","create","fileItem","isUploaded","uploadInProgressOrComplete","uploadInProgress","truncatedFileName","_FileItemProgress2","_FileItemProgress","belCreateElement","tag","children","childs","lastChild","nodeValue","nodeType","SVG_TAGS","namespace","SVGNS","ns","createElementNS","onunload","load","unload","caller","p","val","BOOL_PROPS","setAttributeNS","hyperx","autofocus","checked","defaultchecked","disabled","formnovalidate","indeterminate","readonly","required","selected","willvalidate","toElement","range","doc","createRange","selectNode","fragment","createContextualFragment","childNodes","compareNodeNames","fromEl","toEl","fromNodeName","toNodeName","actualize","namespaceURI","NS_XHTML","morphAttrs","attr","attrName","attrNamespaceURI","attrValue","fromValue","attrs","assignAttributes","localName","getAttributeNS","specified","hasAttributeNS","removeAttributeNS","removeAttribute","moveChildren","curChild","firstChild","nextChild","nextSibling","defaultGetNodeKey","addKeyedRemoval","keyedRemovalList","walkDiscardedChildNodes","skipKeyedNodes","ELEMENT_NODE","getNodeKey","onNodeDiscarded","removeNode","parentNode","onBeforeNodeDiscarded","indexTree","fromNodesLookup","handleNodeAdded","onNodeAdded","unmatchedFromEl","replaceChild","morphEl","childrenOnly","curFromNodeKey","toElKey","isSameNode","onElUpdated","onBeforeElChildrenUpdated","curToNodeKey","fromNextSibling","toNextSibling","matchingFromEl","curToNodeChild","curFromNodeChild","outer","curFromNodeType","isCompatible","insertBefore","TEXT_NODE","COMMENT_NODE","onBeforeNodeAddedResult","onBeforeNodeAdded","ownerDocument","specialElHandler","specialElHandlers","toNodeHtml","morphedNode","morphedNodeType","toNodeType","elToRemove","testEl","hasAttribute","getAttributeNode","OPTION","INPUT","TEXTAREA","newValue","_TableColumn","classes","_TableColumn2","lastModified","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","DetailedError","getPrototypeOf","causingError","origin","_resolveUrl2","_resolveUrl","FileSource","_file","unescape","encodeURIComponent","normalizeArray","parts","allowAboveRoot","up","last","splice","unshift","splitPathRe","splitPath","filename","resolvedPath","resolvedAbsolute","normalize","isAbsolute","trailingSlash","paths","relative","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","root","basename","ext","depth","_flatten","d","acc","tasks","isSync","each","pending","task","hasOwn","toStr","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","copy","copyIsArray","deep","quot","ATTR_VALUE_SQ","ATTR_VALUE_DQ","selfClosing","closeRE","attrToProp","VAR","TEXT","OPEN","CLOSE","ATTR","ATTR_KEY","ATTR_KEY_W","ATTR_VALUE_W","ATTR_VALUE","ATTR_EQ","ATTR_BREAK","h","strfn","reg","arglen","xstate","tree","stack","cur","ix","pop","copyKey","j","turnon","watch","turnoff","eachAttr","mutation","KEY_ATTR","sameOrigin","oldValue","eachMutation","nodes","onloadid","k","KEY_ID","INDEX","mutations","attributeName","removedNodes","addedNodes","childList","subtree","attributeOldValue","attributeFilter","topLevel","minDoc","doccy","factory","amd","numUrls","base","resolved","attributeToProperty","tagName","transform","class","for","http-equiv"],"mappings":"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","file":"bundle.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})","module.exports={\"application/1d-interleaved-parityfec\":{\"source\":\"iana\"},\"application/3gpdash-qoe-report+xml\":{\"source\":\"iana\"},\"application/3gpp-ims+xml\":{\"source\":\"iana\"},\"application/a2l\":{\"source\":\"iana\"},\"application/activemessage\":{\"source\":\"iana\"},\"application/alto-costmap+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-costmapfilter+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-directory+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointcost+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointcostparams+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointprop+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-endpointpropparams+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-error+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-networkmap+json\":{\"source\":\"iana\",\"compressible\":true},\"application/alto-networkmapfilter+json\":{\"source\":\"iana\",\"compressible\":true},\"application/aml\":{\"source\":\"iana\"},\"application/andrew-inset\":{\"source\":\"iana\",\"extensions\":[\"ez\"]},\"application/applefile\":{\"source\":\"iana\"},\"application/applixware\":{\"source\":\"apache\",\"extensions\":[\"aw\"]},\"application/atf\":{\"source\":\"iana\"},\"application/atfx\":{\"source\":\"iana\"},\"application/atom+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"atom\"]},\"application/atomcat+xml\":{\"source\":\"iana\",\"extensions\":[\"atomcat\"]},\"application/atomdeleted+xml\":{\"source\":\"iana\"},\"application/atomicmail\":{\"source\":\"iana\"},\"application/atomsvc+xml\":{\"source\":\"iana\",\"extensions\":[\"atomsvc\"]},\"application/atxml\":{\"source\":\"iana\"},\"application/auth-policy+xml\":{\"source\":\"iana\"},\"application/bacnet-xdd+zip\":{\"source\":\"iana\"},\"application/batch-smtp\":{\"source\":\"iana\"},\"application/bdoc\":{\"compressible\":false,\"extensions\":[\"bdoc\"]},\"application/beep+xml\":{\"source\":\"iana\"},\"application/calendar+json\":{\"source\":\"iana\",\"compressible\":true},\"application/calendar+xml\":{\"source\":\"iana\"},\"application/call-completion\":{\"source\":\"iana\"},\"application/cals-1840\":{\"source\":\"iana\"},\"application/cbor\":{\"source\":\"iana\"},\"application/ccmp+xml\":{\"source\":\"iana\"},\"application/ccxml+xml\":{\"source\":\"iana\",\"extensions\":[\"ccxml\"]},\"application/cdfx+xml\":{\"source\":\"iana\"},\"application/cdmi-capability\":{\"source\":\"iana\",\"extensions\":[\"cdmia\"]},\"application/cdmi-container\":{\"source\":\"iana\",\"extensions\":[\"cdmic\"]},\"application/cdmi-domain\":{\"source\":\"iana\",\"extensions\":[\"cdmid\"]},\"application/cdmi-object\":{\"source\":\"iana\",\"extensions\":[\"cdmio\"]},\"application/cdmi-queue\":{\"source\":\"iana\",\"extensions\":[\"cdmiq\"]},\"application/cdni\":{\"source\":\"iana\"},\"application/cea\":{\"source\":\"iana\"},\"application/cea-2018+xml\":{\"source\":\"iana\"},\"application/cellml+xml\":{\"source\":\"iana\"},\"application/cfw\":{\"source\":\"iana\"},\"application/cms\":{\"source\":\"iana\"},\"application/cnrp+xml\":{\"source\":\"iana\"},\"application/coap-group+json\":{\"source\":\"iana\",\"compressible\":true},\"application/commonground\":{\"source\":\"iana\"},\"application/conference-info+xml\":{\"source\":\"iana\"},\"application/cpl+xml\":{\"source\":\"iana\"},\"application/csrattrs\":{\"source\":\"iana\"},\"application/csta+xml\":{\"source\":\"iana\"},\"application/cstadata+xml\":{\"source\":\"iana\"},\"application/csvm+json\":{\"source\":\"iana\",\"compressible\":true},\"application/cu-seeme\":{\"source\":\"apache\",\"extensions\":[\"cu\"]},\"application/cybercash\":{\"source\":\"iana\"},\"application/dart\":{\"compressible\":true},\"application/dash+xml\":{\"source\":\"iana\",\"extensions\":[\"mpd\"]},\"application/dashdelta\":{\"source\":\"iana\"},\"application/davmount+xml\":{\"source\":\"iana\",\"extensions\":[\"davmount\"]},\"application/dca-rft\":{\"source\":\"iana\"},\"application/dcd\":{\"source\":\"iana\"},\"application/dec-dx\":{\"source\":\"iana\"},\"application/dialog-info+xml\":{\"source\":\"iana\"},\"application/dicom\":{\"source\":\"iana\"},\"application/dii\":{\"source\":\"iana\"},\"application/dit\":{\"source\":\"iana\"},\"application/dns\":{\"source\":\"iana\"},\"application/docbook+xml\":{\"source\":\"apache\",\"extensions\":[\"dbk\"]},\"application/dskpp+xml\":{\"source\":\"iana\"},\"application/dssc+der\":{\"source\":\"iana\",\"extensions\":[\"dssc\"]},\"application/dssc+xml\":{\"source\":\"iana\",\"extensions\":[\"xdssc\"]},\"application/dvcs\":{\"source\":\"iana\"},\"application/ecmascript\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ecma\"]},\"application/edi-consent\":{\"source\":\"iana\"},\"application/edi-x12\":{\"source\":\"iana\",\"compressible\":false},\"application/edifact\":{\"source\":\"iana\",\"compressible\":false},\"application/efi\":{\"source\":\"iana\"},\"application/emergencycalldata.comment+xml\":{\"source\":\"iana\"},\"application/emergencycalldata.deviceinfo+xml\":{\"source\":\"iana\"},\"application/emergencycalldata.providerinfo+xml\":{\"source\":\"iana\"},\"application/emergencycalldata.serviceinfo+xml\":{\"source\":\"iana\"},\"application/emergencycalldata.subscriberinfo+xml\":{\"source\":\"iana\"},\"application/emma+xml\":{\"source\":\"iana\",\"extensions\":[\"emma\"]},\"application/emotionml+xml\":{\"source\":\"iana\"},\"application/encaprtp\":{\"source\":\"iana\"},\"application/epp+xml\":{\"source\":\"iana\"},\"application/epub+zip\":{\"source\":\"iana\",\"extensions\":[\"epub\"]},\"application/eshop\":{\"source\":\"iana\"},\"application/exi\":{\"source\":\"iana\",\"extensions\":[\"exi\"]},\"application/fastinfoset\":{\"source\":\"iana\"},\"application/fastsoap\":{\"source\":\"iana\"},\"application/fdt+xml\":{\"source\":\"iana\"},\"application/fits\":{\"source\":\"iana\"},\"application/font-sfnt\":{\"source\":\"iana\"},\"application/font-tdpfr\":{\"source\":\"iana\",\"extensions\":[\"pfr\"]},\"application/font-woff\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"woff\"]},\"application/font-woff2\":{\"compressible\":false,\"extensions\":[\"woff2\"]},\"application/framework-attributes+xml\":{\"source\":\"iana\"},\"application/gml+xml\":{\"source\":\"apache\",\"extensions\":[\"gml\"]},\"application/gpx+xml\":{\"source\":\"apache\",\"extensions\":[\"gpx\"]},\"application/gxf\":{\"source\":\"apache\",\"extensions\":[\"gxf\"]},\"application/gzip\":{\"source\":\"iana\",\"compressible\":false},\"application/h224\":{\"source\":\"iana\"},\"application/held+xml\":{\"source\":\"iana\"},\"application/http\":{\"source\":\"iana\"},\"application/hyperstudio\":{\"source\":\"iana\",\"extensions\":[\"stk\"]},\"application/ibe-key-request+xml\":{\"source\":\"iana\"},\"application/ibe-pkg-reply+xml\":{\"source\":\"iana\"},\"application/ibe-pp-data\":{\"source\":\"iana\"},\"application/iges\":{\"source\":\"iana\"},\"application/im-iscomposing+xml\":{\"source\":\"iana\"},\"application/index\":{\"source\":\"iana\"},\"application/index.cmd\":{\"source\":\"iana\"},\"application/index.obj\":{\"source\":\"iana\"},\"application/index.response\":{\"source\":\"iana\"},\"application/index.vnd\":{\"source\":\"iana\"},\"application/inkml+xml\":{\"source\":\"iana\",\"extensions\":[\"ink\",\"inkml\"]},\"application/iotp\":{\"source\":\"iana\"},\"application/ipfix\":{\"source\":\"iana\",\"extensions\":[\"ipfix\"]},\"application/ipp\":{\"source\":\"iana\"},\"application/isup\":{\"source\":\"iana\"},\"application/its+xml\":{\"source\":\"iana\"},\"application/java-archive\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"jar\",\"war\",\"ear\"]},\"application/java-serialized-object\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"ser\"]},\"application/java-vm\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"class\"]},\"application/javascript\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"js\"]},\"application/jose\":{\"source\":\"iana\"},\"application/jose+json\":{\"source\":\"iana\",\"compressible\":true},\"application/jrd+json\":{\"source\":\"iana\",\"compressible\":true},\"application/json\":{\"source\":\"iana\",\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"json\",\"map\"]},\"application/json-patch+json\":{\"source\":\"iana\",\"compressible\":true},\"application/json-seq\":{\"source\":\"iana\"},\"application/json5\":{\"extensions\":[\"json5\"]},\"application/jsonml+json\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"jsonml\"]},\"application/jwk+json\":{\"source\":\"iana\",\"compressible\":true},\"application/jwk-set+json\":{\"source\":\"iana\",\"compressible\":true},\"application/jwt\":{\"source\":\"iana\"},\"application/kpml-request+xml\":{\"source\":\"iana\"},\"application/kpml-response+xml\":{\"source\":\"iana\"},\"application/ld+json\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"jsonld\"]},\"application/link-format\":{\"source\":\"iana\"},\"application/load-control+xml\":{\"source\":\"iana\"},\"application/lost+xml\":{\"source\":\"iana\",\"extensions\":[\"lostxml\"]},\"application/lostsync+xml\":{\"source\":\"iana\"},\"application/lxf\":{\"source\":\"iana\"},\"application/mac-binhex40\":{\"source\":\"iana\",\"extensions\":[\"hqx\"]},\"application/mac-compactpro\":{\"source\":\"apache\",\"extensions\":[\"cpt\"]},\"application/macwriteii\":{\"source\":\"iana\"},\"application/mads+xml\":{\"source\":\"iana\",\"extensions\":[\"mads\"]},\"application/manifest+json\":{\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"webmanifest\"]},\"application/marc\":{\"source\":\"iana\",\"extensions\":[\"mrc\"]},\"application/marcxml+xml\":{\"source\":\"iana\",\"extensions\":[\"mrcx\"]},\"application/mathematica\":{\"source\":\"iana\",\"extensions\":[\"ma\",\"nb\",\"mb\"]},\"application/mathml+xml\":{\"source\":\"iana\",\"extensions\":[\"mathml\"]},\"application/mathml-content+xml\":{\"source\":\"iana\"},\"application/mathml-presentation+xml\":{\"source\":\"iana\"},\"application/mbms-associated-procedure-description+xml\":{\"source\":\"iana\"},\"application/mbms-deregister+xml\":{\"source\":\"iana\"},\"application/mbms-envelope+xml\":{\"source\":\"iana\"},\"application/mbms-msk+xml\":{\"source\":\"iana\"},\"application/mbms-msk-response+xml\":{\"source\":\"iana\"},\"application/mbms-protection-description+xml\":{\"source\":\"iana\"},\"application/mbms-reception-report+xml\":{\"source\":\"iana\"},\"application/mbms-register+xml\":{\"source\":\"iana\"},\"application/mbms-register-response+xml\":{\"source\":\"iana\"},\"application/mbms-schedule+xml\":{\"source\":\"iana\"},\"application/mbms-user-service-description+xml\":{\"source\":\"iana\"},\"application/mbox\":{\"source\":\"iana\",\"extensions\":[\"mbox\"]},\"application/media-policy-dataset+xml\":{\"source\":\"iana\"},\"application/media_control+xml\":{\"source\":\"iana\"},\"application/mediaservercontrol+xml\":{\"source\":\"iana\",\"extensions\":[\"mscml\"]},\"application/merge-patch+json\":{\"source\":\"iana\",\"compressible\":true},\"application/metalink+xml\":{\"source\":\"apache\",\"extensions\":[\"metalink\"]},\"application/metalink4+xml\":{\"source\":\"iana\",\"extensions\":[\"meta4\"]},\"application/mets+xml\":{\"source\":\"iana\",\"extensions\":[\"mets\"]},\"application/mf4\":{\"source\":\"iana\"},\"application/mikey\":{\"source\":\"iana\"},\"application/mods+xml\":{\"source\":\"iana\",\"extensions\":[\"mods\"]},\"application/moss-keys\":{\"source\":\"iana\"},\"application/moss-signature\":{\"source\":\"iana\"},\"application/mosskey-data\":{\"source\":\"iana\"},\"application/mosskey-request\":{\"source\":\"iana\"},\"application/mp21\":{\"source\":\"iana\",\"extensions\":[\"m21\",\"mp21\"]},\"application/mp4\":{\"source\":\"iana\",\"extensions\":[\"mp4s\",\"m4p\"]},\"application/mpeg4-generic\":{\"source\":\"iana\"},\"application/mpeg4-iod\":{\"source\":\"iana\"},\"application/mpeg4-iod-xmt\":{\"source\":\"iana\"},\"application/mrb-consumer+xml\":{\"source\":\"iana\"},\"application/mrb-publish+xml\":{\"source\":\"iana\"},\"application/msc-ivr+xml\":{\"source\":\"iana\"},\"application/msc-mixer+xml\":{\"source\":\"iana\"},\"application/msword\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"doc\",\"dot\"]},\"application/mxf\":{\"source\":\"iana\",\"extensions\":[\"mxf\"]},\"application/nasdata\":{\"source\":\"iana\"},\"application/news-checkgroups\":{\"source\":\"iana\"},\"application/news-groupinfo\":{\"source\":\"iana\"},\"application/news-transmission\":{\"source\":\"iana\"},\"application/nlsml+xml\":{\"source\":\"iana\"},\"application/nss\":{\"source\":\"iana\"},\"application/ocsp-request\":{\"source\":\"iana\"},\"application/ocsp-response\":{\"source\":\"iana\"},\"application/octet-stream\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"bin\",\"dms\",\"lrf\",\"mar\",\"so\",\"dist\",\"distz\",\"pkg\",\"bpk\",\"dump\",\"elc\",\"deploy\",\"exe\",\"dll\",\"deb\",\"dmg\",\"iso\",\"img\",\"msi\",\"msp\",\"msm\",\"buffer\"]},\"application/oda\":{\"source\":\"iana\",\"extensions\":[\"oda\"]},\"application/odx\":{\"source\":\"iana\"},\"application/oebps-package+xml\":{\"source\":\"iana\",\"extensions\":[\"opf\"]},\"application/ogg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"ogx\"]},\"application/omdoc+xml\":{\"source\":\"apache\",\"extensions\":[\"omdoc\"]},\"application/onenote\":{\"source\":\"apache\",\"extensions\":[\"onetoc\",\"onetoc2\",\"onetmp\",\"onepkg\"]},\"application/oxps\":{\"source\":\"iana\",\"extensions\":[\"oxps\"]},\"application/p2p-overlay+xml\":{\"source\":\"iana\"},\"application/parityfec\":{\"source\":\"iana\"},\"application/patch-ops-error+xml\":{\"source\":\"iana\",\"extensions\":[\"xer\"]},\"application/pdf\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"pdf\"]},\"application/pdx\":{\"source\":\"iana\"},\"application/pgp-encrypted\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"pgp\"]},\"application/pgp-keys\":{\"source\":\"iana\"},\"application/pgp-signature\":{\"source\":\"iana\",\"extensions\":[\"asc\",\"sig\"]},\"application/pics-rules\":{\"source\":\"apache\",\"extensions\":[\"prf\"]},\"application/pidf+xml\":{\"source\":\"iana\"},\"application/pidf-diff+xml\":{\"source\":\"iana\"},\"application/pkcs10\":{\"source\":\"iana\",\"extensions\":[\"p10\"]},\"application/pkcs12\":{\"source\":\"iana\"},\"application/pkcs7-mime\":{\"source\":\"iana\",\"extensions\":[\"p7m\",\"p7c\"]},\"application/pkcs7-signature\":{\"source\":\"iana\",\"extensions\":[\"p7s\"]},\"application/pkcs8\":{\"source\":\"iana\",\"extensions\":[\"p8\"]},\"application/pkix-attr-cert\":{\"source\":\"iana\",\"extensions\":[\"ac\"]},\"application/pkix-cert\":{\"source\":\"iana\",\"extensions\":[\"cer\"]},\"application/pkix-crl\":{\"source\":\"iana\",\"extensions\":[\"crl\"]},\"application/pkix-pkipath\":{\"source\":\"iana\",\"extensions\":[\"pkipath\"]},\"application/pkixcmp\":{\"source\":\"iana\",\"extensions\":[\"pki\"]},\"application/pls+xml\":{\"source\":\"iana\",\"extensions\":[\"pls\"]},\"application/poc-settings+xml\":{\"source\":\"iana\"},\"application/postscript\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"ai\",\"eps\",\"ps\"]},\"application/ppsp-tracker+json\":{\"source\":\"iana\",\"compressible\":true},\"application/problem+json\":{\"source\":\"iana\",\"compressible\":true},\"application/problem+xml\":{\"source\":\"iana\"},\"application/provenance+xml\":{\"source\":\"iana\"},\"application/prs.alvestrand.titrax-sheet\":{\"source\":\"iana\"},\"application/prs.cww\":{\"source\":\"iana\",\"extensions\":[\"cww\"]},\"application/prs.hpub+zip\":{\"source\":\"iana\"},\"application/prs.nprend\":{\"source\":\"iana\"},\"application/prs.plucker\":{\"source\":\"iana\"},\"application/prs.rdf-xml-crypt\":{\"source\":\"iana\"},\"application/prs.xsf+xml\":{\"source\":\"iana\"},\"application/pskc+xml\":{\"source\":\"iana\",\"extensions\":[\"pskcxml\"]},\"application/qsig\":{\"source\":\"iana\"},\"application/raptorfec\":{\"source\":\"iana\"},\"application/rdap+json\":{\"source\":\"iana\",\"compressible\":true},\"application/rdf+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rdf\"]},\"application/reginfo+xml\":{\"source\":\"iana\",\"extensions\":[\"rif\"]},\"application/relax-ng-compact-syntax\":{\"source\":\"iana\",\"extensions\":[\"rnc\"]},\"application/remote-printing\":{\"source\":\"iana\"},\"application/reputon+json\":{\"source\":\"iana\",\"compressible\":true},\"application/resource-lists+xml\":{\"source\":\"iana\",\"extensions\":[\"rl\"]},\"application/resource-lists-diff+xml\":{\"source\":\"iana\",\"extensions\":[\"rld\"]},\"application/rfc+xml\":{\"source\":\"iana\"},\"application/riscos\":{\"source\":\"iana\"},\"application/rlmi+xml\":{\"source\":\"iana\"},\"application/rls-services+xml\":{\"source\":\"iana\",\"extensions\":[\"rs\"]},\"application/rpki-ghostbusters\":{\"source\":\"iana\",\"extensions\":[\"gbr\"]},\"application/rpki-manifest\":{\"source\":\"iana\",\"extensions\":[\"mft\"]},\"application/rpki-roa\":{\"source\":\"iana\",\"extensions\":[\"roa\"]},\"application/rpki-updown\":{\"source\":\"iana\"},\"application/rsd+xml\":{\"source\":\"apache\",\"extensions\":[\"rsd\"]},\"application/rss+xml\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"rss\"]},\"application/rtf\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rtf\"]},\"application/rtploopback\":{\"source\":\"iana\"},\"application/rtx\":{\"source\":\"iana\"},\"application/samlassertion+xml\":{\"source\":\"iana\"},\"application/samlmetadata+xml\":{\"source\":\"iana\"},\"application/sbml+xml\":{\"source\":\"iana\",\"extensions\":[\"sbml\"]},\"application/scaip+xml\":{\"source\":\"iana\"},\"application/scim+json\":{\"source\":\"iana\",\"compressible\":true},\"application/scvp-cv-request\":{\"source\":\"iana\",\"extensions\":[\"scq\"]},\"application/scvp-cv-response\":{\"source\":\"iana\",\"extensions\":[\"scs\"]},\"application/scvp-vp-request\":{\"source\":\"iana\",\"extensions\":[\"spq\"]},\"application/scvp-vp-response\":{\"source\":\"iana\",\"extensions\":[\"spp\"]},\"application/sdp\":{\"source\":\"iana\",\"extensions\":[\"sdp\"]},\"application/sep+xml\":{\"source\":\"iana\"},\"application/sep-exi\":{\"source\":\"iana\"},\"application/session-info\":{\"source\":\"iana\"},\"application/set-payment\":{\"source\":\"iana\"},\"application/set-payment-initiation\":{\"source\":\"iana\",\"extensions\":[\"setpay\"]},\"application/set-registration\":{\"source\":\"iana\"},\"application/set-registration-initiation\":{\"source\":\"iana\",\"extensions\":[\"setreg\"]},\"application/sgml\":{\"source\":\"iana\"},\"application/sgml-open-catalog\":{\"source\":\"iana\"},\"application/shf+xml\":{\"source\":\"iana\",\"extensions\":[\"shf\"]},\"application/sieve\":{\"source\":\"iana\"},\"application/simple-filter+xml\":{\"source\":\"iana\"},\"application/simple-message-summary\":{\"source\":\"iana\"},\"application/simplesymbolcontainer\":{\"source\":\"iana\"},\"application/slate\":{\"source\":\"iana\"},\"application/smil\":{\"source\":\"iana\"},\"application/smil+xml\":{\"source\":\"iana\",\"extensions\":[\"smi\",\"smil\"]},\"application/smpte336m\":{\"source\":\"iana\"},\"application/soap+fastinfoset\":{\"source\":\"iana\"},\"application/soap+xml\":{\"source\":\"iana\",\"compressible\":true},\"application/sparql-query\":{\"source\":\"iana\",\"extensions\":[\"rq\"]},\"application/sparql-results+xml\":{\"source\":\"iana\",\"extensions\":[\"srx\"]},\"application/spirits-event+xml\":{\"source\":\"iana\"},\"application/sql\":{\"source\":\"iana\"},\"application/srgs\":{\"source\":\"iana\",\"extensions\":[\"gram\"]},\"application/srgs+xml\":{\"source\":\"iana\",\"extensions\":[\"grxml\"]},\"application/sru+xml\":{\"source\":\"iana\",\"extensions\":[\"sru\"]},\"application/ssdl+xml\":{\"source\":\"apache\",\"extensions\":[\"ssdl\"]},\"application/ssml+xml\":{\"source\":\"iana\",\"extensions\":[\"ssml\"]},\"application/tamp-apex-update\":{\"source\":\"iana\"},\"application/tamp-apex-update-confirm\":{\"source\":\"iana\"},\"application/tamp-community-update\":{\"source\":\"iana\"},\"application/tamp-community-update-confirm\":{\"source\":\"iana\"},\"application/tamp-error\":{\"source\":\"iana\"},\"application/tamp-sequence-adjust\":{\"source\":\"iana\"},\"application/tamp-sequence-adjust-confirm\":{\"source\":\"iana\"},\"application/tamp-status-query\":{\"source\":\"iana\"},\"application/tamp-status-response\":{\"source\":\"iana\"},\"application/tamp-update\":{\"source\":\"iana\"},\"application/tamp-update-confirm\":{\"source\":\"iana\"},\"application/tar\":{\"compressible\":true},\"application/tei+xml\":{\"source\":\"iana\",\"extensions\":[\"tei\",\"teicorpus\"]},\"application/thraud+xml\":{\"source\":\"iana\",\"extensions\":[\"tfi\"]},\"application/timestamp-query\":{\"source\":\"iana\"},\"application/timestamp-reply\":{\"source\":\"iana\"},\"application/timestamped-data\":{\"source\":\"iana\",\"extensions\":[\"tsd\"]},\"application/ttml+xml\":{\"source\":\"iana\"},\"application/tve-trigger\":{\"source\":\"iana\"},\"application/ulpfec\":{\"source\":\"iana\"},\"application/urc-grpsheet+xml\":{\"source\":\"iana\"},\"application/urc-ressheet+xml\":{\"source\":\"iana\"},\"application/urc-targetdesc+xml\":{\"source\":\"iana\"},\"application/urc-uisocketdesc+xml\":{\"source\":\"iana\"},\"application/vcard+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vcard+xml\":{\"source\":\"iana\"},\"application/vemmi\":{\"source\":\"iana\"},\"application/vividence.scriptfile\":{\"source\":\"apache\"},\"application/vnd.3gpp-prose+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp-prose-pc3ch+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.access-transfer-events+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.bsf+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.mid-call+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.pic-bw-large\":{\"source\":\"iana\",\"extensions\":[\"plb\"]},\"application/vnd.3gpp.pic-bw-small\":{\"source\":\"iana\",\"extensions\":[\"psb\"]},\"application/vnd.3gpp.pic-bw-var\":{\"source\":\"iana\",\"extensions\":[\"pvb\"]},\"application/vnd.3gpp.sms\":{\"source\":\"iana\"},\"application/vnd.3gpp.sms+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.srvcc-ext+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.srvcc-info+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.state-and-event-info+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp.ussd+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp2.bcmcsinfo+xml\":{\"source\":\"iana\"},\"application/vnd.3gpp2.sms\":{\"source\":\"iana\"},\"application/vnd.3gpp2.tcap\":{\"source\":\"iana\",\"extensions\":[\"tcap\"]},\"application/vnd.3lightssoftware.imagescal\":{\"source\":\"iana\"},\"application/vnd.3m.post-it-notes\":{\"source\":\"iana\",\"extensions\":[\"pwn\"]},\"application/vnd.accpac.simply.aso\":{\"source\":\"iana\",\"extensions\":[\"aso\"]},\"application/vnd.accpac.simply.imp\":{\"source\":\"iana\",\"extensions\":[\"imp\"]},\"application/vnd.acucobol\":{\"source\":\"iana\",\"extensions\":[\"acu\"]},\"application/vnd.acucorp\":{\"source\":\"iana\",\"extensions\":[\"atc\",\"acutc\"]},\"application/vnd.adobe.air-application-installer-package+zip\":{\"source\":\"apache\",\"extensions\":[\"air\"]},\"application/vnd.adobe.flash.movie\":{\"source\":\"iana\"},\"application/vnd.adobe.formscentral.fcdt\":{\"source\":\"iana\",\"extensions\":[\"fcdt\"]},\"application/vnd.adobe.fxp\":{\"source\":\"iana\",\"extensions\":[\"fxp\",\"fxpl\"]},\"application/vnd.adobe.partial-upload\":{\"source\":\"iana\"},\"application/vnd.adobe.xdp+xml\":{\"source\":\"iana\",\"extensions\":[\"xdp\"]},\"application/vnd.adobe.xfdf\":{\"source\":\"iana\",\"extensions\":[\"xfdf\"]},\"application/vnd.aether.imp\":{\"source\":\"iana\"},\"application/vnd.ah-barcode\":{\"source\":\"iana\"},\"application/vnd.ahead.space\":{\"source\":\"iana\",\"extensions\":[\"ahead\"]},\"application/vnd.airzip.filesecure.azf\":{\"source\":\"iana\",\"extensions\":[\"azf\"]},\"application/vnd.airzip.filesecure.azs\":{\"source\":\"iana\",\"extensions\":[\"azs\"]},\"application/vnd.amazon.ebook\":{\"source\":\"apache\",\"extensions\":[\"azw\"]},\"application/vnd.americandynamics.acc\":{\"source\":\"iana\",\"extensions\":[\"acc\"]},\"application/vnd.amiga.ami\":{\"source\":\"iana\",\"extensions\":[\"ami\"]},\"application/vnd.amundsen.maze+xml\":{\"source\":\"iana\"},\"application/vnd.android.package-archive\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"apk\"]},\"application/vnd.anki\":{\"source\":\"iana\"},\"application/vnd.anser-web-certificate-issue-initiation\":{\"source\":\"iana\",\"extensions\":[\"cii\"]},\"application/vnd.anser-web-funds-transfer-initiation\":{\"source\":\"apache\",\"extensions\":[\"fti\"]},\"application/vnd.antix.game-component\":{\"source\":\"iana\",\"extensions\":[\"atx\"]},\"application/vnd.apache.thrift.binary\":{\"source\":\"iana\"},\"application/vnd.apache.thrift.compact\":{\"source\":\"iana\"},\"application/vnd.apache.thrift.json\":{\"source\":\"iana\"},\"application/vnd.api+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.apple.installer+xml\":{\"source\":\"iana\",\"extensions\":[\"mpkg\"]},\"application/vnd.apple.mpegurl\":{\"source\":\"iana\",\"extensions\":[\"m3u8\"]},\"application/vnd.apple.pkpass\":{\"compressible\":false,\"extensions\":[\"pkpass\"]},\"application/vnd.arastra.swi\":{\"source\":\"iana\"},\"application/vnd.aristanetworks.swi\":{\"source\":\"iana\",\"extensions\":[\"swi\"]},\"application/vnd.artsquare\":{\"source\":\"iana\"},\"application/vnd.astraea-software.iota\":{\"source\":\"iana\",\"extensions\":[\"iota\"]},\"application/vnd.audiograph\":{\"source\":\"iana\",\"extensions\":[\"aep\"]},\"application/vnd.autopackage\":{\"source\":\"iana\"},\"application/vnd.avistar+xml\":{\"source\":\"iana\"},\"application/vnd.balsamiq.bmml+xml\":{\"source\":\"iana\"},\"application/vnd.balsamiq.bmpr\":{\"source\":\"iana\"},\"application/vnd.bekitzur-stech+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.biopax.rdf+xml\":{\"source\":\"iana\"},\"application/vnd.blueice.multipass\":{\"source\":\"iana\",\"extensions\":[\"mpm\"]},\"application/vnd.bluetooth.ep.oob\":{\"source\":\"iana\"},\"application/vnd.bluetooth.le.oob\":{\"source\":\"iana\"},\"application/vnd.bmi\":{\"source\":\"iana\",\"extensions\":[\"bmi\"]},\"application/vnd.businessobjects\":{\"source\":\"iana\",\"extensions\":[\"rep\"]},\"application/vnd.cab-jscript\":{\"source\":\"iana\"},\"application/vnd.canon-cpdl\":{\"source\":\"iana\"},\"application/vnd.canon-lips\":{\"source\":\"iana\"},\"application/vnd.cendio.thinlinc.clientconf\":{\"source\":\"iana\"},\"application/vnd.century-systems.tcp_stream\":{\"source\":\"iana\"},\"application/vnd.chemdraw+xml\":{\"source\":\"iana\",\"extensions\":[\"cdxml\"]},\"application/vnd.chipnuts.karaoke-mmd\":{\"source\":\"iana\",\"extensions\":[\"mmd\"]},\"application/vnd.cinderella\":{\"source\":\"iana\",\"extensions\":[\"cdy\"]},\"application/vnd.cirpack.isdn-ext\":{\"source\":\"iana\"},\"application/vnd.citationstyles.style+xml\":{\"source\":\"iana\"},\"application/vnd.claymore\":{\"source\":\"iana\",\"extensions\":[\"cla\"]},\"application/vnd.cloanto.rp9\":{\"source\":\"iana\",\"extensions\":[\"rp9\"]},\"application/vnd.clonk.c4group\":{\"source\":\"iana\",\"extensions\":[\"c4g\",\"c4d\",\"c4f\",\"c4p\",\"c4u\"]},\"application/vnd.cluetrust.cartomobile-config\":{\"source\":\"iana\",\"extensions\":[\"c11amc\"]},\"application/vnd.cluetrust.cartomobile-config-pkg\":{\"source\":\"iana\",\"extensions\":[\"c11amz\"]},\"application/vnd.coffeescript\":{\"source\":\"iana\"},\"application/vnd.collection+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.collection.doc+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.collection.next+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.commerce-battelle\":{\"source\":\"iana\"},\"application/vnd.commonspace\":{\"source\":\"iana\",\"extensions\":[\"csp\"]},\"application/vnd.contact.cmsg\":{\"source\":\"iana\",\"extensions\":[\"cdbcmsg\"]},\"application/vnd.coreos.ignition+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.cosmocaller\":{\"source\":\"iana\",\"extensions\":[\"cmc\"]},\"application/vnd.crick.clicker\":{\"source\":\"iana\",\"extensions\":[\"clkx\"]},\"application/vnd.crick.clicker.keyboard\":{\"source\":\"iana\",\"extensions\":[\"clkk\"]},\"application/vnd.crick.clicker.palette\":{\"source\":\"iana\",\"extensions\":[\"clkp\"]},\"application/vnd.crick.clicker.template\":{\"source\":\"iana\",\"extensions\":[\"clkt\"]},\"application/vnd.crick.clicker.wordbank\":{\"source\":\"iana\",\"extensions\":[\"clkw\"]},\"application/vnd.criticaltools.wbs+xml\":{\"source\":\"iana\",\"extensions\":[\"wbs\"]},\"application/vnd.ctc-posml\":{\"source\":\"iana\",\"extensions\":[\"pml\"]},\"application/vnd.ctct.ws+xml\":{\"source\":\"iana\"},\"application/vnd.cups-pdf\":{\"source\":\"iana\"},\"application/vnd.cups-postscript\":{\"source\":\"iana\"},\"application/vnd.cups-ppd\":{\"source\":\"iana\",\"extensions\":[\"ppd\"]},\"application/vnd.cups-raster\":{\"source\":\"iana\"},\"application/vnd.cups-raw\":{\"source\":\"iana\"},\"application/vnd.curl\":{\"source\":\"iana\"},\"application/vnd.curl.car\":{\"source\":\"apache\",\"extensions\":[\"car\"]},\"application/vnd.curl.pcurl\":{\"source\":\"apache\",\"extensions\":[\"pcurl\"]},\"application/vnd.cyan.dean.root+xml\":{\"source\":\"iana\"},\"application/vnd.cybank\":{\"source\":\"iana\"},\"application/vnd.dart\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"dart\"]},\"application/vnd.data-vision.rdz\":{\"source\":\"iana\",\"extensions\":[\"rdz\"]},\"application/vnd.debian.binary-package\":{\"source\":\"iana\"},\"application/vnd.dece.data\":{\"source\":\"iana\",\"extensions\":[\"uvf\",\"uvvf\",\"uvd\",\"uvvd\"]},\"application/vnd.dece.ttml+xml\":{\"source\":\"iana\",\"extensions\":[\"uvt\",\"uvvt\"]},\"application/vnd.dece.unspecified\":{\"source\":\"iana\",\"extensions\":[\"uvx\",\"uvvx\"]},\"application/vnd.dece.zip\":{\"source\":\"iana\",\"extensions\":[\"uvz\",\"uvvz\"]},\"application/vnd.denovo.fcselayout-link\":{\"source\":\"iana\",\"extensions\":[\"fe_launch\"]},\"application/vnd.desmume-movie\":{\"source\":\"iana\"},\"application/vnd.desmume.movie\":{\"source\":\"apache\"},\"application/vnd.dir-bi.plate-dl-nosuffix\":{\"source\":\"iana\"},\"application/vnd.dm.delegation+xml\":{\"source\":\"iana\"},\"application/vnd.dna\":{\"source\":\"iana\",\"extensions\":[\"dna\"]},\"application/vnd.document+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.dolby.mlp\":{\"source\":\"apache\",\"extensions\":[\"mlp\"]},\"application/vnd.dolby.mobile.1\":{\"source\":\"iana\"},\"application/vnd.dolby.mobile.2\":{\"source\":\"iana\"},\"application/vnd.doremir.scorecloud-binary-document\":{\"source\":\"iana\"},\"application/vnd.dpgraph\":{\"source\":\"iana\",\"extensions\":[\"dpg\"]},\"application/vnd.dreamfactory\":{\"source\":\"iana\",\"extensions\":[\"dfac\"]},\"application/vnd.drive+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ds-keypoint\":{\"source\":\"apache\",\"extensions\":[\"kpxx\"]},\"application/vnd.dtg.local\":{\"source\":\"iana\"},\"application/vnd.dtg.local.flash\":{\"source\":\"iana\"},\"application/vnd.dtg.local.html\":{\"source\":\"iana\"},\"application/vnd.dvb.ait\":{\"source\":\"iana\",\"extensions\":[\"ait\"]},\"application/vnd.dvb.dvbj\":{\"source\":\"iana\"},\"application/vnd.dvb.esgcontainer\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcdftnotifaccess\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcesgaccess\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcesgaccess2\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcesgpdd\":{\"source\":\"iana\"},\"application/vnd.dvb.ipdcroaming\":{\"source\":\"iana\"},\"application/vnd.dvb.iptv.alfec-base\":{\"source\":\"iana\"},\"application/vnd.dvb.iptv.alfec-enhancement\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-aggregate-root+xml\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-container+xml\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-generic+xml\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-ia-msglist+xml\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-ia-registration-request+xml\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-ia-registration-response+xml\":{\"source\":\"iana\"},\"application/vnd.dvb.notif-init+xml\":{\"source\":\"iana\"},\"application/vnd.dvb.pfr\":{\"source\":\"iana\"},\"application/vnd.dvb.service\":{\"source\":\"iana\",\"extensions\":[\"svc\"]},\"application/vnd.dxr\":{\"source\":\"iana\"},\"application/vnd.dynageo\":{\"source\":\"iana\",\"extensions\":[\"geo\"]},\"application/vnd.dzr\":{\"source\":\"iana\"},\"application/vnd.easykaraoke.cdgdownload\":{\"source\":\"iana\"},\"application/vnd.ecdis-update\":{\"source\":\"iana\"},\"application/vnd.ecowin.chart\":{\"source\":\"iana\",\"extensions\":[\"mag\"]},\"application/vnd.ecowin.filerequest\":{\"source\":\"iana\"},\"application/vnd.ecowin.fileupdate\":{\"source\":\"iana\"},\"application/vnd.ecowin.series\":{\"source\":\"iana\"},\"application/vnd.ecowin.seriesrequest\":{\"source\":\"iana\"},\"application/vnd.ecowin.seriesupdate\":{\"source\":\"iana\"},\"application/vnd.emclient.accessrequest+xml\":{\"source\":\"iana\"},\"application/vnd.enliven\":{\"source\":\"iana\",\"extensions\":[\"nml\"]},\"application/vnd.enphase.envoy\":{\"source\":\"iana\"},\"application/vnd.eprints.data+xml\":{\"source\":\"iana\"},\"application/vnd.epson.esf\":{\"source\":\"iana\",\"extensions\":[\"esf\"]},\"application/vnd.epson.msf\":{\"source\":\"iana\",\"extensions\":[\"msf\"]},\"application/vnd.epson.quickanime\":{\"source\":\"iana\",\"extensions\":[\"qam\"]},\"application/vnd.epson.salt\":{\"source\":\"iana\",\"extensions\":[\"slt\"]},\"application/vnd.epson.ssf\":{\"source\":\"iana\",\"extensions\":[\"ssf\"]},\"application/vnd.ericsson.quickcall\":{\"source\":\"iana\"},\"application/vnd.eszigno3+xml\":{\"source\":\"iana\",\"extensions\":[\"es3\",\"et3\"]},\"application/vnd.etsi.aoc+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.asic-e+zip\":{\"source\":\"iana\"},\"application/vnd.etsi.asic-s+zip\":{\"source\":\"iana\"},\"application/vnd.etsi.cug+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvcommand+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvdiscovery+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvprofile+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvsad-bc+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvsad-cod+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvsad-npvr+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvservice+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvsync+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.iptvueprofile+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.mcid+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.mheg5\":{\"source\":\"iana\"},\"application/vnd.etsi.overload-control-policy-dataset+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.pstn+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.sci+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.simservs+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.timestamp-token\":{\"source\":\"iana\"},\"application/vnd.etsi.tsl+xml\":{\"source\":\"iana\"},\"application/vnd.etsi.tsl.der\":{\"source\":\"iana\"},\"application/vnd.eudora.data\":{\"source\":\"iana\"},\"application/vnd.ezpix-album\":{\"source\":\"iana\",\"extensions\":[\"ez2\"]},\"application/vnd.ezpix-package\":{\"source\":\"iana\",\"extensions\":[\"ez3\"]},\"application/vnd.f-secure.mobile\":{\"source\":\"iana\"},\"application/vnd.fastcopy-disk-image\":{\"source\":\"iana\"},\"application/vnd.fdf\":{\"source\":\"iana\",\"extensions\":[\"fdf\"]},\"application/vnd.fdsn.mseed\":{\"source\":\"iana\",\"extensions\":[\"mseed\"]},\"application/vnd.fdsn.seed\":{\"source\":\"iana\",\"extensions\":[\"seed\",\"dataless\"]},\"application/vnd.ffsns\":{\"source\":\"iana\"},\"application/vnd.filmit.zfc\":{\"source\":\"iana\"},\"application/vnd.fints\":{\"source\":\"iana\"},\"application/vnd.firemonkeys.cloudcell\":{\"source\":\"iana\"},\"application/vnd.flographit\":{\"source\":\"iana\",\"extensions\":[\"gph\"]},\"application/vnd.fluxtime.clip\":{\"source\":\"iana\",\"extensions\":[\"ftc\"]},\"application/vnd.font-fontforge-sfd\":{\"source\":\"iana\"},\"application/vnd.framemaker\":{\"source\":\"iana\",\"extensions\":[\"fm\",\"frame\",\"maker\",\"book\"]},\"application/vnd.frogans.fnc\":{\"source\":\"iana\",\"extensions\":[\"fnc\"]},\"application/vnd.frogans.ltf\":{\"source\":\"iana\",\"extensions\":[\"ltf\"]},\"application/vnd.fsc.weblaunch\":{\"source\":\"iana\",\"extensions\":[\"fsc\"]},\"application/vnd.fujitsu.oasys\":{\"source\":\"iana\",\"extensions\":[\"oas\"]},\"application/vnd.fujitsu.oasys2\":{\"source\":\"iana\",\"extensions\":[\"oa2\"]},\"application/vnd.fujitsu.oasys3\":{\"source\":\"iana\",\"extensions\":[\"oa3\"]},\"application/vnd.fujitsu.oasysgp\":{\"source\":\"iana\",\"extensions\":[\"fg5\"]},\"application/vnd.fujitsu.oasysprs\":{\"source\":\"iana\",\"extensions\":[\"bh2\"]},\"application/vnd.fujixerox.art-ex\":{\"source\":\"iana\"},\"application/vnd.fujixerox.art4\":{\"source\":\"iana\"},\"application/vnd.fujixerox.ddd\":{\"source\":\"iana\",\"extensions\":[\"ddd\"]},\"application/vnd.fujixerox.docuworks\":{\"source\":\"iana\",\"extensions\":[\"xdw\"]},\"application/vnd.fujixerox.docuworks.binder\":{\"source\":\"iana\",\"extensions\":[\"xbd\"]},\"application/vnd.fujixerox.docuworks.container\":{\"source\":\"iana\"},\"application/vnd.fujixerox.hbpl\":{\"source\":\"iana\"},\"application/vnd.fut-misnet\":{\"source\":\"iana\"},\"application/vnd.fuzzysheet\":{\"source\":\"iana\",\"extensions\":[\"fzs\"]},\"application/vnd.genomatix.tuxedo\":{\"source\":\"iana\",\"extensions\":[\"txd\"]},\"application/vnd.geo+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.geocube+xml\":{\"source\":\"iana\"},\"application/vnd.geogebra.file\":{\"source\":\"iana\",\"extensions\":[\"ggb\"]},\"application/vnd.geogebra.tool\":{\"source\":\"iana\",\"extensions\":[\"ggt\"]},\"application/vnd.geometry-explorer\":{\"source\":\"iana\",\"extensions\":[\"gex\",\"gre\"]},\"application/vnd.geonext\":{\"source\":\"iana\",\"extensions\":[\"gxt\"]},\"application/vnd.geoplan\":{\"source\":\"iana\",\"extensions\":[\"g2w\"]},\"application/vnd.geospace\":{\"source\":\"iana\",\"extensions\":[\"g3w\"]},\"application/vnd.gerber\":{\"source\":\"iana\"},\"application/vnd.globalplatform.card-content-mgt\":{\"source\":\"iana\"},\"application/vnd.globalplatform.card-content-mgt-response\":{\"source\":\"iana\"},\"application/vnd.gmx\":{\"source\":\"iana\",\"extensions\":[\"gmx\"]},\"application/vnd.google-apps.document\":{\"compressible\":false,\"extensions\":[\"gdoc\"]},\"application/vnd.google-apps.presentation\":{\"compressible\":false,\"extensions\":[\"gslides\"]},\"application/vnd.google-apps.spreadsheet\":{\"compressible\":false,\"extensions\":[\"gsheet\"]},\"application/vnd.google-earth.kml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"kml\"]},\"application/vnd.google-earth.kmz\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"kmz\"]},\"application/vnd.gov.sk.e-form+xml\":{\"source\":\"iana\"},\"application/vnd.gov.sk.e-form+zip\":{\"source\":\"iana\"},\"application/vnd.gov.sk.xmldatacontainer+xml\":{\"source\":\"iana\"},\"application/vnd.grafeq\":{\"source\":\"iana\",\"extensions\":[\"gqf\",\"gqs\"]},\"application/vnd.gridmp\":{\"source\":\"iana\"},\"application/vnd.groove-account\":{\"source\":\"iana\",\"extensions\":[\"gac\"]},\"application/vnd.groove-help\":{\"source\":\"iana\",\"extensions\":[\"ghf\"]},\"application/vnd.groove-identity-message\":{\"source\":\"iana\",\"extensions\":[\"gim\"]},\"application/vnd.groove-injector\":{\"source\":\"iana\",\"extensions\":[\"grv\"]},\"application/vnd.groove-tool-message\":{\"source\":\"iana\",\"extensions\":[\"gtm\"]},\"application/vnd.groove-tool-template\":{\"source\":\"iana\",\"extensions\":[\"tpl\"]},\"application/vnd.groove-vcard\":{\"source\":\"iana\",\"extensions\":[\"vcg\"]},\"application/vnd.hal+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hal+xml\":{\"source\":\"iana\",\"extensions\":[\"hal\"]},\"application/vnd.handheld-entertainment+xml\":{\"source\":\"iana\",\"extensions\":[\"zmm\"]},\"application/vnd.hbci\":{\"source\":\"iana\",\"extensions\":[\"hbci\"]},\"application/vnd.hcl-bireports\":{\"source\":\"iana\"},\"application/vnd.hdt\":{\"source\":\"iana\"},\"application/vnd.heroku+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hhe.lesson-player\":{\"source\":\"iana\",\"extensions\":[\"les\"]},\"application/vnd.hp-hpgl\":{\"source\":\"iana\",\"extensions\":[\"hpgl\"]},\"application/vnd.hp-hpid\":{\"source\":\"iana\",\"extensions\":[\"hpid\"]},\"application/vnd.hp-hps\":{\"source\":\"iana\",\"extensions\":[\"hps\"]},\"application/vnd.hp-jlyt\":{\"source\":\"iana\",\"extensions\":[\"jlt\"]},\"application/vnd.hp-pcl\":{\"source\":\"iana\",\"extensions\":[\"pcl\"]},\"application/vnd.hp-pclxl\":{\"source\":\"iana\",\"extensions\":[\"pclxl\"]},\"application/vnd.httphone\":{\"source\":\"iana\"},\"application/vnd.hydrostatix.sof-data\":{\"source\":\"iana\",\"extensions\":[\"sfd-hdstx\"]},\"application/vnd.hyperdrive+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.hzn-3d-crossword\":{\"source\":\"iana\"},\"application/vnd.ibm.afplinedata\":{\"source\":\"iana\"},\"application/vnd.ibm.electronic-media\":{\"source\":\"iana\"},\"application/vnd.ibm.minipay\":{\"source\":\"iana\",\"extensions\":[\"mpy\"]},\"application/vnd.ibm.modcap\":{\"source\":\"iana\",\"extensions\":[\"afp\",\"listafp\",\"list3820\"]},\"application/vnd.ibm.rights-management\":{\"source\":\"iana\",\"extensions\":[\"irm\"]},\"application/vnd.ibm.secure-container\":{\"source\":\"iana\",\"extensions\":[\"sc\"]},\"application/vnd.iccprofile\":{\"source\":\"iana\",\"extensions\":[\"icc\",\"icm\"]},\"application/vnd.ieee.1905\":{\"source\":\"iana\"},\"application/vnd.igloader\":{\"source\":\"iana\",\"extensions\":[\"igl\"]},\"application/vnd.immervision-ivp\":{\"source\":\"iana\",\"extensions\":[\"ivp\"]},\"application/vnd.immervision-ivu\":{\"source\":\"iana\",\"extensions\":[\"ivu\"]},\"application/vnd.ims.imsccv1p1\":{\"source\":\"iana\"},\"application/vnd.ims.imsccv1p2\":{\"source\":\"iana\"},\"application/vnd.ims.imsccv1p3\":{\"source\":\"iana\"},\"application/vnd.ims.lis.v2.result+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolconsumerprofile+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolproxy+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolproxy.id+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolsettings+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.ims.lti.v2.toolsettings.simple+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.informedcontrol.rms+xml\":{\"source\":\"iana\"},\"application/vnd.informix-visionary\":{\"source\":\"iana\"},\"application/vnd.infotech.project\":{\"source\":\"iana\"},\"application/vnd.infotech.project+xml\":{\"source\":\"iana\"},\"application/vnd.innopath.wamp.notification\":{\"source\":\"iana\"},\"application/vnd.insors.igm\":{\"source\":\"iana\",\"extensions\":[\"igm\"]},\"application/vnd.intercon.formnet\":{\"source\":\"iana\",\"extensions\":[\"xpw\",\"xpx\"]},\"application/vnd.intergeo\":{\"source\":\"iana\",\"extensions\":[\"i2g\"]},\"application/vnd.intertrust.digibox\":{\"source\":\"iana\"},\"application/vnd.intertrust.nncp\":{\"source\":\"iana\"},\"application/vnd.intu.qbo\":{\"source\":\"iana\",\"extensions\":[\"qbo\"]},\"application/vnd.intu.qfx\":{\"source\":\"iana\",\"extensions\":[\"qfx\"]},\"application/vnd.iptc.g2.catalogitem+xml\":{\"source\":\"iana\"},\"application/vnd.iptc.g2.conceptitem+xml\":{\"source\":\"iana\"},\"application/vnd.iptc.g2.knowledgeitem+xml\":{\"source\":\"iana\"},\"application/vnd.iptc.g2.newsitem+xml\":{\"source\":\"iana\"},\"application/vnd.iptc.g2.newsmessage+xml\":{\"source\":\"iana\"},\"application/vnd.iptc.g2.packageitem+xml\":{\"source\":\"iana\"},\"application/vnd.iptc.g2.planningitem+xml\":{\"source\":\"iana\"},\"application/vnd.ipunplugged.rcprofile\":{\"source\":\"iana\",\"extensions\":[\"rcprofile\"]},\"application/vnd.irepository.package+xml\":{\"source\":\"iana\",\"extensions\":[\"irp\"]},\"application/vnd.is-xpr\":{\"source\":\"iana\",\"extensions\":[\"xpr\"]},\"application/vnd.isac.fcs\":{\"source\":\"iana\",\"extensions\":[\"fcs\"]},\"application/vnd.jam\":{\"source\":\"iana\",\"extensions\":[\"jam\"]},\"application/vnd.japannet-directory-service\":{\"source\":\"iana\"},\"application/vnd.japannet-jpnstore-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-payment-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-registration\":{\"source\":\"iana\"},\"application/vnd.japannet-registration-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-setstore-wakeup\":{\"source\":\"iana\"},\"application/vnd.japannet-verification\":{\"source\":\"iana\"},\"application/vnd.japannet-verification-wakeup\":{\"source\":\"iana\"},\"application/vnd.jcp.javame.midlet-rms\":{\"source\":\"iana\",\"extensions\":[\"rms\"]},\"application/vnd.jisp\":{\"source\":\"iana\",\"extensions\":[\"jisp\"]},\"application/vnd.joost.joda-archive\":{\"source\":\"iana\",\"extensions\":[\"joda\"]},\"application/vnd.jsk.isdn-ngn\":{\"source\":\"iana\"},\"application/vnd.kahootz\":{\"source\":\"iana\",\"extensions\":[\"ktz\",\"ktr\"]},\"application/vnd.kde.karbon\":{\"source\":\"iana\",\"extensions\":[\"karbon\"]},\"application/vnd.kde.kchart\":{\"source\":\"iana\",\"extensions\":[\"chrt\"]},\"application/vnd.kde.kformula\":{\"source\":\"iana\",\"extensions\":[\"kfo\"]},\"application/vnd.kde.kivio\":{\"source\":\"iana\",\"extensions\":[\"flw\"]},\"application/vnd.kde.kontour\":{\"source\":\"iana\",\"extensions\":[\"kon\"]},\"application/vnd.kde.kpresenter\":{\"source\":\"iana\",\"extensions\":[\"kpr\",\"kpt\"]},\"application/vnd.kde.kspread\":{\"source\":\"iana\",\"extensions\":[\"ksp\"]},\"application/vnd.kde.kword\":{\"source\":\"iana\",\"extensions\":[\"kwd\",\"kwt\"]},\"application/vnd.kenameaapp\":{\"source\":\"iana\",\"extensions\":[\"htke\"]},\"application/vnd.kidspiration\":{\"source\":\"iana\",\"extensions\":[\"kia\"]},\"application/vnd.kinar\":{\"source\":\"iana\",\"extensions\":[\"kne\",\"knp\"]},\"application/vnd.koan\":{\"source\":\"iana\",\"extensions\":[\"skp\",\"skd\",\"skt\",\"skm\"]},\"application/vnd.kodak-descriptor\":{\"source\":\"iana\",\"extensions\":[\"sse\"]},\"application/vnd.las.las+xml\":{\"source\":\"iana\",\"extensions\":[\"lasxml\"]},\"application/vnd.liberty-request+xml\":{\"source\":\"iana\"},\"application/vnd.llamagraphics.life-balance.desktop\":{\"source\":\"iana\",\"extensions\":[\"lbd\"]},\"application/vnd.llamagraphics.life-balance.exchange+xml\":{\"source\":\"iana\",\"extensions\":[\"lbe\"]},\"application/vnd.lotus-1-2-3\":{\"source\":\"iana\",\"extensions\":[\"123\"]},\"application/vnd.lotus-approach\":{\"source\":\"iana\",\"extensions\":[\"apr\"]},\"application/vnd.lotus-freelance\":{\"source\":\"iana\",\"extensions\":[\"pre\"]},\"application/vnd.lotus-notes\":{\"source\":\"iana\",\"extensions\":[\"nsf\"]},\"application/vnd.lotus-organizer\":{\"source\":\"iana\",\"extensions\":[\"org\"]},\"application/vnd.lotus-screencam\":{\"source\":\"iana\",\"extensions\":[\"scm\"]},\"application/vnd.lotus-wordpro\":{\"source\":\"iana\",\"extensions\":[\"lwp\"]},\"application/vnd.macports.portpkg\":{\"source\":\"iana\",\"extensions\":[\"portpkg\"]},\"application/vnd.mapbox-vector-tile\":{\"source\":\"iana\"},\"application/vnd.marlin.drm.actiontoken+xml\":{\"source\":\"iana\"},\"application/vnd.marlin.drm.conftoken+xml\":{\"source\":\"iana\"},\"application/vnd.marlin.drm.license+xml\":{\"source\":\"iana\"},\"application/vnd.marlin.drm.mdcf\":{\"source\":\"iana\"},\"application/vnd.mason+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.maxmind.maxmind-db\":{\"source\":\"iana\"},\"application/vnd.mcd\":{\"source\":\"iana\",\"extensions\":[\"mcd\"]},\"application/vnd.medcalcdata\":{\"source\":\"iana\",\"extensions\":[\"mc1\"]},\"application/vnd.mediastation.cdkey\":{\"source\":\"iana\",\"extensions\":[\"cdkey\"]},\"application/vnd.meridian-slingshot\":{\"source\":\"iana\"},\"application/vnd.mfer\":{\"source\":\"iana\",\"extensions\":[\"mwf\"]},\"application/vnd.mfmp\":{\"source\":\"iana\",\"extensions\":[\"mfm\"]},\"application/vnd.micro+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.micrografx.flo\":{\"source\":\"iana\",\"extensions\":[\"flo\"]},\"application/vnd.micrografx.igx\":{\"source\":\"iana\",\"extensions\":[\"igx\"]},\"application/vnd.microsoft.portable-executable\":{\"source\":\"iana\"},\"application/vnd.miele+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.mif\":{\"source\":\"iana\",\"extensions\":[\"mif\"]},\"application/vnd.minisoft-hp3000-save\":{\"source\":\"iana\"},\"application/vnd.mitsubishi.misty-guard.trustweb\":{\"source\":\"iana\"},\"application/vnd.mobius.daf\":{\"source\":\"iana\",\"extensions\":[\"daf\"]},\"application/vnd.mobius.dis\":{\"source\":\"iana\",\"extensions\":[\"dis\"]},\"application/vnd.mobius.mbk\":{\"source\":\"iana\",\"extensions\":[\"mbk\"]},\"application/vnd.mobius.mqy\":{\"source\":\"iana\",\"extensions\":[\"mqy\"]},\"application/vnd.mobius.msl\":{\"source\":\"iana\",\"extensions\":[\"msl\"]},\"application/vnd.mobius.plc\":{\"source\":\"iana\",\"extensions\":[\"plc\"]},\"application/vnd.mobius.txf\":{\"source\":\"iana\",\"extensions\":[\"txf\"]},\"application/vnd.mophun.application\":{\"source\":\"iana\",\"extensions\":[\"mpn\"]},\"application/vnd.mophun.certificate\":{\"source\":\"iana\",\"extensions\":[\"mpc\"]},\"application/vnd.motorola.flexsuite\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.adsi\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.fis\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.gotap\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.kmr\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.ttc\":{\"source\":\"iana\"},\"application/vnd.motorola.flexsuite.wem\":{\"source\":\"iana\"},\"application/vnd.motorola.iprm\":{\"source\":\"iana\"},\"application/vnd.mozilla.xul+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xul\"]},\"application/vnd.ms-3mfdocument\":{\"source\":\"iana\"},\"application/vnd.ms-artgalry\":{\"source\":\"iana\",\"extensions\":[\"cil\"]},\"application/vnd.ms-asf\":{\"source\":\"iana\"},\"application/vnd.ms-cab-compressed\":{\"source\":\"iana\",\"extensions\":[\"cab\"]},\"application/vnd.ms-color.iccprofile\":{\"source\":\"apache\"},\"application/vnd.ms-excel\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"xls\",\"xlm\",\"xla\",\"xlc\",\"xlt\",\"xlw\"]},\"application/vnd.ms-excel.addin.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xlam\"]},\"application/vnd.ms-excel.sheet.binary.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xlsb\"]},\"application/vnd.ms-excel.sheet.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xlsm\"]},\"application/vnd.ms-excel.template.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"xltm\"]},\"application/vnd.ms-fontobject\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"eot\"]},\"application/vnd.ms-htmlhelp\":{\"source\":\"iana\",\"extensions\":[\"chm\"]},\"application/vnd.ms-ims\":{\"source\":\"iana\",\"extensions\":[\"ims\"]},\"application/vnd.ms-lrm\":{\"source\":\"iana\",\"extensions\":[\"lrm\"]},\"application/vnd.ms-office.activex+xml\":{\"source\":\"iana\"},\"application/vnd.ms-officetheme\":{\"source\":\"iana\",\"extensions\":[\"thmx\"]},\"application/vnd.ms-opentype\":{\"source\":\"apache\",\"compressible\":true},\"application/vnd.ms-package.obfuscated-opentype\":{\"source\":\"apache\"},\"application/vnd.ms-pki.seccat\":{\"source\":\"apache\",\"extensions\":[\"cat\"]},\"application/vnd.ms-pki.stl\":{\"source\":\"apache\",\"extensions\":[\"stl\"]},\"application/vnd.ms-playready.initiator+xml\":{\"source\":\"iana\"},\"application/vnd.ms-powerpoint\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"ppt\",\"pps\",\"pot\"]},\"application/vnd.ms-powerpoint.addin.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"ppam\"]},\"application/vnd.ms-powerpoint.presentation.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"pptm\"]},\"application/vnd.ms-powerpoint.slide.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"sldm\"]},\"application/vnd.ms-powerpoint.slideshow.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"ppsm\"]},\"application/vnd.ms-powerpoint.template.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"potm\"]},\"application/vnd.ms-printdevicecapabilities+xml\":{\"source\":\"iana\"},\"application/vnd.ms-printing.printticket+xml\":{\"source\":\"apache\"},\"application/vnd.ms-printschematicket+xml\":{\"source\":\"iana\"},\"application/vnd.ms-project\":{\"source\":\"iana\",\"extensions\":[\"mpp\",\"mpt\"]},\"application/vnd.ms-tnef\":{\"source\":\"iana\"},\"application/vnd.ms-windows.devicepairing\":{\"source\":\"iana\"},\"application/vnd.ms-windows.nwprinting.oob\":{\"source\":\"iana\"},\"application/vnd.ms-windows.printerpairing\":{\"source\":\"iana\"},\"application/vnd.ms-windows.wsd.oob\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.lic-chlg-req\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.lic-resp\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.meter-chlg-req\":{\"source\":\"iana\"},\"application/vnd.ms-wmdrm.meter-resp\":{\"source\":\"iana\"},\"application/vnd.ms-word.document.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"docm\"]},\"application/vnd.ms-word.template.macroenabled.12\":{\"source\":\"iana\",\"extensions\":[\"dotm\"]},\"application/vnd.ms-works\":{\"source\":\"iana\",\"extensions\":[\"wps\",\"wks\",\"wcm\",\"wdb\"]},\"application/vnd.ms-wpl\":{\"source\":\"iana\",\"extensions\":[\"wpl\"]},\"application/vnd.ms-xpsdocument\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"xps\"]},\"application/vnd.msa-disk-image\":{\"source\":\"iana\"},\"application/vnd.mseq\":{\"source\":\"iana\",\"extensions\":[\"mseq\"]},\"application/vnd.msign\":{\"source\":\"iana\"},\"application/vnd.multiad.creator\":{\"source\":\"iana\"},\"application/vnd.multiad.creator.cif\":{\"source\":\"iana\"},\"application/vnd.music-niff\":{\"source\":\"iana\"},\"application/vnd.musician\":{\"source\":\"iana\",\"extensions\":[\"mus\"]},\"application/vnd.muvee.style\":{\"source\":\"iana\",\"extensions\":[\"msty\"]},\"application/vnd.mynfc\":{\"source\":\"iana\",\"extensions\":[\"taglet\"]},\"application/vnd.ncd.control\":{\"source\":\"iana\"},\"application/vnd.ncd.reference\":{\"source\":\"iana\"},\"application/vnd.nervana\":{\"source\":\"iana\"},\"application/vnd.netfpx\":{\"source\":\"iana\"},\"application/vnd.neurolanguage.nlu\":{\"source\":\"iana\",\"extensions\":[\"nlu\"]},\"application/vnd.nintendo.nitro.rom\":{\"source\":\"iana\"},\"application/vnd.nintendo.snes.rom\":{\"source\":\"iana\"},\"application/vnd.nitf\":{\"source\":\"iana\",\"extensions\":[\"ntf\",\"nitf\"]},\"application/vnd.noblenet-directory\":{\"source\":\"iana\",\"extensions\":[\"nnd\"]},\"application/vnd.noblenet-sealer\":{\"source\":\"iana\",\"extensions\":[\"nns\"]},\"application/vnd.noblenet-web\":{\"source\":\"iana\",\"extensions\":[\"nnw\"]},\"application/vnd.nokia.catalogs\":{\"source\":\"iana\"},\"application/vnd.nokia.conml+wbxml\":{\"source\":\"iana\"},\"application/vnd.nokia.conml+xml\":{\"source\":\"iana\"},\"application/vnd.nokia.iptv.config+xml\":{\"source\":\"iana\"},\"application/vnd.nokia.isds-radio-presets\":{\"source\":\"iana\"},\"application/vnd.nokia.landmark+wbxml\":{\"source\":\"iana\"},\"application/vnd.nokia.landmark+xml\":{\"source\":\"iana\"},\"application/vnd.nokia.landmarkcollection+xml\":{\"source\":\"iana\"},\"application/vnd.nokia.n-gage.ac+xml\":{\"source\":\"iana\"},\"application/vnd.nokia.n-gage.data\":{\"source\":\"iana\",\"extensions\":[\"ngdat\"]},\"application/vnd.nokia.n-gage.symbian.install\":{\"source\":\"iana\",\"extensions\":[\"n-gage\"]},\"application/vnd.nokia.ncd\":{\"source\":\"iana\"},\"application/vnd.nokia.pcd+wbxml\":{\"source\":\"iana\"},\"application/vnd.nokia.pcd+xml\":{\"source\":\"iana\"},\"application/vnd.nokia.radio-preset\":{\"source\":\"iana\",\"extensions\":[\"rpst\"]},\"application/vnd.nokia.radio-presets\":{\"source\":\"iana\",\"extensions\":[\"rpss\"]},\"application/vnd.novadigm.edm\":{\"source\":\"iana\",\"extensions\":[\"edm\"]},\"application/vnd.novadigm.edx\":{\"source\":\"iana\",\"extensions\":[\"edx\"]},\"application/vnd.novadigm.ext\":{\"source\":\"iana\",\"extensions\":[\"ext\"]},\"application/vnd.ntt-local.content-share\":{\"source\":\"iana\"},\"application/vnd.ntt-local.file-transfer\":{\"source\":\"iana\"},\"application/vnd.ntt-local.ogw_remote-access\":{\"source\":\"iana\"},\"application/vnd.ntt-local.sip-ta_remote\":{\"source\":\"iana\"},\"application/vnd.ntt-local.sip-ta_tcp_stream\":{\"source\":\"iana\"},\"application/vnd.oasis.opendocument.chart\":{\"source\":\"iana\",\"extensions\":[\"odc\"]},\"application/vnd.oasis.opendocument.chart-template\":{\"source\":\"iana\",\"extensions\":[\"otc\"]},\"application/vnd.oasis.opendocument.database\":{\"source\":\"iana\",\"extensions\":[\"odb\"]},\"application/vnd.oasis.opendocument.formula\":{\"source\":\"iana\",\"extensions\":[\"odf\"]},\"application/vnd.oasis.opendocument.formula-template\":{\"source\":\"iana\",\"extensions\":[\"odft\"]},\"application/vnd.oasis.opendocument.graphics\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"odg\"]},\"application/vnd.oasis.opendocument.graphics-template\":{\"source\":\"iana\",\"extensions\":[\"otg\"]},\"application/vnd.oasis.opendocument.image\":{\"source\":\"iana\",\"extensions\":[\"odi\"]},\"application/vnd.oasis.opendocument.image-template\":{\"source\":\"iana\",\"extensions\":[\"oti\"]},\"application/vnd.oasis.opendocument.presentation\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"odp\"]},\"application/vnd.oasis.opendocument.presentation-template\":{\"source\":\"iana\",\"extensions\":[\"otp\"]},\"application/vnd.oasis.opendocument.spreadsheet\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"ods\"]},\"application/vnd.oasis.opendocument.spreadsheet-template\":{\"source\":\"iana\",\"extensions\":[\"ots\"]},\"application/vnd.oasis.opendocument.text\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"odt\"]},\"application/vnd.oasis.opendocument.text-master\":{\"source\":\"iana\",\"extensions\":[\"odm\"]},\"application/vnd.oasis.opendocument.text-template\":{\"source\":\"iana\",\"extensions\":[\"ott\"]},\"application/vnd.oasis.opendocument.text-web\":{\"source\":\"iana\",\"extensions\":[\"oth\"]},\"application/vnd.obn\":{\"source\":\"iana\"},\"application/vnd.oftn.l10n+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.oipf.contentaccessdownload+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.contentaccessstreaming+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.cspg-hexbinary\":{\"source\":\"iana\"},\"application/vnd.oipf.dae.svg+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.dae.xhtml+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.mippvcontrolmessage+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.pae.gem\":{\"source\":\"iana\"},\"application/vnd.oipf.spdiscovery+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.spdlist+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.ueprofile+xml\":{\"source\":\"iana\"},\"application/vnd.oipf.userprofile+xml\":{\"source\":\"iana\"},\"application/vnd.olpc-sugar\":{\"source\":\"iana\",\"extensions\":[\"xo\"]},\"application/vnd.oma-scws-config\":{\"source\":\"iana\"},\"application/vnd.oma-scws-http-request\":{\"source\":\"iana\"},\"application/vnd.oma-scws-http-response\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.associated-procedure-parameter+xml\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.drm-trigger+xml\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.imd+xml\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.ltkm\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.notification+xml\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.provisioningtrigger\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.sgboot\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.sgdd+xml\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.sgdu\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.simple-symbol-container\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.smartcard-trigger+xml\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.sprov+xml\":{\"source\":\"iana\"},\"application/vnd.oma.bcast.stkm\":{\"source\":\"iana\"},\"application/vnd.oma.cab-address-book+xml\":{\"source\":\"iana\"},\"application/vnd.oma.cab-feature-handler+xml\":{\"source\":\"iana\"},\"application/vnd.oma.cab-pcc+xml\":{\"source\":\"iana\"},\"application/vnd.oma.cab-subs-invite+xml\":{\"source\":\"iana\"},\"application/vnd.oma.cab-user-prefs+xml\":{\"source\":\"iana\"},\"application/vnd.oma.dcd\":{\"source\":\"iana\"},\"application/vnd.oma.dcdc\":{\"source\":\"iana\"},\"application/vnd.oma.dd2+xml\":{\"source\":\"iana\",\"extensions\":[\"dd2\"]},\"application/vnd.oma.drm.risd+xml\":{\"source\":\"iana\"},\"application/vnd.oma.group-usage-list+xml\":{\"source\":\"iana\"},\"application/vnd.oma.pal+xml\":{\"source\":\"iana\"},\"application/vnd.oma.poc.detailed-progress-report+xml\":{\"source\":\"iana\"},\"application/vnd.oma.poc.final-report+xml\":{\"source\":\"iana\"},\"application/vnd.oma.poc.groups+xml\":{\"source\":\"iana\"},\"application/vnd.oma.poc.invocation-descriptor+xml\":{\"source\":\"iana\"},\"application/vnd.oma.poc.optimized-progress-report+xml\":{\"source\":\"iana\"},\"application/vnd.oma.push\":{\"source\":\"iana\"},\"application/vnd.oma.scidm.messages+xml\":{\"source\":\"iana\"},\"application/vnd.oma.xcap-directory+xml\":{\"source\":\"iana\"},\"application/vnd.omads-email+xml\":{\"source\":\"iana\"},\"application/vnd.omads-file+xml\":{\"source\":\"iana\"},\"application/vnd.omads-folder+xml\":{\"source\":\"iana\"},\"application/vnd.omaloc-supl-init\":{\"source\":\"iana\"},\"application/vnd.onepager\":{\"source\":\"iana\"},\"application/vnd.openblox.game+xml\":{\"source\":\"iana\"},\"application/vnd.openblox.game-binary\":{\"source\":\"iana\"},\"application/vnd.openeye.oeb\":{\"source\":\"iana\"},\"application/vnd.openofficeorg.extension\":{\"source\":\"apache\",\"extensions\":[\"oxt\"]},\"application/vnd.openxmlformats-officedocument.custom-properties+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.customxmlproperties+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.drawing+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.drawingml.chart+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.extended-properties+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml-template\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.comments+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.presentation\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"pptx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.slide\":{\"source\":\"iana\",\"extensions\":[\"sldx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.slideshow\":{\"source\":\"iana\",\"extensions\":[\"ppsx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.tags+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.template\":{\"source\":\"apache\",\"extensions\":[\"potx\"]},\"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml-template\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"xlsx\"]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.template\":{\"source\":\"apache\",\"extensions\":[\"xltx\"]},\"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.theme+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.themeoverride+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.vmldrawing\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml-template\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"docx\"]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.template\":{\"source\":\"apache\",\"extensions\":[\"dotx\"]},\"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-package.core-properties+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml\":{\"source\":\"iana\"},\"application/vnd.openxmlformats-package.relationships+xml\":{\"source\":\"iana\"},\"application/vnd.oracle.resource+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.orange.indata\":{\"source\":\"iana\"},\"application/vnd.osa.netdeploy\":{\"source\":\"iana\"},\"application/vnd.osgeo.mapguide.package\":{\"source\":\"iana\",\"extensions\":[\"mgp\"]},\"application/vnd.osgi.bundle\":{\"source\":\"iana\"},\"application/vnd.osgi.dp\":{\"source\":\"iana\",\"extensions\":[\"dp\"]},\"application/vnd.osgi.subsystem\":{\"source\":\"iana\",\"extensions\":[\"esa\"]},\"application/vnd.otps.ct-kip+xml\":{\"source\":\"iana\"},\"application/vnd.oxli.countgraph\":{\"source\":\"iana\"},\"application/vnd.pagerduty+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.palm\":{\"source\":\"iana\",\"extensions\":[\"pdb\",\"pqa\",\"oprc\"]},\"application/vnd.panoply\":{\"source\":\"iana\"},\"application/vnd.paos+xml\":{\"source\":\"iana\"},\"application/vnd.paos.xml\":{\"source\":\"apache\"},\"application/vnd.pawaafile\":{\"source\":\"iana\",\"extensions\":[\"paw\"]},\"application/vnd.pcos\":{\"source\":\"iana\"},\"application/vnd.pg.format\":{\"source\":\"iana\",\"extensions\":[\"str\"]},\"application/vnd.pg.osasli\":{\"source\":\"iana\",\"extensions\":[\"ei6\"]},\"application/vnd.piaccess.application-licence\":{\"source\":\"iana\"},\"application/vnd.picsel\":{\"source\":\"iana\",\"extensions\":[\"efif\"]},\"application/vnd.pmi.widget\":{\"source\":\"iana\",\"extensions\":[\"wg\"]},\"application/vnd.poc.group-advertisement+xml\":{\"source\":\"iana\"},\"application/vnd.pocketlearn\":{\"source\":\"iana\",\"extensions\":[\"plf\"]},\"application/vnd.powerbuilder6\":{\"source\":\"iana\",\"extensions\":[\"pbd\"]},\"application/vnd.powerbuilder6-s\":{\"source\":\"iana\"},\"application/vnd.powerbuilder7\":{\"source\":\"iana\"},\"application/vnd.powerbuilder7-s\":{\"source\":\"iana\"},\"application/vnd.powerbuilder75\":{\"source\":\"iana\"},\"application/vnd.powerbuilder75-s\":{\"source\":\"iana\"},\"application/vnd.preminet\":{\"source\":\"iana\"},\"application/vnd.previewsystems.box\":{\"source\":\"iana\",\"extensions\":[\"box\"]},\"application/vnd.proteus.magazine\":{\"source\":\"iana\",\"extensions\":[\"mgz\"]},\"application/vnd.publishare-delta-tree\":{\"source\":\"iana\",\"extensions\":[\"qps\"]},\"application/vnd.pvi.ptid1\":{\"source\":\"iana\",\"extensions\":[\"ptid\"]},\"application/vnd.pwg-multiplexed\":{\"source\":\"iana\"},\"application/vnd.pwg-xhtml-print+xml\":{\"source\":\"iana\"},\"application/vnd.qualcomm.brew-app-res\":{\"source\":\"iana\"},\"application/vnd.quark.quarkxpress\":{\"source\":\"iana\",\"extensions\":[\"qxd\",\"qxt\",\"qwd\",\"qwt\",\"qxl\",\"qxb\"]},\"application/vnd.quobject-quoxdocument\":{\"source\":\"iana\"},\"application/vnd.radisys.moml+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-audit+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-audit-conf+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-audit-conn+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-audit-dialog+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-audit-stream+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-conf+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-dialog+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-dialog-base+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-dialog-fax-detect+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-dialog-fax-sendrecv+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-dialog-group+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-dialog-speech+xml\":{\"source\":\"iana\"},\"application/vnd.radisys.msml-dialog-transform+xml\":{\"source\":\"iana\"},\"application/vnd.rainstor.data\":{\"source\":\"iana\"},\"application/vnd.rapid\":{\"source\":\"iana\"},\"application/vnd.realvnc.bed\":{\"source\":\"iana\",\"extensions\":[\"bed\"]},\"application/vnd.recordare.musicxml\":{\"source\":\"iana\",\"extensions\":[\"mxl\"]},\"application/vnd.recordare.musicxml+xml\":{\"source\":\"iana\",\"extensions\":[\"musicxml\"]},\"application/vnd.renlearn.rlprint\":{\"source\":\"iana\"},\"application/vnd.rig.cryptonote\":{\"source\":\"iana\",\"extensions\":[\"cryptonote\"]},\"application/vnd.rim.cod\":{\"source\":\"apache\",\"extensions\":[\"cod\"]},\"application/vnd.rn-realmedia\":{\"source\":\"apache\",\"extensions\":[\"rm\"]},\"application/vnd.rn-realmedia-vbr\":{\"source\":\"apache\",\"extensions\":[\"rmvb\"]},\"application/vnd.route66.link66+xml\":{\"source\":\"iana\",\"extensions\":[\"link66\"]},\"application/vnd.rs-274x\":{\"source\":\"iana\"},\"application/vnd.ruckus.download\":{\"source\":\"iana\"},\"application/vnd.s3sms\":{\"source\":\"iana\"},\"application/vnd.sailingtracker.track\":{\"source\":\"iana\",\"extensions\":[\"st\"]},\"application/vnd.sbm.cid\":{\"source\":\"iana\"},\"application/vnd.sbm.mid2\":{\"source\":\"iana\"},\"application/vnd.scribus\":{\"source\":\"iana\"},\"application/vnd.sealed.3df\":{\"source\":\"iana\"},\"application/vnd.sealed.csf\":{\"source\":\"iana\"},\"application/vnd.sealed.doc\":{\"source\":\"iana\"},\"application/vnd.sealed.eml\":{\"source\":\"iana\"},\"application/vnd.sealed.mht\":{\"source\":\"iana\"},\"application/vnd.sealed.net\":{\"source\":\"iana\"},\"application/vnd.sealed.ppt\":{\"source\":\"iana\"},\"application/vnd.sealed.tiff\":{\"source\":\"iana\"},\"application/vnd.sealed.xls\":{\"source\":\"iana\"},\"application/vnd.sealedmedia.softseal.html\":{\"source\":\"iana\"},\"application/vnd.sealedmedia.softseal.pdf\":{\"source\":\"iana\"},\"application/vnd.seemail\":{\"source\":\"iana\",\"extensions\":[\"see\"]},\"application/vnd.sema\":{\"source\":\"iana\",\"extensions\":[\"sema\"]},\"application/vnd.semd\":{\"source\":\"iana\",\"extensions\":[\"semd\"]},\"application/vnd.semf\":{\"source\":\"iana\",\"extensions\":[\"semf\"]},\"application/vnd.shana.informed.formdata\":{\"source\":\"iana\",\"extensions\":[\"ifm\"]},\"application/vnd.shana.informed.formtemplate\":{\"source\":\"iana\",\"extensions\":[\"itp\"]},\"application/vnd.shana.informed.interchange\":{\"source\":\"iana\",\"extensions\":[\"iif\"]},\"application/vnd.shana.informed.package\":{\"source\":\"iana\",\"extensions\":[\"ipk\"]},\"application/vnd.simtech-mindmapper\":{\"source\":\"iana\",\"extensions\":[\"twd\",\"twds\"]},\"application/vnd.siren+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.smaf\":{\"source\":\"iana\",\"extensions\":[\"mmf\"]},\"application/vnd.smart.notebook\":{\"source\":\"iana\"},\"application/vnd.smart.teacher\":{\"source\":\"iana\",\"extensions\":[\"teacher\"]},\"application/vnd.software602.filler.form+xml\":{\"source\":\"iana\"},\"application/vnd.software602.filler.form-xml-zip\":{\"source\":\"iana\"},\"application/vnd.solent.sdkm+xml\":{\"source\":\"iana\",\"extensions\":[\"sdkm\",\"sdkd\"]},\"application/vnd.spotfire.dxp\":{\"source\":\"iana\",\"extensions\":[\"dxp\"]},\"application/vnd.spotfire.sfs\":{\"source\":\"iana\",\"extensions\":[\"sfs\"]},\"application/vnd.sss-cod\":{\"source\":\"iana\"},\"application/vnd.sss-dtf\":{\"source\":\"iana\"},\"application/vnd.sss-ntf\":{\"source\":\"iana\"},\"application/vnd.stardivision.calc\":{\"source\":\"apache\",\"extensions\":[\"sdc\"]},\"application/vnd.stardivision.draw\":{\"source\":\"apache\",\"extensions\":[\"sda\"]},\"application/vnd.stardivision.impress\":{\"source\":\"apache\",\"extensions\":[\"sdd\"]},\"application/vnd.stardivision.math\":{\"source\":\"apache\",\"extensions\":[\"smf\"]},\"application/vnd.stardivision.writer\":{\"source\":\"apache\",\"extensions\":[\"sdw\",\"vor\"]},\"application/vnd.stardivision.writer-global\":{\"source\":\"apache\",\"extensions\":[\"sgl\"]},\"application/vnd.stepmania.package\":{\"source\":\"iana\",\"extensions\":[\"smzip\"]},\"application/vnd.stepmania.stepchart\":{\"source\":\"iana\",\"extensions\":[\"sm\"]},\"application/vnd.street-stream\":{\"source\":\"iana\"},\"application/vnd.sun.wadl+xml\":{\"source\":\"iana\"},\"application/vnd.sun.xml.calc\":{\"source\":\"apache\",\"extensions\":[\"sxc\"]},\"application/vnd.sun.xml.calc.template\":{\"source\":\"apache\",\"extensions\":[\"stc\"]},\"application/vnd.sun.xml.draw\":{\"source\":\"apache\",\"extensions\":[\"sxd\"]},\"application/vnd.sun.xml.draw.template\":{\"source\":\"apache\",\"extensions\":[\"std\"]},\"application/vnd.sun.xml.impress\":{\"source\":\"apache\",\"extensions\":[\"sxi\"]},\"application/vnd.sun.xml.impress.template\":{\"source\":\"apache\",\"extensions\":[\"sti\"]},\"application/vnd.sun.xml.math\":{\"source\":\"apache\",\"extensions\":[\"sxm\"]},\"application/vnd.sun.xml.writer\":{\"source\":\"apache\",\"extensions\":[\"sxw\"]},\"application/vnd.sun.xml.writer.global\":{\"source\":\"apache\",\"extensions\":[\"sxg\"]},\"application/vnd.sun.xml.writer.template\":{\"source\":\"apache\",\"extensions\":[\"stw\"]},\"application/vnd.sus-calendar\":{\"source\":\"iana\",\"extensions\":[\"sus\",\"susp\"]},\"application/vnd.svd\":{\"source\":\"iana\",\"extensions\":[\"svd\"]},\"application/vnd.swiftview-ics\":{\"source\":\"iana\"},\"application/vnd.symbian.install\":{\"source\":\"apache\",\"extensions\":[\"sis\",\"sisx\"]},\"application/vnd.syncml+xml\":{\"source\":\"iana\",\"extensions\":[\"xsm\"]},\"application/vnd.syncml.dm+wbxml\":{\"source\":\"iana\",\"extensions\":[\"bdm\"]},\"application/vnd.syncml.dm+xml\":{\"source\":\"iana\",\"extensions\":[\"xdm\"]},\"application/vnd.syncml.dm.notification\":{\"source\":\"iana\"},\"application/vnd.syncml.dmddf+wbxml\":{\"source\":\"iana\"},\"application/vnd.syncml.dmddf+xml\":{\"source\":\"iana\"},\"application/vnd.syncml.dmtnds+wbxml\":{\"source\":\"iana\"},\"application/vnd.syncml.dmtnds+xml\":{\"source\":\"iana\"},\"application/vnd.syncml.ds.notification\":{\"source\":\"iana\"},\"application/vnd.tao.intent-module-archive\":{\"source\":\"iana\",\"extensions\":[\"tao\"]},\"application/vnd.tcpdump.pcap\":{\"source\":\"iana\",\"extensions\":[\"pcap\",\"cap\",\"dmp\"]},\"application/vnd.tmd.mediaflex.api+xml\":{\"source\":\"iana\"},\"application/vnd.tml\":{\"source\":\"iana\"},\"application/vnd.tmobile-livetv\":{\"source\":\"iana\",\"extensions\":[\"tmo\"]},\"application/vnd.trid.tpt\":{\"source\":\"iana\",\"extensions\":[\"tpt\"]},\"application/vnd.triscape.mxs\":{\"source\":\"iana\",\"extensions\":[\"mxs\"]},\"application/vnd.trueapp\":{\"source\":\"iana\",\"extensions\":[\"tra\"]},\"application/vnd.truedoc\":{\"source\":\"iana\"},\"application/vnd.ubisoft.webplayer\":{\"source\":\"iana\"},\"application/vnd.ufdl\":{\"source\":\"iana\",\"extensions\":[\"ufd\",\"ufdl\"]},\"application/vnd.uiq.theme\":{\"source\":\"iana\",\"extensions\":[\"utz\"]},\"application/vnd.umajin\":{\"source\":\"iana\",\"extensions\":[\"umj\"]},\"application/vnd.unity\":{\"source\":\"iana\",\"extensions\":[\"unityweb\"]},\"application/vnd.uoml+xml\":{\"source\":\"iana\",\"extensions\":[\"uoml\"]},\"application/vnd.uplanet.alert\":{\"source\":\"iana\"},\"application/vnd.uplanet.alert-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.bearer-choice\":{\"source\":\"iana\"},\"application/vnd.uplanet.bearer-choice-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.cacheop\":{\"source\":\"iana\"},\"application/vnd.uplanet.cacheop-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.channel\":{\"source\":\"iana\"},\"application/vnd.uplanet.channel-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.list\":{\"source\":\"iana\"},\"application/vnd.uplanet.list-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.listcmd\":{\"source\":\"iana\"},\"application/vnd.uplanet.listcmd-wbxml\":{\"source\":\"iana\"},\"application/vnd.uplanet.signal\":{\"source\":\"iana\"},\"application/vnd.uri-map\":{\"source\":\"iana\"},\"application/vnd.valve.source.material\":{\"source\":\"iana\"},\"application/vnd.vcx\":{\"source\":\"iana\",\"extensions\":[\"vcx\"]},\"application/vnd.vd-study\":{\"source\":\"iana\"},\"application/vnd.vectorworks\":{\"source\":\"iana\"},\"application/vnd.vel+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.verimatrix.vcas\":{\"source\":\"iana\"},\"application/vnd.vidsoft.vidconference\":{\"source\":\"iana\"},\"application/vnd.visio\":{\"source\":\"iana\",\"extensions\":[\"vsd\",\"vst\",\"vss\",\"vsw\"]},\"application/vnd.visionary\":{\"source\":\"iana\",\"extensions\":[\"vis\"]},\"application/vnd.vividence.scriptfile\":{\"source\":\"iana\"},\"application/vnd.vsf\":{\"source\":\"iana\",\"extensions\":[\"vsf\"]},\"application/vnd.wap.sic\":{\"source\":\"iana\"},\"application/vnd.wap.slc\":{\"source\":\"iana\"},\"application/vnd.wap.wbxml\":{\"source\":\"iana\",\"extensions\":[\"wbxml\"]},\"application/vnd.wap.wmlc\":{\"source\":\"iana\",\"extensions\":[\"wmlc\"]},\"application/vnd.wap.wmlscriptc\":{\"source\":\"iana\",\"extensions\":[\"wmlsc\"]},\"application/vnd.webturbo\":{\"source\":\"iana\",\"extensions\":[\"wtb\"]},\"application/vnd.wfa.p2p\":{\"source\":\"iana\"},\"application/vnd.wfa.wsc\":{\"source\":\"iana\"},\"application/vnd.windows.devicepairing\":{\"source\":\"iana\"},\"application/vnd.wmc\":{\"source\":\"iana\"},\"application/vnd.wmf.bootstrap\":{\"source\":\"iana\"},\"application/vnd.wolfram.mathematica\":{\"source\":\"iana\"},\"application/vnd.wolfram.mathematica.package\":{\"source\":\"iana\"},\"application/vnd.wolfram.player\":{\"source\":\"iana\",\"extensions\":[\"nbp\"]},\"application/vnd.wordperfect\":{\"source\":\"iana\",\"extensions\":[\"wpd\"]},\"application/vnd.wqd\":{\"source\":\"iana\",\"extensions\":[\"wqd\"]},\"application/vnd.wrq-hp3000-labelled\":{\"source\":\"iana\"},\"application/vnd.wt.stf\":{\"source\":\"iana\",\"extensions\":[\"stf\"]},\"application/vnd.wv.csp+wbxml\":{\"source\":\"iana\"},\"application/vnd.wv.csp+xml\":{\"source\":\"iana\"},\"application/vnd.wv.ssp+xml\":{\"source\":\"iana\"},\"application/vnd.xacml+json\":{\"source\":\"iana\",\"compressible\":true},\"application/vnd.xara\":{\"source\":\"iana\",\"extensions\":[\"xar\"]},\"application/vnd.xfdl\":{\"source\":\"iana\",\"extensions\":[\"xfdl\"]},\"application/vnd.xfdl.webform\":{\"source\":\"iana\"},\"application/vnd.xmi+xml\":{\"source\":\"iana\"},\"application/vnd.xmpie.cpkg\":{\"source\":\"iana\"},\"application/vnd.xmpie.dpkg\":{\"source\":\"iana\"},\"application/vnd.xmpie.plan\":{\"source\":\"iana\"},\"application/vnd.xmpie.ppkg\":{\"source\":\"iana\"},\"application/vnd.xmpie.xlim\":{\"source\":\"iana\"},\"application/vnd.yamaha.hv-dic\":{\"source\":\"iana\",\"extensions\":[\"hvd\"]},\"application/vnd.yamaha.hv-script\":{\"source\":\"iana\",\"extensions\":[\"hvs\"]},\"application/vnd.yamaha.hv-voice\":{\"source\":\"iana\",\"extensions\":[\"hvp\"]},\"application/vnd.yamaha.openscoreformat\":{\"source\":\"iana\",\"extensions\":[\"osf\"]},\"application/vnd.yamaha.openscoreformat.osfpvg+xml\":{\"source\":\"iana\",\"extensions\":[\"osfpvg\"]},\"application/vnd.yamaha.remote-setup\":{\"source\":\"iana\"},\"application/vnd.yamaha.smaf-audio\":{\"source\":\"iana\",\"extensions\":[\"saf\"]},\"application/vnd.yamaha.smaf-phrase\":{\"source\":\"iana\",\"extensions\":[\"spf\"]},\"application/vnd.yamaha.through-ngn\":{\"source\":\"iana\"},\"application/vnd.yamaha.tunnel-udpencap\":{\"source\":\"iana\"},\"application/vnd.yaoweme\":{\"source\":\"iana\"},\"application/vnd.yellowriver-custom-menu\":{\"source\":\"iana\",\"extensions\":[\"cmp\"]},\"application/vnd.zul\":{\"source\":\"iana\",\"extensions\":[\"zir\",\"zirz\"]},\"application/vnd.zzazz.deck+xml\":{\"source\":\"iana\",\"extensions\":[\"zaz\"]},\"application/voicexml+xml\":{\"source\":\"iana\",\"extensions\":[\"vxml\"]},\"application/vq-rtcpxr\":{\"source\":\"iana\"},\"application/watcherinfo+xml\":{\"source\":\"iana\"},\"application/whoispp-query\":{\"source\":\"iana\"},\"application/whoispp-response\":{\"source\":\"iana\"},\"application/widget\":{\"source\":\"iana\",\"extensions\":[\"wgt\"]},\"application/winhlp\":{\"source\":\"apache\",\"extensions\":[\"hlp\"]},\"application/wita\":{\"source\":\"iana\"},\"application/wordperfect5.1\":{\"source\":\"iana\"},\"application/wsdl+xml\":{\"source\":\"iana\",\"extensions\":[\"wsdl\"]},\"application/wspolicy+xml\":{\"source\":\"iana\",\"extensions\":[\"wspolicy\"]},\"application/x-7z-compressed\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"7z\"]},\"application/x-abiword\":{\"source\":\"apache\",\"extensions\":[\"abw\"]},\"application/x-ace-compressed\":{\"source\":\"apache\",\"extensions\":[\"ace\"]},\"application/x-amf\":{\"source\":\"apache\"},\"application/x-apple-diskimage\":{\"source\":\"apache\",\"extensions\":[\"dmg\"]},\"application/x-authorware-bin\":{\"source\":\"apache\",\"extensions\":[\"aab\",\"x32\",\"u32\",\"vox\"]},\"application/x-authorware-map\":{\"source\":\"apache\",\"extensions\":[\"aam\"]},\"application/x-authorware-seg\":{\"source\":\"apache\",\"extensions\":[\"aas\"]},\"application/x-bcpio\":{\"source\":\"apache\",\"extensions\":[\"bcpio\"]},\"application/x-bdoc\":{\"compressible\":false,\"extensions\":[\"bdoc\"]},\"application/x-bittorrent\":{\"source\":\"apache\",\"extensions\":[\"torrent\"]},\"application/x-blorb\":{\"source\":\"apache\",\"extensions\":[\"blb\",\"blorb\"]},\"application/x-bzip\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"bz\"]},\"application/x-bzip2\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"bz2\",\"boz\"]},\"application/x-cbr\":{\"source\":\"apache\",\"extensions\":[\"cbr\",\"cba\",\"cbt\",\"cbz\",\"cb7\"]},\"application/x-cdlink\":{\"source\":\"apache\",\"extensions\":[\"vcd\"]},\"application/x-cfs-compressed\":{\"source\":\"apache\",\"extensions\":[\"cfs\"]},\"application/x-chat\":{\"source\":\"apache\",\"extensions\":[\"chat\"]},\"application/x-chess-pgn\":{\"source\":\"apache\",\"extensions\":[\"pgn\"]},\"application/x-chrome-extension\":{\"extensions\":[\"crx\"]},\"application/x-cocoa\":{\"source\":\"nginx\",\"extensions\":[\"cco\"]},\"application/x-compress\":{\"source\":\"apache\"},\"application/x-conference\":{\"source\":\"apache\",\"extensions\":[\"nsc\"]},\"application/x-cpio\":{\"source\":\"apache\",\"extensions\":[\"cpio\"]},\"application/x-csh\":{\"source\":\"apache\",\"extensions\":[\"csh\"]},\"application/x-deb\":{\"compressible\":false},\"application/x-debian-package\":{\"source\":\"apache\",\"extensions\":[\"deb\",\"udeb\"]},\"application/x-dgc-compressed\":{\"source\":\"apache\",\"extensions\":[\"dgc\"]},\"application/x-director\":{\"source\":\"apache\",\"extensions\":[\"dir\",\"dcr\",\"dxr\",\"cst\",\"cct\",\"cxt\",\"w3d\",\"fgd\",\"swa\"]},\"application/x-doom\":{\"source\":\"apache\",\"extensions\":[\"wad\"]},\"application/x-dtbncx+xml\":{\"source\":\"apache\",\"extensions\":[\"ncx\"]},\"application/x-dtbook+xml\":{\"source\":\"apache\",\"extensions\":[\"dtb\"]},\"application/x-dtbresource+xml\":{\"source\":\"apache\",\"extensions\":[\"res\"]},\"application/x-dvi\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"dvi\"]},\"application/x-envoy\":{\"source\":\"apache\",\"extensions\":[\"evy\"]},\"application/x-eva\":{\"source\":\"apache\",\"extensions\":[\"eva\"]},\"application/x-font-bdf\":{\"source\":\"apache\",\"extensions\":[\"bdf\"]},\"application/x-font-dos\":{\"source\":\"apache\"},\"application/x-font-framemaker\":{\"source\":\"apache\"},\"application/x-font-ghostscript\":{\"source\":\"apache\",\"extensions\":[\"gsf\"]},\"application/x-font-libgrx\":{\"source\":\"apache\"},\"application/x-font-linux-psf\":{\"source\":\"apache\",\"extensions\":[\"psf\"]},\"application/x-font-otf\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"otf\"]},\"application/x-font-pcf\":{\"source\":\"apache\",\"extensions\":[\"pcf\"]},\"application/x-font-snf\":{\"source\":\"apache\",\"extensions\":[\"snf\"]},\"application/x-font-speedo\":{\"source\":\"apache\"},\"application/x-font-sunos-news\":{\"source\":\"apache\"},\"application/x-font-ttf\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"ttf\",\"ttc\"]},\"application/x-font-type1\":{\"source\":\"apache\",\"extensions\":[\"pfa\",\"pfb\",\"pfm\",\"afm\"]},\"application/x-font-vfont\":{\"source\":\"apache\"},\"application/x-freearc\":{\"source\":\"apache\",\"extensions\":[\"arc\"]},\"application/x-futuresplash\":{\"source\":\"apache\",\"extensions\":[\"spl\"]},\"application/x-gca-compressed\":{\"source\":\"apache\",\"extensions\":[\"gca\"]},\"application/x-glulx\":{\"source\":\"apache\",\"extensions\":[\"ulx\"]},\"application/x-gnumeric\":{\"source\":\"apache\",\"extensions\":[\"gnumeric\"]},\"application/x-gramps-xml\":{\"source\":\"apache\",\"extensions\":[\"gramps\"]},\"application/x-gtar\":{\"source\":\"apache\",\"extensions\":[\"gtar\"]},\"application/x-gzip\":{\"source\":\"apache\"},\"application/x-hdf\":{\"source\":\"apache\",\"extensions\":[\"hdf\"]},\"application/x-httpd-php\":{\"compressible\":true,\"extensions\":[\"php\"]},\"application/x-install-instructions\":{\"source\":\"apache\",\"extensions\":[\"install\"]},\"application/x-iso9660-image\":{\"source\":\"apache\",\"extensions\":[\"iso\"]},\"application/x-java-archive-diff\":{\"source\":\"nginx\",\"extensions\":[\"jardiff\"]},\"application/x-java-jnlp-file\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"jnlp\"]},\"application/x-javascript\":{\"compressible\":true},\"application/x-latex\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"latex\"]},\"application/x-lua-bytecode\":{\"extensions\":[\"luac\"]},\"application/x-lzh-compressed\":{\"source\":\"apache\",\"extensions\":[\"lzh\",\"lha\"]},\"application/x-makeself\":{\"source\":\"nginx\",\"extensions\":[\"run\"]},\"application/x-mie\":{\"source\":\"apache\",\"extensions\":[\"mie\"]},\"application/x-mobipocket-ebook\":{\"source\":\"apache\",\"extensions\":[\"prc\",\"mobi\"]},\"application/x-mpegurl\":{\"compressible\":false},\"application/x-ms-application\":{\"source\":\"apache\",\"extensions\":[\"application\"]},\"application/x-ms-shortcut\":{\"source\":\"apache\",\"extensions\":[\"lnk\"]},\"application/x-ms-wmd\":{\"source\":\"apache\",\"extensions\":[\"wmd\"]},\"application/x-ms-wmz\":{\"source\":\"apache\",\"extensions\":[\"wmz\"]},\"application/x-ms-xbap\":{\"source\":\"apache\",\"extensions\":[\"xbap\"]},\"application/x-msaccess\":{\"source\":\"apache\",\"extensions\":[\"mdb\"]},\"application/x-msbinder\":{\"source\":\"apache\",\"extensions\":[\"obd\"]},\"application/x-mscardfile\":{\"source\":\"apache\",\"extensions\":[\"crd\"]},\"application/x-msclip\":{\"source\":\"apache\",\"extensions\":[\"clp\"]},\"application/x-msdos-program\":{\"extensions\":[\"exe\"]},\"application/x-msdownload\":{\"source\":\"apache\",\"extensions\":[\"exe\",\"dll\",\"com\",\"bat\",\"msi\"]},\"application/x-msmediaview\":{\"source\":\"apache\",\"extensions\":[\"mvb\",\"m13\",\"m14\"]},\"application/x-msmetafile\":{\"source\":\"apache\",\"extensions\":[\"wmf\",\"wmz\",\"emf\",\"emz\"]},\"application/x-msmoney\":{\"source\":\"apache\",\"extensions\":[\"mny\"]},\"application/x-mspublisher\":{\"source\":\"apache\",\"extensions\":[\"pub\"]},\"application/x-msschedule\":{\"source\":\"apache\",\"extensions\":[\"scd\"]},\"application/x-msterminal\":{\"source\":\"apache\",\"extensions\":[\"trm\"]},\"application/x-mswrite\":{\"source\":\"apache\",\"extensions\":[\"wri\"]},\"application/x-netcdf\":{\"source\":\"apache\",\"extensions\":[\"nc\",\"cdf\"]},\"application/x-ns-proxy-autoconfig\":{\"compressible\":true,\"extensions\":[\"pac\"]},\"application/x-nzb\":{\"source\":\"apache\",\"extensions\":[\"nzb\"]},\"application/x-perl\":{\"source\":\"nginx\",\"extensions\":[\"pl\",\"pm\"]},\"application/x-pilot\":{\"source\":\"nginx\",\"extensions\":[\"prc\",\"pdb\"]},\"application/x-pkcs12\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"p12\",\"pfx\"]},\"application/x-pkcs7-certificates\":{\"source\":\"apache\",\"extensions\":[\"p7b\",\"spc\"]},\"application/x-pkcs7-certreqresp\":{\"source\":\"apache\",\"extensions\":[\"p7r\"]},\"application/x-rar-compressed\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"rar\"]},\"application/x-redhat-package-manager\":{\"source\":\"nginx\",\"extensions\":[\"rpm\"]},\"application/x-research-info-systems\":{\"source\":\"apache\",\"extensions\":[\"ris\"]},\"application/x-sea\":{\"source\":\"nginx\",\"extensions\":[\"sea\"]},\"application/x-sh\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"sh\"]},\"application/x-shar\":{\"source\":\"apache\",\"extensions\":[\"shar\"]},\"application/x-shockwave-flash\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"swf\"]},\"application/x-silverlight-app\":{\"source\":\"apache\",\"extensions\":[\"xap\"]},\"application/x-sql\":{\"source\":\"apache\",\"extensions\":[\"sql\"]},\"application/x-stuffit\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"sit\"]},\"application/x-stuffitx\":{\"source\":\"apache\",\"extensions\":[\"sitx\"]},\"application/x-subrip\":{\"source\":\"apache\",\"extensions\":[\"srt\"]},\"application/x-sv4cpio\":{\"source\":\"apache\",\"extensions\":[\"sv4cpio\"]},\"application/x-sv4crc\":{\"source\":\"apache\",\"extensions\":[\"sv4crc\"]},\"application/x-t3vm-image\":{\"source\":\"apache\",\"extensions\":[\"t3\"]},\"application/x-tads\":{\"source\":\"apache\",\"extensions\":[\"gam\"]},\"application/x-tar\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"tar\"]},\"application/x-tcl\":{\"source\":\"apache\",\"extensions\":[\"tcl\",\"tk\"]},\"application/x-tex\":{\"source\":\"apache\",\"extensions\":[\"tex\"]},\"application/x-tex-tfm\":{\"source\":\"apache\",\"extensions\":[\"tfm\"]},\"application/x-texinfo\":{\"source\":\"apache\",\"extensions\":[\"texinfo\",\"texi\"]},\"application/x-tgif\":{\"source\":\"apache\",\"extensions\":[\"obj\"]},\"application/x-ustar\":{\"source\":\"apache\",\"extensions\":[\"ustar\"]},\"application/x-wais-source\":{\"source\":\"apache\",\"extensions\":[\"src\"]},\"application/x-web-app-manifest+json\":{\"compressible\":true,\"extensions\":[\"webapp\"]},\"application/x-www-form-urlencoded\":{\"source\":\"iana\",\"compressible\":true},\"application/x-x509-ca-cert\":{\"source\":\"apache\",\"extensions\":[\"der\",\"crt\",\"pem\"]},\"application/x-xfig\":{\"source\":\"apache\",\"extensions\":[\"fig\"]},\"application/x-xliff+xml\":{\"source\":\"apache\",\"extensions\":[\"xlf\"]},\"application/x-xpinstall\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"xpi\"]},\"application/x-xz\":{\"source\":\"apache\",\"extensions\":[\"xz\"]},\"application/x-zmachine\":{\"source\":\"apache\",\"extensions\":[\"z1\",\"z2\",\"z3\",\"z4\",\"z5\",\"z6\",\"z7\",\"z8\"]},\"application/x400-bp\":{\"source\":\"iana\"},\"application/xacml+xml\":{\"source\":\"iana\"},\"application/xaml+xml\":{\"source\":\"apache\",\"extensions\":[\"xaml\"]},\"application/xcap-att+xml\":{\"source\":\"iana\"},\"application/xcap-caps+xml\":{\"source\":\"iana\"},\"application/xcap-diff+xml\":{\"source\":\"iana\",\"extensions\":[\"xdf\"]},\"application/xcap-el+xml\":{\"source\":\"iana\"},\"application/xcap-error+xml\":{\"source\":\"iana\"},\"application/xcap-ns+xml\":{\"source\":\"iana\"},\"application/xcon-conference-info+xml\":{\"source\":\"iana\"},\"application/xcon-conference-info-diff+xml\":{\"source\":\"iana\"},\"application/xenc+xml\":{\"source\":\"iana\",\"extensions\":[\"xenc\"]},\"application/xhtml+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xhtml\",\"xht\"]},\"application/xhtml-voice+xml\":{\"source\":\"apache\"},\"application/xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xml\",\"xsl\",\"xsd\",\"rng\"]},\"application/xml-dtd\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"dtd\"]},\"application/xml-external-parsed-entity\":{\"source\":\"iana\"},\"application/xml-patch+xml\":{\"source\":\"iana\"},\"application/xmpp+xml\":{\"source\":\"iana\"},\"application/xop+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xop\"]},\"application/xproc+xml\":{\"source\":\"apache\",\"extensions\":[\"xpl\"]},\"application/xslt+xml\":{\"source\":\"iana\",\"extensions\":[\"xslt\"]},\"application/xspf+xml\":{\"source\":\"apache\",\"extensions\":[\"xspf\"]},\"application/xv+xml\":{\"source\":\"iana\",\"extensions\":[\"mxml\",\"xhvml\",\"xvml\",\"xvm\"]},\"application/yang\":{\"source\":\"iana\",\"extensions\":[\"yang\"]},\"application/yin+xml\":{\"source\":\"iana\",\"extensions\":[\"yin\"]},\"application/zip\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"zip\"]},\"application/zlib\":{\"source\":\"iana\"},\"audio/1d-interleaved-parityfec\":{\"source\":\"iana\"},\"audio/32kadpcm\":{\"source\":\"iana\"},\"audio/3gpp\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"3gpp\"]},\"audio/3gpp2\":{\"source\":\"iana\"},\"audio/ac3\":{\"source\":\"iana\"},\"audio/adpcm\":{\"source\":\"apache\",\"extensions\":[\"adp\"]},\"audio/amr\":{\"source\":\"iana\"},\"audio/amr-wb\":{\"source\":\"iana\"},\"audio/amr-wb+\":{\"source\":\"iana\"},\"audio/aptx\":{\"source\":\"iana\"},\"audio/asc\":{\"source\":\"iana\"},\"audio/atrac-advanced-lossless\":{\"source\":\"iana\"},\"audio/atrac-x\":{\"source\":\"iana\"},\"audio/atrac3\":{\"source\":\"iana\"},\"audio/basic\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"au\",\"snd\"]},\"audio/bv16\":{\"source\":\"iana\"},\"audio/bv32\":{\"source\":\"iana\"},\"audio/clearmode\":{\"source\":\"iana\"},\"audio/cn\":{\"source\":\"iana\"},\"audio/dat12\":{\"source\":\"iana\"},\"audio/dls\":{\"source\":\"iana\"},\"audio/dsr-es201108\":{\"source\":\"iana\"},\"audio/dsr-es202050\":{\"source\":\"iana\"},\"audio/dsr-es202211\":{\"source\":\"iana\"},\"audio/dsr-es202212\":{\"source\":\"iana\"},\"audio/dv\":{\"source\":\"iana\"},\"audio/dvi4\":{\"source\":\"iana\"},\"audio/eac3\":{\"source\":\"iana\"},\"audio/encaprtp\":{\"source\":\"iana\"},\"audio/evrc\":{\"source\":\"iana\"},\"audio/evrc-qcp\":{\"source\":\"iana\"},\"audio/evrc0\":{\"source\":\"iana\"},\"audio/evrc1\":{\"source\":\"iana\"},\"audio/evrcb\":{\"source\":\"iana\"},\"audio/evrcb0\":{\"source\":\"iana\"},\"audio/evrcb1\":{\"source\":\"iana\"},\"audio/evrcnw\":{\"source\":\"iana\"},\"audio/evrcnw0\":{\"source\":\"iana\"},\"audio/evrcnw1\":{\"source\":\"iana\"},\"audio/evrcwb\":{\"source\":\"iana\"},\"audio/evrcwb0\":{\"source\":\"iana\"},\"audio/evrcwb1\":{\"source\":\"iana\"},\"audio/evs\":{\"source\":\"iana\"},\"audio/fwdred\":{\"source\":\"iana\"},\"audio/g711-0\":{\"source\":\"iana\"},\"audio/g719\":{\"source\":\"iana\"},\"audio/g722\":{\"source\":\"iana\"},\"audio/g7221\":{\"source\":\"iana\"},\"audio/g723\":{\"source\":\"iana\"},\"audio/g726-16\":{\"source\":\"iana\"},\"audio/g726-24\":{\"source\":\"iana\"},\"audio/g726-32\":{\"source\":\"iana\"},\"audio/g726-40\":{\"source\":\"iana\"},\"audio/g728\":{\"source\":\"iana\"},\"audio/g729\":{\"source\":\"iana\"},\"audio/g7291\":{\"source\":\"iana\"},\"audio/g729d\":{\"source\":\"iana\"},\"audio/g729e\":{\"source\":\"iana\"},\"audio/gsm\":{\"source\":\"iana\"},\"audio/gsm-efr\":{\"source\":\"iana\"},\"audio/gsm-hr-08\":{\"source\":\"iana\"},\"audio/ilbc\":{\"source\":\"iana\"},\"audio/ip-mr_v2.5\":{\"source\":\"iana\"},\"audio/isac\":{\"source\":\"apache\"},\"audio/l16\":{\"source\":\"iana\"},\"audio/l20\":{\"source\":\"iana\"},\"audio/l24\":{\"source\":\"iana\",\"compressible\":false},\"audio/l8\":{\"source\":\"iana\"},\"audio/lpc\":{\"source\":\"iana\"},\"audio/midi\":{\"source\":\"apache\",\"extensions\":[\"mid\",\"midi\",\"kar\",\"rmi\"]},\"audio/mobile-xmf\":{\"source\":\"iana\"},\"audio/mp4\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"m4a\",\"mp4a\"]},\"audio/mp4a-latm\":{\"source\":\"iana\"},\"audio/mpa\":{\"source\":\"iana\"},\"audio/mpa-robust\":{\"source\":\"iana\"},\"audio/mpeg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"mpga\",\"mp2\",\"mp2a\",\"mp3\",\"m2a\",\"m3a\"]},\"audio/mpeg4-generic\":{\"source\":\"iana\"},\"audio/musepack\":{\"source\":\"apache\"},\"audio/ogg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"oga\",\"ogg\",\"spx\"]},\"audio/opus\":{\"source\":\"iana\"},\"audio/parityfec\":{\"source\":\"iana\"},\"audio/pcma\":{\"source\":\"iana\"},\"audio/pcma-wb\":{\"source\":\"iana\"},\"audio/pcmu\":{\"source\":\"iana\"},\"audio/pcmu-wb\":{\"source\":\"iana\"},\"audio/prs.sid\":{\"source\":\"iana\"},\"audio/qcelp\":{\"source\":\"iana\"},\"audio/raptorfec\":{\"source\":\"iana\"},\"audio/red\":{\"source\":\"iana\"},\"audio/rtp-enc-aescm128\":{\"source\":\"iana\"},\"audio/rtp-midi\":{\"source\":\"iana\"},\"audio/rtploopback\":{\"source\":\"iana\"},\"audio/rtx\":{\"source\":\"iana\"},\"audio/s3m\":{\"source\":\"apache\",\"extensions\":[\"s3m\"]},\"audio/silk\":{\"source\":\"apache\",\"extensions\":[\"sil\"]},\"audio/smv\":{\"source\":\"iana\"},\"audio/smv-qcp\":{\"source\":\"iana\"},\"audio/smv0\":{\"source\":\"iana\"},\"audio/sp-midi\":{\"source\":\"iana\"},\"audio/speex\":{\"source\":\"iana\"},\"audio/t140c\":{\"source\":\"iana\"},\"audio/t38\":{\"source\":\"iana\"},\"audio/telephone-event\":{\"source\":\"iana\"},\"audio/tone\":{\"source\":\"iana\"},\"audio/uemclip\":{\"source\":\"iana\"},\"audio/ulpfec\":{\"source\":\"iana\"},\"audio/vdvi\":{\"source\":\"iana\"},\"audio/vmr-wb\":{\"source\":\"iana\"},\"audio/vnd.3gpp.iufp\":{\"source\":\"iana\"},\"audio/vnd.4sb\":{\"source\":\"iana\"},\"audio/vnd.audiokoz\":{\"source\":\"iana\"},\"audio/vnd.celp\":{\"source\":\"iana\"},\"audio/vnd.cisco.nse\":{\"source\":\"iana\"},\"audio/vnd.cmles.radio-events\":{\"source\":\"iana\"},\"audio/vnd.cns.anp1\":{\"source\":\"iana\"},\"audio/vnd.cns.inf1\":{\"source\":\"iana\"},\"audio/vnd.dece.audio\":{\"source\":\"iana\",\"extensions\":[\"uva\",\"uvva\"]},\"audio/vnd.digital-winds\":{\"source\":\"iana\",\"extensions\":[\"eol\"]},\"audio/vnd.dlna.adts\":{\"source\":\"iana\"},\"audio/vnd.dolby.heaac.1\":{\"source\":\"iana\"},\"audio/vnd.dolby.heaac.2\":{\"source\":\"iana\"},\"audio/vnd.dolby.mlp\":{\"source\":\"iana\"},\"audio/vnd.dolby.mps\":{\"source\":\"iana\"},\"audio/vnd.dolby.pl2\":{\"source\":\"iana\"},\"audio/vnd.dolby.pl2x\":{\"source\":\"iana\"},\"audio/vnd.dolby.pl2z\":{\"source\":\"iana\"},\"audio/vnd.dolby.pulse.1\":{\"source\":\"iana\"},\"audio/vnd.dra\":{\"source\":\"iana\",\"extensions\":[\"dra\"]},\"audio/vnd.dts\":{\"source\":\"iana\",\"extensions\":[\"dts\"]},\"audio/vnd.dts.hd\":{\"source\":\"iana\",\"extensions\":[\"dtshd\"]},\"audio/vnd.dvb.file\":{\"source\":\"iana\"},\"audio/vnd.everad.plj\":{\"source\":\"iana\"},\"audio/vnd.hns.audio\":{\"source\":\"iana\"},\"audio/vnd.lucent.voice\":{\"source\":\"iana\",\"extensions\":[\"lvp\"]},\"audio/vnd.ms-playready.media.pya\":{\"source\":\"iana\",\"extensions\":[\"pya\"]},\"audio/vnd.nokia.mobile-xmf\":{\"source\":\"iana\"},\"audio/vnd.nortel.vbk\":{\"source\":\"iana\"},\"audio/vnd.nuera.ecelp4800\":{\"source\":\"iana\",\"extensions\":[\"ecelp4800\"]},\"audio/vnd.nuera.ecelp7470\":{\"source\":\"iana\",\"extensions\":[\"ecelp7470\"]},\"audio/vnd.nuera.ecelp9600\":{\"source\":\"iana\",\"extensions\":[\"ecelp9600\"]},\"audio/vnd.octel.sbc\":{\"source\":\"iana\"},\"audio/vnd.qcelp\":{\"source\":\"iana\"},\"audio/vnd.rhetorex.32kadpcm\":{\"source\":\"iana\"},\"audio/vnd.rip\":{\"source\":\"iana\",\"extensions\":[\"rip\"]},\"audio/vnd.rn-realaudio\":{\"compressible\":false},\"audio/vnd.sealedmedia.softseal.mpeg\":{\"source\":\"iana\"},\"audio/vnd.vmx.cvsd\":{\"source\":\"iana\"},\"audio/vnd.wave\":{\"compressible\":false},\"audio/vorbis\":{\"source\":\"iana\",\"compressible\":false},\"audio/vorbis-config\":{\"source\":\"iana\"},\"audio/wav\":{\"compressible\":false,\"extensions\":[\"wav\"]},\"audio/wave\":{\"compressible\":false,\"extensions\":[\"wav\"]},\"audio/webm\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"weba\"]},\"audio/x-aac\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"aac\"]},\"audio/x-aiff\":{\"source\":\"apache\",\"extensions\":[\"aif\",\"aiff\",\"aifc\"]},\"audio/x-caf\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"caf\"]},\"audio/x-flac\":{\"source\":\"apache\",\"extensions\":[\"flac\"]},\"audio/x-m4a\":{\"source\":\"nginx\",\"extensions\":[\"m4a\"]},\"audio/x-matroska\":{\"source\":\"apache\",\"extensions\":[\"mka\"]},\"audio/x-mpegurl\":{\"source\":\"apache\",\"extensions\":[\"m3u\"]},\"audio/x-ms-wax\":{\"source\":\"apache\",\"extensions\":[\"wax\"]},\"audio/x-ms-wma\":{\"source\":\"apache\",\"extensions\":[\"wma\"]},\"audio/x-pn-realaudio\":{\"source\":\"apache\",\"extensions\":[\"ram\",\"ra\"]},\"audio/x-pn-realaudio-plugin\":{\"source\":\"apache\",\"extensions\":[\"rmp\"]},\"audio/x-realaudio\":{\"source\":\"nginx\",\"extensions\":[\"ra\"]},\"audio/x-tta\":{\"source\":\"apache\"},\"audio/x-wav\":{\"source\":\"apache\",\"extensions\":[\"wav\"]},\"audio/xm\":{\"source\":\"apache\",\"extensions\":[\"xm\"]},\"chemical/x-cdx\":{\"source\":\"apache\",\"extensions\":[\"cdx\"]},\"chemical/x-cif\":{\"source\":\"apache\",\"extensions\":[\"cif\"]},\"chemical/x-cmdf\":{\"source\":\"apache\",\"extensions\":[\"cmdf\"]},\"chemical/x-cml\":{\"source\":\"apache\",\"extensions\":[\"cml\"]},\"chemical/x-csml\":{\"source\":\"apache\",\"extensions\":[\"csml\"]},\"chemical/x-pdb\":{\"source\":\"apache\"},\"chemical/x-xyz\":{\"source\":\"apache\",\"extensions\":[\"xyz\"]},\"font/opentype\":{\"compressible\":true,\"extensions\":[\"otf\"]},\"image/bmp\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"bmp\"]},\"image/cgm\":{\"source\":\"iana\",\"extensions\":[\"cgm\"]},\"image/fits\":{\"source\":\"iana\"},\"image/g3fax\":{\"source\":\"iana\",\"extensions\":[\"g3\"]},\"image/gif\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"gif\"]},\"image/ief\":{\"source\":\"iana\",\"extensions\":[\"ief\"]},\"image/jp2\":{\"source\":\"iana\"},\"image/jpeg\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"jpeg\",\"jpg\",\"jpe\"]},\"image/jpm\":{\"source\":\"iana\"},\"image/jpx\":{\"source\":\"iana\"},\"image/ktx\":{\"source\":\"iana\",\"extensions\":[\"ktx\"]},\"image/naplps\":{\"source\":\"iana\"},\"image/pjpeg\":{\"compressible\":false},\"image/png\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"png\"]},\"image/prs.btif\":{\"source\":\"iana\",\"extensions\":[\"btif\"]},\"image/prs.pti\":{\"source\":\"iana\"},\"image/pwg-raster\":{\"source\":\"iana\"},\"image/sgi\":{\"source\":\"apache\",\"extensions\":[\"sgi\"]},\"image/svg+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"svg\",\"svgz\"]},\"image/t38\":{\"source\":\"iana\"},\"image/tiff\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"tiff\",\"tif\"]},\"image/tiff-fx\":{\"source\":\"iana\"},\"image/vnd.adobe.photoshop\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"psd\"]},\"image/vnd.airzip.accelerator.azv\":{\"source\":\"iana\"},\"image/vnd.cns.inf2\":{\"source\":\"iana\"},\"image/vnd.dece.graphic\":{\"source\":\"iana\",\"extensions\":[\"uvi\",\"uvvi\",\"uvg\",\"uvvg\"]},\"image/vnd.djvu\":{\"source\":\"iana\",\"extensions\":[\"djvu\",\"djv\"]},\"image/vnd.dvb.subtitle\":{\"source\":\"iana\",\"extensions\":[\"sub\"]},\"image/vnd.dwg\":{\"source\":\"iana\",\"extensions\":[\"dwg\"]},\"image/vnd.dxf\":{\"source\":\"iana\",\"extensions\":[\"dxf\"]},\"image/vnd.fastbidsheet\":{\"source\":\"iana\",\"extensions\":[\"fbs\"]},\"image/vnd.fpx\":{\"source\":\"iana\",\"extensions\":[\"fpx\"]},\"image/vnd.fst\":{\"source\":\"iana\",\"extensions\":[\"fst\"]},\"image/vnd.fujixerox.edmics-mmr\":{\"source\":\"iana\",\"extensions\":[\"mmr\"]},\"image/vnd.fujixerox.edmics-rlc\":{\"source\":\"iana\",\"extensions\":[\"rlc\"]},\"image/vnd.globalgraphics.pgb\":{\"source\":\"iana\"},\"image/vnd.microsoft.icon\":{\"source\":\"iana\"},\"image/vnd.mix\":{\"source\":\"iana\"},\"image/vnd.mozilla.apng\":{\"source\":\"iana\"},\"image/vnd.ms-modi\":{\"source\":\"iana\",\"extensions\":[\"mdi\"]},\"image/vnd.ms-photo\":{\"source\":\"apache\",\"extensions\":[\"wdp\"]},\"image/vnd.net-fpx\":{\"source\":\"iana\",\"extensions\":[\"npx\"]},\"image/vnd.radiance\":{\"source\":\"iana\"},\"image/vnd.sealed.png\":{\"source\":\"iana\"},\"image/vnd.sealedmedia.softseal.gif\":{\"source\":\"iana\"},\"image/vnd.sealedmedia.softseal.jpg\":{\"source\":\"iana\"},\"image/vnd.svf\":{\"source\":\"iana\"},\"image/vnd.tencent.tap\":{\"source\":\"iana\"},\"image/vnd.valve.source.texture\":{\"source\":\"iana\"},\"image/vnd.wap.wbmp\":{\"source\":\"iana\",\"extensions\":[\"wbmp\"]},\"image/vnd.xiff\":{\"source\":\"iana\",\"extensions\":[\"xif\"]},\"image/vnd.zbrush.pcx\":{\"source\":\"iana\"},\"image/webp\":{\"source\":\"apache\",\"extensions\":[\"webp\"]},\"image/x-3ds\":{\"source\":\"apache\",\"extensions\":[\"3ds\"]},\"image/x-cmu-raster\":{\"source\":\"apache\",\"extensions\":[\"ras\"]},\"image/x-cmx\":{\"source\":\"apache\",\"extensions\":[\"cmx\"]},\"image/x-freehand\":{\"source\":\"apache\",\"extensions\":[\"fh\",\"fhc\",\"fh4\",\"fh5\",\"fh7\"]},\"image/x-icon\":{\"source\":\"apache\",\"compressible\":true,\"extensions\":[\"ico\"]},\"image/x-jng\":{\"source\":\"nginx\",\"extensions\":[\"jng\"]},\"image/x-mrsid-image\":{\"source\":\"apache\",\"extensions\":[\"sid\"]},\"image/x-ms-bmp\":{\"source\":\"nginx\",\"compressible\":true,\"extensions\":[\"bmp\"]},\"image/x-pcx\":{\"source\":\"apache\",\"extensions\":[\"pcx\"]},\"image/x-pict\":{\"source\":\"apache\",\"extensions\":[\"pic\",\"pct\"]},\"image/x-portable-anymap\":{\"source\":\"apache\",\"extensions\":[\"pnm\"]},\"image/x-portable-bitmap\":{\"source\":\"apache\",\"extensions\":[\"pbm\"]},\"image/x-portable-graymap\":{\"source\":\"apache\",\"extensions\":[\"pgm\"]},\"image/x-portable-pixmap\":{\"source\":\"apache\",\"extensions\":[\"ppm\"]},\"image/x-rgb\":{\"source\":\"apache\",\"extensions\":[\"rgb\"]},\"image/x-tga\":{\"source\":\"apache\",\"extensions\":[\"tga\"]},\"image/x-xbitmap\":{\"source\":\"apache\",\"extensions\":[\"xbm\"]},\"image/x-xcf\":{\"compressible\":false},\"image/x-xpixmap\":{\"source\":\"apache\",\"extensions\":[\"xpm\"]},\"image/x-xwindowdump\":{\"source\":\"apache\",\"extensions\":[\"xwd\"]},\"message/cpim\":{\"source\":\"iana\"},\"message/delivery-status\":{\"source\":\"iana\"},\"message/disposition-notification\":{\"source\":\"iana\"},\"message/external-body\":{\"source\":\"iana\"},\"message/feedback-report\":{\"source\":\"iana\"},\"message/global\":{\"source\":\"iana\"},\"message/global-delivery-status\":{\"source\":\"iana\"},\"message/global-disposition-notification\":{\"source\":\"iana\"},\"message/global-headers\":{\"source\":\"iana\"},\"message/http\":{\"source\":\"iana\",\"compressible\":false},\"message/imdn+xml\":{\"source\":\"iana\",\"compressible\":true},\"message/news\":{\"source\":\"iana\"},\"message/partial\":{\"source\":\"iana\",\"compressible\":false},\"message/rfc822\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"eml\",\"mime\"]},\"message/s-http\":{\"source\":\"iana\"},\"message/sip\":{\"source\":\"iana\"},\"message/sipfrag\":{\"source\":\"iana\"},\"message/tracking-status\":{\"source\":\"iana\"},\"message/vnd.si.simp\":{\"source\":\"iana\"},\"message/vnd.wfa.wsc\":{\"source\":\"iana\"},\"model/iges\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"igs\",\"iges\"]},\"model/mesh\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"msh\",\"mesh\",\"silo\"]},\"model/vnd.collada+xml\":{\"source\":\"iana\",\"extensions\":[\"dae\"]},\"model/vnd.dwf\":{\"source\":\"iana\",\"extensions\":[\"dwf\"]},\"model/vnd.flatland.3dml\":{\"source\":\"iana\"},\"model/vnd.gdl\":{\"source\":\"iana\",\"extensions\":[\"gdl\"]},\"model/vnd.gs-gdl\":{\"source\":\"apache\"},\"model/vnd.gs.gdl\":{\"source\":\"iana\"},\"model/vnd.gtw\":{\"source\":\"iana\",\"extensions\":[\"gtw\"]},\"model/vnd.moml+xml\":{\"source\":\"iana\"},\"model/vnd.mts\":{\"source\":\"iana\",\"extensions\":[\"mts\"]},\"model/vnd.opengex\":{\"source\":\"iana\"},\"model/vnd.parasolid.transmit.binary\":{\"source\":\"iana\"},\"model/vnd.parasolid.transmit.text\":{\"source\":\"iana\"},\"model/vnd.rosette.annotated-data-model\":{\"source\":\"iana\"},\"model/vnd.valve.source.compiled-map\":{\"source\":\"iana\"},\"model/vnd.vtu\":{\"source\":\"iana\",\"extensions\":[\"vtu\"]},\"model/vrml\":{\"source\":\"iana\",\"compressible\":false,\"extensions\":[\"wrl\",\"vrml\"]},\"model/x3d+binary\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"x3db\",\"x3dbz\"]},\"model/x3d+fastinfoset\":{\"source\":\"iana\"},\"model/x3d+vrml\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"x3dv\",\"x3dvz\"]},\"model/x3d+xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"x3d\",\"x3dz\"]},\"model/x3d-vrml\":{\"source\":\"iana\"},\"multipart/alternative\":{\"source\":\"iana\",\"compressible\":false},\"multipart/appledouble\":{\"source\":\"iana\"},\"multipart/byteranges\":{\"source\":\"iana\"},\"multipart/digest\":{\"source\":\"iana\"},\"multipart/encrypted\":{\"source\":\"iana\",\"compressible\":false},\"multipart/form-data\":{\"source\":\"iana\",\"compressible\":false},\"multipart/header-set\":{\"source\":\"iana\"},\"multipart/mixed\":{\"source\":\"iana\",\"compressible\":false},\"multipart/parallel\":{\"source\":\"iana\"},\"multipart/related\":{\"source\":\"iana\",\"compressible\":false},\"multipart/report\":{\"source\":\"iana\"},\"multipart/signed\":{\"source\":\"iana\",\"compressible\":false},\"multipart/voice-message\":{\"source\":\"iana\"},\"multipart/x-mixed-replace\":{\"source\":\"iana\"},\"text/1d-interleaved-parityfec\":{\"source\":\"iana\"},\"text/cache-manifest\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"appcache\",\"manifest\"]},\"text/calendar\":{\"source\":\"iana\",\"extensions\":[\"ics\",\"ifb\"]},\"text/calender\":{\"compressible\":true},\"text/cmd\":{\"compressible\":true},\"text/coffeescript\":{\"extensions\":[\"coffee\",\"litcoffee\"]},\"text/css\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"css\"]},\"text/csv\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"csv\"]},\"text/csv-schema\":{\"source\":\"iana\"},\"text/directory\":{\"source\":\"iana\"},\"text/dns\":{\"source\":\"iana\"},\"text/ecmascript\":{\"source\":\"iana\"},\"text/encaprtp\":{\"source\":\"iana\"},\"text/enriched\":{\"source\":\"iana\"},\"text/fwdred\":{\"source\":\"iana\"},\"text/grammar-ref-list\":{\"source\":\"iana\"},\"text/hjson\":{\"extensions\":[\"hjson\"]},\"text/html\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"html\",\"htm\",\"shtml\"]},\"text/jade\":{\"extensions\":[\"jade\"]},\"text/javascript\":{\"source\":\"iana\",\"compressible\":true},\"text/jcr-cnd\":{\"source\":\"iana\"},\"text/jsx\":{\"compressible\":true,\"extensions\":[\"jsx\"]},\"text/less\":{\"extensions\":[\"less\"]},\"text/markdown\":{\"source\":\"iana\"},\"text/mathml\":{\"source\":\"nginx\",\"extensions\":[\"mml\"]},\"text/mizar\":{\"source\":\"iana\"},\"text/n3\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"n3\"]},\"text/parameters\":{\"source\":\"iana\"},\"text/parityfec\":{\"source\":\"iana\"},\"text/plain\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"txt\",\"text\",\"conf\",\"def\",\"list\",\"log\",\"in\",\"ini\"]},\"text/provenance-notation\":{\"source\":\"iana\"},\"text/prs.fallenstein.rst\":{\"source\":\"iana\"},\"text/prs.lines.tag\":{\"source\":\"iana\",\"extensions\":[\"dsc\"]},\"text/prs.prop.logic\":{\"source\":\"iana\"},\"text/raptorfec\":{\"source\":\"iana\"},\"text/red\":{\"source\":\"iana\"},\"text/rfc822-headers\":{\"source\":\"iana\"},\"text/richtext\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rtx\"]},\"text/rtf\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"rtf\"]},\"text/rtp-enc-aescm128\":{\"source\":\"iana\"},\"text/rtploopback\":{\"source\":\"iana\"},\"text/rtx\":{\"source\":\"iana\"},\"text/sgml\":{\"source\":\"iana\",\"extensions\":[\"sgml\",\"sgm\"]},\"text/slim\":{\"extensions\":[\"slim\",\"slm\"]},\"text/stylus\":{\"extensions\":[\"stylus\",\"styl\"]},\"text/t140\":{\"source\":\"iana\"},\"text/tab-separated-values\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"tsv\"]},\"text/troff\":{\"source\":\"iana\",\"extensions\":[\"t\",\"tr\",\"roff\",\"man\",\"me\",\"ms\"]},\"text/turtle\":{\"source\":\"iana\",\"extensions\":[\"ttl\"]},\"text/ulpfec\":{\"source\":\"iana\"},\"text/uri-list\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"uri\",\"uris\",\"urls\"]},\"text/vcard\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"vcard\"]},\"text/vnd.a\":{\"source\":\"iana\"},\"text/vnd.abc\":{\"source\":\"iana\"},\"text/vnd.curl\":{\"source\":\"iana\",\"extensions\":[\"curl\"]},\"text/vnd.curl.dcurl\":{\"source\":\"apache\",\"extensions\":[\"dcurl\"]},\"text/vnd.curl.mcurl\":{\"source\":\"apache\",\"extensions\":[\"mcurl\"]},\"text/vnd.curl.scurl\":{\"source\":\"apache\",\"extensions\":[\"scurl\"]},\"text/vnd.debian.copyright\":{\"source\":\"iana\"},\"text/vnd.dmclientscript\":{\"source\":\"iana\"},\"text/vnd.dvb.subtitle\":{\"source\":\"iana\",\"extensions\":[\"sub\"]},\"text/vnd.esmertec.theme-descriptor\":{\"source\":\"iana\"},\"text/vnd.fly\":{\"source\":\"iana\",\"extensions\":[\"fly\"]},\"text/vnd.fmi.flexstor\":{\"source\":\"iana\",\"extensions\":[\"flx\"]},\"text/vnd.graphviz\":{\"source\":\"iana\",\"extensions\":[\"gv\"]},\"text/vnd.in3d.3dml\":{\"source\":\"iana\",\"extensions\":[\"3dml\"]},\"text/vnd.in3d.spot\":{\"source\":\"iana\",\"extensions\":[\"spot\"]},\"text/vnd.iptc.newsml\":{\"source\":\"iana\"},\"text/vnd.iptc.nitf\":{\"source\":\"iana\"},\"text/vnd.latex-z\":{\"source\":\"iana\"},\"text/vnd.motorola.reflex\":{\"source\":\"iana\"},\"text/vnd.ms-mediapackage\":{\"source\":\"iana\"},\"text/vnd.net2phone.commcenter.command\":{\"source\":\"iana\"},\"text/vnd.radisys.msml-basic-layout\":{\"source\":\"iana\"},\"text/vnd.si.uricatalogue\":{\"source\":\"iana\"},\"text/vnd.sun.j2me.app-descriptor\":{\"source\":\"iana\",\"extensions\":[\"jad\"]},\"text/vnd.trolltech.linguist\":{\"source\":\"iana\"},\"text/vnd.wap.si\":{\"source\":\"iana\"},\"text/vnd.wap.sl\":{\"source\":\"iana\"},\"text/vnd.wap.wml\":{\"source\":\"iana\",\"extensions\":[\"wml\"]},\"text/vnd.wap.wmlscript\":{\"source\":\"iana\",\"extensions\":[\"wmls\"]},\"text/vtt\":{\"charset\":\"UTF-8\",\"compressible\":true,\"extensions\":[\"vtt\"]},\"text/x-asm\":{\"source\":\"apache\",\"extensions\":[\"s\",\"asm\"]},\"text/x-c\":{\"source\":\"apache\",\"extensions\":[\"c\",\"cc\",\"cxx\",\"cpp\",\"h\",\"hh\",\"dic\"]},\"text/x-component\":{\"source\":\"nginx\",\"extensions\":[\"htc\"]},\"text/x-fortran\":{\"source\":\"apache\",\"extensions\":[\"f\",\"for\",\"f77\",\"f90\"]},\"text/x-gwt-rpc\":{\"compressible\":true},\"text/x-handlebars-template\":{\"extensions\":[\"hbs\"]},\"text/x-java-source\":{\"source\":\"apache\",\"extensions\":[\"java\"]},\"text/x-jquery-tmpl\":{\"compressible\":true},\"text/x-lua\":{\"extensions\":[\"lua\"]},\"text/x-markdown\":{\"compressible\":true,\"extensions\":[\"markdown\",\"md\",\"mkd\"]},\"text/x-nfo\":{\"source\":\"apache\",\"extensions\":[\"nfo\"]},\"text/x-opml\":{\"source\":\"apache\",\"extensions\":[\"opml\"]},\"text/x-pascal\":{\"source\":\"apache\",\"extensions\":[\"p\",\"pas\"]},\"text/x-processing\":{\"compressible\":true,\"extensions\":[\"pde\"]},\"text/x-sass\":{\"extensions\":[\"sass\"]},\"text/x-scss\":{\"extensions\":[\"scss\"]},\"text/x-setext\":{\"source\":\"apache\",\"extensions\":[\"etx\"]},\"text/x-sfv\":{\"source\":\"apache\",\"extensions\":[\"sfv\"]},\"text/x-suse-ymp\":{\"compressible\":true,\"extensions\":[\"ymp\"]},\"text/x-uuencode\":{\"source\":\"apache\",\"extensions\":[\"uu\"]},\"text/x-vcalendar\":{\"source\":\"apache\",\"extensions\":[\"vcs\"]},\"text/x-vcard\":{\"source\":\"apache\",\"extensions\":[\"vcf\"]},\"text/xml\":{\"source\":\"iana\",\"compressible\":true,\"extensions\":[\"xml\"]},\"text/xml-external-parsed-entity\":{\"source\":\"iana\"},\"text/yaml\":{\"extensions\":[\"yaml\",\"yml\"]},\"video/1d-interleaved-parityfec\":{\"source\":\"apache\"},\"video/3gpp\":{\"source\":\"apache\",\"extensions\":[\"3gp\",\"3gpp\"]},\"video/3gpp-tt\":{\"source\":\"apache\"},\"video/3gpp2\":{\"source\":\"apache\",\"extensions\":[\"3g2\"]},\"video/bmpeg\":{\"source\":\"apache\"},\"video/bt656\":{\"source\":\"apache\"},\"video/celb\":{\"source\":\"apache\"},\"video/dv\":{\"source\":\"apache\"},\"video/encaprtp\":{\"source\":\"apache\"},\"video/h261\":{\"source\":\"apache\",\"extensions\":[\"h261\"]},\"video/h263\":{\"source\":\"apache\",\"extensions\":[\"h263\"]},\"video/h263-1998\":{\"source\":\"apache\"},\"video/h263-2000\":{\"source\":\"apache\"},\"video/h264\":{\"source\":\"apache\",\"extensions\":[\"h264\"]},\"video/h264-rcdo\":{\"source\":\"apache\"},\"video/h264-svc\":{\"source\":\"apache\"},\"video/h265\":{\"source\":\"apache\"},\"video/iso.segment\":{\"source\":\"apache\"},\"video/jpeg\":{\"source\":\"apache\",\"extensions\":[\"jpgv\"]},\"video/jpeg2000\":{\"source\":\"apache\"},\"video/jpm\":{\"source\":\"apache\",\"extensions\":[\"jpm\",\"jpgm\"]},\"video/mj2\":{\"source\":\"apache\",\"extensions\":[\"mj2\",\"mjp2\"]},\"video/mp1s\":{\"source\":\"apache\"},\"video/mp2p\":{\"source\":\"apache\"},\"video/mp2t\":{\"source\":\"apache\",\"extensions\":[\"ts\"]},\"video/mp4\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"mp4\",\"mp4v\",\"mpg4\"]},\"video/mp4v-es\":{\"source\":\"apache\"},\"video/mpeg\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"mpeg\",\"mpg\",\"mpe\",\"m1v\",\"m2v\"]},\"video/mpeg4-generic\":{\"source\":\"apache\"},\"video/mpv\":{\"source\":\"apache\"},\"video/nv\":{\"source\":\"apache\"},\"video/ogg\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"ogv\"]},\"video/parityfec\":{\"source\":\"apache\"},\"video/pointer\":{\"source\":\"apache\"},\"video/quicktime\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"qt\",\"mov\"]},\"video/raptorfec\":{\"source\":\"apache\"},\"video/raw\":{\"source\":\"apache\"},\"video/rtp-enc-aescm128\":{\"source\":\"apache\"},\"video/rtploopback\":{\"source\":\"apache\"},\"video/rtx\":{\"source\":\"apache\"},\"video/smpte292m\":{\"source\":\"apache\"},\"video/ulpfec\":{\"source\":\"apache\"},\"video/vc1\":{\"source\":\"apache\"},\"video/vnd.cctv\":{\"source\":\"apache\"},\"video/vnd.dece.hd\":{\"source\":\"apache\",\"extensions\":[\"uvh\",\"uvvh\"]},\"video/vnd.dece.mobile\":{\"source\":\"apache\",\"extensions\":[\"uvm\",\"uvvm\"]},\"video/vnd.dece.mp4\":{\"source\":\"apache\"},\"video/vnd.dece.pd\":{\"source\":\"apache\",\"extensions\":[\"uvp\",\"uvvp\"]},\"video/vnd.dece.sd\":{\"source\":\"apache\",\"extensions\":[\"uvs\",\"uvvs\"]},\"video/vnd.dece.video\":{\"source\":\"apache\",\"extensions\":[\"uvv\",\"uvvv\"]},\"video/vnd.directv.mpeg\":{\"source\":\"apache\"},\"video/vnd.directv.mpeg-tts\":{\"source\":\"apache\"},\"video/vnd.dlna.mpeg-tts\":{\"source\":\"apache\"},\"video/vnd.dvb.file\":{\"source\":\"apache\",\"extensions\":[\"dvb\"]},\"video/vnd.fvt\":{\"source\":\"apache\",\"extensions\":[\"fvt\"]},\"video/vnd.hns.video\":{\"source\":\"apache\"},\"video/vnd.iptvforum.1dparityfec-1010\":{\"source\":\"apache\"},\"video/vnd.iptvforum.1dparityfec-2005\":{\"source\":\"apache\"},\"video/vnd.iptvforum.2dparityfec-1010\":{\"source\":\"apache\"},\"video/vnd.iptvforum.2dparityfec-2005\":{\"source\":\"apache\"},\"video/vnd.iptvforum.ttsavc\":{\"source\":\"apache\"},\"video/vnd.iptvforum.ttsmpeg2\":{\"source\":\"apache\"},\"video/vnd.motorola.video\":{\"source\":\"apache\"},\"video/vnd.motorola.videop\":{\"source\":\"apache\"},\"video/vnd.mpegurl\":{\"source\":\"apache\",\"extensions\":[\"mxu\",\"m4u\"]},\"video/vnd.ms-playready.media.pyv\":{\"source\":\"apache\",\"extensions\":[\"pyv\"]},\"video/vnd.nokia.interleaved-multimedia\":{\"source\":\"apache\"},\"video/vnd.nokia.videovoip\":{\"source\":\"apache\"},\"video/vnd.objectvideo\":{\"source\":\"apache\"},\"video/vnd.radgamettools.bink\":{\"source\":\"apache\"},\"video/vnd.radgamettools.smacker\":{\"source\":\"apache\"},\"video/vnd.sealed.mpeg1\":{\"source\":\"apache\"},\"video/vnd.sealed.mpeg4\":{\"source\":\"apache\"},\"video/vnd.sealed.swf\":{\"source\":\"apache\"},\"video/vnd.sealedmedia.softseal.mov\":{\"source\":\"apache\"},\"video/vnd.uvvu.mp4\":{\"source\":\"apache\",\"extensions\":[\"uvu\",\"uvvu\"]},\"video/vnd.vivo\":{\"source\":\"apache\",\"extensions\":[\"viv\"]},\"video/vp8\":{\"source\":\"apache\"},\"video/webm\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"webm\"]},\"video/x-f4v\":{\"source\":\"apache\",\"extensions\":[\"f4v\"]},\"video/x-fli\":{\"source\":\"apache\",\"extensions\":[\"fli\"]},\"video/x-flv\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"flv\"]},\"video/x-m4v\":{\"source\":\"apache\",\"extensions\":[\"m4v\"]},\"video/x-matroska\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"mkv\",\"mk3d\",\"mks\"]},\"video/x-mng\":{\"source\":\"apache\",\"extensions\":[\"mng\"]},\"video/x-ms-asf\":{\"source\":\"apache\",\"extensions\":[\"asf\",\"asx\"]},\"video/x-ms-vob\":{\"source\":\"apache\",\"extensions\":[\"vob\"]},\"video/x-ms-wm\":{\"source\":\"apache\",\"extensions\":[\"wm\"]},\"video/x-ms-wmv\":{\"source\":\"apache\",\"compressible\":false,\"extensions\":[\"wmv\"]},\"video/x-ms-wmx\":{\"source\":\"apache\",\"extensions\":[\"wmx\"]},\"video/x-ms-wvx\":{\"source\":\"apache\",\"extensions\":[\"wvx\"]},\"video/x-msvideo\":{\"source\":\"apache\",\"extensions\":[\"avi\"]},\"video/x-sgi-movie\":{\"source\":\"apache\",\"extensions\":[\"movie\"]},\"video/x-smv\":{\"source\":\"apache\",\"extensions\":[\"smv\"]},\"x-conference/x-cooltalk\":{\"source\":\"apache\",\"extensions\":[\"ice\"]},\"x-shader/x-fragment\":{\"compressible\":true},\"x-shader/x-vertex\":{\"compressible\":true}}","import Core from './core/index.js'\n\n// Parent\nimport Plugin from './plugins/Plugin'\n\nconst locales = {}\n\n// Orchestrators\nimport Dashboard from './plugins/Dashboard/index.js'\n\n// Acquirers\nimport Dummy from './plugins/Dummy'\nimport DragDrop from './plugins/DragDrop/index.js'\nimport FileInput from './plugins/FileInput.js'\nimport GoogleDrive from './plugins/GoogleDrive/index.js'\nimport Webcam from './plugins/Webcam/index.js'\n\n// Progressindicators\nimport ProgressBar from './plugins/ProgressBar.js'\nimport Informer from './plugins/Informer.js'\n\n// Modifiers\nimport MetaData from './plugins/MetaData.js'\n\n// Uploaders\nimport Tus10 from './plugins/Tus10'\nimport Multipart from './plugins/Multipart'\n\nexport default {\n Core,\n Plugin,\n locales,\n Dummy,\n ProgressBar,\n Informer,\n DragDrop,\n GoogleDrive,\n FileInput,\n Tus10,\n Multipart,\n Dashboard,\n MetaData,\n Webcam\n}\n\nexport {\n Core,\n Plugin,\n locales,\n Dummy,\n ProgressBar,\n Informer,\n DragDrop,\n GoogleDrive,\n FileInput,\n Tus10,\n Multipart,\n Dashboard,\n MetaData,\n Webcam\n}\n","import Core from './Core'\nexport default Core\n","import Plugin from './Plugin'\nimport Utils from '../core/Utils'\nimport html from '../core/html'\n\nexport default class FileInput extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.id = 'FileInput'\n this.title = 'FileInput'\n this.type = 'acquirer'\n\n // Default options\n const defaultOptions = {\n target: '.UppyForm',\n replaceTargetContent: true,\n multipleFiles: true,\n text: this.core.i18n('selectToUpload'),\n pretty: true\n }\n\n // Merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n\n this.render = this.render.bind(this)\n }\n\n handleInputChange (ev) {\n this.core.log('All right, something selected through input...')\n\n // this added rubbish keys like “length” to the resulting array\n // const files = Object.keys(ev.target.files).map((key) => {\n // return ev.target.files[key]\n // })\n\n const files = Utils.toArray(ev.target.files)\n\n files.forEach((file) => {\n this.core.emitter.emit('core:file-add', {\n source: this.id,\n name: file.name,\n type: file.type,\n data: file\n })\n })\n }\n\n render (state) {\n // const upload = (ev) => {\n // ev.preventDefault()\n // ev.stopPropagation()\n // this.core.emitter.emit('core:upload')\n // }\n\n const hiddenInputStyle = 'width: 0.1px; height: 0.1px; opacity: 0; overflow: hidden; position: absolute; z-index: -1;'\n\n const input = html`<input class=\"uppy-FileInput-input\"\n style=\"${this.opts.pretty ? hiddenInputStyle : ''}\"\n type=\"file\"\n name=\"files[]\"\n onchange=${this.handleInputChange.bind(this)}\n multiple=\"${this.opts.multipleFiles ? 'true' : 'false'}\"\n value=\"\">`\n\n return html`<form class=\"uppy-FileInput-form\">\n ${input}\n\n ${this.opts.pretty\n ? html`<button class=\"uppy-FileInput-btn\" type=\"button\" onclick=${() => input.click()}>\n ${this.opts.text}\n </button>`\n : null\n }\n\n </form>`\n }\n\n install () {\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n }\n}\n","import Plugin from './Plugin'\n\n/**\n * Meta Data\n * Adds metadata fields to Uppy\n *\n */\nexport default class MetaData extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.type = 'modifier'\n this.id = 'MetaData'\n this.title = 'Meta Data'\n\n // set default options\n const defaultOptions = {}\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n }\n\n addInitialMeta () {\n const metaFields = this.opts.fields\n\n this.core.setState({\n metaFields: metaFields\n })\n\n this.core.emitter.on('file-added', (fileID) => {\n metaFields.forEach((item) => {\n const obj = {}\n obj[item.id] = item.value\n this.core.updateMeta(obj, fileID)\n })\n })\n }\n\n install () {\n this.addInitialMeta()\n }\n}\n","import Plugin from './Plugin'\nimport html from '../core/html'\n\n/**\n * Informer\n * Shows rad message bubbles\n * used like this: `bus.emit('informer', 'hello world', 'info', 5000)`\n * or for errors: `bus.emit('informer', 'Error uploading img.jpg', 'error', 5000)`\n *\n */\nexport default class Informer extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.type = 'progressindicator'\n this.id = 'Informer'\n this.title = 'Informer'\n\n // set default options\n const defaultOptions = {}\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n }\n\n showInformer (msg, type, duration) {\n this.core.setState({\n informer: {\n isHidden: false,\n msg: msg\n }\n })\n\n if (duration === 0) return\n\n // hide the informer after `duration` milliseconds\n setTimeout(() => {\n const newInformer = Object.assign({}, this.core.getState().informer, {\n isHidden: true\n })\n this.core.setState({\n informer: newInformer\n })\n }, duration)\n }\n\n hideInformer () {\n const newInformer = Object.assign({}, this.core.getState().informer, {\n isHidden: true\n })\n this.core.setState({\n informer: newInformer\n })\n }\n\n render (state) {\n const msg = state.informer.msg\n const isHidden = state.informer.isHidden\n\n // @TODO add aria-live for screen-readers\n return html`<div class=\"UppyInformer\" aria-hidden=\"${isHidden}\">\n <p>${msg}</p>\n </div>`\n }\n\n install () {\n // Set default state for Google Drive\n this.core.setState({\n informer: {\n isHidden: true,\n msg: ''\n }\n })\n\n const bus = this.core.bus\n\n bus.on('informer', (msg, type, duration) => {\n this.showInformer(msg, type, duration)\n })\n\n bus.on('informer-hide', () => {\n this.hideInformer()\n })\n\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n }\n}\n","import Plugin from './Plugin'\nimport html from '../core/html'\n\n/**\n * Progress bar\n *\n */\nexport default class ProgressBar extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.id = 'ProgressBar'\n this.title = 'Progress Bar'\n this.type = 'progressindicator'\n\n // set default options\n const defaultOptions = {\n replaceTargetContent: false,\n fixed: false\n }\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n\n this.render = this.render.bind(this)\n }\n\n render (state) {\n const progress = state.totalProgress || 0\n\n return html`<div class=\"UppyProgressBar\" style=\"${this.opts.fixed ? 'position: fixed' : 'null'}\">\n <div class=\"UppyProgressBar-inner\" style=\"width: ${progress}%\"></div>\n <div class=\"UppyProgressBar-percentage\">${progress}</div>\n </div>`\n }\n\n install () {\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n }\n}\n","import Plugin from '../Plugin'\nimport dragDrop from 'drag-drop'\nimport Dashboard from './Dashboard'\nimport { getSpeed, getETA, prettyETA } from '../../core/Utils'\nimport prettyBytes from 'pretty-bytes'\nimport { defaultTabIcon } from './icons'\n\n/**\n * Modal Dialog & Dashboard\n */\nexport default class DashboardUI extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.id = 'DashboardUI'\n this.title = 'Dashboard UI'\n this.type = 'orchestrator'\n\n // set default options\n const defaultOptions = {\n target: 'body',\n inline: false,\n semiTransparent: false,\n defaultTabIcon: defaultTabIcon(),\n panelSelectorPrefix: 'UppyDashboardContent-panel',\n showProgressDetails: true\n }\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n\n this.hideModal = this.hideModal.bind(this)\n this.showModal = this.showModal.bind(this)\n\n this.addTarget = this.addTarget.bind(this)\n this.actions = this.actions.bind(this)\n this.hideAllPanels = this.hideAllPanels.bind(this)\n this.showPanel = this.showPanel.bind(this)\n this.initEvents = this.initEvents.bind(this)\n this.handleDrop = this.handleDrop.bind(this)\n this.pauseAll = this.pauseAll.bind(this)\n this.resumeAll = this.resumeAll.bind(this)\n this.render = this.render.bind(this)\n this.install = this.install.bind(this)\n }\n\n addTarget (plugin) {\n const callerPluginId = plugin.constructor.name\n const callerPluginName = plugin.title || callerPluginId\n const callerPluginIcon = plugin.icon || this.opts.defaultTabIcon\n const callerPluginType = plugin.type\n\n if (callerPluginType !== 'acquirer' &&\n callerPluginType !== 'progressindicator' &&\n callerPluginType !== 'presenter') {\n let msg = 'Error: Modal can only be used by plugins of types: acquirer, progressindicator, presenter'\n this.core.log(msg)\n return\n }\n\n const target = {\n id: callerPluginId,\n name: callerPluginName,\n icon: callerPluginIcon,\n type: callerPluginType,\n focus: plugin.focus,\n render: plugin.render,\n isHidden: true\n }\n\n const modal = this.core.getState().modal\n const newTargets = modal.targets.slice()\n newTargets.push(target)\n\n this.core.setState({\n modal: Object.assign({}, modal, {\n targets: newTargets\n })\n })\n\n return this.opts.target\n }\n\n hideAllPanels () {\n const modal = this.core.getState().modal\n\n const newTargets = modal.targets.map((target) => {\n return Object.assign({}, target, {\n isHidden: true\n })\n })\n\n this.core.setState({modal: Object.assign({}, modal, {\n targets: newTargets\n })})\n }\n\n showPanel (id) {\n const modal = this.core.getState().modal\n\n // hide all panels, except the one that matches current id\n const newTargets = modal.targets.map((target) => {\n if (target.type === 'acquirer') {\n if (target.id === id) {\n // target.focus()\n return Object.assign({}, target, {\n isHidden: false\n })\n }\n return Object.assign({}, target, {\n isHidden: true\n })\n }\n return target\n })\n\n this.core.setState({modal: Object.assign({}, modal, {\n targets: newTargets\n })})\n }\n\n hideModal () {\n const modal = this.core.getState().modal\n\n this.core.setState({\n modal: Object.assign({}, modal, {\n isHidden: true\n })\n })\n\n document.body.classList.remove('is-UppyDashboard-open')\n }\n\n showModal () {\n const modal = this.core.getState().modal\n\n this.core.setState({\n modal: Object.assign({}, modal, {\n isHidden: false\n })\n })\n\n // add class to body that sets position fixed\n document.body.classList.add('is-UppyDashboard-open')\n // focus on modal inner block\n document.querySelector('.UppyDashboard-inner').focus()\n }\n\n initEvents () {\n // const dashboardEl = document.querySelector(`${this.opts.target} .UppyDashboard`)\n\n // Modal open button\n const showModalTrigger = document.querySelector(this.opts.trigger)\n if (!this.opts.inline && showModalTrigger) {\n showModalTrigger.addEventListener('click', this.showModal)\n } else {\n this.core.log('Modal trigger wasn’t found')\n }\n\n // Close the Modal on esc key press\n document.body.addEventListener('keyup', (event) => {\n if (event.keyCode === 27) {\n this.hideModal()\n }\n })\n\n // Drag Drop\n dragDrop(this.el, (files) => {\n this.handleDrop(files)\n })\n }\n\n actions () {\n const bus = this.core.bus\n\n bus.on('core:file-add', () => {\n this.hideAllPanels()\n })\n\n bus.on('dashboard:file-card', (fileId) => {\n const modal = this.core.getState().modal\n\n this.core.setState({\n modal: Object.assign({}, modal, {\n fileCardFor: fileId || false\n })\n })\n })\n\n bus.on('core:success', (uploadedCount) => {\n bus.emit(\n 'informer',\n `${this.core.i18n('files', {'smart_count': uploadedCount})} successfully uploaded, Sir!`,\n 'info',\n 6000\n )\n })\n }\n\n handleDrop (files) {\n this.core.log('All right, someone dropped something...')\n\n files.forEach((file) => {\n this.core.bus.emit('core:file-add', {\n source: this.id,\n name: file.name,\n type: file.type,\n data: file\n })\n })\n }\n\n pauseAll () {\n this.core.bus.emit('core:pause-all')\n }\n\n resumeAll () {\n this.core.bus.emit('core:resume-all')\n }\n\n getTotalSpeed (files) {\n let totalSpeed = 0\n files.forEach((file) => {\n totalSpeed = totalSpeed + getSpeed(file.progress)\n })\n return totalSpeed\n }\n\n getTotalETA (files) {\n let totalSeconds = 0\n\n files.forEach((file) => {\n totalSeconds = totalSeconds + getETA(file.progress)\n })\n\n return totalSeconds\n }\n\n render (state) {\n const files = state.files\n\n const newFiles = Object.keys(files).filter((file) => {\n return !files[file].progress.uploadStarted\n })\n const uploadStartedFiles = Object.keys(files).filter((file) => {\n return files[file].progress.uploadStarted\n })\n const completeFiles = Object.keys(files).filter((file) => {\n return files[file].progress.uploadComplete\n })\n const inProgressFiles = Object.keys(files).filter((file) => {\n return !files[file].progress.uploadComplete &&\n files[file].progress.uploadStarted &&\n !files[file].isPaused\n })\n\n let inProgressFilesArray = []\n inProgressFiles.forEach((file) => {\n inProgressFilesArray.push(files[file])\n })\n\n const totalSpeed = prettyBytes(this.getTotalSpeed(inProgressFilesArray))\n const totalETA = prettyETA(this.getTotalETA(inProgressFilesArray))\n\n const isAllComplete = state.totalProgress === 100\n const isAllPaused = inProgressFiles.length === 0 && !isAllComplete\n\n const acquirers = state.modal.targets.filter((target) => {\n return target.type === 'acquirer'\n })\n\n let activeAcquirer = acquirers.filter((acquirer) => {\n return !acquirer.isHidden\n })[0]\n\n if (typeof activeAcquirer === 'undefined') {\n activeAcquirer = false\n }\n\n const progressindicators = state.modal.targets.filter((target) => {\n return target.type === 'progressindicator'\n })\n\n const addFile = (file) => {\n this.core.emitter.emit('core:file-add', file)\n }\n\n const removeFile = (fileID) => {\n this.core.emitter.emit('core:file-remove', fileID)\n }\n\n const startUpload = (ev) => {\n this.core.emitter.emit('core:upload')\n }\n\n const pauseUpload = (fileID) => {\n this.core.emitter.emit('core:upload-pause', fileID)\n }\n\n const showFileCard = (fileID) => {\n this.core.emitter.emit('dashboard:file-card', fileID)\n }\n\n const fileCardDone = (meta, fileID) => {\n this.core.emitter.emit('core:update-meta', meta, fileID)\n this.core.emitter.emit('dashboard:file-card')\n }\n\n const info = (text, type, duration) => {\n this.core.emitter.emit('informer', text, type, duration)\n }\n\n return Dashboard({\n state: state,\n modal: state.modal,\n newFiles: newFiles,\n files: files,\n totalFileCount: Object.keys(files).length,\n uploadStartedFiles: uploadStartedFiles,\n completeFiles: completeFiles,\n inProgressFiles: inProgressFiles,\n totalSpeed: totalSpeed,\n totalETA: totalETA,\n totalProgress: state.totalProgress,\n isAllComplete: isAllComplete,\n isAllPaused: isAllPaused,\n acquirers: acquirers,\n activeAcquirer: activeAcquirer,\n progressindicators: progressindicators,\n autoProceed: this.core.opts.autoProceed,\n id: this.id,\n container: this.opts.target,\n hideModal: this.hideModal,\n panelSelectorPrefix: this.opts.panelSelectorPrefix,\n showProgressDetails: this.opts.showProgressDetails,\n inline: this.opts.inline,\n semiTransparent: this.opts.semiTransparent,\n onPaste: this.handlePaste,\n showPanel: this.showPanel,\n hideAllPanels: this.hideAllPanels,\n log: this.core.log,\n bus: this.core.emitter,\n i18n: this.core.i18n,\n pauseAll: this.pauseAll,\n resumeAll: this.resumeAll,\n addFile: addFile,\n removeFile: removeFile,\n info: info,\n metaFields: state.metaFields,\n startUpload: startUpload,\n pauseUpload: pauseUpload,\n fileCardFor: state.modal.fileCardFor,\n showFileCard: showFileCard,\n fileCardDone: fileCardDone\n })\n }\n\n install () {\n // Set default state for Modal\n this.core.setState({modal: {\n isHidden: true,\n showFileCard: false,\n targets: []\n }})\n\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n\n this.initEvents()\n this.actions()\n }\n}\n","import yo from 'yo-yo'\n\n/**\n * Boilerplate that all Plugins share - and should not be used\n * directly. It also shows which methods final plugins should implement/override,\n * this deciding on structure.\n *\n * @param {object} main Uppy core object\n * @param {object} object with plugin options\n * @return {array | string} files or success/fail message\n */\nexport default class Plugin {\n\n constructor (core, opts) {\n this.core = core\n this.opts = opts || {}\n this.type = 'none'\n\n // clear everything inside the target selector\n this.opts.replaceTargetContent === this.opts.replaceTargetContent || true\n\n this.update = this.update.bind(this)\n this.mount = this.mount.bind(this)\n this.focus = this.focus.bind(this)\n this.install = this.install.bind(this)\n }\n\n update (state) {\n if (typeof this.el === 'undefined') {\n return\n }\n\n const newEl = this.render(state)\n yo.update(this.el, newEl)\n\n // optimizes performance?\n // requestAnimationFrame(() => {\n // const newEl = this.render(state)\n // yo.update(this.el, newEl)\n // })\n }\n\n /**\n * Check if supplied `target` is a `string` or an `object`.\n * If it’s an object — target is a plugin, and we search `plugins`\n * for a plugin with same name and return its target.\n *\n * @param {String|Object} target\n *\n */\n mount (target, plugin) {\n const callerPluginName = plugin.id\n\n if (typeof target === 'string') {\n this.core.log(`Installing ${callerPluginName} to ${target}`)\n\n // clear everything inside the target container\n if (this.opts.replaceTargetContent) {\n document.querySelector(target).innerHTML = ''\n }\n\n this.el = plugin.render(this.core.state)\n document.querySelector(target).appendChild(this.el)\n\n return target\n } else {\n // TODO: is instantiating the plugin really the way to roll\n // just to get the plugin name?\n const Target = target\n const targetPluginName = new Target().id\n\n this.core.log(`Installing ${callerPluginName} to ${targetPluginName}`)\n\n const targetPlugin = this.core.getPlugin(targetPluginName)\n const selectorTarget = targetPlugin.addTarget(plugin)\n\n return selectorTarget\n }\n }\n\n focus () {\n return\n }\n\n install () {\n return\n }\n}\n","import Plugin from './../Plugin'\nimport { toArray } from '../../core/Utils'\nimport dragDrop from 'drag-drop'\nimport html from '../../core/html'\n\n/**\n * Drag & Drop plugin\n *\n */\nexport default class DragDrop extends Plugin {\n constructor (core, opts, props) {\n super(core, opts)\n this.type = 'acquirer'\n this.id = 'DragDrop'\n this.title = 'Drag & Drop'\n this.props = props\n this.icon = html`\n <svg class=\"UppyIcon\" width=\"28\" height=\"28\" viewBox=\"0 0 16 16\">\n <path d=\"M15.982 2.97c0-.02 0-.02-.018-.037 0-.017-.017-.035-.035-.053 0 0 0-.018-.02-.018-.017-.018-.034-.053-.052-.07L13.19.123c-.017-.017-.034-.035-.07-.053h-.018c-.018-.017-.035-.017-.053-.034h-.02c-.017 0-.034-.018-.052-.018h-6.31a.415.415 0 0 0-.446.426V11.11c0 .25.196.446.445.446h8.89A.44.44 0 0 0 16 11.11V3.023c-.018-.018-.018-.035-.018-.053zm-2.65-1.46l1.157 1.157h-1.157V1.51zm1.78 9.157h-8V.89h5.332v2.22c0 .25.196.446.445.446h2.22v7.11z\"/>\n <path d=\"M9.778 12.89H4V2.666a.44.44 0 0 0-.444-.445.44.44 0 0 0-.445.445v10.666c0 .25.197.445.446.445h6.222a.44.44 0 0 0 .444-.445.44.44 0 0 0-.444-.444z\"/>\n <path d=\"M.444 16h6.223a.44.44 0 0 0 .444-.444.44.44 0 0 0-.443-.445H.89V4.89a.44.44 0 0 0-.446-.446A.44.44 0 0 0 0 4.89v10.666c0 .248.196.444.444.444z\"/>\n </svg>\n `\n\n // Default options\n const defaultOpts = {\n target: '.UppyDragDrop'\n }\n\n // Merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOpts, opts)\n\n // Check for browser dragDrop support\n this.isDragDropSupported = this.checkDragDropSupport()\n\n // Bind `this` to class methods\n this.handleDrop = this.handleDrop.bind(this)\n this.checkDragDropSupport = this.checkDragDropSupport.bind(this)\n this.handleInputChange = this.handleInputChange.bind(this)\n this.render = this.render.bind(this)\n }\n\n/**\n * Checks if the browser supports Drag & Drop (not supported on mobile devices, for example).\n * @return {Boolean} true if supported, false otherwise\n */\n checkDragDropSupport () {\n const div = document.createElement('div')\n\n if (!('draggable' in div) || !('ondragstart' in div && 'ondrop' in div)) {\n return false\n }\n\n if (!('FormData' in window)) {\n return false\n }\n\n if (!('FileReader' in window)) {\n return false\n }\n\n return true\n }\n\n handleDrop (files) {\n this.core.log('All right, someone dropped something...')\n\n files.forEach((file) => {\n this.props.addFile({\n source: this.id,\n name: file.name,\n type: file.type,\n data: file\n })\n // this.core.emitter.emit('file-add', {\n // source: this.id,\n // name: file.name,\n // type: file.type,\n // data: file\n // })\n })\n }\n\n handleInputChange (ev) {\n this.core.log('All right, something selected through input...')\n\n const files = toArray(ev.target.files)\n\n files.forEach((file) => {\n this.core.emitter.emit('core:file-add', {\n source: this.id,\n name: file.name,\n type: file.type,\n data: file\n })\n })\n }\n\n focus () {\n const firstInput = document.querySelector(`${this.target} .UppyDragDrop-focus`)\n\n // only works for the first time if wrapped in setTimeout for some reason\n setTimeout(function () {\n firstInput.focus()\n }, 10)\n }\n\n render (state) {\n // Another way not to render next/upload button — if Modal is used as a target\n const target = this.opts.target.name\n\n const onSelect = (ev) => {\n const input = document.querySelector(`${this.target} .UppyDragDrop-input`)\n input.click()\n }\n\n const next = (ev) => {\n ev.preventDefault()\n ev.stopPropagation()\n this.core.emitter.emit('core:upload')\n }\n\n const onSubmit = (ev) => {\n ev.preventDefault()\n }\n\n return html`\n <div class=\"UppyDragDrop-container ${this.isDragDropSupported ? 'is-dragdrop-supported' : ''}\">\n <form class=\"UppyDragDrop-inner\"\n onsubmit=${onSubmit}>\n <input class=\"UppyDragDrop-input UppyDragDrop-focus\"\n type=\"file\"\n name=\"files[]\"\n multiple=\"true\"\n value=\"\"\n onchange=${this.handleInputChange.bind(this)} />\n <label class=\"UppyDragDrop-label\" onclick=${onSelect}>\n <strong>${this.core.i18n('chooseFile')}</strong>\n <span class=\"UppyDragDrop-dragText\">${this.core.i18n('orDragDrop')}</span>\n </label>\n ${!this.core.opts.autoProceed && target !== 'Dashboard'\n ? html`<button class=\"UppyDragDrop-uploadBtn UppyNextBtn\"\n type=\"submit\"\n onclick=${next}>\n ${this.core.i18n('upload')}\n </button>`\n : ''}\n </form>\n </div>\n `\n }\n\n install () {\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n\n dragDrop(`${this.target} .UppyDragDrop-container`, (files) => {\n this.handleDrop(files)\n this.core.log(files)\n })\n }\n}\n","import Plugin from './Plugin'\nimport html from '../core/html'\n// import { createInlineWorker } from '../core/Utils'\n\n/**\n * Dummy\n *\n */\nexport default class Dummy extends Plugin {\n constructor (core, opts, props) {\n super(core, opts)\n this.type = 'acquirer'\n this.id = 'Dummy'\n this.title = 'Mr. Plugin'\n this.props = props\n\n // set default options\n const defaultOptions = {}\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n\n this.strange = html`<h1>this is strange 1</h1>`\n this.render = this.render.bind(this)\n this.install = this.install.bind(this)\n }\n\n addFakeFileJustToTest () {\n const blob = new Blob(\n ['data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIwIDEyMCI+CiAgPGNpcmNsZSBjeD0iNjAiIGN5PSI2MCIgcj0iNTAiLz4KPC9zdmc+Cg=='],\n {type: 'image/svg+xml'}\n )\n const file = {\n source: 'acceptance-test',\n name: 'test-file',\n type: 'image/svg+xml',\n data: blob\n }\n this.props.log('Adding fake file blob')\n this.props.addFile(file)\n }\n\n render () {\n const bla = html`<h2>this is strange 2</h2>`\n return html`\n <div class=\"wow-this-works\">\n <input class=\"UppyDummy-firstInput\" type=\"text\" value=\"hello\" onload=${(el) => {\n el.focus()\n }} />\n ${this.strange}\n ${bla}\n </div>\n `\n }\n\n // focus () {\n // return\n // console.log(`${this.target} .UppyDummy-firstInput`)\n //\n // const firstInput = document.querySelector(`${this.target} .UppyDummy-firstInput`)\n //\n // // only works for the first time if wrapped in setTimeout for some reason\n // // firstInput.focus()\n // setTimeout(function () {\n // firstInput.focus()\n // }, 10)\n //\n // setTimeout(() => {\n // this.core.emit('informer', 'Hello! I’m a test Informer message', 'info', 4500)\n // this.addFakeFileJustToTest()\n // }, 1000)\n // }\n\n install () {\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n\n // function workerFunc () {\n // self.addEventListener('message', (e) => {\n // const file = e.data.file\n // const reader = new FileReaderSync()\n // const dataURL = reader.readAsDataURL(file)\n // postMessage({file: dataURL})\n // })\n // }\n //\n // const worker = createInlineWorker(workerFunc)\n // const testFileBlob = new Blob(\n // ['data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTIwIDEyMCI+CiAgPGNpcmNsZSBjeD0iNjAiIGN5PSI2MCIgcj0iNTAiLz4KPC9zdmc+Cg=='],\n // {type: 'image/svg+xml'}\n // )\n // worker.postMessage({file: testFileBlob})\n // worker.addEventListener('message', (e) => {\n // console.log(e)\n // })\n }\n}\n","import Utils from '../../core/Utils'\nimport Plugin from '../Plugin'\nimport 'whatwg-fetch'\nimport html from '../../core/html'\n\nimport Provider from '../../uppy-base/src/plugins/Provider'\n\nimport AuthView from './AuthView'\nimport Browser from './new/Browser'\nimport ErrorView from './Error'\n\nexport default class Google extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.type = 'acquirer'\n this.id = 'GoogleDrive'\n this.title = 'Google Drive'\n this.icon = html`\n <svg class=\"UppyIcon UppyModalTab-icon\" width=\"28\" height=\"28\" viewBox=\"0 0 16 16\">\n <path d=\"M2.955 14.93l2.667-4.62H16l-2.667 4.62H2.955zm2.378-4.62l-2.666 4.62L0 10.31l5.19-8.99 2.666 4.62-2.523 4.37zm10.523-.25h-5.333l-5.19-8.99h5.334l5.19 8.99z\"/>\n </svg>\n `\n\n this.GoogleDrive = new Provider({\n host: this.opts.host,\n provider: 'drive'\n })\n\n this.files = []\n\n // this.core.socket.on('')\n // Logic\n this.addFile = this.addFile.bind(this)\n this.filterItems = this.filterItems.bind(this)\n this.filterQuery = this.filterQuery.bind(this)\n this.getFolder = this.getFolder.bind(this)\n this.getNextFolder = this.getNextFolder.bind(this)\n this.handleRowClick = this.handleRowClick.bind(this)\n this.logout = this.logout.bind(this)\n this.handleDemoAuth = this.handleDemoAuth.bind(this)\n this.sortByTitle = this.sortByTitle.bind(this)\n this.sortByDate = this.sortByDate.bind(this)\n\n // Visual\n this.render = this.render.bind(this)\n\n // set default options\n const defaultOptions = {}\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n }\n\n install () {\n // Set default state for Google Drive\n this.core.setState({\n googleDrive: {\n authenticated: false,\n files: [],\n folders: [],\n directories: [{\n title: 'My Drive',\n id: 'root'\n }],\n activeRow: -1,\n filterInput: ''\n }\n })\n\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n\n this.checkAuthentication()\n .then((authenticated) => {\n this.updateState({authenticated})\n\n console.log('are we authenticated?')\n console.log(authenticated)\n\n if (authenticated) {\n return this.getFolder('root')\n }\n\n return authenticated\n })\n .then((newState) => {\n this.updateState(newState)\n })\n\n return\n }\n\n focus () {\n }\n\n /**\n * Little shorthand to update the state with my new state\n */\n updateState (newState) {\n const {state} = this.core\n const googleDrive = Object.assign({}, state.googleDrive, newState)\n\n this.core.setState({googleDrive})\n }\n\n /**\n * Check to see if the user is authenticated.\n * @return {Promise} authentication status\n */\n checkAuthentication () {\n return fetch(`${this.opts.host}/drive/auth`, {\n method: 'get',\n credentials: 'include',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n }\n })\n .then((res) => {\n console.log(res.status)\n if (res.status < 200 || res.status > 300) {\n this.updateState({\n authenticated: false,\n error: true\n })\n let error = new Error(res.statusText)\n error.response = res\n throw error\n }\n\n return res.json()\n })\n .then((data) => data.authenticated)\n .catch((err) => err)\n }\n\n /**\n * Based on folder ID, fetch a new folder\n * @param {String} id Folder id\n * @return {Promise} Folders/files in folder\n */\n getFolder (id = 'root') {\n return this.GoogleDrive.list(id)\n .then((res) => {\n // let result = Utils.groupBy(data.items, (item) => item.mimeType)\n let folders = []\n let files = []\n res.items.forEach((item) => {\n if (item.mimeType === 'application/vnd.google-apps.folder') {\n folders.push(item)\n } else {\n files.push(item)\n }\n })\n return {\n folders,\n files\n }\n })\n .catch((err) => {\n return err\n })\n }\n\n /**\n * Fetches new folder and adds to breadcrumb nav\n * @param {String} id Folder id\n * @param {String} title Folder title\n */\n getNextFolder (id, title) {\n this.getFolder(id)\n .then((data) => {\n const state = this.core.getState().googleDrive\n\n const index = state.directories.findIndex((dir) => id === dir.id)\n let updatedDirectories\n\n if (index !== -1) {\n updatedDirectories = state.directories.slice(0, index + 1)\n } else {\n updatedDirectories = state.directories.concat([{\n id,\n title\n }])\n }\n\n this.updateState(Utils.extend(data, {\n directories: updatedDirectories\n }))\n })\n }\n\n addFile (file) {\n const tagFile = {\n source: this.id,\n data: file,\n name: file.title,\n type: file.mimeType,\n isRemote: true,\n body: {\n fileId: file.id\n },\n remote: {\n host: this.opts.host,\n url: `${this.opts.host}/drive/get/${file.id}`,\n body: {\n fileId: file.id\n }\n }\n }\n console.log('adding file')\n this.core.emitter.emit('core:file-add', tagFile)\n }\n\n handleError (response) {\n this.checkAuthentication()\n .then((authenticated) => {\n this.updateState({authenticated})\n })\n }\n\n /**\n * Removes session token on client side.\n */\n logout () {\n this.GoogleDrive.logout(location.href)\n .then((res) => res.json())\n .then((res) => {\n if (res.ok) {\n console.log('ok')\n const newState = {\n authenticated: false,\n files: [],\n folders: [],\n directories: [{\n title: 'My Drive',\n id: 'root'\n }]\n }\n\n this.updateState(newState)\n }\n })\n }\n\n getFileType (file) {\n const fileTypes = {\n 'application/vnd.google-apps.folder': 'Folder',\n 'application/vnd.google-apps.document': 'Google Docs',\n 'application/vnd.google-apps.spreadsheet': 'Google Sheets',\n 'application/vnd.google-apps.presentation': 'Google Slides',\n 'image/jpeg': 'JPEG Image',\n 'image/png': 'PNG Image'\n }\n\n return fileTypes[file.mimeType] ? fileTypes[file.mimeType] : file.fileExtension.toUpperCase()\n }\n\n /**\n * Used to set active file/folder.\n * @param {Object} file Active file/folder\n */\n handleRowClick (fileId) {\n const state = this.core.getState().googleDrive\n const newState = Object.assign({}, state, {\n activeRow: fileId\n })\n\n this.updateState(newState)\n }\n\n filterQuery (e) {\n const state = this.core.getState().googleDrive\n this.updateState(Object.assign({}, state, {\n filterInput: e.target.value\n }))\n }\n\n filterItems (items) {\n const state = this.core.getState().googleDrive\n return items.filter((folder) => {\n return folder.title.toLowerCase().indexOf(state.filterInput.toLowerCase()) !== -1\n })\n }\n\n sortByTitle () {\n const state = Object.assign({}, this.core.getState().googleDrive)\n const {files, folders, sorting} = state\n\n let sortedFiles = files.sort((fileA, fileB) => {\n if (sorting === 'titleDescending') {\n return fileB.title.localeCompare(fileA.title)\n }\n return fileA.title.localeCompare(fileB.title)\n })\n\n let sortedFolders = folders.sort((folderA, folderB) => {\n if (sorting === 'titleDescending') {\n return folderB.title.localeCompare(folderA.title)\n }\n return folderA.title.localeCompare(folderB.title)\n })\n\n this.updateState(Object.assign({}, state, {\n files: sortedFiles,\n folders: sortedFolders,\n sorting: (sorting === 'titleDescending') ? 'titleAscending' : 'titleDescending'\n }))\n }\n\n sortByDate () {\n const state = Object.assign({}, this.core.getState().googleDrive)\n const {files, folders, sorting} = state\n\n let sortedFiles = files.sort((fileA, fileB) => {\n let a = new Date(fileA.modifiedByMeDate)\n let b = new Date(fileB.modifiedByMeDate)\n\n if (sorting === 'dateDescending') {\n return a > b ? -1 : a < b ? 1 : 0\n }\n return a > b ? 1 : a < b ? -1 : 0\n })\n\n let sortedFolders = folders.sort((folderA, folderB) => {\n let a = new Date(folderA.modifiedByMeDate)\n let b = new Date(folderB.modifiedByMeDate)\n\n if (sorting === 'dateDescending') {\n return a > b ? -1 : a < b ? 1 : 0\n }\n\n return a > b ? 1 : a < b ? -1 : 0\n })\n\n this.updateState(Object.assign({}, state, {\n files: sortedFiles,\n folders: sortedFolders,\n sorting: (sorting === 'dateDescending') ? 'dateAscending' : 'dateDescending'\n }))\n }\n\n handleDemoAuth () {\n const state = this.core.getState().googleDrive\n this.updateState({}, state, {\n authenticated: true\n })\n }\n\n render (state) {\n const { authenticated, error } = state.googleDrive\n\n if (error) {\n return ErrorView({ error: error })\n }\n\n if (!authenticated) {\n const authState = btoa(JSON.stringify({\n redirect: location.href.split('#')[0]\n }))\n\n const link = `${this.opts.host}/connect/google?state=${authState}`\n\n return AuthView({\n link: link,\n demo: this.opts.demo,\n handleDemoAuth: this.handleDemoAuth\n })\n }\n\n const browserProps = Object.assign({}, state.googleDrive, {\n getNextFolder: this.getNextFolder,\n getFolder: this.getFolder,\n addFile: this.addFile,\n filterItems: this.filterItems,\n filterQuery: this.filterQuery,\n handleRowClick: this.handleRowClick,\n sortByTitle: this.sortByTitle,\n sortByDate: this.sortByDate,\n logout: this.logout,\n demo: this.opts.demo\n })\n\n return Browser(browserProps)\n }\n}\n","import Plugin from '../Plugin'\nimport WebcamProvider from '../../uppy-base/src/plugins/Webcam'\nimport { extend } from '../../core/Utils'\nimport WebcamIcon from './WebcamIcon'\nimport CameraScreen from './CameraScreen'\nimport PermissionsScreen from './PermissionsScreen'\n\n/**\n * Webcam\n */\nexport default class Webcam extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.userMedia = true\n this.protocol = location.protocol.match(/https/i) ? 'https' : 'http'\n this.type = 'acquirer'\n this.id = 'Webcam'\n this.title = 'Webcam'\n this.icon = WebcamIcon()\n\n // set default options\n const defaultOptions = {\n enableFlash: true\n }\n\n this.params = {\n swfURL: 'webcam.swf',\n width: 400,\n height: 300,\n dest_width: 800, // size of captured image\n dest_height: 600, // these default to width/height\n image_format: 'jpeg', // image format (may be jpeg or png)\n jpeg_quality: 90, // jpeg image quality from 0 (worst) to 100 (best)\n enable_flash: true, // enable flash fallback,\n force_flash: false, // force flash mode,\n flip_horiz: false, // flip image horiz (mirror mode)\n fps: 30, // camera frames per second\n upload_name: 'webcam', // name of file in upload post data\n constraints: null, // custom user media constraints,\n flashNotDetectedText: 'ERROR: No Adobe Flash Player detected. Webcam.js relies on Flash for browsers that do not support getUserMedia (like yours).',\n noInterfaceFoundText: 'No supported webcam interface found.',\n unfreeze_snap: true // Whether to unfreeze the camera after snap (defaults to true)\n }\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n\n this.install = this.install.bind(this)\n this.updateState = this.updateState.bind(this)\n\n this.render = this.render.bind(this)\n\n // Camera controls\n this.start = this.start.bind(this)\n this.takeSnapshot = this.takeSnapshot.bind(this)\n\n this.webcam = new WebcamProvider(this.opts, this.params)\n }\n\n start () {\n this.webcam.start()\n .then((stream) => {\n this.updateState({\n videoStream: stream,\n cameraReady: true\n })\n })\n .catch((err) => {\n this.updateState({\n cameraError: err\n })\n })\n }\n\n takeSnapshot () {\n const opts = {\n name: `webcam-${Date.now()}.jpg`,\n mimeType: 'image/jpeg'\n }\n\n const video = document.querySelector('.UppyWebcam-video')\n\n const image = this.webcam.getImage(video, opts)\n\n const tagFile = {\n source: this.id,\n name: opts.name,\n data: image.data,\n type: opts.mimeType\n }\n\n this.core.emitter.emit('core:file-add', tagFile)\n }\n\n render (state) {\n this.start()\n\n if (!state.webcam.cameraReady && !state.webcam.useTheFlash) {\n return PermissionsScreen(state.webcam)\n }\n\n if (!this.stream) {\n this.stream = state.webcam.videoStream ? URL.createObjectURL(state.webcam.videoStream) : null\n }\n\n // const stream = state.webcam.videoStream ? URL.createObjectURL(state.webcam.videoStream) : null\n\n return CameraScreen(extend(state.webcam, {\n onSnapshot: this.takeSnapshot,\n focus: this.focus,\n getSWFHTML: this.webcam.getSWFHTML,\n src: this.stream\n }))\n }\n\n focus () {\n setTimeout(() => {\n this.core.emitter.emit('informer', 'Smile!', 'info', 3500)\n }, 1000)\n }\n\n install () {\n this.webcam.init()\n this.core.setState({\n webcam: {\n cameraReady: false\n }\n })\n\n const target = this.opts.target\n const plugin = this\n this.target = this.mount(target, plugin)\n }\n\n /**\n * Little shorthand to update the state with my new state\n */\n updateState (newState) {\n const {state} = this.core\n const webcam = Object.assign({}, state.webcam, newState)\n\n this.core.setState({webcam})\n }\n}\n","import Plugin from './Plugin'\nimport tus from 'tus-js-client'\nimport UppySocket from '../core/UppySocket'\n\n/**\n * Tus resumable file uploader\n *\n */\nexport default class Tus10 extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.type = 'uploader'\n this.id = 'Tus'\n this.title = 'Tus'\n\n // set default options\n const defaultOptions = {\n resume: true,\n allowPause: true\n }\n\n // merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n }\n\n pauseResume (action, fileID) {\n const updatedFiles = Object.assign({}, this.core.getState().files)\n const inProgressUpdatedFiles = Object.keys(updatedFiles).filter((file) => {\n return !updatedFiles[file].progress.uploadComplete &&\n updatedFiles[file].progress.uploadStarted\n })\n\n switch (action) {\n case 'toggle':\n if (updatedFiles[fileID].uploadComplete) return\n\n const wasPaused = updatedFiles[fileID].isPaused || false\n const isPaused = !wasPaused\n let updatedFile\n if (wasPaused) {\n updatedFile = Object.assign({}, updatedFiles[fileID], {\n isPaused: false\n })\n } else {\n updatedFile = Object.assign({}, updatedFiles[fileID], {\n isPaused: true\n })\n }\n updatedFiles[fileID] = updatedFile\n this.core.setState({files: updatedFiles})\n return isPaused\n case 'pauseAll':\n inProgressUpdatedFiles.forEach((file) => {\n const updatedFile = Object.assign({}, updatedFiles[file], {\n isPaused: true\n })\n updatedFiles[file] = updatedFile\n })\n this.core.setState({files: updatedFiles})\n return\n case 'resumeAll':\n inProgressUpdatedFiles.forEach((file) => {\n const updatedFile = Object.assign({}, updatedFiles[file], {\n isPaused: false\n })\n updatedFiles[file] = updatedFile\n })\n this.core.setState({files: updatedFiles})\n return\n }\n }\n\n/**\n * Create a new Tus upload\n *\n * @param {object} file for use with upload\n * @param {integer} current file in a queue\n * @param {integer} total number of files in a queue\n * @returns {Promise}\n */\n upload (file, current, total) {\n this.core.log(`uploading ${current} of ${total}`)\n\n // Create a new tus upload\n return new Promise((resolve, reject) => {\n const upload = new tus.Upload(file.data, {\n\n // TODO merge this.opts or this.opts.tus here\n metadata: file.meta,\n resume: this.opts.resume,\n endpoint: this.opts.endpoint,\n\n onError: (err) => {\n this.core.log(err)\n this.core.emitter.emit('core:upload-error', file.id)\n reject('Failed because: ' + err)\n },\n onProgress: (bytesUploaded, bytesTotal) => {\n // Dispatch progress event\n console.log(bytesUploaded, bytesTotal)\n this.core.emitter.emit('core:upload-progress', {\n uploader: this,\n id: file.id,\n bytesUploaded: bytesUploaded,\n bytesTotal: bytesTotal\n })\n },\n onSuccess: () => {\n this.core.emitter.emit('core:upload-success', file.id, upload.url)\n\n this.core.log(`Download ${upload.file.name} from ${upload.url}`)\n resolve(upload)\n }\n })\n\n this.core.emitter.on('core:file-remove', (fileID) => {\n if (fileID === file.id) {\n console.log('removing file: ', fileID)\n upload.abort()\n resolve(`upload ${fileID} was removed`)\n }\n })\n\n this.core.emitter.on('core:upload-pause', (fileID) => {\n if (fileID === file.id) {\n const isPaused = this.pauseResume('toggle', fileID)\n isPaused ? upload.abort() : upload.start()\n }\n })\n\n this.core.emitter.on('core:pause-all', () => {\n const files = this.core.getState().files\n if (!files[file.id]) return\n upload.abort()\n })\n\n this.core.emitter.on('core:resume-all', () => {\n const files = this.core.getState().files\n if (!files[file.id]) return\n upload.start()\n })\n\n upload.start()\n this.core.emitter.emit('core:upload-started', file.id, upload)\n })\n }\n\n uploadRemote (file, current, total) {\n return new Promise((resolve, reject) => {\n this.core.log(file.remote.url)\n fetch(file.remote.url, {\n method: 'post',\n credentials: 'include',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify(Object.assign({}, file.remote.body, {\n endpoint: this.opts.endpoint,\n protocol: 'tus'\n }))\n })\n .then((res) => {\n if (res.status < 200 && res.status > 300) {\n return reject(res.statusText)\n }\n\n res.json()\n .then((data) => {\n // get the host domain\n var regex = /^(?:https?:\\/\\/)?(?:[^@\\/\\n]+@)?(?:www\\.)?([^:\\/\\n]+)/\n var host = regex.exec(file.remote.host)[1]\n\n var token = data.token\n var socket = new UppySocket({\n target: `ws://${host}:3020/api/${token}`\n })\n\n socket.on('progress', (progressData) => {\n const {progress, bytesUploaded, bytesTotal} = progressData\n\n if (progress) {\n this.core.log(`Upload progress: ${progress}`)\n\n // Dispatch progress event\n this.core.emitter.emit('core:upload-progress', {\n uploader: this,\n id: file.id,\n bytesUploaded: bytesUploaded,\n bytesTotal: bytesTotal\n })\n\n if (progress === '100.00') {\n this.core.emitter.emit('core:upload-success', file.id)\n socket.close()\n return resolve()\n }\n }\n })\n })\n })\n })\n }\n\n uploadFiles (files) {\n if (Object.keys(files).length === 0) {\n this.core.log('no files to upload!')\n return\n }\n\n const uploaders = []\n files.forEach((file, index) => {\n const current = parseInt(index, 10) + 1\n const total = files.length\n\n if (!file.isRemote) {\n uploaders.push(this.upload(file, current, total))\n } else {\n uploaders.push(this.uploadRemote(file, current, total))\n }\n })\n\n return Promise.all(uploaders)\n .then(() => {\n this.core.log('All files uploaded')\n return { uploadedCount: files.length }\n })\n .catch((err) => {\n this.core.log('Upload error: ' + err)\n })\n }\n\n selectForUpload (files) {\n // TODO: replace files[file].isRemote with some logic\n //\n // filter files that are now yet being uploaded / haven’t been uploaded\n // and remote too\n const filesForUpload = Object.keys(files).filter((file) => {\n if (!files[file].progress.uploadStarted || files[file].isRemote) {\n return true\n }\n return false\n }).map((file) => {\n return files[file]\n })\n\n this.uploadFiles(filesForUpload)\n }\n\n actions () {\n this.core.emitter.on('core:pause-all', () => {\n this.pauseResume('pauseAll')\n })\n\n this.core.emitter.on('core:resume-all', () => {\n this.pauseResume('resumeAll')\n })\n\n this.core.emitter.on('core:upload', () => {\n this.core.log('Tus is uploading...')\n const files = this.core.getState().files\n this.selectForUpload(files)\n })\n }\n\n addResumableUploadsCapabilityFlag () {\n const newCapabilities = Object.assign({}, this.core.getState().capabilities)\n newCapabilities.resumableUploads = true\n this.core.setState({\n capabilities: newCapabilities\n })\n }\n\n install () {\n this.addResumableUploadsCapabilityFlag()\n this.actions()\n }\n}\n","import Plugin from './Plugin'\n\nexport default class Multipart extends Plugin {\n constructor (core, opts) {\n super(core, opts)\n this.type = 'uploader'\n this.id = 'Multipart'\n this.title = 'Multipart'\n\n // Default options\n const defaultOptions = {\n fieldName: 'files[]',\n responseUrlFieldName: 'url',\n bundle: true\n }\n\n // Merge default options with the ones set by user\n this.opts = Object.assign({}, defaultOptions, opts)\n }\n\n upload (file, current, total) {\n this.core.log(`uploading ${current} of ${total}`)\n return new Promise((resolve, reject) => {\n // turn file into an array so we can use bundle\n // if (!this.opts.bundle) {\n // files = [files[current]]\n // }\n\n // for (let i in files) {\n // formPost.append(this.opts.fieldName, files[i])\n // }\n\n const formPost = new FormData()\n formPost.append(this.opts.fieldName, file.data)\n\n Object.keys(file.meta).forEach((item) => {\n console.log(file.meta, file.meta[item])\n formPost.append(item, file.meta[item])\n })\n\n const xhr = new XMLHttpRequest()\n\n xhr.upload.addEventListener('progress', (ev) => {\n if (ev.lengthComputable) {\n // Dispatch progress event\n this.core.emitter.emit('core:upload-progress', {\n uploader: this,\n id: file.id,\n bytesUploaded: ev.loaded,\n bytesTotal: ev.total\n })\n }\n })\n\n xhr.addEventListener('load', (ev) => {\n if (ev.target.status === 200) {\n const resp = JSON.parse(xhr.response)\n const uploadURL = resp[this.opts.responseUrlFieldName]\n\n this.core.emitter.emit('core:upload-success', file.id, uploadURL)\n\n this.core.log(`Download ${file.name} from ${file.uploadURL}`)\n return resolve(file)\n } else {\n this.core.emitter.emit('core:upload-error', file.id, xhr)\n return reject('Upload error')\n }\n\n // var upload = {}\n //\n // if (this.opts.bundle) {\n // upload = {files: files}\n // } else {\n // upload = {file: files[current]}\n // }\n })\n\n xhr.addEventListener('error', (ev) => {\n this.core.emitter.emit('core:upload-error', file.id)\n return reject('Upload error')\n })\n\n xhr.open('POST', this.opts.endpoint, true)\n xhr.send(formPost)\n this.core.emitter.emit('core:upload-started', file.id)\n })\n }\n\n selectForUpload (files) {\n if (Object.keys(files).length === 0) {\n this.core.log('no files to upload!')\n return\n }\n\n const filesForUpload = []\n Object.keys(files).forEach((file) => {\n if (!files[file].progress.uploadStarted || files[file].isRemote) {\n filesForUpload.push(files[file])\n }\n })\n\n const uploaders = []\n filesForUpload.forEach((file, i) => {\n const current = parseInt(i, 10) + 1\n const total = filesForUpload.length\n uploaders.push(this.upload(file, current, total))\n })\n\n return Promise.all(uploaders).then((result) => {\n this.core.log('Multipart has finished uploading!')\n })\n\n // if (this.opts.bundle) {\n // uploaders.push(this.upload(files, 0, files.length))\n // } else {\n // for (let i in files) {\n // uploaders.push(this.upload(files, i, files.length))\n // }\n // }\n }\n\n install () {\n const bus = this.core.emitter\n bus.on('core:upload', () => {\n this.core.log('Multipart is uploading...')\n const files = this.core.getState().files\n this.selectForUpload(files)\n })\n }\n}\n","import Utils from '../core/Utils'\nimport Translator from '../core/Translator'\nimport ee from 'namespace-emitter'\n// import deepFreeze from 'deep-freeze-strict'\nimport UppySocket from './UppySocket'\nimport en_US from '../locales/en_US'\n// import throttle from 'throttle-debounce/throttle'\n\n/**\n * Main Uppy core\n *\n * @param {object} opts general options, like locales, to show modal or not to show\n */\nexport default class Core {\n constructor (opts) {\n // set default options\n const defaultOptions = {\n // load English as the default locales\n locales: en_US,\n autoProceed: true,\n debug: false\n }\n\n // Mer