mobitru-mobile-cli 1.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,154 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var fu=Object.create;var bn=Object.defineProperty;var hu=Object.getOwnPropertyDescriptor;var gu=Object.getOwnPropertyNames;var xu=Object.getPrototypeOf,vu=Object.prototype.hasOwnProperty;var T=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),bu=(t,e)=>{for(var i in e)bn(t,i,{get:e[i],enumerable:!0})},yu=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of gu(e))!vu.call(t,o)&&o!==i&&bn(t,o,{get:()=>e[o],enumerable:!(n=hu(e,o))||n.enumerable});return t};var C=(t,e,i)=>(i=t!=null?fu(xu(t)):{},yu(e||!t||!t.__esModule?bn(i,"default",{value:t,enumerable:!0}):i,t));var Zs=T((px,Ys)=>{var Ks=require("stream").Stream,Pd=require("util");Ys.exports=ve;function ve(){this.source=null,this.dataSize=0,this.maxDataSize=1024*1024,this.pauseStream=!0,this._maxDataSizeExceeded=!1,this._released=!1,this._bufferedEvents=[]}Pd.inherits(ve,Ks);ve.create=function(t,e){var i=new this;e=e||{};for(var n in e)i[n]=e[n];i.source=t;var o=t.emit;return t.emit=function(){return i._handleEmit(arguments),o.apply(t,arguments)},t.on("error",function(){}),i.pauseStream&&t.pause(),i};Object.defineProperty(ve.prototype,"readable",{configurable:!0,enumerable:!0,get:function(){return this.source.readable}});ve.prototype.setEncoding=function(){return this.source.setEncoding.apply(this.source,arguments)};ve.prototype.resume=function(){this._released||this.release(),this.source.resume()};ve.prototype.pause=function(){this.source.pause()};ve.prototype.release=function(){this._released=!0,this._bufferedEvents.forEach(function(t){this.emit.apply(this,t)}.bind(this)),this._bufferedEvents=[]};ve.prototype.pipe=function(){var t=Ks.prototype.pipe.apply(this,arguments);return this.resume(),t};ve.prototype._handleEmit=function(t){if(this._released){this.emit.apply(this,t);return}t[0]==="data"&&(this.dataSize+=t[1].length,this._checkIfMaxDataSizeExceeded()),this._bufferedEvents.push(t)};ve.prototype._checkIfMaxDataSizeExceeded=function(){if(!this._maxDataSizeExceeded&&!(this.dataSize<=this.maxDataSize)){this._maxDataSizeExceeded=!0;var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this.emit("error",new Error(t))}}});var ia=T((lx,ta)=>{var Rd=require("util"),ea=require("stream").Stream,Qs=Zs();ta.exports=M;function M(){this.writable=!1,this.readable=!0,this.dataSize=0,this.maxDataSize=2*1024*1024,this.pauseStreams=!0,this._released=!1,this._streams=[],this._currentStream=null,this._insideLoop=!1,this._pendingNext=!1}Rd.inherits(M,ea);M.create=function(t){var e=new this;t=t||{};for(var i in t)e[i]=t[i];return e};M.isStreamLike=function(t){return typeof t!="function"&&typeof t!="string"&&typeof t!="boolean"&&typeof t!="number"&&!Buffer.isBuffer(t)};M.prototype.append=function(t){var e=M.isStreamLike(t);if(e){if(!(t instanceof Qs)){var i=Qs.create(t,{maxDataSize:1/0,pauseStream:this.pauseStreams});t.on("data",this._checkDataSize.bind(this)),t=i}this._handleErrors(t),this.pauseStreams&&t.pause()}return this._streams.push(t),this};M.prototype.pipe=function(t,e){return ea.prototype.pipe.call(this,t,e),this.resume(),t};M.prototype._getNext=function(){if(this._currentStream=null,this._insideLoop){this._pendingNext=!0;return}this._insideLoop=!0;try{do this._pendingNext=!1,this._realGetNext();while(this._pendingNext)}finally{this._insideLoop=!1}};M.prototype._realGetNext=function(){var t=this._streams.shift();if(typeof t>"u"){this.end();return}if(typeof t!="function"){this._pipeNext(t);return}var e=t;e(function(i){var n=M.isStreamLike(i);n&&(i.on("data",this._checkDataSize.bind(this)),this._handleErrors(i)),this._pipeNext(i)}.bind(this))};M.prototype._pipeNext=function(t){this._currentStream=t;var e=M.isStreamLike(t);if(e){t.on("end",this._getNext.bind(this)),t.pipe(this,{end:!1});return}var i=t;this.write(i),this._getNext()};M.prototype._handleErrors=function(t){var e=this;t.on("error",function(i){e._emitError(i)})};M.prototype.write=function(t){this.emit("data",t)};M.prototype.pause=function(){this.pauseStreams&&(this.pauseStreams&&this._currentStream&&typeof this._currentStream.pause=="function"&&this._currentStream.pause(),this.emit("pause"))};M.prototype.resume=function(){this._released||(this._released=!0,this.writable=!0,this._getNext()),this.pauseStreams&&this._currentStream&&typeof this._currentStream.resume=="function"&&this._currentStream.resume(),this.emit("resume")};M.prototype.end=function(){this._reset(),this.emit("end")};M.prototype.destroy=function(){this._reset(),this.emit("close")};M.prototype._reset=function(){this.writable=!1,this._streams=[],this._currentStream=null};M.prototype._checkDataSize=function(){if(this._updateDataSize(),!(this.dataSize<=this.maxDataSize)){var t="DelayedStream#maxDataSize of "+this.maxDataSize+" bytes exceeded.";this._emitError(new Error(t))}};M.prototype._updateDataSize=function(){this.dataSize=0;var t=this;this._streams.forEach(function(e){e.dataSize&&(t.dataSize+=e.dataSize)}),this._currentStream&&this._currentStream.dataSize&&(this.dataSize+=this._currentStream.dataSize)};M.prototype._emitError=function(t){this._reset(),this.emit("error",t)}});var na=T((ux,Ad)=>{Ad.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}}});var sa=T((dx,oa)=>{oa.exports=na()});var ca=T(ne=>{"use strict";var Ri=sa(),Od=require("path").extname,aa=/^\s*([^;\s]*)(?:;|\s|$)/,Id=/^text\//i;ne.charset=ra;ne.charsets={lookup:ra};ne.contentType=_d;ne.extension=$d;ne.extensions=Object.create(null);ne.lookup=Fd;ne.types=Object.create(null);Nd(ne.extensions,ne.types);function ra(t){if(!t||typeof t!="string")return!1;var e=aa.exec(t),i=e&&Ri[e[1].toLowerCase()];return i&&i.charset?i.charset:e&&Id.test(e[1])?"UTF-8":!1}function _d(t){if(!t||typeof t!="string")return!1;var e=t.indexOf("/")===-1?ne.lookup(t):t;if(!e)return!1;if(e.indexOf("charset")===-1){var i=ne.charset(e);i&&(e+="; charset="+i.toLowerCase())}return e}function $d(t){if(!t||typeof t!="string")return!1;var e=aa.exec(t),i=e&&ne.extensions[e[1].toLowerCase()];return!i||!i.length?!1:i[0]}function Fd(t){if(!t||typeof t!="string")return!1;var e=Od("x."+t).toLowerCase().substr(1);return e&&ne.types[e]||!1}function Nd(t,e){var i=["nginx","apache",void 0,"iana"];Object.keys(Ri).forEach(function(o){var s=Ri[o],a=s.extensions;if(!(!a||!a.length)){t[o]=a;for(var r=0;r<a.length;r++){var p=a[r];if(e[p]){var l=i.indexOf(Ri[e[p]].source),c=i.indexOf(s.source);if(e[p]!=="application/octet-stream"&&(l>c||l===c&&e[p].substr(0,12)==="application/"))continue}e[p]=o}}})}});var la=T((fx,pa)=>{pa.exports=jd;function jd(t){var e=typeof setImmediate=="function"?setImmediate:typeof process=="object"&&typeof process.nextTick=="function"?process.nextTick:null;e?e(t):setTimeout(t,0)}});var On=T((hx,da)=>{var ua=la();da.exports=Ud;function Ud(t){var e=!1;return ua(function(){e=!0}),function(n,o){e?t(n,o):ua(function(){t(n,o)})}}});var In=T((gx,ma)=>{ma.exports=Bd;function Bd(t){Object.keys(t.jobs).forEach(Ld.bind(t)),t.jobs={}}function Ld(t){typeof this.jobs[t]=="function"&&this.jobs[t]()}});var _n=T((xx,ha)=>{var fa=On(),qd=In();ha.exports=Dd;function Dd(t,e,i,n){var o=i.keyedList?i.keyedList[i.index]:i.index;i.jobs[o]=Md(e,o,t[o],function(s,a){o in i.jobs&&(delete i.jobs[o],s?qd(i):i.results[o]=a,n(s,i.results))})}function Md(t,e,i,n){var o;return t.length==2?o=t(i,fa(n)):o=t(i,e,fa(n)),o}});var $n=T((vx,ga)=>{ga.exports=zd;function zd(t,e){var i=!Array.isArray(t),n={index:0,keyedList:i||e?Object.keys(t):null,jobs:{},results:i?{}:[],size:i?Object.keys(t).length:t.length};return e&&n.keyedList.sort(i?e:function(o,s){return e(t[o],t[s])}),n}});var Fn=T((bx,xa)=>{var Jd=In(),Hd=On();xa.exports=Vd;function Vd(t){Object.keys(this.jobs).length&&(this.index=this.size,Jd(this),Hd(t)(null,this.results))}});var ba=T((yx,va)=>{var Wd=_n(),Gd=$n(),Xd=Fn();va.exports=Kd;function Kd(t,e,i){for(var n=Gd(t);n.index<(n.keyedList||t).length;)Wd(t,e,n,function(o,s){if(o){i(o,s);return}if(Object.keys(n.jobs).length===0){i(null,n.results);return}}),n.index++;return Xd.bind(n,i)}});var Nn=T((wx,Ai)=>{var ya=_n(),Yd=$n(),Zd=Fn();Ai.exports=Qd;Ai.exports.ascending=wa;Ai.exports.descending=em;function Qd(t,e,i,n){var o=Yd(t,i);return ya(t,e,o,function s(a,r){if(a){n(a,r);return}if(o.index++,o.index<(o.keyedList||t).length){ya(t,e,o,s);return}n(null,o.results)}),Zd.bind(o,n)}function wa(t,e){return t<e?-1:t>e?1:0}function em(t,e){return-1*wa(t,e)}});var Ea=T((Sx,Sa)=>{var tm=Nn();Sa.exports=im;function im(t,e,i){return tm(t,e,null,i)}});var ka=T((Ex,Ta)=>{Ta.exports={parallel:ba(),serial:Ea(),serialOrdered:Nn()}});var jn=T((Tx,Ca)=>{"use strict";Ca.exports=Object});var Ra=T((kx,Pa)=>{"use strict";Pa.exports=Error});var Oa=T((Cx,Aa)=>{"use strict";Aa.exports=EvalError});var _a=T((Px,Ia)=>{"use strict";Ia.exports=RangeError});var Fa=T((Rx,$a)=>{"use strict";$a.exports=ReferenceError});var ja=T((Ax,Na)=>{"use strict";Na.exports=SyntaxError});var Oi=T((Ox,Ua)=>{"use strict";Ua.exports=TypeError});var La=T((Ix,Ba)=>{"use strict";Ba.exports=URIError});var Da=T((_x,qa)=>{"use strict";qa.exports=Math.abs});var za=T(($x,Ma)=>{"use strict";Ma.exports=Math.floor});var Ha=T((Fx,Ja)=>{"use strict";Ja.exports=Math.max});var Wa=T((Nx,Va)=>{"use strict";Va.exports=Math.min});var Xa=T((jx,Ga)=>{"use strict";Ga.exports=Math.pow});var Ya=T((Ux,Ka)=>{"use strict";Ka.exports=Math.round});var Qa=T((Bx,Za)=>{"use strict";Za.exports=Number.isNaN||function(e){return e!==e}});var tr=T((Lx,er)=>{"use strict";var nm=Qa();er.exports=function(e){return nm(e)||e===0?e:e<0?-1:1}});var nr=T((qx,ir)=>{"use strict";ir.exports=Object.getOwnPropertyDescriptor});var Un=T((Dx,or)=>{"use strict";var Ii=nr();if(Ii)try{Ii([],"length")}catch{Ii=null}or.exports=Ii});var ar=T((Mx,sr)=>{"use strict";var _i=Object.defineProperty||!1;if(_i)try{_i({},"a",{value:1})}catch{_i=!1}sr.exports=_i});var Bn=T((zx,rr)=>{"use strict";rr.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},i=Symbol("test"),n=Object(i);if(typeof i=="string"||Object.prototype.toString.call(i)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var o=42;e[i]=o;for(var s in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var a=Object.getOwnPropertySymbols(e);if(a.length!==1||a[0]!==i||!Object.prototype.propertyIsEnumerable.call(e,i))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var r=Object.getOwnPropertyDescriptor(e,i);if(r.value!==o||r.enumerable!==!0)return!1}return!0}});var lr=T((Jx,pr)=>{"use strict";var cr=typeof Symbol<"u"&&Symbol,om=Bn();pr.exports=function(){return typeof cr!="function"||typeof Symbol!="function"||typeof cr("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:om()}});var Ln=T((Hx,ur)=>{"use strict";ur.exports=typeof Reflect<"u"&&Reflect.getPrototypeOf||null});var qn=T((Vx,dr)=>{"use strict";var sm=jn();dr.exports=sm.getPrototypeOf||null});var hr=T((Wx,fr)=>{"use strict";var am="Function.prototype.bind called on incompatible ",rm=Object.prototype.toString,cm=Math.max,pm="[object Function]",mr=function(e,i){for(var n=[],o=0;o<e.length;o+=1)n[o]=e[o];for(var s=0;s<i.length;s+=1)n[s+e.length]=i[s];return n},lm=function(e,i){for(var n=[],o=i||0,s=0;o<e.length;o+=1,s+=1)n[s]=e[o];return n},um=function(t,e){for(var i="",n=0;n<t.length;n+=1)i+=t[n],n+1<t.length&&(i+=e);return i};fr.exports=function(e){var i=this;if(typeof i!="function"||rm.apply(i)!==pm)throw new TypeError(am+i);for(var n=lm(arguments,1),o,s=function(){if(this instanceof o){var c=i.apply(this,mr(n,arguments));return Object(c)===c?c:this}return i.apply(e,mr(n,arguments))},a=cm(0,i.length-n.length),r=[],p=0;p<a;p++)r[p]="$"+p;if(o=Function("binder","return function ("+um(r,",")+"){ return binder.apply(this,arguments); }")(s),i.prototype){var l=function(){};l.prototype=i.prototype,o.prototype=new l,l.prototype=null}return o}});var Mt=T((Gx,gr)=>{"use strict";var dm=hr();gr.exports=Function.prototype.bind||dm});var $i=T((Xx,xr)=>{"use strict";xr.exports=Function.prototype.call});var Dn=T((Kx,vr)=>{"use strict";vr.exports=Function.prototype.apply});var yr=T((Yx,br)=>{"use strict";br.exports=typeof Reflect<"u"&&Reflect&&Reflect.apply});var Sr=T((Zx,wr)=>{"use strict";var mm=Mt(),fm=Dn(),hm=$i(),gm=yr();wr.exports=gm||mm.call(hm,fm)});var Tr=T((Qx,Er)=>{"use strict";var xm=Mt(),vm=Oi(),bm=$i(),ym=Sr();Er.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new vm("a function is required");return ym(xm,bm,e)}});var Or=T((ev,Ar)=>{"use strict";var wm=Tr(),kr=Un(),Pr;try{Pr=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var Mn=!!Pr&&kr&&kr(Object.prototype,"__proto__"),Rr=Object,Cr=Rr.getPrototypeOf;Ar.exports=Mn&&typeof Mn.get=="function"?wm([Mn.get]):typeof Cr=="function"?function(e){return Cr(e==null?e:Rr(e))}:!1});var Nr=T((tv,Fr)=>{"use strict";var Ir=Ln(),_r=qn(),$r=Or();Fr.exports=Ir?function(e){return Ir(e)}:_r?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return _r(e)}:$r?function(e){return $r(e)}:null});var Fi=T((iv,jr)=>{"use strict";var Sm=Function.prototype.call,Em=Object.prototype.hasOwnProperty,Tm=Mt();jr.exports=Tm.call(Sm,Em)});var zr=T((nv,Mr)=>{"use strict";var _,km=jn(),Cm=Ra(),Pm=Oa(),Rm=_a(),Am=Fa(),vt=ja(),xt=Oi(),Om=La(),Im=Da(),_m=za(),$m=Ha(),Fm=Wa(),Nm=Xa(),jm=Ya(),Um=tr(),qr=Function,zn=function(t){try{return qr('"use strict"; return ('+t+").constructor;")()}catch{}},zt=Un(),Bm=ar(),Jn=function(){throw new xt},Lm=zt?(function(){try{return arguments.callee,Jn}catch{try{return zt(arguments,"callee").get}catch{return Jn}}})():Jn,ht=lr()(),W=Nr(),qm=qn(),Dm=Ln(),Dr=Dn(),Jt=$i(),gt={},Mm=typeof Uint8Array>"u"||!W?_:W(Uint8Array),He={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?_:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?_:ArrayBuffer,"%ArrayIteratorPrototype%":ht&&W?W([][Symbol.iterator]()):_,"%AsyncFromSyncIteratorPrototype%":_,"%AsyncFunction%":gt,"%AsyncGenerator%":gt,"%AsyncGeneratorFunction%":gt,"%AsyncIteratorPrototype%":gt,"%Atomics%":typeof Atomics>"u"?_:Atomics,"%BigInt%":typeof BigInt>"u"?_:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?_:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?_:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?_:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Cm,"%eval%":eval,"%EvalError%":Pm,"%Float16Array%":typeof Float16Array>"u"?_:Float16Array,"%Float32Array%":typeof Float32Array>"u"?_:Float32Array,"%Float64Array%":typeof Float64Array>"u"?_:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?_:FinalizationRegistry,"%Function%":qr,"%GeneratorFunction%":gt,"%Int8Array%":typeof Int8Array>"u"?_:Int8Array,"%Int16Array%":typeof Int16Array>"u"?_:Int16Array,"%Int32Array%":typeof Int32Array>"u"?_:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":ht&&W?W(W([][Symbol.iterator]())):_,"%JSON%":typeof JSON=="object"?JSON:_,"%Map%":typeof Map>"u"?_:Map,"%MapIteratorPrototype%":typeof Map>"u"||!ht||!W?_:W(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":km,"%Object.getOwnPropertyDescriptor%":zt,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?_:Promise,"%Proxy%":typeof Proxy>"u"?_:Proxy,"%RangeError%":Rm,"%ReferenceError%":Am,"%Reflect%":typeof Reflect>"u"?_:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?_:Set,"%SetIteratorPrototype%":typeof Set>"u"||!ht||!W?_:W(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?_:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":ht&&W?W(""[Symbol.iterator]()):_,"%Symbol%":ht?Symbol:_,"%SyntaxError%":vt,"%ThrowTypeError%":Lm,"%TypedArray%":Mm,"%TypeError%":xt,"%Uint8Array%":typeof Uint8Array>"u"?_:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?_:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?_:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?_:Uint32Array,"%URIError%":Om,"%WeakMap%":typeof WeakMap>"u"?_:WeakMap,"%WeakRef%":typeof WeakRef>"u"?_:WeakRef,"%WeakSet%":typeof WeakSet>"u"?_:WeakSet,"%Function.prototype.call%":Jt,"%Function.prototype.apply%":Dr,"%Object.defineProperty%":Bm,"%Object.getPrototypeOf%":qm,"%Math.abs%":Im,"%Math.floor%":_m,"%Math.max%":$m,"%Math.min%":Fm,"%Math.pow%":Nm,"%Math.round%":jm,"%Math.sign%":Um,"%Reflect.getPrototypeOf%":Dm};if(W)try{null.error}catch(t){Ur=W(W(t)),He["%Error.prototype%"]=Ur}var Ur,zm=function t(e){var i;if(e==="%AsyncFunction%")i=zn("async function () {}");else if(e==="%GeneratorFunction%")i=zn("function* () {}");else if(e==="%AsyncGeneratorFunction%")i=zn("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(i=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var o=t("%AsyncGenerator%");o&&W&&(i=W(o.prototype))}return He[e]=i,i},Br={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},Ht=Mt(),Ni=Fi(),Jm=Ht.call(Jt,Array.prototype.concat),Hm=Ht.call(Dr,Array.prototype.splice),Lr=Ht.call(Jt,String.prototype.replace),ji=Ht.call(Jt,String.prototype.slice),Vm=Ht.call(Jt,RegExp.prototype.exec),Wm=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Gm=/\\(\\)?/g,Xm=function(e){var i=ji(e,0,1),n=ji(e,-1);if(i==="%"&&n!=="%")throw new vt("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&i!=="%")throw new vt("invalid intrinsic syntax, expected opening `%`");var o=[];return Lr(e,Wm,function(s,a,r,p){o[o.length]=r?Lr(p,Gm,"$1"):a||s}),o},Km=function(e,i){var n=e,o;if(Ni(Br,n)&&(o=Br[n],n="%"+o[0]+"%"),Ni(He,n)){var s=He[n];if(s===gt&&(s=zm(n)),typeof s>"u"&&!i)throw new xt("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:o,name:n,value:s}}throw new vt("intrinsic "+e+" does not exist!")};Mr.exports=function(e,i){if(typeof e!="string"||e.length===0)throw new xt("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof i!="boolean")throw new xt('"allowMissing" argument must be a boolean');if(Vm(/^%?[^%]*%?$/,e)===null)throw new vt("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=Xm(e),o=n.length>0?n[0]:"",s=Km("%"+o+"%",i),a=s.name,r=s.value,p=!1,l=s.alias;l&&(o=l[0],Hm(n,Jm([0,1],l)));for(var c=1,d=!0;c<n.length;c+=1){var f=n[c],S=ji(f,0,1),m=ji(f,-1);if((S==='"'||S==="'"||S==="`"||m==='"'||m==="'"||m==="`")&&S!==m)throw new vt("property names with quotes must have matching quotes");if((f==="constructor"||!d)&&(p=!0),o+="."+f,a="%"+o+"%",Ni(He,a))r=He[a];else if(r!=null){if(!(f in r)){if(!i)throw new xt("base intrinsic for "+e+" exists, but the property is not available.");return}if(zt&&c+1>=n.length){var h=zt(r,f);d=!!h,d&&"get"in h&&!("originalValue"in h.get)?r=h.get:r=r[f]}else d=Ni(r,f),r=r[f];d&&!p&&(He[a]=r)}}return r}});var Hr=T((ov,Jr)=>{"use strict";var Ym=Bn();Jr.exports=function(){return Ym()&&!!Symbol.toStringTag}});var Gr=T((sv,Wr)=>{"use strict";var Zm=zr(),Vr=Zm("%Object.defineProperty%",!0),Qm=Hr()(),ef=Fi(),tf=Oi(),Ui=Qm?Symbol.toStringTag:null;Wr.exports=function(e,i){var n=arguments.length>2&&!!arguments[2]&&arguments[2].force,o=arguments.length>2&&!!arguments[2]&&arguments[2].nonConfigurable;if(typeof n<"u"&&typeof n!="boolean"||typeof o<"u"&&typeof o!="boolean")throw new tf("if provided, the `overrideIfSet` and `nonConfigurable` options must be booleans");Ui&&(n||!ef(e,Ui))&&(Vr?Vr(e,Ui,{configurable:!o,enumerable:!1,value:i,writable:!1}):e[Ui]=i)}});var Kr=T((av,Xr)=>{"use strict";Xr.exports=function(t,e){return Object.keys(e).forEach(function(i){t[i]=t[i]||e[i]}),t}});var Xn=T((rv,Yr)=>{"use strict";var Gn=ia(),nf=require("util"),Hn=require("path"),of=require("http"),sf=require("https"),af=require("url").parse,rf=require("fs"),cf=require("stream").Stream,pf=require("crypto"),Vn=ca(),lf=ka(),uf=Gr(),je=Fi(),Wn=Kr();function N(t){if(!(this instanceof N))return new N(t);this._overheadLength=0,this._valueLength=0,this._valuesToMeasure=[],Gn.call(this),t=t||{};for(var e in t)this[e]=t[e]}nf.inherits(N,Gn);N.LINE_BREAK=`\r
3
+ `;N.DEFAULT_CONTENT_TYPE="application/octet-stream";N.prototype.append=function(t,e,i){i=i||{},typeof i=="string"&&(i={filename:i});var n=Gn.prototype.append.bind(this);if((typeof e=="number"||e==null)&&(e=String(e)),Array.isArray(e)){this._error(new Error("Arrays are not supported."));return}var o=this._multiPartHeader(t,e,i),s=this._multiPartFooter();n(o),n(e),n(s),this._trackLength(o,e,i)};N.prototype._trackLength=function(t,e,i){var n=0;i.knownLength!=null?n+=Number(i.knownLength):Buffer.isBuffer(e)?n=e.length:typeof e=="string"&&(n=Buffer.byteLength(e)),this._valueLength+=n,this._overheadLength+=Buffer.byteLength(t)+N.LINE_BREAK.length,!(!e||!e.path&&!(e.readable&&je(e,"httpVersion"))&&!(e instanceof cf))&&(i.knownLength||this._valuesToMeasure.push(e))};N.prototype._lengthRetriever=function(t,e){je(t,"fd")?t.end!=null&&t.end!=1/0&&t.start!=null?e(null,t.end+1-(t.start?t.start:0)):rf.stat(t.path,function(i,n){if(i){e(i);return}var o=n.size-(t.start?t.start:0);e(null,o)}):je(t,"httpVersion")?e(null,Number(t.headers["content-length"])):je(t,"httpModule")?(t.on("response",function(i){t.pause(),e(null,Number(i.headers["content-length"]))}),t.resume()):e("Unknown stream")};N.prototype._multiPartHeader=function(t,e,i){if(typeof i.header=="string")return i.header;var n=this._getContentDisposition(e,i),o=this._getContentType(e,i),s="",a={"Content-Disposition":["form-data",'name="'+t+'"'].concat(n||[]),"Content-Type":[].concat(o||[])};typeof i.header=="object"&&Wn(a,i.header);var r;for(var p in a)if(je(a,p)){if(r=a[p],r==null)continue;Array.isArray(r)||(r=[r]),r.length&&(s+=p+": "+r.join("; ")+N.LINE_BREAK)}return"--"+this.getBoundary()+N.LINE_BREAK+s+N.LINE_BREAK};N.prototype._getContentDisposition=function(t,e){var i;if(typeof e.filepath=="string"?i=Hn.normalize(e.filepath).replace(/\\/g,"/"):e.filename||t&&(t.name||t.path)?i=Hn.basename(e.filename||t&&(t.name||t.path)):t&&t.readable&&je(t,"httpVersion")&&(i=Hn.basename(t.client._httpMessage.path||"")),i)return'filename="'+i+'"'};N.prototype._getContentType=function(t,e){var i=e.contentType;return!i&&t&&t.name&&(i=Vn.lookup(t.name)),!i&&t&&t.path&&(i=Vn.lookup(t.path)),!i&&t&&t.readable&&je(t,"httpVersion")&&(i=t.headers["content-type"]),!i&&(e.filepath||e.filename)&&(i=Vn.lookup(e.filepath||e.filename)),!i&&t&&typeof t=="object"&&(i=N.DEFAULT_CONTENT_TYPE),i};N.prototype._multiPartFooter=function(){return function(t){var e=N.LINE_BREAK,i=this._streams.length===0;i&&(e+=this._lastBoundary()),t(e)}.bind(this)};N.prototype._lastBoundary=function(){return"--"+this.getBoundary()+"--"+N.LINE_BREAK};N.prototype.getHeaders=function(t){var e,i={"content-type":"multipart/form-data; boundary="+this.getBoundary()};for(e in t)je(t,e)&&(i[e.toLowerCase()]=t[e]);return i};N.prototype.setBoundary=function(t){if(typeof t!="string")throw new TypeError("FormData boundary must be a string");this._boundary=t};N.prototype.getBoundary=function(){return this._boundary||this._generateBoundary(),this._boundary};N.prototype.getBuffer=function(){for(var t=new Buffer.alloc(0),e=this.getBoundary(),i=0,n=this._streams.length;i<n;i++)typeof this._streams[i]!="function"&&(Buffer.isBuffer(this._streams[i])?t=Buffer.concat([t,this._streams[i]]):t=Buffer.concat([t,Buffer.from(this._streams[i])]),(typeof this._streams[i]!="string"||this._streams[i].substring(2,e.length+2)!==e)&&(t=Buffer.concat([t,Buffer.from(N.LINE_BREAK)])));return Buffer.concat([t,Buffer.from(this._lastBoundary())])};N.prototype._generateBoundary=function(){this._boundary="--------------------------"+pf.randomBytes(12).toString("hex")};N.prototype.getLengthSync=function(){var t=this._overheadLength+this._valueLength;return this._streams.length&&(t+=this._lastBoundary().length),this.hasKnownLength()||this._error(new Error("Cannot calculate proper length in synchronous way.")),t};N.prototype.hasKnownLength=function(){var t=!0;return this._valuesToMeasure.length&&(t=!1),t};N.prototype.getLength=function(t){var e=this._overheadLength+this._valueLength;if(this._streams.length&&(e+=this._lastBoundary().length),!this._valuesToMeasure.length){process.nextTick(t.bind(this,null,e));return}lf.parallel(this._valuesToMeasure,this._lengthRetriever,function(i,n){if(i){t(i);return}n.forEach(function(o){e+=o}),t(null,e)})};N.prototype.submit=function(t,e){var i,n,o={method:"post"};return typeof t=="string"?(t=af(t),n=Wn({port:t.port,path:t.pathname,host:t.hostname,protocol:t.protocol},o)):(n=Wn(t,o),n.port||(n.port=n.protocol==="https:"?443:80)),n.headers=this.getHeaders(t.headers),n.protocol==="https:"?i=sf.request(n):i=of.request(n),this.getLength(function(s,a){if(s&&s!=="Unknown stream"){this._error(s);return}if(a&&i.setHeader("Content-Length",a),this.pipe(i),e){var r,p=function(l,c){return i.removeListener("error",p),i.removeListener("response",r),e.call(this,l,c)};r=p.bind(this,null),i.on("error",p),i.on("response",r)}}.bind(this)),i};N.prototype._error=function(t){this.error||(this.error=t,this.pause(),this.emit("error",t))};N.prototype.toString=function(){return"[object FormData]"};uf(N,"FormData");Yr.exports=N});var hc=T(fc=>{"use strict";var Af=require("url").parse,Of={ftp:21,gopher:70,http:80,https:443,ws:80,wss:443},If=String.prototype.endsWith||function(t){return t.length<=this.length&&this.indexOf(t,this.length-t.length)!==-1};function _f(t){var e=typeof t=="string"?Af(t):t||{},i=e.protocol,n=e.host,o=e.port;if(typeof n!="string"||!n||typeof i!="string"||(i=i.split(":",1)[0],n=n.replace(/:\d*$/,""),o=parseInt(o)||Of[i]||0,!$f(n,o)))return"";var s=St("npm_config_"+i+"_proxy")||St(i+"_proxy")||St("npm_config_proxy")||St("all_proxy");return s&&s.indexOf("://")===-1&&(s=i+"://"+s),s}function $f(t,e){var i=(St("npm_config_no_proxy")||St("no_proxy")).toLowerCase();return i?i==="*"?!1:i.split(/[,\s]/).every(function(n){if(!n)return!0;var o=n.match(/^(.+):(\d+)$/),s=o?o[1]:n,a=o?parseInt(o[2]):0;return a&&a!==e?!0:/^[.*]/.test(s)?(s.charAt(0)==="*"&&(s=s.slice(1)),!If.call(t,s)):t!==s}):!0}function St(t){return process.env[t.toLowerCase()]||process.env[t.toUpperCase()]||""}fc.getProxyForUrl=_f});var xc=T((cb,gc)=>{var Et=1e3,Tt=Et*60,kt=Tt*60,Ge=kt*24,Ff=Ge*7,Nf=Ge*365.25;gc.exports=function(t,e){e=e||{};var i=typeof t;if(i==="string"&&t.length>0)return jf(t);if(i==="number"&&isFinite(t))return e.long?Bf(t):Uf(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function jf(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var i=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return i*Nf;case"weeks":case"week":case"w":return i*Ff;case"days":case"day":case"d":return i*Ge;case"hours":case"hour":case"hrs":case"hr":case"h":return i*kt;case"minutes":case"minute":case"mins":case"min":case"m":return i*Tt;case"seconds":case"second":case"secs":case"sec":case"s":return i*Et;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return i;default:return}}}}function Uf(t){var e=Math.abs(t);return e>=Ge?Math.round(t/Ge)+"d":e>=kt?Math.round(t/kt)+"h":e>=Tt?Math.round(t/Tt)+"m":e>=Et?Math.round(t/Et)+"s":t+"ms"}function Bf(t){var e=Math.abs(t);return e>=Ge?Di(t,e,Ge,"day"):e>=kt?Di(t,e,kt,"hour"):e>=Tt?Di(t,e,Tt,"minute"):e>=Et?Di(t,e,Et,"second"):t+" ms"}function Di(t,e,i,n){var o=e>=i*1.5;return Math.round(t/i)+" "+n+(o?"s":"")}});var co=T((pb,vc)=>{function Lf(t){i.debug=i,i.default=i,i.coerce=p,i.disable=a,i.enable=o,i.enabled=r,i.humanize=xc(),i.destroy=l,Object.keys(t).forEach(c=>{i[c]=t[c]}),i.names=[],i.skips=[],i.formatters={};function e(c){let d=0;for(let f=0;f<c.length;f++)d=(d<<5)-d+c.charCodeAt(f),d|=0;return i.colors[Math.abs(d)%i.colors.length]}i.selectColor=e;function i(c){let d,f=null,S,m;function h(...y){if(!h.enabled)return;let P=h,F=Number(new Date),O=F-(d||F);P.diff=O,P.prev=d,P.curr=F,d=F,y[0]=i.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let q=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(Y,ae)=>{if(Y==="%%")return"%";q++;let le=i.formatters[ae];if(typeof le=="function"){let Ce=y[q];Y=le.call(P,Ce),y.splice(q,1),q--}return Y}),i.formatArgs.call(P,y),(P.log||i.log).apply(P,y)}return h.namespace=c,h.useColors=i.useColors(),h.color=i.selectColor(c),h.extend=n,h.destroy=i.destroy,Object.defineProperty(h,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(S!==i.namespaces&&(S=i.namespaces,m=i.enabled(c)),m),set:y=>{f=y}}),typeof i.init=="function"&&i.init(h),h}function n(c,d){let f=i(this.namespace+(typeof d>"u"?":":d)+c);return f.log=this.log,f}function o(c){i.save(c),i.namespaces=c,i.names=[],i.skips=[];let d=(typeof c=="string"?c:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let f of d)f[0]==="-"?i.skips.push(f.slice(1)):i.names.push(f)}function s(c,d){let f=0,S=0,m=-1,h=0;for(;f<c.length;)if(S<d.length&&(d[S]===c[f]||d[S]==="*"))d[S]==="*"?(m=S,h=f,S++):(f++,S++);else if(m!==-1)S=m+1,h++,f=h;else return!1;for(;S<d.length&&d[S]==="*";)S++;return S===d.length}function a(){let c=[...i.names,...i.skips.map(d=>"-"+d)].join(",");return i.enable(""),c}function r(c){for(let d of i.skips)if(s(c,d))return!1;for(let d of i.names)if(s(c,d))return!0;return!1}function p(c){return c instanceof Error?c.stack||c.message:c}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return i.enable(i.load()),i}vc.exports=Lf});var bc=T((oe,Mi)=>{oe.formatArgs=Df;oe.save=Mf;oe.load=zf;oe.useColors=qf;oe.storage=Jf();oe.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();oe.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function qf(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Df(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Mi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let i=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(i++,o==="%c"&&(n=i))}),t.splice(n,0,e)}oe.log=console.debug||console.log||(()=>{});function Mf(t){try{t?oe.storage.setItem("debug",t):oe.storage.removeItem("debug")}catch{}}function zf(){let t;try{t=oe.storage.getItem("debug")||oe.storage.getItem("DEBUG")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Jf(){try{return localStorage}catch{}}Mi.exports=co()(oe);var{formatters:Hf}=Mi.exports;Hf.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var wc=T((lb,yc)=>{"use strict";yc.exports=(t,e=process.argv)=>{let i=t.startsWith("-")?"":t.length===1?"-":"--",n=e.indexOf(i+t),o=e.indexOf("--");return n!==-1&&(o===-1||n<o)}});var Tc=T((ub,Ec)=>{"use strict";var Vf=require("os"),Sc=require("tty"),me=wc(),{env:G}=process,Be;me("no-color")||me("no-colors")||me("color=false")||me("color=never")?Be=0:(me("color")||me("colors")||me("color=true")||me("color=always"))&&(Be=1);"FORCE_COLOR"in G&&(G.FORCE_COLOR==="true"?Be=1:G.FORCE_COLOR==="false"?Be=0:Be=G.FORCE_COLOR.length===0?1:Math.min(parseInt(G.FORCE_COLOR,10),3));function po(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t>=3}}function lo(t,e){if(Be===0)return 0;if(me("color=16m")||me("color=full")||me("color=truecolor"))return 3;if(me("color=256"))return 2;if(t&&!e&&Be===void 0)return 0;let i=Be||0;if(G.TERM==="dumb")return i;if(process.platform==="win32"){let n=Vf.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in G)||G.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let n=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:i}function Wf(t){let e=lo(t,t&&t.isTTY);return po(e)}Ec.exports={supportsColor:Wf,stdout:po(lo(!0,Sc.isatty(1))),stderr:po(lo(!0,Sc.isatty(2)))}});var Cc=T((X,Ji)=>{var Gf=require("tty"),zi=require("util");X.init=th;X.log=Zf;X.formatArgs=Kf;X.save=Qf;X.load=eh;X.useColors=Xf;X.destroy=zi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");X.colors=[6,2,3,4,5,1];try{let t=Tc();t&&(t.stderr||t).level>=2&&(X.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}X.inspectOpts=Object.keys(process.env).filter(t=>/^debug_/i.test(t)).reduce((t,e)=>{let i=e.substring(6).toLowerCase().replace(/_([a-z])/g,(o,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),t[i]=n,t},{});function Xf(){return"colors"in X.inspectOpts?!!X.inspectOpts.colors:Gf.isatty(process.stderr.fd)}function Kf(t){let{namespace:e,useColors:i}=this;if(i){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${o};1m${e} \x1B[0m`;t[0]=s+t[0].split(`
4
+ `).join(`
5
+ `+s),t.push(o+"m+"+Ji.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Yf()+e+" "+t[0]}function Yf(){return X.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Zf(...t){return process.stderr.write(zi.formatWithOptions(X.inspectOpts,...t)+`
6
+ `)}function Qf(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function eh(){return process.env.DEBUG}function th(t){t.inspectOpts={};let e=Object.keys(X.inspectOpts);for(let i=0;i<e.length;i++)t.inspectOpts[e[i]]=X.inspectOpts[e[i]]}Ji.exports=co()(X);var{formatters:kc}=Ji.exports;kc.o=function(t){return this.inspectOpts.colors=this.useColors,zi.inspect(t,this.inspectOpts).split(`
7
+ `).map(e=>e.trim()).join(" ")};kc.O=function(t){return this.inspectOpts.colors=this.useColors,zi.inspect(t,this.inspectOpts)}});var Pc=T((db,uo)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?uo.exports=bc():uo.exports=Cc()});var Ac=T((mb,Rc)=>{var Xt;Rc.exports=function(){if(!Xt){try{Xt=Pc()("follow-redirects")}catch{}typeof Xt!="function"&&(Xt=function(){})}Xt.apply(null,arguments)}});var Fc=T((fb,To)=>{var Yt=require("url"),Kt=Yt.URL,ih=require("http"),nh=require("https"),xo=require("stream").Writable,vo=require("assert"),Oc=Ac();(function(){var e=typeof process<"u",i=typeof window<"u"&&typeof document<"u",n=Ke(Error.captureStackTrace);!e&&(i||!n)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var bo=!1;try{vo(new Kt(""))}catch(t){bo=t.code==="ERR_INVALID_URL"}var oh=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],yo=["abort","aborted","connect","error","socket","timeout"],wo=Object.create(null);yo.forEach(function(t){wo[t]=function(e,i,n){this._redirectable.emit(t,e,i,n)}});var fo=Zt("ERR_INVALID_URL","Invalid URL",TypeError),ho=Zt("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),sh=Zt("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",ho),ah=Zt("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),rh=Zt("ERR_STREAM_WRITE_AFTER_END","write after end"),ch=xo.prototype.destroy||_c;function se(t,e){xo.call(this),this._sanitizeOptions(t),this._options=t,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var i=this;this._onNativeResponse=function(n){try{i._processResponse(n)}catch(o){i.emit("error",o instanceof ho?o:new ho({cause:o}))}},this._performRequest()}se.prototype=Object.create(xo.prototype);se.prototype.abort=function(){Eo(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};se.prototype.destroy=function(t){return Eo(this._currentRequest,t),ch.call(this,t),this};se.prototype.write=function(t,e,i){if(this._ending)throw new rh;if(!Xe(t)&&!uh(t))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Ke(e)&&(i=e,e=null),t.length===0){i&&i();return}this._requestBodyLength+t.length<=this._options.maxBodyLength?(this._requestBodyLength+=t.length,this._requestBodyBuffers.push({data:t,encoding:e}),this._currentRequest.write(t,e,i)):(this.emit("error",new ah),this.abort())};se.prototype.end=function(t,e,i){if(Ke(t)?(i=t,t=e=null):Ke(e)&&(i=e,e=null),!t)this._ended=this._ending=!0,this._currentRequest.end(null,null,i);else{var n=this,o=this._currentRequest;this.write(t,e,function(){n._ended=!0,o.end(null,null,i)}),this._ending=!0}};se.prototype.setHeader=function(t,e){this._options.headers[t]=e,this._currentRequest.setHeader(t,e)};se.prototype.removeHeader=function(t){delete this._options.headers[t],this._currentRequest.removeHeader(t)};se.prototype.setTimeout=function(t,e){var i=this;function n(a){a.setTimeout(t),a.removeListener("timeout",a.destroy),a.addListener("timeout",a.destroy)}function o(a){i._timeout&&clearTimeout(i._timeout),i._timeout=setTimeout(function(){i.emit("timeout"),s()},t),n(a)}function s(){i._timeout&&(clearTimeout(i._timeout),i._timeout=null),i.removeListener("abort",s),i.removeListener("error",s),i.removeListener("response",s),i.removeListener("close",s),e&&i.removeListener("timeout",e),i.socket||i._currentRequest.removeListener("socket",o)}return e&&this.on("timeout",e),this.socket?o(this.socket):this._currentRequest.once("socket",o),this.on("socket",n),this.on("abort",s),this.on("error",s),this.on("response",s),this.on("close",s),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(t){se.prototype[t]=function(e,i){return this._currentRequest[t](e,i)}});["aborted","connection","socket"].forEach(function(t){Object.defineProperty(se.prototype,t,{get:function(){return this._currentRequest[t]}})});se.prototype._sanitizeOptions=function(t){if(t.headers||(t.headers={}),t.host&&(t.hostname||(t.hostname=t.host),delete t.host),!t.pathname&&t.path){var e=t.path.indexOf("?");e<0?t.pathname=t.path:(t.pathname=t.path.substring(0,e),t.search=t.path.substring(e))}};se.prototype._performRequest=function(){var t=this._options.protocol,e=this._options.nativeProtocols[t];if(!e)throw new TypeError("Unsupported protocol "+t);if(this._options.agents){var i=t.slice(0,-1);this._options.agent=this._options.agents[i]}var n=this._currentRequest=e.request(this._options,this._onNativeResponse);n._redirectable=this;for(var o of yo)n.on(o,wo[o]);if(this._currentUrl=/^\//.test(this._options.path)?Yt.format(this._options):this._options.path,this._isRedirect){var s=0,a=this,r=this._requestBodyBuffers;(function p(l){if(n===a._currentRequest)if(l)a.emit("error",l);else if(s<r.length){var c=r[s++];n.finished||n.write(c.data,c.encoding,p)}else a._ended&&n.end()})()}};se.prototype._processResponse=function(t){var e=t.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:t.headers,statusCode:e});var i=t.headers.location;if(!i||this._options.followRedirects===!1||e<300||e>=400){t.responseUrl=this._currentUrl,t.redirects=this._redirects,this.emit("response",t),this._requestBodyBuffers=[];return}if(Eo(this._currentRequest),t.destroy(),++this._redirectCount>this._options.maxRedirects)throw new sh;var n,o=this._options.beforeRedirect;o&&(n=Object.assign({Host:t.req.getHeader("host")},this._options.headers));var s=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],mo(/^content-/i,this._options.headers));var a=mo(/^host$/i,this._options.headers),r=So(this._currentUrl),p=a||r.host,l=/^\w+:/.test(i)?this._currentUrl:Yt.format(Object.assign(r,{host:p})),c=ph(i,l);if(Oc("redirecting to",c.href),this._isRedirect=!0,go(c,this._options),(c.protocol!==r.protocol&&c.protocol!=="https:"||c.host!==p&&!lh(c.host,p))&&mo(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Ke(o)){var d={headers:t.headers,statusCode:e},f={url:l,method:s,headers:n};o(this._options,d,f),this._sanitizeOptions(this._options)}this._performRequest()};function Ic(t){var e={maxRedirects:21,maxBodyLength:10485760},i={};return Object.keys(t).forEach(function(n){var o=n+":",s=i[o]=t[n],a=e[n]=Object.create(s);function r(l,c,d){return dh(l)?l=go(l):Xe(l)?l=go(So(l)):(d=c,c=$c(l),l={protocol:o}),Ke(c)&&(d=c,c=null),c=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,c),c.nativeProtocols=i,!Xe(c.host)&&!Xe(c.hostname)&&(c.hostname="::1"),vo.equal(c.protocol,o,"protocol mismatch"),Oc("options",c),new se(c,d)}function p(l,c,d){var f=a.request(l,c,d);return f.end(),f}Object.defineProperties(a,{request:{value:r,configurable:!0,enumerable:!0,writable:!0},get:{value:p,configurable:!0,enumerable:!0,writable:!0}})}),e}function _c(){}function So(t){var e;if(bo)e=new Kt(t);else if(e=$c(Yt.parse(t)),!Xe(e.protocol))throw new fo({input:t});return e}function ph(t,e){return bo?new Kt(t,e):So(Yt.resolve(e,t))}function $c(t){if(/^\[/.test(t.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(t.hostname))throw new fo({input:t.href||t});if(/^\[/.test(t.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(t.host))throw new fo({input:t.href||t});return t}function go(t,e){var i=e||{};for(var n of oh)i[n]=t[n];return i.hostname.startsWith("[")&&(i.hostname=i.hostname.slice(1,-1)),i.port!==""&&(i.port=Number(i.port)),i.path=i.search?i.pathname+i.search:i.pathname,i}function mo(t,e){var i;for(var n in e)t.test(n)&&(i=e[n],delete e[n]);return i===null||typeof i>"u"?void 0:String(i).trim()}function Zt(t,e,i){function n(o){Ke(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,o||{}),this.code=t,this.message=this.cause?e+": "+this.cause.message:e}return n.prototype=new(i||Error),Object.defineProperties(n.prototype,{constructor:{value:n,enumerable:!1},name:{value:"Error ["+t+"]",enumerable:!1}}),n}function Eo(t,e){for(var i of yo)t.removeListener(i,wo[i]);t.on("error",_c),t.destroy(e)}function lh(t,e){vo(Xe(t)&&Xe(e));var i=t.length-e.length-1;return i>0&&t[i]==="."&&t.endsWith(e)}function Xe(t){return typeof t=="string"||t instanceof String}function Ke(t){return typeof t=="function"}function uh(t){return typeof t=="object"&&"length"in t}function dh(t){return Kt&&t instanceof Kt}To.exports=Ic({http:ih,https:nh});To.exports.wrap=Ic});var du=require("commander");var un=require("commander");var zp=require("child_process"),Jp=C(require("net")),he=C(require("fs")),Hp=C(require("path"));var Es=C(require("os")),lt=C(require("path")),wu=process.env.MOBITRU_CLI_HOME||lt.default.join(Es.default.homedir(),".mobitru-cli"),Fe=lt.default.join(wu,"mobile"),de=process.platform==="win32"?String.raw`\\.\pipe\mobitru-cli-mobile-daemon`:lt.default.join(Fe,"daemon.sock"),yn=lt.default.join(Fe,"daemon.lock"),wn=lt.default.join(Fe,"daemon.log");var ln=require("commander");var js=C(require("fastify")),Oe=C(require("fs")),Us=C(require("path"));var wi=C(require("fs"));var Ts=C(require("os")),Sn=C(require("path")),Su=process.env.MOBITRU_CLI_HOME||Sn.default.join(Ts.default.homedir(),".mobitru-cli"),ut=Sn.default.join(Su,"config.json"),ks="1.0.0-beta.0";var Me=class extends Error{constructor(){super(["Mobitru credentials not configured.","","Set environment variables:"," DEVICE_FARM_BASE_URL"," DEVICE_FARM_BROWSER_HUB_BASE_URL"," DEVICE_FARM_API_KEY"," DEVICE_FARM_SLUG",' DEVICE_FARM_WID (optional, default "0")',"",`Or create ${ut} with shape:`," {",' "baseUrl": "app.mobitru.com",',' "browserHubBaseUrl": "https://browserhub-us.mobitru.com",',' "apiKey": "...",',' "slug": "...",',' "wid": "0"'," }"].join(`
8
+ `)),this.name="MissingCredentialsError"}};function Pe(t){return typeof t=="string"&&t.length>0}function Eu(){let t=process.env.DEVICE_FARM_BASE_URL,e=process.env.DEVICE_FARM_BROWSER_HUB_BASE_URL,i=process.env.DEVICE_FARM_API_KEY,n=process.env.DEVICE_FARM_SLUG,o=process.env.DEVICE_FARM_WID||"0";return Pe(t)&&Pe(e)&&Pe(i)&&Pe(n)?{baseUrl:t,browserHubBaseUrl:e,apiKey:i,slug:n,wid:o}:null}function Tu(t){if(process.platform!=="win32")try{wi.default.statSync(t).mode&63&&process.stderr.write(`warn: ${t} is readable by other users. Run: chmod 600 ${t}
9
+ `)}catch{}}function ku(){if(!wi.default.existsSync(ut))return null;Tu(ut);let t=wi.default.readFileSync(ut,"utf8"),e=JSON.parse(t);return Pe(e.baseUrl)&&Pe(e.browserHubBaseUrl)&&Pe(e.apiKey)&&Pe(e.slug)?{config:{baseUrl:e.baseUrl,browserHubBaseUrl:e.browserHubBaseUrl,apiKey:e.apiKey,slug:e.slug,wid:Pe(e.wid)?e.wid:"0"},path:ut}:null}function En(){let t=Eu();if(t)return{config:t,source:"env"};let e=ku();if(e)return{config:e.config,source:"file",path:e.path};throw new Me}function Cu(t){return`****${t.slice(-4)}`}function Cs(){let t=En();return{source:t.source,...t.path?{path:t.path}:{},config:{baseUrl:t.config.baseUrl,browserHubBaseUrl:t.config.browserHubBaseUrl,apiKey:Cu(t.config.apiKey),slug:t.config.slug,wid:t.config.wid}}}var I=class extends Error{constructor(i,n){super(i);this.statusCode=n;this.name="CloudApiError"}};var Tn=["up","down","left","right"];function Ps(t){return Tn.includes(t)}var kn=["HOME","BACK","VOLUME_UP","VOLUME_DOWN","ENTER","DPAD_CENTER","DPAD_UP","DPAD_DOWN","DPAD_LEFT","DPAD_RIGHT"];function Rs(t){return kn.includes(t)}var H=class extends Error{constructor(e){super(e)}},Cn=["portrait","landscape"];function As(t){return Cn.includes(t)}var Si=class{busy=!1;tryAcquire(){return this.busy?!1:(this.busy=!0,!0)}release(){this.busy=!1}};var Ei=require("child_process"),re=C(require("fs")),Re=C(require("path")),Is=require("util");var Se=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async findDevice(e){let{platform:i,type:n,manufacturer:o,model:s,version:a,web:r,owner:p,dc:l}=e,c=new URLSearchParams;n&&c.append("type",n),o&&c.append("manufacturer",o),s&&c.append("model",s),a&&c.append("version",a),r&&c.append("web",r),p&&c.append("owner",p),l&&c.append("dc",l);let d=c.toString()?`?${c.toString()}`:"",f=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${i}${d}`,S=await fetch(f,{method:"GET",headers:this.headers});if(!S.ok)throw new I(`Failed to find device: ${S.status} ${S.statusText}`,S.status);return await S.json()}async getDeviceInfo(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}`,n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok)throw new I(`Failed to get device info: ${n.status} ${n.statusText}`,n.status);return await n.json()}async takeDeviceBySerial(e,i=180){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}?duration=${i}`,o=await fetch(n,{method:"POST",headers:this.headers,body:"{}"});if(!o.ok)throw new I(`Failed to take device: ${o.status} ${o.statusText}`,o.status);return await o.json()}async takeDeviceByCapabilities(e,i=30){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device`,o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify({duration:i,desiredCapabilities:e})});if(!o.ok)throw new I(`Failed to take device: ${o.status} ${o.statusText}`,o.status);return await o.json()}async releaseDevice(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}`,n=await fetch(i,{method:"DELETE",headers:this.headers});if(!n.ok)throw new I(`Failed to release device: ${n.status} ${n.statusText}`,n.status);return await n.json()}};var Pu=(0,Is.promisify)(Ei.execFile);function Ae(t){return t.status==="running"}var Ru=1200*1e3,_s=5e3,$s=process.env.MOBILE_CLI_WEBDRIVERIO_VERSION||"9.27.1",Fs=process.env.MOBILE_CLI_MOCHA_VERSION||"11.7.5",Au=6e4,Ne=Re.default.join(Fe,"appium-runtime"),Ou="spec.js",Iu=process.platform==="win32"?"npm.cmd":"npm",_u=process.platform==="win32"?"npx.cmd":"npx";function $u(t){let e=new Date(t),i=n=>String(n).padStart(2,"0");return`${e.getFullYear()}-${i(e.getMonth()+1)}-${i(e.getDate())}T${i(e.getHours())}-${i(e.getMinutes())}-${i(e.getSeconds())}`}function Fu(t){return t.replace(/[^A-Za-z0-9_-]/g,"_")}function Nu(t,e,i){return Re.default.join(t,"appium-runs",`${$u(i)}_${Fu(e)}.log`)}function Os(t){try{let e=Re.default.join(Ne,"node_modules",t,"package.json");return JSON.parse(re.default.readFileSync(e,"utf8")).version}catch{return null}}function ju(){return Os("webdriverio")===$s&&Os("mocha")===Fs}async function Uu(){try{await Pu(Iu,["install","--loglevel=error","--no-audit","--no-fund",`webdriverio@${$s}`,`mocha@${Fs}`],{cwd:Ne,maxBuffer:10*1024*1024})}catch(t){let e=t,i=`${e.stdout??""}${e.stderr??""}`.trim();throw new Error(`npm install exited ${e.code}${i?`
10
+ ${i.slice(-2048)}`:""}`)}}async function Bu(){re.default.mkdirSync(Ne,{recursive:!0}),!ju()&&(re.default.rmSync(Re.default.join(Ne,"node_modules"),{recursive:!0,force:!0}),re.default.rmSync(Re.default.join(Ne,"package-lock.json"),{force:!0}),re.default.rmSync(Re.default.join(Ne,"package.json"),{force:!0}),await Uu())}function Lu(t){let e=Buffer.from(`${t.slug}:${t.apiKey}`).toString("base64");return`
11
+ const { remote } = require("webdriverio");
12
+ const assert = require("assert");
13
+
14
+ // Orphan watchdog \u2014 exit if the daemon dies. EPERM = alive-but-signal-restricted.
15
+ setInterval(() => {
16
+ try { process.kill(${process.pid}, 0); }
17
+ catch (e) {
18
+ if (e && e.code === "EPERM") return;
19
+ process.exit(2);
20
+ }
21
+ }, 5000).unref();
22
+
23
+ let driver;
24
+
25
+ before(async function () {
26
+ this.timeout(120000);
27
+ const options = {
28
+ protocol: "https",
29
+ hostname: ${JSON.stringify(t.appiumHost)},
30
+ port: 443,
31
+ path: "/wd/hub",
32
+ capabilities: ${JSON.stringify(t.capabilities)},
33
+ headers: { "Authorization": "Basic ${e}" }
34
+ };
35
+ driver = await remote(options);
36
+ });
37
+
38
+ after(async () => {
39
+ if (driver) {
40
+ try { await driver.deleteSession(); } catch (e) { /* best-effort */ }
41
+ }
42
+ });
43
+
44
+ ${t.userScript}
45
+ `}async function qu(t,e,i){let n=await new Se(t).getDeviceInfo(e),o=n.desiredCapabilities?.platformName??n.platform,s=n.desiredCapabilities?.automationName??(o.toLowerCase().includes("ios")?"XCUITest":"UiAutomator2"),a={"appium:platformName":o,"appium:udid":e,"appium:automationName":s,"mobitru:keepDevice":!0,"mobitru:appiumVersion":"2"};return t.wid&&t.wid!=="0"&&(a["mobitru:wid"]=t.wid),{...a,...i??{}}}async function Ns(t){if(!re.default.existsSync(t.scriptPath))throw new Error(`script not found: ${t.scriptPath}`);let e=re.default.readFileSync(t.scriptPath,"utf8");await Bu();let i=await qu(t.deviceFarm,t.serial,t.capabilities),n=Lu({appiumHost:t.deviceFarm.baseUrl,slug:t.deviceFarm.slug,apiKey:t.deviceFarm.apiKey,capabilities:i,userScript:e}),o=Re.default.join(Ne,Ou);re.default.writeFileSync(o,n);let s=Date.now(),a=Nu(t.artifactDir,t.serial,s);re.default.mkdirSync(Re.default.dirname(a),{recursive:!0});let r=re.default.openSync(a,"w"),p=t.timeoutMs??Ru,l=(0,Ei.spawn)(_u,["--no-install","mocha",o,"--timeout",String(Au)],{cwd:Ne,stdio:["ignore",r,r],env:{...process.env}}),c={scriptPath:t.scriptPath,serial:t.serial,status:"running",startedAt:s,logPath:a,child:l},d=!1,f=null,S=setTimeout(()=>{Ae(c)&&(d=!0,l.kill("SIGTERM"),f=setTimeout(()=>l.kill("SIGKILL"),_s))},p);return l.on("exit",(m,h)=>{try{re.default.closeSync(r)}catch{}try{re.default.unlinkSync(o)}catch{}clearTimeout(S),f&&clearTimeout(f),c.durationMs=Date.now()-c.startedAt,m!==null&&(c.exitCode=m),Ae(c)&&(d?c.status="timed-out":c.cancelRequested||h==="SIGTERM"||h==="SIGKILL"?c.status="cancelled":m===0?c.status="succeeded":c.status="failed")}),c}function dt(t){return Ae(t)?(t.cancelRequested=!0,new Promise(e=>{let i=setTimeout(()=>{Ae(t)&&t.child.kill("SIGKILL")},_s);t.child.once("exit",()=>{clearTimeout(i),e()}),t.child.kill("SIGTERM")})):Promise.resolve()}function ze(t){return{scriptPath:t.scriptPath,serial:t.serial,status:t.status,startedAt:t.startedAt,durationMs:Ae(t)?Date.now()-t.startedAt:t.durationMs,exitCode:t.exitCode,logPath:t.logPath}}function Du(){let t=process.env.MOBITRU_CLI_DAEMON_LOG_LEVEL;return t?(Oe.default.mkdirSync(Us.default.dirname(wn),{recursive:!0}),{level:t,stream:Oe.default.createWriteStream(wn,{flags:"a"})}):!1}async function Bs(t,e){process.stderr.on("error",()=>{}),process.stdout.on("error",()=>{}),process.on("uncaughtException",s=>{if(s.code!=="EPIPE")throw s}),process.env.APPIUM_REQUEST_TIMEOUT_MS||(process.env.APPIUM_REQUEST_TIMEOUT_MS="60000");let i;try{i=En().config}catch(s){throw s instanceof Me&&(process.stderr.write(`${s.message}
46
+ `),process.exit(1)),s}Oe.default.existsSync(Fe)||Oe.default.mkdirSync(Fe,{recursive:!0}),process.platform!=="win32"&&Oe.default.existsSync(t)&&Oe.default.unlinkSync(t);let n=(0,js.default)({logger:Du()});n.decorate("deviceFarm",i),n.decorate("state",{activeDevice:null,sessionType:"native",robot:null,snapshotRefs:null,recordingActive:!1,currentJob:null}),n.decorate("commandLock",new Si),n.log.info({socketPath:t,pid:process.pid},"daemon starting");let o=new Set(["/stop","/status"]);n.addHook("onRequest",async(s,a)=>{if(!o.has(s.url)){if(!n.commandLock.tryAcquire()){a.code(429),await a.send({error:"another command is in flight; CLI calls must be sequential"});return}s.holdsLock=!0}}),n.addHook("onResponse",async s=>{s.holdsLock&&n.commandLock.release()}),e(n),n.addHook("onClose",async s=>{s.state.currentJob&&await dt(s.state.currentJob),process.platform!=="win32"&&Oe.default.existsSync(t)&&Oe.default.unlinkSync(t)}),n.setErrorHandler((s,a,r)=>{let p=s instanceof I||s.statusCode&&s.statusCode<500;r.code(p?s.statusCode:502).send({error:s.message})}),process.on("SIGTERM",async()=>{await n.close(),process.exit(0)}),process.on("SIGINT",async()=>{await n.close(),process.exit(0)}),await n.listen({path:t}),process.stdout.write(`ready
47
+ `)}var Ls=C(require("http"));function x(t,e,i,n){return new Promise((o,s)=>{let a=Ls.default.request({socketPath:t,method:e,path:i,headers:n?{"Content-Type":"application/json"}:{}},r=>{let p=[];r.on("data",l=>p.push(l)),r.on("end",()=>{let l=Buffer.concat(p).toString("utf8");if(r.statusCode&&r.statusCode>=400){let c=l||"daemon request failed";try{let d=JSON.parse(l);d&&typeof d.error=="string"&&(c=d.error)}catch{}s(new Error(c));return}try{o(JSON.parse(l))}catch{o(l)}})});a.on("error",s),n&&a.write(JSON.stringify(n)),a.end()})}function Ut(t,e){return function(){return t.apply(e,arguments)}}var{toString:Mu}=Object.prototype,{getPrototypeOf:An}=Object,{iterator:ki,toStringTag:Ds}=Symbol,Ci=(t=>e=>{let i=Mu.call(e);return t[i]||(t[i]=i.slice(8,-1).toLowerCase())})(Object.create(null)),xe=t=>(t=t.toLowerCase(),e=>Ci(e)===t),Pi=t=>e=>typeof e===t,{isArray:mt}=Array,Bt=Pi("undefined");function Lt(t){return t!==null&&!Bt(t)&&t.constructor!==null&&!Bt(t.constructor)&&ie(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}var Ms=xe("ArrayBuffer");function zu(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&Ms(t.buffer),e}var Ju=Pi("string"),ie=Pi("function"),zs=Pi("number"),qt=t=>t!==null&&typeof t=="object",Hu=t=>t===!0||t===!1,Ti=t=>{if(Ci(t)!=="object")return!1;let e=An(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(Ds in t)&&!(ki in t)},Vu=t=>{if(!qt(t)||Lt(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Wu=xe("Date"),Gu=xe("File"),Xu=xe("Blob"),Ku=xe("FileList"),Yu=t=>qt(t)&&ie(t.pipe),Zu=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||ie(t.append)&&((e=Ci(t))==="formdata"||e==="object"&&ie(t.toString)&&t.toString()==="[object FormData]"))},Qu=xe("URLSearchParams"),[ed,td,id,nd]=["ReadableStream","Request","Response","Headers"].map(xe),od=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Dt(t,e,{allOwnKeys:i=!1}={}){if(t===null||typeof t>"u")return;let n,o;if(typeof t!="object"&&(t=[t]),mt(t))for(n=0,o=t.length;n<o;n++)e.call(null,t[n],n,t);else{if(Lt(t))return;let s=i?Object.getOwnPropertyNames(t):Object.keys(t),a=s.length,r;for(n=0;n<a;n++)r=s[n],e.call(null,t[r],r,t)}}function Js(t,e){if(Lt(t))return null;e=e.toLowerCase();let i=Object.keys(t),n=i.length,o;for(;n-- >0;)if(o=i[n],e===o.toLowerCase())return o;return null}var Je=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Hs=t=>!Bt(t)&&t!==Je;function Rn(){let{caseless:t}=Hs(this)&&this||{},e={},i=(n,o)=>{let s=t&&Js(e,o)||o;Ti(e[s])&&Ti(n)?e[s]=Rn(e[s],n):Ti(n)?e[s]=Rn({},n):mt(n)?e[s]=n.slice():e[s]=n};for(let n=0,o=arguments.length;n<o;n++)arguments[n]&&Dt(arguments[n],i);return e}var sd=(t,e,i,{allOwnKeys:n}={})=>(Dt(e,(o,s)=>{i&&ie(o)?t[s]=Ut(o,i):t[s]=o},{allOwnKeys:n}),t),ad=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),rd=(t,e,i,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),i&&Object.assign(t.prototype,i)},cd=(t,e,i,n)=>{let o,s,a,r={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),s=o.length;s-- >0;)a=o[s],(!n||n(a,t,e))&&!r[a]&&(e[a]=t[a],r[a]=!0);t=i!==!1&&An(t)}while(t&&(!i||i(t,e))&&t!==Object.prototype);return e},pd=(t,e,i)=>{t=String(t),(i===void 0||i>t.length)&&(i=t.length),i-=e.length;let n=t.indexOf(e,i);return n!==-1&&n===i},ld=t=>{if(!t)return null;if(mt(t))return t;let e=t.length;if(!zs(e))return null;let i=new Array(e);for(;e-- >0;)i[e]=t[e];return i},ud=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&An(Uint8Array)),dd=(t,e)=>{let n=(t&&t[ki]).call(t),o;for(;(o=n.next())&&!o.done;){let s=o.value;e.call(t,s[0],s[1])}},md=(t,e)=>{let i,n=[];for(;(i=t.exec(e))!==null;)n.push(i);return n},fd=xe("HTMLFormElement"),hd=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(i,n,o){return n.toUpperCase()+o}),qs=(({hasOwnProperty:t})=>(e,i)=>t.call(e,i))(Object.prototype),gd=xe("RegExp"),Vs=(t,e)=>{let i=Object.getOwnPropertyDescriptors(t),n={};Dt(i,(o,s)=>{let a;(a=e(o,s,t))!==!1&&(n[s]=a||o)}),Object.defineProperties(t,n)},xd=t=>{Vs(t,(e,i)=>{if(ie(t)&&["arguments","caller","callee"].indexOf(i)!==-1)return!1;let n=t[i];if(ie(n)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+i+"'")})}})},vd=(t,e)=>{let i={},n=o=>{o.forEach(s=>{i[s]=!0})};return mt(t)?n(t):n(String(t).split(e)),i},bd=()=>{},yd=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function wd(t){return!!(t&&ie(t.append)&&t[Ds]==="FormData"&&t[ki])}var Sd=t=>{let e=new Array(10),i=(n,o)=>{if(qt(n)){if(e.indexOf(n)>=0)return;if(Lt(n))return n;if(!("toJSON"in n)){e[o]=n;let s=mt(n)?[]:{};return Dt(n,(a,r)=>{let p=i(a,o+1);!Bt(p)&&(s[r]=p)}),e[o]=void 0,s}}return n};return i(t,0)},Ed=xe("AsyncFunction"),Td=t=>t&&(qt(t)||ie(t))&&ie(t.then)&&ie(t.catch),Ws=((t,e)=>t?setImmediate:e?((i,n)=>(Je.addEventListener("message",({source:o,data:s})=>{o===Je&&s===i&&n.length&&n.shift()()},!1),o=>{n.push(o),Je.postMessage(i,"*")}))(`axios@${Math.random()}`,[]):i=>setTimeout(i))(typeof setImmediate=="function",ie(Je.postMessage)),kd=typeof queueMicrotask<"u"?queueMicrotask.bind(Je):typeof process<"u"&&process.nextTick||Ws,Cd=t=>t!=null&&ie(t[ki]),u={isArray:mt,isArrayBuffer:Ms,isBuffer:Lt,isFormData:Zu,isArrayBufferView:zu,isString:Ju,isNumber:zs,isBoolean:Hu,isObject:qt,isPlainObject:Ti,isEmptyObject:Vu,isReadableStream:ed,isRequest:td,isResponse:id,isHeaders:nd,isUndefined:Bt,isDate:Wu,isFile:Gu,isBlob:Xu,isRegExp:gd,isFunction:ie,isStream:Yu,isURLSearchParams:Qu,isTypedArray:ud,isFileList:Ku,forEach:Dt,merge:Rn,extend:sd,trim:od,stripBOM:ad,inherits:rd,toFlatObject:cd,kindOf:Ci,kindOfTest:xe,endsWith:pd,toArray:ld,forEachEntry:dd,matchAll:md,isHTMLForm:fd,hasOwnProperty:qs,hasOwnProp:qs,reduceDescriptors:Vs,freezeMethods:xd,toObjectSet:vd,toCamelCase:hd,noop:bd,toFiniteNumber:yd,findKey:Js,global:Je,isContextDefined:Hs,isSpecCompliantForm:wd,toJSONObject:Sd,isAsyncFn:Ed,isThenable:Td,setImmediate:Ws,asap:kd,isIterable:Cd};function ft(t,e,i,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),i&&(this.config=i),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}u.inherits(ft,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:u.toJSONObject(this.config),code:this.code,status:this.status}}});var Gs=ft.prototype,Xs={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{Xs[t]={value:t}});Object.defineProperties(ft,Xs);Object.defineProperty(Gs,"isAxiosError",{value:!0});ft.from=(t,e,i,n,o,s)=>{let a=Object.create(Gs);return u.toFlatObject(t,a,function(p){return p!==Error.prototype},r=>r!=="isAxiosError"),ft.call(a,t.message,e,i,n,o),a.cause=t,a.name=t.name,s&&Object.assign(a,s),a};var w=ft;var Zr=C(Xn(),1),Bi=Zr.default;function Kn(t){return u.isPlainObject(t)||u.isArray(t)}function ec(t){return u.endsWith(t,"[]")?t.slice(0,-2):t}function Qr(t,e,i){return t?t.concat(e).map(function(o,s){return o=ec(o),!i&&s?"["+o+"]":o}).join(i?".":""):e}function df(t){return u.isArray(t)&&!t.some(Kn)}var mf=u.toFlatObject(u,{},null,function(e){return/^is[A-Z]/.test(e)});function ff(t,e,i){if(!u.isObject(t))throw new TypeError("target must be an object");e=e||new(Bi||FormData),i=u.toFlatObject(i,{metaTokens:!0,dots:!1,indexes:!1},!1,function(h,y){return!u.isUndefined(y[h])});let n=i.metaTokens,o=i.visitor||c,s=i.dots,a=i.indexes,p=(i.Blob||typeof Blob<"u"&&Blob)&&u.isSpecCompliantForm(e);if(!u.isFunction(o))throw new TypeError("visitor must be a function");function l(m){if(m===null)return"";if(u.isDate(m))return m.toISOString();if(u.isBoolean(m))return m.toString();if(!p&&u.isBlob(m))throw new w("Blob is not supported. Use a Buffer instead.");return u.isArrayBuffer(m)||u.isTypedArray(m)?p&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function c(m,h,y){let P=m;if(m&&!y&&typeof m=="object"){if(u.endsWith(h,"{}"))h=n?h:h.slice(0,-2),m=JSON.stringify(m);else if(u.isArray(m)&&df(m)||(u.isFileList(m)||u.endsWith(h,"[]"))&&(P=u.toArray(m)))return h=ec(h),P.forEach(function(O,q){!(u.isUndefined(O)||O===null)&&e.append(a===!0?Qr([h],q,s):a===null?h:h+"[]",l(O))}),!1}return Kn(m)?!0:(e.append(Qr(y,h,s),l(m)),!1)}let d=[],f=Object.assign(mf,{defaultVisitor:c,convertValue:l,isVisitable:Kn});function S(m,h){if(!u.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+h.join("."));d.push(m),u.forEach(m,function(P,F){(!(u.isUndefined(P)||P===null)&&o.call(e,P,u.isString(F)?F.trim():F,h,f))===!0&&S(P,h?h.concat(F):[F])}),d.pop()}}if(!u.isObject(t))throw new TypeError("data must be an object");return S(t),e}var Ue=ff;function tc(t){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(n){return e[n]})}function ic(t,e){this._pairs=[],t&&Ue(t,this,e)}var nc=ic.prototype;nc.append=function(e,i){this._pairs.push([e,i])};nc.toString=function(e){let i=e?function(n){return e.call(this,n,tc)}:tc;return this._pairs.map(function(o){return i(o[0])+"="+i(o[1])},"").join("&")};var oc=ic;function hf(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ve(t,e,i){if(!e)return t;let n=i&&i.encode||hf;u.isFunction(i)&&(i={serialize:i});let o=i&&i.serialize,s;if(o?s=o(e,i):s=u.isURLSearchParams(e)?e.toString():new oc(e,i).toString(n),s){let a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+s}return t}var Yn=class{constructor(){this.handlers=[]}use(e,i,n){return this.handlers.push({fulfilled:e,rejected:i,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){u.forEach(this.handlers,function(n){n!==null&&e(n)})}},Zn=Yn;var bt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1};var cc=C(require("crypto"),1);var sc=C(require("url"),1),ac=sc.default.URLSearchParams;var Qn="abcdefghijklmnopqrstuvwxyz",rc="0123456789",pc={DIGIT:rc,ALPHA:Qn,ALPHA_DIGIT:Qn+Qn.toUpperCase()+rc},gf=(t=16,e=pc.ALPHA_DIGIT)=>{let i="",{length:n}=e,o=new Uint32Array(t);cc.default.randomFillSync(o);for(let s=0;s<t;s++)i+=e[o[s]%n];return i},lc={isNode:!0,classes:{URLSearchParams:ac,FormData:Bi,Blob:typeof Blob<"u"&&Blob||null},ALPHABET:pc,generateString:gf,protocols:["http","https","file","data"]};var io={};bu(io,{hasBrowserEnv:()=>to,hasStandardBrowserEnv:()=>xf,hasStandardBrowserWebWorkerEnv:()=>vf,navigator:()=>eo,origin:()=>bf});var to=typeof window<"u"&&typeof document<"u",eo=typeof navigator=="object"&&navigator||void 0,xf=to&&(!eo||["ReactNative","NativeScript","NS"].indexOf(eo.product)<0),vf=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",bf=to&&window.location.href||"http://localhost";var j={...io,...lc};function no(t,e){return Ue(t,new j.classes.URLSearchParams,{visitor:function(i,n,o,s){return j.isNode&&u.isBuffer(i)?(this.append(n,i.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)},...e})}function yf(t){return u.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function wf(t){let e={},i=Object.keys(t),n,o=i.length,s;for(n=0;n<o;n++)s=i[n],e[s]=t[s];return e}function Sf(t){function e(i,n,o,s){let a=i[s++];if(a==="__proto__")return!0;let r=Number.isFinite(+a),p=s>=i.length;return a=!a&&u.isArray(o)?o.length:a,p?(u.hasOwnProp(o,a)?o[a]=[o[a],n]:o[a]=n,!r):((!o[a]||!u.isObject(o[a]))&&(o[a]=[]),e(i,n,o[a],s)&&u.isArray(o[a])&&(o[a]=wf(o[a])),!r)}if(u.isFormData(t)&&u.isFunction(t.entries)){let i={};return u.forEachEntry(t,(n,o)=>{e(yf(n),o,i,0)}),i}return null}var Li=Sf;function Ef(t,e,i){if(u.isString(t))try{return(e||JSON.parse)(t),u.trim(t)}catch(n){if(n.name!=="SyntaxError")throw n}return(i||JSON.stringify)(t)}var oo={transitional:bt,adapter:["xhr","http","fetch"],transformRequest:[function(e,i){let n=i.getContentType()||"",o=n.indexOf("application/json")>-1,s=u.isObject(e);if(s&&u.isHTMLForm(e)&&(e=new FormData(e)),u.isFormData(e))return o?JSON.stringify(Li(e)):e;if(u.isArrayBuffer(e)||u.isBuffer(e)||u.isStream(e)||u.isFile(e)||u.isBlob(e)||u.isReadableStream(e))return e;if(u.isArrayBufferView(e))return e.buffer;if(u.isURLSearchParams(e))return i.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let r;if(s){if(n.indexOf("application/x-www-form-urlencoded")>-1)return no(e,this.formSerializer).toString();if((r=u.isFileList(e))||n.indexOf("multipart/form-data")>-1){let p=this.env&&this.env.FormData;return Ue(r?{"files[]":e}:e,p&&new p,this.formSerializer)}}return s||o?(i.setContentType("application/json",!1),Ef(e)):e}],transformResponse:[function(e){let i=this.transitional||oo.transitional,n=i&&i.forcedJSONParsing,o=this.responseType==="json";if(u.isResponse(e)||u.isReadableStream(e))return e;if(e&&u.isString(e)&&(n&&!this.responseType||o)){let a=!(i&&i.silentJSONParsing)&&o;try{return JSON.parse(e)}catch(r){if(a)throw r.name==="SyntaxError"?w.from(r,w.ERR_BAD_RESPONSE,this,null,this.response):r}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:j.classes.FormData,Blob:j.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};u.forEach(["delete","get","head","post","put","patch"],t=>{oo.headers[t]={}});var yt=oo;var Tf=u.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),uc=t=>{let e={},i,n,o;return t&&t.split(`
48
+ `).forEach(function(a){o=a.indexOf(":"),i=a.substring(0,o).trim().toLowerCase(),n=a.substring(o+1).trim(),!(!i||e[i]&&Tf[i])&&(i==="set-cookie"?e[i]?e[i].push(n):e[i]=[n]:e[i]=e[i]?e[i]+", "+n:n)}),e};var dc=Symbol("internals");function Vt(t){return t&&String(t).trim().toLowerCase()}function qi(t){return t===!1||t==null?t:u.isArray(t)?t.map(qi):String(t)}function kf(t){let e=Object.create(null),i=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,n;for(;n=i.exec(t);)e[n[1]]=n[2];return e}var Cf=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function so(t,e,i,n,o){if(u.isFunction(n))return n.call(this,e,i);if(o&&(e=i),!!u.isString(e)){if(u.isString(n))return e.indexOf(n)!==-1;if(u.isRegExp(n))return n.test(e)}}function Pf(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,i,n)=>i.toUpperCase()+n)}function Rf(t,e){let i=u.toCamelCase(" "+e);["get","set","has"].forEach(n=>{Object.defineProperty(t,n+i,{value:function(o,s,a){return this[n].call(this,e,o,s,a)},configurable:!0})})}var wt=class{constructor(e){e&&this.set(e)}set(e,i,n){let o=this;function s(r,p,l){let c=Vt(p);if(!c)throw new Error("header name must be a non-empty string");let d=u.findKey(o,c);(!d||o[d]===void 0||l===!0||l===void 0&&o[d]!==!1)&&(o[d||p]=qi(r))}let a=(r,p)=>u.forEach(r,(l,c)=>s(l,c,p));if(u.isPlainObject(e)||e instanceof this.constructor)a(e,i);else if(u.isString(e)&&(e=e.trim())&&!Cf(e))a(uc(e),i);else if(u.isObject(e)&&u.isIterable(e)){let r={},p,l;for(let c of e){if(!u.isArray(c))throw TypeError("Object iterator must return a key-value pair");r[l=c[0]]=(p=r[l])?u.isArray(p)?[...p,c[1]]:[p,c[1]]:c[1]}a(r,i)}else e!=null&&s(i,e,n);return this}get(e,i){if(e=Vt(e),e){let n=u.findKey(this,e);if(n){let o=this[n];if(!i)return o;if(i===!0)return kf(o);if(u.isFunction(i))return i.call(this,o,n);if(u.isRegExp(i))return i.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,i){if(e=Vt(e),e){let n=u.findKey(this,e);return!!(n&&this[n]!==void 0&&(!i||so(this,this[n],n,i)))}return!1}delete(e,i){let n=this,o=!1;function s(a){if(a=Vt(a),a){let r=u.findKey(n,a);r&&(!i||so(n,n[r],r,i))&&(delete n[r],o=!0)}}return u.isArray(e)?e.forEach(s):s(e),o}clear(e){let i=Object.keys(this),n=i.length,o=!1;for(;n--;){let s=i[n];(!e||so(this,this[s],s,e,!0))&&(delete this[s],o=!0)}return o}normalize(e){let i=this,n={};return u.forEach(this,(o,s)=>{let a=u.findKey(n,s);if(a){i[a]=qi(o),delete i[s];return}let r=e?Pf(s):String(s).trim();r!==s&&delete i[s],i[r]=qi(o),n[r]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let i=Object.create(null);return u.forEach(this,(n,o)=>{n!=null&&n!==!1&&(i[o]=e&&u.isArray(n)?n.join(", "):n)}),i}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,i])=>e+": "+i).join(`
49
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...i){let n=new this(e);return i.forEach(o=>n.set(o)),n}static accessor(e){let n=(this[dc]=this[dc]={accessors:{}}).accessors,o=this.prototype;function s(a){let r=Vt(a);n[r]||(Rf(o,a),n[r]=!0)}return u.isArray(e)?e.forEach(s):s(e),this}};wt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);u.reduceDescriptors(wt.prototype,({value:t},e)=>{let i=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(n){this[i]=n}}});u.freezeMethods(wt);var D=wt;function Wt(t,e){let i=this||yt,n=e||i,o=D.from(n.headers),s=n.data;return u.forEach(t,function(r){s=r.call(i,s,o.normalize(),e?e.status:void 0)}),o.normalize(),s}function Gt(t){return!!(t&&t.__CANCEL__)}function mc(t,e,i){w.call(this,t??"canceled",w.ERR_CANCELED,e,i),this.name="CanceledError"}u.inherits(mc,w,{__CANCEL__:!0});var ce=mc;function Ee(t,e,i){let n=i.config.validateStatus;!i.status||!n||n(i.status)?t(i):e(new w("Request failed with status code "+i.status,[w.ERR_BAD_REQUEST,w.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))}function ao(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function ro(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function We(t,e,i){let n=!ao(e);return t&&(n||i==!1)?ro(t,e):e}var Kc=C(hc(),1),Yc=C(require("http"),1),Zc=C(require("https"),1),Qc=C(require("util"),1),ep=C(Fc(),1),_e=C(require("zlib"),1);var Ye="1.11.0";function Qt(t){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}var mh=/^(?:([^;]+);)?(?:[^;]+;)?(base64|),([\s\S]*)$/;function ko(t,e,i){let n=i&&i.Blob||j.classes.Blob,o=Qt(t);if(e===void 0&&n&&(e=!0),o==="data"){t=o.length?t.slice(o.length+1):t;let s=mh.exec(t);if(!s)throw new w("Invalid URL",w.ERR_INVALID_URL);let a=s[1],r=s[2],p=s[3],l=Buffer.from(decodeURIComponent(p),r?"base64":"utf8");if(e){if(!n)throw new w("Blob is not supported",w.ERR_NOT_SUPPORT);return new n([l],{type:a})}return l}throw new w("Unsupported protocol "+o,w.ERR_NOT_SUPPORT)}var Qe=C(require("stream"),1);var Nc=C(require("stream"),1);var Co=Symbol("internals"),Po=class extends Nc.default.Transform{constructor(e){e=u.toFlatObject(e,{maxRate:0,chunkSize:64*1024,minChunkSize:100,timeWindow:500,ticksRate:2,samplesCount:15},null,(n,o)=>!u.isUndefined(o[n])),super({readableHighWaterMark:e.chunkSize});let i=this[Co]={timeWindow:e.timeWindow,chunkSize:e.chunkSize,maxRate:e.maxRate,minChunkSize:e.minChunkSize,bytesSeen:0,isCaptured:!1,notifiedBytesLoaded:0,ts:Date.now(),bytes:0,onReadCallback:null};this.on("newListener",n=>{n==="progress"&&(i.isCaptured||(i.isCaptured=!0))})}_read(e){let i=this[Co];return i.onReadCallback&&i.onReadCallback(),super._read(e)}_transform(e,i,n){let o=this[Co],s=o.maxRate,a=this.readableHighWaterMark,r=o.timeWindow,p=1e3/r,l=s/p,c=o.minChunkSize!==!1?Math.max(o.minChunkSize,l*.01):0,d=(S,m)=>{let h=Buffer.byteLength(S);o.bytesSeen+=h,o.bytes+=h,o.isCaptured&&this.emit("progress",o.bytesSeen),this.push(S)?process.nextTick(m):o.onReadCallback=()=>{o.onReadCallback=null,process.nextTick(m)}},f=(S,m)=>{let h=Buffer.byteLength(S),y=null,P=a,F,O=0;if(s){let q=Date.now();(!o.ts||(O=q-o.ts)>=r)&&(o.ts=q,F=l-o.bytes,o.bytes=F<0?-F:0,O=0),F=l-o.bytes}if(s){if(F<=0)return setTimeout(()=>{m(null,S)},r-O);F<P&&(P=F)}P&&h>P&&h-P>c&&(y=S.subarray(P),S=S.subarray(0,P)),d(S,y?()=>{process.nextTick(m,null,y)}:m)};f(e,function S(m,h){if(m)return n(m);h?f(h,S):n(null)})}},Ro=Po;var tp=require("events");var Uc=C(require("util"),1),Bc=require("stream");var{asyncIterator:jc}=Symbol,fh=async function*(t){t.stream?yield*t.stream():t.arrayBuffer?yield await t.arrayBuffer():t[jc]?yield*t[jc]():yield t},Hi=fh;var hh=j.ALPHABET.ALPHA_DIGIT+"-_",ei=typeof TextEncoder=="function"?new TextEncoder:new Uc.default.TextEncoder,Ze=`\r
50
+ `,gh=ei.encode(Ze),xh=2,Ao=class{constructor(e,i){let{escapeName:n}=this.constructor,o=u.isString(i),s=`Content-Disposition: form-data; name="${n(e)}"${!o&&i.name?`; filename="${n(i.name)}"`:""}${Ze}`;o?i=ei.encode(String(i).replace(/\r?\n|\r\n?/g,Ze)):s+=`Content-Type: ${i.type||"application/octet-stream"}${Ze}`,this.headers=ei.encode(s+Ze),this.contentLength=o?i.byteLength:i.size,this.size=this.headers.byteLength+this.contentLength+xh,this.name=e,this.value=i}async*encode(){yield this.headers;let{value:e}=this;u.isTypedArray(e)?yield e:yield*Hi(e),yield gh}static escapeName(e){return String(e).replace(/[\r\n"]/g,i=>({"\r":"%0D","\n":"%0A",'"':"%22"})[i])}},vh=(t,e,i)=>{let{tag:n="form-data-boundary",size:o=25,boundary:s=n+"-"+j.generateString(o,hh)}=i||{};if(!u.isFormData(t))throw TypeError("FormData instance required");if(s.length<1||s.length>70)throw Error("boundary must be 10-70 characters long");let a=ei.encode("--"+s+Ze),r=ei.encode("--"+s+"--"+Ze),p=r.byteLength,l=Array.from(t.entries()).map(([d,f])=>{let S=new Ao(d,f);return p+=S.size,S});p+=a.byteLength*l.length,p=u.toFiniteNumber(p);let c={"Content-Type":`multipart/form-data; boundary=${s}`};return Number.isFinite(p)&&(c["Content-Length"]=p),e&&e(c),Bc.Readable.from((async function*(){for(let d of l)yield a,yield*d.encode();yield r})())},Lc=vh;var qc=C(require("stream"),1),Oo=class extends qc.default.Transform{__transform(e,i,n){this.push(e),n()}_transform(e,i,n){if(e.length!==0&&(this._transform=this.__transform,e[0]!==120)){let o=Buffer.alloc(2);o[0]=120,o[1]=156,this.push(o,i)}this.__transform(e,i,n)}},Dc=Oo;var bh=(t,e)=>u.isAsyncFn(t)?function(...i){let n=i.pop();t.apply(this,i).then(o=>{try{e?n(null,...e(o)):n(null,o)}catch(s){n(s)}},n)}:t,Mc=bh;function yh(t,e){t=t||10;let i=new Array(t),n=new Array(t),o=0,s=0,a;return e=e!==void 0?e:1e3,function(p){let l=Date.now(),c=n[s];a||(a=l),i[o]=p,n[o]=l;let d=s,f=0;for(;d!==o;)f+=i[d++],d=d%t;if(o=(o+1)%t,o===s&&(s=(s+1)%t),l-a<e)return;let S=c&&l-c;return S?Math.round(f*1e3/S):void 0}}var zc=yh;function wh(t,e){let i=0,n=1e3/e,o,s,a=(l,c=Date.now())=>{i=c,o=null,s&&(clearTimeout(s),s=null),t(...l)};return[(...l)=>{let c=Date.now(),d=c-i;d>=n?a(l,c):(o=l,s||(s=setTimeout(()=>{s=null,a(o)},n-d)))},()=>o&&a(o)]}var Jc=wh;var Ie=(t,e,i=3)=>{let n=0,o=zc(50,250);return Jc(s=>{let a=s.loaded,r=s.lengthComputable?s.total:void 0,p=a-n,l=o(p),c=a<=r;n=a;let d={loaded:a,total:r,progress:r?a/r:void 0,bytes:p,rate:l||void 0,estimated:l&&r&&c?(r-a)/l:void 0,event:s,lengthComputable:r!=null,[e?"download":"upload"]:!0};t(d)},i)},Ct=(t,e)=>{let i=t!=null;return[n=>e[0]({lengthComputable:i,total:t,loaded:n}),e[1]]},Pt=t=>(...e)=>u.asap(()=>t(...e));var Hc={flush:_e.default.constants.Z_SYNC_FLUSH,finishFlush:_e.default.constants.Z_SYNC_FLUSH},Sh={flush:_e.default.constants.BROTLI_OPERATION_FLUSH,finishFlush:_e.default.constants.BROTLI_OPERATION_FLUSH},Vc=u.isFunction(_e.default.createBrotliDecompress),{http:Eh,https:Th}=ep.default,kh=/https:?/,Wc=j.protocols.map(t=>t+":"),Gc=(t,[e,i])=>(t.on("end",i).on("error",i),e);function Ch(t,e){t.beforeRedirects.proxy&&t.beforeRedirects.proxy(t),t.beforeRedirects.config&&t.beforeRedirects.config(t,e)}function ip(t,e,i){let n=e;if(!n&&n!==!1){let o=Kc.default.getProxyForUrl(i);o&&(n=new URL(o))}if(n){if(n.username&&(n.auth=(n.username||"")+":"+(n.password||"")),n.auth){(n.auth.username||n.auth.password)&&(n.auth=(n.auth.username||"")+":"+(n.auth.password||""));let s=Buffer.from(n.auth,"utf8").toString("base64");t.headers["Proxy-Authorization"]="Basic "+s}t.headers.host=t.hostname+(t.port?":"+t.port:"");let o=n.hostname||n.host;t.hostname=o,t.host=o,t.port=n.port,t.path=i,n.protocol&&(t.protocol=n.protocol.includes(":")?n.protocol:`${n.protocol}:`)}t.beforeRedirects.proxy=function(s){ip(s,e,s.href)}}var Ph=typeof process<"u"&&u.kindOf(process)==="process",Rh=t=>new Promise((e,i)=>{let n,o,s=(p,l)=>{o||(o=!0,n&&n(p,l))},a=p=>{s(p),e(p)},r=p=>{s(p,!0),i(p)};t(a,r,p=>n=p).catch(r)}),Ah=({address:t,family:e})=>{if(!u.isString(t))throw TypeError("address must be a string");return{address:t,family:e||(t.indexOf(".")<0?6:4)}},Xc=(t,e)=>Ah(u.isObject(t)?t:{address:t,family:e}),np=Ph&&function(e){return Rh(async function(n,o,s){let{data:a,lookup:r,family:p}=e,{responseType:l,responseEncoding:c}=e,d=e.method.toUpperCase(),f,S=!1,m;if(r){let A=Mc(r,R=>u.isArray(R)?R:[R]);r=(R,Z,De)=>{A(R,Z,(K,$e,xn)=>{if(K)return De(K);let we=u.isArray($e)?$e.map(ue=>Xc(ue)):[Xc($e,xn)];Z.all?De(K,we):De(K,we[0].address,we[0].family)})}}let h=new tp.EventEmitter,y=()=>{e.cancelToken&&e.cancelToken.unsubscribe(P),e.signal&&e.signal.removeEventListener("abort",P),h.removeAllListeners()};s((A,R)=>{f=!0,R&&(S=!0,y())});function P(A){h.emit("abort",!A||A.type?new ce(null,e,m):A)}h.once("abort",o),(e.cancelToken||e.signal)&&(e.cancelToken&&e.cancelToken.subscribe(P),e.signal&&(e.signal.aborted?P():e.signal.addEventListener("abort",P)));let F=We(e.baseURL,e.url,e.allowAbsoluteUrls),O=new URL(F,j.hasBrowserEnv?j.origin:void 0),q=O.protocol||Wc[0];if(q==="data:"){let A;if(d!=="GET")return Ee(n,o,{status:405,statusText:"method not allowed",headers:{},config:e});try{A=ko(e.url,l==="blob",{Blob:e.env&&e.env.Blob})}catch(R){throw w.from(R,w.ERR_BAD_REQUEST,e)}return l==="text"?(A=A.toString(c),(!c||c==="utf8")&&(A=u.stripBOM(A))):l==="stream"&&(A=Qe.default.Readable.from(A)),Ee(n,o,{data:A,status:200,statusText:"OK",headers:new D,config:e})}if(Wc.indexOf(q)===-1)return o(new w("Unsupported protocol "+q,w.ERR_BAD_REQUEST,e));let U=D.from(e.headers).normalize();U.set("User-Agent","axios/"+Ye,!1);let{onUploadProgress:Y,onDownloadProgress:ae}=e,le=e.maxRate,Ce,bi;if(u.isSpecCompliantForm(a)){let A=U.getContentType(/boundary=([-_\w\d]{10,70})/i);a=Lc(a,R=>{U.set(R)},{tag:`axios-${Ye}-boundary`,boundary:A&&A[1]||void 0})}else if(u.isFormData(a)&&u.isFunction(a.getHeaders)){if(U.set(a.getHeaders()),!U.hasContentLength())try{let A=await Qc.default.promisify(a.getLength).call(a);Number.isFinite(A)&&A>=0&&U.setContentLength(A)}catch{}}else if(u.isBlob(a)||u.isFile(a))a.size&&U.setContentType(a.type||"application/octet-stream"),U.setContentLength(a.size||0),a=Qe.default.Readable.from(Hi(a));else if(a&&!u.isStream(a)){if(!Buffer.isBuffer(a))if(u.isArrayBuffer(a))a=Buffer.from(new Uint8Array(a));else if(u.isString(a))a=Buffer.from(a,"utf-8");else return o(new w("Data after transformation must be a string, an ArrayBuffer, a Buffer, or a Stream",w.ERR_BAD_REQUEST,e));if(U.setContentLength(a.length,!1),e.maxBodyLength>-1&&a.length>e.maxBodyLength)return o(new w("Request body larger than maxBodyLength limit",w.ERR_BAD_REQUEST,e))}let mu=u.toFiniteNumber(U.getContentLength());u.isArray(le)?(Ce=le[0],bi=le[1]):Ce=bi=le,a&&(Y||Ce)&&(u.isStream(a)||(a=Qe.default.Readable.from(a,{objectMode:!1})),a=Qe.default.pipeline([a,new Ro({maxRate:u.toFiniteNumber(Ce)})],u.noop),Y&&a.on("progress",Gc(a,Ct(mu,Ie(Pt(Y),!1,3)))));let jt;if(e.auth){let A=e.auth.username||"",R=e.auth.password||"";jt=A+":"+R}if(!jt&&O.username){let A=O.username,R=O.password;jt=A+":"+R}jt&&U.delete("authorization");let ws;try{ws=Ve(O.pathname+O.search,e.params,e.paramsSerializer).replace(/^\?/,"")}catch(A){let R=new Error(A.message);return R.config=e,R.url=e.url,R.exists=!0,o(R)}U.set("Accept-Encoding","gzip, compress, deflate"+(Vc?", br":""),!1);let te={path:ws,method:d,headers:U.toJSON(),agents:{http:e.httpAgent,https:e.httpsAgent},auth:jt,protocol:q,family:p,beforeRedirect:Ch,beforeRedirects:{}};!u.isUndefined(r)&&(te.lookup=r),e.socketPath?te.socketPath=e.socketPath:(te.hostname=O.hostname.startsWith("[")?O.hostname.slice(1,-1):O.hostname,te.port=O.port,ip(te,e.proxy,q+"//"+O.hostname+(O.port?":"+O.port:"")+te.path));let yi,gn=kh.test(te.protocol);if(te.agent=gn?e.httpsAgent:e.httpAgent,e.transport?yi=e.transport:e.maxRedirects===0?yi=gn?Zc.default:Yc.default:(e.maxRedirects&&(te.maxRedirects=e.maxRedirects),e.beforeRedirect&&(te.beforeRedirects.config=e.beforeRedirect),yi=gn?Th:Eh),e.maxBodyLength>-1?te.maxBodyLength=e.maxBodyLength:te.maxBodyLength=1/0,e.insecureHTTPParser&&(te.insecureHTTPParser=e.insecureHTTPParser),m=yi.request(te,function(R){if(m.destroyed)return;let Z=[R],De=+R.headers["content-length"];if(ae||bi){let ue=new Ro({maxRate:u.toFiniteNumber(bi)});ae&&ue.on("progress",Gc(ue,Ct(De,Ie(Pt(ae),!0,3)))),Z.push(ue)}let K=R,$e=R.req||m;if(e.decompress!==!1&&R.headers["content-encoding"])switch((d==="HEAD"||R.statusCode===204)&&delete R.headers["content-encoding"],(R.headers["content-encoding"]||"").toLowerCase()){case"gzip":case"x-gzip":case"compress":case"x-compress":Z.push(_e.default.createUnzip(Hc)),delete R.headers["content-encoding"];break;case"deflate":Z.push(new Dc),Z.push(_e.default.createUnzip(Hc)),delete R.headers["content-encoding"];break;case"br":Vc&&(Z.push(_e.default.createBrotliDecompress(Sh)),delete R.headers["content-encoding"])}K=Z.length>1?Qe.default.pipeline(Z,u.noop):Z[0];let xn=Qe.default.finished(K,()=>{xn(),y()}),we={status:R.statusCode,statusText:R.statusMessage,headers:new D(R.headers),config:e,request:$e};if(l==="stream")we.data=K,Ee(n,o,we);else{let ue=[],Ss=0;K.on("data",function(Q){ue.push(Q),Ss+=Q.length,e.maxContentLength>-1&&Ss>e.maxContentLength&&(S=!0,K.destroy(),o(new w("maxContentLength size of "+e.maxContentLength+" exceeded",w.ERR_BAD_RESPONSE,e,$e)))}),K.on("aborted",function(){if(S)return;let Q=new w("stream has been aborted",w.ERR_BAD_RESPONSE,e,$e);K.destroy(Q),o(Q)}),K.on("error",function(Q){m.destroyed||o(w.from(Q,null,e,$e))}),K.on("end",function(){try{let Q=ue.length===1?ue[0]:Buffer.concat(ue);l!=="arraybuffer"&&(Q=Q.toString(c),(!c||c==="utf8")&&(Q=u.stripBOM(Q))),we.data=Q}catch(Q){return o(w.from(Q,null,e,we.request,we))}Ee(n,o,we)})}h.once("abort",ue=>{K.destroyed||(K.emit("error",ue),K.destroy())})}),h.once("abort",A=>{o(A),m.destroy(A)}),m.on("error",function(R){o(w.from(R,null,e,m))}),m.on("socket",function(R){R.setKeepAlive(!0,1e3*60)}),e.timeout){let A=parseInt(e.timeout,10);if(Number.isNaN(A)){o(new w("error trying to parse `config.timeout` to int",w.ERR_BAD_OPTION_VALUE,e,m));return}m.setTimeout(A,function(){if(f)return;let Z=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded",De=e.transitional||bt;e.timeoutErrorMessage&&(Z=e.timeoutErrorMessage),o(new w(Z,De.clarifyTimeoutError?w.ETIMEDOUT:w.ECONNABORTED,e,m)),P()})}if(u.isStream(a)){let A=!1,R=!1;a.on("end",()=>{A=!0}),a.once("error",Z=>{R=!0,m.destroy(Z)}),a.on("close",()=>{!A&&!R&&P(new ce("Request stream has been aborted",e,m))}),a.pipe(m)}else m.end(a)})};var op=j.hasStandardBrowserEnv?((t,e)=>i=>(i=new URL(i,j.origin),t.protocol===i.protocol&&t.host===i.host&&(e||t.port===i.port)))(new URL(j.origin),j.navigator&&/(msie|trident)/i.test(j.navigator.userAgent)):()=>!0;var sp=j.hasStandardBrowserEnv?{write(t,e,i,n,o,s){let a=[t+"="+encodeURIComponent(e)];u.isNumber(i)&&a.push("expires="+new Date(i).toGMTString()),u.isString(n)&&a.push("path="+n),u.isString(o)&&a.push("domain="+o),s===!0&&a.push("secure"),document.cookie=a.join("; ")},read(t){let e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};var ap=t=>t instanceof D?{...t}:t;function be(t,e){e=e||{};let i={};function n(l,c,d,f){return u.isPlainObject(l)&&u.isPlainObject(c)?u.merge.call({caseless:f},l,c):u.isPlainObject(c)?u.merge({},c):u.isArray(c)?c.slice():c}function o(l,c,d,f){if(u.isUndefined(c)){if(!u.isUndefined(l))return n(void 0,l,d,f)}else return n(l,c,d,f)}function s(l,c){if(!u.isUndefined(c))return n(void 0,c)}function a(l,c){if(u.isUndefined(c)){if(!u.isUndefined(l))return n(void 0,l)}else return n(void 0,c)}function r(l,c,d){if(d in e)return n(l,c);if(d in t)return n(void 0,l)}let p={url:s,method:s,data:s,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:r,headers:(l,c,d)=>o(ap(l),ap(c),d,!0)};return u.forEach(Object.keys({...t,...e}),function(c){let d=p[c]||o,f=d(t[c],e[c],c);u.isUndefined(f)&&d!==r||(i[c]=f)}),i}var Vi=t=>{let e=be({},t),{data:i,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:s,headers:a,auth:r}=e;e.headers=a=D.from(a),e.url=Ve(We(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),r&&a.set("Authorization","Basic "+btoa((r.username||"")+":"+(r.password?unescape(encodeURIComponent(r.password)):"")));let p;if(u.isFormData(i)){if(j.hasStandardBrowserEnv||j.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((p=a.getContentType())!==!1){let[l,...c]=p?p.split(";").map(d=>d.trim()).filter(Boolean):[];a.setContentType([l||"multipart/form-data",...c].join("; "))}}if(j.hasStandardBrowserEnv&&(n&&u.isFunction(n)&&(n=n(e)),n||n!==!1&&op(e.url))){let l=o&&s&&sp.read(s);l&&a.set(o,l)}return e};var Oh=typeof XMLHttpRequest<"u",rp=Oh&&function(t){return new Promise(function(i,n){let o=Vi(t),s=o.data,a=D.from(o.headers).normalize(),{responseType:r,onUploadProgress:p,onDownloadProgress:l}=o,c,d,f,S,m;function h(){S&&S(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(c),o.signal&&o.signal.removeEventListener("abort",c)}let y=new XMLHttpRequest;y.open(o.method.toUpperCase(),o.url,!0),y.timeout=o.timeout;function P(){if(!y)return;let O=D.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),U={data:!r||r==="text"||r==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:O,config:t,request:y};Ee(function(ae){i(ae),h()},function(ae){n(ae),h()},U),y=null}"onloadend"in y?y.onloadend=P:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(P)},y.onabort=function(){y&&(n(new w("Request aborted",w.ECONNABORTED,t,y)),y=null)},y.onerror=function(){n(new w("Network Error",w.ERR_NETWORK,t,y)),y=null},y.ontimeout=function(){let q=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded",U=o.transitional||bt;o.timeoutErrorMessage&&(q=o.timeoutErrorMessage),n(new w(q,U.clarifyTimeoutError?w.ETIMEDOUT:w.ECONNABORTED,t,y)),y=null},s===void 0&&a.setContentType(null),"setRequestHeader"in y&&u.forEach(a.toJSON(),function(q,U){y.setRequestHeader(U,q)}),u.isUndefined(o.withCredentials)||(y.withCredentials=!!o.withCredentials),r&&r!=="json"&&(y.responseType=o.responseType),l&&([f,m]=Ie(l,!0),y.addEventListener("progress",f)),p&&y.upload&&([d,S]=Ie(p),y.upload.addEventListener("progress",d),y.upload.addEventListener("loadend",S)),(o.cancelToken||o.signal)&&(c=O=>{y&&(n(!O||O.type?new ce(null,t,y):O),y.abort(),y=null)},o.cancelToken&&o.cancelToken.subscribe(c),o.signal&&(o.signal.aborted?c():o.signal.addEventListener("abort",c)));let F=Qt(o.url);if(F&&j.protocols.indexOf(F)===-1){n(new w("Unsupported protocol "+F+":",w.ERR_BAD_REQUEST,t));return}y.send(s||null)})};var Ih=(t,e)=>{let{length:i}=t=t?t.filter(Boolean):[];if(e||i){let n=new AbortController,o,s=function(l){if(!o){o=!0,r();let c=l instanceof Error?l:this.reason;n.abort(c instanceof w?c:new ce(c instanceof Error?c.message:c))}},a=e&&setTimeout(()=>{a=null,s(new w(`timeout ${e} of ms exceeded`,w.ETIMEDOUT))},e),r=()=>{t&&(a&&clearTimeout(a),a=null,t.forEach(l=>{l.unsubscribe?l.unsubscribe(s):l.removeEventListener("abort",s)}),t=null)};t.forEach(l=>l.addEventListener("abort",s));let{signal:p}=n;return p.unsubscribe=()=>u.asap(r),p}},cp=Ih;var _h=function*(t,e){let i=t.byteLength;if(!e||i<e){yield t;return}let n=0,o;for(;n<i;)o=n+e,yield t.slice(n,o),n=o},$h=async function*(t,e){for await(let i of Fh(t))yield*_h(i,e)},Fh=async function*(t){if(t[Symbol.asyncIterator]){yield*t;return}let e=t.getReader();try{for(;;){let{done:i,value:n}=await e.read();if(i)break;yield n}}finally{await e.cancel()}},Io=(t,e,i,n)=>{let o=$h(t,e),s=0,a,r=p=>{a||(a=!0,n&&n(p))};return new ReadableStream({async pull(p){try{let{done:l,value:c}=await o.next();if(l){r(),p.close();return}let d=c.byteLength;if(i){let f=s+=d;i(f)}p.enqueue(new Uint8Array(c))}catch(l){throw r(l),l}},cancel(p){return r(p),o.return()}},{highWaterMark:2})};var Gi=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",lp=Gi&&typeof ReadableStream=="function",Nh=Gi&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),up=(t,...e)=>{try{return!!t(...e)}catch{return!1}},jh=lp&&up(()=>{let t=!1,e=new Request(j.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),pp=64*1024,_o=lp&&up(()=>u.isReadableStream(new Response("").body)),Wi={stream:_o&&(t=>t.body)};Gi&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Wi[e]&&(Wi[e]=u.isFunction(t[e])?i=>i[e]():(i,n)=>{throw new w(`Response type '${e}' is not supported`,w.ERR_NOT_SUPPORT,n)})})})(new Response);var Uh=async t=>{if(t==null)return 0;if(u.isBlob(t))return t.size;if(u.isSpecCompliantForm(t))return(await new Request(j.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(u.isArrayBufferView(t)||u.isArrayBuffer(t))return t.byteLength;if(u.isURLSearchParams(t)&&(t=t+""),u.isString(t))return(await Nh(t)).byteLength},Bh=async(t,e)=>{let i=u.toFiniteNumber(t.getContentLength());return i??Uh(e)},dp=Gi&&(async t=>{let{url:e,method:i,data:n,signal:o,cancelToken:s,timeout:a,onDownloadProgress:r,onUploadProgress:p,responseType:l,headers:c,withCredentials:d="same-origin",fetchOptions:f}=Vi(t);l=l?(l+"").toLowerCase():"text";let S=cp([o,s&&s.toAbortSignal()],a),m,h=S&&S.unsubscribe&&(()=>{S.unsubscribe()}),y;try{if(p&&jh&&i!=="get"&&i!=="head"&&(y=await Bh(c,n))!==0){let U=new Request(e,{method:"POST",body:n,duplex:"half"}),Y;if(u.isFormData(n)&&(Y=U.headers.get("content-type"))&&c.setContentType(Y),U.body){let[ae,le]=Ct(y,Ie(Pt(p)));n=Io(U.body,pp,ae,le)}}u.isString(d)||(d=d?"include":"omit");let P="credentials"in Request.prototype;m=new Request(e,{...f,signal:S,method:i.toUpperCase(),headers:c.normalize().toJSON(),body:n,duplex:"half",credentials:P?d:void 0});let F=await fetch(m,f),O=_o&&(l==="stream"||l==="response");if(_o&&(r||O&&h)){let U={};["status","statusText","headers"].forEach(Ce=>{U[Ce]=F[Ce]});let Y=u.toFiniteNumber(F.headers.get("content-length")),[ae,le]=r&&Ct(Y,Ie(Pt(r),!0))||[];F=new Response(Io(F.body,pp,ae,()=>{le&&le(),h&&h()}),U)}l=l||"text";let q=await Wi[u.findKey(Wi,l)||"text"](F,t);return!O&&h&&h(),await new Promise((U,Y)=>{Ee(U,Y,{data:q,headers:D.from(F.headers),status:F.status,statusText:F.statusText,config:t,request:m})})}catch(P){throw h&&h(),P&&P.name==="TypeError"&&/Load failed|fetch/i.test(P.message)?Object.assign(new w("Network Error",w.ERR_NETWORK,t,m),{cause:P.cause||P}):w.from(P,P&&P.code,t,m)}});var $o={http:np,xhr:rp,fetch:dp};u.forEach($o,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});var mp=t=>`- ${t}`,Lh=t=>u.isFunction(t)||t===null||t===!1,Xi={getAdapter:t=>{t=u.isArray(t)?t:[t];let{length:e}=t,i,n,o={};for(let s=0;s<e;s++){i=t[s];let a;if(n=i,!Lh(i)&&(n=$o[(a=String(i)).toLowerCase()],n===void 0))throw new w(`Unknown adapter '${a}'`);if(n)break;o[a||"#"+s]=n}if(!n){let s=Object.entries(o).map(([r,p])=>`adapter ${r} `+(p===!1?"is not supported by the environment":"is not available in the build")),a=e?s.length>1?`since :
51
+ `+s.map(mp).join(`
52
+ `):" "+mp(s[0]):"as no adapter specified";throw new w("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return n},adapters:$o};function Fo(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new ce(null,t)}function Ki(t){return Fo(t),t.headers=D.from(t.headers),t.data=Wt.call(t,t.transformRequest),["post","put","patch"].indexOf(t.method)!==-1&&t.headers.setContentType("application/x-www-form-urlencoded",!1),Xi.getAdapter(t.adapter||yt.adapter)(t).then(function(n){return Fo(t),n.data=Wt.call(t,t.transformResponse,n),n.headers=D.from(n.headers),n},function(n){return Gt(n)||(Fo(t),n&&n.response&&(n.response.data=Wt.call(t,t.transformResponse,n.response),n.response.headers=D.from(n.response.headers))),Promise.reject(n)})}var Yi={};["object","boolean","number","function","string","symbol"].forEach((t,e)=>{Yi[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}});var fp={};Yi.transitional=function(e,i,n){function o(s,a){return"[Axios v"+Ye+"] Transitional option '"+s+"'"+a+(n?". "+n:"")}return(s,a,r)=>{if(e===!1)throw new w(o(a," has been removed"+(i?" in "+i:"")),w.ERR_DEPRECATED);return i&&!fp[a]&&(fp[a]=!0,console.warn(o(a," has been deprecated since v"+i+" and will be removed in the near future"))),e?e(s,a,r):!0}};Yi.spelling=function(e){return(i,n)=>(console.warn(`${n} is likely a misspelling of ${e}`),!0)};function qh(t,e,i){if(typeof t!="object")throw new w("options must be an object",w.ERR_BAD_OPTION_VALUE);let n=Object.keys(t),o=n.length;for(;o-- >0;){let s=n[o],a=e[s];if(a){let r=t[s],p=r===void 0||a(r,s,t);if(p!==!0)throw new w("option "+s+" must be "+p,w.ERR_BAD_OPTION_VALUE);continue}if(i!==!0)throw new w("Unknown option "+s,w.ERR_BAD_OPTION)}}var ti={assertOptions:qh,validators:Yi};var Te=ti.validators,Rt=class{constructor(e){this.defaults=e||{},this.interceptors={request:new Zn,response:new Zn}}async request(e,i){try{return await this._request(e,i)}catch(n){if(n instanceof Error){let o={};Error.captureStackTrace?Error.captureStackTrace(o):o=new Error;let s=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?s&&!String(n.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(n.stack+=`
53
+ `+s):n.stack=s}catch{}}throw n}}_request(e,i){typeof e=="string"?(i=i||{},i.url=e):i=e||{},i=be(this.defaults,i);let{transitional:n,paramsSerializer:o,headers:s}=i;n!==void 0&&ti.assertOptions(n,{silentJSONParsing:Te.transitional(Te.boolean),forcedJSONParsing:Te.transitional(Te.boolean),clarifyTimeoutError:Te.transitional(Te.boolean)},!1),o!=null&&(u.isFunction(o)?i.paramsSerializer={serialize:o}:ti.assertOptions(o,{encode:Te.function,serialize:Te.function},!0)),i.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?i.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:i.allowAbsoluteUrls=!0),ti.assertOptions(i,{baseUrl:Te.spelling("baseURL"),withXsrfToken:Te.spelling("withXSRFToken")},!0),i.method=(i.method||this.defaults.method||"get").toLowerCase();let a=s&&u.merge(s.common,s[i.method]);s&&u.forEach(["delete","get","head","post","put","patch","common"],m=>{delete s[m]}),i.headers=D.concat(a,s);let r=[],p=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(i)===!1||(p=p&&h.synchronous,r.unshift(h.fulfilled,h.rejected))});let l=[];this.interceptors.response.forEach(function(h){l.push(h.fulfilled,h.rejected)});let c,d=0,f;if(!p){let m=[Ki.bind(this),void 0];for(m.unshift(...r),m.push(...l),f=m.length,c=Promise.resolve(i);d<f;)c=c.then(m[d++],m[d++]);return c}f=r.length;let S=i;for(d=0;d<f;){let m=r[d++],h=r[d++];try{S=m(S)}catch(y){h.call(this,y);break}}try{c=Ki.call(this,S)}catch(m){return Promise.reject(m)}for(d=0,f=l.length;d<f;)c=c.then(l[d++],l[d++]);return c}getUri(e){e=be(this.defaults,e);let i=We(e.baseURL,e.url,e.allowAbsoluteUrls);return Ve(i,e.params,e.paramsSerializer)}};u.forEach(["delete","get","head","options"],function(e){Rt.prototype[e]=function(i,n){return this.request(be(n||{},{method:e,url:i,data:(n||{}).data}))}});u.forEach(["post","put","patch"],function(e){function i(n){return function(s,a,r){return this.request(be(r||{},{method:e,headers:n?{"Content-Type":"multipart/form-data"}:{},url:s,data:a}))}}Rt.prototype[e]=i(),Rt.prototype[e+"Form"]=i(!0)});var ii=Rt;var No=class t{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let i;this.promise=new Promise(function(s){i=s});let n=this;this.promise.then(o=>{if(!n._listeners)return;let s=n._listeners.length;for(;s-- >0;)n._listeners[s](o);n._listeners=null}),this.promise.then=o=>{let s,a=new Promise(r=>{n.subscribe(r),s=r}).then(o);return a.cancel=function(){n.unsubscribe(s)},a},e(function(s,a,r){n.reason||(n.reason=new ce(s,a,r),i(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let i=this._listeners.indexOf(e);i!==-1&&this._listeners.splice(i,1)}toAbortSignal(){let e=new AbortController,i=n=>{e.abort(n)};return this.subscribe(i),e.signal.unsubscribe=()=>this.unsubscribe(i),e.signal}static source(){let e;return{token:new t(function(o){e=o}),cancel:e}}},hp=No;function jo(t){return function(i){return t.apply(null,i)}}function Uo(t){return u.isObject(t)&&t.isAxiosError===!0}var Bo={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bo).forEach(([t,e])=>{Bo[e]=t});var gp=Bo;function xp(t){let e=new ii(t),i=Ut(ii.prototype.request,e);return u.extend(i,ii.prototype,e,{allOwnKeys:!0}),u.extend(i,e,null,{allOwnKeys:!0}),i.create=function(o){return xp(be(t,o))},i}var J=xp(yt);J.Axios=ii;J.CanceledError=ce;J.CancelToken=hp;J.isCancel=Gt;J.VERSION=Ye;J.toFormData=Ue;J.AxiosError=w;J.Cancel=J.CanceledError;J.all=function(e){return Promise.all(e)};J.spread=jo;J.isAxiosError=Uo;J.mergeConfig=be;J.AxiosHeaders=D;J.formToJSON=t=>Li(u.isHTMLForm(t)?new FormData(t):t);J.getAdapter=Xi.getAdapter;J.HttpStatusCode=gp;J.default=J;var Zi=J;var{Axios:qw,AxiosError:Dw,CanceledError:Mw,isCancel:zw,CancelToken:Jw,VERSION:Hw,all:Vw,Cancel:Ww,isAxiosError:Gw,spread:Xw,toFormData:Kw,AxiosHeaders:Yw,HttpStatusCode:Zw,formToJSON:Qw,getAdapter:eS,mergeConfig:tS}=Zi;var Dh={validateStatus:()=>!0};function Lo(t={}){return Zi.create({...Dh,...t})}var B=Lo();function $(t,e,i){if(t.status!==e){let n=t.data,o=n?` - ${typeof n=="string"?n:JSON.stringify(n)}`:"";throw new I(`Failed to ${i}: ${t.status} ${t.statusText}${o}`,t.status)}}var vp=require("fs"),bp=t=>{if(process.env.LOG_FILE){let e=process.env.LOG_FILE,o=`[${new Date().toISOString()}] INFO ${t}`;(0,vp.appendFileSync)(e,o+`
54
+ `)}console.error(t)},k=t=>{bp(t)},g=t=>{bp(t)};var Qi=C(require("fs")),yp=C(require("path")),Le=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async startRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/recording`,n=await B.post(i,{},{headers:this.headers});return $(n,201,"start recording"),k(`Successfully started recording for device ${e}`),n.data}catch(i){throw g(`Error starting recording: ${i}`),i}}async stopRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/recording`,n=await B.delete(i,{headers:this.headers});return $(n,200,"stop recording"),k(`Successfully stopped recording for device ${e}`),n.data}catch(i){throw g(`Error stopping recording: ${i}`),i}}async downloadRecording(e,i){try{let n=`${this.baseUrl}${this.apiPath}/recording/${e}`,o=await B.get(n,{headers:{Authorization:`Bearer ${this.config.apiKey}`},responseType:"arraybuffer"});if($(o,200,"download recording"),i){let s=yp.default.dirname(i);return Qi.default.existsSync(s)||Qi.default.mkdirSync(s,{recursive:!0}),Qi.default.writeFileSync(i,o.data),k(`Successfully saved recording to ${i}`),i}else return k(`Successfully downloaded recording ${e}`),o.data}catch(n){throw g(`Error downloading recording: ${n}`),n}}};var At=["ios","android"];function en(t){return At.includes(t)}var v=class extends Error{constructor(i,n){super(i);this.statusCode=n;this.name="DaemonError"}};var Go=C(require("fs")),$p=C(require("path"));var _p=require("webdriverio");var wp=`
55
+ const getCssSelectorShort = (el) => {
56
+ const path = [];
57
+ let currentElement = el;
58
+
59
+ while (currentElement && currentElement.parentNode) {
60
+ const parent = currentElement.parentNode;
61
+ const tag = currentElement.tagName.toLowerCase();
62
+ const siblings = parent.children;
63
+
64
+ if (currentElement.id) {
65
+ path.unshift('#' + currentElement.id);
66
+ } else {
67
+ const siblingsWithSameTag = Array.from(siblings).filter(
68
+ sibling => sibling.tagName.toLowerCase() === tag
69
+ );
70
+
71
+ if (siblingsWithSameTag.length === 1) {
72
+ path.unshift(tag);
73
+ } else {
74
+ const index = Array.from(siblings).indexOf(currentElement) + 1;
75
+ path.unshift(tag + ':nth-child(' + index + ')');
76
+ }
77
+ }
78
+
79
+ currentElement = parent;
80
+ }
81
+
82
+ return path.join(' > ');
83
+ };
84
+
85
+ const hiddenTags = new Set(['head', 'meta', 'link', 'script', 'style', 'noscript', 'template']);
86
+ const results = [];
87
+ const elements = Array.from(document.querySelectorAll('*'));
88
+ const viewportWidth = window.innerWidth;
89
+ const viewportHeight = window.innerHeight;
90
+
91
+ for (const el of elements) {
92
+ const tag = el.tagName ? el.tagName.toLowerCase() : '';
93
+ if (!tag || hiddenTags.has(tag)) {
94
+ continue;
95
+ }
96
+
97
+ const rect = el.getBoundingClientRect();
98
+ if (!rect || rect.width <= 0 || rect.height <= 0) {
99
+ continue;
100
+ }
101
+
102
+ // Skip elements that are not in the viewport
103
+ if (rect.right <= 0 || rect.bottom <= 0 || rect.left >= viewportWidth || rect.top >= viewportHeight) {
104
+ continue;
105
+ }
106
+
107
+ const style = window.getComputedStyle(el);
108
+ if (!style || style.visibility === 'hidden' || style.display === 'none' || style.visibility === 'collapse' || parseFloat(style.opacity || '1') === 0) {
109
+ continue;
110
+ }
111
+
112
+ if (!el.isConnected) {
113
+ continue;
114
+ }
115
+
116
+ const textContent = (el.innerText || el.textContent || '').trim();
117
+ let labelText = el.getAttribute('aria-label') || el.getAttribute('title') || el.getAttribute('alt') || '';
118
+ labelText = labelText || el.getAttribute('name') || el.getAttribute('placeholder') || el.getAttribute('aria-labelledby') || '';
119
+ const labelledBy = el.getAttribute('aria-labelledby');
120
+ if (!labelText && labelledBy) {
121
+ labelText = labelledBy.split(' ')
122
+ .map(id => document.getElementById(id))
123
+ .filter(node => node)
124
+ .map(node => (node.innerText || node.textContent || '').trim())
125
+ .filter(Boolean)
126
+ .join(' ')
127
+ .trim();
128
+ }
129
+
130
+ const cssSelector = getCssSelectorShort(el);
131
+
132
+ results.push({
133
+ type: tag,
134
+ text: textContent,
135
+ label: labelText ? labelText : '',
136
+ cssSelector: cssSelector
137
+ });
138
+ }
139
+
140
+ return results;
141
+ `;var Sp=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",Mh=Sp+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",zh="["+Sp+"]["+Mh+"]*",Jh=new RegExp("^"+zh+"$");function tn(t,e){let i=[],n=e.exec(t);for(;n;){let o=[];o.startIndex=e.lastIndex-n[0].length;let s=n.length;for(let a=0;a<s;a++)o.push(n[a]);i.push(o),n=e.exec(t)}return i}var ni=function(t){let e=Jh.exec(t);return!(e===null||typeof e>"u")};function Ep(t){return typeof t<"u"}var Hh={allowBooleanAttributes:!1,unpairedTags:[]};function Rp(t,e){e=Object.assign({},Hh,e);let i=[],n=!1,o=!1;t[0]==="\uFEFF"&&(t=t.substr(1));for(let s=0;s<t.length;s++)if(t[s]==="<"&&t[s+1]==="?"){if(s+=2,s=kp(t,s),s.err)return s}else if(t[s]==="<"){let a=s;if(s++,t[s]==="!"){s=Cp(t,s);continue}else{let r=!1;t[s]==="/"&&(r=!0,s++);let p="";for(;s<t.length&&t[s]!==">"&&t[s]!==" "&&t[s]!==" "&&t[s]!==`
142
+ `&&t[s]!=="\r";s++)p+=t[s];if(p=p.trim(),p[p.length-1]==="/"&&(p=p.substring(0,p.length-1),s--),!Qh(p)){let d;return p.trim().length===0?d="Invalid space after '<'.":d="Tag '"+p+"' is an invalid name.",z("InvalidTag",d,ee(t,s))}let l=Gh(t,s);if(l===!1)return z("InvalidAttr","Attributes for '"+p+"' have open quote.",ee(t,s));let c=l.value;if(s=l.index,c[c.length-1]==="/"){let d=s-c.length;c=c.substring(0,c.length-1);let f=Pp(c,e);if(f===!0)n=!0;else return z(f.err.code,f.err.msg,ee(t,d+f.err.line))}else if(r)if(l.tagClosed){if(c.trim().length>0)return z("InvalidTag","Closing tag '"+p+"' can't have attributes or invalid starting.",ee(t,a));if(i.length===0)return z("InvalidTag","Closing tag '"+p+"' has not been opened.",ee(t,a));{let d=i.pop();if(p!==d.tagName){let f=ee(t,d.tagStartPos);return z("InvalidTag","Expected closing tag '"+d.tagName+"' (opened in line "+f.line+", col "+f.col+") instead of closing tag '"+p+"'.",ee(t,a))}i.length==0&&(o=!0)}}else return z("InvalidTag","Closing tag '"+p+"' doesn't have proper closing.",ee(t,s));else{let d=Pp(c,e);if(d!==!0)return z(d.err.code,d.err.msg,ee(t,s-c.length+d.err.line));if(o===!0)return z("InvalidXml","Multiple possible root nodes found.",ee(t,s));e.unpairedTags.indexOf(p)!==-1||i.push({tagName:p,tagStartPos:a}),n=!0}for(s++;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="!"){s++,s=Cp(t,s);continue}else if(t[s+1]==="?"){if(s=kp(t,++s),s.err)return s}else break;else if(t[s]==="&"){let d=Yh(t,s);if(d==-1)return z("InvalidChar","char '&' is not expected.",ee(t,s));s=d}else if(o===!0&&!Tp(t[s]))return z("InvalidXml","Extra text at the end",ee(t,s));t[s]==="<"&&s--}}else{if(Tp(t[s]))continue;return z("InvalidChar","char '"+t[s]+"' is not expected.",ee(t,s))}if(n){if(i.length==1)return z("InvalidTag","Unclosed tag '"+i[0].tagName+"'.",ee(t,i[0].tagStartPos));if(i.length>0)return z("InvalidXml","Invalid '"+JSON.stringify(i.map(s=>s.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return z("InvalidXml","Start tag expected.",1);return!0}function Tp(t){return t===" "||t===" "||t===`
143
+ `||t==="\r"}function kp(t,e){let i=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(i,e-i);if(e>5&&n==="xml")return z("InvalidXml","XML declaration allowed only at the start of the document.",ee(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Cp(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let i=1;for(e+=8;e<t.length;e++)if(t[e]==="<")i++;else if(t[e]===">"&&(i--,i===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var Vh='"',Wh="'";function Gh(t,e){let i="",n="",o=!1;for(;e<t.length;e++){if(t[e]===Vh||t[e]===Wh)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){o=!0;break}i+=t[e]}return n!==""?!1:{value:i,index:e,tagClosed:o}}var Xh=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Pp(t,e){let i=tn(t,Xh),n={};for(let o=0;o<i.length;o++){if(i[o][1].length===0)return z("InvalidAttr","Attribute '"+i[o][2]+"' has no space in starting.",oi(i[o]));if(i[o][3]!==void 0&&i[o][4]===void 0)return z("InvalidAttr","Attribute '"+i[o][2]+"' is without value.",oi(i[o]));if(i[o][3]===void 0&&!e.allowBooleanAttributes)return z("InvalidAttr","boolean attribute '"+i[o][2]+"' is not allowed.",oi(i[o]));let s=i[o][2];if(!Zh(s))return z("InvalidAttr","Attribute '"+s+"' is an invalid name.",oi(i[o]));if(!n.hasOwnProperty(s))n[s]=1;else return z("InvalidAttr","Attribute '"+s+"' is repeated.",oi(i[o]))}return!0}function Kh(t,e){let i=/\d/;for(t[e]==="x"&&(e++,i=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(i))break}return-1}function Yh(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,Kh(t,e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\w/)&&i<20)){if(t[e]===";")break;return-1}return e}function z(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function Zh(t){return ni(t)}function Qh(t){return ni(t)}function ee(t,e){let i=t.substring(0,e).split(/\r?\n/);return{line:i.length,col:i[i.length-1].length+1}}function oi(t){return t.startIndex+t[1].length}var eg={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t},captureMetaData:!1},Ap=function(t){return Object.assign({},eg,t)};var nn;typeof Symbol!="function"?nn="@@xmlMetadata":nn=Symbol("XML Node Metadata");var pe=class{constructor(e){this.tagname=e,this.child=[],this[":@"]={}}add(e,i){e==="__proto__"&&(e="#__proto__"),this.child.push({[e]:i})}addChild(e,i){e.tagname==="__proto__"&&(e.tagname="#__proto__"),e[":@"]&&Object.keys(e[":@"]).length>0?this.child.push({[e.tagname]:e.child,":@":e[":@"]}):this.child.push({[e.tagname]:e.child}),i!==void 0&&(this.child[this.child.length-1][nn]={startIndex:i})}static getMetaDataSymbol(){return nn}};function qo(t,e){let i={};if(t[e+3]==="O"&&t[e+4]==="C"&&t[e+5]==="T"&&t[e+6]==="Y"&&t[e+7]==="P"&&t[e+8]==="E"){e=e+9;let n=1,o=!1,s=!1,a="";for(;e<t.length;e++)if(t[e]==="<"&&!s){if(o&&et(t,"!ENTITY",e)){e+=7;let r,p;[r,p,e]=tg(t,e+1),p.indexOf("&")===-1&&(i[r]={regx:RegExp(`&${r};`,"g"),val:p})}else if(o&&et(t,"!ELEMENT",e)){e+=8;let{index:r}=ng(t,e+1);e=r}else if(o&&et(t,"!ATTLIST",e))e+=8;else if(o&&et(t,"!NOTATION",e)){e+=9;let{index:r}=ig(t,e+1);e=r}else if(et(t,"!--",e))s=!0;else throw new Error("Invalid DOCTYPE");n++,a=""}else if(t[e]===">"){if(s?t[e-1]==="-"&&t[e-2]==="-"&&(s=!1,n--):n--,n===0)break}else t[e]==="["?o=!0:a+=t[e];if(n!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:i,i:e}}var qe=(t,e)=>{for(;e<t.length&&/\s/.test(t[e]);)e++;return e};function tg(t,e){e=qe(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e])&&t[e]!=='"'&&t[e]!=="'";)i+=t[e],e++;if(Do(i),e=qe(t,e),t.substring(e,e+6).toUpperCase()==="SYSTEM")throw new Error("External entities are not supported");if(t[e]==="%")throw new Error("Parameter entities are not supported");let n="";return[e,n]=on(t,e,"entity"),e--,[i,n,e]}function ig(t,e){e=qe(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e]);)i+=t[e],e++;Do(i),e=qe(t,e);let n=t.substring(e,e+6).toUpperCase();if(n!=="SYSTEM"&&n!=="PUBLIC")throw new Error(`Expected SYSTEM or PUBLIC, found "${n}"`);e+=n.length,e=qe(t,e);let o=null,s=null;if(n==="PUBLIC")[e,o]=on(t,e,"publicIdentifier"),e=qe(t,e),(t[e]==='"'||t[e]==="'")&&([e,s]=on(t,e,"systemIdentifier"));else if(n==="SYSTEM"&&([e,s]=on(t,e,"systemIdentifier"),!s))throw new Error("Missing mandatory system identifier for SYSTEM notation");return{notationName:i,publicIdentifier:o,systemIdentifier:s,index:--e}}function on(t,e,i){let n="",o=t[e];if(o!=='"'&&o!=="'")throw new Error(`Expected quoted string, found "${o}"`);for(e++;e<t.length&&t[e]!==o;)n+=t[e],e++;if(t[e]!==o)throw new Error(`Unterminated ${i} value`);return e++,[e,n]}function ng(t,e){e=qe(t,e);let i="";for(;e<t.length&&!/\s/.test(t[e]);)i+=t[e],e++;if(!Do(i))throw new Error(`Invalid element name: "${i}"`);e=qe(t,e);let n="";if(t[e]==="E"&&et(t,"MPTY",e))e+=4;else if(t[e]==="A"&&et(t,"NY",e))e+=2;else if(t[e]==="("){for(e++;e<t.length&&t[e]!==")";)n+=t[e],e++;if(t[e]!==")")throw new Error("Unterminated content model")}else throw new Error(`Invalid Element Expression, found "${t[e]}"`);return{elementName:i,contentModel:n.trim(),index:e}}function et(t,e,i){for(let n=0;n<e.length;n++)if(e[n]!==t[i+n+1])return!1;return!0}function Do(t){if(ni(t))return t;throw new Error(`Invalid entity name ${t}`)}var og=/^[-+]?0x[a-fA-F0-9]+$/,sg=/^([\-\+])?(0*)([0-9]*(\.[0-9]*)?)$/,ag={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Mo(t,e={}){if(e=Object.assign({},ag,e),!t||typeof t!="string")return t;let i=t.trim();if(e.skipLike!==void 0&&e.skipLike.test(i))return t;if(t==="0")return 0;if(e.hex&&og.test(i))return lg(i,16);if(i.search(/.+[eE].+/)!==-1)return cg(t,i,e);{let n=sg.exec(i);if(n){let o=n[1]||"",s=n[2],a=pg(n[3]),r=o?t[s.length+1]===".":t[s.length]===".";if(!e.leadingZeros&&(s.length>1||s.length===1&&!r))return t;{let p=Number(i),l=String(p);if(p===0)return p;if(l.search(/[eE]/)!==-1)return e.eNotation?p:t;if(i.indexOf(".")!==-1)return l==="0"||l===a||l===`${o}${a}`?p:t;let c=s?a:i;return s?c===l||o+c===l?p:t:c===l||c===o+l?p:t}}else return t}}var rg=/^([-+])?(0*)(\d*(\.\d*)?[eE][-\+]?\d+)$/;function cg(t,e,i){if(!i.eNotation)return t;let n=e.match(rg);if(n){let o=n[1]||"",s=n[3].indexOf("e")===-1?"E":"e",a=n[2],r=o?t[a.length+1]===s:t[a.length]===s;return a.length>1&&r?t:a.length===1&&(n[3].startsWith(`.${s}`)||n[3][0]===s)?Number(e):i.leadingZeros&&!r?(e=(n[1]||"")+n[3],Number(e)):t}else return t}function pg(t){return t&&t.indexOf(".")!==-1&&(t=t.replace(/0+$/,""),t==="."?t="0":t[0]==="."?t="0"+t:t[t.length-1]==="."&&(t=t.substring(0,t.length-1))),t}function lg(t,e){if(parseInt)return parseInt(t,e);if(Number.parseInt)return Number.parseInt(t,e);if(window&&window.parseInt)return window.parseInt(t,e);throw new Error("parseInt, Number.parseInt, window.parseInt are not supported")}function zo(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let i of t)if(typeof i=="string"&&e===i||i instanceof RegExp&&i.test(e))return!0}:()=>!1}var si=class{constructor(e){this.options=e,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(i,n)=>String.fromCodePoint(Number.parseInt(n,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(i,n)=>String.fromCodePoint(Number.parseInt(n,16))}},this.addExternalEntities=ug,this.parseXml=gg,this.parseTextData=dg,this.resolveNameSpace=mg,this.buildAttributesMap=hg,this.isItStopNode=yg,this.replaceEntitiesValue=vg,this.readStopNodeData=Sg,this.saveTextToParentTag=bg,this.addChild=xg,this.ignoreAttributesFn=zo(this.options.ignoreAttributes)}};function ug(t){let e=Object.keys(t);for(let i=0;i<e.length;i++){let n=e[i];this.lastEntities[n]={regex:new RegExp("&"+n+";","g"),val:t[n]}}}function dg(t,e,i,n,o,s,a){if(t!==void 0&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){a||(t=this.replaceEntitiesValue(t));let r=this.options.tagValueProcessor(e,t,i,o,s);return r==null?t:typeof r!=typeof t||r!==t?r:this.options.trimValues?Ho(t,this.options.parseTagValue,this.options.numberParseOptions):t.trim()===t?Ho(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function mg(t){if(this.options.removeNSPrefix){let e=t.split(":"),i=t.charAt(0)==="/"?"/":"";if(e[0]==="xmlns")return"";e.length===2&&(t=i+e[1])}return t}var fg=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function hg(t,e,i){if(this.options.ignoreAttributes!==!0&&typeof t=="string"){let n=tn(t,fg),o=n.length,s={};for(let a=0;a<o;a++){let r=this.resolveNameSpace(n[a][1]);if(this.ignoreAttributesFn(r,e))continue;let p=n[a][4],l=this.options.attributeNamePrefix+r;if(r.length)if(this.options.transformAttributeName&&(l=this.options.transformAttributeName(l)),l==="__proto__"&&(l="#__proto__"),p!==void 0){this.options.trimValues&&(p=p.trim()),p=this.replaceEntitiesValue(p);let c=this.options.attributeValueProcessor(r,p,e);c==null?s[l]=p:typeof c!=typeof p||c!==p?s[l]=c:s[l]=Ho(p,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[l]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){let a={};return a[this.options.attributesGroupName]=s,a}return s}}var gg=function(t){t=t.replace(/\r\n?/g,`
144
+ `);let e=new pe("!xml"),i=e,n="",o="";for(let s=0;s<t.length;s++)if(t[s]==="<")if(t[s+1]==="/"){let r=tt(t,">",s,"Closing Tag is not closed."),p=t.substring(s+2,r).trim();if(this.options.removeNSPrefix){let d=p.indexOf(":");d!==-1&&(p=p.substr(d+1))}this.options.transformTagName&&(p=this.options.transformTagName(p)),i&&(n=this.saveTextToParentTag(n,i,o));let l=o.substring(o.lastIndexOf(".")+1);if(p&&this.options.unpairedTags.indexOf(p)!==-1)throw new Error(`Unpaired tag can not be used as closing tag: </${p}>`);let c=0;l&&this.options.unpairedTags.indexOf(l)!==-1?(c=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):c=o.lastIndexOf("."),o=o.substring(0,c),i=this.tagsNodeStack.pop(),n="",s=r}else if(t[s+1]==="?"){let r=Jo(t,s,!1,"?>");if(!r)throw new Error("Pi Tag is not closed.");if(n=this.saveTextToParentTag(n,i,o),!(this.options.ignoreDeclaration&&r.tagName==="?xml"||this.options.ignorePiTags)){let p=new pe(r.tagName);p.add(this.options.textNodeName,""),r.tagName!==r.tagExp&&r.attrExpPresent&&(p[":@"]=this.buildAttributesMap(r.tagExp,o,r.tagName)),this.addChild(i,p,o,s)}s=r.closeIndex+1}else if(t.substr(s+1,3)==="!--"){let r=tt(t,"-->",s+4,"Comment is not closed.");if(this.options.commentPropName){let p=t.substring(s+4,r-2);n=this.saveTextToParentTag(n,i,o),i.add(this.options.commentPropName,[{[this.options.textNodeName]:p}])}s=r}else if(t.substr(s+1,2)==="!D"){let r=qo(t,s);this.docTypeEntities=r.entities,s=r.i}else if(t.substr(s+1,2)==="!["){let r=tt(t,"]]>",s,"CDATA is not closed.")-2,p=t.substring(s+9,r);n=this.saveTextToParentTag(n,i,o);let l=this.parseTextData(p,i.tagname,o,!0,!1,!0,!0);l==null&&(l=""),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:p}]):i.add(this.options.textNodeName,l),s=r+2}else{let r=Jo(t,s,this.options.removeNSPrefix),p=r.tagName,l=r.rawTagName,c=r.tagExp,d=r.attrExpPresent,f=r.closeIndex;this.options.transformTagName&&(p=this.options.transformTagName(p)),i&&n&&i.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,i,o,!1));let S=i;S&&this.options.unpairedTags.indexOf(S.tagname)!==-1&&(i=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),p!==e.tagname&&(o+=o?"."+p:p);let m=s;if(this.isItStopNode(this.options.stopNodes,o,p)){let h="";if(c.length>0&&c.lastIndexOf("/")===c.length-1)p[p.length-1]==="/"?(p=p.substr(0,p.length-1),o=o.substr(0,o.length-1),c=p):c=c.substr(0,c.length-1),s=r.closeIndex;else if(this.options.unpairedTags.indexOf(p)!==-1)s=r.closeIndex;else{let P=this.readStopNodeData(t,l,f+1);if(!P)throw new Error(`Unexpected end of ${l}`);s=P.i,h=P.tagContent}let y=new pe(p);p!==c&&d&&(y[":@"]=this.buildAttributesMap(c,o,p)),h&&(h=this.parseTextData(h,p,o,!0,d,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),y.add(this.options.textNodeName,h),this.addChild(i,y,o,m)}else{if(c.length>0&&c.lastIndexOf("/")===c.length-1){p[p.length-1]==="/"?(p=p.substr(0,p.length-1),o=o.substr(0,o.length-1),c=p):c=c.substr(0,c.length-1),this.options.transformTagName&&(p=this.options.transformTagName(p));let h=new pe(p);p!==c&&d&&(h[":@"]=this.buildAttributesMap(c,o,p)),this.addChild(i,h,o,m),o=o.substr(0,o.lastIndexOf("."))}else{let h=new pe(p);this.tagsNodeStack.push(i),p!==c&&d&&(h[":@"]=this.buildAttributesMap(c,o,p)),this.addChild(i,h,o,m),i=h}n="",s=f}}else n+=t[s];return e.child};function xg(t,e,i,n){this.options.captureMetaData||(n=void 0);let o=this.options.updateTag(e.tagname,i,e[":@"]);o===!1||(typeof o=="string"&&(e.tagname=o),t.addChild(e,n))}var vg=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){let i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){let i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){let i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function bg(t,e,i,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,i,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function yg(t,e,i){let n="*."+i;for(let o in t){let s=t[o];if(n===s||e===s)return!0}return!1}function wg(t,e,i=">"){let n,o="";for(let s=e;s<t.length;s++){let a=t[s];if(n)a===n&&(n="");else if(a==='"'||a==="'")n=a;else if(a===i[0])if(i[1]){if(t[s+1]===i[1])return{data:o,index:s}}else return{data:o,index:s};else a===" "&&(a=" ");o+=a}}function tt(t,e,i,n){let o=t.indexOf(e,i);if(o===-1)throw new Error(n);return o+e.length-1}function Jo(t,e,i,n=">"){let o=wg(t,e+1,n);if(!o)return;let s=o.data,a=o.index,r=s.search(/\s/),p=s,l=!0;r!==-1&&(p=s.substring(0,r),s=s.substring(r+1).trimStart());let c=p;if(i){let d=p.indexOf(":");d!==-1&&(p=p.substr(d+1),l=p!==o.data.substr(d+1))}return{tagName:p,tagExp:s,closeIndex:a,attrExpPresent:l,rawTagName:c}}function Sg(t,e,i){let n=i,o=1;for(;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="/"){let s=tt(t,">",i,`${e} is not closed`);if(t.substring(i+2,s).trim()===e&&(o--,o===0))return{tagContent:t.substring(n,i),i:s};i=s}else if(t[i+1]==="?")i=tt(t,"?>",i+1,"StopNode is not closed.");else if(t.substr(i+1,3)==="!--")i=tt(t,"-->",i+3,"StopNode is not closed.");else if(t.substr(i+1,2)==="![")i=tt(t,"]]>",i,"StopNode is not closed.")-2;else{let s=Jo(t,i,">");s&&((s&&s.tagName)===e&&s.tagExp[s.tagExp.length-1]!=="/"&&o++,i=s.closeIndex)}}function Ho(t,e,i){if(e&&typeof t=="string"){let n=t.trim();return n==="true"?!0:n==="false"?!1:Mo(t,i)}else return Ep(t)?t:""}var Vo=pe.getMetaDataSymbol();function Wo(t,e){return Op(t,e)}function Op(t,e,i){let n,o={};for(let s=0;s<t.length;s++){let a=t[s],r=Eg(a),p="";if(i===void 0?p=r:p=i+"."+r,r===e.textNodeName)n===void 0?n=a[r]:n+=""+a[r];else{if(r===void 0)continue;if(a[r]){let l=Op(a[r],e,p),c=kg(l,e);a[Vo]!==void 0&&(l[Vo]=a[Vo]),a[":@"]?Tg(l,a[":@"],p,e):Object.keys(l).length===1&&l[e.textNodeName]!==void 0&&!e.alwaysCreateTextNode?l=l[e.textNodeName]:Object.keys(l).length===0&&(e.alwaysCreateTextNode?l[e.textNodeName]="":l=""),o[r]!==void 0&&o.hasOwnProperty(r)?(Array.isArray(o[r])||(o[r]=[o[r]]),o[r].push(l)):e.isArray(r,p,c)?o[r]=[l]:o[r]=l}}}return typeof n=="string"?n.length>0&&(o[e.textNodeName]=n):n!==void 0&&(o[e.textNodeName]=n),o}function Eg(t){let e=Object.keys(t);for(let i=0;i<e.length;i++){let n=e[i];if(n!==":@")return n}}function Tg(t,e,i,n){if(e){let o=Object.keys(e),s=o.length;for(let a=0;a<s;a++){let r=o[a];n.isArray(r,i+"."+r,!0,!0)?t[r]=[e[r]]:t[r]=e[r]}}}function kg(t,e){let{textNodeName:i}=e,n=Object.keys(t).length;return!!(n===0||n===1&&(t[i]||typeof t[i]=="boolean"||t[i]===0))}var Ot=class{constructor(e){this.externalEntities={},this.options=Ap(e)}parse(e,i){if(typeof e!="string")if(e.toString)e=e.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(i){i===!0&&(i={});let s=Rp(e,i);if(s!==!0)throw Error(`${s.err.msg}:${s.err.line}:${s.err.col}`)}let n=new si(this.options);n.addExternalEntities(this.externalEntities);let o=n.parseXml(e);return this.options.preserveOrder||o===void 0?o:Wo(o,this.options)}addEntity(e,i){if(i.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(e.indexOf("&")!==-1||e.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if(i==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[e]=i}static getMetaDataSymbol(){return pe.getMetaDataSymbol()}};var sn=class t{constructor(e){this.conf=e;this.appiumBaseUrl=`https://${this.conf.baseUrl}/wd/hub`,this.headers={Authorization:`Basic ${btoa(this.conf.slug+":"+this.conf.apiKey)}`},this.cfg=e}appiumBaseUrl;headers;cfg;sessionId;platform="android";isWebSession=!1;async startWebdriverSession(e,i){this.sessionId&&await this.stopSession();let n={...i,"mobitru:keepDevice":!0};this.cfg?.wid!=="0"&&(n["mobitru:wid"]=this.cfg?.wid);let o={hostname:this.cfg.baseUrl,path:"/wd/hub",protocol:"https",user:this.cfg.slug,key:this.cfg.apiKey,port:443,headers:{...this.headers},capabilities:n};return this.platform=e,await(0,_p.remote)(o)}async startSession(e,i){try{let n={...i,"mobitru:keepDevice":!0};this.cfg?.wid!=="0"&&(n["mobitru:wid"]=this.cfg?.wid);let o=await fetch(this.appiumBaseUrl+"/session",{method:"POST",headers:{"Content-Type":"application/json",...this.headers},body:JSON.stringify({capabilities:{alwaysMatch:n,firstMatch:[{}]}})});if(!o.ok){let a=await o.text();throw new Error(a)}let s=await o.json();if(!s.value?.sessionId)throw new Error("No session ID returned: "+JSON.stringify(s));this.sessionId=s.value.sessionId,this.platform=e}catch(n){throw this.clearSessionState(),g(`Failed to start session: ${n.message}`),new Error(`Failed to start session: ${n.message}`)}}async startNativeSession(e){let i=e.platform.toLowerCase(),n=t.prepareCapabilities(e);await this.startSession(i,n),this.isWebSession=!1}async startWebSession(e){let i=e.platform.toLowerCase(),n=t.prepareWebCapabilities(e);await this.startSession(i,n),this.isWebSession=!0}isWebSessionActive(){return this.isWebSession}clearSessionState(){this.sessionId=void 0,this.isWebSession=!1}async stopSession(){if(this.sessionId)try{await fetch(`${this.appiumBaseUrl}/session/${this.sessionId}`,{method:"DELETE",headers:this.headers})}catch(e){g(`Failed to stop session: ${e.message}`)}finally{this.clearSessionState()}}async tapElementByXPath(e){let i=await this._post(`/session/${this.sessionId}/element`,{using:"xpath",value:e}),n=i.value.ELEMENT||i.value["element-6066-11e4-a52e-4f735466cecf"];await this._post(`/session/${this.sessionId}/element/${n}/click`,{})}async tapCoordinates(e,i){await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:[{type:"pointerMove",duration:0,x:e,y:i},{type:"pointerDown",button:0},{type:"pause",duration:100},{type:"pointerUp",button:0}]}]})}async executeMobileCommand(e,i){return await this._post(`/session/${this.sessionId}/execute`,{script:e,args:i})}async _get(e){return await(await this._fetchWithTimeout(`${this.appiumBaseUrl}${e}`,{headers:this.headers})).json()}async _post(e,i){let n=await this._fetchWithTimeout(`${this.appiumBaseUrl}${e}`,{method:"POST",headers:{"Content-Type":"application/json",...this.headers},body:JSON.stringify(i)});if(!n.ok){let o=await n.text();throw g(`Error in Appium request: ${o}`),new Error(`Error in Appium request: ${o}`)}return await n.json()}async _fetchWithTimeout(e,i={}){let n=Number(process.env.APPIUM_REQUEST_TIMEOUT_MS)||0;if(n<=0)return fetch(e,i);let o=new AbortController,s=setTimeout(()=>o.abort(),n);try{return await fetch(e,{...i,signal:o.signal})}catch(a){throw a.name==="AbortError"?new Error(`Appium request timed out after ${n/1e3}s: ${e}`):a}finally{clearTimeout(s)}}async isAppInstalled(e){return(await this._post(`/session/${this.sessionId}/appium/device/app_installed`,{bundleId:e})).value}static prepareCapabilities(e){let i=e.platform.toLowerCase()==="android";return{platformName:i?"Android":"iOS","appium:udid":e.serial,"appium:automationName":i?"UiAutomator2":"XCUITest","appium:newCommandTimeout":1200}}static prepareWebCapabilities(e){let i=e.platform.toLowerCase()==="android";return{platformName:i?"Android":"iOS","appium:udid":e.serial,"appium:automationName":i?"UiAutomator2":"XCUITest","appium:newCommandTimeout":1200,browserName:i?"chrome":"safari"}}async getScreenSize(){let e=await this._get(`/session/${this.sessionId}/window/rect`);if(!e.value)throw new Error("Failed to get screen size");return{width:e.value.width,height:e.value.height,scale:e.value.scale||1}}async getScreenshot(){return(await this._get(`/session/${this.sessionId}/screenshot`)).value}async swipe(e,i=.5){let n=await this.getScreenSize(),o=n.width/2,s=n.height/2,a=o,r=s,p=o,l=s;switch(e){case"up":r=s+n.height*i/2,l=s-n.height*i/2;break;case"down":r=s-n.height*i/2,l=s+n.height*i/2;break;case"left":a=o+n.width*i/2,p=o-n.width*i/2;break;case"right":a=o-n.width*i/2,p=o+n.width*i/2;break}await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:[{type:"pointerMove",duration:0,x:Math.round(a),y:Math.round(r)},{type:"pointerDown",button:0},{type:"pointerMove",duration:300,x:Math.round(p),y:Math.round(l)},{type:"pointerUp",button:0}]}]})}async continuousSwipe(e){if(e.length<2)throw new Error("At least two points are required for a continuous swipe");if(e.length>20)throw new Error(`Maximum of ${20} points are allowed for a continuous swipe`);let i=[{type:"pointerMove",duration:0,x:Math.round(e[0].x),y:Math.round(e[0].y)},{type:"pointerDown",button:0},...e.slice(1).map(n=>({type:"pointerMove",duration:250,x:Math.round(n.x),y:Math.round(n.y)})),{type:"pointerUp",button:0}];await this._post(`/session/${this.sessionId}/actions`,{actions:[{type:"pointer",id:"finger1",parameters:{pointerType:"touch"},actions:i}]})}async launchApp(e){await this._post(`/session/${this.sessionId}/appium/device/activate_app`,{bundleId:e})}async terminateApp(e){await this._post(`/session/${this.sessionId}/appium/device/terminate_app`,{bundleId:e})}async openUrl(e){if(!this.isWebSessionActive())throw new Error("Cannot open URL in non-web session");await this._post(`/session/${this.sessionId}/url`,{url:e})}async sendKeys(e){await this._post(`/session/${this.sessionId}/keys`,{value:e.split("")})}async pressButton(e){if(this.platform==="android"){let i;switch(e){case"HOME":i=3;break;case"BACK":i=4;break;case"VOLUME_UP":i=24;break;case"VOLUME_DOWN":i=25;break;case"ENTER":i=66;break;case"DPAD_CENTER":i=23;break;case"DPAD_UP":i=19;break;case"DPAD_DOWN":i=20;break;case"DPAD_LEFT":i=21;break;case"DPAD_RIGHT":i=22;break;default:throw new Error(`Unsupported button: ${e}`)}await this._post(`/session/${this.sessionId}/appium/device/press_keycode`,{keycode:i})}else{if(e==="ENTER"){await this.sendKeys(`
145
+ `);return}let i;switch(e){case"HOME":i="home";break;case"VOLUME_UP":i="volumeUp";break;case"VOLUME_DOWN":i="volumeDown";break;default:throw new Error(`Unsupported button on iOS: ${e}`)}this.executeMobileCommand("mobile: pressButton",{name:i})}}isVisible(e){return e.x>=0&&e.y>=0}filterIosSourceElements(e){let i=[];if(["XCUIElementTypeIcon","XCUIElementTypeButton","XCUIElementTypeTextField","XCUIElementTypeTextView","XCUIElementTypeStaticText","XCUIElementTypeImage","XCUIElementTypeLink","XCUIElementTypeOther"].includes(e.type)&&e.visible==="true"&&this.isVisible(e.rect)&&(e.label!==null||e.name!==null)&&i.push({type:e.type,label:e.label,name:e.name,value:e.value,rect:{x:e.rect.x,y:e.rect.y,width:e.rect.width,height:e.rect.height}}),e.children)for(let o of e.children)i.push(...this.filterIosSourceElements(o));return i}async getPageSource(){let e=await this._get(`/session/${this.sessionId}/source`);return new Ot({ignoreAttributes:!1,attributeNamePrefix:""}).parse(e.value)}collectAndroidElements(e){let i=[];if(e.node)if(Array.isArray(e.node))for(let n of e.node)i.push(...this.collectAndroidElements(n));else i.push(...this.collectAndroidElements(e.node));if(e.text||e["content-desc"]||e.hint){let n={type:e.class||"text",text:e.text,label:e["content-desc"]||e.hint||"",rect:this.getScreenElementRect(e)};e.focused==="true"&&(n.focused=!0),n.rect.width>0&&n.rect.height>0&&i.push(n)}return i}convertAndroidXmlToNodeStructure(e){if(typeof e!="object"||e===null)return e;let i={...e};for(let n in e)typeof e[n]=="object"&&e[n]!==null&&(i.node||(i.node=[]),i.node.push(this.convertAndroidXmlToNodeStructure(e[n])),delete i[n]);return i}convertIosXmlToNodeStructure(e){if(typeof e!="object"||e===null)return e;let i={...e};i.rect={x:parseInt(e.x,10)||0,y:parseInt(e.y,10)||0,width:parseInt(e.width,10)||0,height:parseInt(e.height,10)||0};for(let n in e)typeof e[n]=="object"&&e[n]!==null&&(i.children||(i.children=[]),i.children.push(this.convertIosXmlToNodeStructure(e[n])),delete i[n]);return i}getScreenElementRect(e){let i=String(e.bounds),[,n,o,s,a]=i.match(/^\[(\d+),(\d+)\]\[(\d+),(\d+)\]$/)?.map(Number)||[];return{x:n,y:o,width:s-n,height:a-o}}async getElementsOnScreen(){let e=await this.getPageSource();if(this.platform==="android"){let o=this.convertAndroidXmlToNodeStructure(e.hierarchy);return this.collectAndroidElements(o.node[0])}let i=this.convertIosXmlToNodeStructure(e.AppiumAUT);return this.filterIosSourceElements(i)}async setOrientation(e){await this._post(`/session/${this.sessionId}/orientation`,{orientation:e.toUpperCase()})}async getOrientation(){return(await this._get(`/session/${this.sessionId}/orientation`)).value.toLowerCase()}async getWebElementsOnScreen(){if(!this.sessionId)throw new Error("No active session");return(await this._post(`/session/${this.sessionId}/execute/sync`,{script:wp,args:[]})).value||[]}async findElementByCssSelector(e){if(!this.sessionId)throw new Error("No active session");let i=await this._post(`/session/${this.sessionId}/element`,{using:"css selector",value:e}),n=i.value.ELEMENT||i.value["element-6066-11e4-a52e-4f735466cecf"];if(!n)throw new Error(`Element not found with CSS selector: ${e}`);return n}async clickElementByCssSelector(e){if(!this.sessionId)throw new Error("No active session");try{let i=await this.findElementByCssSelector(e);await this._post(`/session/${this.sessionId}/element/${i}/click`,{})}catch(i){throw g(`Failed to click element with CSS selector "${e}": ${i.message}`),new Error(`Failed to click element with CSS selector "${e}": ${i.message}`)}}};var an=class{appiumClient;platform;constructor(e,i){this.appiumClient=e,this.platform=i}async close(){await this.appiumClient.stopSession()}async getScreenSize(){try{return await this.appiumClient.getScreenSize()}catch(e){throw g(`Failed to get screen size: ${e}`),new H(`Failed to get screen size: ${e}`)}}async swipe(e,i=1){try{return await this.appiumClient.swipe(e,i),await this.getElementsOnScreen(500)}catch(n){throw g(`Failed to swipe ${e}: ${n}`),new H(`Failed to swipe ${e}: ${n}`)}}async getScreenshot(){try{let e=await this.appiumClient.getScreenshot();return Buffer.from(e,"base64")}catch(e){throw g(`Failed to get screenshot: ${e}`),new H(`Failed to get screenshot: ${e}`)}}async isAppInstalled(e){try{return await this.appiumClient.isAppInstalled(e)}catch(i){throw g(`Failed to list apps: ${i}`),new H(`Failed to list apps: ${i}`)}}async launchApp(e){try{return await this.appiumClient.launchApp(e),await this.getElementsOnScreen(5e3)}catch(i){throw g(`Failed to launch app ${e}: ${i}`),new H(`Failed to launch app ${e}: ${i}`)}}async terminateApp(e){try{return await this.appiumClient.terminateApp(e),await this.getElementsOnScreen(1e3)}catch(i){throw g(`Failed to terminate app ${e}: ${i}`),new H(`Failed to terminate app ${e}: ${i}`)}}async openUrl(e){try{return await this.appiumClient.openUrl(e),await this.getElementsOnScreen()}catch(i){throw g(`Failed to open URL ${e}: ${i}`),new H(`Failed to open URL ${e}: ${i}`)}}async sendKeys(e){try{return await this.appiumClient.sendKeys(e),await this.getElementsOnScreen(500)}catch(i){throw g(`Failed to send keys: ${i}`),new H(`Failed to send keys: ${i}`)}}async pressButton(e){try{return await this.appiumClient.pressButton(e),await this.getElementsOnScreen(1e3)}catch(i){throw g(`Failed to press button ${e}: ${i}`),new H(`Failed to press button ${e}: ${i}`)}}async tap(e,i){try{return await this.appiumClient.tapCoordinates(e,i),await this.getElementsOnScreen(1e3)}catch(n){throw g(`Failed to tap at coordinates (${e}, ${i}): ${n}`),new H(`Failed to tap at coordinates (${e}, ${i}): ${n}`)}}async getElementsOnScreen(e=0){try{return e>0&&await new Promise(i=>setTimeout(i,e)),this.appiumClient.isWebSessionActive()?await this.appiumClient.getWebElementsOnScreen():await this.appiumClient.getElementsOnScreen()}catch(i){throw g(`Failed to get elements on screen: ${i}`),new H(`Failed to get elements on screen: ${i}`)}}async setOrientation(e){try{return await this.appiumClient.setOrientation(e),await this.getElementsOnScreen(500)}catch(i){throw g(`Failed to set orientation to ${e}: ${i}`),new H(`Failed to set orientation to ${e}: ${i}`)}}async getOrientation(){try{return await this.appiumClient.getOrientation()}catch(e){throw g(`Failed to get orientation: ${e}`),new H(`Failed to get orientation: ${e}`)}}async clickWebElement(e){try{if(!this.appiumClient.isWebSessionActive())throw new H("This method is only available for web sessions. Use mobile_appium_init with sessionType='web' to start a web session.");return await this.appiumClient.clickElementByCssSelector(e),await this.getElementsOnScreen()}catch(i){throw g(`Failed to click web element with CSS selector "${e}": ${i}`),new H(`Failed to click element: ${i}`)}}async continuousSwipe(e){try{return await this.appiumClient.continuousSwipe(e),await this.getElementsOnScreen(1e3)}catch(i){throw g(`Failed to perform continuous swipe: ${i}`),new H(`Failed to perform continuous swipe: ${i}`)}}};function It(t){let e=t.state.currentJob;if(e&&Ae(e))throw new v(`an appium-run job is in flight on serial "${e.serial}" \u2014 run appium-cancel first or wait for it to finish`,409)}function L(t){let e=t.state.activeDevice;if(!e)throw new v("no active device \u2014 run device-use first",400);return e}function fe(t){let e=t.body?.savePath;if(!e||typeof e!="string")throw new v("savePath is required",400);return e}function ye(t,e){return Go.default.mkdirSync($p.default.dirname(t),{recursive:!0}),Go.default.writeFileSync(t,e),{path:t,bytes:e.length}}var Xo=t=>t?.response?.status===404;async function V(t){if(It(t),t.state.robot)return t.state.robot;let e=L(t),n=await new Se(t.deviceFarm).getDeviceInfo(e),o=new sn(t.deviceFarm);t.state.sessionType==="web"?await o.startWebSession(n):await o.startNativeSession(n);let s=new an(o,n.platform.toLowerCase());return t.state.robot=s,t.log.info({serial:e,platform:n.platform,sessionType:t.state.sessionType},"robot initialized"),s}function Ko(t){t.get("/devices",async e=>{let i=e.query.platform;if(!i||!en(i))throw new v(`platform must be one of: ${At.join(", ")}`,400);return await new Se(t.deviceFarm).findDevice({platform:i})}),t.post("/device/use",async e=>{It(t);let{serial:i,duration:n=180}=e.body,o=e.body.sessionType??"native";if(!i)throw new v("serial is required",400);if(o!=="native"&&o!=="web")throw new v(`sessionType must be "native" or "web"; got "${o}"`,400);if(t.state.activeDevice===i&&t.state.sessionType===o)return{serial:i,duration:n,sessionType:o,alreadyActive:!0};if(t.state.activeDevice===i&&t.state.sessionType!==o){let r=t.state.sessionType;if(t.state.robot){try{await t.state.robot.close()}catch{}t.state.robot=null}return t.state.snapshotRefs=null,t.state.sessionType=o,t.log.info({serial:i,from:r,to:o},"session type switched in-place (booking preserved)"),{serial:i,duration:n,sessionType:o,sessionSwitched:{from:r,to:o}}}if(t.state.activeDevice)throw new v(`device "${t.state.activeDevice}" is currently in use. Run device-release first, then device-use ${i}.`,409);let a=await new Se(t.deviceFarm).takeDeviceBySerial(i,n);return t.state.activeDevice=i,t.state.sessionType=o,t.log.info({serial:i,duration:n,sessionType:o},"activeDevice set"),{serial:i,duration:n,sessionType:o,result:a}}),t.post("/device/release",async()=>(It(t),await Yo(t)))}async function Yo(t){let e=t.state.activeDevice;if(!e)return t.log.info("releaseActiveDevice: no activeDevice, no-op"),{released:!1};let i;if(t.state.recordingActive)try{i=(await new Le(t.deviceFarm).stopRecording(e)).recordingId,t.log.info({serial:e,recordingId:i},"auto-stopped active recording before release")}catch(o){t.log.warn({serial:e,err:o},"auto-stop recording failed; recording may be lost")}finally{t.state.recordingActive=!1}if(t.state.robot)try{await t.state.robot.close()}catch(o){t.log.warn({err:o},"robot.close threw, ignoring")}t.state.robot=null,t.state.snapshotRefs=null;let n;try{n=await new Se(t.deviceFarm).releaseDevice(e)}catch(o){let s=o instanceof I?o.statusCode:void 0;if(s!==403&&s!==404)throw o;t.log.warn({serial:e,status:s},"release returned 4xx \u2014 booking already gone, clearing local state"),n={alreadyReleased:!0,status:s}}return t.state.activeDevice=null,t.log.info({serial:e},"activeDevice cleared"),{released:!0,serial:e,result:n,...i?{recordingId:i}:{}}}var it=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async createBooking(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings`,{name:n,start:o,end:s,offset:a,devices:r,isPrivate:p}=e,l={name:n,start:o,end:s,offset:a,devices:r};p!==void 0&&(l.private=p);try{k(`Creating booking for devices: ${r.join(", ")}`);let c=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(l)});if(!c.ok){let d=await c.text();throw new I(`Failed to create booking: ${c.status} ${c.statusText} - ${d}`,c.status)}return await c.json()}catch(c){throw g(`Error creating booking: ${c.message}`),c}}async cancelBooking(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings/${e}`;try{k(`Cancelling booking: ${e}`);let n=await fetch(i,{method:"DELETE",headers:this.headers});if(!n.ok)throw new I(`Failed to cancel booking: ${n.status} ${n.statusText}`,n.status)}catch(n){throw g(`Error cancelling booking: ${n.message}`),n}}async getBookings(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings`,o=new URLSearchParams;e&&o.append("iso","true"),i&&o.append("till",i.toString());let s=o.toString();s&&(n=`${n}?${s}`);try{k("Fetching bookings");let a=await fetch(n,{method:"GET",headers:this.headers});if(!a.ok)throw new I(`Failed to fetch bookings: ${a.status} ${a.statusText}`,a.status);return await a.json()}catch(a){throw g(`Error fetching bookings: ${a.message}`),a}}async getBookingById(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v2/bookings/${e}`;i&&(n=`${n}?iso=true`);try{k(`Fetching booking: ${e}`);let o=await fetch(n,{method:"GET",headers:this.headers});if(!o.ok)throw new I(`Failed to fetch booking: ${o.status} ${o.statusText}`,o.status);return await o.json()}catch(o){throw g(`Error fetching booking: ${o.message}`),o}}};function Zo(t){t.get("/bookings",async e=>{let i=e.query.till?Number(e.query.till):void 0;return await new it(t.deviceFarm).getBookings(!0,i)}),t.get("/bookings/:id",async e=>await new it(t.deviceFarm).getBookingById(e.params.id,!0)),t.post("/bookings",async e=>{let{name:i,start:n,end:o,offset:s,devices:a,isPrivate:r}=e.body??{};if(!i||typeof i!="string")throw new v("name is required",400);if(typeof n!="number"||typeof o!="number")throw new v("start and end are required (epoch seconds)",400);if(typeof s!="number")throw new v("offset is required (timezone offset in minutes from UTC)",400);if(!Array.isArray(a)||a.length===0)throw new v("devices must be a non-empty array of serials",400);return await new it(t.deviceFarm).createBooking({name:i,start:n,end:o,offset:s,devices:a,isPrivate:r})}),t.delete("/bookings/:id",async e=>(await new it(t.deviceFarm).cancelBooking(e.params.id),{cancelled:!0,id:e.params.id}))}function Qo(t){t.post("/screenshot",async e=>{let i=fe(e),o=await(await V(t)).getScreenshot();return ye(i,o)}),t.get("/screen-size",async()=>await(await V(t)).getScreenSize()),t.post("/snapshot",async e=>{let i=fe(e),o=await(await V(t)).getElementsOnScreen(),s=new Map,a=o.map((p,l)=>{let c=`e${l+1}`;return s.set(c,p),{...p,ref:c}});t.state.snapshotRefs=s;let r=Buffer.from(JSON.stringify({elements:a},null,2));return{...ye(i,r),refCount:a.length}}),t.post("/tap-at",async e=>{let{x:i,y:n}=e.body??{};if(typeof i!="number"||typeof n!="number")throw new v("x and y are required (numbers)",400);return await(await V(t)).tap(i,n),{x:i,y:n}}),t.post("/tap",async e=>{let i=e.body?.ref;if(!i||typeof i!="string")throw new v("ref is required",400);let n=t.state.snapshotRefs?.get(i);if(!n)throw new v(`ref "${i}" not found. Run snapshot first.`,400);let o=await V(t),{x:s,y:a,width:r,height:p}=n.rect;return await o.tap(s+r/2,a+p/2),{ref:i}}),t.get("/orientation",async()=>({orientation:await(await V(t)).getOrientation()})),t.put("/orientation",async e=>{let i=e.body?.orientation;if(!i||typeof i!="string")throw new v("orientation is required",400);if(!As(i))throw new v(`unsupported orientation: ${i}. Supported: ${Cn.join(", ")}`,400);return await(await V(t)).setOrientation(i),{orientation:i}}),t.post("/continuous-swipe",async e=>{let i=e.body?.points;if(!Array.isArray(i)||i.length<2||i.length>20)throw new v("points must be an array of 2..20 {x,y} pairs",400);for(let o of i)if(!o||typeof o.x!="number"||typeof o.y!="number")throw new v("each point must be {x: number, y: number}",400);return await(await V(t)).continuousSwipe(i),{count:i.length}}),t.post("/swipe",async e=>{let i=e.body?.direction;if(!i||typeof i!="string")throw new v("direction is required",400);if(!Ps(i))throw new v(`unsupported direction: ${i}. Supported: ${Tn.join(", ")}`,400);return await(await V(t)).swipe(i,e.body?.force),{direction:i}}),t.post("/type",async e=>{let i=e.body?.text;if(typeof i!="string")throw new v("text is required",400);let n=e.body?.submit===!0,o=await V(t);return await o.sendKeys(i),n&&await o.pressButton("ENTER"),{text:i,submitted:n}}),t.post("/press",async e=>{let i=e.body?.button;if(!i||typeof i!="string")throw new v("button is required",400);let n=i.toUpperCase();if(!Rs(n))throw new v(`unsupported button: ${i}. Supported: ${kn.join(", ")}`,400);return await(await V(t)).pressButton(n),{button:n}})}function es(t){t.post("/open-url",async e=>{let i=e.body?.url;if(!i||typeof i!="string")throw new v("url is required",400);return await(await V(t)).openUrl(i),{url:i}}),t.post("/click-web-element",async e=>{let i=e.body?.selector;if(!i||typeof i!="string")throw new v("selector is required",400);return await(await V(t)).clickWebElement(i),{selector:i}})}var _t=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api/storage`}baseUrl;headers;apiPath;async installApp(e,i,n){try{let o=new URLSearchParams;n?.noResign!==void 0&&o.append("noResign",n.noResign.toString()),n?.doInjection!==void 0&&o.append("doInjection",n.doInjection.toString()),n?.mdmInstall!==void 0&&o.append("mdmInstall",n.mdmInstall.toString());let s=o.toString()?`?${o.toString()}`:"",a=`${this.baseUrl}${this.apiPath}/install/${e}/${i}${s}`,r=await B.get(a,{headers:this.headers});$(r,201,"install app"),k(`Successfully installed app on device ${e}`)}catch(o){throw g(`Error installing app: ${o}`),o}}async installAppOta(e,i){try{let n=`${this.baseUrl}${this.apiPath}/install/${e}/ota`,o=await B.post(n,{otaUrl:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,202,"initiate OTA installation"),k(`Successfully initiated OTA installation on device ${e}`)}catch(n){throw g(`Error initiating OTA installation: ${n}`),n}}async uninstallApp(e,i){try{let n=`${this.baseUrl}${this.apiPath}/uninstall/${e}`,o=await B.post(n,{appPackage:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,200,"uninstall app"),k(`Successfully uninstalled app ${i} from device ${e}`)}catch(n){throw g(`Error uninstalling app: ${n}`),n}}async uploadArtifact(e,i){try{let n=`${this.baseUrl}${this.apiPath}/upload/${e}/${i}`,o=await B.post(n,{},{headers:this.headers});$(o,201,"upload artifact"),k(`Successfully uploaded artifact to device ${e}`)}catch(n){throw g(`Error uploading artifact: ${n}`),n}}};function ts(t){t.post("/launch",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);return await(await V(t)).launchApp(i),{appId:i}}),t.post("/terminate",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);return await(await V(t)).terminateApp(i),{appId:i}}),t.get("/is-installed",async e=>{let i=e.query.app;if(!i)throw new v("app query param is required",400);let o=await(await V(t)).isAppInstalled(i);return{appId:i,installed:o}}),t.post("/install-app",async e=>{let i=e.body?.artifactId;if(!i||typeof i!="string")throw new v("artifactId is required",400);let n=L(t);return await new _t(t.deviceFarm).installApp(n,i),{artifactId:i}}),t.post("/install-app/ota",async e=>{let i=e.body?.otaUrl;if(!i||typeof i!="string")throw new v("otaUrl is required",400);let n=L(t);return await new _t(t.deviceFarm).installAppOta(n,i),{otaUrl:i}}),t.post("/uninstall-app",async e=>{let i=e.body?.appId;if(!i||typeof i!="string")throw new v("appId is required",400);let n=L(t);return await new _t(t.deviceFarm).uninstallApp(n,i),{appId:i}})}var is=C(require("path"));var Fp=C(Xn()),Np=C(require("fs")),nt=class{client;config;constructor(e){this.config=e,this.client=Lo({baseURL:`https://${e.baseUrl}`,headers:{Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}})}async getArtifacts(e){try{let i=e?{filter:e}:void 0,n=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts`,{params:i});return $(n,200,"list artifacts"),n.data}catch(i){throw g(`Error getting artifacts: ${i.message}`),i}}async getArtifactById(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`);return $(i,200,"get artifact"),i.data}catch(i){throw g(`Error getting artifact: ${i.message}`),i}}async getArtifactStatus(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}/status`);return $(i,200,"get artifact status"),i.data}catch(i){throw g(`Error getting artifact status: ${i.message}`),i}}async downloadArtifact(e){try{let i=await this.client.get(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}/download`,{responseType:"arraybuffer"});return $(i,200,"download artifact"),Buffer.from(i.data)}catch(i){throw g(`Error downloading artifact: ${i.message}`),i}}async deleteArtifact(e){try{let i=await this.client.delete(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`);$(i,200,"delete artifact")}catch(i){throw g(`Error deleting artifact: ${i.message}`),i}}async updateArtifact(e,i){try{let n=await this.client.put(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts/${e}`,i);$(n,200,"update artifact")}catch(n){throw g(`Error updating artifact: ${n.message}`),n}}async uploadArtifactFromBuffer(e){try{let i=new Fp.default;i.append("file",e.fileBuffer,e.fileName),i.append("fileName",e.fileName),e.contentLength&&i.append("contentLength",e.contentLength.toString()),e.private!==void 0&&i.append("private",e.private.toString()),e.alias&&i.append("alias",e.alias),e.checksum&&i.append("checksum",e.checksum),e.target&&i.append("target",e.target);let n={...i.getHeaders(),Authorization:`Bearer ${this.config.apiKey}`},o=await this.client.post(`/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/spaces/artifacts`,i,{headers:n});return $(o,200,"upload artifact"),o.data}catch(i){throw g(`Error uploading artifact: ${i.message}`),i}}async uploadArtifact(e){try{let i=Np.default.readFileSync(e.filePath);return await this.uploadArtifactFromBuffer({fileName:e.fileName,fileBuffer:i,contentLength:e.contentLength,private:e.private,alias:e.alias,checksum:e.checksum,target:e.target})}catch(i){throw g(`Error uploading artifact: ${i.message}`),i}}};function ns(t){t.get("/artifacts",async()=>await new nt(t.deviceFarm).getArtifacts()),t.get("/artifacts/info",async e=>{let i=e.query.id;if(!i)throw new v("id query param is required",400);return await new nt(t.deviceFarm).getArtifactById(i)}),t.post("/artifacts/upload",async e=>{let i=e.body?.filePath;if(!i||typeof i!="string")throw new v("filePath is required",400);let n=is.default.extname(i).toLowerCase(),o=e.body?.target??(n===".apk"?"android":n===".ipa"?"ios":void 0);if(!o)throw new v(`cannot determine target from extension "${n}". Pass target=android|ios.`,400);return await new nt(t.deviceFarm).uploadArtifact({fileName:is.default.basename(i),filePath:i,target:o,alias:e.body?.alias})}),t.post("/artifacts/download",async e=>{let i=fe(e),n=e.body?.artifactId;if(!n||typeof n!="string")throw new v("artifactId is required",400);let o=await new nt(t.deviceFarm).downloadArtifact(n);return ye(i,o)})}var ai=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getCurrentGeolocation(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/geolocation`,n=await B.get(i,{headers:this.headers});return $(n,200,"get geolocation"),k("Successfully retrieved geolocation"),n.data}catch(i){throw g(`Error getting geolocation: ${i}`),i}}async setGeolocation(e,i,n){try{let o=`${this.baseUrl}${this.apiPath}/device/${e}/geolocation`,s=await B.post(o,{lat:i,lng:n},{headers:{...this.headers,"Content-Type":"application/json"}});$(s,200,"set geolocation"),k(`Successfully set geolocation for device ${e}`)}catch(o){throw g(`Error setting geolocation: ${o}`),o}}};var ri=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getIPLocations(){try{let e=`${this.baseUrl}${this.apiPath}/iplocations`,i=await B.get(e,{headers:this.headers});return $(i,200,"get IP locations"),k("Successfully retrieved IP locations"),i.data}catch(e){throw g(`Error getting IP locations: ${e}`),e}}async setIPLocation(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/iplocations`,o=await B.post(n,{countryCode:i},{headers:{...this.headers,"Content-Type":"application/json"}});$(o,200,"set IP location"),k(`Successfully set IP location to ${i} for device ${e}`)}catch(n){throw g(`Error setting IP location: ${n}`),n}}};function os(t){t.get("/geolocation",async()=>{let e=L(t);return await new ai(t.deviceFarm).getCurrentGeolocation(e)}),t.put("/geolocation",async e=>{let i=L(t),{lat:n,lng:o}=e.body??{};if(typeof n!="number"||!Number.isFinite(n)||n<-90||n>90)throw new v("lat must be a number in [-90, 90]",400);if(typeof o!="number"||!Number.isFinite(o)||o<-180||o>180)throw new v("lng must be a number in [-180, 180]",400);return await new ai(t.deviceFarm).setGeolocation(i,n,o),{lat:n,lng:o}}),t.get("/ip-location/list",async()=>await new ri(t.deviceFarm).getIPLocations()),t.post("/ip-location",async e=>{let i=L(t),n=e.body?.countryCode;if(!n||typeof n!="string")throw new v("countryCode is required (ISO-3166-1 alpha-2, or 'DEFAULT' to reset)",400);return await new ri(t.deviceFarm).setIPLocation(i,n),{countryCode:n}})}var ot=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getThrottlingPresets(){try{let e=`${this.baseUrl}${this.apiPath}/devices/throttle/presets`,i=await B.get(e,{headers:this.headers});return $(i,200,"get throttling presets"),k("Successfully retrieved throttling presets"),i.data}catch(e){throw g(`Error getting throttling presets: ${e}`),e}}async getThrottlingStatus(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,n=await B.get(i,{headers:this.headers});return $(n,200,"get throttling status"),k(`Successfully retrieved throttling status for device ${e}`),n.data}catch(i){throw g(`Error getting throttling status: ${i}`),i}}async enableThrottling(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,o=await B.post(n,i,{headers:this.headers});$(o,204,"enable throttling"),k(`Successfully enabled throttling for device ${e} with preset: ${i.preset}`)}catch(n){throw g(`Error enabling throttling: ${n}`),n}}async disableThrottling(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/throttle`,n=await B.delete(i,{headers:this.headers});$(n,204,"disable throttling"),k(`Successfully disabled throttling for device ${e}`)}catch(i){throw g(`Error disabling throttling: ${i}`),i}}};function ss(t){t.get("/throttling/presets",async()=>await new ot(t.deviceFarm).getThrottlingPresets()),t.get("/throttling/status",async()=>{let e=L(t);return await new ot(t.deviceFarm).getThrottlingStatus(e)}),t.post("/throttling/enable",async e=>{let i=L(t),n=e.body?.preset;if(!n||typeof n!="string")throw new v("preset is required (run `throttling-presets` to list)",400);let o={preset:n,downloadKBitsPerSecond:e.body?.downloadKBitsPerSecond,uploadKBitsPerSecond:e.body?.uploadKBitsPerSecond,latencyMs:e.body?.latencyMs};if(n==="custom")for(let s of["downloadKBitsPerSecond","uploadKBitsPerSecond","latencyMs"]){let a=o[s];if(typeof a!="number"||!Number.isFinite(a)||a<0)throw new v(`preset=custom requires ${s} as a non-negative number`,400)}return await new ot(t.deviceFarm).enableThrottling(i,o),{enabled:!0,preset:n,...n==="custom"?{downloadKBitsPerSecond:o.downloadKBitsPerSecond,uploadKBitsPerSecond:o.uploadKBitsPerSecond,latencyMs:o.latencyMs}:{}}}),t.post("/throttling/disable",async()=>{let e=L(t);return await new ot(t.deviceFarm).disableThrottling(e),{enabled:!1}})}var $t=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async startHttpInspection(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/har`;try{k(`Starting HTTP inspection for device: ${e}`);let o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify(i||{})});if(!o.ok){let s=await o.text();throw new I(`Failed to start HTTP inspection: ${o.status} ${o.statusText} - ${s}`,o.status)}return await o.json()}catch(o){throw g(`Error starting HTTP inspection: ${o.message}`),o}}async stopHttpInspection(e,i=!1){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/har${i?"?await=true":""}`;try{k(`Stopping HTTP inspection for device: ${e}, await: ${i}`);let o=await fetch(n,{method:"DELETE",headers:this.headers});if(!o.ok){let s=await o.text();throw new I(`Failed to stop HTTP inspection: ${o.status} ${o.statusText} - ${s}`,o.status)}return i?await o.blob():await o.json()}catch(o){throw g(`Error stopping HTTP inspection: ${o.message}`),o}}async getHarFile(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/har/${e}`;try{k(`Downloading HAR file with ID: ${e}`);let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to download HAR file: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.blob()}catch(n){throw g(`Error downloading HAR file: ${n.message}`),n}}async saveHarFile(e,i){try{k(`Saving HAR file to: ${i}`);let n=await e.arrayBuffer(),o=Buffer.from(n);require("fs").writeFileSync(i,o),k(`HAR file saved successfully to: ${i}`)}catch(n){throw g(`Error saving HAR file: ${n.message}`),n}}};function as(t){t.post("/http-inspection/start",async e=>{let i=L(t),n={};return typeof e.body?.captureBinary=="boolean"&&(n.captureBinary=e.body.captureBinary),typeof e.body?.captureResponseContent=="boolean"&&(n.captureResponseContent=e.body.captureResponseContent),await new $t(t.deviceFarm).startHttpInspection(i,n)}),t.post("/http-inspection/stop",async()=>{let e=L(t);return await new $t(t.deviceFarm).stopHttpInspection(e,!1)}),t.post("/har/download",async e=>{let i=fe(e),n=e.body?.harId;if(!n||typeof n!="string")throw new v("harId is required",400);let o=await new $t(t.deviceFarm).getHarFile(n),s=Buffer.from(await o.arrayBuffer());return ye(i,s)})}var ci=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async startProfiler(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/profiler`,o={appPackage:i},s=await B.post(n,o,{headers:this.headers});$(s,201,"start profiler"),k(`Successfully started profiler for device ${e} on package ${i}`)}catch(n){throw g(`Error starting profiler: ${n}`),n}}async stopProfiler(e,i){try{let n=`${this.baseUrl}${this.apiPath}/device/${e}/profiler`,o=await B.delete(n,{headers:this.headers,responseType:"arraybuffer"});if($(o,200,"stop profiler"),i){let s=require("fs"),r=require("path").dirname(i);return s.existsSync(r)||s.mkdirSync(r,{recursive:!0}),s.writeFileSync(i,o.data),k(`Successfully saved profiler output to ${i}`),i}else return k(`Successfully retrieved profiler output for device ${e}`),o.data}catch(n){throw g(`Error stopping profiler: ${n}`),n}}};function rs(t){t.post("/profiler/start",async e=>{let i=L(t),n=e.body?.appPackage;if(!n||typeof n!="string")throw new v("appPackage is required",400);return await new ci(t.deviceFarm).startProfiler(i,n),{appPackage:n,started:!0}}),t.post("/profiler/stop",async e=>{let i=L(t),n=fe(e),o=await new ci(t.deviceFarm).stopProfiler(i);return ye(n,o)})}var cs=C(require("fs")),ps=C(require("path"));var jp=C(require("fs")),pi=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async injectImageFromBuffer(e,i,n="image/png",o="image.png"){let s=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/image`;try{k(`Injecting image for device: ${e}, fileName: ${o}, size: ${i.length} bytes`);let a=new FormData,r=new Blob([new Uint8Array(i)],{type:n});a.append("file",r,o);let p={Authorization:`Bearer ${this.config.apiKey}`,"X-Content-Type":n,"X-File-Name":o},l=await fetch(s,{method:"POST",headers:p,body:a});if(!l.ok){let c=await l.text();throw new I(`Failed to inject image: ${l.status} ${l.statusText} - ${c}`,l.status)}k(`Successfully injected image for device: ${e}`)}catch(a){throw g(`Error injecting image for device ${e}: ${a.message}`),a}}async injectImage(e,i,n="image/png",o){let s=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/image`;try{k(`Injecting image for device: ${e} from file: ${i}`);let a=jp.readFileSync(i);o||(o=i.split("/").pop()||"image.png");let r=new FormData,p=new Blob([new Uint8Array(a)],{type:n});r.append("file",p,o);let l={Authorization:`Bearer ${this.config.apiKey}`,"X-Content-Type":n,"X-File-Name":o},c=await fetch(s,{method:"POST",headers:l,body:r});if(!c.ok){let d=await c.text();throw new I(`Failed to inject image: ${c.status} ${c.statusText} - ${d}`,c.status)}k(`Successfully injected image for device: ${e}`)}catch(a){throw g(`Error injecting image: ${a.message}`),a}}async injectTouch(e,i){let n=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/device/${e}/injection/touch`;try{k(`Injecting biometric touch for device: ${e} with valid=${i}`);let o=await fetch(n,{method:"POST",headers:this.headers,body:JSON.stringify({touchValid:i})});if(!o.ok){let s=await o.text();throw new I(`Failed to inject touch event: ${o.status} ${o.statusText} - ${s}`,o.status)}k(`Successfully injected biometric touch for device: ${e}`)}catch(o){throw g(`Error injecting touch event: ${o.message}`),o}}};function ls(t){t.post("/inject-image",async e=>{let i=L(t),n=e.body?.imagePath;if(!n||typeof n!="string")throw new v("imagePath is required",400);if(!cs.default.existsSync(n))throw new v(`image not found at ${n}`,400);let o=cs.default.readFileSync(n),s={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp"},a=ps.default.extname(n).toLowerCase(),r=e.body?.contentType||s[a]||"image/png",p=e.body?.fileName||ps.default.basename(n);return await new pi(t.deviceFarm).injectImageFromBuffer(i,o,r,p),{fileName:p,contentType:r,bytes:o.length}}),t.post("/inject-touch",async e=>{let i=L(t),n=e.body?.touchValid;if(typeof n!="boolean")throw new v("touchValid is required (boolean)",400);return await new pi(t.deviceFarm).injectTouch(i,n),{touchValid:n}})}var Bp=C(require("fs"));var rn=C(require("fs")),Up=C(require("path")),Ft=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`}baseUrl;headers;apiPath;async getAppiumLog(e,i){try{let n=`${this.baseUrl}${this.apiPath}/appium/${e}/appium-log`,o=await B.get(n,{headers:this.headers,responseType:i?"arraybuffer":"text"});if($(o,200,"get Appium log"),i){let s=Up.default.dirname(i);return rn.default.existsSync(s)||rn.default.mkdirSync(s,{recursive:!0}),rn.default.writeFileSync(i,o.data),k(`Successfully saved Appium log to ${i}`),i}else return k(`Successfully retrieved Appium log for session ${e}`),o.data}catch(n){throw g(`Error getting Appium log: ${n}`),n}}async getDeviceCrashlogs(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/crashlogs`,n=await B.get(i,{headers:this.headers,responseType:"arraybuffer"});return $(n,200,"get device crashlogs"),n.data}catch(i){throw g(`Error getting device crashlogs: ${i}`),i}}async startDeviceLogsRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/logs`,n=await B.post(i,{},{headers:this.headers});$(n,204,"start device logs recording"),k(`Successfully started log recording for device ${e}`)}catch(i){throw g(`Error starting device logs recording: ${i}`),i}}async stopDeviceLogsRecording(e){try{let i=`${this.baseUrl}${this.apiPath}/device/${e}/logs`,n=await B.delete(i,{headers:this.headers});return $(n,200,"stop device logs recording"),k(`Successfully stopped log recording for device ${e}`),n.data}catch(i){throw g(`Error stopping device logs recording: ${i}`),i}}};function us(t){t.post("/recording/start",async()=>{let e=L(t),i=await new Le(t.deviceFarm).startRecording(e);return t.state.recordingActive=!0,i}),t.post("/recording/stop",async()=>{let e=L(t),i=await new Le(t.deviceFarm).stopRecording(e);return t.state.recordingActive=!1,i}),t.post("/recording/download",async e=>{let i=fe(e),n=e.body?.recordingId;if(!n||typeof n!="string")throw new v("recordingId is required",400);let o=new Le(t.deviceFarm),s=3e4,a=[1e3,2e3,3e3,5e3];try{let r=Date.now(),p=0;for(;;)try{await o.downloadRecording(n,i);break}catch(l){if(!Xo(l)||Date.now()-r>=s)throw l;await new Promise(c=>setTimeout(c,a[Math.min(p,a.length-1)])),p++}}catch(r){throw Xo(r)?new v(`recording ${n} not ready after ${s/1e3}s \u2014 verify recording-stop succeeded, then retry`,404):r}return{path:i,bytes:Bp.default.statSync(i).size}}),t.post("/logs/start",async()=>{let e=L(t);return await new Ft(t.deviceFarm).startDeviceLogsRecording(e),{started:!0}}),t.post("/logs/stop",async()=>{let e=L(t);return await new Ft(t.deviceFarm).stopDeviceLogsRecording(e)}),t.post("/crashlogs",async e=>{let i=L(t),n=fe(e),o=await new Ft(t.deviceFarm).getDeviceCrashlogs(i);return ye(n,o)})}var st=class{constructor(e){this.config=e;this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"}}baseUrl;headers;async createTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso`;try{k(`Creating Espresso test run with app artifact: ${e.app_artifact_id}, test artifact: ${e.test_artifact_id}`);let n=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!n.ok){let o=await n.text();throw new I(`Failed to create Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw g(`Error creating Espresso test run: ${n.message}`),n}}async getTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso/${e}`;try{k(`Getting Espresso test run: ${e}`);let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to get Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw g(`Error getting Espresso test run: ${n.message}`),n}}async getTestRuns(){let e=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso`;try{k("Getting all Espresso test runs");let i=await fetch(e,{method:"GET",headers:this.headers});if(!i.ok){let n=await i.text();throw new I(`Failed to get Espresso test runs: ${i.status} ${i.statusText} - ${n}`,i.status)}return await i.json()}catch(i){throw g(`Error getting Espresso test runs: ${i.message}`),i}}async cancelTestRun(e){let i=`${this.baseUrl}/billing/unit/${this.config.slug}/workspace/${this.config.wid}/automation/api/v1/tests/espresso/${e}/cancel`;try{k(`Cancelling Espresso test run: ${e}`);let n=await fetch(i,{method:"PUT",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to cancel Espresso test run: ${n.status} ${n.statusText} - ${o}`,n.status)}}catch(n){throw g(`Error cancelling Espresso test run: ${n.message}`),n}}};function ds(t){t.get("/espresso/runs",async()=>await new st(t.deviceFarm).getTestRuns()),t.get("/espresso/runs/:id",async e=>await new st(t.deviceFarm).getTestRun(e.params.id)),t.post("/espresso/runs",async e=>{let i=e.body;if(!i?.app_artifact_id||typeof i.app_artifact_id!="string")throw new v("app_artifact_id is required",400);if(!i.test_artifact_id||typeof i.test_artifact_id!="string")throw new v("test_artifact_id is required",400);if(!i.runner_class||typeof i.runner_class!="string")throw new v("runner_class is required",400);return await new st(t.deviceFarm).createTestRun(i)}),t.delete("/espresso/runs/:id",async e=>(await new st(t.deviceFarm).cancelTestRun(e.params.id),{cancelled:!0,id:e.params.id}))}var at=class{config;baseUrl;headers;apiPath;constructor(e){this.baseUrl=`https://${e.baseUrl}`,this.headers={Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},this.apiPath=`/billing/unit/${e.slug}/workspace/${e.wid}/automation/api`,this.config=e}async createTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest`;k(`Creating XCUITest test run: ${JSON.stringify(e)}`);try{let n=await fetch(i,{method:"POST",headers:this.headers,body:JSON.stringify(e)});if(!n.ok){let s=await n.text();throw new I(`Failed to create XCUITest test run: ${n.status} ${n.statusText} - ${s}`,n.status)}let o=await n.json();return k(`Created XCUITest test run: ${o.id}`),o}catch(n){throw g(`Error creating XCUITest test run: ${n}`),n}}async getTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest/${e}`;k(`Getting XCUITest test run: ${e}`);try{let n=await fetch(i,{method:"GET",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to get XCUITest test run: ${n.status} ${n.statusText} - ${o}`,n.status)}return await n.json()}catch(n){throw g(`Error getting XCUITest test run: ${n}`),n}}async getTestRuns(){let e=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest`;k("Getting all XCUITest test runs");try{let i=await fetch(e,{method:"GET",headers:this.headers});if(!i.ok){let n=await i.text();throw new I(`Failed to get XCUITest test runs: ${i.status} ${i.statusText} - ${n}`,i.status)}return await i.json()}catch(i){throw g(`Error getting XCUITest test runs: ${i}`),i}}async cancelTestRun(e){let i=`${this.baseUrl}${this.apiPath}/v1/tests/xcuitest/${e}/cancel`;k(`Cancelling XCUITest test run: ${e}`);try{let n=await fetch(i,{method:"PUT",headers:this.headers});if(!n.ok){let o=await n.text();throw new I(`Failed to cancel XCUITest test run: ${n.status} ${n.statusText} - ${o}`,n.status)}k(`Successfully cancelled XCUITest test run: ${e}`)}catch(n){throw g(`Error cancelling XCUITest test run: ${n}`),n}}};function ms(t){t.get("/xcuitest/runs",async()=>await new at(t.deviceFarm).getTestRuns()),t.get("/xcuitest/runs/:id",async e=>await new at(t.deviceFarm).getTestRun(e.params.id)),t.post("/xcuitest/runs",async e=>{let i=e.body;if(!i?.serial||typeof i.serial!="string")throw new v("serial is required",400);if(!i.app_artifact_id||typeof i.app_artifact_id!="string")throw new v("app_artifact_id is required",400);if(!i.test_artifact_id||typeof i.test_artifact_id!="string")throw new v("test_artifact_id is required",400);return await new at(t.deviceFarm).createTestRun(i)}),t.delete("/xcuitest/runs/:id",async e=>(await new at(t.deviceFarm).cancelTestRun(e.params.id),{cancelled:!0,id:e.params.id}))}var fs=C(require("fs"));function hs(t){t.post("/job",async e=>{It(t);let i=t.state.activeDevice;if(!i)throw new v("no active device \u2014 run device-use first",400);let{scriptPath:n,artifactDir:o,capabilities:s,timeoutMs:a}=e.body??{};if(!n||typeof n!="string")throw new v("scriptPath is required",400);if(!o||typeof o!="string")throw new v("artifactDir is required",400);if(a!==void 0&&(!Number.isFinite(a)||a<=0))throw new v("timeoutMs must be a positive number (ms)",400);if(s!==void 0&&(s===null||typeof s!="object"||Array.isArray(s)))throw new v("capabilities must be a JSON object",400);if(t.state.robot){try{await t.state.robot.close()}catch{}t.state.robot=null,t.state.snapshotRefs=null}let r=await Ns({deviceFarm:t.deviceFarm,serial:i,scriptPath:n,artifactDir:o,capabilities:s,timeoutMs:a});return t.state.currentJob=r,ze(r)}),t.get("/job",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);return ze(e)}),t.get("/job/logs",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);if(!fs.default.existsSync(e.logPath))throw new v(`log file missing: ${e.logPath}`,404);return{logPath:e.logPath,content:fs.default.readFileSync(e.logPath,"utf8")}}),t.delete("/job",async()=>{let e=t.state.currentJob;if(!e)throw new v("no job submitted",404);return Ae(e)?(await dt(e),ze(e)):{...ze(e),noop:!0}})}function gs(t){t.get("/status",async()=>({activeDevice:t.state.activeDevice,sessionType:t.state.activeDevice?t.state.sessionType:null,recordingActive:t.state.recordingActive,currentJob:t.state.currentJob?ze(t.state.currentJob):null})),t.post("/stop",async(e,i)=>{if(t.state.currentJob)try{await dt(t.state.currentJob)}catch{}try{await Yo(t)}catch(n){return i.code(500),{error:`release failed: ${n.message}`}}i.send({status:"stopping"}),setImmediate(async()=>{await t.close(),process.exit(0)})})}function Lp(t){Ko(t),Zo(t),Qo(t),es(t),ts(t),ns(t),os(t),ss(t),as(t),rs(t),ls(t),us(t),ds(t),ms(t),hs(t),gs(t)}var qp=new ln.Command("stop").description("Stop Mobitru CLI daemon (releases the active device first)").action(async()=>{if(!await li(de)){console.log("not running");return}await x(de,"POST","/stop"),console.log("stopped")}),Dp=new ln.Command("status").description("Show Mobitru CLI daemon state \u2014 running, active device, session type, recording flag").action(async()=>{if(!await li(de)){console.log(JSON.stringify({running:!1},null,2));return}let e=await x(de,"GET","/status");console.log(JSON.stringify({running:!0,...e},null,2))}),cn="start",pn="MOBITRU_DAEMON_INTERNAL",Mp=new ln.Command(cn).description("[internal] Start Mobitru CLI daemon").action(async()=>{process.env[pn]!=="1"&&(console.error(`'${cn}' is an internal command. Run any other command (e.g. 'snapshot') and the daemon will start automatically.`),process.exit(1)),delete process.env[pn],await Bs(de,Lp)});var Pg=1e4;async function b(){if(await li(de))return de;await Rg(yn);try{return await li(de)?de:(await Og(),de)}finally{Ag(yn)}}function li(t){return new Promise(e=>{if(process.platform!=="win32"&&!he.default.existsSync(t)){e(!1);return}let i=Jp.default.createConnection(t);i.once("connect",()=>{i.end(),e(!0)}),i.once("error",()=>e(!1))})}async function Rg(t){let e=Hp.default.dirname(t);for(he.default.existsSync(e)||he.default.mkdirSync(e,{recursive:!0});;)try{let i=he.default.openSync(t,he.default.constants.O_CREAT|he.default.constants.O_EXCL|he.default.constants.O_WRONLY);he.default.closeSync(i);return}catch(i){if(i.code!=="EEXIST")throw i;try{let n=he.default.statSync(t);if(Date.now()-n.mtimeMs>Pg){he.default.unlinkSync(t);continue}}catch{continue}await Ig(50)}}function Ag(t){try{he.default.unlinkSync(t)}catch{}}function Og(){let t=process.argv[1],e=(0,zp.spawn)(process.execPath,[t,cn],{detached:!0,stdio:["ignore","pipe","pipe"],env:{...process.env,[pn]:"1"}}),i=8192,n="";e.stderr.on("data",l=>{n.length<i&&(n+=l.toString("utf8"))});let o=1e4,s=new Promise((l,c)=>{e.stdout.once("data",()=>l()),e.once("error",d=>{c(new Error(`Daemon spawning failed: ${d.message}`))}),e.once("exit",d=>{let f=n.trim(),S=f?`
146
+ ${f}`:"";c(new Error(`Daemon exited with code ${d}${S}`))})}),a,r,p=new Promise((l,c)=>{r=l,a=setTimeout(()=>{e.kill("SIGKILL");let d=n.trim(),f=d?`
147
+ ${d}`:"";c(new Error(`Daemon did not become ready in ${o}ms${f}`))},o)});return Promise.race([s,p]).finally(()=>{clearTimeout(a),r(),e.stdout.destroy(),e.stderr.destroy(),e.unref()})}var Ig=t=>new Promise(e=>setTimeout(e,t));var Vp=new un.Command("device-list").description("List all available devices for a platform").argument("<platform>",`Platform: ${At.join(" or ")}`).action(async t=>{en(t)||(console.error(`Invalid platform: ${t}. Expected one of: ${At.join(", ")}.`),process.exit(1));let e=await b(),i=await x(e,"GET",`/devices?platform=${t}`);console.log(JSON.stringify(i,null,2))}),Wp=new un.Command("device-use").description("Take a cloud device for use (default: native session; use --web for browser session)").argument("<serial>","Device serial number").option("-d, --duration <minutes>","Session duration in minutes","180").option("--web","Start a web (browser) Appium session instead of native").action(async(t,e)=>{let i=Number(e.duration);(!Number.isInteger(i)||i<=0)&&(console.error(`Invalid duration: ${e.duration}. Expected a positive integer.`),process.exit(1));let n=e.web?"web":"native",o=await b(),s=await x(o,"POST","/device/use",{serial:t,duration:i,sessionType:n});console.log(JSON.stringify(s,null,2))}),Gp=new un.Command("device-release").description("Release currently used device").action(async()=>{let t=await b(),e=await x(t,"POST","/device/release");console.log(JSON.stringify(e,null,2))});var ui=require("commander");var Xp=new ui.Command("bookings-list").description("List bookings in the workspace (returns ISO dates)").option("--till <iso>","Upper time limit (ISO 8601); only bookings starting before this are returned").action(async t=>{let e=await b(),i="/bookings";if(t.till){let o=Math.floor(new Date(t.till).getTime()/1e3);Number.isFinite(o)||(console.error(`Invalid --till value: "${t.till}". Use ISO 8601.`),process.exit(1)),i+=`?till=${o}`}let n=await x(e,"GET",i);console.log(JSON.stringify(n,null,2))}),Kp=new ui.Command("bookings-info").description("Get details of a single booking by id").argument("<booking-id>","Booking id from bookings-list or booking-create").action(async t=>{let e=await b(),i=await x(e,"GET",`/bookings/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),Yp=new ui.Command("booking-create").description("Schedule a future booking (one or more devices)").requiredOption("--name <name>","Booking name").requiredOption("--start <iso>","Start time (ISO 8601)").requiredOption("--end <iso>","End time (ISO 8601)").requiredOption("--devices <serials>","Comma-separated device serials").option("--offset <min>","Timezone offset in minutes from UTC (default: local)",t=>parseInt(t,10)).option("--private","Mark booking as private").action(async t=>{let e=Math.floor(new Date(t.start).getTime()/1e3),i=Math.floor(new Date(t.end).getTime()/1e3);(!Number.isFinite(e)||!Number.isFinite(i))&&(console.error("Invalid --start or --end. Use ISO 8601 (e.g. 2026-05-15T10:00:00Z)."),process.exit(1));let n=t.offset??new Date().getTimezoneOffset(),o=t.devices.split(",").map(p=>p.trim()).filter(Boolean);o.length===0&&(console.error("--devices must contain at least one serial."),process.exit(1));let s={name:t.name,start:e,end:i,offset:n,devices:o};t.private&&(s.isPrivate=!0);let a=await b(),r=await x(a,"POST","/bookings",s);console.log(JSON.stringify(r,null,2))}),Zp=new ui.Command("booking-cancel").description("Cancel a future booking by id").argument("<booking-id>","Booking id from bookings-list or booking-create").action(async t=>{let e=await b(),i=await x(e,"DELETE",`/bookings/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var rt=require("commander");var Qp=new rt.Command("launch").description("Launch an app by its package name (Android) or bundle ID (iOS)").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"POST","/launch",{appId:t});console.log(JSON.stringify(i,null,2))}),el=new rt.Command("terminate").description("Stop a running app by its package name (Android) or bundle ID (iOS)").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"POST","/terminate",{appId:t});console.log(JSON.stringify(i,null,2))}),tl=new rt.Command("is-installed").description("Check whether an app is installed on the active device").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"GET",`/is-installed?app=${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),il=new rt.Command("install-app").description("Install an uploaded artifact onto the active device. Blocks until done.").argument("<artifact-id>","Artifact ID from artifacts-upload / artifacts-list").action(async t=>{let e=await b(),i=await x(e,"POST","/install-app",{artifactId:t});console.log(JSON.stringify(i,null,2))}),nl=new rt.Command("install-app-ota").description("Install an app via OTA manifest URL (iOS only)").argument("<ota-url>","OTA manifest URL (e.g. https://.../app.plist)").action(async t=>{let e=await b(),i=await x(e,"POST","/install-app/ota",{otaUrl:t});console.log(JSON.stringify(i,null,2))}),ol=new rt.Command("uninstall-app").description("Uninstall an app from the active device by package name / bundle ID").argument("<app-id>","Android package name or iOS bundle ID").action(async t=>{let e=await b(),i=await x(e,"POST","/uninstall-app",{appId:t});console.log(JSON.stringify(i,null,2))});var di=require("commander"),sl=C(require("fs")),mn=C(require("path"));var dn=C(require("path"));function ke(){return dn.default.resolve(process.env.MOBILE_CLI_OUTPUT_DIR??dn.default.join(process.cwd(),".mobitru-mobile-cli"))}function ct(t){return dn.default.join(ke(),`${t}-${Date.now()}`)}var al=new di.Command("artifacts-list").description("List artifacts uploaded to the workspace").action(async()=>{let t=await b(),e=await x(t,"GET","/artifacts");console.log(JSON.stringify(e,null,2))}),rl=new di.Command("artifacts-info").description("Show metadata + processing status for an uploaded artifact").argument("<artifact-id>","Artifact ID returned by artifacts-upload / artifacts-list").action(async t=>{let e=await b(),i=await x(e,"GET",`/artifacts/info?id=${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),cl=new di.Command("artifacts-upload").description("Upload an APK or IPA. Blocks until the cloud finishes processing.").argument("<file>","Path to .apk (Android) or .ipa (iOS)").option("--target <platform>","Override auto-detection: android or ios").option("--alias <name>","Friendly name for the artifact").action(async(t,e)=>{sl.default.existsSync(t)||(console.error(`File not found: ${t}`),process.exit(1));let i=mn.default.resolve(t),n=await b(),o={filePath:i};e.target&&(o.target=e.target),e.alias&&(o.alias=e.alias);let s=await x(n,"POST","/artifacts/upload",o);console.log(JSON.stringify(s,null,2))}),pl=new di.Command("artifacts-download").description("Download an artifact (logs zip from logs-stop, uploaded APK/IPA, etc.) by id").argument("<artifact-id>","Artifact ID").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/artifact-<id>)").action(async(t,e)=>{let i=e.output?mn.default.resolve(e.output):mn.default.join(ke(),`artifact-${t}`),n=await b(),o=await x(n,"POST","/artifacts/download",{artifactId:t,savePath:i});console.log(JSON.stringify(o,null,2))});var pt=require("commander"),xs=C(require("path"));var ll=new pt.Command("recording-start").description("Start screen recording on the active device. Returns the max recording duration.").action(async()=>{let t=await b(),e=await x(t,"POST","/recording/start");console.log(JSON.stringify(e,null,2))}),ul=new pt.Command("recording-stop").description("Stop screen recording. Returns the recordingId for recording-download.").action(async()=>{let t=await b(),e=await x(t,"POST","/recording/stop");console.log(JSON.stringify(e,null,2))}),dl=new pt.Command("recording-download").description("Download a stopped recording as MP4").argument("<recording-id>","Recording ID from recording-stop").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/recording-<ts>.mp4)").action(async(t,e)=>{let i=e.output?xs.default.resolve(e.output):`${ct("recording")}.mp4`,n=await b(),o=await x(n,"POST","/recording/download",{recordingId:t,savePath:i});console.log(JSON.stringify(o,null,2))}),ml=new pt.Command("logs-start").description("Start device logs (logcat / syslog) capture on the active device").action(async()=>{let t=await b(),e=await x(t,"POST","/logs/start");console.log(JSON.stringify(e,null,2))}),fl=new pt.Command("logs-stop").description("Stop logs capture. Returns artifactId \u2014 pass to artifacts-download.").action(async()=>{let t=await b(),e=await x(t,"POST","/logs/stop");console.log(JSON.stringify(e,null,2))}),hl=new pt.Command("crashlogs").description("Download device crashlogs as a zip").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/crashlogs-<ts>.zip)").action(async t=>{let e=t.output?xs.default.resolve(t.output):`${ct("crashlogs")}.zip`,i=await b(),n=await x(i,"POST","/crashlogs",{savePath:e});console.log(JSON.stringify(n,null,2))});var ge=require("commander"),mi=C(require("path"));var gl=new ge.Command("screenshot").description("Take a screenshot of the active device").option("-o, --output <path>","Output file path (default: <CWD>/.mobitru-mobile-cli/screenshot-<ts>.png)").action(async t=>{let e=t.output?mi.default.resolve(t.output):mi.default.join(ke(),`screenshot-${Date.now()}.png`),i=await b(),n=await x(i,"POST","/screenshot",{savePath:e});console.log(JSON.stringify(n,null,2))}),xl=new ge.Command("screen-size").description("Get the screen size of the active device in pixels").action(async()=>{let t=await b(),e=await x(t,"GET","/screen-size");console.log(JSON.stringify(e,null,2))}),vl=new ge.Command("snapshot").description("Capture accessibility tree; writes full tree to disk, prints {path, refCount}").option("-o, --output <path>","Output file path (default: <CWD>/.mobitru-mobile-cli/snapshot-<ts>.json)").action(async t=>{let e=t.output?mi.default.resolve(t.output):mi.default.join(ke(),`snapshot-${Date.now()}.json`),i=await b(),n=await x(i,"POST","/snapshot",{savePath:e});console.log(JSON.stringify(n,null,2))}),bl=new ge.Command("tap").description("Tap an element by ref (e.g. 'e3' from snapshot output)").argument("<ref>","Element ref from the last snapshot").action(async t=>{let e=await b(),i=await x(e,"POST","/tap",{ref:t});console.log(JSON.stringify(i,null,2))}),yl=new ge.Command("tap-at").description("Tap at raw pixel coordinates. Use when target is invisible to snapshot (e.g. empty Material text fields) \u2014 infer position from gap between visible labels.").argument("<x>","x coordinate in device pixels").argument("<y>","y coordinate in device pixels").action(async(t,e)=>{let i=Number(t),n=Number(e);(!Number.isFinite(i)||!Number.isFinite(n))&&(console.error(`Invalid coordinates: x=${t} y=${e}`),process.exit(1));let o=await b(),s=await x(o,"POST","/tap-at",{x:i,y:n});console.log(JSON.stringify(s,null,2))}),wl=new ge.Command("type").description("Type text into the focused element (tap a text field first)").argument("<text>","Text to type").option("--submit","Press ENTER after typing").action(async(t,e)=>{let i=await b(),n={text:t};e.submit&&(n.submit=!0);let o=await x(i,"POST","/type",n);console.log(JSON.stringify(o,null,2))}),Sl=new ge.Command("swipe").description("Swipe on the screen in a direction").argument("<direction>","up, down, left or right").option("-f, --force <value>","swipe distance as fraction of screen (0\u20131, default 0.5)",parseFloat).action(async(t,e)=>{let i=await b(),n={direction:t};e.force!==void 0&&(n.force=e.force);let o=await x(i,"POST","/swipe",n);console.log(JSON.stringify(o,null,2))}),El=new ge.Command("continuous-swipe").description("Drag through 2-20 coordinates: continuous-swipe 100,200 100,500 ...").argument("<points...>","Comma-separated x,y pairs (e.g. 100,200 100,500)").action(async t=>{let e=t.map((o,s)=>{let[a,r]=o.split(","),p=Number(a),l=Number(r);return(!Number.isFinite(p)||!Number.isFinite(l))&&(console.error(`Invalid point #${s+1}: "${o}". Expected "x,y".`),process.exit(1)),{x:p,y:l}}),i=await b(),n=await x(i,"POST","/continuous-swipe",{points:e});console.log(JSON.stringify(n,null,2))}),Tl=new ge.Command("press").description("Press a device button (HOME, BACK, VOLUME_UP/DOWN, ENTER, DPAD_*)").argument("<button>","Button name (case-insensitive)").action(async t=>{let e=await b(),i=await x(e,"POST","/press",{button:t});console.log(JSON.stringify(i,null,2))}),kl=new ge.Command("get-orientation").description("Get the current screen orientation of the active device").action(async()=>{let t=await b(),e=await x(t,"GET","/orientation");console.log(JSON.stringify(e,null,2))}),Cl=new ge.Command("set-orientation").description("Set the screen orientation (portrait or landscape)").argument("<orientation>","portrait or landscape").action(async t=>{let e=await b(),i=await x(e,"PUT","/orientation",{orientation:t});console.log(JSON.stringify(i,null,2))});var vs=require("commander");var Pl=new vs.Command("open-url").description("Open a URL in the device's default browser (web session only)").argument("<url>","URL to open (https://, custom schemes like myapp://)").action(async t=>{let e=await b(),i=await x(e,"POST","/open-url",{url:t});console.log(JSON.stringify(i,null,2))}),Rl=new vs.Command("click-web-element").description("Click a DOM element by CSS selector (web session only)").argument("<selector>","CSS selector (e.g. 'button.signin', '#login')").action(async t=>{let e=await b(),i=await x(e,"POST","/click-web-element",{selector:t});console.log(JSON.stringify(i,null,2))});var fi=require("commander");var Al=new fi.Command("geolocation-get").description("Get the active device's current geolocation (lat/lng)").action(async()=>{let t=await b(),e=await x(t,"GET","/geolocation");console.log(JSON.stringify(e,null,2))}),Ol=new fi.Command("geolocation-set").description("Spoof the active device's geolocation (WGS84 lat/lng)").argument("<lat>","Latitude in [-90, 90]",parseFloat).argument("<lng>","Longitude in [-180, 180]",parseFloat).action(async(t,e)=>{let i=await b(),n=await x(i,"PUT","/geolocation",{lat:t,lng:e});console.log(JSON.stringify(n,null,2))}),Il=new fi.Command("ip-location-list").description("List available IP locations (global \u2014 no active device required)").action(async()=>{let t=await b(),e=await x(t,"GET","/ip-location/list");console.log(JSON.stringify(e,null,2))}),_l=new fi.Command("ip-location-set").description("Set the device's outbound IP location by country code (or DEFAULT to reset)").argument("<country-code>","ISO-3166-1 alpha-2 (e.g. US, DE) or 'DEFAULT'").action(async t=>{let e=await b(),i=await x(e,"POST","/ip-location",{countryCode:t});console.log(JSON.stringify(i,null,2))});var hi=require("commander");var $l=new hi.Command("throttling-presets").description("List available network throttling presets (global \u2014 no active device required)").action(async()=>{let t=await b(),e=await x(t,"GET","/throttling/presets");console.log(JSON.stringify(e,null,2))}),Fl=new hi.Command("throttling-status").description("Get the current throttling state of the active device").action(async()=>{let t=await b(),e=await x(t,"GET","/throttling/status");console.log(JSON.stringify(e,null,2))}),Nl=new hi.Command("throttling-enable").description("Enable network throttling on the active device (use `throttling-presets` to list options)").argument("<preset>","Preset name (e.g. 3g, 4g, edge, custom)").option("--download <kbps>","Download bandwidth in kbps (required for preset=custom)",parseInt).option("--upload <kbps>","Upload bandwidth in kbps (required for preset=custom)",parseInt).option("--latency <ms>","Latency in ms (required for preset=custom)",parseInt).action(async(t,e)=>{let i=await b(),n={preset:t};e.download!==void 0&&(n.downloadKBitsPerSecond=e.download),e.upload!==void 0&&(n.uploadKBitsPerSecond=e.upload),e.latency!==void 0&&(n.latencyMs=e.latency);let o=await x(i,"POST","/throttling/enable",n);console.log(JSON.stringify(o,null,2))}),jl=new hi.Command("throttling-disable").description("Disable network throttling on the active device").action(async()=>{let t=await b(),e=await x(t,"POST","/throttling/disable");console.log(JSON.stringify(e,null,2))});var fn=require("commander"),Ul=C(require("path"));var Bl=new fn.Command("http-inspection-start").description("Start HTTP inspection on the active device (Android only); returns harId").option("--capture-binary","Capture binary request/response payloads (default: false)").option("--no-capture-response-content","Skip textual response payloads (default: capture)").action(async t=>{let e=await b(),i={};t.captureBinary!==void 0&&(i.captureBinary=t.captureBinary),t.captureResponseContent!==void 0&&(i.captureResponseContent=t.captureResponseContent);let n=await x(e,"POST","/http-inspection/start",i);console.log(JSON.stringify(n,null,2))}),Ll=new fn.Command("http-inspection-stop").description("Stop HTTP inspection on the active device; returns harId for `har-download`").action(async()=>{let t=await b(),e=await x(t,"POST","/http-inspection/stop");console.log(JSON.stringify(e,null,2))}),ql=new fn.Command("har-download").description("Download a finalized HAR file by id").argument("<har-id>","HAR ID from http-inspection-start/stop").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/har-<ts>.har)").action(async(t,e)=>{let i=e.output?Ul.default.resolve(e.output):`${ct("har")}.har`,n=await b(),o=await x(n,"POST","/har/download",{harId:t,savePath:i});console.log(JSON.stringify(o,null,2))});var bs=require("commander"),Dl=C(require("path"));var Ml=new bs.Command("profiler-start").description("Start CPU/memory profiler against the named app package on the active device").argument("<app-package>","App package (Android) / bundle ID (iOS) to profile").action(async t=>{let e=await b(),i=await x(e,"POST","/profiler/start",{appPackage:t});console.log(JSON.stringify(i,null,2))}),zl=new bs.Command("profiler-stop").description("Stop profiler and download the .profile file").option("-o, --output <path>","Output file (default: <CWD>/.mobitru-mobile-cli/profiler-<ts>.profile)").action(async t=>{let e=t.output?Dl.default.resolve(t.output):`${ct("profiler")}.profile`,i=await b(),n=await x(i,"POST","/profiler/stop",{savePath:e});console.log(JSON.stringify(n,null,2))});var ys=require("commander"),Jl=C(require("path"));var Hl=new ys.Command("inject-image").description("Inject an image as the device camera input (target app must be installed with doInjection=true)").argument("<path>","Path to the image file (max 5 MB)").option("--content-type <mime>","Override the inferred MIME type (default: by extension)").option("--name <filename>","Override the file name reported to the cloud (default: basename of path)").action(async(t,e)=>{let n={imagePath:Jl.default.resolve(t)};e.contentType&&(n.contentType=e.contentType),e.name&&(n.fileName=e.name);let o=await b(),s=await x(o,"POST","/inject-image",n);console.log(JSON.stringify(s,null,2))}),Vl=new ys.Command("inject-touch").description("Inject a biometric touch event (target app must be installed with doInjection=true and awaiting auth)").argument("<result>","'valid' (success) or 'invalid' (failure)").action(async t=>{let e=t.toLowerCase();e!=="valid"&&e!=="invalid"&&(console.error(`Invalid argument "${t}". Expected 'valid' or 'invalid'.`),process.exit(1));let i=await b(),n=await x(i,"POST","/inject-touch",{touchValid:e==="valid"});console.log(JSON.stringify(n,null,2))});var gi=require("commander");var Wl=(t,e=[])=>[...e,t],Gl=new gi.Command("espresso-list").description("List Espresso test runs in the workspace").action(async()=>{let t=await b(),e=await x(t,"GET","/espresso/runs");console.log(JSON.stringify(e,null,2))}),Xl=new gi.Command("espresso-status").description("Get a single Espresso test run by id").argument("<id>","Test run id from espresso-run or espresso-list").action(async t=>{let e=await b(),i=await x(e,"GET",`/espresso/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),Kl=new gi.Command("espresso-run").description("Create a new Espresso test run").requiredOption("--app <artifact-id>","Artifact ID of Android app APK to install before test run").requiredOption("--test <artifact-id>","Artifact ID of Espresso test APK to install before test run").requiredOption("--runner <class>","Runner class name").option("--serial <serial>","Device serial to run tests on").option("--device-name <name>","Device name to run tests on").option("--platform-version <ver>","Platform version to run tests on").option("--filter <expr>","Test filter (repeatable). Allowed filter types are class, notClass, package, notPackage, tests_regex, size, annotation, notAnnotation and filter",Wl).option("--instrument-option <kv>","Instrument option (repeatable). Use to provide extra options for a test runner",Wl).option("--shards <n>","Max number of shards to evenly distribute test cases. Default is 1",t=>parseInt(t,10)).option("--duration <min>","Desired device session duration in minutes, max value is 180 minutes, default 180 minutes",t=>parseInt(t,10)).action(async t=>{let e={app_artifact_id:t.app,test_artifact_id:t.test,runner_class:t.runner},i={};t.serial&&(i.serial=t.serial),t.deviceName&&(i.name=t.deviceName),t.platformVersion&&(i.platform_version=t.platformVersion),Object.keys(i).length&&(e.device_spec=i),t.filter?.length&&(e.test_filters=t.filter),t.instrumentOption?.length&&(e.instrument_options=t.instrumentOption),t.shards!==void 0&&(e.shard_number=t.shards),t.duration!==void 0&&(e.duration=t.duration);let n=await b(),o=await x(n,"POST","/espresso/runs",e);console.log(JSON.stringify(o,null,2))}),Yl=new gi.Command("espresso-cancel").description("Cancel an in-flight Espresso test run by id").argument("<id>","Test run id").action(async t=>{let e=await b(),i=await x(e,"DELETE",`/espresso/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var xi=require("commander");var Zl=new xi.Command("xcuitest-list").description("List XCUITest test runs in the workspace").action(async()=>{let t=await b(),e=await x(t,"GET","/xcuitest/runs");console.log(JSON.stringify(e,null,2))}),Ql=new xi.Command("xcuitest-status").description("Get a single XCUITest test run by id").argument("<id>","Test run id from xcuitest-run or xcuitest-list").action(async t=>{let e=await b(),i=await x(e,"GET",`/xcuitest/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))}),eu=new xi.Command("xcuitest-run").description("Create a new XCUITest test run").requiredOption("--serial <serial>","Device ID to run tests on").requiredOption("--app <artifact-id>","Artifact ID of iOS app IPA to install before test run").requiredOption("--test <artifact-id>","Artifact ID of XCUITest runner IPA to install before test run").option("--no-resign","Resign apps with Mobitru profile before installation, default is true").action(async t=>{let e={serial:t.serial,app_artifact_id:t.app,test_artifact_id:t.test};t.resign===!1&&(e.resign=!1);let i=await b(),n=await x(i,"POST","/xcuitest/runs",e);console.log(JSON.stringify(n,null,2))}),tu=new xi.Command("xcuitest-cancel").description("Cancel an in-flight XCUITest test run by id").argument("<id>","Test run id").action(async t=>{let e=await b(),i=await x(e,"DELETE",`/xcuitest/runs/${encodeURIComponent(t)}`);console.log(JSON.stringify(i,null,2))});var vi=require("commander"),iu=C(require("fs")),nu=C(require("path"));var ou=new vi.Command("appium-run").description("Submit an Appium test script to run in the background on the active device").argument("<script>","Path to the user's Appium test script (contains `it(...)` blocks; assumes `driver` from webdriverio is available)").option("--timeout <ms>","Wall-clock cap on the whole run, milliseconds (default 1200000 = 20 min)",t=>parseInt(t,10)).option("--capabilities <json>","Extra/override Appium capabilities as JSON; merged over auto-detected platformName/udid/automationName").action(async(t,e)=>{let i=nu.default.resolve(t);iu.default.existsSync(i)||(console.error(`Script not found: ${i}`),process.exit(1));let n;if(e.capabilities)try{n=JSON.parse(e.capabilities)}catch(r){console.error(`Invalid --capabilities JSON: ${r.message}`),process.exit(1)}let o={scriptPath:i,artifactDir:ke()};n&&(o.capabilities=n),e.timeout!==void 0&&(o.timeoutMs=e.timeout);let s=await b(),a=await x(s,"POST","/job",o);console.log(JSON.stringify(a,null,2))}),su=new vi.Command("appium-status").description("Show the current/last appium-run job (status, exit code, duration, log path)").action(async()=>{let t=await b(),e=await x(t,"GET","/job");console.log(JSON.stringify(e,null,2))}),au=new vi.Command("appium-logs").description("Print the combined stdout+stderr log of the current/last appium-run job").action(async()=>{let t=await b(),e=await x(t,"GET","/job/logs");process.stderr.write(`logs: ${e.logPath}
148
+ `),process.stdout.write(e.content)}),ru=new vi.Command("appium-cancel").description("Cancel the currently running appium-run job (SIGTERM, escalates to SIGKILL after 5s)").action(async()=>{let t=await b(),e=await x(t,"DELETE","/job");console.log(JSON.stringify(e,null,2))});var cu=require("commander");var pu=new cu.Command("config").description("Show resolved Mobitru credentials source, redacted config, and artifact dir").action(()=>{try{console.log(JSON.stringify({...Cs(),artifactDir:ke()},null,2))}catch(t){throw t instanceof Me&&(process.stderr.write(`${t.message}
149
+ `),process.exit(1)),t}});var lu=require("commander"),hn=C(require("fs")),Nt=C(require("path"));function _g(){let t=Nt.default.join(__dirname,"skills");return hn.default.existsSync(Nt.default.join(t,"SKILL.md"))?t:null}function uu(t){return new lu.Command("install").description("Install the agent skill into a workspace (.claude or .agents)").option("--skills <target>",'agent type: "claude" or "agents"',"claude").action(e=>{e.skills!=="claude"&&e.skills!=="agents"&&(process.stderr.write(`error: --skills must be "claude" or "agents", got "${e.skills}"
150
+ `),process.exit(1));let i=_g();i||(process.stderr.write(`error: skill "${t}" not bundled in this build.
151
+ `),process.exit(1));let n=process.cwd(),o=Nt.default.join(n,`.${e.skills}`,"skills",t);try{hn.default.mkdirSync(Nt.default.dirname(o),{recursive:!0}),hn.default.cpSync(i,o,{recursive:!0})}catch(s){process.stderr.write(`error: failed to install skill to ${o}: ${s.message}
152
+ `),process.exit(1)}process.stdout.write(`\u2705 Installed ${t} skill to \`${Nt.default.relative(n,o)}\`
153
+ `)})}var E=new du.Command("mobitru-mobile-cli").description("Mobitru mobile CLI").version(ks);E.addCommand(Mp,{hidden:!0});E.addCommand(qp);E.addCommand(Dp);E.addCommand(pu);E.addCommand(uu("mobitru-mobile-cli"));E.addCommand(Vp);E.addCommand(Wp);E.addCommand(Gp);E.addCommand(Xp);E.addCommand(Kp);E.addCommand(Yp);E.addCommand(Zp);E.addCommand(Qp);E.addCommand(el);E.addCommand(tl);E.addCommand(al);E.addCommand(rl);E.addCommand(cl);E.addCommand(pl);E.addCommand(il);E.addCommand(nl);E.addCommand(ol);E.addCommand(ll);E.addCommand(ul);E.addCommand(dl);E.addCommand(ml);E.addCommand(fl);E.addCommand(hl);E.addCommand(gl);E.addCommand(xl);E.addCommand(vl);E.addCommand(bl);E.addCommand(yl);E.addCommand(wl);E.addCommand(Sl);E.addCommand(El);E.addCommand(Tl);E.addCommand(Pl);E.addCommand(Rl);E.addCommand(kl);E.addCommand(Cl);E.addCommand(Al);E.addCommand(Ol);E.addCommand(Il);E.addCommand(_l);E.addCommand($l);E.addCommand(Fl);E.addCommand(Nl);E.addCommand(jl);E.addCommand(Bl);E.addCommand(Ll);E.addCommand(ql);E.addCommand(Ml);E.addCommand(zl);E.addCommand(Hl);E.addCommand(Vl);E.addCommand(Gl);E.addCommand(Xl);E.addCommand(Kl);E.addCommand(Yl);E.addCommand(Zl);E.addCommand(Ql);E.addCommand(eu);E.addCommand(tu);E.addCommand(ou);E.addCommand(su);E.addCommand(au);E.addCommand(ru);E.parseAsync().catch(t=>{let e=t instanceof Error?t.message:String(t);process.stderr.write(`${e}
154
+ `),process.exit(1)});