diff --git a/docs/assets/base-80a1f760-bcd7e298.js b/docs/assets/base-80a1f760-a943c6ef.js similarity index 89% rename from docs/assets/base-80a1f760-bcd7e298.js rename to docs/assets/base-80a1f760-a943c6ef.js index b110fa32..06289e50 100644 --- a/docs/assets/base-80a1f760-bcd7e298.js +++ b/docs/assets/base-80a1f760-a943c6ef.js @@ -1 +1 @@ -import{e as n}from"./index-8c06da67.js";var p=function(){function o(t,i,e){e===void 0&&(e={}),this.status="idle",this.options=e,this.sandboxSetup=i,this.iframeSelector=t}return o.prototype.updateOptions=function(t){n(this.options,t)||(this.options=t,this.updateSandbox())},o.prototype.updateSandbox=function(t,i){throw t===void 0&&(t=this.sandboxSetup),Error("Method not implemented")},o.prototype.destroy=function(){throw Error("Method not implemented")},o.prototype.dispatch=function(t){throw Error("Method not implemented")},o.prototype.listen=function(t){throw Error("Method not implemented")},o}();export{p as S}; +import{e as n}from"./index-e05958e4.js";var p=function(){function o(t,i,e){e===void 0&&(e={}),this.status="idle",this.options=e,this.sandboxSetup=i,this.iframeSelector=t}return o.prototype.updateOptions=function(t){n(this.options,t)||(this.options=t,this.updateSandbox())},o.prototype.updateSandbox=function(t,i){throw t===void 0&&(t=this.sandboxSetup),Error("Method not implemented")},o.prototype.destroy=function(){throw Error("Method not implemented")},o.prototype.dispatch=function(t){throw Error("Method not implemented")},o.prototype.listen=function(t){throw Error("Method not implemented")},o}();export{p as S}; diff --git a/docs/assets/client.utils-7a723432-7f20bf4f.js b/docs/assets/client.utils-7a723432-72786e5e.js similarity index 98% rename from docs/assets/client.utils-7a723432-7f20bf4f.js rename to docs/assets/client.utils-7a723432-72786e5e.js index 56ebbf0b..19dba57c 100644 --- a/docs/assets/client.utils-7a723432-7f20bf4f.js +++ b/docs/assets/client.utils-7a723432-72786e5e.js @@ -1 +1 @@ -import{d,i as b}from"./index-8c06da67.js";var M=function(){function e(){this.listeners={},this.listenersCount=0,this.channelId=Math.floor(Math.random()*1e6),this.listeners=[]}return e.prototype.cleanup=function(){this.listeners={},this.listenersCount=0},e.prototype.dispatch=function(r){Object.values(this.listeners).forEach(function(t){return t(r)})},e.prototype.listener=function(r){var t=this;if(typeof r!="function")return function(){};var u=this.listenersCount;return this.listeners[u]=r,this.listenersCount++,function(){delete t.listeners[u]}},e}();function p(e){return/[a-zA-Z.]/.test(e)}function y(e){return/[a-zA-Z]/.test(e)}function A(e){return/\s/.test(e)}function m(e){return/[&|]/.test(e)}function w(e){return/-/.test(e)}function S(e){return/["']/.test(e)}function E(e){return y(e)&&e===e.toUpperCase()}var a;(function(e){e.OR="OR",e.AND="AND",e.PIPE="PIPE",e.Command="Command",e.Argument="Argument",e.String="String",e.EnvVar="EnvVar"})(a||(a={}));var k=new Map([["&&",{type:a.AND}],["||",{type:a.OR}],["|",{type:a.PIPE}],["-",{type:a.Argument}]]);function P(e){var r=0,t=[];function u(){for(var n="";p(e[r])&&r-1}))return"adonis";var l=["nuxt","nuxt-edge","nuxt-ts","nuxt-ts-edge","nuxt3"];if(n.some(function(o){return l.indexOf(o)>-1}))return"nuxt";if(n.indexOf("next")>-1)return"next";var u=["apollo-server","apollo-server-express","apollo-server-hapi","apollo-server-koa","apollo-server-lambda","apollo-server-micro"];if(n.some(function(o){return u.indexOf(o)>-1}))return"apollo";if(n.indexOf("mdx-deck")>-1)return"mdx-deck";if(n.indexOf("gridsome")>-1)return"gridsome";if(n.indexOf("vuepress")>-1)return"vuepress";if(n.indexOf("ember-cli")>-1)return"ember";if(n.indexOf("sapper")>-1)return"sapper";if(n.indexOf("gatsby")>-1)return"gatsby";if(n.indexOf("quasar")>-1)return"quasar";if(n.indexOf("@docusaurus/core")>-1)return"docusaurus";if(n.indexOf("remix")>-1)return"remix";if(n.indexOf("astro")>-1)return"node";if(d.some(function(o){return o.endsWith(".re")}))return"reason";var b=["parcel-bundler","parcel"];if(n.some(function(o){return b.indexOf(o)>-1}))return"parcel";var h=["@dojo/core","@dojo/framework"];if(n.some(function(o){return h.indexOf(o)>-1}))return"@dojo/cli-create-app";if(n.indexOf("@nestjs/core")>-1||n.indexOf("@nestjs/common")>-1)return"nest";if(n.indexOf("react-styleguidist")>-1)return"styleguidist";if(n.indexOf("react-scripts")>-1)return"create-react-app";if(n.indexOf("react-scripts-ts")>-1)return"create-react-app-typescript";if(n.indexOf("@angular/core")>-1)return"angular-cli";if(n.indexOf("preact-cli")>-1)return"preact-cli";if(n.indexOf("@sveltech/routify")>-1||n.indexOf("@roxi/routify")>-1||n.indexOf("vite")>-1||n.indexOf("@frontity/core")>-1)return"node";if(n.indexOf("svelte")>-1)return"svelte";if(n.indexOf("vue")>-1)return"vue-cli";if(n.indexOf("cx")>-1)return"cxjs";var f=["express","koa","nodemon","ts-node","@tensorflow/tfjs-node","webpack-dev-server","snowpack"];if(n.some(function(o){return f.indexOf(o)>-1})||Object.keys(r).length>=P)return"node"}var v,N="https://"+((v="2.6.9")===null||v===void 0?void 0:v.replace(/\./g,"-"))+"-sandpack.codesandbox.io/",F=function(a){L(i,a);function i(t,r,s){s===void 0&&(s={});var e=a.call(this,t,r,s)||this;if(e.getTranspilerContext=function(){return new Promise(function(d){var c=e.listen(function(l){l.type==="transpiler-context"&&(d(l.data),c())});e.dispatch({type:"get-transpiler-context"})})},e.bundlerURL=s.bundlerURL||N,s.teamId&&(e.bundlerURL=e.bundlerURL.replace("https://","https://"+s.teamId+"-")+("?cache="+Date.now())),e.bundlerState=void 0,e.errors=[],e.status="initializing",typeof t=="string"){e.selector=t;var n=document.querySelector(t);g(n,"The element '"+t+"' was not found"),e.element=n,e.iframe=document.createElement("iframe"),e.initializeElement()}else e.element=t,e.iframe=t;return e.iframe.getAttribute("sandbox")||(e.iframe.setAttribute("sandbox","allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"),e.iframe.setAttribute("allow","accelerometer; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; clipboard-write;")),e.setLocationURLIntoIFrame(),e.iframeProtocol=new C(e.iframe,e.bundlerURL),e.unsubscribeGlobalListener=e.iframeProtocol.globalListen(function(d){d.type!=="initialized"||!e.iframe.contentWindow||(e.iframeProtocol.register(),e.options.fileResolver&&(e.fileResolverProtocol=new j("fs",function(c){return x(e,void 0,void 0,function(){return y(this,function(l){if(c.method==="isFile")return[2,this.options.fileResolver.isFile(c.params[0])];if(c.method==="readFile")return[2,this.options.fileResolver.readFile(c.params[0])];throw new Error("Method not supported")})})},e.iframeProtocol)),e.updateSandbox(e.sandboxSetup,!0))}),e.unsubscribeChannelListener=e.iframeProtocol.channelListen(function(d){switch(d.type){case"start":{e.errors=[];break}case"status":{e.status=d.status;break}case"action":{d.action==="show-error"&&(e.errors=m(m([],e.errors,!0),[k(d)],!1));break}case"done":{e.status="done";break}case"state":{e.bundlerState=d.state;break}}}),e}return i.prototype.setLocationURLIntoIFrame=function(){var t,r=this.options.startRoute?new URL(this.options.startRoute,this.bundlerURL).toString():this.bundlerURL;(t=this.iframe.contentWindow)===null||t===void 0||t.location.replace(r),this.iframe.src=r},i.prototype.destroy=function(){this.unsubscribeChannelListener(),this.unsubscribeGlobalListener(),this.iframeProtocol.cleanup()},i.prototype.updateOptions=function(t){O(this.options,t)||(this.options=t,this.updateSandbox())},i.prototype.updateSandbox=function(t,r){var s,e,n,d;t===void 0&&(t=this.sandboxSetup),this.sandboxSetup=p(p({},this.sandboxSetup),t);var c=this.getFiles(),l=Object.keys(c).reduce(function(h,f){var o;return p(p({},h),(o={},o[f]={code:c[f].code,path:f},o))},{}),u=JSON.parse(w(this.sandboxSetup.dependencies,this.sandboxSetup.devDependencies,this.sandboxSetup.entry));try{u=JSON.parse(c["/package.json"].code)}catch(h){console.error(S("could not parse package.json file: "+h.message))}var b=Object.keys(c).reduce(function(h,f){var o;return p(p({},h),(o={},o[f]={content:c[f].code,path:f},o))},{});this.dispatch({type:"compile",codesandbox:!0,version:3,isInitializationCompile:r,modules:l,reactDevTools:this.options.reactDevTools,externalResources:this.options.externalResources||[],hasFileResolver:!!this.options.fileResolver,disableDependencyPreprocessing:this.sandboxSetup.disableDependencyPreprocessing,template:this.sandboxSetup.template||E(u,b),showOpenInCodeSandbox:(s=this.options.showOpenInCodeSandbox)!==null&&s!==void 0?s:!0,showErrorScreen:(e=this.options.showErrorScreen)!==null&&e!==void 0?e:!0,showLoadingScreen:(n=this.options.showLoadingScreen)!==null&&n!==void 0?n:!1,skipEval:this.options.skipEval||!1,clearConsoleDisabled:!this.options.clearConsoleOnFirstCompile,logLevel:(d=this.options.logLevel)!==null&&d!==void 0?d:I.Info,customNpmRegistries:this.options.customNpmRegistries,teamId:this.options.teamId})},i.prototype.dispatch=function(t){t.type==="refresh"&&this.setLocationURLIntoIFrame(),this.iframeProtocol.dispatch(t)},i.prototype.listen=function(t){return this.iframeProtocol.channelListen(t)},i.prototype.getCodeSandboxURL=function(){var t=this.getFiles(),r=Object.keys(t).reduce(function(s,e){var n;return p(p({},s),(n={},n[e.replace("/","")]={content:t[e].code,isBinary:!1},n))},{});return fetch("https://codesandbox.io/api/v1/sandboxes/define?json=1",{method:"POST",body:JSON.stringify({files:r}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then(function(s){return s.json()}).then(function(s){return{sandboxId:s.sandbox_id,editorUrl:"https://codesandbox.io/s/"+s.sandbox_id,embedUrl:"https://codesandbox.io/embed/"+s.sandbox_id}})},i.prototype.getFiles=function(){var t=this.sandboxSetup;return t.files["/package.json"]===void 0?_(t.files,t.dependencies,t.devDependencies,t.entry):this.sandboxSetup.files},i.prototype.initializeElement=function(){this.iframe.style.border="0",this.iframe.style.width=this.options.width||"100%",this.iframe.style.height=this.options.height||"100%",this.iframe.style.overflow="hidden",g(this.element.parentNode,"The given iframe does not have a parent."),this.element.parentNode.replaceChild(this.iframe,this.element)},i}(R);export{F as SandpackRuntime}; +import{_ as L,e as O,c as p,f as w,d as S,S as I,g as _,n as g,h as m,a as x,b as y,j as k}from"./index-e05958e4.js";import{S as R}from"./base-80a1f760-a943c6ef.js";var j=function(){function a(i,t,r){var s=this;this.type=i,this.handleMessage=t,this.protocol=r,this._disposeMessageListener=this.protocol.channelListen(function(e){return x(s,void 0,void 0,function(){var n,d,l,c,l;return y(this,function(u){switch(u.label){case 0:if(!(e.type===this.getTypeId()&&e.method))return[3,4];n=e,u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.handleMessage(n)];case 2:return d=u.sent(),l={type:this.getTypeId(),msgId:n.msgId,result:d},this.protocol.dispatch(l),[3,4];case 3:return c=u.sent(),l={type:this.getTypeId(),msgId:n.msgId,error:{message:c.message}},this.protocol.dispatch(l),[3,4];case 4:return[2]}})})})}return a.prototype.getTypeId=function(){return"protocol-"+this.type},a.prototype.dispose=function(){this._disposeMessageListener()},a}(),C=function(){function a(i,t){this.globalListeners={},this.globalListenersCount=0,this.channelListeners={},this.channelListenersCount=0,this.channelId=Math.floor(Math.random()*1e6),this.frameWindow=i.contentWindow,this.origin=t,this.globalListeners=[],this.channelListeners=[],this.eventListener=this.eventListener.bind(this),typeof window<"u"&&window.addEventListener("message",this.eventListener)}return a.prototype.cleanup=function(){window.removeEventListener("message",this.eventListener),this.globalListeners={},this.channelListeners={},this.globalListenersCount=0,this.channelListenersCount=0},a.prototype.register=function(){this.frameWindow&&this.frameWindow.postMessage({type:"register-frame",origin:document.location.origin,id:this.channelId},this.origin)},a.prototype.dispatch=function(i){this.frameWindow&&this.frameWindow.postMessage(p({$id:this.channelId,codesandbox:!0},i),this.origin)},a.prototype.globalListen=function(i){var t=this;if(typeof i!="function")return function(){};var r=this.globalListenersCount;return this.globalListeners[r]=i,this.globalListenersCount++,function(){delete t.globalListeners[r]}},a.prototype.channelListen=function(i){var t=this;if(typeof i!="function")return function(){};var r=this.channelListenersCount;return this.channelListeners[r]=i,this.channelListenersCount++,function(){delete t.channelListeners[r]}},a.prototype.eventListener=function(i){if(i.source===this.frameWindow){var t=i.data;t.codesandbox&&(Object.values(this.globalListeners).forEach(function(r){return r(t)}),t.$id===this.channelId&&Object.values(this.channelListeners).forEach(function(r){return r(t)}))}},a}(),P=50;function E(a,i){if(!a)return"static";var t=a.dependencies,r=t===void 0?{}:t,s=a.devDependencies,e=s===void 0?{}:s,n=m(m([],Object.keys(r),!0),Object.keys(e),!0),d=Object.keys(i),c=["@adonisjs/framework","@adonisjs/core"];if(n.some(function(o){return c.indexOf(o)>-1}))return"adonis";var l=["nuxt","nuxt-edge","nuxt-ts","nuxt-ts-edge","nuxt3"];if(n.some(function(o){return l.indexOf(o)>-1}))return"nuxt";if(n.indexOf("next")>-1)return"next";var u=["apollo-server","apollo-server-express","apollo-server-hapi","apollo-server-koa","apollo-server-lambda","apollo-server-micro"];if(n.some(function(o){return u.indexOf(o)>-1}))return"apollo";if(n.indexOf("mdx-deck")>-1)return"mdx-deck";if(n.indexOf("gridsome")>-1)return"gridsome";if(n.indexOf("vuepress")>-1)return"vuepress";if(n.indexOf("ember-cli")>-1)return"ember";if(n.indexOf("sapper")>-1)return"sapper";if(n.indexOf("gatsby")>-1)return"gatsby";if(n.indexOf("quasar")>-1)return"quasar";if(n.indexOf("@docusaurus/core")>-1)return"docusaurus";if(n.indexOf("remix")>-1)return"remix";if(n.indexOf("astro")>-1)return"node";if(d.some(function(o){return o.endsWith(".re")}))return"reason";var b=["parcel-bundler","parcel"];if(n.some(function(o){return b.indexOf(o)>-1}))return"parcel";var h=["@dojo/core","@dojo/framework"];if(n.some(function(o){return h.indexOf(o)>-1}))return"@dojo/cli-create-app";if(n.indexOf("@nestjs/core")>-1||n.indexOf("@nestjs/common")>-1)return"nest";if(n.indexOf("react-styleguidist")>-1)return"styleguidist";if(n.indexOf("react-scripts")>-1)return"create-react-app";if(n.indexOf("react-scripts-ts")>-1)return"create-react-app-typescript";if(n.indexOf("@angular/core")>-1)return"angular-cli";if(n.indexOf("preact-cli")>-1)return"preact-cli";if(n.indexOf("@sveltech/routify")>-1||n.indexOf("@roxi/routify")>-1||n.indexOf("vite")>-1||n.indexOf("@frontity/core")>-1)return"node";if(n.indexOf("svelte")>-1)return"svelte";if(n.indexOf("vue")>-1)return"vue-cli";if(n.indexOf("cx")>-1)return"cxjs";var f=["express","koa","nodemon","ts-node","@tensorflow/tfjs-node","webpack-dev-server","snowpack"];if(n.some(function(o){return f.indexOf(o)>-1})||Object.keys(r).length>=P)return"node"}var v,N="https://"+((v="2.6.9")===null||v===void 0?void 0:v.replace(/\./g,"-"))+"-sandpack.codesandbox.io/",F=function(a){L(i,a);function i(t,r,s){s===void 0&&(s={});var e=a.call(this,t,r,s)||this;if(e.getTranspilerContext=function(){return new Promise(function(d){var c=e.listen(function(l){l.type==="transpiler-context"&&(d(l.data),c())});e.dispatch({type:"get-transpiler-context"})})},e.bundlerURL=s.bundlerURL||N,s.teamId&&(e.bundlerURL=e.bundlerURL.replace("https://","https://"+s.teamId+"-")+("?cache="+Date.now())),e.bundlerState=void 0,e.errors=[],e.status="initializing",typeof t=="string"){e.selector=t;var n=document.querySelector(t);g(n,"The element '"+t+"' was not found"),e.element=n,e.iframe=document.createElement("iframe"),e.initializeElement()}else e.element=t,e.iframe=t;return e.iframe.getAttribute("sandbox")||(e.iframe.setAttribute("sandbox","allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"),e.iframe.setAttribute("allow","accelerometer; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; clipboard-write;")),e.setLocationURLIntoIFrame(),e.iframeProtocol=new C(e.iframe,e.bundlerURL),e.unsubscribeGlobalListener=e.iframeProtocol.globalListen(function(d){d.type!=="initialized"||!e.iframe.contentWindow||(e.iframeProtocol.register(),e.options.fileResolver&&(e.fileResolverProtocol=new j("fs",function(c){return x(e,void 0,void 0,function(){return y(this,function(l){if(c.method==="isFile")return[2,this.options.fileResolver.isFile(c.params[0])];if(c.method==="readFile")return[2,this.options.fileResolver.readFile(c.params[0])];throw new Error("Method not supported")})})},e.iframeProtocol)),e.updateSandbox(e.sandboxSetup,!0))}),e.unsubscribeChannelListener=e.iframeProtocol.channelListen(function(d){switch(d.type){case"start":{e.errors=[];break}case"status":{e.status=d.status;break}case"action":{d.action==="show-error"&&(e.errors=m(m([],e.errors,!0),[k(d)],!1));break}case"done":{e.status="done";break}case"state":{e.bundlerState=d.state;break}}}),e}return i.prototype.setLocationURLIntoIFrame=function(){var t,r=this.options.startRoute?new URL(this.options.startRoute,this.bundlerURL).toString():this.bundlerURL;(t=this.iframe.contentWindow)===null||t===void 0||t.location.replace(r),this.iframe.src=r},i.prototype.destroy=function(){this.unsubscribeChannelListener(),this.unsubscribeGlobalListener(),this.iframeProtocol.cleanup()},i.prototype.updateOptions=function(t){O(this.options,t)||(this.options=t,this.updateSandbox())},i.prototype.updateSandbox=function(t,r){var s,e,n,d;t===void 0&&(t=this.sandboxSetup),this.sandboxSetup=p(p({},this.sandboxSetup),t);var c=this.getFiles(),l=Object.keys(c).reduce(function(h,f){var o;return p(p({},h),(o={},o[f]={code:c[f].code,path:f},o))},{}),u=JSON.parse(w(this.sandboxSetup.dependencies,this.sandboxSetup.devDependencies,this.sandboxSetup.entry));try{u=JSON.parse(c["/package.json"].code)}catch(h){console.error(S("could not parse package.json file: "+h.message))}var b=Object.keys(c).reduce(function(h,f){var o;return p(p({},h),(o={},o[f]={content:c[f].code,path:f},o))},{});this.dispatch({type:"compile",codesandbox:!0,version:3,isInitializationCompile:r,modules:l,reactDevTools:this.options.reactDevTools,externalResources:this.options.externalResources||[],hasFileResolver:!!this.options.fileResolver,disableDependencyPreprocessing:this.sandboxSetup.disableDependencyPreprocessing,template:this.sandboxSetup.template||E(u,b),showOpenInCodeSandbox:(s=this.options.showOpenInCodeSandbox)!==null&&s!==void 0?s:!0,showErrorScreen:(e=this.options.showErrorScreen)!==null&&e!==void 0?e:!0,showLoadingScreen:(n=this.options.showLoadingScreen)!==null&&n!==void 0?n:!1,skipEval:this.options.skipEval||!1,clearConsoleDisabled:!this.options.clearConsoleOnFirstCompile,logLevel:(d=this.options.logLevel)!==null&&d!==void 0?d:I.Info,customNpmRegistries:this.options.customNpmRegistries,teamId:this.options.teamId})},i.prototype.dispatch=function(t){t.type==="refresh"&&this.setLocationURLIntoIFrame(),this.iframeProtocol.dispatch(t)},i.prototype.listen=function(t){return this.iframeProtocol.channelListen(t)},i.prototype.getCodeSandboxURL=function(){var t=this.getFiles(),r=Object.keys(t).reduce(function(s,e){var n;return p(p({},s),(n={},n[e.replace("/","")]={content:t[e].code,isBinary:!1},n))},{});return fetch("https://codesandbox.io/api/v1/sandboxes/define?json=1",{method:"POST",body:JSON.stringify({files:r}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then(function(s){return s.json()}).then(function(s){return{sandboxId:s.sandbox_id,editorUrl:"https://codesandbox.io/s/"+s.sandbox_id,embedUrl:"https://codesandbox.io/embed/"+s.sandbox_id}})},i.prototype.getFiles=function(){var t=this.sandboxSetup;return t.files["/package.json"]===void 0?_(t.files,t.dependencies,t.devDependencies,t.entry):this.sandboxSetup.files},i.prototype.initializeElement=function(){this.iframe.style.border="0",this.iframe.style.width=this.options.width||"100%",this.iframe.style.height=this.options.height||"100%",this.iframe.style.overflow="hidden",g(this.element.parentNode,"The given iframe does not have a parent."),this.element.parentNode.replaceChild(this.iframe,this.element)},i}(R);export{F as SandpackRuntime}; diff --git a/docs/assets/index-bd1ff004-6c05cbad.js b/docs/assets/index-bd1ff004-aa0e1e4a.js similarity index 99% rename from docs/assets/index-bd1ff004-6c05cbad.js rename to docs/assets/index-bd1ff004-aa0e1e4a.js index dcba7c71..3486a782 100644 --- a/docs/assets/index-bd1ff004-6c05cbad.js +++ b/docs/assets/index-bd1ff004-aa0e1e4a.js @@ -1,4 +1,4 @@ -import{_ as k,a as j,b as z}from"./index-8c06da67.js";import{S as q}from"./base-80a1f760-bcd7e298.js";import{a as _,E as U}from"./client.utils-7a723432-7f20bf4f.js";var F=Object.create,u=Object.defineProperty,T=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,P=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty,x=(i,a)=>function(){return a||(0,i[d(i)[0]])((a={exports:{}}).exports,a),a.exports},E=(i,a)=>{for(var e in a)u(i,e,{get:a[e],enumerable:!0})},v=(i,a,e,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of d(a))!S.call(i,s)&&s!==e&&u(i,s,{get:()=>a[s],enumerable:!(n=T(a,s))||n.enumerable});return i},C=(i,a,e)=>(e=i!=null?F(P(i)):{},v(a||!i||!i.__esModule?u(e,"default",{value:i,enumerable:!0}):e,i)),M=i=>v(u({},"__esModule",{value:!0}),i),O=x({"node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json"(i,a){a.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"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",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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",compressible:!0,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",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"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",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,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",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,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/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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/pkcs8-encrypted":{source:"iana"},"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",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"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/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"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",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"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:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{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.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"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",compressible:!1,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",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"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.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,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.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"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:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"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.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{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.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"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.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"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:!0},"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",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"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",compressible:!0,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.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"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:!0},"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.dvbisl+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"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.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"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.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"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.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{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.familysearch.gedcom+zip":{source:"iana",compressible:!1},"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.ficlab.flb+zip":{source:"iana",compressible:!1},"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.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"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.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"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:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"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.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"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:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"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":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"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",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"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:!0},"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.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"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:!0,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:!1,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:!0,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",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"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",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,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",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"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:!1,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.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"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",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"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",compressible:!0},"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:!1,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:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,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.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"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",compressible:!0},"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.psfs":{source:"iana"},"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",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{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",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"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",compressible:!0,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.sar":{source:"iana"},"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.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"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.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"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",compressible:!0,extensions:["wadl"]},"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.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"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",compressible:!0,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:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{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",charset:"UTF-8",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.dpp":{source:"iana"},"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",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"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",compressible:!0},"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",compressible:!0,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.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"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",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,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-arj":{compressible:!1,extensions:["arj"]},"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:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,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:!1},"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",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,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-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-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:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,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:!1},"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:!0,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:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,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:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,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:!0,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-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,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",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"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:!1,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/flexfec":{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:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"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/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{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/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{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.dts.uhd":{source:"iana"},"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.presonus.multitrack":{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:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,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/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"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",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"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.pco.b16":{source:"iana",extensions:["b16"]},"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",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"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:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,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:!1},"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",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,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",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,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",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,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/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"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:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{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",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"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.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"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":{source:"iana",charset:"UTF-8",compressible:!0,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:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,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:!0,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:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,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:!1,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:!0},"x-shader/x-vertex":{compressible:!0}}}}),A=x({"node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js"(i,a){a.exports=O()}}),b={};E(b,{PreviewController:()=>H,getExtension:()=>h,joinFilepath:()=>g,normalizeFilepath:()=>m});var R=M(b),l="$CSB_RELAY",I=C(A()),f=new Map,$=Object.entries(I.default);for(const[i,a]of $){const e=a.extensions;if(e!=null&&e.length)for(const n of e)f.set(n,i)}var L=f,N=0;function W(){const i=Date.now(),a=Math.round(Math.random()*1e4),e=N+=1;return(+`${i}${a}${e}`).toString(16)}function m(i){return"/"+i.split("/").filter(Boolean).join("/")}function g(i,a){return m(i+"/"+a)}function h(i){const a=i.split(".");return a.length<=1?"":a[a.length-1]}var H=class{constructor(i){this.initPromise=null,this.baseUrl=new URL(i.baseUrl),this.getFileContent=i.getFileContent,this.indexFiles=i.indexFiles??["index.html","index.html"]}async getIndexAtPath(i){for(const a of this.indexFiles)try{return await this.getFileContent(g(i,a))}catch{}throw new Error("No index file not found")}async handleWorkerRequest(i){if(!this.initPromise)throw new Error("Init promise is null");const[a,e]=await this.initPromise;try{const n=m(new URL(i.url,a).pathname);let s=null;const c={};try{s=await this.getFileContent(n)}catch{}if(s==null&&(s=await this.getIndexAtPath(n),c["Content-Type"]="text/html; charset=utf-8"),s==null)throw new Error("File not found");if(!c["Content-Type"]){const t=h(n),p=L.get(t);p&&(c["Content-Type"]=p)}const o={$channel:l,$type:"preview/response",id:i.id,headers:c,status:200,body:s};e.postMessage(o)}catch{const s={$channel:l,$type:"preview/response",id:i.id,headers:{"Content-Type":"text/html; charset=utf-8"},status:404,body:"File not found"};e.postMessage(s)}}getRelayUrl(i){const a=new URL(i);return a.pathname="/__csb_relay/",a.toString()}async _initPreview(){const i=W(),a=new URL(this.baseUrl);a.hostname=i+"-"+a.hostname,a.pathname="/";const e=this.getRelayUrl(a.toString()),n=document.createElement("iframe");n.setAttribute("src",e.toString()),n.style.display="none",document.body.appendChild(n);const s=new MessageChannel,c=n.contentWindow;if(!c)throw new Error("Could not get iframe contentWindow");return new Promise(o=>{const t=s.port1;t.onmessage=p=>{if(typeof p.data=="object"&&p.data.$channel===l)switch(p.data.$type){case"preview/ready":o([a.toString(),t,n]);break;case"preview/request":this.handleWorkerRequest(p.data);break}},n.onload=()=>{const p={$channel:l,$type:"preview/init"};c.postMessage(p,"*",[s.port2])}})}initPreview(){return this.initPromise||(this.initPromise=this._initPreview()),this.initPromise.then(i=>i[0])}destroy(){this.initPromise&&(this.initPromise.then(a=>{a[1].close();const e=this.getRelayUrl(a[0]);document.body.querySelectorAll(`src="${e}"`).forEach(s=>s.remove())}),this.initPromise=null)}},D=function(i,a,e){var n=i.exec(a);if(n&&n.length>=1){var s=n.index+n[0].length,c=a.substring(0,s),o=a.substring(s);return c+e+o}},w=function(i){return typeof i=="string"?i:new TextDecoder().decode(i)},B=function(i){var a=w(i),e=new DOMParser,n=e.parseFromString(a,"text/html");n.documentElement.getAttribute("lang")||n.documentElement.setAttribute("lang","en");var s=n.documentElement.outerHTML;return` +import{_ as k,a as j,b as z}from"./index-e05958e4.js";import{S as q}from"./base-80a1f760-a943c6ef.js";import{a as _,E as U}from"./client.utils-7a723432-72786e5e.js";var F=Object.create,u=Object.defineProperty,T=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,P=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty,x=(i,a)=>function(){return a||(0,i[d(i)[0]])((a={exports:{}}).exports,a),a.exports},E=(i,a)=>{for(var e in a)u(i,e,{get:a[e],enumerable:!0})},v=(i,a,e,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of d(a))!S.call(i,s)&&s!==e&&u(i,s,{get:()=>a[s],enumerable:!(n=T(a,s))||n.enumerable});return i},C=(i,a,e)=>(e=i!=null?F(P(i)):{},v(a||!i||!i.__esModule?u(e,"default",{value:i,enumerable:!0}):e,i)),M=i=>v(u({},"__esModule",{value:!0}),i),O=x({"node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/db.json"(i,a){a.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"application/aml":{source:"iana"},"application/andrew-inset":{source:"iana",extensions:["ez"]},"application/applefile":{source:"iana"},"application/applixware":{source:"apache",extensions:["aw"]},"application/at+jwt":{source:"iana"},"application/atf":{source:"iana"},"application/atfx":{source:"iana"},"application/atom+xml":{source:"iana",compressible:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,extensions:["cdfx"]},"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",compressible:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"application/fits":{source:"iana"},"application/flexfec":{source:"iana"},"application/font-sfnt":{source:"iana"},"application/font-tdpfr":{source:"iana",extensions:["pfr"]},"application/font-woff":{source:"iana",compressible:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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",compressible:!0,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",compressible:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"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",compressible:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,extensions:["mets"]},"application/mf4":{source:"iana"},"application/mikey":{source:"iana"},"application/mipc":{source:"iana"},"application/missing-blocks+cbor-seq":{source:"iana"},"application/mmt-aei+xml":{source:"iana",compressible:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,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",compressible:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"application/multipart-core":{source:"iana"},"application/mxf":{source:"iana",extensions:["mxf"]},"application/n-quads":{source:"iana",extensions:["nq"]},"application/n-triples":{source:"iana",extensions:["nt"]},"application/nasdata":{source:"iana"},"application/news-checkgroups":{source:"iana",charset:"US-ASCII"},"application/news-groupinfo":{source:"iana",charset:"US-ASCII"},"application/news-transmission":{source:"iana"},"application/nlsml+xml":{source:"iana",compressible:!0},"application/node":{source:"iana",extensions:["cjs"]},"application/nss":{source:"iana"},"application/oauth-authz-req+jwt":{source:"iana"},"application/oblivious-dns-message":{source:"iana"},"application/ocsp-request":{source:"iana"},"application/ocsp-response":{source:"iana"},"application/octet-stream":{source:"iana",compressible:!1,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/odm+xml":{source:"iana",compressible:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,extensions:["pgp"]},"application/pgp-keys":{source:"iana",extensions:["asc"]},"application/pgp-signature":{source:"iana",extensions:["asc","sig"]},"application/pics-rules":{source:"apache",extensions:["prf"]},"application/pidf+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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/pkcs8-encrypted":{source:"iana"},"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",compressible:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,extensions:["provx"]},"application/prs.alvestrand.titrax-sheet":{source:"iana"},"application/prs.cww":{source:"iana",extensions:["cww"]},"application/prs.cyn":{source:"iana",charset:"7-BIT"},"application/prs.hpub+zip":{source:"iana",compressible:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,extensions:["rusd"]},"application/rpki-ghostbusters":{source:"iana",extensions:["gbr"]},"application/rpki-manifest":{source:"iana",extensions:["mft"]},"application/rpki-publication":{source:"iana"},"application/rpki-roa":{source:"iana",extensions:["roa"]},"application/rpki-updown":{source:"iana"},"application/rsd+xml":{source:"apache",compressible:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"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/secevent+jwt":{source:"iana"},"application/senml+cbor":{source:"iana"},"application/senml+json":{source:"iana",compressible:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"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",compressible:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"application/simple-message-summary":{source:"iana"},"application/simplesymbolcontainer":{source:"iana"},"application/sipc":{source:"iana"},"application/slate":{source:"iana"},"application/smil":{source:"iana"},"application/smil+xml":{source:"iana",compressible:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,extensions:["swidtag"]},"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:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,extensions:["tfi"]},"application/timestamp-query":{source:"iana"},"application/timestamp-reply":{source:"iana"},"application/timestamped-data":{source:"iana",extensions:["tsd"]},"application/tlsrpt+gzip":{source:"iana"},"application/tlsrpt+json":{source:"iana",compressible:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-v2x-local-service-information":{source:"iana"},"application/vnd.3gpp.5gnas":{source:"iana"},"application/vnd.3gpp.access-transfer-events+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gtpc":{source:"iana"},"application/vnd.3gpp.interworking-data":{source:"iana"},"application/vnd.3gpp.lpp":{source:"iana"},"application/vnd.3gpp.mc-signalling-ear":{source:"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ngap":{source:"iana"},"application/vnd.3gpp.pfcp":{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.s1ap":{source:"iana"},"application/vnd.3gpp.sms":{source:"iana"},"application/vnd.3gpp.sms+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"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",compressible:!1,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",compressible:!0,extensions:["xdp"]},"application/vnd.adobe.xfdf":{source:"iana",extensions:["xfdf"]},"application/vnd.aether.imp":{source:"iana"},"application/vnd.afpc.afplinedata":{source:"iana"},"application/vnd.afpc.afplinedata-pagedef":{source:"iana"},"application/vnd.afpc.cmoca-cmresource":{source:"iana"},"application/vnd.afpc.foca-charset":{source:"iana"},"application/vnd.afpc.foca-codedfont":{source:"iana"},"application/vnd.afpc.foca-codepage":{source:"iana"},"application/vnd.afpc.modca":{source:"iana"},"application/vnd.afpc.modca-cmtable":{source:"iana"},"application/vnd.afpc.modca-formdef":{source:"iana"},"application/vnd.afpc.modca-mediummap":{source:"iana"},"application/vnd.afpc.modca-objectcontainer":{source:"iana"},"application/vnd.afpc.modca-overlay":{source:"iana"},"application/vnd.afpc.modca-pagesegment":{source:"iana"},"application/vnd.age":{source:"iana",extensions:["age"]},"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.amadeus+json":{source:"iana",compressible:!0},"application/vnd.amazon.ebook":{source:"apache",extensions:["azw"]},"application/vnd.amazon.mobi8-ebook":{source:"iana"},"application/vnd.americandynamics.acc":{source:"iana",extensions:["acc"]},"application/vnd.amiga.ami":{source:"iana",extensions:["ami"]},"application/vnd.amundsen.maze+xml":{source:"iana",compressible:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,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.arrow.file":{source:"iana"},"application/vnd.apache.arrow.stream":{source:"iana"},"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:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,extensions:["mpkg"]},"application/vnd.apple.keynote":{source:"iana",extensions:["key"]},"application/vnd.apple.mpegurl":{source:"iana",extensions:["m3u8"]},"application/vnd.apple.numbers":{source:"iana",extensions:["numbers"]},"application/vnd.apple.pages":{source:"iana",extensions:["pages"]},"application/vnd.apple.pkpass":{compressible:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"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.avalon+json":{source:"iana",compressible:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,extensions:["bmml"]},"application/vnd.balsamiq.bmpr":{source:"iana"},"application/vnd.banana-accounting":{source:"iana"},"application/vnd.bbf.usp.error":{source:"iana"},"application/vnd.bbf.usp.msg":{source:"iana"},"application/vnd.bbf.usp.msg+json":{source:"iana",compressible:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"application/vnd.blink-idb-value-wrapper":{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.bpf":{source:"iana"},"application/vnd.bpf3":{source:"iana"},"application/vnd.businessobjects":{source:"iana",extensions:["rep"]},"application/vnd.byu.uapi+json":{source:"iana",compressible:!0},"application/vnd.cab-jscript":{source:"iana"},"application/vnd.canon-cpdl":{source:"iana"},"application/vnd.canon-lips":{source:"iana"},"application/vnd.capasystems-pg+json":{source:"iana",compressible:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,extensions:["cdxml"]},"application/vnd.chess-pgn":{source:"iana"},"application/vnd.chipnuts.karaoke-mmd":{source:"iana",extensions:["mmd"]},"application/vnd.ciedi":{source:"iana"},"application/vnd.cinderella":{source:"iana",extensions:["cdy"]},"application/vnd.cirpack.isdn-ext":{source:"iana"},"application/vnd.citationstyles.style+xml":{source:"iana",compressible:!0,extensions:["csl"]},"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.collabio.xodocuments.document":{source:"iana"},"application/vnd.collabio.xodocuments.document-template":{source:"iana"},"application/vnd.collabio.xodocuments.presentation":{source:"iana"},"application/vnd.collabio.xodocuments.presentation-template":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{source:"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{source:"iana"},"application/vnd.collection+json":{source:"iana",compressible:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"application/vnd.comicbook-rar":{source:"iana"},"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:!0},"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",compressible:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"application/vnd.crypto-shade-file":{source:"iana"},"application/vnd.cryptomator.encrypted":{source:"iana"},"application/vnd.cryptomator.vault":{source:"iana"},"application/vnd.ctc-posml":{source:"iana",extensions:["pml"]},"application/vnd.ctct.ws+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"application/vnd.dbf":{source:"iana",extensions:["dbf"]},"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",compressible:!0,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.dir-bi.plate-dl-nosuffix":{source:"iana"},"application/vnd.dm.delegation+xml":{source:"iana",compressible:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"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:!0},"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.dvbisl+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"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.ecip.rlp":{source:"iana"},"application/vnd.eclipse.ditto+json":{source:"iana",compressible:!0},"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.efi.img":{source:"iana"},"application/vnd.efi.iso":{source:"iana"},"application/vnd.emclient.accessrequest+xml":{source:"iana",compressible:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"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.espass-espass+zip":{source:"iana",compressible:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"application/vnd.eudora.data":{source:"iana"},"application/vnd.evolv.ecig.profile":{source:"iana"},"application/vnd.evolv.ecig.settings":{source:"iana"},"application/vnd.evolv.ecig.theme":{source:"iana"},"application/vnd.exstream-empower+zip":{source:"iana",compressible:!1},"application/vnd.exstream-package":{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.familysearch.gedcom+zip":{source:"iana",compressible:!1},"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.ficlab.flb+zip":{source:"iana",compressible:!1},"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.fujifilm.fb.docuworks":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{source:"iana"},"application/vnd.fujifilm.fb.docuworks.container":{source:"iana"},"application/vnd.fujifilm.fb.jfi+xml":{source:"iana",compressible:!0},"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.futoin+cbor":{source:"iana"},"application/vnd.futoin+json":{source:"iana",compressible:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"application/vnd.geogebra.file":{source:"iana",extensions:["ggb"]},"application/vnd.geogebra.slides":{source:"iana"},"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:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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.hyper+json":{source:"iana",compressible:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"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.imagemeter.folder+zip":{source:"iana",compressible:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"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:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,extensions:["irp"]},"application/vnd.is-xpr":{source:"iana",extensions:["xpr"]},"application/vnd.isac.fcs":{source:"iana",extensions:["fcs"]},"application/vnd.iso11783-10+zip":{source:"iana",compressible:!1},"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":{source:"iana"},"application/vnd.las.las+json":{source:"iana",compressible:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"application/vnd.loom":{source:"iana"},"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",extensions:["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"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:!0},"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.microsoft.windows.thumbnail-cache":{source:"iana"},"application/vnd.miele+json":{source:"iana",compressible:!0},"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:!0,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:!1,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:!0,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",compressible:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,extensions:["msg"]},"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",compressible:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,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",compressible:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"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:!1,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.nacamar.ybrid+json":{source:"iana",compressible:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"application/vnd.nebumind.line":{source:"iana"},"application/vnd.nervana":{source:"iana"},"application/vnd.netfpx":{source:"iana"},"application/vnd.neurolanguage.nlu":{source:"iana",extensions:["nlu"]},"application/vnd.nimn":{source:"iana"},"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",compressible:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,extensions:["ac"]},"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",compressible:!0},"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:!1,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:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,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.ocf+cbor":{source:"iana"},"application/vnd.oci.image.manifest.v1+json":{source:"iana",compressible:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omaloc-supl-init":{source:"iana"},"application/vnd.onepager":{source:"iana"},"application/vnd.onepagertamp":{source:"iana"},"application/vnd.onepagertamx":{source:"iana"},"application/vnd.onepagertat":{source:"iana"},"application/vnd.onepagertatp":{source:"iana"},"application/vnd.onepagertatx":{source:"iana"},"application/vnd.openblox.game+xml":{source:"iana",compressible:!0,extensions:["obgx"]},"application/vnd.openblox.game-binary":{source:"iana"},"application/vnd.openeye.oeb":{source:"iana"},"application/vnd.openofficeorg.extension":{source:"apache",extensions:["oxt"]},"application/vnd.openstreetmap.data+xml":{source:"iana",compressible:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"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",compressible:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"application/vnd.palm":{source:"iana",extensions:["pdb","pqa","oprc"]},"application/vnd.panoply":{source:"iana"},"application/vnd.paos.xml":{source:"iana"},"application/vnd.patentdive":{source:"iana"},"application/vnd.patientecommsdoc":{source:"iana"},"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",compressible:!0},"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.psfs":{source:"iana"},"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",compressible:!0},"application/vnd.qualcomm.brew-app-res":{source:"iana"},"application/vnd.quarantainenet":{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",compressible:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"application/vnd.rainstor.data":{source:"iana"},"application/vnd.rapid":{source:"iana"},"application/vnd.rar":{source:"iana",extensions:["rar"]},"application/vnd.realvnc.bed":{source:"iana",extensions:["bed"]},"application/vnd.recordare.musicxml":{source:"iana",extensions:["mxl"]},"application/vnd.recordare.musicxml+xml":{source:"iana",compressible:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"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",compressible:!0,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.sar":{source:"iana"},"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.seis+json":{source:"iana",compressible:!0},"application/vnd.sema":{source:"iana",extensions:["sema"]},"application/vnd.semd":{source:"iana",extensions:["semd"]},"application/vnd.semf":{source:"iana",extensions:["semf"]},"application/vnd.shade-save-file":{source:"iana"},"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.shootproof+json":{source:"iana",compressible:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"application/vnd.shp":{source:"iana"},"application/vnd.shx":{source:"iana"},"application/vnd.sigrok.session":{source:"iana"},"application/vnd.simtech-mindmapper":{source:"iana",extensions:["twd","twds"]},"application/vnd.siren+json":{source:"iana",compressible:!0},"application/vnd.smaf":{source:"iana",extensions:["mmf"]},"application/vnd.smart.notebook":{source:"iana"},"application/vnd.smart.teacher":{source:"iana",extensions:["teacher"]},"application/vnd.snesdev-page-table":{source:"iana"},"application/vnd.software602.filler.form+xml":{source:"iana",compressible:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,extensions:["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{source:"iana",extensions:["dxp"]},"application/vnd.spotfire.sfs":{source:"iana",extensions:["sfs"]},"application/vnd.sqlite3":{source:"iana"},"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",compressible:!0,extensions:["wadl"]},"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.sycle+xml":{source:"iana",compressible:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xsm"]},"application/vnd.syncml.dm+wbxml":{source:"iana",charset:"UTF-8",extensions:["bdm"]},"application/vnd.syncml.dm+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["xdm"]},"application/vnd.syncml.dm.notification":{source:"iana"},"application/vnd.syncml.dmddf+wbxml":{source:"iana"},"application/vnd.syncml.dmddf+xml":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"application/vnd.tao.intent-module-archive":{source:"iana",extensions:["tao"]},"application/vnd.tcpdump.pcap":{source:"iana",extensions:["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{source:"iana",compressible:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"application/vnd.tml":{source:"iana"},"application/vnd.tmobile-livetv":{source:"iana",extensions:["tmo"]},"application/vnd.tri.onesource":{source:"iana"},"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",compressible:!0,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:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"application/vnd.veryant.thin":{source:"iana"},"application/vnd.ves.encrypted":{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",charset:"UTF-8",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.dpp":{source:"iana"},"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",compressible:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"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",compressible:!0},"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",compressible:!0,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.youtube.yt":{source:"iana"},"application/vnd.zul":{source:"iana",extensions:["zir","zirz"]},"application/vnd.zzazz.deck+xml":{source:"iana",compressible:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"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",compressible:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,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-arj":{compressible:!1,extensions:["arj"]},"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:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,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:!1},"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",compressible:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,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-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-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:!0,extensions:["php"]},"application/x-install-instructions":{source:"apache",extensions:["install"]},"application/x-iso9660-image":{source:"apache",extensions:["iso"]},"application/x-iwork-keynote-sffkey":{extensions:["key"]},"application/x-iwork-numbers-sffnumbers":{extensions:["numbers"]},"application/x-iwork-pages-sffpages":{extensions:["pages"]},"application/x-java-archive-diff":{source:"nginx",extensions:["jardiff"]},"application/x-java-jnlp-file":{source:"apache",compressible:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,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:!1},"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:!0,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:!1,extensions:["p12","pfx"]},"application/x-pkcs7-certificates":{source:"apache",extensions:["p7b","spc"]},"application/x-pkcs7-certreqresp":{source:"apache",extensions:["p7r"]},"application/x-pki-message":{source:"iana"},"application/x-rar-compressed":{source:"apache",compressible:!1,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:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,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:!0,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-virtualbox-hdd":{compressible:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"application/x-x509-ca-cert":{source:"iana",extensions:["der","crt","pem"]},"application/x-x509-ca-ra-cert":{source:"iana"},"application/x-x509-next-ca-cert":{source:"iana"},"application/x-xfig":{source:"apache",extensions:["fig"]},"application/x-xliff+xml":{source:"apache",compressible:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,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",compressible:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,extensions:["zip"]},"application/zlib":{source:"iana"},"application/zstd":{source:"iana"},"audio/1d-interleaved-parityfec":{source:"iana"},"audio/32kadpcm":{source:"iana"},"audio/3gpp":{source:"iana",compressible:!1,extensions:["3gpp"]},"audio/3gpp2":{source:"iana"},"audio/aac":{source:"iana"},"audio/ac3":{source:"iana"},"audio/adpcm":{source:"apache",extensions:["adp"]},"audio/amr":{source:"iana",extensions:["amr"]},"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:!1,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/flexfec":{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:!1},"audio/l8":{source:"iana"},"audio/lpc":{source:"iana"},"audio/melp":{source:"iana"},"audio/melp1200":{source:"iana"},"audio/melp2400":{source:"iana"},"audio/melp600":{source:"iana"},"audio/mhas":{source:"iana"},"audio/midi":{source:"apache",extensions:["mid","midi","kar","rmi"]},"audio/mobile-xmf":{source:"iana",extensions:["mxmf"]},"audio/mp3":{compressible:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,extensions:["oga","ogg","spx","opus"]},"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/scip":{source:"iana"},"audio/silk":{source:"apache",extensions:["sil"]},"audio/smv":{source:"iana"},"audio/smv-qcp":{source:"iana"},"audio/smv0":{source:"iana"},"audio/sofa":{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/tetra_acelp":{source:"iana"},"audio/tetra_acelp_bb":{source:"iana"},"audio/tone":{source:"iana"},"audio/tsvcis":{source:"iana"},"audio/uemclip":{source:"iana"},"audio/ulpfec":{source:"iana"},"audio/usac":{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.dts.uhd":{source:"iana"},"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.presonus.multitrack":{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:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,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/collection":{source:"iana",extensions:["ttc"]},"font/otf":{source:"iana",compressible:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,extensions:["bmp"]},"image/cgm":{source:"iana",extensions:["cgm"]},"image/dicom-rle":{source:"iana",extensions:["drle"]},"image/emf":{source:"iana",extensions:["emf"]},"image/fits":{source:"iana",extensions:["fits"]},"image/g3fax":{source:"iana",extensions:["g3"]},"image/gif":{source:"iana",compressible:!1,extensions:["gif"]},"image/heic":{source:"iana",extensions:["heic"]},"image/heic-sequence":{source:"iana",extensions:["heics"]},"image/heif":{source:"iana",extensions:["heif"]},"image/heif-sequence":{source:"iana",extensions:["heifs"]},"image/hej2k":{source:"iana",extensions:["hej2"]},"image/hsj2":{source:"iana",extensions:["hsj2"]},"image/ief":{source:"iana",extensions:["ief"]},"image/jls":{source:"iana",extensions:["jls"]},"image/jp2":{source:"iana",compressible:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,extensions:["jpx","jpf"]},"image/jxr":{source:"iana",extensions:["jxr"]},"image/jxra":{source:"iana",extensions:["jxra"]},"image/jxrs":{source:"iana",extensions:["jxrs"]},"image/jxs":{source:"iana",extensions:["jxs"]},"image/jxsc":{source:"iana",extensions:["jxsc"]},"image/jxsi":{source:"iana",extensions:["jxsi"]},"image/jxss":{source:"iana",extensions:["jxss"]},"image/ktx":{source:"iana",extensions:["ktx"]},"image/ktx2":{source:"iana",extensions:["ktx2"]},"image/naplps":{source:"iana"},"image/pjpeg":{compressible:!1},"image/png":{source:"iana",compressible:!1,extensions:["png"]},"image/prs.btif":{source:"iana",extensions:["btif"]},"image/prs.pti":{source:"iana",extensions:["pti"]},"image/pwg-raster":{source:"iana"},"image/sgi":{source:"apache",extensions:["sgi"]},"image/svg+xml":{source:"iana",compressible:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,extensions:["psd"]},"image/vnd.airzip.accelerator.azv":{source:"iana",extensions:["azv"]},"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",compressible:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,extensions:["dds"]},"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.pco.b16":{source:"iana",extensions:["b16"]},"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",extensions:["tap"]},"image/vnd.valve.source.texture":{source:"iana",extensions:["vtf"]},"image/vnd.wap.wbmp":{source:"iana",extensions:["wbmp"]},"image/vnd.xiff":{source:"iana",extensions:["xif"]},"image/vnd.zbrush.pcx":{source:"iana",extensions:["pcx"]},"image/webp":{source:"apache",extensions:["webp"]},"image/wmf":{source:"iana",extensions:["wmf"]},"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:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,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:!1},"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",extensions:["disposition-notification"]},"message/external-body":{source:"iana"},"message/feedback-report":{source:"iana"},"message/global":{source:"iana",extensions:["u8msg"]},"message/global-delivery-status":{source:"iana",extensions:["u8dsn"]},"message/global-disposition-notification":{source:"iana",extensions:["u8mdn"]},"message/global-headers":{source:"iana",extensions:["u8hdr"]},"message/http":{source:"iana",compressible:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,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",extensions:["wsc"]},"model/3mf":{source:"iana",extensions:["3mf"]},"model/e57":{source:"iana"},"model/gltf+json":{source:"iana",compressible:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,extensions:["msh","mesh","silo"]},"model/mtl":{source:"iana",extensions:["mtl"]},"model/obj":{source:"iana",extensions:["obj"]},"model/step":{source:"iana"},"model/step+xml":{source:"iana",compressible:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,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",compressible:!0},"model/vnd.mts":{source:"iana",extensions:["mts"]},"model/vnd.opengex":{source:"iana",extensions:["ogex"]},"model/vnd.parasolid.transmit.binary":{source:"iana",extensions:["x_b"]},"model/vnd.parasolid.transmit.text":{source:"iana",extensions:["x_t"]},"model/vnd.pytha.pyox":{source:"iana"},"model/vnd.rosette.annotated-data-model":{source:"iana"},"model/vnd.sap.vds":{source:"iana",extensions:["vds"]},"model/vnd.usdz+zip":{source:"iana",compressible:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"multipart/vnd.bint.med-plus":{source:"iana"},"multipart/voice-message":{source:"iana"},"multipart/x-mixed-replace":{source:"iana"},"text/1d-interleaved-parityfec":{source:"iana"},"text/cache-manifest":{source:"iana",compressible:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"text/coffeescript":{extensions:["coffee","litcoffee"]},"text/cql":{source:"iana"},"text/cql-expression":{source:"iana"},"text/cql-identifier":{source:"iana"},"text/css":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,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/fhirpath":{source:"iana"},"text/flexfec":{source:"iana"},"text/fwdred":{source:"iana"},"text/gff3":{source:"iana"},"text/grammar-ref-list":{source:"iana"},"text/html":{source:"iana",compressible:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,extensions:["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{source:"iana",charset:"UTF-8"},"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:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"text/rtp-enc-aescm128":{source:"iana"},"text/rtploopback":{source:"iana"},"text/rtx":{source:"iana"},"text/sgml":{source:"iana",extensions:["sgml","sgm"]},"text/shaclc":{source:"iana"},"text/shex":{source:"iana",extensions:["shex"]},"text/slim":{extensions:["slim","slm"]},"text/spdx":{source:"iana",extensions:["spdx"]},"text/strings":{source:"iana"},"text/stylus":{extensions:["stylus","styl"]},"text/t140":{source:"iana"},"text/tab-separated-values":{source:"iana",compressible:!0,extensions:["tsv"]},"text/troff":{source:"iana",extensions:["t","tr","roff","man","me","ms"]},"text/turtle":{source:"iana",charset:"UTF-8",extensions:["ttl"]},"text/ulpfec":{source:"iana"},"text/uri-list":{source:"iana",compressible:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,extensions:["vcard"]},"text/vnd.a":{source:"iana"},"text/vnd.abc":{source:"iana"},"text/vnd.ascii-art":{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",charset:"UTF-8"},"text/vnd.dmclientscript":{source:"iana"},"text/vnd.dvb.subtitle":{source:"iana",extensions:["sub"]},"text/vnd.esmertec.theme-descriptor":{source:"iana",charset:"UTF-8"},"text/vnd.familysearch.gedcom":{source:"iana",extensions:["ged"]},"text/vnd.ficlab.flt":{source:"iana"},"text/vnd.fly":{source:"iana",extensions:["fly"]},"text/vnd.fmi.flexstor":{source:"iana",extensions:["flx"]},"text/vnd.gml":{source:"iana"},"text/vnd.graphviz":{source:"iana",extensions:["gv"]},"text/vnd.hans":{source:"iana"},"text/vnd.hgl":{source:"iana"},"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.senx.warpscript":{source:"iana"},"text/vnd.si.uricatalogue":{source:"iana"},"text/vnd.sosi":{source:"iana"},"text/vnd.sun.j2me.app-descriptor":{source:"iana",charset:"UTF-8",extensions:["jad"]},"text/vnd.trolltech.linguist":{source:"iana",charset:"UTF-8"},"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":{source:"iana",charset:"UTF-8",compressible:!0,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:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,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:!0,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:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,extensions:["yaml","yml"]},"video/1d-interleaved-parityfec":{source:"iana"},"video/3gpp":{source:"iana",extensions:["3gp","3gpp"]},"video/3gpp-tt":{source:"iana"},"video/3gpp2":{source:"iana",extensions:["3g2"]},"video/av1":{source:"iana"},"video/bmpeg":{source:"iana"},"video/bt656":{source:"iana"},"video/celb":{source:"iana"},"video/dv":{source:"iana"},"video/encaprtp":{source:"iana"},"video/ffv1":{source:"iana"},"video/flexfec":{source:"iana"},"video/h261":{source:"iana",extensions:["h261"]},"video/h263":{source:"iana",extensions:["h263"]},"video/h263-1998":{source:"iana"},"video/h263-2000":{source:"iana"},"video/h264":{source:"iana",extensions:["h264"]},"video/h264-rcdo":{source:"iana"},"video/h264-svc":{source:"iana"},"video/h265":{source:"iana"},"video/iso.segment":{source:"iana",extensions:["m4s"]},"video/jpeg":{source:"iana",extensions:["jpgv"]},"video/jpeg2000":{source:"iana"},"video/jpm":{source:"apache",extensions:["jpm","jpgm"]},"video/jxsv":{source:"iana"},"video/mj2":{source:"iana",extensions:["mj2","mjp2"]},"video/mp1s":{source:"iana"},"video/mp2p":{source:"iana"},"video/mp2t":{source:"iana",extensions:["ts"]},"video/mp4":{source:"iana",compressible:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,extensions:["qt","mov"]},"video/raptorfec":{source:"iana"},"video/raw":{source:"iana"},"video/rtp-enc-aescm128":{source:"iana"},"video/rtploopback":{source:"iana"},"video/rtx":{source:"iana"},"video/scip":{source:"iana"},"video/smpte291":{source:"iana"},"video/smpte292m":{source:"iana"},"video/ulpfec":{source:"iana"},"video/vc1":{source:"iana"},"video/vc2":{source:"iana"},"video/vnd.cctv":{source:"iana"},"video/vnd.dece.hd":{source:"iana",extensions:["uvh","uvvh"]},"video/vnd.dece.mobile":{source:"iana",extensions:["uvm","uvvm"]},"video/vnd.dece.mp4":{source:"iana"},"video/vnd.dece.pd":{source:"iana",extensions:["uvp","uvvp"]},"video/vnd.dece.sd":{source:"iana",extensions:["uvs","uvvs"]},"video/vnd.dece.video":{source:"iana",extensions:["uvv","uvvv"]},"video/vnd.directv.mpeg":{source:"iana"},"video/vnd.directv.mpeg-tts":{source:"iana"},"video/vnd.dlna.mpeg-tts":{source:"iana"},"video/vnd.dvb.file":{source:"iana",extensions:["dvb"]},"video/vnd.fvt":{source:"iana",extensions:["fvt"]},"video/vnd.hns.video":{source:"iana"},"video/vnd.iptvforum.1dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.1dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.2dparityfec-1010":{source:"iana"},"video/vnd.iptvforum.2dparityfec-2005":{source:"iana"},"video/vnd.iptvforum.ttsavc":{source:"iana"},"video/vnd.iptvforum.ttsmpeg2":{source:"iana"},"video/vnd.motorola.video":{source:"iana"},"video/vnd.motorola.videop":{source:"iana"},"video/vnd.mpegurl":{source:"iana",extensions:["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{source:"iana",extensions:["pyv"]},"video/vnd.nokia.interleaved-multimedia":{source:"iana"},"video/vnd.nokia.mp4vr":{source:"iana"},"video/vnd.nokia.videovoip":{source:"iana"},"video/vnd.objectvideo":{source:"iana"},"video/vnd.radgamettools.bink":{source:"iana"},"video/vnd.radgamettools.smacker":{source:"iana"},"video/vnd.sealed.mpeg1":{source:"iana"},"video/vnd.sealed.mpeg4":{source:"iana"},"video/vnd.sealed.swf":{source:"iana"},"video/vnd.sealedmedia.softseal.mov":{source:"iana"},"video/vnd.uvvu.mp4":{source:"iana",extensions:["uvu","uvvu"]},"video/vnd.vivo":{source:"iana",extensions:["viv"]},"video/vnd.youtube.yt":{source:"iana"},"video/vp8":{source:"iana"},"video/vp9":{source:"iana"},"video/webm":{source:"apache",compressible:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,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:!1,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:!0},"x-shader/x-vertex":{compressible:!0}}}}),A=x({"node_modules/.pnpm/mime-db@1.52.0/node_modules/mime-db/index.js"(i,a){a.exports=O()}}),b={};E(b,{PreviewController:()=>H,getExtension:()=>h,joinFilepath:()=>g,normalizeFilepath:()=>m});var R=M(b),l="$CSB_RELAY",I=C(A()),f=new Map,$=Object.entries(I.default);for(const[i,a]of $){const e=a.extensions;if(e!=null&&e.length)for(const n of e)f.set(n,i)}var L=f,N=0;function W(){const i=Date.now(),a=Math.round(Math.random()*1e4),e=N+=1;return(+`${i}${a}${e}`).toString(16)}function m(i){return"/"+i.split("/").filter(Boolean).join("/")}function g(i,a){return m(i+"/"+a)}function h(i){const a=i.split(".");return a.length<=1?"":a[a.length-1]}var H=class{constructor(i){this.initPromise=null,this.baseUrl=new URL(i.baseUrl),this.getFileContent=i.getFileContent,this.indexFiles=i.indexFiles??["index.html","index.html"]}async getIndexAtPath(i){for(const a of this.indexFiles)try{return await this.getFileContent(g(i,a))}catch{}throw new Error("No index file not found")}async handleWorkerRequest(i){if(!this.initPromise)throw new Error("Init promise is null");const[a,e]=await this.initPromise;try{const n=m(new URL(i.url,a).pathname);let s=null;const c={};try{s=await this.getFileContent(n)}catch{}if(s==null&&(s=await this.getIndexAtPath(n),c["Content-Type"]="text/html; charset=utf-8"),s==null)throw new Error("File not found");if(!c["Content-Type"]){const t=h(n),p=L.get(t);p&&(c["Content-Type"]=p)}const o={$channel:l,$type:"preview/response",id:i.id,headers:c,status:200,body:s};e.postMessage(o)}catch{const s={$channel:l,$type:"preview/response",id:i.id,headers:{"Content-Type":"text/html; charset=utf-8"},status:404,body:"File not found"};e.postMessage(s)}}getRelayUrl(i){const a=new URL(i);return a.pathname="/__csb_relay/",a.toString()}async _initPreview(){const i=W(),a=new URL(this.baseUrl);a.hostname=i+"-"+a.hostname,a.pathname="/";const e=this.getRelayUrl(a.toString()),n=document.createElement("iframe");n.setAttribute("src",e.toString()),n.style.display="none",document.body.appendChild(n);const s=new MessageChannel,c=n.contentWindow;if(!c)throw new Error("Could not get iframe contentWindow");return new Promise(o=>{const t=s.port1;t.onmessage=p=>{if(typeof p.data=="object"&&p.data.$channel===l)switch(p.data.$type){case"preview/ready":o([a.toString(),t,n]);break;case"preview/request":this.handleWorkerRequest(p.data);break}},n.onload=()=>{const p={$channel:l,$type:"preview/init"};c.postMessage(p,"*",[s.port2])}})}initPreview(){return this.initPromise||(this.initPromise=this._initPreview()),this.initPromise.then(i=>i[0])}destroy(){this.initPromise&&(this.initPromise.then(a=>{a[1].close();const e=this.getRelayUrl(a[0]);document.body.querySelectorAll(`src="${e}"`).forEach(s=>s.remove())}),this.initPromise=null)}},D=function(i,a,e){var n=i.exec(a);if(n&&n.length>=1){var s=n.index+n[0].length,c=a.substring(0,s),o=a.substring(s);return c+e+o}},w=function(i){return typeof i=="string"?i:new TextDecoder().decode(i)},B=function(i){var a=w(i),e=new DOMParser,n=e.parseFromString(a,"text/html");n.documentElement.getAttribute("lang")||n.documentElement.setAttribute("lang","en");var s=n.documentElement.outerHTML;return` `+s},G=function(i){k(a,i);function a(e,n,s){s===void 0&&(s={});var c,o=i.call(this,e,n,s)||this;if(o.files=new Map,o.status="initializing",o.emitter=new U,o.previewController=new R.PreviewController({baseUrl:(c=s.bundlerURL)!==null&&c!==void 0?c:"https://preview.sandpack-static-server.codesandbox.io",getFileContent:function(p){var r=o.files.get(p);if(!r)throw new Error("File not found");if(p.endsWith(".html")||p.endsWith(".htm"))try{r=B(r),r=o.injectProtocolScript(r),r=o.injectExternalResources(r,s.externalResources)}catch(y){console.error("Runtime injection failed",y)}return r}}),typeof e=="string"){o.selector=e;var t=document.querySelector(e);o.element=t,o.iframe=document.createElement("iframe")}else o.element=e,o.iframe=e;return o.iframe.getAttribute("sandbox")||(o.iframe.setAttribute("sandbox","allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"),o.iframe.setAttribute("allow","accelerometer; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; clipboard-write;")),o.updateSandbox(),o}return a.prototype.injectContentIntoHead=function(e,n){var s;return e=w(e),e=(s=D(/]*>/g,e,` `+n))!==null&&s!==void 0?s:n+` `+e,e},a.prototype.injectProtocolScript=function(e){var n=` - + diff --git a/docs/olddocs/iframe.html b/docs/olddocs/iframe.html index 50524e4a..a9e7b4ed 100644 --- a/docs/olddocs/iframe.html +++ b/docs/olddocs/iframe.html @@ -361,4 +361,4 @@ - window['STORIES'] = [{"titlePrefix":"","directory":"./stories","files":"index.js","importPathMatcher":"^\\.[\\\\/](?:stories\\/index\\.js)$"}]; \ No newline at end of file + window['STORIES'] = [{"titlePrefix":"","directory":"./stories","files":"index.js","importPathMatcher":"^\\.[\\\\/](?:stories\\/index\\.js)$"}]; \ No newline at end of file diff --git a/docs/olddocs/main.1f215bcd.iframe.bundle.js.map b/docs/olddocs/main.1f215bcd.iframe.bundle.js.map deleted file mode 100644 index e2ec718c..00000000 --- a/docs/olddocs/main.1f215bcd.iframe.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"main.1f215bcd.iframe.bundle.js","sources":["webpack:///./.storybook/assets/normalize.css?3e43","webpack:///./.storybook/assets/prism.css?0d46","webpack:///./.storybook/assets/prism.js","webpack:///./.storybook/assets/styles.css?f8f3","webpack:///./.storybook/preview.js","webpack:///./.storybook/preview.js-generated-config-entry.js","webpack:///./CHANGELOG.md","webpack:///./generated-stories-entry.js","webpack:///./.storybook/assets/normalize.css","webpack:///./.storybook/assets/prism.css","webpack:///./.storybook/assets/styles.css","webpack:///./src/Context.js","webpack:///./src/FormController.js","webpack:///./src/ObjectMap.js","webpack:///./src/components/ArrayField.js","webpack:///./src/components/Debug.js","webpack:///./src/components/DebugField.js","webpack:///./src/components/Form.js","webpack:///./src/components/FormComponents.js","webpack:///./src/components/FormField.js","webpack:///./src/components/FormFields.js","webpack:///./src/components/FormProvider.js","webpack:///./src/components/FormStateAccessor.js","webpack:///./src/components/Informed.js","webpack:///./src/components/Multistep.js","webpack:///./src/components/Relevant.js","webpack:///./src/components/SchemaFields.js","webpack:///./src/components/Scope.js","webpack:///./src/components/UpdateFields.js","webpack:///./src/components/form-fields/AddButton.js","webpack:///./src/components/form-fields/ArrayField.js","webpack:///./src/components/form-fields/Checkbox.js","webpack:///./src/components/form-fields/Hidden.js","webpack:///./src/components/form-fields/Input.js","webpack:///./src/components/form-fields/Option.js","webpack:///./src/components/form-fields/Radio.js","webpack:///./src/components/form-fields/RadioGroup.js","webpack:///./src/components/form-fields/RemoveButton.js","webpack:///./src/components/form-fields/Select.js","webpack:///./src/components/form-fields/TextArea.js","webpack:///./src/debug.js","webpack:///./src/fieldMap.js","webpack:///./src/hooks/useArrayField.js","webpack:///./src/hooks/useArrayFieldApi.js","webpack:///./src/hooks/useArrayFieldItemApi.js","webpack:///./src/hooks/useArrayFieldItemState.js","webpack:///./src/hooks/useArrayFieldState.js","webpack:///./src/hooks/useConditional.js","webpack:///./src/hooks/useCursorPosition.js","webpack:///./src/hooks/useEffectOnce.js","webpack:///./src/hooks/useField.js","webpack:///./src/hooks/useFieldApi.js","webpack:///./src/hooks/useFieldState.js","webpack:///./src/hooks/useFieldSubscription.js","webpack:///./src/hooks/useForceUpdate.js","webpack:///./src/hooks/useForm.js","webpack:///./src/hooks/useFormApi.js","webpack:///./src/hooks/useFormController.js","webpack:///./src/hooks/useFormState.js","webpack:///./src/hooks/useFormStateSelector.js","webpack:///./src/hooks/useInformed.js","webpack:///./src/hooks/useInformedApi.js","webpack:///./src/hooks/useInformedField.js","webpack:///./src/hooks/useInformedState.js","webpack:///./src/hooks/useMultistep.js","webpack:///./src/hooks/useMultistepApi.js","webpack:///./src/hooks/useMultistepState.js","webpack:///./src/hooks/useMultistepStep.js","webpack:///./src/hooks/useRadioGroup.js","webpack:///./src/hooks/useRelevance.js","webpack:///./src/hooks/useScope.js","webpack:///./src/hooks/useScopedApi.js","webpack:///./src/hooks/useScopedState.js","webpack:///./src/hooks/useScoper.js","webpack:///./src/hooks/useStateWithGetter.js","webpack:///./src/hooks/useSubState.js","webpack:///./src/hooks/useUpdateEffect.js","webpack:///./src/index.js","webpack:///./src/proxy.js","webpack:///./src/structuredClone.js","webpack:///./src/utils.js","webpack:///./stories sync nonrecursive ^\\.[\\\\/](","webpack:///./stories/Arrays/AlternateSyntax/README.md","webpack:///./stories/Arrays/AlternateSyntax/index.js","webpack:///./stories/Arrays/ArrayFieldItem/README.md","webpack:///./stories/Arrays/ArrayFieldItem/index.js","webpack:///./stories/Arrays/ArrayOfFields/README.md","webpack:///./stories/Arrays/ArrayOfFields/index.js","webpack:///./stories/Arrays/ArrayOfScopes/README.md","webpack:///./stories/Arrays/ArrayOfScopes/index.js","webpack:///./stories/Arrays/DependentFields/README.md","webpack:///./stories/Arrays/DependentFields/index.js","webpack:///./stories/Arrays/DynamicArrays/README.md","webpack:///./stories/Arrays/DynamicArrays/index.js","webpack:///./stories/Arrays/HugeArrayForm/README.md","webpack:///./stories/Arrays/HugeArrayForm/index.js","webpack:///./stories/Arrays/NestedFields/README.md","webpack:///./stories/Arrays/NestedFields/index.js","webpack:///./stories/Arrays/index.js","webpack:///./stories/CarColor/README.md","webpack:///./stories/CarColor/index.js","webpack:///./stories/Conditionals/ConditionalProps/README.md","webpack:///./stories/Conditionals/ConditionalProps/index.js","webpack:///./stories/Conditionals/ConditionalPropsSchema/README.md","webpack:///./stories/Conditionals/ConditionalPropsSchema/index.js","webpack:///./stories/Conditionals/TableFields/README.md","webpack:///./stories/Conditionals/TableFields/index.js","webpack:///./stories/CustomInputs/FormattedObjectInput/README.md","webpack:///./stories/CustomInputs/FormattedObjectInput/index.js","webpack:///./stories/CustomInputs/FromScratch/README.md","webpack:///./stories/CustomInputs/FromScratch/index.js","webpack:///./stories/CustomInputs/Intro/README.md","webpack:///./stories/CustomInputs/Intro/index.js","webpack:///./stories/CustomInputs/ObjectInput/README.md","webpack:///./stories/CustomInputs/ObjectInput/index.js","webpack:///./stories/CustomInputs/Slider/README.md","webpack:///./stories/CustomInputs/Slider/index.js","webpack:///./stories/CustomInputs/UseField/README.md","webpack:///./stories/CustomInputs/UseField/index.js","webpack:///./stories/CustomInputs/UseFieldHooked/README.md","webpack:///./stories/CustomInputs/UseFieldHooked/index.js","webpack:///./stories/CustomInputs/index.js","webpack:///./stories/Debugging/Debug/README.md","webpack:///./stories/Debugging/Debug/index.js","webpack:///./stories/Dynamic/AsyncDependentFields/README.md","webpack:///./stories/Dynamic/AsyncDependentFields/index.js","webpack:///./stories/Dynamic/Dependent/README.md","webpack:///./stories/Dynamic/Dependent/index.js","webpack:///./stories/Dynamic/DynamicFields/README.md","webpack:///./stories/Dynamic/DynamicFields/index.js","webpack:///./stories/Form/Api/Intro/README.md","webpack:///./stories/Form/Api/Intro/index.js","webpack:///./stories/Form/Api/UseFormApi/README.md","webpack:///./stories/Form/Api/UseFormApi/index.js","webpack:///./stories/Form/Api/index.js","webpack:///./stories/Form/Basic/README.md","webpack:///./stories/Form/Basic/index.js","webpack:///./stories/Form/Big/README.md","webpack:///./stories/Form/Big/index.js","webpack:///./stories/Form/Complex/README.md","webpack:///./stories/Form/Complex/index.js","webpack:///./stories/Form/Dynamic/README.md","webpack:///./stories/Form/Dynamic/index.js","webpack:///./stories/Form/FeatureTester/README.md","webpack:///./stories/Form/FeatureTester/index.js","webpack:///./stories/Form/FormProvider/README.md","webpack:///./stories/Form/FormProvider/index.js","webpack:///./stories/Form/FormatDependent/README.md","webpack:///./stories/Form/FormatDependent/index.js","webpack:///./stories/Form/Modified/README.md","webpack:///./stories/Form/Modified/index.js","webpack:///./stories/Form/Path/README.md","webpack:///./stories/Form/Path/index.js","webpack:///./stories/Form/Props/README.md","webpack:///./stories/Form/Props/index.js","webpack:///./stories/Form/State/README.md","webpack:///./stories/Form/State/index.js","webpack:///./stories/Formatting/Clean/README.md","webpack:///./stories/Formatting/Clean/index.js","webpack:///./stories/Formatting/CustomNumberFormatter/README.md","webpack:///./stories/Formatting/CustomNumberFormatter/index.js","webpack:///./stories/Formatting/Formatter/README.md","webpack:///./stories/Formatting/Formatter/index.js","webpack:///./stories/Formatting/FormatterFunctions/README.md","webpack:///./stories/Formatting/FormatterFunctions/index.js","webpack:///./stories/Formatting/Mask/README.md","webpack:///./stories/Formatting/Mask/index.js","webpack:///./stories/Formatting/NumberFormatter/README.md","webpack:///./stories/Formatting/NumberFormatter/index.js","webpack:///./stories/Formatting/Parse/README.md","webpack:///./stories/Formatting/Parse/index.js","webpack:///./stories/GlobalForms/Intro/README.md","webpack:///./stories/GlobalForms/Intro/index.js","webpack:///./stories/Gotchas/ChangingInitialValues/README.md","webpack:///./stories/Gotchas/ChangingInitialValues/index.js","webpack:///./stories/Gotchas/InitializeIfPristine/README.md","webpack:///./stories/Gotchas/InitializeIfPristine/index.js","webpack:///./stories/Gotchas/InitialvsDefault/README.md","webpack:///./stories/Gotchas/InitialvsDefault/index.js","webpack:///./stories/Gotchas/Scope/WithField.js","webpack:///./stories/Gotchas/Scope/WithField.md","webpack:///./stories/Gotchas/Scope/index.js","webpack:///./stories/Hooks/index.js","webpack:///./stories/Hooks/useField/index.js","webpack:///./stories/Hooks/useField/useFieldCustom/README.md","webpack:///./stories/Hooks/useField/useFieldCustom/index.js","webpack:///./stories/Hooks/useField/useFieldDirect/README.md","webpack:///./stories/Hooks/useField/useFieldDirect/index.js","webpack:///./stories/Hooks/useFieldApi/README.md","webpack:///./stories/Hooks/useFieldApi/index.js","webpack:///./stories/Hooks/useFieldState/README.md","webpack:///./stories/Hooks/useFieldState/index.js","webpack:///./stories/Hooks/useForm/README.md","webpack:///./stories/Hooks/useForm/index.js","webpack:///./stories/Hooks/useFormApi/README.md","webpack:///./stories/Hooks/useFormApi/index.js","webpack:///./stories/Hooks/useFormState/README.md","webpack:///./stories/Hooks/useFormState/index.js","webpack:///./stories/Hooks/useFormStateSelector/README.md","webpack:///./stories/Hooks/useFormStateSelector/index.js","webpack:///./stories/Inputs/CheckboxInput/README.md","webpack:///./stories/Inputs/CheckboxInput/index.js","webpack:///./stories/Inputs/GoogleApi/README.md","webpack:///./stories/Inputs/GoogleApi/index.js","webpack:///./stories/Inputs/Intro/README.md","webpack:///./stories/Inputs/Intro/index.js","webpack:///./stories/Inputs/MultiSelectInput/README.md","webpack:///./stories/Inputs/MultiSelectInput/index.js","webpack:///./stories/Inputs/NumberInput/README.md","webpack:///./stories/Inputs/NumberInput/index.js","webpack:///./stories/Inputs/RadioInput/README.md","webpack:///./stories/Inputs/RadioInput/index.js","webpack:///./stories/Inputs/SelectInput/README.md","webpack:///./stories/Inputs/SelectInput/index.js","webpack:///./stories/Inputs/TextAreaInput/README.md","webpack:///./stories/Inputs/TextAreaInput/index.js","webpack:///./stories/Inputs/TextInput/README.md","webpack:///./stories/Inputs/TextInput/index.js","webpack:///./stories/Inputs/index.js","webpack:///./stories/Intro/Changelog.js","webpack:///./stories/Intro/CustomIntro/README.md","webpack:///./stories/Intro/CustomIntro/index.js","webpack:///./stories/Intro/FormApi/ApiRef/README.md","webpack:///./stories/Intro/FormApi/ApiRef/index.js","webpack:///./stories/Intro/FormApi/RenderProp/README.md","webpack:///./stories/Intro/FormApi/RenderProp/index.js","webpack:///./stories/Intro/FormApi/UseFormApi/README.md","webpack:///./stories/Intro/FormApi/UseFormApi/index.js","webpack:///./stories/Intro/FormApi/index.js","webpack:///./stories/Intro/FormState/README.md","webpack:///./stories/Intro/FormState/index.js","webpack:///./stories/Intro/GettingStarted/README.md","webpack:///./stories/Intro/GettingStarted/index.js","webpack:///./stories/Intro/Intro/README.md","webpack:///./stories/Intro/Intro/index.js","webpack:///./stories/Intro/SchemaVsFormat/README.md","webpack:///./stories/Intro/SchemaVsFormat/index.js","webpack:///./stories/Intro/UseForm/README.md","webpack:///./stories/Intro/UseForm/index.js","webpack:///./stories/Intro/WhatElse/README.md","webpack:///./stories/Intro/WhatElse/index.js","webpack:///./stories/Intro/index.js","webpack:///./stories/KeepState/Keep/README.md","webpack:///./stories/KeepState/Keep/index.js","webpack:///./stories/KeepState/KeepState/README.md","webpack:///./stories/KeepState/KeepState/index.js","webpack:///./stories/KeepState/KeepStateIfRelevant/README.md","webpack:///./stories/KeepState/KeepStateIfRelevant/index.js","webpack:///./stories/Multistep/Actions/README.md","webpack:///./stories/Multistep/Actions/index.js","webpack:///./stories/Multistep/Basic/README.md","webpack:///./stories/Multistep/Basic/index.js","webpack:///./stories/Multistep/Complex/README.md","webpack:///./stories/Multistep/Complex/index.js","webpack:///./stories/Multistep/MultistepState/README.md","webpack:///./stories/Multistep/MultistepState/index.js","webpack:///./stories/Playground/Format/README.md","webpack:///./stories/Playground/Format/index.js","webpack:///./stories/Playground/Schema/README.md","webpack:///./stories/Playground/Schema/index.js","webpack:///./stories/Relevance/ComplexRelevance/README.md","webpack:///./stories/Relevance/ComplexRelevance/index.js","webpack:///./stories/Relevance/RelevanceProp/README.md","webpack:///./stories/Relevance/RelevanceProp/index.js","webpack:///./stories/Relevance/RelevantComponent/README.md","webpack:///./stories/Relevance/RelevantComponent/index.js","webpack:///./stories/Relevance/ScopedRelevance/README.md","webpack:///./stories/Relevance/ScopedRelevance/index.js","webpack:///./stories/Schema/ArrayFieldSchema/README.md","webpack:///./stories/Schema/ArrayFieldSchema/index.js","webpack:///./stories/Schema/ArrayFieldSchemaNested/README.md","webpack:///./stories/Schema/ArrayFieldSchemaNested/index.js","webpack:///./stories/Schema/ArrayFieldSchemaRelevant/README.md","webpack:///./stories/Schema/ArrayFieldSchemaRelevant/index.js","webpack:///./stories/Schema/ChangingSchema/README.md","webpack:///./stories/Schema/ChangingSchema/index.js","webpack:///./stories/Schema/ConditionalOptions/README.md","webpack:///./stories/Schema/ConditionalOptions/index.js","webpack:///./stories/Schema/ConditionalSchema/README.md","webpack:///./stories/Schema/ConditionalSchema/index.js","webpack:///./stories/Schema/ConditionalSchemaControl/README.md","webpack:///./stories/Schema/ConditionalSchemaControl/index.js","webpack:///./stories/Schema/CustomSchema/README.md","webpack:///./stories/Schema/CustomSchema/index.js","webpack:///./stories/Schema/FormattedSchema/README.md","webpack:///./stories/Schema/FormattedSchema/index.js","webpack:///./stories/Schema/Intro/README.md","webpack:///./stories/Schema/Intro/index.js","webpack:///./stories/Schema/NestedSchema/README.md","webpack:///./stories/Schema/NestedSchema/index.js","webpack:///./stories/Schema/SchemaComponents/README.md","webpack:///./stories/Schema/SchemaComponents/index.js","webpack:///./stories/Schema/SubSchema/README.md","webpack:///./stories/Schema/SubSchema/index.js","webpack:///./stories/Scope/ScopeComponent/README.md","webpack:///./stories/Scope/ScopeComponent/index.js","webpack:///./stories/Scope/useScope/README.md","webpack:///./stories/Scope/useScope/index.js","webpack:///./stories/Scope/useScopedState/README.md","webpack:///./stories/Scope/useScopedState/index.js","webpack:///./stories/TLDR/GettingStarted/README.md","webpack:///./stories/TLDR/GettingStarted/index.js","webpack:///./stories/TLDR/Intro/README.md","webpack:///./stories/TLDR/Intro/index.js","webpack:///./stories/TLDR/index.js","webpack:///./stories/Validation/AjvValidation/README.md","webpack:///./stories/Validation/AjvValidation/index.js","webpack:///./stories/Validation/AjvValidationNoRender/README.md","webpack:///./stories/Validation/AjvValidationNoRender/index.js","webpack:///./stories/Validation/AsyncValidation/README.md","webpack:///./stories/Validation/AsyncValidation/index.js","webpack:///./stories/Validation/ComplexValidation/README.md","webpack:///./stories/Validation/ComplexValidation/index.js","webpack:///./stories/Validation/Elon/README.md","webpack:///./stories/Validation/Elon/index.js","webpack:///./stories/Validation/FieldLevelYupValidation/README.md","webpack:///./stories/Validation/FieldLevelYupValidation/index.js","webpack:///./stories/Validation/Notifications/README.md","webpack:///./stories/Validation/Notifications/index.js","webpack:///./stories/Validation/Required/README.md","webpack:///./stories/Validation/Required/index.js","webpack:///./stories/Validation/SimpleValidation/README.md","webpack:///./stories/Validation/SimpleValidation/index.js","webpack:///./stories/Validation/ValidationControl/README.md","webpack:///./stories/Validation/ValidationControl/index.js","webpack:///./stories/Validation/ValidationMessages/Format/README.md","webpack:///./stories/Validation/ValidationMessages/Format/index.js","webpack:///./stories/Validation/ValidationMessages/Schema/README.md","webpack:///./stories/Validation/ValidationMessages/Schema/index.js","webpack:///./stories/Validation/ValidationMessages/index.js","webpack:///./stories/Validation/YupValidation/README.md","webpack:///./stories/Validation/YupValidation/index.js","webpack:///./stories/index.js","webpack:///./stories/utils/Code.js","webpack:///./stories/utils/Modal.js","webpack:///./stories/utils/StoryWrapper.js","webpack:///./stories/utils/withDocs.js","webpack:///./storybook-init-framework-entry.js","webpack:///./util.inspect (ignored)"],"sourcesContent":["var api = require(\"!../../node_modules/@storybook/builder-webpack4/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!../../node_modules/postcss-loader/dist/cjs.js??ref--7-2!./normalize.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","var api = require(\"!../../node_modules/@storybook/builder-webpack4/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!../../node_modules/postcss-loader/dist/cjs.js??ref--7-2!./prism.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","/* http://prismjs.com/download.html?themes=prism-okaidia&languages=markup+css+clike+javascript+json+jsx&plugins=previewer-base */\nvar _self=\"undefined\"!=typeof window?window:\"undefined\"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\\blang(?:uage)?-(\\w+)\\b/i,t=0,n=_self.Prism={manual:_self.Prism&&_self.Prism.manual,util:{encode:function(e){return e instanceof a?new a(e.type,n.util.encode(e.content),e.alias):\"Array\"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,\"&\").replace(/e.length)return;if(!(w instanceof s)){h.lastIndex=0;var _=h.exec(w),P=1;if(!_&&m&&b!=t.length-1){if(h.lastIndex=k,_=h.exec(e),!_)break;for(var A=_.index+(d?_[1].length:0),j=_.index+_[0].length,x=b,O=k,S=t.length;S>x&&(j>O||!t[x].type&&!t[x-1].greedy);++x)O+=t[x].length,A>=O&&(++b,k=O);if(t[b]instanceof s||t[x-1].greedy)continue;P=x-b,w=e.slice(k,O),_.index-=k}if(_){d&&(p=_[1].length);var A=_.index+p,_=_[0].slice(p),j=A+_.length,N=w.slice(0,A),C=w.slice(j),E=[b,P];N&&(++b,k+=N.length,E.push(N));var L=new s(u,f?n.tokenize(_,f):_,y,_,m);if(E.push(L),C&&E.push(C),Array.prototype.splice.apply(t,E),1!=P&&n.matchGrammar(e,t,a,b,k,!0,u),l)break}else if(l)break}}}}},tokenize:function(e,t){var a=[e],r=t.rest;if(r){for(var i in r)t[i]=r[i];delete t.rest}return n.matchGrammar(e,a,t,0,0,!1),a},hooks:{all:{},add:function(e,t){var a=n.hooks.all;a[e]=a[e]||[],a[e].push(t)},run:function(e,t){var a=n.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(t)}}},a=n.Token=function(e,t,n,a,r){this.type=e,this.content=t,this.alias=n,this.length=0|(a||\"\").length,this.greedy=!!r};if(a.stringify=function(e,t,r){if(\"string\"==typeof e)return e;if(\"Array\"===n.util.type(e))return e.map(function(n){return a.stringify(n,t,e)}).join(\"\");var i={type:e.type,content:a.stringify(e.content,t,r),tag:\"span\",classes:[\"token\",e.type],attributes:{},language:t,parent:r};if(\"comment\"==i.type&&(i.attributes.spellcheck=\"true\"),e.alias){var l=\"Array\"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}n.hooks.run(\"wrap\",i);var o=Object.keys(i.attributes).map(function(e){return e+'=\"'+(i.attributes[e]||\"\").replace(/\"/g,\""\")+'\"'}).join(\" \");return\"<\"+i.tag+' class=\"'+i.classes.join(\" \")+'\"'+(o?\" \"+o:\"\")+\">\"+i.content+\"\"},!_self.document)return _self.addEventListener?(_self.addEventListener(\"message\",function(e){var t=JSON.parse(e.data),a=t.language,r=t.code,i=t.immediateClose;_self.postMessage(n.highlight(r,n.languages[a],a)),i&&_self.close()},!1),_self.Prism):_self.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName(\"script\")).pop();return r&&(n.filename=r.src,!document.addEventListener||n.manual||r.hasAttribute(\"data-manual\")||(\"loading\"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener(\"DOMContentLoaded\",n.highlightAll))),_self.Prism}();\"undefined\"!=typeof module&&module.exports&&(module.exports=Prism),\"undefined\"!=typeof global&&(global.Prism=Prism);\nPrism.languages.markup={comment://,prolog:/<\\?[\\s\\S]+?\\?>/,doctype://i,cdata://i,tag:{pattern:/<\\/?(?!\\d)[^\\s>\\/=$<]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\\\1|\\\\?(?!\\1)[\\s\\S])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i,inside:{tag:{pattern:/^<\\/?[^\\s>\\/]+/i,inside:{punctuation:/^<\\/?/,namespace:/^[^\\s>\\/:]+:/}},\"attr-value\":{pattern:/=(?:('|\")[\\s\\S]*?(\\1)|[^\\s>]+)/i,inside:{punctuation:/[=>\"']/}},punctuation:/\\/?>/,\"attr-name\":{pattern:/[^\\s>\\/]+/,inside:{namespace:/^[^\\s>\\/:]+:/}}}},entity:/&#?[\\da-z]{1,8};/i},Prism.languages.markup.tag.inside[\"attr-value\"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add(\"wrap\",function(a){\"entity\"===a.type&&(a.attributes.title=a.content.replace(/&/,\"&\"))}),Prism.languages.xml=Prism.languages.markup,Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup;\nPrism.languages.css={comment:/\\/\\*[\\s\\S]*?\\*\\//,atrule:{pattern:/@[\\w-]+?.*?(;|(?=\\s*\\{))/i,inside:{rule:/@[\\w-]+/}},url:/url\\((?:([\"'])(\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|.*?)\\)/i,selector:/[^\\{\\}\\s][^\\{\\};]*?(?=\\s*\\{)/,string:{pattern:/(\"|')(\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},property:/(\\b|\\B)[\\w-]+(?=\\s*:)/i,important:/\\B!important\\b/i,\"function\":/[-a-z0-9]+(?=\\()/i,punctuation:/[(){};:]/},Prism.languages.css.atrule.inside.rest=Prism.util.clone(Prism.languages.css),Prism.languages.markup&&(Prism.languages.insertBefore(\"markup\",\"tag\",{style:{pattern:/()[\\s\\S]*?(?=<\\/style>)/i,lookbehind:!0,inside:Prism.languages.css,alias:\"language-css\"}}),Prism.languages.insertBefore(\"inside\",\"attr-value\",{\"style-attr\":{pattern:/\\s*style=(\"|').*?\\1/i,inside:{\"attr-name\":{pattern:/^\\s*style/i,inside:Prism.languages.markup.tag.inside},punctuation:/^\\s*=\\s*['\"]|['\"]\\s*$/,\"attr-value\":{pattern:/.+/i,inside:Prism.languages.css}},alias:\"language-css\"}},Prism.languages.markup.tag));\nPrism.languages.clike={comment:[{pattern:/(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,lookbehind:!0},{pattern:/(^|[^\\\\:])\\/\\/.*/,lookbehind:!0}],string:{pattern:/([\"'])(\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,greedy:!0},\"class-name\":{pattern:/((?:\\b(?:class|interface|extends|implements|trait|instanceof|new)\\s+)|(?:catch\\s+\\())[a-z0-9_\\.\\\\]+/i,lookbehind:!0,inside:{punctuation:/(\\.|\\\\)/}},keyword:/\\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\\b/,\"boolean\":/\\b(true|false)\\b/,\"function\":/[a-z0-9_]+(?=\\()/i,number:/\\b-?(?:0x[\\da-f]+|\\d*\\.?\\d+(?:e[+-]?\\d+)?)\\b/i,operator:/--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&?|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,punctuation:/[{}[\\];(),.:]/};\nPrism.languages.javascript=Prism.languages.extend(\"clike\",{keyword:/\\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\\b/,number:/\\b-?(0[xX][\\dA-Fa-f]+|0[bB][01]+|0[oO][0-7]+|\\d*\\.?\\d+([Ee][+-]?\\d+)?|NaN|Infinity)\\b/,\"function\":/[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*(?=\\()/i,operator:/-[-=]?|\\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\\|[|=]?|\\*\\*?=?|\\/=?|~|\\^=?|%=?|\\?|\\.{3}/}),Prism.languages.insertBefore(\"javascript\",\"keyword\",{regex:{pattern:/(^|[^\\/])\\/(?!\\/)(\\[[^\\]\\r\\n]+]|\\\\.|[^\\/\\\\\\[\\r\\n])+\\/[gimyu]{0,5}(?=\\s*($|[\\r\\n,.;})]))/,lookbehind:!0,greedy:!0}}),Prism.languages.insertBefore(\"javascript\",\"string\",{\"template-string\":{pattern:/`(?:\\\\\\\\|\\\\?[^\\\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\\$\\{[^}]+\\}/,inside:{\"interpolation-punctuation\":{pattern:/^\\$\\{|\\}$/,alias:\"punctuation\"},rest:Prism.languages.javascript}},string:/[\\s\\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore(\"markup\",\"tag\",{script:{pattern:/()[\\s\\S]*?(?=<\\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:\"language-javascript\"}}),Prism.languages.js=Prism.languages.javascript;\nPrism.languages.json={property:/\"(?:\\\\.|[^\\\\\"])*\"(?=\\s*:)/gi,string:/\"(?!:)(?:\\\\.|[^\\\\\"])*\"(?!:)/g,number:/\\b-?(0x[\\dA-Fa-f]+|\\d*\\.?\\d+([Ee][+-]?\\d+)?)\\b/g,punctuation:/[{}[\\]);,]/g,operator:/:/g,\"boolean\":/\\b(true|false)\\b/gi,\"null\":/\\bnull\\b/gi},Prism.languages.jsonp=Prism.languages.json;\n!function(a){var e=a.util.clone(a.languages.javascript);a.languages.jsx=a.languages.extend(\"markup\",e),a.languages.jsx.tag.pattern=/<\\/?[\\w\\.:-]+\\s*(?:\\s+(?:[\\w\\.:-]+(?:=(?:(\"|')(\\\\?[\\s\\S])*?\\1|[^\\s'\">=]+|(\\{[\\s\\S]*?\\})))?|\\{\\.{3}\\w+\\}))*\\s*\\/?>/i,a.languages.jsx.tag.inside[\"attr-value\"].pattern=/=(?!\\{)(?:('|\")[\\s\\S]*?(\\1)|[^\\s>]+)/i,a.languages.insertBefore(\"inside\",\"attr-name\",{spread:{pattern:/\\{\\.{3}\\w+\\}/,inside:{punctuation:/\\{|\\}|\\./,\"attr-value\":/\\w+/}}},a.languages.jsx.tag);var s=a.util.clone(a.languages.jsx);delete s.punctuation,s=a.languages.insertBefore(\"jsx\",\"operator\",{punctuation:/=(?={)|[{}[\\];(),.:]/},{jsx:s}),a.languages.insertBefore(\"inside\",\"attr-value\",{script:{pattern:/=(\\{(?:\\{[^}]*\\}|[^}])+\\})/i,inside:s,alias:\"language-javascript\"}},a.languages.jsx.tag)}(Prism);\n!function(){if(\"undefined\"!=typeof self&&self.Prism&&self.document&&Function.prototype.bind){var t=function(t){var e=0,s=0,i=t;if(i.parentNode){do e+=i.offsetLeft,s+=i.offsetTop;while((i=i.offsetParent)&&i.nodeType<9);i=t;do e-=i.scrollLeft,s-=i.scrollTop;while((i=i.parentNode)&&!/body/i.test(i.nodeName))}return{top:s,right:innerWidth-e-t.offsetWidth,bottom:innerHeight-s-t.offsetHeight,left:e}},e=/(?:^|\\s)token(?=$|\\s)/,s=/(?:^|\\s)active(?=$|\\s)/g,i=/(?:^|\\s)flipped(?=$|\\s)/g,o=function(t,e,s,i){this._elt=null,this._type=t,this._clsRegexp=RegExp(\"(?:^|\\\\s)\"+t+\"(?=$|\\\\s)\"),this._token=null,this.updater=e,this._mouseout=this.mouseout.bind(this),this.initializer=i;var n=this;s||(s=[\"*\"]),\"Array\"!==Prism.util.type(s)&&(s=[s]),s.forEach(function(t){\"string\"!=typeof t&&(t=t.lang),o.byLanguages[t]||(o.byLanguages[t]=[]),o.byLanguages[t].indexOf(n)<0&&o.byLanguages[t].push(n)}),o.byType[t]=this};o.prototype.init=function(){this._elt||(this._elt=document.createElement(\"div\"),this._elt.className=\"prism-previewer prism-previewer-\"+this._type,document.body.appendChild(this._elt),this.initializer&&this.initializer())},o.prototype.check=function(t){do if(e.test(t.className)&&this._clsRegexp.test(t.className))break;while(t=t.parentNode);t&&t!==this._token&&(this._token=t,this.show())},o.prototype.mouseout=function(){this._token.removeEventListener(\"mouseout\",this._mouseout,!1),this._token=null,this.hide()},o.prototype.show=function(){if(this._elt||this.init(),this._token)if(this.updater.call(this._elt,this._token.textContent)){this._token.addEventListener(\"mouseout\",this._mouseout,!1);var e=t(this._token);this._elt.className+=\" active\",e.top-this._elt.offsetHeight>0?(this._elt.className=this._elt.className.replace(i,\"\"),this._elt.style.top=e.top+\"px\",this._elt.style.bottom=\"\"):(this._elt.className+=\" flipped\",this._elt.style.bottom=e.bottom+\"px\",this._elt.style.top=\"\"),this._elt.style.left=e.left+Math.min(200,this._token.offsetWidth/2)+\"px\"}else this.hide()},o.prototype.hide=function(){this._elt.className=this._elt.className.replace(s,\"\")},o.byLanguages={},o.byType={},o.initEvents=function(t,e){var s=[];o.byLanguages[e]&&(s=s.concat(o.byLanguages[e])),o.byLanguages[\"*\"]&&(s=s.concat(o.byLanguages[\"*\"])),t.addEventListener(\"mouseover\",function(t){var e=t.target;s.forEach(function(t){t.check(e)})},!1)},Prism.plugins.Previewer=o,Prism.hooks.add(\"after-highlight\",function(t){(o.byLanguages[\"*\"]||o.byLanguages[t.language])&&o.initEvents(t.element,t.language)})}}();\n\n","var api = require(\"!../../node_modules/@storybook/builder-webpack4/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../node_modules/css-loader/dist/cjs.js??ref--7-1!../../node_modules/postcss-loader/dist/cjs.js??ref--7-2!./styles.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import './assets/prism';\nimport './assets/normalize.css';\n// import './assets/skeleton.css';\nimport './assets/prism.css';\nimport './assets/styles.css';\n\nimport { addParameters, addDecorator } from '@storybook/react';\nimport { addReadme, configureReadme } from 'storybook-readme';\nimport { create } from '@storybook/theming/create';\nimport { themes } from '@storybook/theming';\nimport { version } from '../package.json';\n\n// const availableCodeThemes = [\n// 'a11y-dark',\n// 'atom-dark',\n// 'base16-ateliersulphurpool.light',\n// 'cb',\n// 'darcula',\n// 'duotone-dark',\n// 'duotone-earth',\n// 'duotone-forest',\n// 'duotone-light',\n// 'duotone-sea',\n// 'duotone-space',\n// 'ghcolors',\n// 'github',\n// 'hopscotch',\n// 'pojoaque',\n// 'vs',\n// 'xonokai',\n// ];\n\n// TMEME SHIT\n\nconst theme = create({\n base: 'light',\n brandTitle: 'Informed',\n brandTitle: `Informed v${version}`,\n brandUrl: 'https://teslamotors.github.io/informed',\n // brandImage: 'https://placehold.it/350x150',\n // brandImage: '/InformedLogo.png'\n // brandImage: '/informed-car.png'\n brandImage: 'car-on-informed.png'\n\n //colorPrimary: 'hotpink',\n //colorSecondary: 'deepskyblue',\n\n // UI\n // appBg: 'white',\n // appContentBg: 'silver',\n // appBorderColor: 'grey',\n // appBorderRadius: 4,\n\n // Typography\n // fontBase: '\"Open Sans\", sans-serif',\n // fontCode: 'monospace',\n\n // Text colors\n //textColor: 'white',\n //textInverseColor: 'rgba(255,255,255,0.9)',\n\n // Toolbar default and active colors\n // barTextColor: 'silver',\n // barSelectedColor: 'black',\n // barBg: 'hotpink',\n\n // Form colors\n // inputBg: 'white',\n // inputBorder: 'silver',\n // inputTextColor: 'black',\n // inputBorderRadius: 4,\n});\n\n// README SHIT\naddParameters({\n readme: {\n /**\n * Prism code theme\n * Full list of theme https://github.com/PrismJS/prism-themes\n * To be used with storybook-readme, naming of the code theme should be used in one of these styles. https://github.com/tuchk4/storybook-readme/tree/master/packages/storybook-readme/src/styles/prismCodeThemes\n */\n //codeTheme: 'a11y-dark',\n //highlightContent: true\n },\n darkMode: {\n // Set the initial theme\n // current: 'dark',\n darkClass: 'informed-black',\n lightClass: 'informed-white',\n stylePreview: true,\n // Override the default dark theme\n dark: { ...theme, ...themes.dark },\n // Override the default light theme\n light: { ...themes.light, ...theme }\n },\n options: {\n showPanel: false\n }\n});\n\n// configureReadme({\n// StoryPreview: ({ children }) => (\n//
{children}
\n// ),\n// DocPreview: ({ children }) => (\n//
{children}
\n// )\n// });\n\naddDecorator(addReadme);\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint-disable import/no-unresolved */\nimport { addDecorator, addParameters, addLoader, addArgs, addArgTypes, addArgsEnhancer, addArgTypesEnhancer, setGlobalRender } from '/Users/jpuzzo/Documents/Dev/JS/informed/node_modules/@storybook/client-api';\nimport * as config from '/Users/jpuzzo/Documents/Dev/JS/informed/.storybook/preview.js';\nObject.keys(config).forEach(function (key) {\n var value = config[key];\n\n switch (key) {\n case 'args':\n {\n return addArgs(value);\n }\n\n case 'argTypes':\n {\n return addArgTypes(value);\n }\n\n case 'decorators':\n {\n return value.forEach(function (decorator) {\n return addDecorator(decorator, false);\n });\n }\n\n case 'loaders':\n {\n return value.forEach(function (loader) {\n return addLoader(loader, false);\n });\n }\n\n case 'parameters':\n {\n return addParameters(_objectSpread({}, value), false);\n }\n\n case 'argTypesEnhancers':\n {\n return value.forEach(function (enhancer) {\n return addArgTypesEnhancer(enhancer);\n });\n }\n\n case 'argsEnhancers':\n {\n return value.forEach(function (enhancer) {\n return addArgsEnhancer(enhancer);\n });\n }\n\n case 'render':\n {\n return setGlobalRender(value);\n }\n\n case 'globals':\n case 'globalTypes':\n {\n var v = {};\n v[key] = value;\n return addParameters(v, false);\n }\n\n case '__namedExportsOrder':\n case 'decorateStory':\n case 'renderToDOM':\n {\n return null; // This key is not handled directly in v6 mode.\n }\n\n default:\n {\n // eslint-disable-next-line prefer-template\n return console.log(key + ' was not supported :( !');\n }\n }\n});","export default \"## 4.52.0 ( Oct 19th, 2023)\\n\\n### Added\\n\\n- `restore` function to formApi and `memory` to formState see keepState docs for details\\n\\n## 4.51.4 ( Oct 12th, 2023)\\n\\n### Added\\n\\n- ability to default to zero for number inputs when allowEmptyString is passed\\n\\n## 4.51.3 ( Sep 16th, 2023)\\n\\n### Fixed\\n\\n- issue with some cjs projects where there is no type commonjs in the package.json\\n\\n## 4.51.2 ( Sep 13th, 2023)\\n\\n### Added\\n\\n- missing types for array field\\n\\n## 4.51.1 ( Aug 31st, 2023)\\n\\n### Fixed\\n\\n- Issue with `{ not: { enum: ['Robin', 'Joe'] } }` not working in schemas. See conditional schema example for working example.\\n\\n## 4.51.0 ( Aug 31st, 2023)\\n\\n### Added\\n\\n- ability to pass resetOnlyOnscreen prop to a form in order to prevent eroneous resets on fields in multistep forms when initail values change\\n\\n### Fixed\\n\\n- issue where multistep goal would not get cleared when a step along the path to the goal was invalid\\n\\n### Updated\\n\\n- useMultistep to attempt to reach goal on formReset\\n\\n## 4.50.0 ( Aug 30th, 2023)\\n\\n### Added\\n\\n- ability to pass validateDeps to an input in order to trigger validation\\n- ability to update a validation function on an input\\n\\n## 4.49.6 ( Aug 18th, 2023)\\n\\n### Fixed\\n\\n- issue where array fields would not reset to updated defaultValue\\n\\n## 4.49.5 ( Aug 16, 2023)\\n\\n### Fixed\\n\\n- type issue with validateWhen\\n- issue where validateWhen would cause error in array fields when arrayField name was passed and remove occured on last element\\n\\n## 4.49.4 ( Aug 9th, 2023)\\n\\n### Added\\n\\n- missing type for `` component\\n\\n## 4.49.3 ( Aug 8th, 2023)\\n\\n### Fixed\\n\\n- issue with validateWhen breaking when user would pass a function instead of an array\\n\\n## 4.49.2 ( Aug 3rd, 2023)\\n\\n### Fixed\\n\\n- issue where a field becoming relevant with relevant prop would not properly re render the form state.\\n\\n## 4.49.1 ( July 31st, 2023)\\n\\n### Fixed\\n\\n- issue where modifyOnMount would remove the modified on reset\\n\\n## 4.49.0 ( July 28th, 2023)\\n\\n### Added\\n\\n- modifyOnMount prop so user can make the field modified onMount\\n\\n## 4.48.1 ( July 20th, 2023)\\n\\n### Fixed\\n\\n- Issue in types where we had duplicate validateModified on FieldProps\\n\\n## 4.48.0 ( July 17th, 2023)\\n\\n### Added\\n\\n- ability to pass label to debug component\\n\\n## 4.47.0 ( July 17th, 2023)\\n\\n### Added\\n\\n- disabled to the formState\\n\\n## 4.46.4 ( July 12th, 2023)\\n\\n### Added\\n\\n- missing gatherData type to the ts file\\n\\n## 4.46.3 ( June 29th, 2023)\\n\\n### Added\\n\\n- missing types to exports in the package.json\\n\\n## 4.46.2 ( June 13th, 2023)\\n\\n### Fixed\\n\\n- issue with number formatter where when user typed \\\"7|\\\" and suffix gets added \\\"7 BND|\\\" cursor ends up in correct place \\\"7| BND\\\" where \\\"|\\\" represents cursor position\\n- issue in docs whre the change event on adobe stupidly does not pass the native e event !!\\n\\n## 4.46.1 ( June 12th, 2023)\\n\\n### Fixed\\n\\n- issue with multistep getting null error in react native\\n- missing types for formatNumber\\n\\n## 4.46.0 ( June 1st, 2023)\\n\\n### Added\\n\\n- ability to pass resetValues to formApi.reset()\\n\\n## 4.45.0 ( June 1st, 2023)\\n\\n### Added\\n\\n- ability to pass values to formApi.reset()\\n\\n## 4.44.6 ( May 16th, 2023)\\n\\n### Fixed\\n\\n- Issue where adapter code would get loaded when using custom form\\n\\n## 4.44.5 ( May 8th, 2023)\\n\\n### Added\\n\\n- `\\\"type\\\": \\\"module\\\"` to the package.json as informed is an ESM first package\\n\\n## 4.44.4 ( May 2nd, 2023)\\n\\n### Added\\n\\n- Missing types for gatherData\\n\\n## 4.44.3 ( May 2nd, 2023)\\n\\n### Fixed\\n\\n- Issue where if user did not pass an array field to adapter schema would crash ( now defaults to internal array field )\\n\\n## 4.44.2 ( April 26th, 2023)\\n\\n### Fixed\\n\\n- Issue where when you called setTheseValues on a field with array syntax the following would occur on removing modified values\\n\\n```\\n// 0 ---> 1 ---> 2\\n// Remove index 0 [ 1, 2, 3 ]\\n// ==> [ 2, 3 ]\\n// Remove index 1 [ 2, 3 ]\\n// ==> [ 3 ]\\n// Remove index 2 [ 3 ]\\n// ==> [ 3 ] << see how 3 never got removed\\n```\\n\\n## 4.44.1 (April 4th, 2023)\\n\\n### Added\\n\\n- Missing type for validateModified ( field level and form level )\\n\\n## 4.44.0 (March 24th, 2023)\\n\\n### Fixed\\n\\n- issue where a faulure on a reject of gather data would not set an error\\n\\n## 4.43.4 (March 24th, 2023)\\n\\n### Fixed\\n\\n- issue where multistep setCurrent would not clear errors\\n\\n## 4.43.3 (March 23rd, 2023)\\n\\n### Fixed\\n\\n- issue where empty arrays [] passed required check\\n\\n## 4.43.2 (March 22nd, 2023)\\n\\n### Fixed\\n\\n- issue where child subscriptions would not work\\n\\n```js\\n// This test now passes and it did not before\\nit('friends is parent of friends[1].foo', () => {\\n const actual = isChild('friends', 'friends[1].foo');\\n expect(actual).toEqual(true);\\n});\\n```\\n\\n## 4.43.1 (March 22nd, 2023)\\n\\n### Fixed\\n\\n- issue with debug and prism hightlighting\\n\\n## 4.43.0 (March 22nd, 2023)\\n\\n### Added\\n\\n- useSubState hook\\n\\n## 4.42.1 (March 13th, 2023)\\n\\n### Added\\n\\n- Missing types for `Informed` and `FormProvider`\\n\\n## 4.42.0 (March 10th, 2023)\\n\\n### Added\\n\\n- ability to pass a custom `formatToParts` function to the `createIntlNumberFormatter` util.\\n\\n## 4.41.1 (Feb 23rd, 2023)\\n\\n### Added\\n\\n- `useScope` will now return current scope when nothing is passed in.\\n\\n## 4.41.0 (Feb 23rd, 2023)\\n\\n### Added\\n\\n- `useScopedState` to allow users to get access to scoped values\\n\\n## 4.40.2 (Feb 21st, 2023)\\n\\n### Added\\n\\n- Missing type for Debug component.\\n\\n## 4.40.1 (Feb 16th, 2023)\\n\\n### Fixed\\n\\n- Fixed issue with initialization code when value was empty string.\\n\\n## 4.40.0 (Feb 6th, 2023)\\n\\n### Added\\n\\n- ability to skip a multistep step\\n\\n## 4.39.3 (January 23rd, 2023)\\n\\n### Fixed\\n\\n- type issue with multistep forms where initialStep was required\\n\\n## 4.39.2 (January 19th, 2023)\\n\\n### Fixed\\n\\n- issue where if the initial value was zero the formatter would not get called\\n\\n## 4.39.1 (January 18th, 2023)\\n\\n### Added\\n\\n- missing types for multistep and text area\\n\\n## 4.39.0 (January 10th, 2023)\\n\\n### Added\\n\\n- maskOnBlur so users can trigger mask function only on blur\\n\\n## 4.38.2 (January 9th, 2023)\\n\\n### Fixed\\n\\n- Issue where old ( no longer used ) useLayoutEffect would throw errors in next js apps ( SSR apps )\\n\\n## 4.38.1 (January 9th, 2023)\\n\\n### Fixed\\n\\n- Issue where form fields values would not be initialized until after the first render.\\n\\n## 4.38.0 (Dec 28th, 2022)\\n\\n### Added\\n\\n- Ability to pass `native` boolean to `useConditional` hook. Best explained in the conditional docs.\\n\\n## 4.37.1 (Dec 13th, 2022)\\n\\n- added missing types to formApi\\n\\n## 4.37.0 (Nov 29th, 2022)\\n\\n- added ability to pass `keep` to form fields such that users can specify specific state to keep\\n\\n```js\\n// Example where we only keep value\\n\\n\\n```\\n\\n## 4.36.2 (Nov 9th, 2022)\\n\\n- removed console log from FormController\\n\\n## 4.36.1 (Nov 3rd, 2022)\\n\\n- added missing type for useArrayFieldItemState\\n\\n## 4.36.0 (Nov 1st, 2022)\\n\\n- array fields add and remove now trigger onValueSet\\n\\n## 4.35.2 (Oct 26th, 2022)\\n\\n- multistep type improvements\\n\\n## 4.35.1 (Oct 25th, 2022)\\n\\n- fixed issue where gatherOnMount would not gather after a reset\\n\\n## 4.35.0 (Oct 19th, 2022)\\n\\n- added ability to setValueQuietly\\n\\n## 4.34.0 (Oct 13th, 2022)\\n\\n- added useInformedApi that will allow user to manipulate multiple forms\\n\\n## 4.33.0 (Oct 11th, 2022)\\n\\n- added ability to remove specific index from array field api\\n\\n## 4.32.0 (Sep 30th, 2022)\\n\\n- added ability to disable and enable the form via formApi\\n\\n## 4.31.4 (Sep 22nd, 2022)\\n\\n- array fields dirt now gets set when a user adds or removes\\n\\n## 4.31.3 (Sep 22nd, 2022)\\n\\n- Fixed issue where react strict mode and 18 would not cleanup fields values when they were unmounted\\n\\n## 4.31.2 (Sep 20th, 2022)\\n\\n- Fixed issue where reseting array fields with new initial values would still use old ones\\n\\n## 4.31.1 (Sep 19th, 2022)\\n\\n- When formatting using createIntlNumberFormatter and currencySign being accounting () would not trigger negative\\n\\n```js\\n// When user types -2 or ($2) it would not format correctly\\nconst { formatter, parser } = utils.createIntlNumberFormatter('en-US', {\\n style: 'currency',\\n currency: 'USD',\\n currencySign: 'accounting'\\n});\\n```\\n\\n## 4.31.0 (Sep 14th, 2022)\\n\\n- Form now gets set to dirty when a user performs an add operation on an array field\\n\\n## 4.30.1 (Sep 12th, 2022)\\n\\n- Fixed issue with mask prop not masking last character\\n\\n## 4.30.0 (Sep 11th, 2022)\\n\\n- Added mask prop back to inputs!!!!!\\n\\n## 4.29.1 (Sep 8th, 2022)\\n\\n- Fixed useFormStateSelector when using SSR\\n\\n## 4.29.0 (August 30th, 2022)\\n\\n- added onValueSet to form that only gets called when the value is explicitly set\\n\\n## 4.28.9 (August 30th, 2022)\\n\\n- Fixed issue where validateOnMount would not trigger when the fields were reset to their initial state\\n\\n## 4.28.8 (August 25th, 2022)\\n\\n- Fixed issue where async validate would not trigger when you pass relevance prop to input and input becomes relevant\\n\\n## 4.28.7 (August 24th, 2022)\\n\\n- Fixed issue where locales that use comma instead of dot for fractions would not properly format for thousands\\n\\n## 4.28.6 (August 23nd, 2022)\\n\\n- Fixed issue where if form was reset array field with defualt values would not reset to the default values\\n\\n## 4.28.5 (August 22nd, 2022)\\n\\n- Fixed issue where showErrorIfDirty would not show error if touched\\n\\n## 4.28.4 (August 19th, 2022)\\n\\n- Fixed issue where useFieldSubscription would not spread fields to the useEffect causing potential infinate loops\\n\\n## 4.28.3 (August 15th, 2022)\\n\\n- Fixed issue where user would type the decimalChar in intl number formatter\\n\\n## 4.28.2 (August 10th, 2022)\\n\\n- Added mising types https://github.com/teslamotors/informed/pull/415\\n\\n## 4.28.1 (August 10th, 2022)\\n\\n- Fixed issue with number formatter when inititial value is number\\n\\n## 4.28.0 (August 5th, 2022)\\n\\n- Added ability to pass default values to array fields\\n\\n## 4.27.0 (August 4th, 2022)\\n\\n- Added `useFormStateSelector` hook\\n\\n## 4.26.0 (August 3rd, 2022)\\n\\n- Added ability to get field name from onValueModified and onValueChange props to form\\n\\n## 4.25.0 (August 2nd, 2022)\\n\\n- Added disabled prop back onto form props\\n\\n## 4.24.0 (August 1st, 2022)\\n\\n- Added useInformed to get access to any controller\\n\\n## 4.23.0 (July 31st, 2022)\\n\\n- Added useArrayFieldState\\n\\n## 4.22.0 (July 29th, 2022)\\n\\n- Added ability to pass focusOnInvalid to the form and also added focusFirstError to formApi\\n\\n## 4.21.0 (July 19th, 2022)\\n\\n- Added ability to pass clean function to inputs\\n\\n## 4.20.1 (July 14th, 2022)\\n\\n- Fixed issue where evaluate in useConditional would not trigger when form was reset\\n\\n## 4.20.0 (July 11th, 2022)\\n\\n### Added\\n\\n- ability to pass oneOf as an if condition to schemas\\n- ability to match fields whos values are arrays with enum in schema conditions\\n\\n```js\\nallOf: [\\n {\\n if: {\\n properties: {\\n cars: { oneOf: ['tesla', 'jeep'] }\\n },\\n required: ['cars']\\n },\\n then: {\\n properties: {\\n carName: {\\n type: 'string',\\n title: 'Cars name',\\n 'ui:control': 'input'\\n }\\n }\\n }\\n }\\n];\\n```\\n\\n## 4.19.3 (July 5th, 2022)\\n\\n### Fixed\\n\\n- fixes #411 bad type definition for onSubmit\\n\\n## 4.19.2 (July 5th, 2022)\\n\\n### Updated\\n\\n- package.json to allow react 18 as peer dep\\n\\n## 4.19.1 (June 24th, 2022)\\n\\n### Fixed\\n\\n- issue whith useArray field where if initial value was not array it would crash\\n\\n## 4.19.0 (June 22nd, 2022)\\n\\n### Added\\n\\n- onValueChange prop to fields\\n\\n## 4.18.2 (June 22nd, 2022)\\n\\n### Fixed\\n\\n- issue with key in FormField, this issue can be seen when you have changing schema\\n\\n## 4.18.1 (June 21st, 2022)\\n\\n### Updated\\n\\n- README to have correct urls\\n\\n## 4.18.0 (June15th, 2022)\\n\\n### Added\\n\\n- ability to `if: { properties: { status: {const: [\\\"active\\\"]} } },` in schema ( support array conditions )\\n\\n## 4.17.0 (June 12th, 2022)\\n\\n### Added\\n\\n- resetPath to form api to allow user to pass in path to reset all fields that live under that path\\n\\n## 4.16.2 (June 9th, 2022)\\n\\n### Fixed\\n\\n- issue where react 18 with strict mode would kill useStateWithGetter function ( relevance was broken )\\n\\n## 4.16.1 (June 3rd, 2022)\\n\\n### Fixed\\n\\n- issue where changing schema options would not reset value\\n\\n## 4.16.0 (June 2nd, 2022)\\n\\n### Added\\n\\n- ability get formApi formState and scope in validate function\\n\\n## 4.15.0 (June 2nd, 2022)\\n\\n### Added\\n\\n- ability to pass a function as validateWhen\\n\\n```js\\nvalidateWhen={ scope => `${scope.fieldName}`}\\n```\\n\\n## 4.14.0 (May 26th, 2022)\\n\\n### Added\\n\\n- `validateModified` prop to form so lib will only perform validation on modified fields\\n\\n## 4.13.1 (May 25th, 2022)\\n\\n### Fixed\\n\\n- issue where decimal was getting added when formatter explicitly was told not to add\\n\\n```js\\nutils.createIntlNumberFormatter('en-US', {\\n style: 'decimal',\\n signDisplay: 'never',\\n minimumFractionDigits: 0,\\n maximumFractionDigits: 0\\n});\\n```\\n\\n## 4.12.1 (May 12th, 2022)\\n\\n### Fixed\\n\\n- issue with missing types Debug and Schema Fields\\n\\n## 4.12.0 (May 12th, 2022)\\n\\n### Fixed\\n\\n- issue with isChild\\n\\n### Added\\n\\n- hidden field back to default exported components\\n\\n## 4.11.4 (May 4th, 2022)\\n\\n### Fixed\\n\\n- issue where Relevance inside of Relevance might prevent cleanup on form state\\n\\n## 4.11.3 (May 2nd, 2022)\\n\\n### Fixed\\n\\n- issue where nested array fields removal would break\\n\\n## 4.11.2 (April 29th, 2022)\\n\\n### Fixed\\n\\n- issue where custom error messages did not work in allOf\\n- issue where required:[] on allOf was not working\\n\\n## 4.11.1 (April 28th, 2022)\\n\\n### Fixed\\n\\n-issue where zero ( 0 ) would not work for minimum and maximum due to bad falsey check lol classic\\n\\n## 4.11.0 (April 28th, 2022)\\n\\n### Added\\n\\n- onNativeChange handler to useField\\n\\n## 4.10.0 (April 27th, 2022)\\n\\n### Added\\n\\n- onValid and onInvalid to useForm\\n\\n## 4.9.4 (April 19th, 2022)\\n\\n### Fixed\\n\\n- issue where we would not pass all options to intl formatter\\n\\n## 4.9.3 (April 13th, 2022)\\n\\n### Fixed\\n\\n- issue where after a gather data the field-value event would not get triggered so evaluate would never get called\\n\\n## 4.9.2 (April 13th, 2022)\\n\\n### Fixed\\n\\n- issue where FormComponents was not rendering from components option\\n\\n## 4.9.1 (April 12th, 2022)\\n\\n### Fixed\\n\\n- issue where modified would NOT be correct when allowEmptyString was passed\\n\\n## 4.9.0 (April 12th, 2022)\\n\\n### Added\\n\\n- `formState.modified`\\n- `fieldState.modified`\\n\\n## 4.8.1 (April 4th, 2022)\\n\\n### Fixed\\n\\n- Issue where errors would get kept when going to previous multistep step\\n\\n## 4.8.0 (March 31st, 2022)\\n\\n### Added\\n\\n- useConditional hook and ability to pass `evaluate` and `evaluateWhen`\\n\\n## 4.7.0 (March 29th, 2022)\\n\\n### Added\\n\\n- ability to pass gatherOnMount to a field\\n\\n## 4.6.1 (March 22nd, 2022)\\n\\n### Fixed\\n\\n- misnamed `gatherData` prop\\n\\n## 4.6.0 (March 22nd, 2022)\\n\\n### Added\\n\\n- `gatherData` prop to allow user to get asnyc information for a field\\n\\n## 4.5.12 (March 22nd, 2022)\\n\\n### Fixed\\n\\n- Missing types for default exported fields\\n- Missing type for `required`\\n\\n## 4.5.11 (March 20th, 2022)\\n\\n### Fixed\\n\\n- issue where allowEmptyString and allowEmptyStrings where broken\\n\\n## 4.5.10 (March 18th, 2022)\\n\\n### Fixed\\n\\n- issue where `step` was missing from multistep type\\n\\n## 4.5.9 (March 18th, 2022)\\n\\n### Fixed\\n\\n- issue with propertyOrder in nested schemas\\n\\n## 4.5.8 (March 18th, 2022)\\n\\n### Fixed\\n\\n- issue with more than double nested schemas\\n- issue with Multistep.Step types\\n\\n## 4.5.7 (March 9th, 2022)\\n\\n### Fixed\\n\\n- issue with changing options on schema fields ( undefined would clobber defined values in option merge )\\n\\n## 4.5.6 (March 8th, 2022)\\n\\n### Fixed\\n\\n- issue where changing validation params would not rebuild validation function\\n\\n## 4.5.5 (March 8th, 2022)\\n\\n### Fixed\\n\\n- issue where multistep steps would not deregister\\n\\n## 4.5.4 (Feb 28th, 2022)\\n\\n### Fixed\\n\\n- issue where multistep steps would not clean up after themselves\\n\\n## 4.5.3 (Feb 22th, 2022)\\n\\n### Fixed\\n\\n- issue with touchAllFields not touching fields within an array\\n\\n## 4.5.2 (Feb 18th, 2022)\\n\\n### Fixed\\n\\n- Another Issue with debugger in react native that caused crash\\n\\n## 4.5.1 (Feb 16th, 2022)\\n\\n### Fixed\\n\\n- Issue with debugger in react native\\n\\n## 4.5.0 (Feb 16th, 2022)\\n\\n### Added\\n\\n- onValueModified prop to useForm\\n\\n## 4.4.0 (Feb 15th, 2022)\\n\\n### Added\\n\\n- ability to pass reset options to reset field\\n\\n## 4.3.0 (Feb 15th, 2022)\\n\\n### Added\\n\\n- onValueChange prop to useForm\\n\\n## 4.2.0 (Feb 10th, 2022)\\n\\n### Added\\n\\n- Ability to add n items to array field by passing add(3) a number to add\\n\\n## 4.1.2 (Feb 10th, 2022)\\n\\n### Fixed\\n\\n- Missing form level option for keepState and keepStateIfRelevant\\n\\n## 4.1.1 (Feb 9th, 2022)\\n\\n### Fixed\\n\\n- Stupid issue with safari throwing a type error when trying to check for selectionStart on event.target\\n\\n## 4.1.0 (Feb 8th, 2022)\\n\\n### Added\\n\\n- Ability to use state across multiple forms\\n\\n## 4.0.35 (Feb 8th, 2022)\\n\\n### Fixed\\n\\n- missing types for multistep and formApi\\n\\n## 4.0.34 (Feb 4th, 2022)\\n\\n### Fixed\\n\\n- issue with INTL formatter when used with `EUR` and `en-DE`\\n\\n## 4.0.33 (Feb 3rd, 2022)\\n\\n### Fixed\\n\\n- issue with formatter function not allowing full value\\n\\n## 4.0.32 (January 26th, 2022)\\n\\n### Fixed\\n\\n- issue with FormField not allowing conditional fields\\n\\n## 4.0.31 (January 25th, 2022)\\n\\n### Fixes https://github.com/teslamotors/informed/issues/381\\n\\n- autoFocus on Input throws error\\n\\n## 4.0.30 (January 24th, 2022)\\n\\n### Added\\n\\n- propertyOrder back to schema\\n\\n## 4.0.29 (January 20th, 2022)\\n\\n### Added\\n\\n- asyncValidate to formApi\\n\\n## 4.0.28 (January 18th, 2022)\\n\\n### Fixed\\n\\n- issue with cursor offsets when suffix is added\\n\\n## 4.0.27 (January 14th, 2022)\\n\\n### Fixed\\n\\n- issue with negative cursor offsets\\n\\n### Fixed\\n\\n- issue with off by one cursor locations on formatter\\n\\n## 4.0.25 (January 14th, 2022)\\n\\n### Fixed\\n\\n- createIntlNumberFormatter not working with negative numbers\\n\\n## 4.0.24 (January 7th, 2022)\\n\\n### Added\\n\\n- clearValue() function to form and field apis\\n\\n### Fixed\\n\\n- Issue where validateOnMount would NOT trigger validation when a field was re-rendered\\n\\n## 4.0.23 (January 5th, 2022)\\n\\n### Fixed\\n\\n- issue with array field items being memoized\\n\\n## 4.0.22 (January 5th, 2022)\\n\\n### Fixed\\n\\n- issue with createIntlNumber mask adding random \\\"[]\\\" sometimes\\n\\n## 4.0.21 (January 5th, 2022)\\n\\n### Fixed\\n\\n- issue where returning \\\"\\\" from validation function would not show error state\\n\\n## 4.0.20 (January 4th, 2022)\\n\\n### Fixed\\n\\n- issue where removing item from array field would not make the form dirty\\n\\n## 4.0.19 (December 31st, 2021)\\n\\n### Exposed\\n\\n- useRelevance hook and added type for it in types\\n\\n## 4.0.18 (December 23rd, 2021)\\n\\n### Fixed\\n\\n- issue where values would get cleared on un-mount\\n\\n## 4.0.17 (December 17th, 2021)\\n\\n### Fixed\\n\\n- issue where I forgot to deregister fields when they became irrelevant\\n\\n## 4.0.16 (December 17th, 2021)\\n\\n### Fixed\\n\\n- issue where I forgot to allow relevanceDeps to be passed to multistep step\\n\\n## 4.0.15 (December 15th, 2021)\\n\\n### Moved\\n\\n- The repo to tesla or go needed to re publish to get updated README to npm\\n\\n## 4.0.14 (December 15th, 2021)\\n\\n### Fixed\\n\\n- forgot to add getCurrentStep to multistepApi\\n- forgot to add nextStep and previousStep to multistepState\\n\\n## 4.0.13 (December 15th, 2021)\\n\\n### Fixed\\n\\n- issue where set touched did not default meta when field is not there\\n\\n## 4.0.12 (December 15th, 2021)\\n\\n### Fixed\\n\\n- issue where `FormField` could not take field props\\n\\n## 4.0.11 (December 15th, 2021)\\n\\n### Fixed\\n\\n- missing type for Relevant\\n\\n## 4.0.10 (December 15th, 2021)\\n\\n### Fixed\\n\\n- issue where FormProvider was not exported\\n\\n## 4.0.9 (December 13th, 2021)\\n\\n### Fixed\\n\\n- issue where passing showErrorIfTouched={false} would not work\\n\\n## 4.0.8 (December 10th, 2021)\\n\\n### Removed\\n\\n- Empty dependencies object from package.json\\n\\n## 4.0.7 (December 10th, 2021)\\n\\n### Fixed\\n\\n- Issue with relevance subscription when no relevance function\\n\\n## 4.0.6 (December 9th, 2021)\\n\\n### Fixed\\n\\n- Missing functions setValues and setTheseValues\\n\\n## 4.0.5 (December 9th, 2021)\\n\\n### Fixed\\n\\n- Missing types for validate and validateField on FormApi\\n\\n## 4.0.4 (December 9th, 2021)\\n\\n### Fixed\\n\\n- Issue where we forgot to expose form validate\\n- Missing utils types\\n\\n## Added\\n\\n- useScope and useScoper to exports\\n\\n## 4.0.3 (December 7th, 2021)\\n\\n### Fixed\\n\\n- Issue with forms valid and invalid when relevance changes\\n\\n## 4.0.2 (December 7th, 2021)\\n\\n### Fixed\\n\\n- Issue with schema path util `inverter[12].air_filter_ok` would not work\\n\\n## 4.0.1 (December 7th, 2021)\\n\\n### Fixed\\n\\n- Issue with initializing when becoming relevant\\n\\n## 4.0 !!!!\\n\\n### Breaking changes\\n\\n#### onSubmit signature\\n\\nOld\\n\\n```\\nconst onSubmit = values => console.log( values );\\n```\\n\\nNew\\n\\n```\\nconst onSubmit = formState => console.log( formState.values );\\n```\\n\\n#### Text --> Input\\n\\nOld\\n\\n```jsx\\n\\n```\\n\\nNew\\n\\n```jsx\\n\\n```\\n\\n#### apiRef --> formApiRef\\n\\nOld\\n\\n```jsx\\n
\\n// OR\\n\\n```\\n\\nNew\\n\\n```jsx\\n\\n```\\n\\n#### informed:props ( schema )\\n\\n```\\ninformed:props is now ui:props when using schema based forms\\n```\\n\\n#### `asField` has been removed\\n\\nInstead of doing this\\n\\n```js\\nconst CustomField = asField({ fieldState, fieldApi }) => {}\\n```\\n\\nDo this\\n\\n```js\\nconst CustomField = props => {\\n const { fieldState, fieldApi } = useField(props);\\n};\\n```\\n\\n#### Relevance\\n\\nThe when function for relevance now has this signature\\n\\n```\\nwhen={({formState, formApi, scope}) => {...} }\\n```\\n\\n#### yupSchema\\n\\n```\\nvalidationSchema ---> is now yupSchema\\n```\\n\\n#### Array Fields\\n\\n##### Renamed `field` to `name`\\n\\n```jsx\\n\\n {({ remove, field }) => (\\n <>\\n \\n \\n \\n )}\\n\\n```\\n\\nIs Now\\n\\n```jsx\\n\\n {({ remove, name }) => (\\n <>\\n \\n \\n \\n )}\\n\\n```\\n\\n##### No more array field path prefixing\\n\\nOld:\\n\\n```jsx\\n\\n {({ remove, field }) => (\\n <>\\n \\n \\n \\n \\n )}\\n\\n```\\n\\nNew:\\n\\n```jsx\\n\\n {({ remove }) => (\\n <>\\n \\n \\n \\n \\n )}\\n\\n```\\n\\n##### No more values in array field render prop\\n\\nOld:\\n\\n```jsx\\n// Some component you need to use state of array field item\\nconst FieldState = ({ values }) => {\\n return (\\n
\\n      {JSON.stringify(values, null, 2)}\\n    
\\n );\\n};\\n\\n\\n {({ remove, values }) => (\\n <>\\n \\n \\n \\n \\n \\n )}\\n;\\n```\\n\\nNew:\\n\\n```jsx\\n// Some component you need to use state of array field item\\nconst FieldState = () => {\\n const { values } = useArrayFieldItemState();\\n return (\\n
\\n      {JSON.stringify(values, null, 2)}\\n    
\\n );\\n};\\n\\n\\n {({ remove }) => (\\n <>\\n \\n \\n \\n \\n \\n )}\\n;\\n```\\n\\n#### Debugging with ``\\n\\nOld:\\n\\n```jsx\\n\\n```\\n\\nNew:\\n\\n```jsx\\n\\n```\\n\\n#### Custom Inputs\\n\\nMinor changes to custom inputs\\n\\nNew:\\n\\n```jsx\\nconst CustomInput = props => {\\n const { fieldState, fieldApi, render, ref, userProps } = useField(props);\\n\\n // The field state\\n const { value, error, showError } = fieldState;\\n\\n // The field control\\n const { setValue, setTouched } = fieldApi;\\n\\n // Everything else\\n const { label, id, ...rest } = userProps;\\n\\n return render(\\n <>\\n {label ? : null}\\n {\\n setValue(e.target.value, e);\\n }}\\n onBlur={e => {\\n setTouched(true, e);\\n }}\\n style={showError ? { border: 'solid 1px red' } : null}\\n />\\n {showError ? {error} : null}\\n \\n );\\n};\\n```\\n\\n#### Validation\\n\\nValidation is now controlled via validateOn=\\\"validationString\\\"\\n\\nBy default fields will only validate on blur. To get\\nmore granular validation, simply pass in `validateOn` props.\\n\\nSee table below for mapping:\\n\\n
\\n\\n| validateOn | derived | change | blur | submit | default |\\n| ------------- | ------------- | ------------ | ------------ | ------------ | ------- |\\n| change | change-change | sync + async | sync + async | sync + async | |\\n| blur | blur-blur | x | sync + async | sync + async | x |\\n| change-blur | change-blur | sync | sync + async | sync + async | |\\n| change-submit | change-submit | sync | sync | sync + async | |\\n| blur-submit | submit-submit | x | sync | sync + async | |\\n| submit | submit-submit | x | x | sync + async | |\\n\\n
\\n\\nValidation is controlled via the `validateOn` prop, but in order to control when it shows,\\nuse the `showErrorIfError` and `showErrorIfDirty` props. **This is because sometimes you may want the form to be invalid but not show the error to the user yet ( default is `showErrorIfTouched` )**\\n\\n| prop | description | default |\\n| ------------------ | ------------------------------------------------------------------------------------------------------------ | ------- |\\n| showErrorIfError | will set `showError` for that field to true whenever there is an error (typically used with validateOnMount) | |\\n| showErrorIfTouched | will set `showError` for that field to true whenever there is an error and the field is touched | x |\\n| showErrorIfDirty | will set `showError` for that field to true whenever there is an error and the field is dirty | |\\n\\n
\\n\\nFinally we have a use case for validating right away ( on mount )\\n\\n| prop | description | default |\\n| --------------- | ------------------------------- | ------- |\\n| validateOnMount | will trigger validation onMount | false |\\n\\n
\\n
\\n\\n---\\n\\n
\\n\\n## 3.34.0 (June 22, 2021)\\n\\n### Added\\n\\n- ability to control when async validation occurs with props\\n\\n## 3.33.0 (May 21, 2021)\\n\\n### Added\\n\\n- createIntlNumberFormatter\\n\\n## 3.32.3 (May 21, 2021)\\n\\n### Fixed\\n\\n- Issue with useFieldState, now returns empty object by default\\n\\n## 3.32.2 (May 21, 2021)\\n\\n### Fixed\\n\\n- Issue with mounting useFieldStates\\n\\n## 3.32.1 (May 21, 2021)\\n\\n### Fixed\\n\\n- Issue with layoutEffect in SSR\\n\\n## 3.32.0 (May 19, 2021)\\n\\n### Added\\n\\n- Ability to walk down a multistep with step selection.\\n\\n## 3.31.0 (April 26, 2021)\\n\\n### Added\\n\\n- formatter functions `formatter = [()=>{}, ()=>{}]`\\n\\n## 3.30.3 (April 2, 2021)\\n\\n### Added\\n\\n- memoized render back because I never should have removed it\\n\\n## 3.30.2 (March 15, 2021)\\n\\n### Refactored\\n\\n- To no longer use event emitter.\\n\\n## 3.30.1 (March 5, 2021)\\n\\n### Fixed\\n\\n- Issue where keep state in scope was not working.\\n\\n## 3.30.0 (March 2, 2021)\\n\\n### Added\\n\\n- Pristine and Dirty to formFieldState\\n\\n## 3.29.4 (February 24, 2021)\\n\\n### Updated\\n\\n- Peer deps to support react v 17\\n\\n## 3.29.3 (February 5, 2021)\\n\\n### Fixed\\n\\n- Issue where ObjectMap `has` would reference wrong get funciton fixes #327\\n\\n## 3.29.2 (February 4, 2021)\\n\\n### Fixed\\n\\n- Issue where carrot pos would be in the wrong place when formatting\\n\\n### Updated\\n\\n- `useField` hook to use the `useCarrotPosition` hook ( removed duplicate code )\\n\\n## 3.29.1 (February 4, 2021)\\n\\n### Added\\n\\n- Ability to call `setValue` function for custom formattedObject Inputs\\n\\n## 3.29.0 (February 2, 2021)\\n\\n### Added\\n\\n- Ability to pass `initialize` function for custom initialization of the initial value\\n\\n## 3.28.0 (February 2, 2021)\\n\\n### Exposed\\n\\n- Utils functions that can be used by end users\\n\\n## 3.27.0 (December 18, 2020)\\n\\n### Fixed\\n\\n- bug with update function in form controller where it would pull instead of delete on swap\\n\\n## 3.26.0 (December 17, 2020)\\n\\n### Added\\n\\n- `swap` to array fields\\n\\n### Rafactored\\n\\n- Internal state management\\n\\n## 3.25.0 (December 8, 2020)\\n\\n### Added\\n\\n- `onReset` to form props\\n\\n## 3.24.4 (December 5, 2020)\\n\\n### Updated\\n\\n- README and needed to get it to npm ... again again\\n\\n## 3.24.3 (December 5, 2020)\\n\\n### Updated\\n\\n- README and needed to get it to npm ... again\\n\\n## 3.24.2 (November 24, 2020)\\n\\n### Updated\\n\\n- README and needed to get it to npm\\n\\n## 3.24.1 (November 23, 2020)\\n\\n### Fixed\\n\\n- Type issue ( missing allow empty string from props def )\\n\\n## 3.24.0 (November 19, 2020)\\n\\n### Fixed\\n\\n- Issue where Id was not getting passed to default select field\\n\\n## 3.23.0 (November 18, 2020)\\n\\n### Removed\\n\\n- LODASH!!!!! SEE YA LATER NEVER\\n\\n## 3.22.0 (November 17, 2020)\\n\\n### Added\\n\\n- Ability to pass relevant to array fields!!!\\n\\n## 3.21.2 (November 14, 2020)\\n\\n### Fixed\\n\\n- Bug with field level relevant\\n\\n### Updated\\n\\n- Form to always evaluate relevance, and not force the user to pass notify.\\n\\n## 3.21.1 (November 12, 2020)\\n\\n### Fixed\\n\\n- Isssue where state would not update after submit\\n\\n## 3.21.0 (November 12, 2020)\\n\\n### Added\\n\\n- Ability to add async validation functions to inputs\\n\\n## 3.20.0 (November 11, 2020)\\n\\n### Added\\n\\n- Ability to not pass keep state to multistep fields, and also added docs for conditional relevant nested array fields\\n\\n## 3.19.0 (November 10, 2020)\\n\\n### Added\\n\\n- Ability to hide or show fields based on relevant, and notify relevant fields\\n\\n## 3.18.3 (November 10, 2020)\\n\\n### Fixed\\n\\n- bug with resetting array field items\\n\\n## 3.18.2 (November 9, 2020)\\n\\n### Fixed\\n\\n- bug with duplicate fields\\n\\n## 3.18.1 (November 9, 2020)\\n\\n### Fixed\\n\\n- bug with keep state registering phantom fields\\n\\n## 3.18.0 (November 5, 2020)\\n\\n### Added\\n\\n- ability to create custom schema fields\\n\\n## 3.17.1 (November 3, 2020)\\n\\n### Fixed\\n\\n- useField was not adding id to label by default\\n\\n## 3.17.0 (November 3, 2020)\\n\\n### Added\\n\\n- Required attribute to input and automatic type generation for useField hook\\n\\n## 3.16.1 (November 2, 2020)\\n\\n### Fixed\\n\\n- Issue where informed props were not passed down to array fields in schema\\n\\n## 3.16.0 (November 1, 2020)\\n\\n### Added\\n\\n- Ability to have conditional schemas!!!!\\n\\n## 3.15.0 (October 28, 2020)\\n\\n### Added\\n\\n- Ability to add array fields in schema!!!!\\n\\n## 3.14.0 (October 27, 2020)\\n\\n### Added\\n\\n- Formatter and Parser !!!!!\\n\\n## 3.13.2 (October 27, 2020)\\n\\n### Fixed\\n\\n- Issue with strict mode double registering\\n\\n## 3.13.1 (October 23, 2020)\\n\\n### Fixed\\n\\n- Bug where inforemd would crash if schema was missing field that was in JSX ( returns null )\\n\\n## 3.13.0 (October 23, 2020)\\n\\n### Added\\n\\n- Ability to render schema fields in specific paces within JSX!!\\n\\n## 3.12.0 (October 22, 2020)\\n\\n### Added\\n\\n- Added AJV Schema shit!!!\\n\\n## 3.11.0 (October 21, 2020)\\n\\n### Added\\n\\n- Schema shit\\n\\n## 3.10.1 (October 18, 2020)\\n\\n### Fixed\\n\\n- Array fields because I stupidly broke them\\n\\n#### Added\\n\\n- Tests for multistep fields\\n- Better multistep form syntax\\n- Better multistep docs\\n\\n## 3.10.0 (September 29, 2020)\\n\\n### Updated\\n\\n- internals to modify state direct to improve performance!\\n\\n## 3.9.0 (June 15, 2020)\\n\\n### Updated\\n\\n- useArray field to expose a reset that resets to initial values\\n\\n## 3.8.1 (May 11, 2020)\\n\\n### Fixed\\n\\n- Issue with back and next types for multistep fields\\n\\n## 3.8.0 (May 4, 2020)\\n\\n### Added\\n\\n- Array field Api control for ArrayFieldItems\\n\\n## 3.7.0 (May 4, 2020)\\n\\n### Refactored\\n\\n- To use field ids instead of names\\n\\n### Added\\n\\n- `` component\\n\\n## 3.6.1 (March 2, 2020)\\n\\n### Updated\\n\\n- Type file to include preventEnter on form props\\n\\n## 3.6.0 (March 1, 2020)\\n\\n### Added\\n\\n- Ability to pass formController to useField hook\\n\\n## 3.5.2 (February 28, 2020)\\n\\n### Fixed\\n\\n- [Issue](https://github.com/joepuzzo/informed/issues/275) where new version of react would throw warnings due to bad code\\n\\n## 3.5.1 (February 27, 2020)\\n\\n### Fixed\\n\\n- [Issue](https://github.com/joepuzzo/informed/issues/272) where dynamic nested array fields with keep state kept too much state :)\\n\\n## 3.5.0 (February 25, 2020)\\n\\n### Added\\n\\n- New multistep abilities via setCurrent in `formApi` and `Current` in `formState`. See compex multistep form in docs\\n\\n## 3.4.0 (February 22, 2020)\\n\\n### Added\\n\\n- Ability to spread `informed` object on inputs via the `useField` hook\\n\\n## 3.3.5 (February 22, 2020)\\n\\n### Updated\\n\\n- Readme to show useForm example\\n\\n## 3.3.4 (February 20, 2020)\\n\\n### Added\\n\\n- FormState component to assist when debugging!\\n\\n## 3.3.3 (February 18, 2020)\\n\\n### Added\\n\\n- Types for multisetp forms\\n\\n## 3.3.2 (February 16, 2020)\\n\\n### Added\\n\\n- Ability to use cursor position in mask function\\n\\n## 3.3.1 (February 16, 2020)\\n\\n### Updated\\n\\n- Intro examples to inculde on submit example\\n\\n## 3.3.0 (February 10, 2020)\\n\\n### Added\\n\\n- Field level Yup support\\n\\n## 3.2.1 (February 9, 2020)\\n\\n### Fixed\\n\\n- Typo in yup docs and readme\\n\\n## 3.2.0 (February 9, 2020)\\n\\n### Added\\n\\n- Yup support\\n\\n## 3.1.2 (February 9, 2020)\\n\\n### Updated\\n\\n- docs and readme to link to dicord channel\\n\\n## 3.1.1 (February 8, 2020)\\n\\n### Added\\n\\n- apiRef so you can just pass a ref to the form\\n\\n## 3.1.0 (February 5, 2020)\\n\\n### Added\\n\\n- Step functionality to support multistep forms\\n\\n## 3.0.2 (January 24, 2020)\\n\\n### Fixed\\n\\n- Issue https://github.com/joepuzzo/informed/issues/267\\n\\n## 3.0.1 (January 24, 2020)\\n\\n### Fixed\\n\\n- README ( I wish there was a way on npm to update readme without publishing version )\\n\\n## 3.0.0 (January 24, 2020)\\n\\n### Fixed\\n\\n- Issue with array field validation https://github.com/joepuzzo/informed/issues/259\\n- Issue where informed would throw errors when fields were hidden but referenced\\n\\n### Added\\n\\n- Ability to ( in the near future ) add validations to scopes ( Enabled because of code refacotor... will add soon :)\\n\\n### Changed\\n\\n- The internals to no longer keep track of giant state object but instead generate it on demand\\n\\n### Removed\\n\\n- A bunch of useless code :)\\n\\n#### Cleaned up\\n\\n- Large portion of the code .. Mostly the formController!\\n\\n## 2.11.17 (January 21, 2020)\\n\\n## Update\\n\\n- useField to trigger validation when validation related props change\\n\\n## 2.11.16 (November 18, 2019)\\n\\n## Fixed\\n\\n- issue with array field where validation would fail\\n\\n## 2.11.15 (November 6, 2019)\\n\\n## Fixed\\n\\n- issue with array field where removing multiple fields did not remove the data from state\\n\\n## 2.11.14 (November 5, 2019)\\n\\n## Removed\\n\\n- removable prop to inputs because it was a bad idea... now it supports removal nativley\\n\\n## 2.11.13 (November 4, 2019)\\n\\n## Added\\n\\n- removable prop to inputs ( adds support for pairing keep state and array fields such that remove button actually removes field )\\n\\n## 2.11.12 (November 1, 2019)\\n\\n## Fixed\\n\\n- issue with keep state on array fields\\n\\n## 2.11.11 (November 1, 2019)\\n\\n## Added\\n\\n- comp name to useField hook\\n\\n## 2.11.10 (October 21, 2019)\\n\\n## Added\\n\\n- missing setFormError prop to FormApi interface\\n\\n## 2.11.9 (September 10, 2019)\\n\\n## Added\\n\\n- keepState to types\\n\\n## 2.11.8 (July 16, 2019)\\n\\n## Adds\\n\\n- allowEmptyStrings form level prop to types\\n\\n## 2.11.7 (July 8, 2019)\\n\\n## Fixes\\n\\n- issue 227 where allowEmptyStrings form level prop did not work\\n\\n## 2.11.6 (July 2, 2019)\\n\\n## Fixes\\n\\n- issue 219 where array fields would not work with scope\\n\\n## 2.11.5 (July 2, 2019)\\n\\n## Fixes\\n\\n- issue 225 where validation will occur on mount when there are initial values\\n\\n## 2.11.4 (July 1, 2019)\\n\\n## Fixes\\n\\n- issue 215 where selects dont work in Edge becase .. you know.. Microsoft\\n\\n## 2.11.3 (July 1, 2019)\\n\\n## Fixes\\n\\n- warning with useLayoutEffect when using SSR\\n\\n## 2.11.2 (June 27, 2019)\\n\\n## Updated\\n\\n- README file to include minzipped badge\\n\\n## 2.11.1 (June 18, 2019)\\n\\n## Fixed\\n\\n- Issue where initial values changing on multiselects caused looping .. oops\\n\\n## 2.11.0 (June 14, 2019)\\n\\n## Updated\\n\\n- useForm to return user props and a render method\\n- Form provider to no longer render a `` IT NEVER SHOULD HAVE.\\n\\n## 2.10.2 (June 13, 2019)\\n\\n## Fixed\\n\\n- Issue where initial values did not change when form was reset\\n\\n## 2.10.1 (June 11, 2019)\\n\\n## Fixed\\n\\n- Issue where array level validation would not trigger for complex nested fields within array field\\n\\n## Added\\n\\n- length as a second parameter to arrayFields validate function\\n\\n## 2.10.0 (June 7, 2019)\\n\\n## Added\\n\\n- ability to pass validation function to an array field\\n- arrayFields are now treaded as \\\"shadow\\\" fields\\n\\n## 2.9.0 (June 6, 2019)\\n\\n## Added\\n\\n- useArrayField hook\\n\\n## 2.8.2 (June 5, 2019)\\n\\n## Added\\n\\n- ability to change out form options such as validateFields\\n\\n## 2.8.1 (June 5, 2019)\\n\\n## Fixed\\n\\n- issue with addWithInitialValue when using add and then addWithInitialValue\\n\\n## 2.8.0 (June 5, 2019)\\n\\n## Added\\n\\n- addWithInitialValue to the `ArrayField`\\n\\n## 2.7.8 (May 31, 2019)\\n\\n## Fixed\\n\\n- issue where initial values were not being formatted\\n\\n## 2.7.7 (May 30, 2019)\\n\\n## Fixed\\n\\n- issue where initial values were not being masked\\n\\n## 2.7.6 (May 29, 2019)\\n\\n## Updated\\n\\n- Types file to support validate on formApi\\n\\n## 2.7.5 (May 29, 2019)\\n\\n## Updated\\n\\n- Types file to support any type on form errors\\n\\n## 2.7.4 (May 23, 2019)\\n\\n### Fixed\\n\\n- documentation for creating custom inputs\\n\\n### Added\\n\\n- the ability to pass your own ref to inputs\\n\\n## 2.7.3 (May 22, 2019)\\n\\n### Fixed\\n\\n- issue with validation triggering when keep state and validate on blur\\n\\n## 2.7.2 (May 21, 2019)\\n\\n### Added\\n\\n- made `maskWithCursorOffset` optional in types\\n\\n## 2.7.1 (May 21, 2019)\\n\\n### Added\\n\\n- `maskWithCursorOffset` to the type defs\\n\\n## 2.7.0 (May 21, 2019)\\n\\n### Added\\n\\n- `maskWithCursorOffset` prop to inputs\\n\\n## 2.6.15 (May 20, 2019)\\n\\n### Added\\n\\n- maintainCursor to types\\n\\n## 2.6.14 (May 16, 2019)\\n\\n### Added\\n\\n- render and userProps to field context types\\n\\n## 2.6.13 (May 16, 2019)\\n\\n### Added\\n\\n- maskedValue to types\\n\\n## 2.6.12 (May 14, 2019)\\n\\n### Added\\n\\n- getters to useFields field api\\n\\n## 2.6.11 (May 11, 2019)\\n\\n### Added\\n\\n- useField hook to the docs\\n\\n### Updated\\n\\n- the interface for useField hook\\n\\n## 2.6.10 (May 10, 2019)\\n\\n### Fixed\\n\\n- issue where initialization code in useform was in the effect and not in constructor\\n\\n## 2.6.9 (May 10, 2019)\\n\\n### Fixed\\n\\n- attempting to fix issue that I think is caused by useEffect in useForm hook\\n\\n## 2.6.8 (May 10, 2019)\\n\\n### Fixed\\n\\n- issues cause by using `useMemo` instead of `useState` for initial render stuff\\n\\n## 2.6.7 (May 9, 2019)\\n\\n### Added\\n\\n- exists function to the field api types\\n\\n## 2.6.6 (May 9, 2019)\\n\\n### Added\\n\\n- exists function to the field api so you can check to see if that field exists\\n\\n## 2.6.5 (May 9, 2019)\\n\\n### Fixed\\n\\n- issue where inital render of useFieldApi would fail when field was not registered yet\\n\\n## 2.6.4 (May 9, 2019)\\n\\n### Updated\\n\\n- useForm hook so that the event handlers can change\\n\\n## 2.6.3 (May 7, 2019)\\n\\n### Removed\\n\\n- debug as a dependency and added my own :)\\n\\n## 2.6.2 (May 3, 2019)\\n\\n### Fixed\\n\\n- issue with default register context missin getField function\\n\\n## 2.6.1 (May 3, 2019)\\n\\n### Fixed\\n\\n- issue with `useFieldApi` hook and `withFieldApi` HOC where reset and validate were not there\\n\\n### Added\\n\\n- a few more tests to increase test coverage!!!! wooo\\n\\n## 2.6.0 (May 2, 2019)\\n\\n### Added\\n\\n- `useForm` hook!!! and `FormProvider` component!!!\\n\\n## 2.5.0 (April 30, 2019)\\n\\n### Updated\\n\\n- useField hook to useEffect instead of useLayoutEffect\\n\\n## 2.4.0 (April 30, 2019)\\n\\n### Added\\n\\n- preventEnter prop to the form so users can prevent enter key form submission\\n\\n## 2.3.2 (April 22, 2019)\\n\\n### Updated\\n\\n- Issue with dynamic arrays and initial values\\n\\n## 2.3.1 (April 12, 2019)\\n\\n### Updated\\n\\n- Babel build\\n\\n## 2.3.0 (April 3, 2019)\\n\\n### Added\\n\\n- `allowEmtyStrings` prop to the form\\n- `allowEmtyString` prop to inputs\\n\\n### Fixed\\n\\n- issue where setValues would not allow empty strings\\n\\n## 2.2.0 (March 29, 2019)\\n\\n### Added\\n\\n- `setFormError` function to the form api\\n- `validate` function to the form api\\n\\n## 2.1.15 (March 28, 2019)\\n\\n### Fixed\\n\\n- Issue with setValues missing from the default context\\n\\n## 2.1.14 (March 27, 2019)\\n\\n### Fixed\\n\\n- Issue where reset would call validation\\n\\n## 2.1.13 (March 18, 2019)\\n\\n### Updated\\n\\n- Allowing for optional generic on FormValue\\n\\n## 2.1.12 (March 13, 2019)\\n\\n### Updated\\n\\n- ref to be any type in typings\\n\\n## 2.1.11 (March 12, 2019)\\n\\n### Fixed\\n\\n- issue in typings for ref field on FieldContext\\n\\n## 2.1.10 (March 12, 2019)\\n\\n### Fixed\\n\\n- issue when using a field NOT in the context of a form\\n\\n## 2.1.9 (March 8, 2019)\\n\\n### Fixed\\n\\n- another issue where initial values did not work when keep state was passed\\n\\n## 2.1.8 (March 8, 2019)\\n\\n### Fixed\\n\\n- issue where initial values did not work when keep state was passed\\n\\n## 2.1.7 (March 3, 2019)\\n\\n### Fixed\\n\\n- issue where initial values did not work for `ArrayFields`\\n\\n## 2.1.6 (Feb 21, 2019)\\n\\n### Updated\\n\\n- typing files for type script users\\n\\n## 2.1.5 (Feb 19, 2019)\\n\\n### Fixed\\n\\n- Issue with text area input not setting typed value\\n\\n## 2.1.4 (Feb 19, 2019)\\n\\n### Added\\n\\n- `maskOnBlur` prop to inputs\\n\\n## 2.1.3 (Feb 14, 2019)\\n\\n### Added\\n\\n- `fieldExists` api function to check if field exists\\n\\n## 2.1.2 (Feb 14, 2019)\\n\\n### Fixed\\n\\n- Issue where form that is submitted through enter key would try to prevent default\\n\\n## 2.1.1 (Feb 14, 2019)\\n\\n### Fixed\\n\\n- Issue where form values would not get passed to validation function when touched\\n\\n## 2.1.0 (Feb 14, 2019)\\n\\n### Updated\\n\\n- Format and parse to set maskedValue instead of value\\n\\n## 2.0.5 (Feb 14, 2019)\\n\\n### Fixed\\n\\n- Issue where you could NOT set 0 null or false as initial values because they are falsey\\n\\n## 2.0.4 (Feb 13, 2019)\\n\\n### Added\\n\\n- validateFields function to the form!!!\\n\\n## 2.0.3 (Feb 13, 2019)\\n\\n### Fixed\\n\\n- Issue where reset would not work for scoped fields\\n\\n### Added\\n\\n- Set Values to the form api!!!\\n\\n## 2.0.2 (Feb 13, 2019)\\n\\n### Fixed\\n\\n- Issue where ArrayField was prefixing all fields with 'field'\\n- Issue where when input fields changed input did not rerender.\\n\\n## 2.0.1 (Feb 10, 2019)\\n\\n### Fixed\\n\\n- Issue where render and component props were getting passed to the dom form\\n\\n## 2.0.0 (Feb 7, 2019)\\n\\n### Added\\n\\n- useFieldApi\\n- useFieldState\\n- useFormApi\\n- useFormState\\n- useField\\n- format\\n- parse\\n- maintianCursor ( fixes issue where cursor jumps to end on mask )\\n- ArrayField ( Check out the docs! this is sick! )\\n- Form Level validation ( function that can invalidate the form as a whole )\\n- debug prop that allows you to visually view the rendering!\\n\\n### Changed\\n\\n- the field `\\\"siblings.1\\\"` now resolves to `values.siblings[1]`, it used to resolve to `values.siblings.1`\\n- the field `\\\"siblings['2']\\\"` now resolves to `values.siblings[2]`, it used to resolve to `values.siblings.2`\\n- withFormApi will no longer trigger a rerender if the fomrs state changes. This is a great optimization for those who want to modify but dont care about the form state!\\n- the `validate` prop now expects the validation function to return `undefined` if there is no error. Any other returned value (including falsey `null`, `0`, etc will be treated as an error for the field.\\n\\n### Removed\\n\\n- The Field Component\\n- `fieldExists` not needed\\n- `setState` will maybe add later but its complex and out of scope ATM\\n- `setValues` will maybe add later but its complex and out of scope ATM ( as of V 2.0.3 its back! )\\n- `preSubmit` was never needed.. developers can do this themselves\\n- Async Validation. Async validation led to many issues that overcomplicated `informed`. We determined this is something that the developer could achive on there own for now but we may look into adding this in the future.\\n\\n## 1.10.12 ( December 4, 2018 )\\n\\n### Updated\\n\\n- typescript definition file\\n\\n## 1.10.11 & 1.10.10 I ran version patch twice lol ( December 4, 2018 )\\n\\n### Updated\\n\\n- Select forward ref\\n\\n## 1.10.9 ( November 16, 2018 )\\n\\n### Updated\\n\\n- files in package json to include typeigs\\n\\n## 1.10.8 ( November 8, 2018 )\\n\\n### Added\\n\\n- type file for typescript\\n\\n## 1.10.7 ( October 11, 2018 )\\n\\n### Updated\\n\\n- Name of withFormSate\\n\\n## 1.10.6 ( October 2, 2018 )\\n\\n### Fixed\\n\\n- Skipped test for select!!!\\n\\n### Updated\\n\\n- Select to use new ref interface\\n\\n## 1.10.5 ( September 14, 2018 )\\n\\n### Added\\n\\n- License\\n\\n## 1.10.4 ( August 13, 2018 )\\n\\n### Fixed\\n\\n- Issue with @babel/runtime was the dep when it should have ben @babel/runtime-corejs2\\n\\n## 1.10.3 ( August 13, 2018 )\\n\\n### Fixed\\n\\n- Issue with @babel/runtime for real this time\\n\\n## 1.10.2 ( August 13, 2018 )\\n\\n### Fixed\\n\\n- Issue with @babel/runtime\\n\\n## 1.10.1 ( August 13, 2018 )\\n\\n### Removed\\n\\n- mistakenly added dev deps that were deps... oops\\n\\n## 1.10.0 ( August 13, 2018 )\\n\\n### Added\\n\\n- submits to the form state\\n\\n## 1.9.0 ( August 8, 2018 )\\n\\n### Rebuilt\\n\\n- Added prettier so all the files have been changed... so i rebuilt to have source maps match code\\n\\n## 1.8.1 ( August 1, 2018 )\\n\\n### Rebuilt\\n\\n- Attempting to simply rebuild lib due to possible build issue\\n\\n## 1.8.0 ( August 1, 2018 )\\n\\n### Updated\\n\\n- initialValue to get exposed as prop to custom fields\\n\\n## 1.7.5 ( July 31, 2018 )\\n\\n### Added\\n\\n- Source maps\\n\\n## 1.7.4 ( July 26, 2018 )\\n\\n### Fixed\\n\\n- Issue where Basic radio group was not getting exported\\n\\n## 1.7.3 ( July 23, 2018 )\\n\\n### Fixed\\n\\n- issue where bind to field did not pass down the field prop.\\n\\n## 1.7.2 ( July 20, 2018 )\\n\\n### Fixed\\n\\n- Issue where element wont get removed from array when deregistering field... this is used when dynamically removing value\\n\\n## 1.7.1 ( July 20, 2018 )\\n\\n### Added\\n\\n- Field prop is now exposed to field elements and default inputs pass field as name to html inputs\\n\\n## 1.7.0 ( July 18, 2018 )\\n\\n### Added\\n\\n- fieldExists method to the formApi\\n\\n## 1.6.0 ( July 16, 2018 )\\n\\n### Added\\n\\n- onValueChange prop to inputs so you can tie into when values change!!\\n\\n## 1.5.2 ( July 13, 2018 )\\n\\n### Fixed\\n\\n- Issue where prop changes to fields would not get recognized\\n\\n## 1.5.1 ( July 13, 2018 )\\n\\n### Fixed\\n\\n- issue where i forgott to add @babel/runtime as dependency\\n\\n## 1.5.0 ( July 12, 2018 )\\n\\n### Added\\n\\n- asyncValidation prop to inputs\\n- asyncValidateOnBlur prop to inputs\\n\\n## 1.4.0 ( July 5, 2018 )\\n\\n### Added\\n\\n- Basic input fields so users can more easily create custom inputs\\n- Docs for creating custom inputs\\n\\n## 1.3.11 ( July 9, 2018 )\\n\\n### Fixed\\n\\n- issue where you could not nest scope\\n\\n## 1.3.10 ( July 5, 2018 )\\n\\n### Fixed\\n\\n- issue where you could not pass initialValue=false to checkbox\\n\\n## 1.3.9 ( July 5, 2018 )\\n\\n### Fixed\\n\\n- issue where mutable values were getting passed to onSubmit and getState\\n\\n## 1.3.8 ( July 2, 2018 )\\n\\n### Fixed\\n\\n- issue where path array was being build every get and set\\n\\n## 1.3.7 ( July 2, 2018 )\\n\\n### Fixed\\n\\n- issue where onChange was getting passed to internal form element\\n\\n## 1.3.6 ( June 28, 2018 )\\n\\n### Added\\n\\n- globalObject: 'this' to the webpack dist config to support SSR\\n\\n## 1.3.5 ( June 28, 2018 )\\n\\n### Fixed\\n\\n- Issue with event emitter limit ( need to look into alternative solution )\\n- Removed depricated sandbox sinon usage that was causing errors during tests\\n\\n## 1.3.3 ( June 28, 2018 )\\n\\n### Updated\\n\\n- Webpack dist configuration to keep class names\\n\\n## 1.3.2 ( June 28, 2018 )\\n\\n### Fixed\\n\\n- Issue were initialValue was getting passed all the way down to html input\\n- Issue where form would not rerender when field was registered\\n\\n## 1.3.1 ( June 28, 2018 )\\n\\n### Fixed\\n\\n- Issue were validateOnMount was getting passed all the way down to html input\\n\\n## 1.3.0 ( June 28, 2018 )\\n\\n### Added\\n\\n- mask so you can mask values at field level. example `value => value + '!!!'`\\n\\n## 1.2.1 ( June 27, 2018 )\\n\\n### Added\\n\\n- hook so you can add a button with type=reset and it will reset the form\\n\\n## 1.2.0 ( June 27, 2018 )\\n\\n### Added\\n\\n- validateOnMount to input props\\n\\n## 1.1.2 ( June 25, 2018 )\\n\\n### Moved\\n\\n- React and React-Dom to dev dependencies\\n\\n## 1.1.1 ( June 18, 2018 )\\n\\n### Fixed\\n\\n- Bug where i did not do null check on event within on submit\\n\\n## 1.0.1 ( June 15, 2018 )\\n\\n### Added\\n\\n- Notify prop to inputs that allows you to notify other fields when your error state changes ( see docs )\\n\\n## 1.0.0 (June 12, 2018)\\n\\n### Added\\n\\n- Text\\n- TextArea\\n- Radio Group\\n- Radio\\n- Select\\n- Select as Multiselect !!!\\n- Checkbox\\n- withRadioGroup\\n- withFieldApi\\n- withFieldState\\n- withFormApi\\n- withFormState\\n- asField\\n- Form\\n- Field\\n\\n### Changed\\n\\n**\\nNote: this was the first release but i wanted to include changes from\\n`react-form` so here they are:\\n**\\n\\n- `formApi` was split into two parts `formApi` ( contains just functions ) `formState` ( contains just form state )\\n- Form level validation is gone. You do all validation via field validation.\\n- `defaultValues` Form prop is now called `initialValues`\\n- `onChange` Form prop only recieves the `formState`. It used to retrieve the form Api as well.\\n- `preventDefault` Form prop is now `dontPreventDefault`\\n- `getApi` Form prop just returns the formApi, not the state and the api.\\n- `Form` component now renders the `form` element internally. So you dont have to \\\"hook it up\\\" anymore!!\\n\\n### Removed\\n\\n**\\nNote: this was the first release but i wanted to include things that were removed from\\n`react-form` so here they are:\\n**\\n\\n- `NestedField` you can use `Scope` instead but all it does is scope internal fields to `scope=\\\"your-scope\\\"`\\n- validateOnSubmit was removed. Now the form always validates on submit by default and you can opt into sooner validation at field level.\\n- `defaultValues` form prop is now called `initialValues`\\n- `pure` Form prop. Its not needed anymore due to the use of `React.PureComponent` internally.\\n- add, remove, and swap values. The developer can achive this on there own without the use of internal functionality.\\n- Array Syntax. In order to keep things simple we now only support the string syntax for field names.\\n- Async Validation. Async validation led to many issues that overcomplicated `react-form`. We determined this is something that the developer could achive on there own for now but we may look into adding this in the future.\\n- Warning and Success have been removed for now to keep lib lean but we may add additional functions in the future.\\n\";","\"use strict\";\n\nvar _frameworkImportPath = require(\"@storybook/react\");\n\n/* eslint-disable import/no-unresolved */\n(0, _frameworkImportPath.configure)([require.context('./stories', false, /^\\.[\\\\/](?:index\\.js)$/)], module, false);","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\\n\\n/**\\n * 1. Set default font family to sans-serif.\\n * 2. Prevent iOS text size adjust after orientation change, without disabling\\n * user zoom.\\n */\\n\\nhtml {\\n font-family: sans-serif; /* 1 */\\n -ms-text-size-adjust: 100%; /* 2 */\\n -webkit-text-size-adjust: 100%; /* 2 */\\n}\\n\\n/**\\n * Remove default margin.\\n */\\n\\nbody {\\n margin: 0;\\n}\\n\\n/* HTML5 display definitions\\n ========================================================================== */\\n\\n/**\\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\\n * and Firefox.\\n * Correct `block` display not defined for `main` in IE 11.\\n */\\n\\narticle,\\naside,\\ndetails,\\nfigcaption,\\nfigure,\\nfooter,\\nheader,\\nhgroup,\\nmain,\\nmenu,\\nnav,\\nsection,\\nsummary {\\n display: block;\\n}\\n\\n/**\\n * 1. Correct `inline-block` display not defined in IE 8/9.\\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\\n */\\n\\naudio,\\ncanvas,\\nprogress,\\nvideo {\\n display: inline-block; /* 1 */\\n vertical-align: baseline; /* 2 */\\n}\\n\\n/**\\n * Prevent modern browsers from displaying `audio` without controls.\\n * Remove excess height in iOS 5 devices.\\n */\\n\\naudio:not([controls]) {\\n display: none;\\n height: 0;\\n}\\n\\n/**\\n * Address `[hidden]` styling not present in IE 8/9/10.\\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\\n */\\n\\n[hidden],\\ntemplate {\\n display: none;\\n}\\n\\n/* Links\\n ========================================================================== */\\n\\n/**\\n * Remove the gray background color from active links in IE 10.\\n */\\n\\na {\\n background-color: transparent;\\n}\\n\\n/**\\n * Improve readability when focused and also mouse hovered in all browsers.\\n */\\n\\na:active,\\na:hover {\\n outline: 0;\\n}\\n\\n/* Text-level semantics\\n ========================================================================== */\\n\\n/**\\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\\n */\\n\\nabbr[title] {\\n border-bottom: 1px dotted;\\n}\\n\\n/**\\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\\n */\\n\\nb,\\nstrong {\\n font-weight: bold;\\n}\\n\\n/**\\n * Address styling not present in Safari and Chrome.\\n */\\n\\ndfn {\\n font-style: italic;\\n}\\n\\n/**\\n * Address variable `h1` font-size and margin within `section` and `article`\\n * contexts in Firefox 4+, Safari, and Chrome.\\n */\\n\\nh1 {\\n font-size: 2em;\\n margin: 0.67em 0;\\n}\\n\\n/**\\n * Address styling not present in IE 8/9.\\n */\\n\\nmark {\\n background: #ff0;\\n color: #000;\\n}\\n\\n/**\\n * Address inconsistent and variable font size in all browsers.\\n */\\n\\nsmall {\\n font-size: 80%;\\n}\\n\\n/**\\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\\n */\\n\\nsub,\\nsup {\\n font-size: 75%;\\n line-height: 0;\\n position: relative;\\n vertical-align: baseline;\\n}\\n\\nsup {\\n top: -0.5em;\\n}\\n\\nsub {\\n bottom: -0.25em;\\n}\\n\\n/* Embedded content\\n ========================================================================== */\\n\\n/**\\n * Remove border when inside `a` element in IE 8/9/10.\\n */\\n\\nimg {\\n border: 0;\\n}\\n\\n/**\\n * Correct overflow not hidden in IE 9/10/11.\\n */\\n\\nsvg:not(:root) {\\n overflow: hidden;\\n}\\n\\n/* Grouping content\\n ========================================================================== */\\n\\n/**\\n * Address margin not present in IE 8/9 and Safari.\\n */\\n\\nfigure {\\n margin: 1em 40px;\\n}\\n\\n/**\\n * Address differences between Firefox and other browsers.\\n */\\n\\nhr {\\n box-sizing: content-box;\\n height: 0;\\n}\\n\\n/**\\n * Contain overflow in all browsers.\\n */\\n\\npre {\\n overflow: auto;\\n}\\n\\n/**\\n * Address odd `em`-unit font size rendering in all browsers.\\n */\\n\\ncode,\\nkbd,\\npre,\\nsamp {\\n font-family: monospace, monospace;\\n font-size: 1em;\\n}\\n\\n/* Forms\\n ========================================================================== */\\n\\n/**\\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\\n * styling of `select`, unless a `border` property is set.\\n */\\n\\n/**\\n * 1. Correct color not being inherited.\\n * Known issue: affects color of disabled elements.\\n * 2. Correct font properties not being inherited.\\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\\n */\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n color: inherit; /* 1 */\\n font: inherit; /* 2 */\\n margin: 0; /* 3 */\\n}\\n\\n/**\\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\\n */\\n\\nbutton {\\n overflow: visible;\\n}\\n\\n/**\\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\\n * All other form control elements do not inherit `text-transform` values.\\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\\n * Correct `select` style inheritance in Firefox.\\n */\\n\\nbutton,\\nselect {\\n text-transform: none;\\n}\\n\\n/**\\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\\n * and `video` controls.\\n * 2. Correct inability to style clickable `input` types in iOS.\\n * 3. Improve usability and consistency of cursor style between image-type\\n * `input` and others.\\n */\\n\\nbutton,\\nhtml input[type=\\\"button\\\"], /* 1 */\\ninput[type=\\\"reset\\\"],\\ninput[type=\\\"submit\\\"] {\\n -webkit-appearance: button; /* 2 */\\n cursor: pointer; /* 3 */\\n}\\n\\n/**\\n * Re-set default cursor for disabled elements.\\n */\\n\\nbutton[disabled],\\nhtml input[disabled] {\\n cursor: default;\\n}\\n\\n/**\\n * Remove inner padding and border in Firefox 4+.\\n */\\n\\nbutton::-moz-focus-inner,\\ninput::-moz-focus-inner {\\n border: 0;\\n padding: 0;\\n}\\n\\n/**\\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\\n * the UA stylesheet.\\n */\\n\\ninput {\\n line-height: normal;\\n}\\n\\n/**\\n * It's recommended that you don't attempt to style these elements.\\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\\n *\\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\\n * 2. Remove excess padding in IE 8/9/10.\\n */\\n\\ninput[type=\\\"checkbox\\\"],\\ninput[type=\\\"radio\\\"] {\\n box-sizing: border-box; /* 1 */\\n padding: 0; /* 2 */\\n}\\n\\n/**\\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\\n * `font-size` values of the `input`, it causes the cursor style of the\\n * decrement button to change from `default` to `text`.\\n */\\n\\ninput[type=\\\"number\\\"]::-webkit-inner-spin-button,\\ninput[type=\\\"number\\\"]::-webkit-outer-spin-button {\\n height: auto;\\n}\\n\\n/**\\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\\n * (include `-moz` to future-proof).\\n */\\n\\ninput[type=\\\"search\\\"] {\\n -webkit-appearance: textfield; /* 1 */ /* 2 */\\n box-sizing: content-box;\\n}\\n\\n/**\\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\\n * Safari (but not Chrome) clips the cancel button when the search input has\\n * padding (and `textfield` appearance).\\n */\\n\\ninput[type=\\\"search\\\"]::-webkit-search-cancel-button,\\ninput[type=\\\"search\\\"]::-webkit-search-decoration {\\n -webkit-appearance: none;\\n}\\n\\n/**\\n * Define consistent border, margin, and padding.\\n */\\n\\nfieldset {\\n border: 1px solid #c0c0c0;\\n margin: 0 2px;\\n padding: 0.35em 0.625em 0.75em;\\n}\\n\\n/**\\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\\n */\\n\\nlegend {\\n border: 0; /* 1 */\\n padding: 0; /* 2 */\\n}\\n\\n/**\\n * Remove default vertical scrollbar in IE 8/9/10/11.\\n */\\n\\ntextarea {\\n overflow: auto;\\n}\\n\\n/**\\n * Don't inherit the `font-weight` (applied by a rule above).\\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\\n */\\n\\noptgroup {\\n font-weight: bold;\\n}\\n\\n/* Tables\\n ========================================================================== */\\n\\n/**\\n * Remove most spacing between table cells.\\n */\\n\\ntable {\\n border-collapse: collapse;\\n border-spacing: 0;\\n}\\n\\ntd,\\nth {\\n padding: 0;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/* http://prismjs.com/download.html?themes=prism-okaidia&languages=markup+css+clike+javascript+json+jsx&plugins=previewer-base */\\n/**\\n * okaidia theme for JavaScript, CSS and HTML\\n * Loosely based on Monokai textmate theme by http://www.monokai.nl/\\n * @author ocodia\\n */\\n\\ncode[class*=\\\"language-\\\"],\\npre[class*=\\\"language-\\\"] {\\n\\tcolor: #f8f8f2 !important;\\n\\tbackground: none !important;\\n\\ttext-shadow: 0 1px rgba(0, 0, 0, 0.3) !important;\\n\\tfont-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace !important;\\n\\ttext-align: left !important;\\n\\twhite-space: pre !important;\\n\\tword-spacing: normal !important;\\n\\tword-break: normal !important;\\n\\tword-wrap: normal !important;\\n\\tline-height: 1.5 !important;\\n border: none;\\n\\n\\t-moz-tab-size: 4 !important;\\n\\t-o-tab-size: 4 !important;\\n\\ttab-size: 4 !important;\\n\\n\\t-webkit-hyphens: none !important;\\n\\thyphens: none !important;\\n}\\n\\n/* Code blocks */\\npre[class*=\\\"language-\\\"] {\\n\\tpadding: 1rem !important;\\n\\tmargin: 0 0 !important;\\n\\toverflow: visible !important;\\n overflow-x: scroll !important;\\n\\tborder-radius: 0.3em !important;\\n}\\n\\ncode[class*=\\\"language-\\\"] {\\n margin: 0 !important;\\n padding: 0 !important;\\n overflow: visible !important;\\n}\\n\\n:not(pre) > code[class*=\\\"language-\\\"],\\npre[class*=\\\"language-\\\"] {\\n\\tbackground: #272822 !important;\\n}\\n\\n/* Inline code */\\n:not(pre) > code[class*=\\\"language-\\\"] {\\n\\tpadding: .1em !important;\\n\\tborder-radius: .3em !important;\\n\\twhite-space: normal !important;\\n}\\n\\n.token.comment,\\n.token.prolog,\\n.token.doctype,\\n.token.cdata {\\n\\tcolor: slategray !important;\\n}\\n\\n.token.punctuation {\\n\\tcolor: #f8f8f2 !important;\\n}\\n\\n.namespace {\\n\\topacity: .7 !important;\\n}\\n\\n.token.property,\\n.token.tag,\\n.token.constant,\\n.token.symbol,\\n.token.deleted {\\n\\tcolor: #f92672 !important;\\n}\\n\\n.token.boolean,\\n.token.number {\\n\\tcolor: #ae81ff !important;\\n}\\n\\n.token.selector,\\n.token.attr-name,\\n.token.string,\\n.token.char,\\n.token.builtin,\\n.token.inserted {\\n\\tcolor: #a6e22e !important;\\n}\\n\\n.token.operator,\\n.token.entity,\\n.token.url,\\n.language-css .token.string,\\n.style .token.string,\\n.token.variable {\\n\\tcolor: #f8f8f2 !important;\\n}\\n\\n.token.atrule,\\n.token.attr-value,\\n.token.function {\\n\\tcolor: #e6db74 !important;\\n}\\n\\n.token.keyword {\\n\\tcolor: #66d9ef !important;\\n}\\n\\n.token.regex,\\n.token.important {\\n\\tcolor: #fd971f !important;\\n}\\n\\n.token.important,\\n.token.bold {\\n\\tfont-weight: bold !important;\\n}\\n.token.italic {\\n\\tfont-style: italic !important;\\n}\\n\\n.token.entity {\\n\\tcursor: help !important;\\n}\\n\\n.prism-previewer,\\n.prism-previewer:before,\\n.prism-previewer:after {\\n\\tposition: absolute !important;\\n\\tpointer-events: none !important;\\n}\\n.prism-previewer,\\n.prism-previewer:after {\\n\\tleft: 50% !important;\\n}\\n.prism-previewer {\\n\\tmargin-top: -48px !important;\\n\\twidth: 32px !important;\\n\\theight: 32px !important;\\n\\tmargin-left: -16px !important;\\n\\n\\topacity: 0 !important;\\n\\ttransition: opacity .25s !important;\\n}\\n.prism-previewer.flipped {\\n\\tmargin-top: 0 !important;\\n\\tmargin-bottom: -48px !important;\\n}\\n.prism-previewer:before,\\n.prism-previewer:after {\\n\\tcontent: '' !important;\\n\\tposition: absolute !important;\\n\\tpointer-events: none !important;\\n}\\n.prism-previewer:before {\\n\\ttop: -5px !important;\\n\\tright: -5px !important;\\n\\tleft: -5px !important;\\n\\tbottom: -5px !important;\\n\\tborder-radius: 10px !important;\\n\\tborder: 5px solid #fff !important;\\n\\tbox-shadow: 0 0 3px rgba(0, 0, 0, 0.5) inset, 0 0 10px rgba(0, 0, 0, 0.75) !important;\\n}\\n\\n.prism-previewer:after {\\n\\ttop: 100% !important;\\n\\twidth: 0 !important;\\n\\theight: 0 !important;\\n\\tmargin: 5px 0 0 -7px !important;\\n\\tborder: 7px solid transparent !important;\\n\\tborder-color: rgba(255, 0, 0, 0) !important;\\n\\tborder-top-color: #fff !important;\\n}\\n.prism-previewer.flipped:after {\\n\\ttop: auto !important;\\n\\tbottom: 100% !important;\\n\\tmargin-top: 0 !important;\\n\\tmargin-bottom: 5px !important;\\n\\tborder-top-color: rgba(255, 0, 0, 0) !important;\\n\\tborder-bottom-color: #fff !important;\\n}\\n.prism-previewer.active {\\n\\topacity: 1 !important;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \":root {\\n --informed-font-size--10: 10px;\\n --informed-font-size--20: 12px;\\n --informed-font-size--30: 14px;\\n --informed-font-size--40: 17px;\\n --informed-font-size--50: 20px;\\n --informed-font-size--55: 23px;\\n --informed-font-size--60: 24px;\\n --informed-font-size--70: 28px;\\n --informed-font-size--75: 34px;\\n --informed-font-size--80: 40px;\\n --informed-height--pill: 40px;\\n --informed-line-height--10: 18px;\\n --informed-line-height--20: 20px;\\n --informed-line-height--30: 21px;\\n --informed-line-height--40: 23px;\\n --informed-line-height--50: 24px;\\n --informed-line-height--60: 28px;\\n --informed-line-height--70: 36px;\\n --informed-line-height--75: 45px;\\n --informed-line-height--80: 48px;\\n}\\n\\n.body {\\n font-family: Helvetica, sans-serif;\\n}\\n\\na > img {\\n border-radius: 10px;\\n}\\n\\nh1 {\\n letter-spacing: -0.6px;\\n font-size: var(--informed-font-size--80, 40px);\\n line-height: var(--informed-line-height--80, 48px);\\n}\\n\\nh2 {\\n letter-spacing: -0.5px;\\n font-size: var(--informed-font-size--70, 28px);\\n line-height: var(--informed-line-height--70, 36px);\\n}\\n\\nh3 {\\n letter-spacing: -0.6px;\\n font-size: var(--informed-font-size--60, 24px);\\n line-height: var(--informed-line-height--60, 28px);\\n}\\n\\nh4 {\\n letter-spacing: -0.4px;\\n font-size: var(--informed-font-size--50, 20px);\\n line-height: var(--informed-line-height--60, 28px);\\n}\\n\\nh5 {\\n font-size: var(--informed-font-size--40, 17px);\\n line-height: var(--informed-line-height--20, 20px);\\n}\\n\\nh6 {\\n font-size: var(--informed-font-size--30, 14px);\\n line-height: var(--informed-line-height--30, 21px);\\n}\\n\\ninput {\\n margin-bottom: 1rem;\\n}\\n\\n.address-option {\\n width: 100%;\\n background-color: #f4f4f4;\\n padding: 10px 20px;\\n}\\n\\n.address-option:hover {\\n background-color: #9d9c9c;\\n cursor: pointer;\\n}\\n\\ninput:not([type='checkbox']):not([type='radio']),\\ntextarea,\\nselect {\\n margin-bottom: 1rem;\\n margin-top: 1rem;\\n display: block;\\n border-radius: 20px;\\n width: 85%;\\n padding: 10px 20px;\\n font-weight: 500;\\n border: 1px solid transparent;\\n margin-right: 2rem;\\n /* max-width: 400px; */\\n background-color: #f4f4f4;\\n}\\n\\ninput + small,\\ntextarea + small,\\nselect + small {\\n color: rgb(237, 78, 59);\\n padding-bottom: 1rem;\\n display: block;\\n font-weight: bold;\\n}\\n\\nfieldset small[role='alert'] {\\n color: rgb(237, 78, 59);\\n padding-bottom: 1rem;\\n display: block;\\n font-weight: bold;\\n}\\n\\ninput[aria-invalid='true']:not([type='checkbox']):not([type='radio']),\\ntextarea[aria-invalid='true'],\\nselect[aria-invalid='true'] {\\n border: 1px solid rgb(237, 78, 59) !important;\\n}\\n\\ninput[aria-invalid='true'][type='radio'],\\ninput[aria-invalid='true'][type='checkbox'] {\\n outline: 1px solid rgb(237, 78, 59) !important;\\n}\\n\\n.radio-label {\\n display: block;\\n}\\n\\ntextarea {\\n max-width: 100%;\\n}\\n\\nfieldset {\\n border: none;\\n}\\n\\nselect {\\n /* needed */\\n -webkit-appearance: none;\\n -moz-appearance: none;\\n appearance: none;\\n /* SVG background image */\\n background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Edown-arrow%3C%2Ftitle%3E%3Cg%20fill%3D%22%23000000%22%3E%3Cpath%20d%3D%22M10.293%2C3.293%2C6%2C7.586%2C1.707%2C3.293A1%2C1%2C0%2C0%2C0%2C.293%2C4.707l5%2C5a1%2C1%2C0%2C0%2C0%2C1.414%2C0l5-5a1%2C1%2C0%2C1%2C0-1.414-1.414Z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E');\\n background-size: 0.6em;\\n background-position: calc(100% - 1.3em) center;\\n background-repeat: no-repeat;\\n}\\n\\n.select:before {\\n content: '';\\n position: absolute;\\n right: 10px;\\n top: 8px;\\n width: 0;\\n height: 0;\\n border-left: 10px solid transparent;\\n border-right: 10px solid transparent;\\n border-top: 10px solid #f00;\\n}\\n\\n.select:after {\\n content: '';\\n position: absolute;\\n right: 10px;\\n top: 3px;\\n width: 0;\\n height: 0;\\n border-left: 10px solid transparent;\\n border-right: 10px solid transparent;\\n border-top: 10px solid #333;\\n}\\n\\nlabel {\\n margin-bottom: 1rem;\\n display: block;\\n}\\n\\nlegend {\\n margin-bottom: 1rem;\\n display: block;\\n}\\n\\nbutton {\\n text-align: left;\\n display: inline-block;\\n height: var(--informed-height--pill);\\n border: 1px solid transparent;\\n border-radius: 20px;\\n padding: 5px 40px;\\n color: white;\\n /* background-color: #3e6ae1; */\\n background-color: rebeccapurple;\\n margin-bottom: 1rem;\\n margin-top: 1rem;\\n margin-right: 1rem;\\n}\\n\\nbutton[type='submit'] {\\n display: block;\\n}\\n\\n.button-group {\\n display: flex;\\n}\\n\\nhr {\\n border: none !important;\\n height: 2px !important;\\n /* Set the hr color */\\n color: #333; /* old IE */\\n background-color: #333; /* Modern Browsers */\\n margin-top: 2rem;\\n margin-bottom: 2rem;\\n}\\n\\npre {\\n font-size: 1em !important;\\n}\\n\\n.markdown-body[class] {\\n font-size: inherit;\\n color: inherit;\\n border: inherit;\\n}\\n\\n.markdown-body pre {\\n font-size: inherit;\\n color: inherit;\\n border: inherit;\\n border-radius: 10px;\\n margin-bottom: 1rem;\\n margin-top: 1rem;\\n}\\n\\n.markdown-body[class] h1,\\n.markdown-body[class] h2,\\n.markdown-body[class] h3,\\n.markdown-body[class] h4,\\n.markdown-body[class] h5,\\n.markdown-body[class] h6 {\\n border: inherit;\\n margin: inherit;\\n padding: inherit;\\n margin-top: 2rem !important;\\n margin-bottom: 2rem !important;\\n}\\n\\n.markdown-body[class] h1[id] {\\n letter-spacing: -0.6px;\\n font-size: var(--informed-font-size--80, 40px);\\n line-height: var(--informed-line-height--80, 48px);\\n margin-top: 2rem;\\n margin-bottom: 2rem;\\n}\\n\\n.markdown-body[class] h2[id] {\\n letter-spacing: -0.5px;\\n font-size: var(--informed-font-size--70, 28px);\\n line-height: var(--informed-line-height--70, 36px);\\n margin-top: 2rem;\\n margin-bottom: 2rem;\\n}\\n\\n.markdown-body[class] h3[id] {\\n letter-spacing: -0.6px;\\n font-size: var(--informed-font-size--60, 24px);\\n line-height: var(--informed-line-height--60, 28px);\\n margin-top: 2rem;\\n margin-bottom: 2rem;\\n}\\n\\n.markdown-body[class] h4[id] {\\n letter-spacing: -0.4px;\\n font-size: var(--informed-font-size--50, 20px);\\n line-height: var(--informed-line-height--60, 28px);\\n margin-top: 2rem;\\n margin-bottom: 2rem;\\n}\\n\\n.markdown-body[class] h5[id] {\\n font-size: var(--informed-font-size--40, 17px);\\n line-height: var(--informed-line-height--20, 20px);\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n}\\n\\n.markdown-body[class] h6[id] {\\n font-size: var(--informed-font-size--30, 14px);\\n line-height: var(--informed-line-height--30, 21px);\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n}\\n\\n.markdown-body p {\\n margin: inherit;\\n}\\n\\n.markdown-body[class] p {\\n}\\n\\n.markdown-body[class] ul {\\n}\\n\\n.markdown-body[class] ol {\\n}\\n\\n.markdown-body a:active,\\n.markdown-body a:hover {\\n text-decoration: none !important;\\n}\\n\\n.markdown-body[class] table {\\n display: table;\\n}\\n\\n.markdown-body[class] table strong {\\n color: rgb(237, 78, 59);\\n}\\n\\nstrong {\\n color: rgb(237, 78, 59);\\n}\\n\\n/* .markdown-body[class] table {\\n display: table;\\n}\\n\\n.markdown-body thead {\\n}\\n\\n.markdown-body tbody {\\n}\\n\\n.markdown-body table thead tr:nth-child(1n),\\n.markdown-body table tbody tr:nth-child(1n) {\\n background: inherit;\\n border: inherit;\\n}\\n\\n.markdown-body table thead tr:nth-child(1n):first-child th {\\n}\\n\\n.markdown-body thead tr th:nth-child(1n),\\n.markdown-body tbody tr th:nth-child(1n) {\\n padding: inherit;\\n border: inherit;\\n}\\n\\n.markdown-body[class] thead tr th:nth-child(1n),\\n.markdown-body[class] tbody tr th:nth-child(1n) {\\n}\\n\\n.markdown-body thead tr td:nth-child(1n),\\n.markdown-body tbody tr td:nth-child(1n) {\\n padding: inherit;\\n border: inherit;\\n}\\n\\n.markdown-body[class] thead tr td:nth-child(1n),\\n.markdown-body[class] tbody tr td:nth-child(1n) {\\n}\\n\\n.markdown-body[class] thead tr th:nth-child(1n):first-child,\\n.markdown-body[class] tbody tr th:nth-child(1n):first-child,\\n.markdown-body[class] thead tr td:nth-child(1n):first-child,\\n.markdown-body[class] tbody tr td:nth-child(1n):first-child {\\n padding-left: 0;\\n}\\n\\n.markdown-body[class] thead tr th:nth-child(1n):last-child,\\n.markdown-body[class] tbody tr th:nth-child(1n):last-child,\\n.markdown-body[class] thead tr td:nth-child(1n):last-child,\\n.markdown-body[class] tbody tr td:nth-child(1n):last-child {\\n padding-right: 0;\\n} */\\n\\n.informed-container {\\n padding-left: 4rem;\\n padding-right: 4rem;\\n margin-top: 2rem;\\n margin-bottom: 2rem;\\n max-width: 1060px;\\n}\\n\\n.informed-black {\\n background-color: black;\\n color: white !important;\\n}\\n\\n.informed-black .address-option {\\n background-color: rgb(58, 60, 65);\\n color: white;\\n}\\n\\n.informed-black .address-option:hover {\\n background-color: rgb(82, 84, 89);\\n cursor: pointer;\\n}\\n\\n.informed-black input:not([type='checkbox']):not([type='radio']),\\n.informed-black select,\\n.informed-black textarea {\\n background-color: rgb(58, 60, 65);\\n color: white;\\n}\\n\\n.informed-black select {\\n background-image: url(\\\"data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ctitle%3Edown-arrow%3C/title%3E%3Cg fill='%23000000'%3E%3Cpath d='M10.293,3.293,6,7.586,1.707,3.293A1,1,0,0,0,.293,4.707l5,5a1,1,0,0,0,1.414,0l5-5a1,1,0,1,0-1.414-1.414Z' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E\\\");\\n /* filter: invert(1); */\\n}\\n\\n.informed-black .markdown-body[class] table {\\n background-color: #000;\\n}\\n\\n.informed-black td {\\n background-color: #000;\\n}\\n\\n.informed-black th {\\n background-color: #000;\\n}\\n\\n.markdown-body > :first-child {\\n margin-top: 2rem !important;\\n}\\n\\n.loader,\\n.loader:after {\\n border-radius: 50%;\\n width: 10em;\\n height: 10em;\\n}\\n\\n.loader {\\n top: 0px;\\n margin: 60px auto;\\n font-size: 10px;\\n position: fixed;\\n top: 50%;\\n right: 50%;\\n text-indent: -9999em;\\n border-top: 1.1em solid rgba(67, 64, 64, 0.2);\\n border-right: 1.1em solid rgba(67, 64, 64, 0.2);\\n border-bottom: 1.1em solid rgba(67, 64, 64, 0.2);\\n border-left: 1.1em solid red;\\n transform: translateZ(0);\\n animation: load8 1.1s infinite linear;\\n}\\n\\n.informed-black .loader {\\n border-top: 1.1em solid rgba(255, 255, 255, 0.2);\\n border-right: 1.1em solid rgba(255, 255, 255, 0.2);\\n border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);\\n border-left: 1.1em solid red;\\n}\\n@keyframes load8 {\\n 0% {\\n transform: rotate(0deg);\\n }\\n 100% {\\n transform: rotate(360deg);\\n }\\n}\\n\\n/* This is for Car!!! */\\n\\n.cls-1 {\\n fill: #fefefe;\\n}\\n\\n.cls-1,\\n.cls-10,\\n.cls-11,\\n.cls-12,\\n.cls-13,\\n.cls-14,\\n.cls-15,\\n.cls-2,\\n.cls-3,\\n.cls-4,\\n.cls-5,\\n.cls-6,\\n.cls-7,\\n.cls-8,\\n.cls-9 {\\n fill-rule: evenodd;\\n}\\n\\n.cls-2 {\\n fill: #cfd5cf;\\n}\\n\\n.cls-11,\\n.cls-12,\\n.cls-3,\\n.cls-5 {\\n fill: none;\\n stroke-linecap: round;\\n stroke-linejoin: round;\\n}\\n\\n.cls-3,\\n.cls-5 {\\n stroke: #212121;\\n}\\n\\n.cls-11,\\n.cls-3 {\\n stroke-width: 3px;\\n}\\n\\n.cls-4 {\\n fill: #212121;\\n}\\n\\n.cls-12,\\n.cls-5 {\\n stroke-width: 2px;\\n}\\n\\n.cls-6 {\\n fill: #194767;\\n}\\n\\n.cls-7 {\\n fill: #1a3850;\\n}\\n\\n.cls-8 {\\n fill: #e53046;\\n}\\n\\n.cls-9 {\\n fill: #ae3b46;\\n}\\n\\n.cls-10 {\\n fill: #e96650;\\n}\\n\\n.car-color-red .cls-8 {\\n fill: #e53046;\\n}\\n\\n.car-color-red .cls-9 {\\n fill: #ae3b46;\\n}\\n\\n.car-color-red .cls-10 {\\n fill: #e96650;\\n}\\n\\n.car-color-blue .cls-8 {\\n fill: #4a2eee;\\n}\\n\\n.car-color-blue .cls-9 {\\n fill: #2540af;\\n}\\n\\n.car-color-blue .cls-10 {\\n fill: #6a72d5;\\n}\\n\\n.car-color-green .cls-8 {\\n fill: #0f4d1d;\\n}\\n\\n.car-color-green .cls-9 {\\n fill: #126014;\\n}\\n\\n.car-color-green .cls-10 {\\n fill: #0d5c18;\\n}\\n\\n.car-color-pink .cls-8 {\\n fill: rgb(233, 36, 111);\\n}\\n\\n.car-color-pink .cls-9 {\\n fill: rgb(145, 39, 80);\\n}\\n\\n.car-color-pink .cls-10 {\\n fill: rgb(155, 18, 70);\\n}\\n\\n.cls-11,\\n.cls-12 {\\n stroke: #231f20;\\n}\\n\\n.cls-13,\\n.cls-16 {\\n fill: #848c93;\\n}\\n\\n.cls-14 {\\n fill: #020303;\\n}\\n\\n.cls-15 {\\n fill: #74848c;\\n}\\n\\n.cls-16 {\\n font-size: 40px;\\n font-family: HelveticaNeue-Bold, Helvetica Neue;\\n font-weight: 700;\\n}\\n\\n#Circleelement {\\n -webkit-animation-name: rotate;\\n -webkit-animation-duration: 2s;\\n -webkit-animation-iteration-count: infinite;\\n -webkit-animation-timing-function: linear;\\n -moz-animation-name: rotate;\\n -moz-animation-duration: 2s;\\n -moz-animation-iteration-count: infinite;\\n -moz-animation-timing-function: linear;\\n animation-name: rotate;\\n animation-duration: 2s;\\n animation-iteration-count: infinite;\\n animation-timing-function: linear;\\n}\\n\\n@keyframes rotate {\\n from {\\n transform: rotate(0deg);\\n }\\n to {\\n transform: rotate(360deg);\\n }\\n}\\n\\ntable,\\nth,\\ntd {\\n border: 1px solid;\\n}\\n\\n.field-table table {\\n margin-top: 18px;\\n margin-bottom: 18px;\\n}\\n\\n.field-table td {\\n padding: 10px;\\n}\\n\\n.field-table th {\\n padding: 10px;\\n}\\n\\n.field-table td input {\\n width: 120px !important;\\n border-radius: 0px !important;\\n margin: 0px !important;\\n margin-bottom: 0px !important;\\n}\\n\\n.stepper-wrapper {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n}\\n\\n.stepper-item {\\n text-align: center;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n margin-left: 10px;\\n margin-right: 10px;\\n}\\n\\n.stepper-item:first-child::before {\\n content: none;\\n}\\n.stepper-item:last-child::after {\\n content: none;\\n}\\n\\n.stepper-divider {\\n width: 100%;\\n height: 5px;\\n background-color: grey;\\n margin-top: 22px;\\n}\\n\\n.stepper-counter {\\n border-radius: 50%;\\n background-color: grey;\\n width: 50px;\\n height: 50px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n justify-content: center;\\n}\\n\\n.stepper-counter:hover {\\n cursor: pointer;\\n}\\n\\n.stepper-counter.complete {\\n background-color: rgb(10, 118, 29);\\n}\\n\\n.stepper-counter.active {\\n background-color: rgb(155, 18, 29);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import React from 'react';\n\n/* ----------------------- Contexts ----------------------- */\nexport const FormControllerContext = React.createContext({});\nexport const FormApiContext = React.createContext({});\nexport const FormStateContext = React.createContext({});\nexport const MultistepStepContext = React.createContext();\nexport const MultistepApiContext = React.createContext();\nexport const MultistepStateContext = React.createContext();\nexport const ArrayFieldStateContext = React.createContext();\nexport const ArrayFieldApiContext = React.createContext();\nexport const ArrayFieldItemApiContext = React.createContext();\nexport const ArrayFieldItemStateContext = React.createContext();\nexport const RelevanceContext = React.createContext();\nexport const RadioGroupContext = React.createContext();\nexport const ScopeContext = React.createContext();\nexport const InformedContext = React.createContext();\n","import { ObjectMap } from './ObjectMap';\nimport { Debug } from './debug';\nimport {\n debounceByName,\n informedFormat,\n informedParse,\n uuidv4,\n validateAjvSchema,\n validateYupField,\n validateYupSchema,\n getSchemaPathFromJsonPath,\n isChild\n} from './utils';\nconst debug = Debug('informed:FormController' + '\\t');\n\nconst initializeValue = (value, { formatter, parser, initialize, mask }) => {\n if (value != null) {\n // Call users initialize if it was passed\n if (initialize && !parser) {\n return initialize(value);\n }\n if (formatter && !parser) {\n const res = informedFormat(value, formatter);\n return res.value;\n }\n if (mask && !parser) {\n return mask(value);\n }\n return value;\n }\n // Not needed but called out specifically\n return undefined;\n};\n\nconst initializeMask = (value, { formatter, initialize, mask }) => {\n if (initialize) {\n return initialize(value);\n }\n // Call formatter\n if (formatter) {\n const res = informedFormat(value, formatter);\n return res.value;\n }\n if (mask) {\n return mask(value);\n }\n\n return value;\n};\n\n/* ----------------------- FormController ----------------------- */\n\nexport class FormController {\n constructor(options) {\n // Set the options\n this.options = options;\n\n // Initialize listeners\n this.subscriptions = new Map();\n\n // Get schema stuff off of options\n const { ajv, schema, fieldMap, adapter } = options.current;\n\n // Create new ajv instance if passed\n this.ajv = ajv ? new ajv({ allErrors: true }) : null;\n // TODO this fucks with json pointer stuff\n // if (ajvErrors) {\n // ajvErrors(this.ajv);\n // }\n this.ajvValidate = ajv ? this.ajv.compile(schema) : null;\n\n // Add field map ( defaults to our field map )\n this.fieldMap = adapter || fieldMap;\n\n // This is the emitter lol\n this.emitter = this;\n\n // Map will store all fields by name\n // Key => name\n // Val => fieldMetaRef\n // Why? so the form knows about field meta\n this.fieldsMap = new Map();\n\n // Map will store current validation request\n // Key => name\n // Val => {uuid, value}\n // Why? So we know if validation request is stale or not\n // We ALSO need to store value because of edge case:\n //\n // Assume sync validation \"Must be at least 5 characters\" and some async validation that takes 2 seconds\n // 1. User types ddddd ( 5 inputs so we pass sync validation )\n // 2. Because there is no sync validation async will trigger to validate username\n // 3. While that occurs, user starts to Backspace the ddddd\n // 4. The second user backspaces, sync has error so async never \"re-occurs\"\n // 5. the sync request made on step 2 completes\n // 6. It wipes out sync error\n this.validationRequests = new Map();\n\n this.dataRequests = new Map();\n\n // For array fields lol\n this.removalLocked = undefined;\n\n // Initialize the controller state\n this.state = {\n pristine: true,\n dirty: false,\n submitted: false,\n invalid: false,\n valid: true,\n submitting: false,\n validating: 0,\n gathering: 0,\n values: {},\n errors: {},\n touched: {},\n maskedValues: {},\n dirt: {},\n focused: {},\n modified: {},\n data: {},\n initialValues: this.options.current.initialValues || {},\n disabled: this.options.current.disabled ?? false,\n memory: {}\n };\n\n // Bind functions that will be called externally\n this.getValue = this.getValue.bind(this);\n this.setValue = this.setValue.bind(this);\n this.setValueQuietly = this.setValueQuietly.bind(this);\n this.setValues = this.setValues.bind(this);\n this.setTheseValues = this.setTheseValues.bind(this);\n this.resetPath = this.resetPath.bind(this);\n this.getMaskedValue = this.getMaskedValue.bind(this);\n this.setMaskedValue = this.setMaskedValue.bind(this);\n this.setModifiedValue = this.setModifiedValue.bind(this);\n this.getTouched = this.getTouched.bind(this);\n this.setTouched = this.setTouched.bind(this);\n this.getFocused = this.getFocused.bind(this);\n this.setFocused = this.setFocused.bind(this);\n this.getError = this.getError.bind(this);\n this.setError = this.setError.bind(this);\n this.reset = this.reset.bind(this);\n this.validate = this.validate.bind(this);\n this.asyncValidate = this.asyncValidate.bind(this);\n this.getDirty = this.getDirty.bind(this);\n this.setDirt = this.setDirt.bind(this);\n this.getPristine = this.getPristine.bind(this);\n this.getFormState = this.getFormState.bind(this);\n this.getFormApi = this.getFormApi.bind(this);\n this.getFieldState = this.getFieldState.bind(this);\n this.getValid = this.getValid.bind(this);\n this.on = this.on.bind(this);\n this.emit = this.emit.bind(this);\n this.removeListener = this.removeListener.bind(this);\n this.remove = this.remove.bind(this);\n this.swap = this.swap.bind(this);\n this.pullOut = this.pullOut.bind(this);\n this.register = this.register.bind(this);\n this.deregister = this.deregister.bind(this);\n this.getInitialValue = this.getInitialValue.bind(this);\n this.initialize = this.initialize.bind(this);\n this.reformat = this.reformat.bind(this);\n this.lockRemoval = this.lockRemoval.bind(this);\n this.unlockRemoval = this.unlockRemoval.bind(this);\n this.resetField = this.resetField.bind(this);\n this.getRemovalLocked = this.getRemovalLocked.bind(this);\n this.isRemovalLocked = this.isRemovalLocked.bind(this);\n this.submitForm = this.submitForm.bind(this);\n this.touchAllFields = this.touchAllFields.bind(this);\n this.keyDown = this.keyDown.bind(this);\n this.validateAsync = this.validateAsync.bind(this);\n this.gatherData = this.gatherData.bind(this);\n this.validated = this.validated.bind(this);\n this.debouncedValidateAsync = debounceByName(this.validateAsync);\n this.debouncedGatherInfo = debounceByName(this.gatherData);\n this.getOptions = this.getOptions.bind(this);\n this.validateField = this.validateField.bind(this);\n this.getErrorMessage = this.getErrorMessage.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.clearError = this.clearError.bind(this);\n this.getData = this.getData.bind(this);\n this.setData = this.setData.bind(this);\n this.getModified = this.getModified.bind(this);\n this.updateValid = this.updateValid.bind(this);\n this.focusFirstError = this.focusFirstError.bind(this);\n this.setPristine = this.setPristine.bind(this);\n this.disableForm = this.disableForm.bind(this);\n this.enableForm = this.enableForm.bind(this);\n this.getMemory = this.getMemory.bind(this);\n this.restore = this.restore.bind(this);\n }\n\n getOptions() {\n return this.options.current;\n }\n\n getMemory(name) {\n return ObjectMap.get(this.state.memory, name);\n }\n\n getValue(name) {\n return ObjectMap.get(this.state.values, name);\n }\n\n getMaskedValue(name) {\n return ObjectMap.get(this.state.maskedValues, name);\n }\n\n setMaskedValue(name, value) {\n return ObjectMap.set(this.state.maskedValues, name, value);\n }\n\n setModifiedValue(name, value) {\n return ObjectMap.set(this.state.modified, name, value);\n }\n\n updateValid() {\n // Store previous state\n const prevValid = this.state.valid;\n\n // Now update\n this.state.valid = ObjectMap.empty(this.state.errors);\n this.state.invalid = !this.state.valid;\n\n // Call change handlers if needed\n if (prevValid && !this.state.valid) {\n this.emit('invalid');\n }\n if (!prevValid && this.state.valid) {\n this.emit('valid');\n }\n }\n\n setValues(values) {\n this.fieldsMap.forEach(fieldMeta => {\n // Get value out of values object basd on path\n const val = ObjectMap.get(values, fieldMeta.current.name);\n fieldMeta.current.fieldApi.setValue(val);\n });\n }\n\n disableForm() {\n this.disabled = true;\n this.state.disabled = true;\n // This will make all fields re render with updated value\n this.emit('field', '_ALL_');\n }\n\n enableForm() {\n this.disabled = undefined;\n this.state.disabled = false;\n // This will make all fields re render with updated value\n this.emit('field', '_ALL_');\n }\n\n setTheseValues(values) {\n this.fieldsMap.forEach(fieldMeta => {\n // Get value out of values object basd on path\n const val = ObjectMap.get(values, fieldMeta.current.name);\n // Only set if it is there\n if (val != null) {\n fieldMeta.current.fieldApi.setValue(val);\n }\n });\n }\n\n resetPath(path) {\n this.fieldsMap.forEach(fieldMeta => {\n // Only reset if parent path\n if (isChild(path, fieldMeta.current.name)) {\n fieldMeta.current.fieldApi.reset();\n }\n });\n }\n\n restore(name) {\n this.setValue(name, this.getMemory(name));\n }\n\n setValueQuietly(name, value) {\n this.setValue(name, value, undefined, undefined, true);\n }\n\n setValue(name, value, e, key, quiet) {\n debug(`setValue ${name}`, value);\n\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current || {};\n\n // Remember Cursor position!\n // Need try catch because of Safari Bullshit issue\n try {\n if (e && e.target && e.target.selectionStart) {\n meta.setCursor(e.target.selectionStart, key);\n }\n } catch (e) {\n // Need try catch because of Safari Bullshit issue\n if (!(e instanceof TypeError)) {\n throw e;\n }\n }\n\n if (value === '') {\n if (meta.allowEmptyString) {\n let emptyValue = meta?.type === 'number' ? 0 : value;\n\n // Override emptyValue if explicitly set\n if (meta.emptyValue) {\n emptyValue = meta.emptyValue;\n }\n\n debug(\n `Setting ${name}'s value to ${emptyValue} because allowEmptyString is set`\n );\n ObjectMap.set(this.state.values, name, emptyValue);\n // Special if check for modified\n if (meta.getInitialValue && meta.getInitialValue() != emptyValue) {\n ObjectMap.set(this.state.modified, name, emptyValue);\n } else {\n debug(`Removing ${name}'s modified`);\n ObjectMap.delete(this.state.modified, emptyValue);\n }\n ObjectMap.set(this.state.maskedValues, name, value);\n } else {\n debug(`Setting ${name}'s value to undefiend`);\n ObjectMap.set(this.state.values, name, undefined);\n ObjectMap.set(this.state.modified, name, undefined);\n ObjectMap.set(this.state.maskedValues, name, undefined);\n }\n } else if (meta?.type === 'number' && value !== undefined) {\n let val = value;\n let maskedVal = value;\n\n // call mask if passed\n if (meta.mask && !meta.maskOnBlur) {\n maskedVal = meta.mask(val);\n }\n\n // // Only parse if parser was passed\n if (meta.parser) {\n val = val != null ? informedParse(val, meta.parser) : val;\n }\n\n debug(`Setting ${name}'s value to ${+val}`);\n ObjectMap.set(this.state.values, name, +val);\n\n // Special if check for modified\n if (\n (meta.getInitialValue && meta.getInitialValue() != val) ||\n // Always set for modifiedOnMount\n meta.modifyOnMount\n ) {\n ObjectMap.set(this.state.modified, name, +val);\n } else {\n // Note: Important that we set to undefined and NOT call delete\n // Why? See readme 4.44.2\n debug(`Removing ${name}'s modified`);\n ObjectMap.set(this.state.modified, name, undefined);\n }\n\n debug(`Setting ${name}'s maskedValue to`, +maskedVal);\n ObjectMap.set(this.state.maskedValues, name, +maskedVal);\n } else {\n let val = value;\n let maskedVal = value;\n\n // Only clean if clean was passed\n if (meta.clean) {\n val = meta.clean(val);\n maskedVal = val;\n }\n\n // Call formatter parser if passed\n if (meta.formatter) {\n const res = informedFormat(\n val,\n meta.formatter,\n this.getMaskedValue(name)\n );\n meta.setCursorOffset(res.offset, key);\n maskedVal = res.value;\n val = maskedVal;\n }\n\n // call mask if passed\n if (meta.mask && !meta.maskOnBlur) {\n val = meta.mask(val);\n maskedVal = val;\n }\n\n // // Only parse if parser was passed\n if (meta.parser) {\n val = val != null ? informedParse(val, meta.parser) : val;\n }\n\n debug(`Setting ${name}'s value to`, val);\n ObjectMap.set(this.state.values, name, val);\n\n // Special if check for modified\n // We want to set even if field is not on screen ( does not have getter for initial )\n if (\n !meta.getInitialValue ||\n meta.getInitialValue() != val ||\n // Always set for modifiedOnMount\n meta.modifyOnMount\n ) {\n debug(`Setting ${name}'s modified to`, val);\n ObjectMap.set(this.state.modified, name, val);\n } else {\n // Note: Important that we set to undefined and NOT call delete\n // Why? See readme 4.44.2\n debug(`Removing ${name}'s modified`);\n ObjectMap.set(this.state.modified, name, undefined);\n }\n\n debug(`Setting ${name}'s maskedValue to`, maskedVal);\n ObjectMap.set(this.state.maskedValues, name, maskedVal);\n }\n\n // We only need to call validate if the user gave us one\n // and they want us to validate on change\n // Example validateOn = \"change\" (\"change-change\")==> true\n // Example validateOn = \"blur\" (\"blur-blur\") ==> false\n // Example validateOn = \"submit\" (\"submit-submit\")==> false\n // Example validateOn = \"change-blur\" ==> true\n // Example validateOn = \"change-submit\" ==> true\n // Example validateOn = \"blur-submit\" ==> false\n if (meta.validate && meta.validateOn.includes('change')) {\n const val = ObjectMap.get(this.state.values, name);\n debug(`Validating after change ${name} ${val}`);\n ObjectMap.set(\n this.state.errors,\n name,\n meta.validate(val, this.state.values)\n );\n }\n // Same thing but for YUP schema\n // I dont think we need this anymore as its done by the generate function ..... TODO maybe remove\n if (meta.yupSchema && meta.validateOn.includes('change')) {\n // Only call if we dont already have error\n if (this.getError(name) === undefined) {\n const val = ObjectMap.get(this.state.values, name);\n debug(`Validating YUP after change ${name} ${val}`);\n ObjectMap.set(\n this.state.errors,\n name,\n validateYupField(meta.yupSchema, val)\n );\n }\n }\n\n // We only need to call asyncValidate if\n // 1. the user gave us one\n // 2. they want us to validate on change\n // 3. We don't have a sync error\n // Example validateOn = \"change\" (\"change-change\")==> true\n // Example validateOn = \"blur\" (\"blur-blur\") ==> false\n // Example validateOn = \"submit\" (\"submit-submit\")==> false\n // Example validateOn = \"change-blur\" ==> false\n // Example validateOn = \"change-submit\" ==> false\n // Example validateOn = \"blur-submit\" ==> false\n if (meta.asyncValidate && meta.validateOn === 'change') {\n // Get error to determine if we even want to validateAsync\n if (this.getError(name) === undefined) this.debouncedValidateAsync(name);\n }\n\n // Always remember to update pristine and valid here\n if (!quiet) {\n this.state.pristine = false;\n this.state.dirty = !this.state.pristine;\n ObjectMap.set(this.state.dirt, name, true);\n }\n\n // Remember to update valid\n this.updateValid();\n\n // Call users onChange if it exists\n if (meta.onChange) {\n const fieldState = this.getFieldState(name);\n meta.onChange(fieldState, e);\n }\n\n // Call users onNativeChange if we had native event and func\n if (e && meta.onNativeChange) {\n const fieldState = this.getFieldState(name);\n meta.onNativeChange(fieldState, e);\n }\n\n // Emit native event\n if (e) {\n this.emit('field-native', name);\n }\n\n if (meta.gatherData) {\n // Get error to determine if we even want to validateAsync\n this.debouncedGatherInfo(name);\n }\n\n // Normal field event\n this.emit('field', name);\n\n // Special event when fields value changes\n this.emit('field-value', name);\n this.emit('field-modified', name);\n this.emit('field-value-set', name);\n }\n\n validateField(name) {\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current;\n\n if (!meta) return;\n\n if (meta.validate) {\n const val = ObjectMap.get(this.state.values, name);\n debug(`Validating field ${name} via validateField with value ${val}`);\n ObjectMap.set(\n this.state.errors,\n name,\n meta.validate(val, this.state.values)\n );\n }\n // Same thing but for YUP schema\n if (meta.yupSchema) {\n // Only call if we dont already have error\n if (this.getError(name) === undefined) {\n const val = ObjectMap.get(this.state.values, name);\n debug(`Validating YUP field via validateField ${name} ${val}`);\n ObjectMap.set(\n this.state.errors,\n name,\n validateYupField(meta.yupSchema, val)\n );\n }\n }\n\n // TODO maybe do async validation here !?!?!?!\n\n // Remember to update valid\n this.updateValid();\n\n this.emit('field', name);\n }\n\n getModified(name) {\n return ObjectMap.get(this.state.modified, name);\n }\n\n getFocused(name) {\n return ObjectMap.get(this.state.focused, name);\n }\n\n setFocused(name, value, e) {\n debug(`Setting ${name}'s focused to ${value}`);\n\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current || {};\n\n // Update the state\n ObjectMap.set(this.state.focused, name, value);\n\n // Call users onFoucs if it exists\n if (meta.onFocus) {\n const fieldState = this.getFieldState(name);\n meta.onFocus(fieldState, e);\n }\n\n // emit field update\n this.emit('field', name);\n }\n\n getTouched(name) {\n return ObjectMap.get(this.state.touched, name);\n }\n\n setTouched(name, value, e) {\n debug(`Setting ${name}'s touched to ${value}`);\n\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current || {};\n\n // Update the state\n ObjectMap.set(this.state.touched, name, value);\n\n // Update value if maskOnBlur and we have mask\n if (meta.mask && meta.maskOnBlur) {\n let val = ObjectMap.get(this.state.values, name);\n let maskedVal = val;\n maskedVal = meta.mask(val);\n\n // // Only parse if parser was passed\n if (meta.parser) {\n val = val != null ? informedParse(val, meta.parser) : val;\n }\n\n debug(`Setting ${name}'s value to`, maskedVal);\n ObjectMap.set(this.state.values, name, maskedVal);\n debug(`Setting ${name}'s maskedValue to`, maskedVal);\n ObjectMap.set(this.state.maskedValues, name, maskedVal);\n }\n\n // We only need to call validate if the user gave us one\n // and they want us to validate on blur\n // Example validateOn = \"change\" (\"change-change\")==> true\n // Example validateOn = \"blur\" (\"blur-blur\") ==> true\n // Example validateOn = \"submit\" (\"submit-submit\")==> false\n // Example validateOn = \"change-blur\" ==> true\n // Example validateOn = \"change-submit\" ==> true\n // Example validateOn = \"blur-submit\" ==> true\n if (\n meta.validate &&\n (meta.validateOn.includes('blur') || meta.validateOn.includes('change'))\n ) {\n const val = ObjectMap.get(this.state.values, name);\n debug(`Validating after blur ${name} ${val}`);\n ObjectMap.set(\n this.state.errors,\n name,\n meta.validate(val, this.state.values)\n );\n }\n\n // We only need to call asyncValidate if\n // 1. the user gave us one\n // 2. they want us to validate on blur\n // 3. We don't have a sync error\n // Example validateOn = \"change\" (\"change-change\")==> true\n // Example validateOn = \"blur\" (\"blur-blur\") ==> true\n // Example validateOn = \"submit\" (\"submit-submit\")==> false\n // Example validateOn = \"change-blur\" ==> true\n // Example validateOn = \"change-submit\" ==> false\n // Example validateOn = \"blur-submit\" ==> false\n if (\n meta.asyncValidate &&\n (meta.validateOn === 'blur' ||\n meta.validateOn === 'change-blur' ||\n meta.validateOn === 'change')\n ) {\n // Get error to determine if we even want to validateAsync\n if (this.getError(name) === undefined) {\n this.validateAsync(name);\n }\n }\n\n // Remember to update valid\n this.updateValid();\n\n // Call users onBlur if it exists\n if (meta.onBlur) {\n const fieldState = this.getFieldState(name);\n meta.onBlur(fieldState, e);\n }\n\n this.emit('field', name);\n }\n\n getData(name) {\n return ObjectMap.get(this.state.data, name);\n }\n\n setData(name, value) {\n debug(`Setting ${name}'s data to ${value}`);\n ObjectMap.set(this.state.data, name, value);\n this.emit('field', name);\n }\n\n getError(name) {\n return ObjectMap.get(this.state.errors, name);\n }\n\n setError(name, value) {\n debug(`Setting ${name}'s error to ${value}`);\n ObjectMap.set(this.state.errors, name, value);\n this.state.valid = ObjectMap.empty(this.state.errors);\n this.state.invalid = !this.state.valid;\n this.emit('field', name);\n }\n\n getInitialValue(name) {\n return ObjectMap.get(this.state.initialValues, name);\n }\n\n getDirty(name) {\n return !!ObjectMap.get(this.state.dirt, name);\n }\n\n setDirt(name, value) {\n return ObjectMap.set(this.state.dirt, name, value);\n }\n\n getPristine(name) {\n return !this.getDirty(name);\n }\n\n getValid(name) {\n // Valid when we have no error\n return ObjectMap.get(this.state.errors, name) === undefined;\n }\n\n getFormState() {\n return this.state;\n }\n\n clearValue(name) {\n this.setValue(name, undefined);\n }\n\n clearError(name) {\n this.setError(name, undefined);\n }\n\n setPristine(pristine) {\n this.state.pristine = pristine;\n this.state.dirty = !this.state.pristine;\n\n // Just need to trigger a form state update\n this.emit('field');\n }\n\n getFormApi() {\n return {\n getValue: this.getValue,\n setValue: this.setValue,\n setValueQuietly: this.setValueQuietly,\n getMaskedValue: this.getMaskedValue,\n setMaskedValue: this.setMaskedValue,\n setModifiedValue: this.setModifiedValue,\n getTouched: this.getTouched,\n setTouched: this.setTouched,\n getError: this.getError,\n setError: this.setError,\n getFocused: this.getFocused,\n setFocused: this.setFocused,\n getData: this.getData,\n setData: this.setData,\n getModified: this.getModified,\n resetField: this.resetField,\n reset: this.reset,\n getFormState: this.getFormState,\n getPristine: this.getPristine,\n getDirty: this.getDirty,\n setDirt: this.setDirt,\n validateField: this.validateField,\n getFieldState: this.getFieldState,\n getInitialValue: this.getInitialValue,\n touchAllFields: this.touchAllFields,\n validate: this.validate,\n asyncValidate: this.asyncValidate,\n setValues: this.setValues,\n setTheseValues: this.setTheseValues,\n resetPath: this.resetPath,\n submitForm: this.submitForm,\n clearValue: this.clearValue,\n clearError: this.clearError,\n focusFirstError: this.focusFirstError,\n setPristine: this.setPristine,\n disable: this.disableForm,\n enable: this.enableForm,\n restore: this.restore\n };\n }\n\n getFieldState(name) {\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current || {};\n const error = this.getError(name);\n const focused = !!this.getFocused(name);\n const modified = !!this.getModified(name);\n const dirty = this.getDirty(name);\n const valid = this.getValid(name);\n const touched = !!this.getTouched(name);\n const pristine = !dirty;\n const validating = !!this.validationRequests.get(name);\n const gathering = !!this.dataRequests.get(name);\n\n let showError = false;\n if (meta && meta.showErrorIfError) {\n showError = error !== undefined;\n } else if (meta && meta.showErrorIfDirty) {\n showError = error !== undefined && (dirty || touched);\n } else if (meta && meta.showErrorIfTouched) {\n showError = error !== undefined && touched;\n }\n\n // $relevant\n // $focused\n\n return {\n value: this.getValue(name),\n maskedValue: this.getMaskedValue(name),\n modified,\n touched,\n error: this.getError(name),\n data: this.getData(name),\n pristine,\n dirty,\n valid,\n invalid: !valid,\n showError,\n validating,\n gathering,\n focused\n };\n }\n\n remove(name, options = {}, meta = {}) {\n debug('Remove', name);\n\n if (!this.removalLocked) {\n const {\n value: keepValue = false,\n error: keepError = false,\n touched: keepTouched = false\n } = options;\n\n // If user passed in remember for this field add it to memory\n if (meta.remember) {\n const valueToRemember = this.getValue(name);\n // Only remember if there is something to remember ( that way we dont wipe previous memory )\n if (valueToRemember) {\n debug('Remembering', name, valueToRemember);\n ObjectMap.set(this.state.memory, name, valueToRemember);\n }\n }\n\n if (!keepValue) {\n debug('Delete Value', name);\n ObjectMap.delete(this.state.values, name);\n debug('Delete Modified', name);\n ObjectMap.delete(this.state.modified, name);\n debug('Delete Masked', name);\n ObjectMap.delete(this.state.maskedValues, name);\n }\n if (!keepTouched) {\n debug('Delete Touched', name);\n ObjectMap.delete(this.state.touched, name);\n }\n if (!keepError) {\n debug('Delete Errors', name);\n ObjectMap.delete(this.state.errors, name);\n }\n debug('Delete Dirt', name);\n ObjectMap.delete(this.state.dirt, name);\n debug('Delete Focused', name);\n ObjectMap.delete(this.state.focused, name);\n debug('Delete Info', name);\n ObjectMap.delete(this.state.data, name);\n\n // Remember to update valid\n this.updateValid();\n\n // Final field change\n this.emit('field', name);\n // Special event when fields value changes\n this.emit('field-value', name);\n this.emit('field-modified', name);\n } else {\n debug('Removal locked so NOT removing', name);\n }\n }\n\n swap(name, a, b) {\n debug('Swap', name, a, b);\n ObjectMap.swap(this.state.values, name, a, b);\n ObjectMap.swap(this.state.modified, name, a, b);\n ObjectMap.swap(this.state.maskedValues, name, a, b);\n ObjectMap.swap(this.state.touched, name, a, b);\n ObjectMap.swap(this.state.errors, name, a, b);\n ObjectMap.swap(this.state.dirt, name, a, b);\n ObjectMap.swap(this.state.focused, name, a, b);\n ObjectMap.swap(this.state.data, name, a, b);\n // DO NOT emit event here we want to delay it on purpose because otherwise relevance will trigger with bad state\n // this.emit(\"field\", name);\n this.state.pristine = false;\n this.state.dirty = !this.state.pristine;\n }\n\n pullOut(name) {\n debug('Pull', name);\n ObjectMap.delete(this.state.values, name);\n ObjectMap.delete(this.state.modified, name);\n ObjectMap.delete(this.state.maskedValues, name);\n ObjectMap.delete(this.state.touched, name);\n ObjectMap.delete(this.state.errors, name);\n ObjectMap.delete(this.state.dirt, name);\n ObjectMap.delete(this.state.focused, name);\n ObjectMap.delete(this.state.data, name);\n // DO NOT emit event here we want to delay it on purpose because otherwise relevance will trigger with bad state\n // this.emit(\"field\", name);\n this.state.pristine = false;\n this.state.dirty = !this.state.pristine;\n }\n\n register(name, meta) {\n debug('Register', name, meta);\n // Register the meta\n if (!this.fieldsMap.get(name)) {\n this.fieldsMap.set(name, meta);\n this.emit('field', name);\n }\n }\n\n deregister(name) {\n debug('De-Register', name);\n if (this.fieldsMap.get(name)) {\n this.fieldsMap.delete(name);\n this.emit('field', name);\n }\n }\n\n // Third parameter is to prevent any form renders when it first gets initialized\n initialize(name, meta, emit = true) {\n debug('Initialize', name, 'emit:', emit, 'state:', this.state);\n // Initialize value if needed\n // If we already have value i.e \"saved\"\n // use that ( it was not removed on purpose! )\n // Otherwise use the fields initial value\n if (\n this.getValue(name) === undefined &&\n meta.current.initialValue != null &&\n (meta.current.initializeValueIfPristine ? this.state.pristine : true)\n ) {\n const {\n formatter,\n parser,\n initialize,\n clean,\n mask,\n modifyOnMount\n } = meta.current;\n\n // Clean value if we have clean function\n const cleanedValue = clean\n ? clean(meta.current.initialValue)\n : meta.current.initialValue;\n\n const initialValue = initializeValue(cleanedValue, {\n formatter,\n parser,\n initialize,\n mask\n });\n const initialMask = initializeMask(cleanedValue, {\n formatter,\n initialize,\n mask\n });\n\n debug(`Initializing ${name}'s value to ${initialValue}`);\n ObjectMap.set(this.state.values, name, initialValue);\n\n debug(`Initializing ${name}'s maskedValue to ${initialMask}`);\n ObjectMap.set(this.state.maskedValues, name, initialMask);\n\n if (modifyOnMount) {\n debug(\n `Initializing ${name}'s modified to ${initialValue} because modifyOnMount was passed.`\n );\n ObjectMap.set(this.state.modified, name, initialValue);\n }\n }\n\n // Might need to set initial error\n if (meta.current.validate && meta.current.validateOnMount) {\n const val = ObjectMap.get(this.state.values, name);\n debug(`Validating on mount ${name} ${val}`, this.state);\n ObjectMap.set(\n this.state.errors,\n name,\n meta.current.validate(val, this.state.values)\n );\n }\n\n // validateOnMount=\"sync\" DONT validateOnMount={true} DO\n if (meta.current.asyncValidate && meta.current.validateOnMount === true) {\n // Get error to determine if we even want to validateAsync\n if (this.getError(name) === undefined) this.validateAsync(name);\n }\n\n // Check if the form is valid\n this.state.valid = ObjectMap.empty(this.state.errors);\n this.state.invalid = !this.state.valid;\n\n if (meta.current.gatherData && meta.current.gatherOnMount === true) {\n // Get error to determine if we even want to validateAsync\n this.debouncedGatherInfo(name);\n }\n\n if (emit) this.emit('field', name);\n\n // Special event when fields value changes ( this if first time so its technically a change to initial value)\n if (emit) this.emit('field-value', name);\n // Specifically did NOT call field-modified here\n }\n\n validated(name, res) {\n debug(\n `Setting ${name}'s error to ${res} with ${\n this.state.validating\n } validations left`\n );\n ObjectMap.set(this.state.errors, name, res);\n\n // Remember to update valid\n this.updateValid();\n\n // Clear out validating\n this.validationRequests.delete(name);\n\n // If we are not still validating, and we were submitting, then submit form\n // If we are async validating then dont submit yet\n if (this.state.validating > 0) {\n debug(\n `Still validating ${this.state.validating} others so just update state.`\n );\n this.emit('field', name);\n return;\n }\n\n // If we were submitting\n if (this.state.submitting) {\n // Check validity and perform submission if valid\n if (this.valid()) {\n debug('Submit', this.state);\n this.emit('field', name);\n this.emit('submit');\n } else {\n debug('Fail', this.state);\n if (this.options.current.focusOnInvalid) {\n this.focusFirstError();\n }\n this.emit('field', name);\n this.emit('failure');\n }\n this.state.submitting = false;\n }\n\n // If we had done function\n if (this.done) {\n // Call done only if valid\n if (this.valid()) this.done();\n // Then always clear\n this.done = undefined;\n }\n\n // Always update\n this.emit('field', name);\n }\n\n gathered(name, res) {\n debug(\n `Setting ${name}'s data to ${res} with ${\n this.state.gathering\n } gatherers left`\n );\n ObjectMap.set(this.state.data, name, res);\n\n // Clear out gathering\n this.dataRequests.delete(name);\n\n // Always update\n this.emit('field', name);\n this.emit('field-value', name);\n }\n\n gatheredError(name, err) {\n debug(\n `Setting ${name}'s error to ${err} with ${\n this.state.gathering\n } gatherers left`\n );\n ObjectMap.set(this.state.errors, name, err);\n\n // Clear out gathering\n this.dataRequests.delete(name);\n\n // Remember to update valid\n this.updateValid();\n\n // Always update\n this.emit('field', name);\n this.emit('field-value', name);\n }\n\n validateAsync(name) {\n debug('VALIDATING ASYNC', name);\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current;\n\n // Get the value\n const value = this.getValue(name);\n\n if (meta && meta.asyncValidate) {\n this.state.validating = this.state.validating + 1;\n const uuid = uuidv4();\n debug('REQUEST', uuid);\n this.validationRequests.set(name, { uuid, value });\n\n // Because we may have been debounced need to update field here\n this.emit('field', name);\n\n meta\n .asyncValidate(value, this.state.values)\n .then(res => {\n this.state.validating = this.state.validating - 1;\n const stale = this.validationRequests.get(name).uuid !== uuid;\n\n // What in the hell is invalid and why do I need it??\n // 1. User types ddddd ( 5 inputs so we pass sync validation )\n // 2. Because there is no sync validation async will trigger to validate username\n // 3. While that occurs, user starts to Backspace the ddddd\n // 4. The second user backspaces, sync has error so async never \"re-occurs\"\n // 5. the sync request made on step 2 completes\n // 6. It wipes out sync error\n const invalid =\n this.validationRequests.get(name).value !== this.getValue(name);\n if (!stale && !invalid) {\n debug('FINISH', uuid);\n this.validated(name, res);\n } else {\n debug(\n `${stale ? 'STALE' : 'INVALID'} THEN`,\n uuid,\n value,\n this.getValue(name)\n );\n }\n })\n .catch(err => {\n this.state.validating = this.state.validating - 1;\n const stale = this.validationRequests.get(name).uuid !== uuid;\n const invalid =\n this.validationRequests.get(name).value !== this.getValue(name);\n if (!stale && !invalid) {\n debug('FINISH', uuid);\n this.validated(name, err.message);\n } else {\n debug(\n `${stale ? 'STALE' : 'INVALID'} THEN`,\n uuid,\n value,\n this.getValue(name)\n );\n }\n });\n }\n }\n\n gatherData(name) {\n debug('EXECUTING INFO ASYNC', name);\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current;\n\n // Get the value\n const value = this.getValue(name);\n\n if (meta && meta.gatherData) {\n this.state.gathering = this.state.gathering + 1;\n const uuid = uuidv4();\n debug('DATA REQUEST', uuid);\n this.dataRequests.set(name, { uuid, value });\n\n // Because we may have been debounced need to update field here\n this.emit('field', name);\n\n meta\n .gatherData(value, this.state)\n .then(res => {\n this.state.gathering = this.state.gathering - 1;\n const stale = this.dataRequests.get(name).uuid !== uuid;\n\n // What in the hell is invalid and why do I need it??\n // because the value can be outdated\n const invalid =\n this.dataRequests.get(name).value !== this.getValue(name);\n if (!stale && !invalid) {\n debug('DATA FINISH', uuid);\n this.gathered(name, res);\n } else {\n debug(\n `${stale ? 'STALE' : 'INVALID'} THEN`,\n uuid,\n value,\n this.getValue(name)\n );\n }\n })\n .catch(err => {\n this.state.gathering = this.state.gathering - 1;\n const stale = this.dataRequests.get(name).uuid !== uuid;\n const invalid =\n this.dataRequests.get(name).value !== this.getValue(name);\n if (!stale && !invalid) {\n debug('DATA FINISH', uuid);\n this.gatheredError(name, err.message);\n } else {\n debug(\n `${stale ? 'STALE' : 'INVALID'} THEN`,\n uuid,\n value,\n this.getValue(name)\n );\n }\n });\n }\n }\n\n reset(options = {}) {\n // There are cases where we dont want to blow away all the form values\n if (this.options.current.resetOnlyOnscreen) {\n this.state.initialValues = this.options.current.initialValues ?? {};\n this.fieldsMap.forEach(fieldMeta => {\n fieldMeta.current.fieldApi.reset({ resetValue: resetValues });\n });\n\n this.emit('reset');\n return;\n }\n\n const { values, resetValues = true } = options;\n\n this.state = {\n pristine: true,\n dirty: false,\n submitted: false,\n invalid: false,\n valid: true,\n submitting: false,\n validating: 0,\n gathering: 0,\n values: resetValues ? {} : this.state.values,\n errors: {},\n touched: {},\n maskedValues: resetValues ? {} : this.state.maskedValues,\n dirt: {},\n focused: {},\n modified: {},\n data: {},\n initialValues: values ?? this.options.current.initialValues ?? {},\n disabled: this.disabled ?? this.options.current.disabled ?? false,\n memory: {}\n };\n\n this.fieldsMap.forEach(fieldMeta => {\n fieldMeta.current.fieldApi.reset({ resetValue: resetValues });\n });\n\n this.emit('reset');\n }\n\n focusFirstError() {\n if (this.options.current.focusOnInvalid) {\n // Itterate through and call validate on every field\n\n Array.from(this.fieldsMap.values()).some(fieldMeta => {\n // Get meta off field\n const meta = fieldMeta.current;\n\n // Get ref to input\n const formFieldRef = meta.fieldRef;\n\n // Get error for that field\n const err = this.getError(meta.name);\n\n // Only focus if we can\n if (err && formFieldRef) {\n if (typeof formFieldRef.current.focus === 'function') {\n debug('Focusing onto', meta.name);\n formFieldRef.current.focus();\n }\n return true;\n }\n return false;\n });\n }\n }\n\n resetField(name, options = {}) {\n debug('Resetting', name);\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current || {};\n\n const { formatter, parser, initialize, mask, modifyOnMount } = meta;\n const {\n value,\n resetValue = true,\n resetError = true,\n resetTouched = true,\n resetDirt = true,\n resetModified = true\n } = options;\n\n if (value) {\n const initializedValue = initializeValue(value, {\n formatter,\n parser,\n initialize,\n mask\n });\n\n debug(`Resetting ${name}'s value to ${initializedValue}`);\n ObjectMap.set(this.state.values, name, initializedValue);\n\n const maskedValue = initializeMask(value, { formatter, parser, mask });\n debug(`Resetting ${name}'s maskedValue to ${maskedValue}`);\n ObjectMap.set(this.state.maskedValues, name, maskedValue);\n } else {\n if (resetValue) {\n const initialValue = initializeValue(\n meta.getInitialValue && meta.getInitialValue(),\n {\n formatter,\n parser,\n initialize,\n mask\n }\n );\n\n const initialMask = initializeMask(\n meta.getInitialValue && meta.getInitialValue(),\n {\n formatter,\n initialize,\n mask\n }\n );\n\n debug(`Resetting ${name}'s value to ${initialValue}`);\n ObjectMap.set(this.state.values, name, initialValue);\n\n debug(`Resetting ${name}'s maskedValue to ${initialMask}`);\n ObjectMap.set(this.state.maskedValues, name, initialMask);\n\n if (modifyOnMount && resetModified) {\n debug(\n `Resetting ${name}'s modified to ${initialValue} because modifyOnMount was passed.`\n );\n ObjectMap.set(this.state.modified, name, initialValue);\n }\n }\n }\n\n if (resetError) {\n debug(`Resetting ${name}'s error`);\n ObjectMap.delete(this.state.errors, name);\n }\n\n if (resetTouched) {\n debug(`Resetting ${name}'s touched`);\n ObjectMap.delete(this.state.touched, name);\n }\n\n if (resetDirt) {\n debug(`Resetting ${name}'s dirt`);\n ObjectMap.delete(this.state.dirt, name);\n }\n\n if (!modifyOnMount && resetModified) {\n debug(`Resetting ${name}'s modified`);\n ObjectMap.delete(this.state.modified, name);\n }\n\n // Might need to set initial error\n if (meta.validate && meta.validateOnMount) {\n const val = ObjectMap.get(this.state.values, name);\n debug(\n `Validating on reset because of validateOnMount ${name} ${val}`,\n this.state\n );\n ObjectMap.set(\n this.state.errors,\n name,\n meta.validate(val, this.state.values)\n );\n }\n\n // Check if the form is valid\n this.state.valid = ObjectMap.empty(this.state.errors);\n this.state.invalid = !this.state.valid;\n\n if (meta.gatherData && meta.gatherOnMount === true) {\n // Get error to determine if we even want to validateAsync\n this.debouncedGatherInfo(name);\n }\n\n this.emit('field', name);\n\n // Special event when fields value changes ( its a reset so it changes )\n this.emit('field-value', name);\n this.emit('field-modified', name);\n }\n\n reformat(name) {\n debug('Reformatting', name);\n // Get meta for field\n const meta = this.fieldsMap.get(name)?.current;\n\n // Get current value\n const currentValue = ObjectMap.get(this.state.values, name);\n\n const { formatter, parser, initialize } = meta;\n\n const newValue = initializeValue(currentValue, {\n formatter,\n parser,\n initialize\n });\n const newMaskedValue = initializeMask(currentValue, {\n formatter\n });\n\n debug(`Reformatting ${name}'s value to ${newValue}`);\n ObjectMap.set(this.state.values, name, newValue);\n\n debug(`Reformatting ${name}'s maskedValue to ${newMaskedValue}`);\n ObjectMap.set(this.state.maskedValues, name, newMaskedValue);\n\n this.emit('field', name);\n\n // Special event when fields value changes\n this.emit('field-value', name);\n this.emit('field-modified', name);\n }\n\n lockRemoval(i) {\n debug('LOCKREMOVAL', i);\n this.removalLocked = i;\n }\n\n unlockRemoval() {\n debug('UNLOCK REMOVAL');\n this.removalLocked = undefined;\n }\n\n getRemovalLocked() {\n return this.removalLocked;\n }\n\n isRemovalLocked() {\n return this.removalLocked != null;\n }\n\n valid() {\n const errors = this.state.errors;\n return !!ObjectMap.empty(errors);\n }\n\n keyDown(e) {\n // If preventEnter then return\n if (e.keyCode == 13 && this.options.current.preventEnter) {\n e.preventDefault(e);\n return false;\n }\n }\n\n validate() {\n debug('Validating all fields');\n let values = this.state.values;\n\n const validateModified = this.options.current.validateModified;\n\n if (validateModified) {\n values = this.state.modified;\n }\n let errors = {};\n\n // Validate schema if needed\n if (this.options.current.yupSchema) {\n const yupErrors = validateYupSchema(\n this.options.current.yupSchema,\n values\n );\n errors = { ...errors, ...yupErrors };\n }\n\n // Validate AJV schema if needed\n if (this.options.current.schema && this.options.current.ajv) {\n const ajvErrors = validateAjvSchema(this.ajvValidate, values);\n errors = { ...errors, ...ajvErrors };\n }\n\n // Call the forms field level validation\n if (this.options.current.validateFields) {\n const fieldErrors = this.options.current.validateFields(values);\n errors = { ...errors, ...fieldErrors };\n errors = ObjectMap.purge(errors);\n }\n\n // Itterate through and call validate on every field\n this.fieldsMap.forEach(fieldMeta => {\n const meta = fieldMeta.current;\n const value = this.getValue(meta.name);\n const error = meta.validate ? meta.validate(value, values) : undefined;\n if (error != null) {\n ObjectMap.set(errors, meta.name, error);\n }\n });\n\n // Update the errors\n this.state.errors = errors;\n\n // Remember to update valid\n this.updateValid();\n\n // Let everyone know!\n this.emit('field', '_ALL_');\n }\n\n asyncValidate(done) {\n debug('Async Validating all fields');\n this.done = done;\n\n // Itterate through and call validate on every field\n this.fieldsMap.forEach(meta => {\n const { name } = meta.current;\n // Get error to determine if we even want to validateAsync\n if (this.getError(name) === undefined) this.validateAsync(name);\n });\n }\n\n getErrorMessage(key, n) {\n debug(`Getting ${key} error message for ${n} Validating all fields`);\n\n let name = n;\n\n if (this.options.current.schema) {\n debug('We have schema so looking in there for error message');\n\n // Try to grab message from schema first\n // Example schema\n // const schema = {\n // errorMessage: {\n // minLength: 'name must be longer',\n // maxLength: 'must be shorter'\n // },\n // properties: {\n // name: {\n // minLength: 6, // This will get 'name must be longer' message\n // },\n // brother: {\n // errorMessage: {\n // minLength: 'brothers name must be longer',\n // },\n // properties: {\n // name: {\n // minLength: 6, // This will get 'brothers name must be longer'\n // },\n // age: {\n // minLength: 6,\n // errorMessage: {\n // minLength: 'brothers age must be longer', // This will get 'brothers age must be longer'\n // }\n // },\n // test: {\n // maxLength: 6, // This will get 'must be shorter'\n // },\n // }\n // }\n // }\n // };\n // How are we going to get this? start at the property and drill up\n // First we go down to the fields location in the schema\n // Example\n // Start\n // name = brother.siblings[1].friend.name\n // path = properties.brother.properties.siblings.items.properties.friend.properties.name\n // Iteration 1\n // next = brother.siblings[1].friend\n // nextPath = properties.brother.properties.siblings.items.properties.friend\n // Iteration 2\n // next = brother.siblings[1]\n // nextPath = properties.brother.properties.siblings.items\n // Iteration 3\n // next = brother\n // nextPath = properties.brother\n // Iteration 4\n // next = ''\n // nextPath = ''\n // Done ---------------\n while (name !== '') {\n debug(`Looking for message at ${name}`);\n const path = getSchemaPathFromJsonPath(name);\n debug(`Looking for message at schema path ${path}`);\n const property = ObjectMap.get(this.options.current.schema, path);\n // If the property has an error message use that\n if (property && property.errorMessage) {\n const message =\n typeof property.errorMessage === 'string'\n ? property.errorMessage\n : property.errorMessage[key];\n // Only return a message if we had one... maybe we don't have that defined at field level!\n if (message) {\n return message;\n }\n }\n debug(`Did not find message in schema for ${path}`, property);\n // If we get here we did not find the error message so keep going up\n name = name.substring(0, name.lastIndexOf('.'));\n }\n\n // Last but not least check schema\n const property = this.options.current.schema;\n if (property.errorMessage) {\n const message =\n typeof property.errorMessage === 'string'\n ? property.errorMessage\n : property.errorMessage[key];\n // Only return a message if we had one... maybe we don't have that defined at field level!\n if (message) {\n return message;\n }\n }\n }\n\n // Next we check the errorMessage option if it was passed explicitly to an input\n const meta = this.fieldsMap.get(n)?.current;\n\n if (meta && meta.errorMessage) {\n const message =\n typeof meta.errorMessage === 'string'\n ? meta.errorMessage\n : meta.errorMessage[key];\n // Only return a message if we had one... maybe we don't have that defined at field level!\n if (message) {\n return message;\n }\n }\n\n // Finally we check the forms errorMessage prop\n if (this.options.current.errorMessage) {\n const message =\n typeof this.options.current.errorMessage === 'string'\n ? this.options.current.errorMessage\n : this.options.current.errorMessage[key];\n // Only return a message if we had one... maybe we don't have that defined at field level!\n if (message) {\n return message;\n }\n }\n }\n\n touchAllFields() {\n // Touch all the fields\n // TODO maybe do this all at once !?\n this.fieldsMap.forEach(meta => {\n if (!meta.current.arrayField) {\n debug(\n `TouchAllFields - setting ${meta.current.name}'s touched to true`\n );\n ObjectMap.set(this.state.touched, meta.current.name, true);\n }\n });\n }\n\n submitForm(e) {\n this.state.submitting = true;\n\n if (!this.options.current.dontPreventDefault && e) {\n // Prevent default browser form submission\n e.preventDefault(e);\n }\n\n // Validate the form\n this.validate();\n\n // Touch all the fields\n this.touchAllFields();\n\n // Let everyone know!\n this.emit('field', '_ALL_');\n\n // Trigger all async validations\n this.asyncValidate();\n\n // Check validity and perform submission if valid\n // Only submit if we are valid and we are NOT currently async validating\n if (this.valid() && this.state.validating === 0) {\n debug('Submit', this.state);\n this.state.submitted = true;\n this.emit('submit');\n } else {\n debug('Fail', this.state);\n if (this.options.current.focusOnInvalid) {\n this.focusFirstError();\n }\n this.emit('failure');\n }\n\n // Only set to false if we are not async validating\n if (this.state.validating === 0) {\n this.state.submitting = false;\n }\n\n this.emit('field');\n }\n\n /* -------------------------------- Event Emitter ------------------------------ */\n\n emit(event, ...args) {\n // Grab the set based on the event\n const listeners = this.subscriptions.get(event);\n // Only call if we have listeners on that event ( null check )\n if (listeners) {\n listeners.forEach(listener => listener(...args));\n }\n }\n\n on(event, listener) {\n // Singleton check\n if (!this.subscriptions.get(event)) {\n this.subscriptions.set(event, new Set());\n }\n // Add listener\n const listeners = this.subscriptions.get(event);\n listeners.add(listener);\n }\n\n removeListener(event, listener) {\n // Remove listener\n const listeners = this.subscriptions.get(event);\n listeners.delete(listener);\n }\n}\n","import { Debug } from './debug';\nconst debug = Debug('informed:ObjMap' + '\\t');\n\n/**\n *\n * A data structure to read and write to a JS object via\n * JSPAN ( Java Script Property Access Notation )\n */\n\n/* -------------------- toPath -------------------- */\n\nconst ldtoPath = (path = '') => {\n return String.prototype.replace\n .call(path, /\\['(.+?)'\\]/g, '.$1')\n .split(/[,[\\].]+?/)\n .filter(Boolean);\n};\n\n/* --------------------- get --------------------- */\n\nconst ldget = (obj, path = '', defaultValue) => {\n const result = String.prototype.replace\n .call(path, /\\['(.+?)'\\]/g, '.$1')\n .split(/[,[\\].]+?/)\n .filter(Boolean)\n .reduce(\n (res, key) => (res !== null && res !== undefined ? res[key] : res),\n obj\n );\n return result === undefined || result === obj ? defaultValue : result;\n};\n\n/* --------------------- swap --------------------- */\nconst ldSwap = (arr, a, b) => {\n if (arr[a] && arr[b]) {\n const oldA = arr[a];\n const oldB = arr[b];\n arr[a] = oldB;\n arr[b] = oldA;\n } else {\n // eslint-disable-next-line no-console\n console.warn(\n `Attempted to swap ${a} with ${b} but one of them does not exist :(`\n );\n }\n};\n\n/* --------------------- has --------------------- */\n\n// foo -->\n// foo.bar --> foo\n// foo.bar[3] --> foo.bar\n// foo.bar.baz[2].raz.taz[5].laz --> foo.bar.baz[2].raz.taz[5]\nconst parentPath = path => {\n return `.${path}`.replace(/(.*)[.[].*/, '$1').replace(/\\./, '');\n};\n\n// foo --> foo\n// foo.bar --> bar\n// foo.bar[3] --> [3]\n// foo.bar.baz[2].raz.taz[5].laz --> laz\nconst pathKey = path => {\n return path.replace(parentPath(path), '').replace(/\\./, '');\n};\n\nconst ldhas = (obj, path) => {\n const pPath = parentPath(path);\n const key = pathKey(path);\n // If we have parent path then get the object at that location\n // .. otherwise its the root object\n const parentObj = pPath ? ldget(obj, pPath) : obj;\n // If its [3] turn key into 3\n return !!(\n parentObj &&\n Object.hasOwnProperty.call(parentObj, key.replace(/\\[(.*)\\]/, '$1'))\n );\n};\n\n/* --------------------- set --------------------- */\n\nconst ldset = (obj, path = '', val) => {\n String.prototype.replace\n .call(path, /\\['(.+?)'\\]/g, '.$1')\n .split(/[,[\\].]+?/)\n .filter(Boolean)\n .reduce((res, key, i, arr) => {\n //console.log('RES', res, 'Key', key, 'I', i, 'Arr', arr, 'OBJ', obj);\n // At the leaf set the value\n if (i === arr.length - 1) {\n res[key] = val;\n return res[key];\n }\n // Initialize to new array or object if needed\n // OLD CODE: if (res[key] === undefined) {\n // Note I left comment above because it used to be undefined check\n // I had to change it to object in case someone tried to set\n // a value on an existing non object type\n // Example ldSet({ foo: 'HelloWorld' }, 'foo.bar', 'Hello World')\n // ==> { foo: { bar: 'HelloWorld' } }\n if (typeof res[key] !== 'object') {\n if (Number.isInteger(+arr[i + 1])) {\n res[key] = [];\n } else {\n res[key] = {};\n }\n return res[key];\n }\n // Exception for if the value is changeing to an array\n if (Number.isInteger(+arr[i + 1]) && !Array.isArray(res[key])) {\n res[key] = [];\n }\n //TODO exception for if object ??\n\n // Otherwise keep whats there\n return res[key];\n }, obj);\n};\n\n/* --------------------- unset --------------------- */\n\nconst ldunset = (obj, path = '') => {\n let found = false;\n String.prototype.replace\n .call(path, /\\['(.+?)'\\]/g, '.$1')\n .split(/[,[\\].]+?/)\n .filter(Boolean)\n .reduce((res, key, i, arr) => {\n // Base case res is undefined\n if (res === undefined) {\n return res;\n }\n // At the leaf delete the value\n if (i === arr.length - 1) {\n delete res[key];\n found = true;\n return res[key];\n }\n // Otherwise keep going\n return res[key];\n }, obj);\n return found;\n};\n\n/* --------------------- pullAt --------------------- */\n\nconst ldpullAt = (obj, path = '') => {\n let pulled;\n String.prototype.replace\n .call(path, /\\['(.+?)'\\]/g, '.$1')\n .split(/[,[\\].]+?/)\n .filter(Boolean)\n .reduce((res, key, i, arr) => {\n // Base case res is undefined\n if (res === undefined) {\n return res;\n }\n // At the leaf delete the value\n if (i === arr.length - 1 && Array.isArray(res)) {\n // Pull out one value at index ( key )\n pulled = res.splice(key, 1);\n return res[key];\n }\n // Otherwise keep going\n return res[key];\n }, obj);\n return pulled;\n};\n\n/* --------------------- values --------------------- */\n\n// eslint-disable-next-line no-unused-vars\nconst ldvalues = (obj = {}) => {\n const props = Object.keys(obj);\n return props.map(key => obj[key]);\n};\n\nconst pathToArrayElem = path => {\n const pathArray = ldtoPath(path);\n return Number.isInteger(+pathArray[pathArray.length - 1]);\n};\n\nexport class ObjectMap {\n static empty(object) {\n // return ldvalues(object).length === 0;\n for (let i in object) return false;\n return true;\n }\n\n static get(object, path) {\n const val = ldget(object, path);\n //debug('GOT', path, val);\n return val;\n }\n\n static has(object, path) {\n return ldhas(object, path);\n }\n\n static set(object, path, value) {\n if (value !== undefined) {\n debug('Setting', path, value);\n ldset(object, path, value);\n } else {\n // Setting things to undefined in informed is special!\n // so in this else statement we deal with that\n\n // If the path is to an array leaf then we want to set to undefined\n // Example:\n // path = 'foo.bar[2]'\n // foo.bar = [ 'baz', 'raz', 'taz' ]\n // setting taz to undefined ^^^\n if (pathToArrayElem(path) && ObjectMap.get(object, path) !== undefined) {\n debug('Special case SETTING', path, 'to undefined');\n ldset(object, path, undefined);\n let pathArray = ldtoPath(path);\n pathArray = pathArray.slice(0, pathArray.length - 1);\n cleanup(object, pathArray, false);\n }\n // Only delete the field if it needs to be deleted and its not a path to an array ( array leaf )\n // Example:\n // path = 'foo.bar'\n // foo.bar = 'baz'\n // removing foo.bar from the object completley\n else if (\n !pathToArrayElem(path) &&\n ObjectMap.get(object, path) !== undefined\n ) {\n debug('Special case REMOVING', path, 'from object completley');\n ObjectMap.delete(object, path);\n }\n }\n }\n\n static delete(object, path) {\n debug('DELETE', path);\n\n // Special case for arrays\n if (pathToArrayElem(path)) {\n debug('ARRAY PATH', path);\n //ldunset(object, path);\n this.pullOut(object, path);\n } else {\n ldunset(object, path);\n }\n\n let pathArray = ldtoPath(path);\n pathArray = pathArray.slice(0, pathArray.length - 1);\n cleanup(object, pathArray);\n debug('DELETED', path);\n }\n\n // Very important ;)\n static pullOut(object, path) {\n // Get the path to the array\n let pathArray = ldtoPath(path);\n // debug('PathArray1', pathArray);\n const index = pathArray[pathArray.length - 1];\n pathArray = pathArray.slice(0, pathArray.length - 1);\n debug('Pulling out:', pathArray, 'index', index);\n // Get the array\n const arr = ldget(object, pathArray);\n debug('Array Before', arr);\n // Pull out of array\n if (Array.isArray(arr)) {\n ldpullAt(arr, index);\n }\n debug('Array After', arr);\n cleanup(object, pathArray);\n }\n\n static purge(obj) {\n let newObj = Array.isArray(obj) ? [] : {};\n Object.keys(obj).forEach(key => {\n // Its an object recur\n if (typeof obj[key] === 'object') {\n newObj[key] = ObjectMap.purge(obj[key]);\n // If its empty after purge delete\n if (Object.keys(newObj[key]).length === 0) {\n delete newObj[key];\n }\n } else if (obj[key] !== undefined) {\n newObj[key] = obj[key];\n }\n });\n return newObj;\n }\n\n // Very important ;)\n static swap(object, path, i, j) {\n // Get the path to the array\n console.log('Swaping out out:', path, i, j);\n // Get the array\n const arr = ldget(object, path);\n console.log('Array', arr);\n // Pull out of array\n if (Array.isArray(arr)) {\n ldSwap(arr, i, j);\n }\n }\n}\n\nfunction cleanup(obj, path) {\n // uncomment this to add third param back\n //,pull = true) {\n\n // Base case no path left\n if (path.length === 0) {\n return;\n }\n\n const object = ldget(obj, path);\n\n // Clean up undefined from array\n // if (Array.isArray(object) && pull) {\n // ldpull(object, undefined);\n // }\n\n // Delete object if its empty\n if (\n Array.isArray(object)\n ? object.every(e => e == null)\n : JSON.stringify(object) === '{}'\n ) {\n ldunset(obj, path);\n }\n // Recur\n cleanup(obj, path.slice(0, path.length - 1));\n}\n","import React, { useContext, useMemo, useState, useCallback } from 'react';\nimport { Relevant } from './Relevant';\nimport { useArrayField } from '../hooks/useArrayField';\n// import { useFieldSubscription } from '../hooks/useFieldSubscription';\nimport {\n ArrayFieldStateContext,\n ArrayFieldItemApiContext,\n ArrayFieldItemStateContext,\n FormControllerContext,\n ScopeContext\n} from '../Context';\nimport { useFormController } from '../hooks/useFormController';\nimport { useFieldState } from '../hooks/useFieldState';\nimport { Debug } from '../debug';\nimport { useScopedApi } from '../hooks/useScopedApi';\n\nconst debug = Debug('informed:ArrayField' + '\\t');\n\nconst ArrayField = ({\n relevant,\n relevanceWhen,\n relevanceDeps,\n name,\n ...props\n}) => {\n if (relevant) {\n return (\n \n \n \n );\n } else {\n return ;\n }\n};\n\nconst ArrayFieldWrapper = ({ children, ...props }) => {\n const { render, arrayFieldState, arrayFieldApi } = useArrayField(props);\n\n if (typeof children === 'function') {\n return render(\n children({\n arrayFieldApi,\n arrayFieldState,\n // Make it easier for user\n ...arrayFieldApi,\n ...arrayFieldState\n })\n );\n }\n\n return render(children);\n};\n\nconst ArrayFieldItem = ({\n arrayFieldItemState,\n arrayFieldItemApi,\n children\n // hidden\n}) => {\n const formController = useFormController();\n\n // Map will store all fields by name\n // Key => name\n // Val => fieldMetaRef\n // Why? so the array knows about all its field meta\n const [fieldsMap] = useState(() => new Map());\n\n // Register for child field updates\n const subState = useFieldState(arrayFieldItemState.name);\n\n // Get scoped api for item api\n const itemApi = useScopedApi(arrayFieldItemState.name);\n\n // Example evaluateWhen = [\"name\", \"age\"]\n // TODO maybe add this\n // useFieldSubscription(\n // 'field-modified',\n // [arrayFieldItemState.name],\n // target => {\n // debug(`updating hidden field ${hidden} for ${name} because of ${target}`);\n // formController.setModifiedValue(\n // `${arrayFieldItemState.name}.${hidden}`,\n // formController.getValue(`${arrayFieldItemState.name}.${hidden}`)\n // );\n // console.log(\n // `updating hidden field ${hidden} for ${name} because of ${target}`\n // );\n // },\n // false\n // );\n\n // Need to memoize to prevent re renders\n const wrappedController = useMemo(\n () => {\n return {\n ...formController,\n register: (n, m) => {\n fieldsMap.set(n, m);\n formController.register(n, m);\n },\n deregister: (n, m) => {\n fieldsMap.delete(n);\n formController.deregister(n, m);\n // When the very last field from the array is removed unlock\n const lockedUntil = formController.getRemovalLocked();\n debug(\n // fieldsMap,\n 'DEREGISTER',\n n,\n 'SIZE',\n fieldsMap.size,\n 'INDEX',\n arrayFieldItemState.index,\n 'LOCKEDUNTIL',\n lockedUntil\n );\n if (\n lockedUntil != null &&\n lockedUntil.index === arrayFieldItemState.index &&\n lockedUntil.name === arrayFieldItemState.parent &&\n // We are the last field in this item\n // 1. Example fieldsMap.keys() ==> [ 'friends[0].name' ]\n // 2. We are de registering friends[1].age\n // 3. We look to see if friends[1] is in the field map\n // 4. If its not, we are done and can unlock!!\n !Array.from(fieldsMap.keys()).some(k => {\n // debug(\n // 'CHECKING',\n // k,\n // `${arrayFieldItemState.parent}[${lockedUntil.index}]`\n // );\n return k.includes(\n `${arrayFieldItemState.parent}[${lockedUntil.index}]`\n );\n })\n ) {\n debug('UNLOCKING');\n formController.unlockRemoval();\n }\n }\n };\n },\n // WHATEVER YOU DO... DONT REMOVE THIS... need updated controller when index changes\n [arrayFieldItemState.index]\n );\n\n const reset = useCallback(\n () => {\n fieldsMap.forEach(fieldMeta => {\n fieldMeta.current.fieldApi.reset();\n });\n },\n [arrayFieldItemState.name, arrayFieldItemState.index]\n );\n\n const arrayFieldStateValue = {\n ...arrayFieldItemState,\n values: subState.value,\n errors: subState.error,\n touched: subState.touched\n };\n\n const arrayFieldItemApiValue = useMemo(\n () => {\n return {\n ...arrayFieldItemApi,\n ...itemApi,\n reset\n };\n },\n [arrayFieldItemState.name, arrayFieldItemState.index]\n );\n\n // const memoizedChildren = useMemo(\n // () => {\n // debug('Rendering');\n // return children({\n // ...arrayFieldItemApiValue,\n // name: arrayFieldItemState.name,\n // index: arrayFieldItemState.index\n // });\n // },\n // [arrayFieldItemState.name, arrayFieldItemState.index]\n // );\n\n if (typeof children === 'function') {\n return (\n \n \n \n \n {/*

{arrayFieldItemState.key}

*/}\n {/* {memoizedChildren} */}\n {children({\n ...arrayFieldItemApiValue,\n name: arrayFieldItemState.name,\n index: arrayFieldItemState.index\n })}\n
\n
\n
\n
\n );\n }\n\n return (\n \n \n \n \n {children}\n \n \n \n \n );\n};\n\nArrayField.Items = ({ children }) => {\n // TODO maybe add this { hidden, fields } =\n const { fields } = useContext(ArrayFieldStateContext);\n // console.log(\"FIELDS\", fields);\n return fields.map(({ arrayFieldItemState, arrayFieldItemApi }) => {\n const { key } = arrayFieldItemState;\n return (\n