ramulus 0.1.0 → 0.2.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.
- package/README.md +5 -1
- package/bin/ramulus.js +0 -0
- package/lib/git.js +121 -38
- package/lib/server.js +62 -18
- package/package.json +1 -1
- package/ui/assets/abap-08VXUWAP.js +1 -0
- package/ui/assets/apex-BWPQTe0t.js +1 -0
- package/ui/assets/azcli-Bc_sGQ0U.js +1 -0
- package/ui/assets/bat-i0X4ZdIN.js +1 -0
- package/ui/assets/bicep-B5-_aFwp.js +2 -0
- package/ui/assets/cameligo-DMUM7wLl.js +1 -0
- package/ui/assets/clojure-Cm7r79vr.js +1 -0
- package/ui/assets/codicon-CMYWzYni.ttf +0 -0
- package/ui/assets/coffee-Ba7i2nA0.js +1 -0
- package/ui/assets/cpp-C7h46wYY.js +1 -0
- package/ui/assets/csharp-BKxtCVv1.js +1 -0
- package/ui/assets/csp-bTuwJoIa.js +1 -0
- package/ui/assets/css-DIMkf-bt.js +3 -0
- package/ui/assets/cypher-CVaqCwHa.js +1 -0
- package/ui/assets/dart-onAF5SnQ.js +1 -0
- package/ui/assets/dockerfile-DZFCIeNp.js +1 -0
- package/ui/assets/ecl-94qehhXe.js +1 -0
- package/ui/assets/editor.worker-CRz__AKW.js +33 -0
- package/ui/assets/elixir-6RTg0lbw.js +1 -0
- package/ui/assets/flow9-C5_-GSwl.js +1 -0
- package/ui/assets/freemarker2-BlGXrA-A.js +3 -0
- package/ui/assets/fsharp-C8Ef5oNN.js +1 -0
- package/ui/assets/go-C-y9NEjX.js +1 -0
- package/ui/assets/graphql-fmXr3nnJ.js +1 -0
- package/ui/assets/handlebars-LPEBxqHA.js +1 -0
- package/ui/assets/hcl-CpzslTdj.js +1 -0
- package/ui/assets/html-YG0QzO_T.js +1 -0
- package/ui/assets/index-C3J2ZtyL.css +1 -0
- package/ui/assets/index-DGyYZKip.js +94 -0
- package/ui/assets/ini-sBoK_t0W.js +1 -0
- package/ui/assets/java-BEtHBSE6.js +1 -0
- package/ui/assets/javascript-qsd2ARJx.js +1 -0
- package/ui/assets/julia-Bri6UV-V.js +1 -0
- package/ui/assets/kotlin-BOotOW0E.js +1 -0
- package/ui/assets/less-B9JPFI3C.js +2 -0
- package/ui/assets/lexon-CfSJPG6W.js +1 -0
- package/ui/assets/liquid-CBEitul5.js +1 -0
- package/ui/assets/lua-CsQS60Ue.js +1 -0
- package/ui/assets/m3-D-oSqn_W.js +1 -0
- package/ui/assets/markdown-Cimd5fb3.js +1 -0
- package/ui/assets/mdx-981CEmH4.js +1 -0
- package/ui/assets/mips-CIPQ_RoX.js +1 -0
- package/ui/assets/monaco-B8SpYXrn.js +936 -0
- package/ui/assets/monaco-VgaQCy5f.css +1 -0
- package/ui/assets/msdax-DauUninz.js +1 -0
- package/ui/assets/mysql-SOo6toE5.js +1 -0
- package/ui/assets/objective-c-FvmIjYaQ.js +1 -0
- package/ui/assets/pascal-DrH0SRf2.js +1 -0
- package/ui/assets/pascaligo-D-ptJ9y-.js +1 -0
- package/ui/assets/perl-oz_6vUea.js +1 -0
- package/ui/assets/pgsql-DTj74zXo.js +1 -0
- package/ui/assets/php-nr791fC2.js +1 -0
- package/ui/assets/pla-CopQ2nXW.js +1 -0
- package/ui/assets/postiats-43DmfD33.js +1 -0
- package/ui/assets/powerquery-D3hlyOfw.js +1 -0
- package/ui/assets/powershell-DmHpPYUd.js +1 -0
- package/ui/assets/protobuf-C531GsRP.js +2 -0
- package/ui/assets/pug-Z5eAx3Zn.js +1 -0
- package/ui/assets/python-79OaDx-C.js +1 -0
- package/ui/assets/qsharp-DkqhCAOL.js +1 -0
- package/ui/assets/r-BwWrilGY.js +1 -0
- package/ui/assets/razor-DEouJLck.js +1 -0
- package/ui/assets/redis-ClamHrr6.js +1 -0
- package/ui/assets/redshift-DT7zqm-g.js +1 -0
- package/ui/assets/restructuredtext-BYgofb2h.js +1 -0
- package/ui/assets/ruby-DezsRK8O.js +1 -0
- package/ui/assets/rust-DdL9SqIa.js +1 -0
- package/ui/assets/sb-CcwsVR0C.js +1 -0
- package/ui/assets/scala-DHpiXF5c.js +1 -0
- package/ui/assets/scheme-BeGwcela.js +1 -0
- package/ui/assets/scss-gp-XZpBa.js +3 -0
- package/ui/assets/shell-CC2rA5mh.js +1 -0
- package/ui/assets/solidity-BEEn4gHE.js +1 -0
- package/ui/assets/sophia-CRfGWb83.js +1 -0
- package/ui/assets/sparql-D_Lu-MrJ.js +1 -0
- package/ui/assets/sql-NEE52Syq.js +1 -0
- package/ui/assets/st-DbInun42.js +1 -0
- package/ui/assets/swift-Bxkupp3x.js +1 -0
- package/ui/assets/systemverilog-Bz4Y3fRF.js +1 -0
- package/ui/assets/tcl-DISqw1ZD.js +1 -0
- package/ui/assets/twig-De2hgUGE.js +1 -0
- package/ui/assets/typescript-BP2ty2iA.js +1 -0
- package/ui/assets/typespec-B8J7ngcE.js +1 -0
- package/ui/assets/vb-DV3o63ZY.js +1 -0
- package/ui/assets/wgsl-DpFanUEy.js +298 -0
- package/ui/assets/xml-C6T7H_2u.js +1 -0
- package/ui/assets/yaml-DN3MdYQq.js +1 -0
- package/ui/index.html +2 -2
- package/ui/assets/index-ArxayBFH.css +0 -1
- package/ui/assets/index-D3gOH5eP.js +0 -101
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,o)=>(o=n==null?{}:e(i(n)),l(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var f=s((e=>{e.byteLength=c,e.toByteArray=u,e.fromByteArray=p;for(var t=[],n=[],r=typeof Uint8Array<`u`?Uint8Array:Array,i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,a=0,o=i.length;a<o;++a)t[a]=i[a],n[i.charCodeAt(a)]=a;n[45]=62,n[95]=63;function s(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function c(e){var t=s(e),n=t[0],r=t[1];return(n+r)*3/4-r}function l(e,t,n){return(t+n)*3/4-n}function u(e){for(var t,i=s(e),a=i[0],o=i[1],c=new r(l(e,a,o)),u=0,d=o>0?a-4:a,f=0;f<d;f+=4)t=n[e.charCodeAt(f)]<<18|n[e.charCodeAt(f+1)]<<12|n[e.charCodeAt(f+2)]<<6|n[e.charCodeAt(f+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=t&255;return o===2&&(t=n[e.charCodeAt(f)]<<2|n[e.charCodeAt(f+1)]>>4,c[u++]=t&255),o===1&&(t=n[e.charCodeAt(f)]<<10|n[e.charCodeAt(f+1)]<<4|n[e.charCodeAt(f+2)]>>2,c[u++]=t>>8&255,c[u++]=t&255),c}function d(e){return t[e>>18&63]+t[e>>12&63]+t[e>>6&63]+t[e&63]}function f(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(d(r));return i.join(``)}function p(e){for(var n,r=e.length,i=r%3,a=[],o=16383,s=0,c=r-i;s<c;s+=o)a.push(f(e,s,s+o>c?c:s+o));return i===1?(n=e[r-1],a.push(t[n>>2]+t[n<<4&63]+`==`)):i===2&&(n=(e[r-2]<<8)+e[r-1],a.push(t[n>>10]+t[n>>4&63]+t[n<<2&63]+`=`)),a.join(``)}})),p=s((e=>{e.read=function(e,t,n,r,i){var a,o,s=i*8-r-1,c=(1<<s)-1,l=c>>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=a*256+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=o*256+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else if(a===c)return o?NaN:(p?-1:1)*(1/0);else o+=2**r,a-=l;return(p?-1:1)*o*2**(a-r)},e.write=function(e,t,n,r,i,a){var o,s,c,l=a*8-i-1,u=(1<<l)-1,d=u>>1,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),o+d>=1?t+=f/c:t+=f*2**(1-d),t*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=s&255,p+=m,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;e[n+p]=o&255,p+=m,o/=256,l-=8);e[n+p-m]|=h*128}})),m=s((e=>{var t=f(),n=p(),r=typeof Symbol==`function`&&typeof Symbol.for==`function`?Symbol.for(`nodejs.util.inspect.custom`):null;e.Buffer=s,e.SlowBuffer=b,e.INSPECT_MAX_BYTES=50;var i=2147483647;e.kMaxLength=i,s.TYPED_ARRAY_SUPPORT=a(),!s.TYPED_ARRAY_SUPPORT&&typeof console<`u`&&typeof console.error==`function`&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function o(e){if(e>i)throw RangeError(`The value "`+e+`" is invalid for option "size"`);let t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,n){if(typeof e==`number`){if(typeof t==`string`)throw TypeError(`The "string" argument must be of type string. Received type number`);return d(e)}return c(e,t,n)}s.poolSize=8192;function c(e,t,n){if(typeof e==`string`)return m(e,t);if(ArrayBuffer.isView(e))return g(e);if(e==null)throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e);if(R(e,ArrayBuffer)||e&&R(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(R(e,SharedArrayBuffer)||e&&R(e.buffer,SharedArrayBuffer)))return _(e,t,n);if(typeof e==`number`)throw TypeError(`The "value" argument must not be of type number. Received type number`);let r=e.valueOf&&e.valueOf();if(r!=null&&r!==e)return s.from(r,t,n);let i=v(e);if(i)return i;if(typeof Symbol<`u`&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==`function`)return s.from(e[Symbol.toPrimitive](`string`),t,n);throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e)}s.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function l(e){if(typeof e!=`number`)throw TypeError(`"size" argument must be of type number`);if(e<0)throw RangeError(`The value "`+e+`" is invalid for option "size"`)}function u(e,t,n){return l(e),e<=0||t===void 0?o(e):typeof n==`string`?o(e).fill(t,n):o(e).fill(t)}s.alloc=function(e,t,n){return u(e,t,n)};function d(e){return l(e),o(e<0?0:y(e)|0)}s.allocUnsafe=function(e){return d(e)},s.allocUnsafeSlow=function(e){return d(e)};function m(e,t){if((typeof t!=`string`||t===``)&&(t=`utf8`),!s.isEncoding(t))throw TypeError(`Unknown encoding: `+t);let n=x(e,t)|0,r=o(n),i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}function h(e){let t=e.length<0?0:y(e.length)|0,n=o(t);for(let r=0;r<t;r+=1)n[r]=e[r]&255;return n}function g(e){if(R(e,Uint8Array)){let t=new Uint8Array(e);return _(t.buffer,t.byteOffset,t.byteLength)}return h(e)}function _(e,t,n){if(t<0||e.byteLength<t)throw RangeError(`"offset" is outside of buffer bounds`);if(e.byteLength<t+(n||0))throw RangeError(`"length" is outside of buffer bounds`);let r;return r=t===void 0&&n===void 0?new Uint8Array(e):n===void 0?new Uint8Array(e,t):new Uint8Array(e,t,n),Object.setPrototypeOf(r,s.prototype),r}function v(e){if(s.isBuffer(e)){let t=y(e.length)|0,n=o(t);return n.length===0||e.copy(n,0,0,t),n}if(e.length!==void 0)return typeof e.length!=`number`||z(e.length)?o(0):h(e);if(e.type===`Buffer`&&Array.isArray(e.data))return h(e.data)}function y(e){if(e>=i)throw RangeError(`Attempt to allocate Buffer larger than maximum size: 0x`+i.toString(16)+` bytes`);return e|0}function b(e){return+e!=e&&(e=0),s.alloc(+e)}s.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==s.prototype},s.compare=function(e,t){if(R(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),R(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw TypeError(`The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array`);if(e===t)return 0;let n=e.length,r=t.length;for(let i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:+(r<n)},s.isEncoding=function(e){switch(String(e).toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`latin1`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return!0;default:return!1}},s.concat=function(e,t){if(!Array.isArray(e))throw TypeError(`"list" argument must be an Array of Buffers`);if(e.length===0)return s.alloc(0);let n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;let r=s.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){let t=e[n];if(R(t,Uint8Array))i+t.length>r.length?(s.isBuffer(t)||(t=s.from(t)),t.copy(r,i)):Uint8Array.prototype.set.call(r,t,i);else if(s.isBuffer(t))t.copy(r,i);else throw TypeError(`"list" argument must be an Array of Buffers`);i+=t.length}return r};function x(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||R(e,ArrayBuffer))return e.byteLength;if(typeof e!=`string`)throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type `+typeof e);let n=e.length,r=arguments.length>2&&arguments[2]===!0;if(!r&&n===0)return 0;let i=!1;for(;;)switch(t){case`ascii`:case`latin1`:case`binary`:return n;case`utf8`:case`utf-8`:return ye(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return xe(e).length;default:if(i)return r?-1:ye(e).length;t=(``+t).toLowerCase(),i=!0}}s.byteLength=x;function S(e,t,n){let r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return``;for(e||=`utf8`;;)switch(e){case`hex`:return oe(this,t,n);case`utf8`:case`utf-8`:return k(this,t,n);case`ascii`:return ie(this,t,n);case`latin1`:case`binary`:return ae(this,t,n);case`base64`:return O(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return se(this,t,n);default:if(r)throw TypeError(`Unknown encoding: `+e);e=(e+``).toLowerCase(),r=!0}}s.prototype._isBuffer=!0;function C(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}s.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let t=0;t<e;t+=2)C(this,t,t+1);return this},s.prototype.swap32=function(){let e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let t=0;t<e;t+=4)C(this,t,t+3),C(this,t+1,t+2);return this},s.prototype.swap64=function(){let e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let t=0;t<e;t+=8)C(this,t,t+7),C(this,t+1,t+6),C(this,t+2,t+5),C(this,t+3,t+4);return this},s.prototype.toString=function(){let e=this.length;return e===0?``:arguments.length===0?k(this,0,e):S.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(e){if(!s.isBuffer(e))throw TypeError(`Argument must be a Buffer`);return this===e||s.compare(this,e)===0},s.prototype.inspect=function(){let t=``,n=e.INSPECT_MAX_BYTES;return t=this.toString(`hex`,0,n).replace(/(.{2})/g,`$1 `).trim(),this.length>n&&(t+=` ... `),`<Buffer `+t+`>`},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(e,t,n,r,i){if(R(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw TypeError(`The "target" argument must be one of type Buffer or Uint8Array. Received type `+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),r===void 0&&(r=0),i===void 0&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw RangeError(`out of range index`);if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;let a=i-r,o=n-t,c=Math.min(a,o),l=this.slice(r,i),u=e.slice(t,n);for(let e=0;e<c;++e)if(l[e]!==u[e]){a=l[e],o=u[e];break}return a<o?-1:+(o<a)};function w(e,t,n,r,i){if(e.length===0)return-1;if(typeof n==`string`?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,z(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(i)n=0;else return-1}if(typeof t==`string`&&(t=s.from(t,r)),s.isBuffer(t))return t.length===0?-1:T(e,t,n,r,i);if(typeof t==`number`)return t&=255,typeof Uint8Array.prototype.indexOf==`function`?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):T(e,[t],n,r,i);throw TypeError(`val must be string, number or Buffer`)}function T(e,t,n,r,i){let a=1,o=e.length,s=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r===`ucs2`||r===`ucs-2`||r===`utf16le`||r===`utf-16le`)){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,n/=2}function c(e,t){return a===1?e[t]:e.readUInt16BE(t*a)}let l;if(i){let r=-1;for(l=n;l<o;l++)if(c(e,l)===c(t,r===-1?0:l-r)){if(r===-1&&(r=l),l-r+1===s)return r*a}else r!==-1&&(l-=l-r),r=-1}else for(n+s>o&&(n=o-s),l=n;l>=0;l--){let n=!0;for(let r=0;r<s;r++)if(c(e,l+r)!==c(t,r)){n=!1;break}if(n)return l}return-1}s.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},s.prototype.indexOf=function(e,t,n){return w(this,e,t,n,!0)},s.prototype.lastIndexOf=function(e,t,n){return w(this,e,t,n,!1)};function E(e,t,n,r){n=Number(n)||0;let i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;let a=t.length;r>a/2&&(r=a/2);let o=0;for(;o<r;++o){let r=parseInt(t.substr(o*2,2),16);if(z(r))return o;e[n+o]=r}return o}function ee(e,t,n,r){return L(ye(t,e.length-n),e,n,r)}function te(e,t,n,r){return L(be(t),e,n,r)}function D(e,t,n,r){return L(xe(t),e,n,r)}function ne(e,t,n,r){return L(I(t,e.length-n),e,n,r)}s.prototype.write=function(e,t,n,r){if(t===void 0)r=`utf8`,n=this.length,t=0;else if(n===void 0&&typeof t==`string`)r=t,n=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(n)?(n>>>=0,r===void 0&&(r=`utf8`)):(r=n,n=void 0);else throw Error(`Buffer.write(string, encoding, offset[, length]) is no longer supported`);let i=this.length-t;if((n===void 0||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError(`Attempt to write outside buffer bounds`);r||=`utf8`;let a=!1;for(;;)switch(r){case`hex`:return E(this,e,t,n);case`utf8`:case`utf-8`:return ee(this,e,t,n);case`ascii`:case`latin1`:case`binary`:return te(this,e,t,n);case`base64`:return D(this,e,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return ne(this,e,t,n);default:if(a)throw TypeError(`Unknown encoding: `+r);r=(``+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:`Buffer`,data:Array.prototype.slice.call(this._arr||this,0)}};function O(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function k(e,t,n){n=Math.min(e.length,n);let r=[],i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o<=n){let n,r,s,c;switch(o){case 1:t<128&&(a=t);break;case 2:n=e[i+1],(n&192)==128&&(c=(t&31)<<6|n&63,c>127&&(a=c));break;case 3:n=e[i+1],r=e[i+2],(n&192)==128&&(r&192)==128&&(c=(t&15)<<12|(n&63)<<6|r&63,c>2047&&(c<55296||c>57343)&&(a=c));break;case 4:n=e[i+1],r=e[i+2],s=e[i+3],(n&192)==128&&(r&192)==128&&(s&192)==128&&(c=(t&15)<<18|(n&63)<<12|(r&63)<<6|s&63,c>65535&&c<1114112&&(a=c))}}a===null?(a=65533,o=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a),i+=o}return A(r)}var re=4096;function A(e){let t=e.length;if(t<=re)return String.fromCharCode.apply(String,e);let n=``,r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=re));return n}function ie(e,t,n){let r=``;n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(e[i]&127);return r}function ae(e,t,n){let r=``;n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function oe(e,t,n){let r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);let i=``;for(let r=t;r<n;++r)i+=B[e[r]];return i}function se(e,t,n){let r=e.slice(t,n),i=``;for(let e=0;e<r.length-1;e+=2)i+=String.fromCharCode(r[e]+r[e+1]*256);return i}s.prototype.slice=function(e,t){let n=this.length;e=~~e,t=t===void 0?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);let r=this.subarray(e,t);return Object.setPrototypeOf(r,s.prototype),r};function j(e,t,n){if(e%1!=0||e<0)throw RangeError(`offset is not uint`);if(e+t>n)throw RangeError(`Trying to access beyond buffer length`)}s.prototype.readUintLE=s.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||j(e,t,this.length);let r=this[e],i=1,a=0;for(;++a<t&&(i*=256);)r+=this[e+a]*i;return r},s.prototype.readUintBE=s.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||j(e,t,this.length);let r=this[e+--t],i=1;for(;t>0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUint8=s.prototype.readUInt8=function(e,t){return e>>>=0,t||j(e,1,this.length),this[e]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||j(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||j(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||j(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readBigUInt64LE=Se(function(e){e>>>=0,_e(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ve(e,this.length-8);let r=t+this[++e]*256+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*256+this[++e]*2**16+n*2**24;return BigInt(r)+(BigInt(i)<<BigInt(32))}),s.prototype.readBigUInt64BE=Se(function(e){e>>>=0,_e(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ve(e,this.length-8);let r=t*2**24+this[++e]*2**16+this[++e]*256+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*256+n;return(BigInt(r)<<BigInt(32))+BigInt(i)}),s.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||j(e,t,this.length);let r=this[e],i=1,a=0;for(;++a<t&&(i*=256);)r+=this[e+a]*i;return i*=128,r>=i&&(r-=2**(8*t)),r},s.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||j(e,t,this.length);let r=t,i=1,a=this[e+--r];for(;r>0&&(i*=256);)a+=this[e+--r]*i;return i*=128,a>=i&&(a-=2**(8*t)),a},s.prototype.readInt8=function(e,t){return e>>>=0,t||j(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||j(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},s.prototype.readInt16BE=function(e,t){e>>>=0,t||j(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readBigInt64LE=Se(function(e){e>>>=0,_e(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ve(e,this.length-8);let r=this[e+4]+this[e+5]*256+this[e+6]*2**16+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(t+this[++e]*256+this[++e]*2**16+this[++e]*2**24)}),s.prototype.readBigInt64BE=Se(function(e){e>>>=0,_e(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ve(e,this.length-8);let r=(t<<24)+this[++e]*2**16+this[++e]*256+this[++e];return(BigInt(r)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*256+n)}),s.prototype.readFloatLE=function(e,t){return e>>>=0,t||j(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||j(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||j(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||j(e,8,this.length),n.read(this,e,!1,52,8)};function ce(e,t,n,r,i,a){if(!s.isBuffer(e))throw TypeError(`"buffer" argument must be a Buffer instance`);if(t>i||t<a)throw RangeError(`"value" argument is out of bounds`);if(n+r>e.length)throw RangeError(`Index out of range`)}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){let r=2**(8*n)-1;ce(this,e,t,n,r,0)}let i=1,a=0;for(this[t]=e&255;++a<n&&(i*=256);)this[t+a]=e/i&255;return t+n},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){let r=2**(8*n)-1;ce(this,e,t,n,r,0)}let i=n-1,a=1;for(this[t+i]=e&255;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+n},s.prototype.writeUint8=s.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,1,255,0),this[t]=e&255,t+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function le(e,t,n,r,i){ge(t,r,i,e,n,7);let a=Number(t&BigInt(4294967295));e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function ue(e,t,n,r,i){ge(t,r,i,e,n,7);let a=Number(t&BigInt(4294967295));e[n+7]=a,a>>=8,e[n+6]=a,a>>=8,e[n+5]=a,a>>=8,e[n+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}s.prototype.writeBigUInt64LE=Se(function(e,t=0){return le(this,e,t,BigInt(0),BigInt(`0xffffffffffffffff`))}),s.prototype.writeBigUInt64BE=Se(function(e,t=0){return ue(this,e,t,BigInt(0),BigInt(`0xffffffffffffffff`))}),s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=2**(8*n-1);ce(this,e,t,n,r-1,-r)}let i=0,a=1,o=0;for(this[t]=e&255;++i<n&&(a*=256);)e<0&&o===0&&this[t+i-1]!==0&&(o=1),this[t+i]=(e/a|0)-o&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=2**(8*n-1);ce(this,e,t,n,r-1,-r)}let i=n-1,a=1,o=0;for(this[t+i]=e&255;--i>=0&&(a*=256);)e<0&&o===0&&this[t+i+1]!==0&&(o=1),this[t+i]=(e/a|0)-o&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||ce(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4},s.prototype.writeBigInt64LE=Se(function(e,t=0){return le(this,e,t,-BigInt(`0x8000000000000000`),BigInt(`0x7fffffffffffffff`))}),s.prototype.writeBigInt64BE=Se(function(e,t=0){return ue(this,e,t,-BigInt(`0x8000000000000000`),BigInt(`0x7fffffffffffffff`))});function M(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function de(e,t,r,i,a){return t=+t,r>>>=0,a||M(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return de(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return de(this,e,t,!1,n)};function fe(e,t,r,i,a){return t=+t,r>>>=0,a||M(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return fe(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return fe(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(!s.isBuffer(e))throw TypeError(`argument should be a Buffer`);if(n||=0,!r&&r!==0&&(r=this.length),t>=e.length&&(t=e.length),t||=0,r>0&&r<n&&(r=n),r===n||e.length===0||this.length===0)return 0;if(t<0)throw RangeError(`targetStart out of bounds`);if(n<0||n>=this.length)throw RangeError(`Index out of range`);if(r<0)throw RangeError(`sourceEnd out of bounds`);r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);let i=r-n;return this===e&&typeof Uint8Array.prototype.copyWithin==`function`?this.copyWithin(t,n,r):Uint8Array.prototype.set.call(e,this.subarray(n,r),t),i},s.prototype.fill=function(e,t,n,r){if(typeof e==`string`){if(typeof t==`string`?(r=t,t=0,n=this.length):typeof n==`string`&&(r=n,n=this.length),r!==void 0&&typeof r!=`string`)throw TypeError(`encoding must be a string`);if(typeof r==`string`&&!s.isEncoding(r))throw TypeError(`Unknown encoding: `+r);if(e.length===1){let t=e.charCodeAt(0);(r===`utf8`&&t<128||r===`latin1`)&&(e=t)}}else typeof e==`number`?e&=255:typeof e==`boolean`&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw RangeError(`Out of range index`);if(n<=t)return this;t>>>=0,n=n===void 0?this.length:n>>>0,e||=0;let i;if(typeof e==`number`)for(i=t;i<n;++i)this[i]=e;else{let a=s.isBuffer(e)?e:s.from(e,r),o=a.length;if(o===0)throw TypeError(`The value "`+e+`" is invalid for argument "value"`);for(i=0;i<n-t;++i)this[i+t]=a[i%o]}return this};var pe={};function me(e,t,n){pe[e]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}me(`ERR_BUFFER_OUT_OF_BOUNDS`,function(e){return e?`${e} is outside of buffer bounds`:`Attempt to access memory outside buffer bounds`},RangeError),me(`ERR_INVALID_ARG_TYPE`,function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),me(`ERR_OUT_OF_RANGE`,function(e,t,n){let r=`The value of "${e}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=N(String(n)):typeof n==`bigint`&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=N(i)),i+=`n`),r+=` It must be ${t}. Received ${i}`,r},RangeError);function N(e){let t=``,n=e.length,r=+(e[0]===`-`);for(;n>=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function he(e,t,n){_e(t,`offset`),(e[t]===void 0||e[t+n]===void 0)&&ve(t,e.length-(n+1))}function ge(e,t,n,r,i,a){if(e>n||e<t){let r=typeof t==`bigint`?`n`:``,i;throw i=a>3?t===0||t===BigInt(0)?`>= 0${r} and < 2${r} ** ${(a+1)*8}${r}`:`>= -(2${r} ** ${(a+1)*8-1}${r}) and < 2 ** ${(a+1)*8-1}${r}`:`>= ${t}${r} and <= ${n}${r}`,new pe.ERR_OUT_OF_RANGE(`value`,i,e)}he(r,i,a)}function _e(e,t){if(typeof e!=`number`)throw new pe.ERR_INVALID_ARG_TYPE(t,`number`,e)}function ve(e,t,n){throw Math.floor(e)===e?t<0?new pe.ERR_BUFFER_OUT_OF_BOUNDS:new pe.ERR_OUT_OF_RANGE(n||`offset`,`>= ${+!!n} and <= ${t}`,e):(_e(e,n),new pe.ERR_OUT_OF_RANGE(n||`offset`,`an integer`,e))}var P=/[^+/0-9A-Za-z-_]/g;function F(e){if(e=e.split(`=`)[0],e=e.trim().replace(P,``),e.length<2)return``;for(;e.length%4!=0;)e+=`=`;return e}function ye(e,t){t||=1/0;let n,r=e.length,i=null,a=[];for(let o=0;o<r;++o){if(n=e.charCodeAt(o),n>55295&&n<57344){if(!i){if(n>56319||o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if(--t<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,n&63|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,n&63|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128)}else throw Error(`Invalid code point`)}return a}function be(e){let t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n)&255);return t}function I(e,t){let n,r,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)n=e.charCodeAt(o),r=n>>8,i=n%256,a.push(i),a.push(r);return a}function xe(e){return t.toByteArray(F(e))}function L(e,t,n,r){let i=0;for(;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function R(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function z(e){return e!==e}var B=(function(){let e=`0123456789abcdef`,t=Array(256);for(let n=0;n<16;++n){let r=n*16;for(let i=0;i<16;++i)t[r+i]=e[n]+e[i]}return t})();function Se(e){return typeof BigInt>`u`?V:e}function V(){throw Error(`BigInt not supported`)}})),h=m(),g,_,v,y,b,x,S,C,w,T,E=Symbol.for(`pv`),ee={},te=[],D=/^m(i|n|o|s|text|space)$/,ne=Array.isArray,O=te.slice,k=Object.assign;function re(e){e&&e.parentNode&&e.remove()}function A(e,t,n,r,i){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:E,__v:i||++_,__i:-1,__u:0};return!i&&g.vnode&&g.vnode(a),a}function ie(e){return e.children}function ae(e,t){this.props=e,this.context=t,this.__g=0}function oe(e,t){if(t==null)return e.__&&oe(e.__,e.__i+1);for(var n;t<e.__k.length;t++)if((n=e.__k[t])&&n.__e)return n.__e;return typeof e.type!=`function`||e.props.__P?null:oe(e)}function se(e){if((e=e.__)&&e.__c&&!e.props.__P)return e.__e=null,e.__k.some(function(t){return t&&(e.__e=t.__e)}),se(e)}function j(e){(8&e.__g||(e.__g|=8,v.push(e),b++))&&y==g.debounceRendering||((y=g.debounceRendering)||queueMicrotask)(ce)}function ce(){var e,t,n,r,i,a,o,s,c;try{for(t=1;v.length;)v.length>t&&v.sort(x),e=v.shift(),t=v.length,8&e.__g&&(r=void 0,i=void 0,a=(i=(n=e).__v).__e,o=[],s=[],(c=n.__P)&&((r=k({constructor:E},i)).__v=i.__v+1,g.vnode&&g.vnode(r),N(c,r,i,n.__n,c.namespaceURI,32&i.__u?[a]:null,o,a||oe(i),32&i.__u,s),r.__v=i.__v,r.__.__k[r.__i]=r,_e(o,r,s),i.__=i.__e=null,r.__e!=a&&se(r)))}finally{(b=v.length)&&(y||queueMicrotask)(ce)}}function le(e,t,n,r,i,a,o,s,c,l,u){var d,f,p,m,h,g,_=r.__k||te,v=t.length;for(c=ue(n,t,_,c,v),d=0;d<v;d++)(p=n.__k[d])!=null&&(f=~p.__i&&_[p.__i]||ee,p.__i=d,g=N(e,p,f,i,a,o,s,c,l,u),m=p.__e,(f.ref!=p.ref||8&f.__u)&&(f.ref&&P(f.ref,null,p,f),p.ref&&u.push(p.ref,p.__c||m,p)),h||=m,4&p.__u?(c=M(p,c,e,!f.__v),f.__e&&(f.__e=null)):typeof p.type==`function`&&g!==void 0?c=g:m&&(c=m.nextSibling),p.__u&=-21);return n.__e=h,c}function ue(e,t,n,r,i){var a,o,s,c,l,u,d,f,p,m=n.length,h=m,g=0,_=0,v=e.__k=Array(i);for(a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o!=`object`||o.constructor===String?o=v[a]=A(null,o):ne(o)?o=v[a]=A(ie,{children:o}):o.constructor===E&&o.__b?o=v[a]=A(o.type,o.props,o.key,o.ref,o.__v):v[a]=o,c=a+g,o.__=e,o.__b=e.__b+1,s=null,~(l=o.__i=de(o,n,c,h))&&(h--,(s=n[l])&&(s.__u|=2)),s&&s.__v?(o.__u|=16,l==c-1?g--:l==c+1?g++:l!=c&&(l>c?g--:g++,_=1)):(~l||(i>m?g--:i<m&&g++),typeof o.type!=`function`&&(o.__u|=4))):v[a]=null;if(_){for(u=[],d=[],a=0;a<i;a++)if((o=v[a])&&16&o.__u){for(g=0,f=u.length;g<f;)u[p=g+f>>1]<o.__i?g=p+1:f=p;u[g]=o.__i,d[a]=g+1}for(g=u.length;a--;)d[a]&&(d[a]==g?g--:v[a].__u|=4)}if(h)for(a=0;a<m;a++)!(s=n[a])||2&s.__u||(s.__e==r&&(r=oe(s)),F(s,s));return r}function M(e,t,n,r){var i,a,o,s;if(typeof e.type==`function`){if(e.props.__P)return t;if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&(i[a].__=e,t=M(i[a],t,n,!1));return t}for(t&&!t.parentNode&&(t=oe(e))&&!t.parentNode&&(t=null),o=e.__e,s=t;s&&s.nodeType==8;)s=s.nextSibling;for(o!=s&&(!r&&n.moveBefore&&o.parentNode?n.moveBefore(o,t):n.insertBefore(o,t||null)),t=o;(t&&=t.nextSibling)&&t.nodeType==8&&!t.data.startsWith(`$s`););return t}function de(e,t,n,r){var i,a=e.key,o=e.type,s=t[n],c=s&&!(2&s.__u);if(s===null&&a==null||c&&a==s.key&&o==s.type)return n;if(r>+!!c){for(i=n-1;i>=0;i--)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i;for(i=n+1;i<t.length;i++)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i}return-1}function fe(e,t,n){n??=``,t[0]==`-`?e.setProperty(t,n):e[t]=n}function pe(e,t,n,r,i){var a,o;if(t==`style`){if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||fe(e.style,t);if(n)for(t in n)r&&n[t]==r[t]||fe(e.style,t,n[t])}}else if(t[0]==`o`&&t[1]==`n`)(e.__e||={})[t]=n,n&&r||(o=T[t]||(T[t]=me(t)),(e.__a||={})[t]=w,a=t!=(t=t.replace(C,`$1`)),(t=t.slice(2))[0]<`a`&&(t=t.toLowerCase()),n?e.addEventListener(t,o,a):e.removeEventListener(t,o,a));else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n??``;return}catch{}if(typeof n==`function`)return;n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n)}}function me(e){return function(t){var n=this.__e;if(n){if(n=n[e],t[S]==null)t[S]=w++;else if(t[S]<this.__a[e])return;return n(g.event?g.event(t):t)}}}function N(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,_,v,y,b,x,S,C,w,T,ee,D,O,A=t.type;if(t.constructor!==E)return null;128&n.__u&&(c=32&n.__u,u=n.__c.__z)&&(t.__u|=c,d=a=[],u.nodeType==8?s=he(u,a):a.push(u),s=a[0]||s),(u=g.__b)&&u(t);n:if(typeof A==`function`){f=o.length;try{if(v=t.props,y=(u=A.prototype)&&u.render,b=(u=A.contextType)&&r[u.__c],x=u?b?b.props.value:u.__:r,(p=n.__c)?(t.__c=p,2&p.__g&&(p.__g|=1)):(y?t.__c=p=new A(v,x):(t.__c=p=new ae(v,x),p.constructor=A,p.render=ye),b&&b.sub(p),p.state||(p.state={}),p.__n=r,p.__g|=8,p.__h=[],p.__k=[]),y&&(p.__s||(p.__s=p.state),A.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=k({},p.__s)),k(p.__s,A.getDerivedStateFromProps(v,p.__s)))),m=p.props,h=p.state,p.__v=t,n.__c){if(v!==m&&y&&!A.getDerivedStateFromProps&&p.componentWillReceiveProps&&p.componentWillReceiveProps(v,x),t.__v==n.__v&&!(8&p.__g)||!(4&p.__g)&&p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(v,p.__s,x)){t.__v!=n.__v&&(p.props=v,p.state=p.__s,p.__g&=-9),t.__e=n.__e,t.__k=n.__k,t.__k.some(function(e){e&&(e.__=t)}),te.push.apply(p.__h,p.__k),p.__k=[],p.__h.length&&o.push(p),s=oe(n);break n}p.componentWillUpdate&&p.componentWillUpdate(v,p.__s,x),y&&p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(m,h,_)})}else y&&!A.getDerivedStateFromProps&&p.componentWillMount&&p.componentWillMount(),y&&p.componentDidMount&&p.__h.push(p.componentDidMount);if(p.context=x,p.props=v,p.__P=e,p.__g&=-5,S=g.__r,C=0,y)p.state=p.__s,p.__g&=-9,S&&S(t),u=p.render(p.props,p.state,p.context),te.push.apply(p.__h,p.__k),p.__k=[];else do p.__g&=-9,S&&S(t),u=p.render(p.props,p.state,p.context),p.state=p.__s;while(8&p.__g&&++C<25);p.state=p.__s,p.getChildContext&&(r=k({},r,p.getChildContext())),y&&n.__c&&p.getSnapshotBeforeUpdate&&(_=p.getSnapshotBeforeUpdate(m,h)),w=u&&u.type===ie&&u.key==null?u.props.children:u,v.__P&&(u=s,i=(e=v.__P).namespaceURI,c=a=null,n.props&&n.props.__P!=e&&(n.__k.some(function(e){e&&F(e,e)}),n.__k=null),s=n.__k?oe(n,0):null),s=le(e,ne(w)?w:[w],t,n,r,i,a,o,s,c,l),v.__P&&(t.__e=null,s=u),t.__u&=-161,d&&d.some(re),p.__h.length&&o.push(p),1&p.__g&&(p.__g&=-4)}catch(e){if(o.length=f,t.__v=null,c||a){if(e.then){if(T=0,t.__u|=128|c,a){for(~(D=a.indexOf(s||void 0))||(D=a.length);(O=a[D-1])&&O.nodeType==8;)D--;for(;D<a.length;D++)if(O=a[D]){if(a[D]=null,O.nodeType==8){if(O.data.startsWith(`$s`))T++||(ee=O);else if(T&&O.data.startsWith(`/$s`)&&!--T)break}else if(!T)break}}if(!ee){for(;s&&s.nodeType==8&&s.nextSibling;)s=s.nextSibling;ee=s}(u=he(ee=t.__c.__z||(t.__c.__z=ee)))?(t.__e=ee,s=u):t.__e=s,s&&=s.nextSibling}else a&&a.some(re)}else t.__e=n.__e;t.__k||=n.__k||[],e.then||ge(t),g.__e(e,t,n)}}else s=t.__e=ve(n.__e,t,n,r,i,a,o,c,l,e);return(u=g.diffed)&&u(t),s}function he(e,t){if(e&&e.nodeType==8&&e.data.startsWith(`$s`))for(var n=1;e=e.nextSibling;){if(e.nodeType==8){if(e.data.startsWith(`$s`))n++;else if(e.data.startsWith(`/$s`)&&!--n)return e}t&&t.push(e)}}function ge(e){e&&(e.__c&&(e.__c.__g|=4),e.__k&&e.__k.some(ge))}function _e(e,t,n){for(var r=0;r<n.length;)P(n[r++],n[r++],n[r++]);g.__c&&g.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){g.__e(e,t.__v)}})}function ve(e,t,n,r,i,a,o,s,c,l){var u,d,f,p,m,h,_,v,y,b=n.props||ee,x=t.props,S=t.type;if(S==`svg`?i=`http://www.w3.org/2000/svg`:S==`math`?i=`http://www.w3.org/1998/Math/MathML`:i||=`http://www.w3.org/1999/xhtml`,a){for(u=0;u<a.length;u++)if((m=a[u])&&(S?m.localName==S:m.nodeType==3)){e=m,a[u]=null;break}}if(!e){if(v=l.ownerDocument||document,!S)return v.createTextNode(x);e=v.createElementNS(i,S,x.is&&x),s&&=(g.__m&&g.__m(t,a),!1),a=null}if(S){if(l=S==`template`?e.content:e,a=S==`textarea`&&x.defaultValue!=null?null:a&&O.call(l.childNodes),!s&&a)for(b={},u=0;u<e.attributes.length;u++)b[(m=e.attributes[u]).name]=m.value;for(u in b)m=b[u],u==`dangerouslySetInnerHTML`?f=m:u==`children`||u in x||u==`value`&&`defaultValue`in x||u==`checked`&&`defaultChecked`in x||pe(e,u,null,m,i);for(u in y=1&n.__u,x)m=x[u],u==`children`?p=m:u==`dangerouslySetInnerHTML`?d=m:u==`value`?h=m:u==`checked`?_=m:s&&typeof m!=`function`||!(b[u]!==m||y&&m!=null)||pe(e,u,m,b[u],i);d?(s||f&&(d.__html==f.__html||d.__html==e.innerHTML)||(e.innerHTML=d.__html),t.__k=[]):(f&&(e.textContent=``),(S==`foreignObject`||i==`http://www.w3.org/1998/Math/MathML`&&D.test(S))&&(i=`http://www.w3.org/1999/xhtml`),le(l,ne(p)?p:[p],t,n,r,i,a,o,a?a[0]:n.__k&&oe(n,0),s,c),a&&a.some(re)),s&&S!=`textarea`||(u=`value`,S==`progress`&&h==null?e.removeAttribute(u):h==null||h===e[u]&&(S!=`progress`||h)||pe(e,u,h,b[u],i),u=`checked`,_!=null&&_!=e[u]&&pe(e,u,_,b[u],i))}else b===x||s&&e.data==x||(e.data=x);return e}function P(e,t,n,r){try{typeof e==`function`?t?t.__x=e(t)||1:(r&&=r.__c||r.__e)&&(t=r.__x)&&(r.__x=null,typeof t==`function`?t():e(null)):e.current=t}catch(e){g.__e(e,n)}}function F(e,t,n){var r,i,a,o;if(g.unmount&&g.unmount(e),!(r=e.ref)||r.current&&r.current!=e.__e||P(r,null,t,e),r=e.__c){if(r.componentWillUnmount)try{r.componentWillUnmount()}catch(e){g.__e(e,t)}r.__P=r.__n=null}if(r=e.__k)for(o=0;o<r.length;o++)r[o]&&F(r[o],t,typeof e.type!=`function`||n&&!e.props.__P);!n&&(r=e.__c)&&(r=r.__z)&&(i=he(r,a=[]))&&(r==e.__e&&a.some(re),re(i),re(r)),(r=e.__e)&&(n||re(r),r.__e&&(r.__e=null)),e.__e=e.__c=e.__=null}function ye(e,t,n){return this.constructor(e,n)}function be(e,t){var n,r,i,a;g.__&&g.__(e,t),t.nodeType==9&&(t=t.documentElement),r=(n=e&&32&e.__u)?null:t.__k,t.__k=A(ie,{children:[e]}),i=[],a=[],N(t,t.__k,r||ee,ee,t.namespaceURI,r?null:t.firstChild?O.call(t.childNodes):null,i,r?r.__e:t.firstChild,n,a),_e(i,t.__k,a),t.__k.props.children=null}g={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((o=(a=i.constructor)&&a.getDerivedStateFromError)&&i.setState(a.getDerivedStateFromError(e)),i.componentDidCatch&&(i.componentDidCatch(e,r||{}),o=1),o&&8&i.__g)return void(i.__g|=2)}catch(t){e=t}}throw b=0,e}},_=0,ae.prototype.setState=function(e,t){var n=this.__s;n&&n!=this.state||(n=this.__s=k({},this.state)),typeof e==`function`&&(e=e(k({},n),this.props)),e&&(k(n,e),this.__v&&(t&&this.__k.push(t),j(this)))},ae.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),j(this))},ae.prototype.render=ie,v=[],b=0,x=function(e,t){return e.__v.__b-t.__v.__b},S=Symbol(),C=/(PointerCapture)$|Capture$/i,w=0,T={};function I(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function xe(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=I(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{n=void 0}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var L;function R(){return L||=xe(`keyval-store`,`keyval`),L}function z(e,t=R()){return t(`readonly`,t=>I(t.get(e)))}function B(e,t,n=R()){return n(`readwrite`,n=>(n.put(t,e),I(n.transaction)))}var Se,V,Ce,we,H=Object.is,Te=0,U=[],Ee=[],W=g,De=W.__b,Oe=W.__r,ke=W.diffed,Ae=W.__c,je=W.unmount,Me=W.__;function Ne(e,t){W.__h&&W.__h(V,e,Te||t),Te=0;var n=V.__H||(V.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function G(e){return Te=1,Pe(Ke,e)}function Pe(e,t,n){var r=Ne(Se++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Ke(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);H(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=V,!V.__f)){V.__f=!0;var i=V.shouldComponentUpdate;V.shouldComponentUpdate=function(e,t,n){var r=this.__H;if(!r)return!0;var a=!1,o=this.props!=e;if(r.__.some(function(e){e.__N&&(a=!0,H(e.__[0],e.__N[0])||(o=!0))}),i){var s=i.call(this,e,t,n);return a?s||o:s}return!a||o}}return r.__}function Fe(e,t){var n=Ne(Se++,3);!W.__s&&Ge(n.__H,t)&&(n.__P=!0,n.__=e,n.u=t,V.__H.__h.push(n))}function Ie(e){return Te=5,Le(function(){return{current:e}},[])}function Le(e,t){var n=Ne(Se++,7);return Ge(n.__H,t)&&(n.__=e(),n.__H=t),n.__}function Re(e,t){return Te=8,Le(function(){return e},t)}function ze(){var e;do{for(;e=Ee.shift();)try{Ue(e)}catch(t){W.__e(t,{__:(e=e.__P)&&e.__v})}for(;e=U.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Ue),t.__h.some(We),t.__h=[]}catch(n){t.__h=[],W.__e(n,e.__v)}}}while(Ee.length)}W.__b=function(e){V=null,De&&De(e)},W.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Me&&Me(e,t)},W.__r=function(e){Oe&&Oe(e),Se=0;var t=(V=e.__c).__H;t&&(Ce==V?V.__h=[]:(t.__h.some(Ue),t.__h.some(We),Se=0),t.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})),Ce=V},W.diffed=function(e){ke&&ke(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&He(U.push(t)),t.__H.__.some(function(e){e.u&&(e.__H=e.u)})),Ce=V=null},W.__c=function(e,t){t.some(function(e){try{e.__h.some(Ue),e.__h=e.__h.filter(function(e){return!e.__||We(e)})}catch(t){e.__h=[function(){throw t}]}}),Ae&&Ae(e,t)},W.unmount=function(e){je&&je(e);var t,n,r=e.__c;r&&r.__H&&(r.__H.__.some(function(r){try{if(r.__P&&r.__c){if(n===void 0){for(n=e.__;n&&(!n.__c||!n.__c.__P);)n=n.__;n&&=n.__c}r.__P=n,He(Ee.push(r))}else Ue(r)}catch(e){t=e}}),r.__H=void 0,t&&W.__e(t,r.__v))};var Be=typeof requestAnimationFrame==`function`;function Ve(e){var t,n=function(){clearTimeout(r),Be&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);Be&&(t=requestAnimationFrame(n))}function He(e){e!=1&&we==W.requestAnimationFrame||((we=W.requestAnimationFrame)||Ve)(ze)}function Ue(e){var t=V,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),V=t}function We(e){var t=V;e.__c=e.__(),V=t}function Ge(e,t){return!e||e.length!=t.length||t.some(function(t,n){return!H(t,e[n])})}function Ke(e,t){return typeof t==`function`?t(e):t}function qe(e,t){let n=Error(`${e}: ${t}`);return n.code=e,n}function Je(e){return e.split(`/`).filter(e=>e.length>0&&e!==`.`)}function Ye(e,t,n){return{type:e,mode:e===`file`?33188:16384,size:t,ino:0,dev:0,uid:0,gid:0,mtimeMs:n,ctimeMs:n,mtime:new Date(n),ctime:new Date(n),isFile:()=>e===`file`,isDirectory:()=>e===`dir`,isSymbolicLink:()=>!1}}var Xe=class{dirs=new Map;root;promises;constructor(e){this.root=e,this.dirs.set(``,e),this.promises={readFile:(e,t)=>this.readFile(e,t),writeFile:(e,t)=>this.writeFile(e,t),unlink:e=>this.unlink(e),readdir:e=>this.readdir(e),mkdir:e=>this.mkdir(e),rmdir:e=>this.rmdir(e),stat:e=>this.stat(e),lstat:e=>this.stat(e),readlink:e=>Promise.reject(qe(`ENOSYS`,e)),symlink:e=>Promise.reject(qe(`ENOSYS`,e))}}async dir(e,t=!1){let n=e.join(`/`),r=this.dirs.get(n);if(r)return r;let i=this.root;for(let n=0;n<e.length;n++){let r=e.slice(0,n+1).join(`/`),a=this.dirs.get(r);if(a)i=a;else{try{i=await i.getDirectoryHandle(e[n],{create:t})}catch{throw qe(`ENOENT`,r)}this.dirs.set(r,i)}}return i}async parentAndName(e,t=!1){let n=Je(e),r=n.pop();if(r===void 0)throw qe(`EINVAL`,e);return[await this.dir(n,t),r]}async readFile(e,t){let[n,r]=await this.parentAndName(e),i;try{i=await(await n.getFileHandle(r)).getFile()}catch{throw qe(`ENOENT`,e)}let a=typeof t==`string`?t:t?.encoding;return a===`utf8`||a===`utf-8`?await i.text():new Uint8Array(await i.arrayBuffer())}async writeFile(e,t){let[n,r]=await this.parentAndName(e,!0),i=await(await n.getFileHandle(r,{create:!0})).createWritable();await i.write(t),await i.close()}async unlink(e){let[t,n]=await this.parentAndName(e);try{await t.removeEntry(n)}catch{throw qe(`ENOENT`,e)}}async readdir(e){let t=await this.dir(Je(e)),n=[];for await(let e of t.keys())n.push(e);return n}async mkdir(e){let t=Je(e),[n,r]=await this.parentAndName(e,!0),i=!0;try{await n.getDirectoryHandle(r)}catch{i=!1}let a=await n.getDirectoryHandle(r,{create:!0});if(this.dirs.set(t.join(`/`),a),i)throw qe(`EEXIST`,e)}async rmdir(e){let t=Je(e),[n,r]=await this.parentAndName(e);try{await n.removeEntry(r)}catch{throw qe(`ENOTEMPTY`,e)}for(let e of[...this.dirs.keys()])(e===t.join(`/`)||e.startsWith(t.join(`/`)+`/`))&&this.dirs.delete(e)}async stat(e){if(Je(e).length===0)return Ye(`dir`,0,0);let[t,n]=await this.parentAndName(e);try{let e=await(await t.getFileHandle(n)).getFile();return Ye(`file`,e.size,e.lastModified)}catch{try{return await t.getDirectoryHandle(n),Ye(`dir`,0,0)}catch{throw qe(`ENOENT`,e)}}}},Ze=s(((e,t)=>{t.exports=n;function n(e){var t,n;if(typeof e!=`function`)throw Error(`expected a function but got `+e);return function(){return t||(t=!0,n=e.apply(this,arguments),e=void 0),n}}})),Qe=s((()=>{(function(e){function t(e,t){return(e instanceof Buffer?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength)).toString(t)}var n=function(e){return Buffer.from(e)};function r(e){for(var t=0,n=Math.min(65536,e.length+1),r=new Uint16Array(n),i=[],a=0;;){var o=t<e.length;if(!o||a>=n-1){var s=r.subarray(0,a);if(i.push(String.fromCharCode.apply(null,s)),!o)return i.join(``);e=e.subarray(t),t=0,a=0}var c=e[t++];if(!(c&128))r[a++]=c;else if((c&224)==192){var l=e[t++]&63;r[a++]=(c&31)<<6|l}else if((c&240)==224){var l=e[t++]&63,u=e[t++]&63;r[a++]=(c&31)<<12|l<<6|u}else if((c&248)==240){var l=e[t++]&63,u=e[t++]&63,d=e[t++]&63,f=(c&7)<<18|l<<12|u<<6|d;f>65535&&(f-=65536,r[a++]=f>>>10&1023|55296,f=56320|f&1023),r[a++]=f}}}function i(e){for(var t=0,n=e.length,r=0,i=Math.max(32,n+(n>>>1)+7),a=new Uint8Array(i>>>3<<3);t<n;){var o=e.charCodeAt(t++);if(o>=55296&&o<=56319){if(t<n){var s=e.charCodeAt(t);(s&64512)==56320&&(++t,o=((o&1023)<<10)+(s&1023)+65536)}if(o>=55296&&o<=56319)continue}if(r+4>a.length){i+=8,i*=1+t/e.length*2,i=i>>>3<<3;var c=new Uint8Array(i);c.set(a),a=c}if(!(o&4294967168))a[r++]=o;else{if(!(o&4294965248))a[r++]=o>>>6&31|192;else if(!(o&4294901760))a[r++]=o>>>12&15|224,a[r++]=o>>>6&63|128;else if(!(o&4292870144))a[r++]=o>>>18&7|240,a[r++]=o>>>12&63|128,a[r++]=o>>>6&63|128;else continue;a[r++]=o&63|128}}return a.slice?a.slice(0,r):a.subarray(0,r)}var a=`Failed to `,o=function(e,t,n){if(e)throw Error(`${a}${t}: the '${n}' option is unsupported.`)},s=typeof Buffer==`function`&&Buffer.from,c=s?n:i;function l(){this.encoding=`utf-8`}l.prototype.encode=function(e,t){return o(t&&t.stream,`encode`,`stream`),c(e)};function u(e){var t;try{var n=new Blob([e],{type:`text/plain;charset=UTF-8`});t=URL.createObjectURL(n);var r=new XMLHttpRequest;return r.open(`GET`,t,!1),r.send(),r.responseText}finally{t&&URL.revokeObjectURL(t)}}var d=!s&&typeof Blob==`function`&&typeof URL==`function`&&typeof URL.createObjectURL==`function`,f=[`utf-8`,`utf8`,`unicode-1-1-utf-8`],p=r;s?p=t:d&&(p=function(e){try{return u(e)}catch{return r(e)}});var m=`construct 'TextDecoder'`,h=`${a} ${m}: the `;function g(e,t){if(o(t&&t.fatal,m,`fatal`),e||=`utf-8`,!(s?Buffer.isEncoding(e):f.indexOf(e.toLowerCase())!==-1))throw RangeError(`${h} encoding label provided ('${e}') is invalid.`);this.encoding=e,this.fatal=!1,this.ignoreBOM=!1}g.prototype.decode=function(e,t){o(t&&t.stream,`decode`,`stream`);var n=e instanceof Uint8Array?e:e.buffer instanceof ArrayBuffer?new Uint8Array(e.buffer):new Uint8Array(e);return p(n,this.encoding)},e.TextEncoder=e.TextEncoder||l,e.TextDecoder=e.TextDecoder||g})(typeof window<`u`?window:typeof global<`u`?global:void 0)})),$e=s(((e,t)=>{Qe(),t.exports={encode:e=>new TextEncoder().encode(e),decode:e=>new TextDecoder().decode(e)}})),et=s(((e,t)=>{t.exports=n;function n(e,t,n){var r=null,i=null,a=function(){r&&=(clearTimeout(r),i=null,null)},o=function(){var e=i;a(),e&&e()},s=function(){if(!t)return e.apply(this,arguments);var o=this,s=arguments,c=n&&!r;if(a(),i=function(){e.apply(o,s)},r=setTimeout(function(){if(r=null,!c){var e=i;return i=null,e()}},t),c)return i()};return s.cancel=a,s.flush=o,s}})),tt=s(((e,t)=>{function n(e){if(e.length===0)return`.`;let t=a(e);return t=t.reduce(c,[]),i(...t)}function r(...e){let t=``;for(let r of e)t=r.startsWith(`/`)?n(r):n(i(t,r));return t}function i(...e){if(e.length===0)return``;let t=e.join(`/`);return t=t.replace(/\/{2,}/g,`/`),t}function a(e){if(e.length===0)return[];if(e===`/`)return[`/`];let t=e.split(`/`);return t[t.length-1]===``&&t.pop(),e[0]===`/`?t[0]=`/`:t[0]!==`.`&&t.unshift(`.`),t}function o(e){let t=e.lastIndexOf(`/`);if(t===-1)throw Error(`Cannot get dirname of "${e}"`);return t===0?`/`:e.slice(0,t)}function s(e){if(e===`/`)throw Error(`Cannot get basename of "${e}"`);let t=e.lastIndexOf(`/`);return t===-1?e:e.slice(t+1)}function c(e,t){if(e.length===0)return e.push(t),e;if(t===`.`||t===``)return e;if(t===`..`){if(e.length===1){if(e[0]===`/`)return e;if(e[0]===`.`)return e.push(t),e}return e[e.length-1]===`..`?(e.push(`..`),e):(e.pop(),e)}return e.push(t),e}t.exports={join:i,normalize:n,split:a,basename:s,dirname:o,resolve:r}})),nt=s(((e,t)=>{function n(e){return class extends Error{constructor(...t){super(...t),this.code=e,this.message=this.message?e+`: `+this.message:e}}}t.exports={EEXIST:n(`EEXIST`),ENOENT:n(`ENOENT`),ENOTDIR:n(`ENOTDIR`),ENOTEMPTY:n(`ENOTEMPTY`),ETIMEDOUT:n(`ETIMEDOUT`),EISDIR:n(`EISDIR`)}})),rt=s(((e,t)=>{var n=tt(),{EEXIST:r,ENOENT:i,ENOTDIR:a,ENOTEMPTY:o,EISDIR:s}=nt(),c=0;t.exports=class{constructor(e,{uid:t=1,gid:n=1}={}){this._uid=t,this._gid=n}_makeRoot(e=new Map){return e.set(c,{mode:511,type:`dir`,size:0,ino:0,mtimeMs:Date.now(),uid:this._uid,gid:this._gid}),e}activate(e=null){this._root=e===null?new Map([[`/`,this._makeRoot()]]):typeof e==`string`?new Map([[`/`,this._makeRoot(this.parse(e))]]):e}get activated(){return!!this._root}deactivate(){this._root=void 0}size(){return this._countInodes(this._root.get(`/`))-1}_countInodes(e){let t=1;for(let[n,r]of e)n!==c&&(t+=this._countInodes(r));return t}autoinc(){return this._maxInode(this._root.get(`/`))+1}_maxInode(e){let t=e.get(c).ino;for(let[n,r]of e)n!==c&&(t=Math.max(t,this._maxInode(r)));return t}print(e=this._root.get(`/`)){let t=``,n=(e,r)=>{for(let[i,a]of e){if(i===0)continue;let e=a.get(c),o=e.mode.toString(8);t+=`${` `.repeat(r)}${i}\t${o}`,e.type===`file`?t+=`\t${e.size}\t${e.mtimeMs}\n`:(t+=`
|
|
2
|
-
`,n(a,r+1))}};return n(e,0),t}parse(e){let t=0,n=this._uid,r=this._gid;function i(e){let i=++t,a=e.length===1?`dir`:`file`,[o,s,l]=e;return o=parseInt(o,8),s=s?parseInt(s):0,l=l?parseInt(l):Date.now(),new Map([[c,{mode:o,type:a,size:s,mtimeMs:l,ino:i,uid:n,gid:r}]])}let a=e.trim().split(`
|
|
3
|
-
`),o=this._makeRoot(),s=[{indent:-1,node:o},{indent:0,node:null}];for(let e of a){let t=e.match(/^\t*/)[0].length;e=e.slice(t);let[n,...r]=e.split(` `),a=i(r);if(t<=s[s.length-1].indent)for(;t<=s[s.length-1].indent;)s.pop();s.push({indent:t,node:a}),s[s.length-2].node.set(n,a)}return o}_lookup(e,t=!0){let r=this._root,a=`/`,o=n.split(e);for(let s=0;s<o.length;++s){let l=o[s];if(r=r.get(l),!r)throw new i(e);if(t||s<o.length-1){let e=r.get(c);if(e.type===`symlink`){let t=n.resolve(a,e.target);r=this._lookup(t)}a=a?n.join(a,l):l}}return r}mkdir(e,{mode:t}){if(e===`/`)throw new r;let i=this._lookup(n.dirname(e)),a=n.basename(e);if(i.has(a))throw new r;let o=new Map,s={mode:t,type:`dir`,size:0,mtimeMs:Date.now(),ino:this.autoinc(),uid:this._uid,gid:this._gid};o.set(c,s),i.set(a,o)}rmdir(e){let t=this._lookup(e);if(t.get(c).type!==`dir`)throw new a;if(t.size>1)throw new o;let r=this._lookup(n.dirname(e)),i=n.basename(e);r.delete(i)}readdir(e){let t=this._lookup(e);if(t.get(c).type!==`dir`)throw new a;return[...t.keys()].filter(e=>typeof e==`string`)}writeStat(e,t,{mode:r}){let i,a,o,l;try{l=this.stat(e)}catch{}if(l!==void 0){if(l.type===`dir`)throw new s;r??=l.mode,a=l.uid,o=l.gid,i=l.ino}r??=438,a??=this._uid,o??=this._gid,i??=this.autoinc();let u=this._lookup(n.dirname(e)),d=n.basename(e),f={mode:r,type:`file`,size:t,mtimeMs:Date.now(),ino:i,uid:a,gid:o},p=new Map;return p.set(c,f),u.set(d,p),f}unlink(e){let t=this._lookup(n.dirname(e)),r=n.basename(e);t.delete(r)}rename(e,t){let r=n.basename(t),i=this._lookup(e);this._lookup(n.dirname(t)).set(r,i),this.unlink(e)}stat(e){return this._lookup(e).get(c)}lstat(e){return this._lookup(e,!1).get(c)}readlink(e){return this._lookup(e,!1).get(c).target}symlink(e,t){let r,i,a=this._uid,o=this._gid;try{let e=this.stat(t);i===null&&(i=e.mode),r=e.ino}catch{}i??=40960,r??=this.autoinc();let s=this._lookup(n.dirname(t)),l=n.basename(t),u={mode:i,type:`symlink`,target:e,size:0,mtimeMs:Date.now(),ino:r,uid:a,gid:o},d=new Map;return d.set(c,u),s.set(l,d),u}chmod(e,t){let n=this.stat(e);n.mode=t,n.ctimeMs=Date.now()}chown(e,t,n){let r=this.stat(e);r.uid=t,r.gid=n,r.ctimeMs=Date.now()}utimes(e,t,n){let r=this._lookup(e,!0).get(c);r.atimeMs=t,r.mtimeMs=n,r.ctimeMs=Date.now()}lutimes(e,t,n){let r=this._lookup(e,!1).get(c);r.atimeMs=t,r.mtimeMs=n,r.ctimeMs=Date.now()}_du(e){let t=0;for(let[n,r]of e.entries())t+=n===c?r.size:this._du(r);return t}du(e){let t=this._lookup(e);return this._du(t)}}})),it=c({Store:()=>pt,clear:()=>ut,close:()=>ft,del:()=>lt,get:()=>ot,keys:()=>dt,set:()=>st,update:()=>ct});function at(){return mt||=new pt,mt}function ot(e,t=at()){let n;return t._withIDBStore(`readwrite`,t=>{n=t.get(e)}).then(()=>n.result)}function st(e,t,n=at()){return n._withIDBStore(`readwrite`,n=>{n.put(t,e)})}function ct(e,t,n=at()){return n._withIDBStore(`readwrite`,n=>{let r=n.get(e);r.onsuccess=()=>{n.put(t(r.result),e)}})}function lt(e,t=at()){return t._withIDBStore(`readwrite`,t=>{t.delete(e)})}function ut(e=at()){return e._withIDBStore(`readwrite`,e=>{e.clear()})}function dt(e=at()){let t=[];return e._withIDBStore(`readwrite`,e=>{(e.openKeyCursor||e.openCursor).call(e).onsuccess=function(){this.result&&(t.push(this.result.key),this.result.continue())}}).then(()=>t)}function ft(e=at()){return e._close()}var pt,mt,ht=o((()=>{pt=class{constructor(e=`keyval-store`,t=`keyval`){this.storeName=t,this._dbName=e,this._storeName=t,this._init()}_init(){this._dbp||=new Promise((e,t)=>{let n=indexedDB.open(this._dbName);n.onerror=()=>t(n.error),n.onsuccess=()=>e(n.result),n.onupgradeneeded=()=>{n.result.createObjectStore(this._storeName)}})}_withIDBStore(e,t){return this._init(),this._dbp.then(n=>new Promise((r,i)=>{let a=n.transaction(this.storeName,e);a.oncomplete=()=>r(),a.onabort=a.onerror=()=>i(a.error),t(a.objectStore(this.storeName))}))}_close(){return this._init(),this._dbp.then(e=>{e.close(),this._dbp=void 0})}}})),gt=s(((e,t)=>{var n=(ht(),d(it));t.exports=class{constructor(e,t){this._database=e,this._storename=t,this._store=new n.Store(this._database,this._storename)}saveSuperblock(e){return n.set(`!root`,e,this._store)}loadSuperblock(){return n.get(`!root`,this._store)}readFile(e){return n.get(e,this._store)}writeFile(e,t){return n.set(e,t,this._store)}unlink(e){return n.del(e,this._store)}wipe(){return n.clear(this._store)}close(){return n.close(this._store)}}})),_t=s(((e,t)=>{t.exports=class{constructor(e){this._url=e}loadSuperblock(){return fetch(this._url+`/.superblock.txt`).then(e=>e.ok?e.text():null)}async readFile(e){let t=await fetch(this._url+e);if(t.status===200)return t.arrayBuffer();throw Error(`ENOENT`)}async sizeFile(e){let t=await fetch(this._url+e,{method:`HEAD`});if(t.status===200)return t.headers.get(`content-length`);throw Error(`ENOENT`)}}})),vt=s(((e,t)=>{var n=(ht(),d(it)),r=e=>new Promise(t=>setTimeout(t,e));t.exports=class{constructor(e,t){this._id=Math.random(),this._database=e,this._storename=t,this._store=new n.Store(this._database,this._storename),this._lock=null}async has({margin:e=2e3}={}){if(this._lock&&this._lock.holder===this._id){let t=Date.now();return this._lock.expires>t+e||await this.renew()}return!1}async renew({ttl:e=5e3}={}){let t;return await n.update(`lock`,n=>{let r=Date.now()+e;return t=n&&n.holder===this._id,this._lock=t?{holder:this._id,expires:r}:n,this._lock},this._store),t}async acquire({ttl:e=5e3}={}){let t,r,i;if(await n.update(`lock`,n=>{let a=Date.now(),o=a+e;return r=n&&n.expires<a,t=n===void 0||r,i=n&&n.holder===this._id,this._lock=t?{holder:this._id,expires:o}:n,this._lock},this._store),i)throw Error(`Mutex double-locked`);return t}async wait({interval:e=100,limit:t=6e3,ttl:n}={}){for(;t--;){if(await this.acquire({ttl:n}))return!0;await r(e)}throw Error(`Mutex timeout`)}async release({force:e=!1}={}){let t,r,i;if(await n.update(`lock`,n=>(t=e||n&&n.holder===this._id,r=n===void 0,i=n&&n.holder!==this._id,this._lock=t?void 0:n,this._lock),this._store),await n.close(this._store),!t&&!e){if(r)throw Error(`Mutex double-freed`);if(i)throw Error(`Mutex lost ownership`)}return t}}})),yt=s(((e,t)=>{t.exports=class{constructor(e){this._id=Math.random(),this._database=e,this._has=!1,this._release=null}async has(){return this._has}async acquire(){return new Promise(e=>{navigator.locks.request(this._database+`_lock`,{ifAvailable:!0},t=>(this._has=!!t,e(!!t),new Promise(e=>{this._release=e})))})}async wait({timeout:e=6e5}={}){return new Promise((t,n)=>{let r=new AbortController;setTimeout(()=>{r.abort(),n(Error(`Mutex timeout`))},e),navigator.locks.request(this._database+`_lock`,{signal:r.signal},e=>(this._has=!!e,t(!!e),new Promise(e=>{this._release=e})))})}async release({force:e=!1}={}){this._has=!1,this._release?this._release():e&&navigator.locks.request(this._database+`_lock`,{steal:!0},e=>!0)}}})),bt=s(((e,t)=>{var{encode:n,decode:r}=$e(),i=et(),a=rt(),{EEXIST:o,EISDIR:s,ENOENT:c,ENOTEMPTY:l,ETIMEDOUT:u}=nt(),d=gt(),f=_t(),p=vt(),m=yt(),h=tt();t.exports=class{constructor(){this.saveSuperblock=i(()=>{this.flush()},500)}async init(e,{wipe:t,url:n,urlauto:r,fileDbName:i=e,db:o=null,fileStoreName:s=e+`_files`,lockDbName:c=e+`_lock`,lockStoreName:l=e+`_lock`,uid:u=1,gid:h=1}={}){this._name=e,this._idb=o||new d(i,s),this._mutex=navigator.locks?new m(e):new p(c,l),this._cache=new a(e,{uid:u,gid:h}),this._opts={wipe:t,url:n},this._needsWipe=!!t,n&&(this._http=new f(n),this._urlauto=!!r)}async activate(){if(this._cache.activated)return;this._needsWipe&&(this._needsWipe=!1,await this._idb.wipe(),await this._mutex.release({force:!0})),await this._mutex.has()||await this._mutex.wait();let e=await this._idb.loadSuperblock();if(e)this._cache.activate(e);else if(this._http){let e=await this._http.loadSuperblock();this._cache.activate(e),await this._saveSuperblock()}else this._cache.activate();if(!await this._mutex.has())throw new u}async deactivate(){await this._mutex.has()&&await this._saveSuperblock(),this._cache.deactivate();try{await this._mutex.release()}catch(e){console.log(e)}await this._idb.close()}async _saveSuperblock(){this._cache.activated&&(this._lastSavedAt=Date.now(),await this._idb.saveSuperblock(this._cache._root))}_writeStat(e,t,n){let r=h.split(h.dirname(e)),i=r.shift();for(let e of r){i=h.join(i,e);try{this._cache.mkdir(i,{mode:511})}catch{}}return this._cache.writeStat(e,t,n)}async readFile(e,t){let n=typeof t==`string`?t:t&&t.encoding;if(n&&n!==`utf8`)throw Error(`Only "utf8" encoding is supported in readFile`);let i=null,a=null;try{a=this._cache.stat(e),i=await this._idb.readFile(a.ino)}catch(e){if(!this._urlauto)throw e}if(!i&&this._http){let t=this._cache.lstat(e);for(;t.type===`symlink`;)e=h.resolve(h.dirname(e),t.target),t=this._cache.lstat(e);i=await this._http.readFile(e)}if(i&&(a&&a.size==i.byteLength||(a=await this._writeStat(e,i.byteLength,{mode:a?a.mode:438}),this.saveSuperblock()),n===`utf8`?i=r(i):i.toString=()=>r(i)),!a)throw new c(e);return i}async writeFile(e,t,r){let{mode:i,encoding:a=`utf8`}=r;if(typeof t==`string`){if(a!==`utf8`)throw Error(`Only "utf8" encoding is supported in writeFile`);t=n(t)}let o=await this._cache.writeStat(e,t.byteLength,{mode:i});await this._idb.writeFile(o.ino,t)}async unlink(e,t){let n=this._cache.lstat(e);this._cache.unlink(e),n.type!==`symlink`&&await this._idb.unlink(n.ino)}readdir(e,t){return this._cache.readdir(e)}mkdir(e,t){let{mode:n=511}=t;this._cache.mkdir(e,{mode:n})}rmdir(e,t){if(e===`/`)throw new l;this._cache.rmdir(e)}rename(e,t){this._cache.rename(e,t)}stat(e,t){return this._cache.stat(e)}lstat(e,t){return this._cache.lstat(e)}readlink(e,t){return this._cache.readlink(e)}symlink(e,t){this._cache.symlink(e,t)}chmod(e,t){this._cache.chmod(e,t)}chown(e,t,n){this._cache.chown(e,t,n)}utimes(e,t,n){this._cache.utimes(e,t,n)}lutimes(e,t,n){this._cache.lutimes(e,t,n)}_exists(e){try{return this._cache.lstat(e),!0}catch{return!1}}_mkdirp(e,t=511){if(!(e===`/`||this._exists(e))){this._mkdirp(h.dirname(e),511);try{this._cache.mkdir(e,{mode:t})}catch(e){if(e.code!==`EEXIST`)throw e}}}async cp(e,t,n={}){let{recursive:r=!1,force:i=!0,errorOnExist:a=!1,dereference:o=!1,filter:s}=n,c=e===`/`?t.startsWith(`/`):t.startsWith(e+`/`);if(t===e||c)throw Error(`ERR_FS_CP_EINVAL: cannot copy "${e}" into itself "${t}"`);await this._cpOne(e,t,{recursive:r,force:i,errorOnExist:a,dereference:o,filter:s})}async _cpOne(e,t,n){if(n.filter&&await n.filter(e,t)===!1)return;let r=n.dereference?this._cache.stat(e):this._cache.lstat(e);if(r.type===`symlink`){if(this._exists(t)){if(!n.force){if(n.errorOnExist)throw new o(t);return}this._cache.unlink(t)}let r=this._cache.readlink(e);this._cache.symlink(r,t);return}if(r.type===`dir`){if(!n.recursive)throw new s(e);this._mkdirp(t,r.mode);for(let r of this._cache.readdir(e))await this._cpOne(h.join(e,r),h.join(t,r),n);return}if(this._exists(t)&&!n.force){if(n.errorOnExist)throw new o(t);return}let i=await this._idb.readFile(r.ino),a=this._cache.writeStat(t,r.size,{mode:r.mode});await this._idb.writeFile(a.ino,i)}async backFile(e,t){let n=await this._http.sizeFile(e);await this._writeStat(e,n,t)}du(e){return this._cache.du(e)}flush(){return this._saveSuperblock()}}})),xt=s(((e,t)=>{t.exports=class{constructor(e){this.type=e.type,this.mode=e.mode,this.size=e.size,this.ino=e.ino,this.mtimeMs=e.mtimeMs,this.atimeMs=e.atimeMs??e.mtimeMs,this.ctimeMs=e.ctimeMs??e.mtimeMs,this.uid=e.uid==null?1:e.uid,this.gid=e.gid==null?1:e.gid,this.dev=1}isFile(){return this.type===`file`}isDirectory(){return this.type===`dir`}isSymbolicLink(){return this.type===`symlink`}}})),St=s(((e,t)=>{var n=bt(),r=xt(),i=tt();function a(e,t,...n){return e=i.normalize(e),(t===void 0||typeof t==`function`)&&(t={}),typeof t==`string`&&(t={encoding:t}),[e,t,...n]}function o(e,t,n,...r){return e=i.normalize(e),(n===void 0||typeof n==`function`)&&(n={}),typeof n==`string`&&(n={encoding:n}),[e,t,n,...r]}function s(e,t,...n){return[i.normalize(e),i.normalize(t),...n]}function c(e,t,...n){return[e,i.normalize(t),...n]}function l(e,t,n,...r){return e=i.normalize(e),t=i.normalize(t),(n===void 0||typeof n==`function`)&&(n={}),[e,t,n,...r]}function u(e,t,...n){return[i.normalize(e),t,...n]}function d(e,t,n,...r){return[i.normalize(e),t,n,...r]}function f(e,t,n,...r){return[i.normalize(e),t,n,...r]}function p(e){let t;if(e instanceof Date)t=e.getTime();else if(typeof e==`number`||typeof e==`string`)t=Number(e)*1e3;else throw TypeError(`Invalid time value: ${e}`);if(!Number.isFinite(t))throw TypeError(`Invalid time value: ${e}`);return t}t.exports=class{constructor(e,t={}){this.init=this.init.bind(this),this.readFile=this._wrap(this.readFile,a,!1),this.writeFile=this._wrap(this.writeFile,o,!0),this.unlink=this._wrap(this.unlink,a,!0),this.readdir=this._wrap(this.readdir,a,!1),this.mkdir=this._wrap(this.mkdir,a,!0),this.rmdir=this._wrap(this.rmdir,a,!0),this.rename=this._wrap(this.rename,s,!0),this.stat=this._wrap(this.stat,a,!1),this.lstat=this._wrap(this.lstat,a,!1),this.readlink=this._wrap(this.readlink,a,!1),this.symlink=this._wrap(this.symlink,c,!0),this.backFile=this._wrap(this.backFile,a,!0),this.du=this._wrap(this.du,a,!1),this.chmod=this._wrap(this.chmod,u,!0),this.chown=this._wrap(this.chown,d,!0),this.utimes=this._wrap(this.utimes,f,!0),this.lutimes=this._wrap(this.lutimes,f,!0),this.cp=this._wrap(this.cp,l,!0),this._deactivationPromise=null,this._deactivationTimeout=null,this._activationPromise=null,this._operations=new Set,e&&this.init(e,t)}async init(...e){return this._initPromiseResolve&&await this._initPromise,this._initPromise=this._init(...e),this._initPromise}async _init(e,t={}){await this._gracefulShutdown(),this._activationPromise&&await this._deactivate(),this._backend&&this._backend.destroy&&await this._backend.destroy(),this._backend=t.backend||new n,this._backend.init&&await this._backend.init(e,t),this._initPromiseResolve&&=(this._initPromiseResolve(),null),t.defer||typeof this._backend.stat==`function`&&this.stat(`/`).catch(e=>console.error(e))}async _gracefulShutdown(){this._operations.size>0&&(this._isShuttingDown=!0,await new Promise(e=>this._gracefulShutdownResolve=e),this._isShuttingDown=!1,this._gracefulShutdownResolve=null)}_wrap(e,t,n){return async(...r)=>{r=t(...r);let i={name:e.name,args:r};this._operations.add(i);try{return await this._activate(),await e.apply(this,r)}finally{this._operations.delete(i),n&&this._backend.saveSuperblock(),this._operations.size===0&&(this._deactivationTimeout||clearTimeout(this._deactivationTimeout),this._deactivationTimeout=setTimeout(this._deactivate.bind(this),500))}}}async _activate(){this._initPromise||console.warn(Error(`Attempted to use LightningFS ${this._name} before it was initialized.`)),await this._initPromise,this._deactivationTimeout&&=(clearTimeout(this._deactivationTimeout),null),this._deactivationPromise&&await this._deactivationPromise,this._deactivationPromise=null,this._activationPromise||=this._backend.activate?this._backend.activate():Promise.resolve(),await this._activationPromise}async _deactivate(){return this._activationPromise&&await this._activationPromise,this._deactivationPromise||=this._backend.deactivate?this._backend.deactivate():Promise.resolve(),this._activationPromise=null,this._gracefulShutdownResolve&&this._gracefulShutdownResolve(),this._deactivationPromise}async readFile(e,t){return this._backend.readFile(e,t)}async writeFile(e,t,n){return await this._backend.writeFile(e,t,n),null}async unlink(e,t){return await this._backend.unlink(e,t),null}async readdir(e,t){return this._backend.readdir(e,t)}async mkdir(e,t){return await this._backend.mkdir(e,t),null}async rmdir(e,t){return await this._backend.rmdir(e,t),null}async rename(e,t){return await this._backend.rename(e,t),null}async stat(e,t){return new r(await this._backend.stat(e,t))}async lstat(e,t){return new r(await this._backend.lstat(e,t))}async readlink(e,t){return this._backend.readlink(e,t)}async symlink(e,t){return await this._backend.symlink(e,t),null}async backFile(e,t){return await this._backend.backFile(e,t),null}async du(e){return this._backend.du(e)}async chmod(e,t){return await this._backend.chmod(e,t),null}async chown(e,t,n){return await this._backend.chown(e,t,n),null}async utimes(e,t,n){return await this._backend.utimes(e,p(t),p(n)),null}async lutimes(e,t,n){return await this._backend.lutimes(e,p(t),p(n)),null}async cp(e,t,n){return await this._backend.cp(e,t,n),null}async flush(){return this._backend.flush()}}})),Ct=s(((e,t)=>{t.exports=class{constructor(){this._map=new Map}saveSuperblock(e){this._map.set(`!root`,e)}loadSuperblock(){return this._map.get(`!root`)||null}readFile(e){return this._map.get(e)||null}writeFile(e,t){this._map.set(e,t)}unlink(e){this._map.delete(e)}async wipe(){this._map.clear()}close(){}}})),wt=s(((e,t)=>{var n=Ze(),r=St(),i=Ct();function a(e,t){return typeof e==`function`&&(t=e),t=n(t),[(...e)=>t(null,...e),t]}t.exports=class{constructor(...e){this.promises=new r(...e),this.init=this.init.bind(this),this.readFile=this.readFile.bind(this),this.writeFile=this.writeFile.bind(this),this.unlink=this.unlink.bind(this),this.readdir=this.readdir.bind(this),this.mkdir=this.mkdir.bind(this),this.rmdir=this.rmdir.bind(this),this.rename=this.rename.bind(this),this.stat=this.stat.bind(this),this.lstat=this.lstat.bind(this),this.readlink=this.readlink.bind(this),this.symlink=this.symlink.bind(this),this.backFile=this.backFile.bind(this),this.du=this.du.bind(this),this.flush=this.flush.bind(this),this.chmod=this.chmod.bind(this),this.chown=this.chown.bind(this),this.utimes=this.utimes.bind(this),this.lutimes=this.lutimes.bind(this),this.cp=this.cp.bind(this)}init(e,t){return this.promises.init(e,t)}readFile(e,t,n){let[r,i]=a(t,n);this.promises.readFile(e,t).then(r).catch(i)}writeFile(e,t,n,r){let[i,o]=a(n,r);this.promises.writeFile(e,t,n).then(i).catch(o)}unlink(e,t,n){let[r,i]=a(t,n);this.promises.unlink(e,t).then(r).catch(i)}readdir(e,t,n){let[r,i]=a(t,n);this.promises.readdir(e,t).then(r).catch(i)}mkdir(e,t,n){let[r,i]=a(t,n);this.promises.mkdir(e,t).then(r).catch(i)}rmdir(e,t,n){let[r,i]=a(t,n);this.promises.rmdir(e,t).then(r).catch(i)}rename(e,t,n){let[r,i]=a(n);this.promises.rename(e,t).then(r).catch(i)}stat(e,t,n){let[r,i]=a(t,n);this.promises.stat(e).then(r).catch(i)}lstat(e,t,n){let[r,i]=a(t,n);this.promises.lstat(e).then(r).catch(i)}readlink(e,t,n){let[r,i]=a(t,n);this.promises.readlink(e).then(r).catch(i)}symlink(e,t,n){let[r,i]=a(n);this.promises.symlink(e,t).then(r).catch(i)}backFile(e,t,n){let[r,i]=a(t,n);this.promises.backFile(e,t).then(r).catch(i)}du(e,t){let[n,r]=a(t);this.promises.du(e).then(n).catch(r)}flush(e){let[t,n]=a(e);this.promises.flush().then(t).catch(n)}chmod(e,t,n){let[r,i]=a(n);this.promises.chmod(e,t).then(r).catch(i)}chown(e,t,n,r){let[i,o]=a(r);this.promises.chown(e,t,n).then(i).catch(o)}utimes(e,t,n,r){let[i,o]=a(r);this.promises.utimes(e,t,n).then(i).catch(o)}lutimes(e,t,n,r){let[i,o]=a(r);this.promises.lutimes(e,t,n).then(i).catch(o)}cp(e,t,n,r){let[i,o]=a(n,r);this.promises.cp(e,t,n).then(i).catch(o)}},t.exports.MemoryBackend=i})),Tt=s(((e,t)=>{t.exports=typeof Object.create==`function`?function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}})),Et=s(((e,t)=>{var n=m(),r=n.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?t.exports=n:(i(n,e),e.Buffer=a);function a(e,t,n){return r(e,t,n)}a.prototype=Object.create(r.prototype),i(r,a),a.from=function(e,t,n){if(typeof e==`number`)throw TypeError(`Argument must not be a number`);return r(e,t,n)},a.alloc=function(e,t,n){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);var i=r(e);return t===void 0?i.fill(0):typeof n==`string`?i.fill(t,n):i.fill(t),i},a.allocUnsafe=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return r(e)},a.allocUnsafeSlow=function(e){if(typeof e!=`number`)throw TypeError(`Argument must be a number`);return n.SlowBuffer(e)}})),Dt=s(((e,t)=>{var n={}.toString;t.exports=Array.isArray||function(e){return n.call(e)==`[object Array]`}})),Ot=s(((e,t)=>{t.exports=TypeError})),kt=s(((e,t)=>{t.exports=Object})),At=s(((e,t)=>{t.exports=Error})),jt=s(((e,t)=>{t.exports=EvalError})),Mt=s(((e,t)=>{t.exports=RangeError})),Nt=s(((e,t)=>{t.exports=ReferenceError})),Pt=s(((e,t)=>{t.exports=SyntaxError})),Ft=s(((e,t)=>{t.exports=URIError})),It=s(((e,t)=>{t.exports=Math.abs})),Lt=s(((e,t)=>{t.exports=Math.floor})),Rt=s(((e,t)=>{t.exports=Math.max})),zt=s(((e,t)=>{t.exports=Math.min})),Bt=s(((e,t)=>{t.exports=Math.pow})),Vt=s(((e,t)=>{t.exports=Math.round})),Ht=s(((e,t)=>{t.exports=Number.isNaN||function(e){return e!==e}})),Ut=s(((e,t)=>{var n=Ht();t.exports=function(e){return n(e)||e===0?e:e<0?-1:1}})),Wt=s(((e,t)=>{t.exports=Object.getOwnPropertyDescriptor})),Gt=s(((e,t)=>{var n=Wt();if(n)try{n([],`length`)}catch{n=null}t.exports=n})),Kt=s(((e,t)=>{var n=Object.defineProperty||!1;if(n)try{n({},`a`,{value:1})}catch{n=!1}t.exports=n})),qt=s(((e,t)=>{t.exports=function(){if(typeof Symbol!=`function`||typeof Object.getOwnPropertySymbols!=`function`)return!1;if(typeof Symbol.iterator==`symbol`)return!0;var e={},t=Symbol(`test`),n=Object(t);if(typeof t==`string`||Object.prototype.toString.call(t)!==`[object Symbol]`||Object.prototype.toString.call(n)!==`[object Symbol]`)return!1;var r=42;for(var i in e[t]=r,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]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if(typeof Object.getOwnPropertyDescriptor==`function`){var o=Object.getOwnPropertyDescriptor(e,t);if(o.value!==r||o.enumerable!==!0)return!1}return!0}})),Jt=s(((e,t)=>{var n=typeof Symbol<`u`&&Symbol,r=qt();t.exports=function(){return typeof n!=`function`||typeof Symbol!=`function`||typeof n(`foo`)!=`symbol`||typeof Symbol(`bar`)!=`symbol`?!1:r()}})),Yt=s(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect.getPrototypeOf||null})),Xt=s(((e,t)=>{t.exports=kt().getPrototypeOf||null})),Zt=s(((e,t)=>{var n=Object.prototype.toString,r=Math.max,i=`[object Function]`,a=function(e,t){for(var n=[],r=0;r<e.length;r+=1)n[r]=e[r];for(var i=0;i<t.length;i+=1)n[i+e.length]=t[i];return n},o=function(e,t){for(var n=[],r=t||0,i=0;r<e.length;r+=1,i+=1)n[i]=e[r];return n},s=function(e,t){for(var n=``,r=0;r<e.length;r+=1)n+=e[r],r+1<e.length&&(n+=t);return n};t.exports=function(e){var t=this;if(typeof t!=`function`||n.apply(t)!==i)throw TypeError(`Function.prototype.bind called on incompatible `+t);for(var c=o(arguments,1),l,u=function(){if(this instanceof l){var n=t.apply(this,a(c,arguments));return Object(n)===n?n:this}return t.apply(e,a(c,arguments))},d=r(0,t.length-c.length),f=[],p=0;p<d;p++)f[p]=`$`+p;if(l=Function(`binder`,`return function (`+s(f,`,`)+`){ return binder.apply(this,arguments); }`)(u),t.prototype){var m=function(){};m.prototype=t.prototype,l.prototype=new m,m.prototype=null}return l}})),Qt=s(((e,t)=>{var n=Zt();t.exports=Function.prototype.bind||n})),$t=s(((e,t)=>{t.exports=Function.prototype.call})),en=s(((e,t)=>{t.exports=Function.prototype.apply})),tn=s(((e,t)=>{t.exports=typeof Reflect<`u`&&Reflect&&Reflect.apply})),nn=s(((e,t)=>{var n=Qt(),r=en(),i=$t();t.exports=tn()||n.call(i,r)})),rn=s(((e,t)=>{var n=Qt(),r=Ot(),i=$t(),a=nn();t.exports=function(e){if(e.length<1||typeof e[0]!=`function`)throw new r(`a function is required`);return a(n,i,e)}})),an=s(((e,t)=>{var n=rn(),r=Gt(),i;try{i=[].__proto__===Array.prototype}catch(e){if(!e||typeof e!=`object`||!(`code`in e)||e.code!==`ERR_PROTO_ACCESS`)throw e}var a=!!i&&r&&r(Object.prototype,`__proto__`),o=Object,s=o.getPrototypeOf;t.exports=a&&typeof a.get==`function`?n([a.get]):typeof s==`function`&&function(e){return s(e==null?e:o(e))}})),on=s(((e,t)=>{var n=Yt(),r=Xt(),i=an();t.exports=n?function(e){return n(e)}:r?function(e){if(!e||typeof e!=`object`&&typeof e!=`function`)throw TypeError(`getProto: not an object`);return r(e)}:i?function(e){return i(e)}:null})),sn=s(((e,t)=>{var n=Function.prototype.call,r=Object.prototype.hasOwnProperty;t.exports=Qt().call(n,r)})),cn=s(((e,t)=>{var n,r=kt(),i=At(),a=jt(),o=Mt(),s=Nt(),c=Pt(),l=Ot(),u=Ft(),d=It(),f=Lt(),p=Rt(),m=zt(),h=Bt(),g=Vt(),_=Ut(),v=Function,y=function(e){try{return v(`"use strict"; return (`+e+`).constructor;`)()}catch{}},b=Gt(),x=Kt(),S=function(){throw new l},C=b?function(){try{return arguments.callee,S}catch{try{return b(arguments,`callee`).get}catch{return S}}}():S,w=Jt()(),T=on(),E=Xt(),ee=Yt(),te=en(),D=$t(),ne={},O=typeof Uint8Array>`u`||!T?n:T(Uint8Array),k={__proto__:null,"%AggregateError%":typeof AggregateError>`u`?n:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>`u`?n:ArrayBuffer,"%ArrayIteratorPrototype%":w&&T?T([][Symbol.iterator]()):n,"%AsyncFromSyncIteratorPrototype%":n,"%AsyncFunction%":ne,"%AsyncGenerator%":ne,"%AsyncGeneratorFunction%":ne,"%AsyncIteratorPrototype%":ne,"%Atomics%":typeof Atomics>`u`?n:Atomics,"%BigInt%":typeof BigInt>`u`?n:BigInt,"%BigInt64Array%":typeof BigInt64Array>`u`?n:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>`u`?n:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>`u`?n:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":i,"%eval%":eval,"%EvalError%":a,"%Float16Array%":typeof Float16Array>`u`?n:Float16Array,"%Float32Array%":typeof Float32Array>`u`?n:Float32Array,"%Float64Array%":typeof Float64Array>`u`?n:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>`u`?n:FinalizationRegistry,"%Function%":v,"%GeneratorFunction%":ne,"%Int8Array%":typeof Int8Array>`u`?n:Int8Array,"%Int16Array%":typeof Int16Array>`u`?n:Int16Array,"%Int32Array%":typeof Int32Array>`u`?n:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&T?T(T([][Symbol.iterator]())):n,"%JSON%":typeof JSON==`object`?JSON:n,"%Map%":typeof Map>`u`?n:Map,"%MapIteratorPrototype%":typeof Map>`u`||!w||!T?n:T(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":r,"%Object.getOwnPropertyDescriptor%":b,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>`u`?n:Promise,"%Proxy%":typeof Proxy>`u`?n:Proxy,"%RangeError%":o,"%ReferenceError%":s,"%Reflect%":typeof Reflect>`u`?n:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>`u`?n:Set,"%SetIteratorPrototype%":typeof Set>`u`||!w||!T?n:T(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>`u`?n:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&T?T(``[Symbol.iterator]()):n,"%Symbol%":w?Symbol:n,"%SyntaxError%":c,"%ThrowTypeError%":C,"%TypedArray%":O,"%TypeError%":l,"%Uint8Array%":typeof Uint8Array>`u`?n:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>`u`?n:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>`u`?n:Uint16Array,"%Uint32Array%":typeof Uint32Array>`u`?n:Uint32Array,"%URIError%":u,"%WeakMap%":typeof WeakMap>`u`?n:WeakMap,"%WeakRef%":typeof WeakRef>`u`?n:WeakRef,"%WeakSet%":typeof WeakSet>`u`?n:WeakSet,"%Function.prototype.call%":D,"%Function.prototype.apply%":te,"%Object.defineProperty%":x,"%Object.getPrototypeOf%":E,"%Math.abs%":d,"%Math.floor%":f,"%Math.max%":p,"%Math.min%":m,"%Math.pow%":h,"%Math.round%":g,"%Math.sign%":_,"%Reflect.getPrototypeOf%":ee};if(T)try{null.error}catch(e){k[`%Error.prototype%`]=T(T(e))}var re=function e(t){var n;if(t===`%AsyncFunction%`)n=y(`async function () {}`);else if(t===`%GeneratorFunction%`)n=y(`function* () {}`);else if(t===`%AsyncGeneratorFunction%`)n=y(`async function* () {}`);else if(t===`%AsyncGenerator%`){var r=e(`%AsyncGeneratorFunction%`);r&&(n=r.prototype)}else if(t===`%AsyncIteratorPrototype%`){var i=e(`%AsyncGenerator%`);i&&T&&(n=T(i.prototype))}return k[t]=n,n},A={__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`]},ie=Qt(),ae=sn(),oe=ie.call(D,Array.prototype.concat),se=ie.call(te,Array.prototype.splice),j=ie.call(D,String.prototype.replace),ce=ie.call(D,String.prototype.slice),le=ie.call(D,RegExp.prototype.exec),ue=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,M=/\\(\\)?/g,de=function(e){var t=ce(e,0,1),n=ce(e,-1);if(t===`%`&&n!==`%`)throw new c("invalid intrinsic syntax, expected closing `%`");if(n===`%`&&t!==`%`)throw new c("invalid intrinsic syntax, expected opening `%`");var r=[];return j(e,ue,function(e,t,n,i){r[r.length]=n?j(i,M,`$1`):t||e}),r},fe=function(e,t){var n=e,r;if(ae(A,n)&&(r=A[n],n=`%`+r[0]+`%`),ae(k,n)){var i=k[n];if(i===ne&&(i=re(n)),i===void 0&&!t)throw new l(`intrinsic `+e+` exists, but is not available. Please file an issue!`);return{alias:r,name:n,value:i}}throw new c(`intrinsic `+e+` does not exist!`)};t.exports=function(e,t){if(typeof e!=`string`||e.length===0)throw new l(`intrinsic name must be a non-empty string`);if(arguments.length>1&&typeof t!=`boolean`)throw new l(`"allowMissing" argument must be a boolean`);if(le(/^%?[^%]*%?$/,e)===null)throw new c("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=de(e),r=n.length>0?n[0]:``,i=fe(`%`+r+`%`,t),a=i.name,o=i.value,s=!1,u=i.alias;u&&(r=u[0],se(n,oe([0,1],u)));for(var d=1,f=!0;d<n.length;d+=1){var p=n[d],m=ce(p,0,1),h=ce(p,-1);if((m===`"`||m===`'`||m==="`"||h===`"`||h===`'`||h==="`")&&m!==h)throw new c(`property names with quotes must have matching quotes`);if(p!==`constructor`&&f||(s=!0),r+=`.`+p,a=`%`+r+`%`,ae(k,a))o=k[a];else if(o!=null){if(!(p in o)){if(!t)throw new l(`base intrinsic for `+e+` exists, but the property is not available.`);return}if(b&&d+1>=n.length){var g=b(o,p);f=!!g,o=f&&`get`in g&&!(`originalValue`in g.get)?g.get:o[p]}else f=ae(o,p),o=o[p];f&&!s&&(k[a]=o)}}return o}})),ln=s(((e,t)=>{var n=cn(),r=rn(),i=r([n(`%String.prototype.indexOf%`)]);t.exports=function(e,t){var a=n(e,!!t);return typeof a==`function`&&i(e,`.prototype.`)>-1?r([a]):a}})),un=s(((e,t)=>{var n=Function.prototype.toString,r=typeof Reflect==`object`&&Reflect!==null&&Reflect.apply,i,a;if(typeof r==`function`&&typeof Object.defineProperty==`function`)try{i=Object.defineProperty({},"length",{get:function(){throw a}}),a={},r(function(){throw 42},null,i)}catch(e){e!==a&&(r=null)}else r=null;var o=/^\s*class\b/,s=function(e){try{var t=n.call(e);return o.test(t)}catch{return!1}},c=function(e){try{return!s(e)&&(n.call(e),!0)}catch{return!1}},l=Object.prototype.toString,u=`[object Object]`,d=`[object Function]`,f=`[object GeneratorFunction]`,p=`[object HTMLAllCollection]`,m=`[object HTML document.all class]`,h=`[object HTMLCollection]`,g=typeof Symbol==`function`&&!!Symbol.toStringTag,_=!(0 in[,]),v=function(){return!1};if(typeof document==`object`){var y=document.all;l.call(y)===l.call(document.all)&&(v=function(e){if((_||!e)&&(e===void 0||typeof e==`object`))try{var t=l.call(e);return(t===p||t===m||t===h||t===u)&&e(``)==null}catch{}return!1})}t.exports=r?function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;try{r(e,null,i)}catch(e){if(e!==a)return!1}return!s(e)&&c(e)}:function(e){if(v(e))return!0;if(!e||typeof e!=`function`&&typeof e!=`object`)return!1;if(g)return c(e);if(s(e))return!1;var t=l.call(e);return t!==d&&t!==f&&!/^\[object HTML/.test(t)?!1:c(e)}})),dn=s(((e,t)=>{var n=un(),r=Object.prototype.toString,i=Object.prototype.hasOwnProperty,a=function(e,t,n){for(var r=0,a=e.length;r<a;r++)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))},o=function(e,t,n){for(var r=0,i=e.length;r<i;r++)n==null?t(e.charAt(r),r,e):t.call(n,e.charAt(r),r,e)},s=function(e,t,n){for(var r in e)i.call(e,r)&&(n==null?t(e[r],r,e):t.call(n,e[r],r,e))};function c(e){return r.call(e)===`[object Array]`}t.exports=function(e,t,r){if(!n(t))throw TypeError(`iterator must be a function`);var i;arguments.length>=3&&(i=r),c(e)?a(e,t,i):typeof e==`string`?o(e,t,i):s(e,t,i)}})),fn=s(((e,t)=>{t.exports=[`Float16Array`,`Float32Array`,`Float64Array`,`Int8Array`,`Int16Array`,`Int32Array`,`Uint8Array`,`Uint8ClampedArray`,`Uint16Array`,`Uint32Array`,`BigInt64Array`,`BigUint64Array`]})),pn=s(((e,t)=>{var n=fn(),r=typeof globalThis>`u`?global:globalThis;t.exports=function(){for(var e=[],t=0;t<n.length;t++)typeof r[n[t]]==`function`&&(e[e.length]=n[t]);return e}})),mn=s(((e,t)=>{var n=Kt(),r=Pt(),i=Ot(),a=Gt();t.exports=function(e,t,o){if(!e||typeof e!=`object`&&typeof e!=`function`)throw new i("`obj` must be an object or a function`");if(typeof t!=`string`&&typeof t!=`symbol`)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!=`boolean`&&arguments[3]!==null)throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!=`boolean`&&arguments[4]!==null)throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!=`boolean`&&arguments[5]!==null)throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!=`boolean`)throw new i("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,c=arguments.length>4?arguments[4]:null,l=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],d=!!a&&a(e,t);if(n)n(e,t,{configurable:l===null&&d?d.configurable:!l,enumerable:s===null&&d?d.enumerable:!s,value:o,writable:c===null&&d?d.writable:!c});else if(u||!s&&!c&&!l)e[t]=o;else throw new r(`This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.`)}})),hn=s(((e,t)=>{var n=Kt(),r=function(){return!!n};r.hasArrayLengthDefineBug=function(){if(!n)return null;try{return n([],`length`,{value:1}).length!==1}catch{return!0}},t.exports=r})),gn=s(((e,t)=>{var n=cn(),r=mn(),i=hn()(),a=Gt(),o=Ot(),s=n(`%Math.floor%`);t.exports=function(e,t){if(typeof e!=`function`)throw new o("`fn` is not a function");if(typeof t!=`number`||t<0||t>4294967295||s(t)!==t)throw new o("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],c=!0,l=!0;if(`length`in e&&a){var u=a(e,`length`);u&&!u.configurable&&(c=!1),u&&!u.writable&&(l=!1)}return(c||l||!n)&&(i?r(e,`length`,t,!0,!0):r(e,`length`,t)),e}})),_n=s(((e,t)=>{var n=Qt(),r=en(),i=nn();t.exports=function(){return i(n,r,arguments)}})),vn=s(((e,t)=>{var n=gn(),r=Kt(),i=rn(),a=_n();t.exports=function(e){var t=i(arguments),r=1+e.length-(arguments.length-1);return n(t,r>0?r:0,!0)},r?r(t.exports,`apply`,{value:a}):t.exports.apply=a})),yn=s(((e,t)=>{var n=qt();t.exports=function(){return n()&&!!Symbol.toStringTag}})),bn=s(((e,t)=>{var n=dn(),r=pn(),i=vn(),a=ln(),o=Gt(),s=on(),c=a(`Object.prototype.toString`),l=yn()(),u=typeof globalThis>`u`?global:globalThis,d=r(),f=a(`String.prototype.slice`),p=a(`Array.prototype.indexOf`,!0)||function(e,t){for(var n=0;n<e.length;n+=1)if(e[n]===t)return n;return-1},m={__proto__:null};l&&o&&s?n(d,function(e){var t=new u[e];if(Symbol.toStringTag in t&&s){var n=s(t),r=o(n,Symbol.toStringTag);if(!r&&n&&(r=o(s(n),Symbol.toStringTag)),r&&r.get){var a=i(r.get);m[`$`+e]=a}}}):n(d,function(e){var t=new u[e],n=t.slice||t.set;if(n){var r=i(n);m[`$`+e]=r}});function h(e){var t=!1;return n(m,function(n,r){if(!t)try{`$`+n(e)===r&&(t=f(r,1))}catch{}}),t}function g(e){var t=!1;return n(m,function(n,r){if(!t)try{n(e),t=f(r,1)}catch{}}),t}function _(e){return p(d,e)>-1}function v(e){if(!e||typeof e!=`object`)return!1;if(!l){var t=f(c(e),8,-1);return _(t)?t:t===`Object`&&g(e)}return o?h(e):null}t.exports=v})),xn=s(((e,t)=>{var n=bn();t.exports=function(e){return!!n(e)}})),Sn=s(((e,t)=>{var n=Ot(),r=ln()(`TypedArray.prototype.buffer`,!0),i=xn();t.exports=r||function(e){if(!i(e))throw new n(`Not a Typed Array`);return e.buffer}})),Cn=s(((e,t)=>{var n=Et().Buffer,r=Dt(),i=Sn(),a=ArrayBuffer.isView||function(e){try{return i(e),!0}catch{return!1}},o=typeof Uint8Array<`u`,s=typeof ArrayBuffer<`u`&&typeof Uint8Array<`u`,c=s&&(n.prototype instanceof Uint8Array||n.TYPED_ARRAY_SUPPORT);t.exports=function(e,t){if(n.isBuffer(e))return e.constructor&&!(`isBuffer`in e)?n.from(e):e;if(typeof e==`string`)return n.from(e,t);if(s&&a(e)){if(e.byteLength===0)return n.alloc(0);if(c){var i=n.from(e.buffer,e.byteOffset,e.byteLength);if(i.byteLength===e.byteLength)return i}var l=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),u=n.from(l);if(u.length===e.byteLength)return u}if(o&&e instanceof Uint8Array)return n.from(e);var d=r(e);if(d)for(var f=0;f<e.length;f+=1){var p=e[f];if(typeof p!=`number`||p<0||p>255||~~p!==p)throw RangeError(`Array items must be numbers in the range 0-255.`)}if(d||n.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer==`function`&&e.constructor.isBuffer(e))return n.from(e);throw TypeError(`The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.`)}})),wn=s(((e,t)=>{var n=Et().Buffer,r=Cn();function i(e,t){this._block=n.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){e=r(e,t||`utf8`);for(var n=this._block,i=this._blockSize,a=e.length,o=this._len,s=0;s<a;){for(var c=o%i,l=Math.min(a-s,i-c),u=0;u<l;u++)n[c+u]=e[s+u];o+=l,s+=l,o%i===0&&this._update(n)}return this._len+=a,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=this._len*8;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(n|0)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a},i.prototype._update=function(){throw Error(`_update must be implemented by subclass`)},t.exports=i})),Tn=s(((e,t)=>{var n=Tt(),r=wn(),i=Et().Buffer,a=[1518500249,1859775393,-1894007588,-899497514],o=Array(80);function s(){this.init(),this._w=o,r.call(this,64,56)}n(s,r),s.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function c(e){return e<<1|e>>>31}function l(e){return e<<5|e>>>27}function u(e){return e<<30|e>>>2}function d(e,t,n,r){return e===0?t&n|~t&r:e===2?t&n|t&r|n&r:t^n^r}s.prototype._update=function(e){for(var t=this._w,n=this._a|0,r=this._b|0,i=this._c|0,o=this._d|0,s=this._e|0,f=0;f<16;++f)t[f]=e.readInt32BE(f*4);for(;f<80;++f)t[f]=c(t[f-3]^t[f-8]^t[f-14]^t[f-16]);for(var p=0;p<80;++p){var m=~~(p/20),h=l(n)+d(m,r,i,o)+s+t[p]+a[m]|0;s=o,o=i,i=u(r),r=n,n=h}this._a=n+this._a|0,this._b=r+this._b|0,this._c=i+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0},s.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(this._a|0,0),e.writeInt32BE(this._b|0,4),e.writeInt32BE(this._c|0,8),e.writeInt32BE(this._d|0,12),e.writeInt32BE(this._e|0,16),e},t.exports=s})),En=s(((e,t)=>{var n=function(e){if(e||={},this.Promise=e.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=e.domainReentrant||!1,this.domainReentrant){if(typeof process>`u`||process.domain===void 0)throw Error("Domain-reentrant locks require `process.domain` to exist. Please flip `opts.domainReentrant = false`, use a NodeJS version that still implements Domain, or install a browser polyfill.");this.domains=Object.create(null)}this.timeout=e.timeout||n.DEFAULT_TIMEOUT,this.maxOccupationTime=e.maxOccupationTime||n.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=e.maxExecutionTime||n.DEFAULT_MAX_EXECUTION_TIME,this.maxPending=e.maxPending===1/0||Number.isInteger(e.maxPending)&&e.maxPending>=0?e.maxPending:n.DEFAULT_MAX_PENDING};n.DEFAULT_TIMEOUT=0,n.DEFAULT_MAX_OCCUPATION_TIME=0,n.DEFAULT_MAX_EXECUTION_TIME=0,n.DEFAULT_MAX_PENDING=1e3,n.prototype.acquire=function(e,t,n,r){if(Array.isArray(e))return this._acquireBatch(e,t,n,r);if(typeof t!=`function`)throw Error(`You must pass a function to execute`);var i=null,a=null,o=null;typeof n!=`function`&&(r=n,n=null,o=new this.Promise(function(e,t){i=e,a=t})),r||={};var s=!1,c=null,l=null,u=null,d=this,f=function(t,r,c){l&&=(clearTimeout(l),null),u&&=(clearTimeout(u),null),t&&(d.queues[e]&&d.queues[e].length===0&&delete d.queues[e],d.domainReentrant&&delete d.domains[e]),s||=(o?r?a(r):i(c):typeof n==`function`&&n(r,c),!0),t&&d.queues[e]&&d.queues[e].length>0&&d.queues[e].shift()()},p=function(n){if(s)return f(n);c&&=(clearTimeout(c),null),d.domainReentrant&&n&&(d.domains[e]=process.domain);var i=r.maxExecutionTime||d.maxExecutionTime;if(i&&(u=setTimeout(function(){d.queues[e]&&f(n,Error(`Maximum execution time is exceeded `+e))},i)),t.length===1){var a=!1;try{t(function(e,t){a||(a=!0,f(n,e,t))})}catch(e){a||(a=!0,f(n,e))}}else d._promiseTry(function(){return t()}).then(function(e){f(n,void 0,e)},function(e){f(n,e)})};d.domainReentrant&&process.domain&&(p=process.domain.bind(p));var m=r.maxPending||d.maxPending;if(!d.queues[e])d.queues[e]=[],p(!0);else if(d.domainReentrant&&process.domain&&process.domain===d.domains[e])p(!1);else if(d.queues[e].length>=m)f(!1,Error(`Too many pending tasks in queue `+e));else{var h=function(){p(!0)};r.skipQueue?d.queues[e].unshift(h):d.queues[e].push(h);var g=r.timeout||d.timeout;g&&(c=setTimeout(function(){c=null,f(!1,Error(`async-lock timed out in queue `+e))},g))}var _=r.maxOccupationTime||d.maxOccupationTime;if(_&&(l=setTimeout(function(){d.queues[e]&&f(!1,Error(`Maximum occupation time is exceeded in queue `+e))},_)),o)return o},n.prototype._acquireBatch=function(e,t,n,r){typeof n!=`function`&&(r=n,n=null);var i=this,a=function(e,t){return function(n){i.acquire(e,t,n,r)}},o=e.reduceRight(function(e,t){return a(t,e)},t);if(typeof n==`function`)o(n);else return new this.Promise(function(e,t){o.length===1?o(function(n,r){n?t(n):e(r)}):e(o())})},n.prototype.isBusy=function(e){return e?!!this.queues[e]:Object.keys(this.queues).length>0},n.prototype._promiseTry=function(e){try{return this.Promise.resolve(e())}catch(e){return this.Promise.reject(e)}},t.exports=n})),Dn=s(((e,t)=>{t.exports=En()})),On=s(((e,t)=>{function n(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function r(e,t,r){return t=t instanceof RegExp?t:new RegExp(n(t),`g`),e.replace(t,r)}t.exports={clean:function(e){if(typeof e!=`string`)throw Error(`Expected a string, received: `+e);return e=r(e,`./`,`/`),e=r(e,`..`,`.`),e=r(e,` `,`-`),e=r(e,/^[~^:?*\\\-]/g,``),e=r(e,/[~^:?*\\]/g,`-`),e=r(e,/[~^:?*\\\-]$/g,``),e=r(e,`@{`,`-`),e=r(e,/\.$/g,``),e=r(e,/\/$/g,``),e=r(e,/\.lock$/g,``),e}}})),kn=s((e=>{(function(t){typeof DO_NOT_EXPORT_CRC>`u`?typeof e==`object`?t(e):typeof define==`function`&&define.amd?define(function(){var e={};return t(e),e}):t({}):t({})})(function(e){e.version=`1.2.2`;function t(){for(var e=0,t=Array(256),n=0;n!=256;++n)e=n,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,e=e&1?-306674912^e>>>1:e>>>1,t[n]=e;return typeof Int32Array<`u`?new Int32Array(t):t}var n=t();function r(e){var t=0,n=0,r=0,i=typeof Int32Array<`u`?new Int32Array(4096):Array(4096);for(r=0;r!=256;++r)i[r]=e[r];for(r=0;r!=256;++r)for(n=e[r],t=256+r;t<4096;t+=256)n=i[t]=n>>>8^e[n&255];var a=[];for(r=1;r!=16;++r)a[r-1]=typeof Int32Array<`u`?i.subarray(r*256,r*256+256):i.slice(r*256,r*256+256);return a}var i=r(n),a=i[0],o=i[1],s=i[2],c=i[3],l=i[4],u=i[5],d=i[6],f=i[7],p=i[8],m=i[9],h=i[10],g=i[11],_=i[12],v=i[13],y=i[14];function b(e,t){for(var r=t^-1,i=0,a=e.length;i<a;)r=r>>>8^n[(r^e.charCodeAt(i++))&255];return~r}function x(e,t){for(var r=t^-1,i=e.length-15,b=0;b<i;)r=y[e[b++]^r&255]^v[e[b++]^r>>8&255]^_[e[b++]^r>>16&255]^g[e[b++]^r>>>24]^h[e[b++]]^m[e[b++]]^p[e[b++]]^f[e[b++]]^d[e[b++]]^u[e[b++]]^l[e[b++]]^c[e[b++]]^s[e[b++]]^o[e[b++]]^a[e[b++]]^n[e[b++]];for(i+=15;b<i;)r=r>>>8^n[(r^e[b++])&255];return~r}function S(e,t){for(var r=t^-1,i=0,a=e.length,o=0,s=0;i<a;)o=e.charCodeAt(i++),o<128?r=r>>>8^n[(r^o)&255]:o<2048?(r=r>>>8^n[(r^(192|o>>6&31))&255],r=r>>>8^n[(r^(128|o&63))&255]):o>=55296&&o<57344?(o=(o&1023)+64,s=e.charCodeAt(i++)&1023,r=r>>>8^n[(r^(240|o>>8&7))&255],r=r>>>8^n[(r^(128|o>>2&63))&255],r=r>>>8^n[(r^(128|s>>6&15|(o&3)<<4))&255],r=r>>>8^n[(r^(128|s&63))&255]):(r=r>>>8^n[(r^(224|o>>12&15))&255],r=r>>>8^n[(r^(128|o>>6&63))&255],r=r>>>8^n[(r^(128|o&63))&255]);return~r}e.table=n,e.bstr=b,e.buf=x,e.str=S})})),An=s((e=>{var t=typeof Uint8Array<`u`&&typeof Uint16Array<`u`&&typeof Int32Array<`u`;function n(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if(typeof r!=`object`)throw TypeError(r+`must be non-object`);for(var i in r)n(r,i)&&(e[i]=r[i])}}return e},e.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,n,r,i){if(t.subarray&&e.subarray)e.set(t.subarray(n,n+r),i);else for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){var t,n,r=0,i,a,o;for(t=0,n=e.length;t<n;t++)r+=e[t].length;for(o=new Uint8Array(r),i=0,t=0,n=e.length;t<n;t++)a=e[t],o.set(a,i),i+=a.length;return o}},i={arraySet:function(e,t,n,r,i){for(var a=0;a<r;a++)e[i+a]=t[n+a]},flattenChunks:function(e){return[].concat.apply([],e)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,r)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,i))},e.setTyped(t)})),jn=s((e=>{var t=An(),n=4,r=0,i=1,a=2;function o(e){for(var t=e.length;--t>=0;)e[t]=0}var s=0,c=1,l=2,u=3,d=258,f=29,p=256,m=p+1+f,h=30,g=19,_=2*m+1,v=15,y=16,b=7,x=256,S=16,C=17,w=18,T=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],E=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],ee=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],te=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],D=512,ne=Array((m+2)*2);o(ne);var O=Array(h*2);o(O);var k=Array(D);o(k);var re=Array(d-u+1);o(re);var A=Array(f);o(A);var ie=Array(h);o(ie);function ae(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var oe,se,j;function ce(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function le(e){return e<256?k[e]:k[256+(e>>>7)]}function ue(e,t){e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255}function M(e,t,n){e.bi_valid>y-n?(e.bi_buf|=t<<e.bi_valid&65535,ue(e,e.bi_buf),e.bi_buf=t>>y-e.bi_valid,e.bi_valid+=n-y):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)}function de(e,t,n){M(e,n[t*2],n[t*2+1])}function fe(e,t){var n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1}function pe(e){e.bi_valid===16?(ue(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)}function me(e,t){var n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=v;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<_;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}}function N(e,t,n){for(var r=Array(v+1),i=0,a=1,o;a<=v;a++)r[a]=i=i+n[a-1]<<1;for(o=0;o<=t;o++){var s=e[o*2+1];s!==0&&(e[o*2]=fe(r[s]++,s))}}function he(){var e,t,n,r,i,a=Array(v+1);for(n=0,r=0;r<f-1;r++)for(A[r]=n,e=0;e<1<<T[r];e++)re[n++]=r;for(re[n-1]=r,i=0,r=0;r<16;r++)for(ie[r]=i,e=0;e<1<<E[r];e++)k[i++]=r;for(i>>=7;r<h;r++)for(ie[r]=i<<7,e=0;e<1<<E[r]-7;e++)k[256+i++]=r;for(t=0;t<=v;t++)a[t]=0;for(e=0;e<=143;)ne[e*2+1]=8,e++,a[8]++;for(;e<=255;)ne[e*2+1]=9,e++,a[9]++;for(;e<=279;)ne[e*2+1]=7,e++,a[7]++;for(;e<=287;)ne[e*2+1]=8,e++,a[8]++;for(N(ne,m+1,a),e=0;e<h;e++)O[e*2+1]=5,O[e*2]=fe(e,5);oe=new ae(ne,T,p+1,m,v),se=new ae(O,E,0,h,v),j=new ae([],ee,0,g,b)}function ge(e){for(var t=0;t<m;t++)e.dyn_ltree[t*2]=0;for(t=0;t<h;t++)e.dyn_dtree[t*2]=0;for(t=0;t<g;t++)e.bl_tree[t*2]=0;e.dyn_ltree[x*2]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function _e(e){e.bi_valid>8?ue(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function ve(e,n,r,i){_e(e),i&&(ue(e,r),ue(e,~r)),t.arraySet(e.pending_buf,e.window,n,r,e.pending),e.pending+=r}function P(e,t,n,r){var i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]}function F(e,t,n){for(var r=e.heap[n],i=n<<1;i<=e.heap_len&&(i<e.heap_len&&P(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!P(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r}function ye(e,t,n){var r,i,a=0,o,s;if(e.last_lit!==0)do r=e.pending_buf[e.d_buf+a*2]<<8|e.pending_buf[e.d_buf+a*2+1],i=e.pending_buf[e.l_buf+a],a++,r===0?de(e,i,t):(o=re[i],de(e,o+p+1,t),s=T[o],s!==0&&(i-=A[o],M(e,i,s)),r--,o=le(r),de(e,o,n),s=E[o],s!==0&&(r-=ie[o],M(e,r,s)));while(a<e.last_lit);de(e,x,t)}function be(e,t){var n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=_,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)F(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],F(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,F(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],me(e,t),N(n,c,e.bl_count)}function I(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[C*2]++:e.bl_tree[w*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[S*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))}function xe(e,t,n){var r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do de(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(de(e,C,e.bl_tree),M(e,s-3,3)):(de(e,w,e.bl_tree),M(e,s-11,7)):(a!==i&&(de(e,a,e.bl_tree),s--),de(e,S,e.bl_tree),M(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}}function L(e){var t;for(I(e,e.dyn_ltree,e.l_desc.max_code),I(e,e.dyn_dtree,e.d_desc.max_code),be(e,e.bl_desc),t=g-1;t>=3&&e.bl_tree[te[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t}function R(e,t,n,r){var i;for(M(e,t-257,5),M(e,n-1,5),M(e,r-4,4),i=0;i<r;i++)M(e,e.bl_tree[te[i]*2+1],3);xe(e,e.dyn_ltree,t-1),xe(e,e.dyn_dtree,n-1)}function z(e){for(var t=4093624447,n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return r;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return i;for(n=32;n<p;n++)if(e.dyn_ltree[n*2]!==0)return i;return r}var B=!1;function Se(e){B||=(he(),!0),e.l_desc=new ce(e.dyn_ltree,oe),e.d_desc=new ce(e.dyn_dtree,se),e.bl_desc=new ce(e.bl_tree,j),e.bi_buf=0,e.bi_valid=0,ge(e)}function V(e,t,n,r){M(e,(s<<1)+ +!!r,3),ve(e,t,n,!0)}function Ce(e){M(e,c<<1,3),de(e,x,ne),pe(e)}function we(e,t,r,i){var o,s,u=0;e.level>0?(e.strm.data_type===a&&(e.strm.data_type=z(e)),be(e,e.l_desc),be(e,e.d_desc),u=L(e),o=e.opt_len+3+7>>>3,s=e.static_len+3+7>>>3,s<=o&&(o=s)):o=s=r+5,r+4<=o&&t!==-1?V(e,t,r,i):e.strategy===n||s===o?(M(e,(c<<1)+ +!!i,3),ye(e,ne,O)):(M(e,(l<<1)+ +!!i,3),R(e,e.l_desc.max_code+1,e.d_desc.max_code+1,u+1),ye(e,e.dyn_ltree,e.dyn_dtree)),ge(e),i&&_e(e)}function H(e,t,n){return e.pending_buf[e.d_buf+e.last_lit*2]=t>>>8&255,e.pending_buf[e.d_buf+e.last_lit*2+1]=t&255,e.pending_buf[e.l_buf+e.last_lit]=n&255,e.last_lit++,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(re[n]+p+1)*2]++,e.dyn_dtree[le(t)*2]++),e.last_lit===e.lit_bufsize-1}e._tr_init=Se,e._tr_stored_block=V,e._tr_flush_block=we,e._tr_tally=H,e._tr_align=Ce})),Mn=s(((e,t)=>{function n(e,t,n,r){for(var i=e&65535,a=e>>>16&65535,o=0;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16}t.exports=n})),Nn=s(((e,t)=>{function n(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t}var r=n();function i(e,t,n,i){var a=r,o=i+n;e^=-1;for(var s=i;s<o;s++)e=e>>>8^a[(e^t[s])&255];return e^-1}t.exports=i})),Pn=s(((e,t)=>{t.exports={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`}})),Fn=s((e=>{var t=An(),n=jn(),r=Mn(),i=Nn(),a=Pn(),o=0,s=1,c=3,l=4,u=5,d=0,f=1,p=-2,m=-3,h=-5,g=-1,_=1,v=2,y=3,b=4,x=0,S=2,C=8,w=9,T=15,E=8,ee=286,te=30,D=19,ne=2*ee+1,O=15,k=3,re=258,A=re+k+1,ie=32,ae=42,oe=69,se=73,j=91,ce=103,le=113,ue=666,M=1,de=2,fe=3,pe=4,me=3;function N(e,t){return e.msg=a[t],t}function he(e){return(e<<1)-(e>4?9:0)}function ge(e){for(var t=e.length;--t>=0;)e[t]=0}function _e(e){var n=e.state,r=n.pending;r>e.avail_out&&(r=e.avail_out),r!==0&&(t.arraySet(e.output,n.pending_buf,n.pending_out,r,e.next_out),e.next_out+=r,n.pending_out+=r,e.total_out+=r,e.avail_out-=r,n.pending-=r,n.pending===0&&(n.pending_out=0))}function ve(e,t){n._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,_e(e.strm)}function P(e,t){e.pending_buf[e.pending++]=t}function F(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255}function ye(e,n,a,o){var s=e.avail_in;return s>o&&(s=o),s===0?0:(e.avail_in-=s,t.arraySet(n,e.input,e.next_in,s,a),e.state.wrap===1?e.adler=r(e.adler,n,s,a):e.state.wrap===2&&(e.adler=i(e.adler,n,s,a)),e.next_in+=s,e.total_in+=s,s)}function be(e,t){var n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-A?e.strstart-(e.w_size-A):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+re,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do if(i=t,l[i+o]===m&&l[i+o-1]===p&&l[i]===l[r]&&l[++i]===l[r+1]){r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=re-(f-r),r=f-re,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead}function I(e){var n=e.w_size,r,i,a,o,s;do{if(o=e.window_size-e.lookahead-e.strstart,e.strstart>=n+(n-A)){t.arraySet(e.window,e.window,n,n,0),e.match_start-=n,e.strstart-=n,e.block_start-=n,i=e.hash_size,r=i;do a=e.head[--r],e.head[r]=a>=n?a-n:0;while(--i);i=n,r=i;do a=e.prev[--r],e.prev[r]=a>=n?a-n:0;while(--i);o+=n}if(e.strm.avail_in===0)break;if(i=ye(e.strm,e.window,e.strstart+e.lookahead,o),e.lookahead+=i,e.lookahead+e.insert>=k)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+k-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<k)););}while(e.lookahead<A&&e.strm.avail_in!==0)}function xe(e,t){var n=65535;for(n>e.pending_buf_size-5&&(n=e.pending_buf_size-5);;){if(e.lookahead<=1){if(I(e),e.lookahead===0&&t===o)return M;if(e.lookahead===0)break}e.strstart+=e.lookahead,e.lookahead=0;var r=e.block_start+n;if((e.strstart===0||e.strstart>=r)&&(e.lookahead=e.strstart-r,e.strstart=r,ve(e,!1),e.strm.avail_out===0)||e.strstart-e.block_start>=e.w_size-A&&(ve(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ve(e,!0),e.strm.avail_out===0?fe:pe):(e.strstart>e.block_start&&(ve(e,!1),e.strm.avail_out),M)}function L(e,t){for(var r,i;;){if(e.lookahead<A){if(I(e),e.lookahead<A&&t===o)return M;if(e.lookahead===0)break}if(r=0,e.lookahead>=k&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),r!==0&&e.strstart-r<=e.w_size-A&&(e.match_length=be(e,r)),e.match_length>=k){if(i=n._tr_tally(e,e.strstart-e.match_start,e.match_length-k),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=k){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask}else i=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(ve(e,!1),e.strm.avail_out===0))return M}return e.insert=e.strstart<k-1?e.strstart:k-1,t===l?(ve(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ve(e,!1),e.strm.avail_out===0)?M:de}function R(e,t){for(var r,i,a;;){if(e.lookahead<A){if(I(e),e.lookahead<A&&t===o)return M;if(e.lookahead===0)break}if(r=0,e.lookahead>=k&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=k-1,r!==0&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-A&&(e.match_length=be(e,r),e.match_length<=5&&(e.strategy===_||e.match_length===k&&e.strstart-e.match_start>4096)&&(e.match_length=k-1)),e.prev_length>=k&&e.match_length<=e.prev_length){a=e.strstart+e.lookahead-k,i=n._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-k),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=a&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+k-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(--e.prev_length!==0);if(e.match_available=0,e.match_length=k-1,e.strstart++,i&&(ve(e,!1),e.strm.avail_out===0))return M}else if(e.match_available){if(i=n._tr_tally(e,0,e.window[e.strstart-1]),i&&ve(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return M}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&=(i=n._tr_tally(e,0,e.window[e.strstart-1]),0),e.insert=e.strstart<k-1?e.strstart:k-1,t===l?(ve(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ve(e,!1),e.strm.avail_out===0)?M:de}function z(e,t){for(var r,i,a,s,c=e.window;;){if(e.lookahead<=re){if(I(e),e.lookahead<=re&&t===o)return M;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=k&&e.strstart>0&&(a=e.strstart-1,i=c[a],i===c[++a]&&i===c[++a]&&i===c[++a])){s=e.strstart+re;do;while(i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&i===c[++a]&&a<s);e.match_length=re-(s-a),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=k?(r=n._tr_tally(e,1,e.match_length-k),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(ve(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ve(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ve(e,!1),e.strm.avail_out===0)?M:de}function B(e,t){for(var r;;){if(e.lookahead===0&&(I(e),e.lookahead===0)){if(t===o)return M;break}if(e.match_length=0,r=n._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(ve(e,!1),e.strm.avail_out===0))return M}return e.insert=0,t===l?(ve(e,!0),e.strm.avail_out===0?fe:pe):e.last_lit&&(ve(e,!1),e.strm.avail_out===0)?M:de}function Se(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var V=[new Se(0,0,0,0,xe),new Se(4,4,8,4,L),new Se(4,5,16,8,L),new Se(4,6,32,32,L),new Se(4,4,16,16,R),new Se(8,16,32,32,R),new Se(8,16,128,128,R),new Se(8,32,128,256,R),new Se(32,128,258,1024,R),new Se(32,258,258,4096,R)];function Ce(e){e.window_size=2*e.w_size,ge(e.head),e.max_lazy_match=V[e.level].max_lazy,e.good_match=V[e.level].good_length,e.nice_match=V[e.level].nice_length,e.max_chain_length=V[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=k-1,e.match_available=0,e.ins_h=0}function we(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=C,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new t.Buf16(ne*2),this.dyn_dtree=new t.Buf16((2*te+1)*2),this.bl_tree=new t.Buf16((2*D+1)*2),ge(this.dyn_ltree),ge(this.dyn_dtree),ge(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new t.Buf16(O+1),this.heap=new t.Buf16(2*ee+1),ge(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new t.Buf16(2*ee+1),ge(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function H(e){var t;return!e||!e.state?N(e,p):(e.total_in=e.total_out=0,e.data_type=S,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?ae:le,e.adler=t.wrap===2?0:1,t.last_flush=o,n._tr_init(t),d)}function Te(e){var t=H(e);return t===d&&Ce(e.state),t}function U(e,t){return!e||!e.state||e.state.wrap!==2?p:(e.state.gzhead=t,d)}function Ee(e,n,r,i,a,o){if(!e)return p;var s=1;if(n===g&&(n=6),i<0?(s=0,i=-i):i>15&&(s=2,i-=16),a<1||a>w||r!==C||i<8||i>15||n<0||n>9||o<0||o>b)return N(e,p);i===8&&(i=9);var c=new we;return e.state=c,c.strm=e,c.wrap=s,c.gzhead=null,c.w_bits=i,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=a+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+k-1)/k),c.window=new t.Buf8(c.w_size*2),c.head=new t.Buf16(c.hash_size),c.prev=new t.Buf16(c.w_size),c.lit_bufsize=1<<a+6,c.pending_buf_size=c.lit_bufsize*4,c.pending_buf=new t.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=n,c.strategy=o,c.method=r,Te(e)}function W(e,t){return Ee(e,t,C,T,E,x)}function De(e,t){var r,a,m,g;if(!e||!e.state||t>u||t<0)return e?N(e,p):p;if(a=e.state,!e.output||!e.input&&e.avail_in!==0||a.status===ue&&t!==l)return N(e,e.avail_out===0?h:p);if(a.strm=e,r=a.last_flush,a.last_flush=t,a.status===ae){if(a.wrap===2)e.adler=0,P(a,31),P(a,139),P(a,8),a.gzhead?(P(a,+!!a.gzhead.text+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),P(a,a.gzhead.time&255),P(a,a.gzhead.time>>8&255),P(a,a.gzhead.time>>16&255),P(a,a.gzhead.time>>24&255),P(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),P(a,a.gzhead.os&255),a.gzhead.extra&&a.gzhead.extra.length&&(P(a,a.gzhead.extra.length&255),P(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(e.adler=i(e.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=oe):(P(a,0),P(a,0),P(a,0),P(a,0),P(a,0),P(a,a.level===9?2:a.strategy>=v||a.level<2?4:0),P(a,me),a.status=le);else{var _=C+(a.w_bits-8<<4)<<8,b=-1;b=a.strategy>=v||a.level<2?0:a.level<6?1:a.level===6?2:3,_|=b<<6,a.strstart!==0&&(_|=ie),_+=31-_%31,a.status=le,F(a,_),a.strstart!==0&&(F(a,e.adler>>>16),F(a,e.adler&65535)),e.adler=1}}if(a.status===oe){if(a.gzhead.extra){for(m=a.pending;a.gzindex<(a.gzhead.extra.length&65535)&&!(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),_e(e),m=a.pending,a.pending===a.pending_buf_size));)P(a,a.gzhead.extra[a.gzindex]&255),a.gzindex++;a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=se)}else a.status=se}if(a.status===se){if(a.gzhead.name){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),_e(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.name.length?a.gzhead.name.charCodeAt(a.gzindex++)&255:0,P(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.gzindex=0,a.status=j)}else a.status=j}if(a.status===j){if(a.gzhead.comment){m=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),_e(e),m=a.pending,a.pending===a.pending_buf_size)){g=1;break}g=a.gzindex<a.gzhead.comment.length?a.gzhead.comment.charCodeAt(a.gzindex++)&255:0,P(a,g)}while(g!==0);a.gzhead.hcrc&&a.pending>m&&(e.adler=i(e.adler,a.pending_buf,a.pending-m,m)),g===0&&(a.status=ce)}else a.status=ce}if(a.status===ce&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&_e(e),a.pending+2<=a.pending_buf_size&&(P(a,e.adler&255),P(a,e.adler>>8&255),e.adler=0,a.status=le)):a.status=le),a.pending!==0){if(_e(e),e.avail_out===0)return a.last_flush=-1,d}else if(e.avail_in===0&&he(t)<=he(r)&&t!==l)return N(e,h);if(a.status===ue&&e.avail_in!==0)return N(e,h);if(e.avail_in!==0||a.lookahead!==0||t!==o&&a.status!==ue){var x=a.strategy===v?B(a,t):a.strategy===y?z(a,t):V[a.level].func(a,t);if((x===fe||x===pe)&&(a.status=ue),x===M||x===fe)return e.avail_out===0&&(a.last_flush=-1),d;if(x===de&&(t===s?n._tr_align(a):t!==u&&(n._tr_stored_block(a,0,0,!1),t===c&&(ge(a.head),a.lookahead===0&&(a.strstart=0,a.block_start=0,a.insert=0))),_e(e),e.avail_out===0))return a.last_flush=-1,d}return t===l?a.wrap<=0?f:(a.wrap===2?(P(a,e.adler&255),P(a,e.adler>>8&255),P(a,e.adler>>16&255),P(a,e.adler>>24&255),P(a,e.total_in&255),P(a,e.total_in>>8&255),P(a,e.total_in>>16&255),P(a,e.total_in>>24&255)):(F(a,e.adler>>>16),F(a,e.adler&65535)),_e(e),a.wrap>0&&(a.wrap=-a.wrap),a.pending===0?f:d):d}function Oe(e){var t;return!e||!e.state?p:(t=e.state.status,t!==ae&&t!==oe&&t!==se&&t!==j&&t!==ce&&t!==le&&t!==ue?N(e,p):(e.state=null,t===le?N(e,m):d))}function ke(e,n){var i=n.length,a,o,s,c,l,u,f,m;if(!e||!e.state||(a=e.state,c=a.wrap,c===2||c===1&&a.status!==ae||a.lookahead))return p;for(c===1&&(e.adler=r(e.adler,n,i,0)),a.wrap=0,i>=a.w_size&&(c===0&&(ge(a.head),a.strstart=0,a.block_start=0,a.insert=0),m=new t.Buf8(a.w_size),t.arraySet(m,n,i-a.w_size,a.w_size,0),n=m,i=a.w_size),l=e.avail_in,u=e.next_in,f=e.input,e.avail_in=i,e.next_in=0,e.input=n,I(a);a.lookahead>=k;){o=a.strstart,s=a.lookahead-(k-1);do a.ins_h=(a.ins_h<<a.hash_shift^a.window[o+k-1])&a.hash_mask,a.prev[o&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=o,o++;while(--s);a.strstart=o,a.lookahead=k-1,I(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=k-1,a.match_available=0,e.next_in=u,e.input=f,e.avail_in=l,a.wrap=c,d}e.deflateInit=W,e.deflateInit2=Ee,e.deflateReset=Te,e.deflateResetKeep=H,e.deflateSetHeader=U,e.deflate=De,e.deflateEnd=Oe,e.deflateSetDictionary=ke,e.deflateInfo=`pako deflate (from Nodeca project)`})),In=s((e=>{var t=An(),n=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch{n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{r=!1}for(var i=new t.Buf8(256),a=0;a<256;a++)i[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;i[254]=i[254]=1,e.string2buf=function(e){var n,r,i,a,o,s=e.length,c=0;for(a=0;a<s;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),c+=r<128?1:r<2048?2:r<65536?3:4;for(n=new t.Buf8(c),o=0,a=0;o<c;a++)r=e.charCodeAt(a),(r&64512)==55296&&a+1<s&&(i=e.charCodeAt(a+1),(i&64512)==56320&&(r=65536+(r-55296<<10)+(i-56320),a++)),r<128?n[o++]=r:r<2048?(n[o++]=192|r>>>6,n[o++]=128|r&63):r<65536?(n[o++]=224|r>>>12,n[o++]=128|r>>>6&63,n[o++]=128|r&63):(n[o++]=240|r>>>18,n[o++]=128|r>>>12&63,n[o++]=128|r>>>6&63,n[o++]=128|r&63);return n};function o(e,i){if(i<65534&&(e.subarray&&r||!e.subarray&&n))return String.fromCharCode.apply(null,t.shrinkBuf(e,i));for(var a=``,o=0;o<i;o++)a+=String.fromCharCode(e[o]);return a}e.buf2binstring=function(e){return o(e,e.length)},e.binstring2buf=function(e){for(var n=new t.Buf8(e.length),r=0,i=n.length;r<i;r++)n[r]=e.charCodeAt(r);return n},e.buf2string=function(e,t){var n,r,a,s,c=t||e.length,l=Array(c*2);for(r=0,n=0;n<c;)if(a=e[n++],a<128)l[r++]=a;else if(s=i[a],s>4)l[r++]=65533,n+=s-1;else{for(a&=s===2?31:s===3?15:7;s>1&&n<c;)a=a<<6|e[n++]&63,s--;s>1?l[r++]=65533:a<65536?l[r++]=a:(a-=65536,l[r++]=55296|a>>10&1023,l[r++]=56320|a&1023)}return o(l,r)},e.utf8border=function(e,t){var n;for(t||=e.length,t>e.length&&(t=e.length),n=t-1;n>=0&&(e[n]&192)==128;)n--;return n<0||n===0?t:n+i[e[n]]>t?n:t}})),Ln=s(((e,t)=>{function n(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}t.exports=n})),Rn=s((e=>{var t=Fn(),n=An(),r=In(),i=Pn(),a=Ln(),o=Object.prototype.toString,s=0,c=4,l=0,u=1,d=2,f=-1,p=0,m=8;function h(e){if(!(this instanceof h))return new h(e);this.options=n.assign({level:f,method:m,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:``},e||{});var s=this.options;s.raw&&s.windowBits>0?s.windowBits=-s.windowBits:s.gzip&&s.windowBits>0&&s.windowBits<16&&(s.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var c=t.deflateInit2(this.strm,s.level,s.method,s.windowBits,s.memLevel,s.strategy);if(c!==l)throw Error(i[c]);if(s.header&&t.deflateSetHeader(this.strm,s.header),s.dictionary){var u=typeof s.dictionary==`string`?r.string2buf(s.dictionary):o.call(s.dictionary)===`[object ArrayBuffer]`?new Uint8Array(s.dictionary):s.dictionary;if(c=t.deflateSetDictionary(this.strm,u),c!==l)throw Error(i[c]);this._dict_set=!0}}h.prototype.push=function(e,i){var a=this.strm,f=this.options.chunkSize,p,m;if(this.ended)return!1;m=i===~~i?i:i===!0?c:s,a.input=typeof e==`string`?r.string2buf(e):o.call(e)===`[object ArrayBuffer]`?new Uint8Array(e):e,a.next_in=0,a.avail_in=a.input.length;do{if(a.avail_out===0&&(a.output=new n.Buf8(f),a.next_out=0,a.avail_out=f),p=t.deflate(a,m),p!==u&&p!==l)return this.onEnd(p),this.ended=!0,!1;(a.avail_out===0||a.avail_in===0&&(m===c||m===d))&&(this.options.to===`string`?this.onData(r.buf2binstring(n.shrinkBuf(a.output,a.next_out))):this.onData(n.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||a.avail_out===0)&&p!==u);return m===c?(p=t.deflateEnd(this.strm),this.onEnd(p),this.ended=!0,p===l):(m===d&&(this.onEnd(l),a.avail_out=0),!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===l&&(this.result=this.options.to===`string`?this.chunks.join(``):n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function g(e,t){var n=new h(t);if(n.push(e,!0),n.err)throw n.msg||i[n.err];return n.result}function _(e,t){return t||={},t.raw=!0,g(e,t)}function v(e,t){return t||={},t.gzip=!0,g(e,t)}e.Deflate=h,e.deflate=g,e.deflateRaw=_,e.gzip=v})),zn=s(((e,t)=>{t.exports=function(e,t){var n=e.state,r=e.next_in,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e.input,E;i=r+(e.avail_in-5),a=e.next_out,E=e.output,o=a-(t-e.avail_out),s=a+(e.avail_out-257),c=n.dmax,l=n.wsize,u=n.whave,d=n.wnext,f=n.window,p=n.hold,m=n.bits,h=n.lencode,g=n.distcode,_=(1<<n.lenbits)-1,v=(1<<n.distbits)-1;top:do{m<15&&(p+=T[r++]<<m,m+=8,p+=T[r++]<<m,m+=8),y=h[p&_];dolen:for(;;){if(b=y>>>24,p>>>=b,m-=b,b=y>>>16&255,b===0)E[a++]=y&65535;else if(b&16){x=y&65535,b&=15,b&&(m<b&&(p+=T[r++]<<m,m+=8),x+=p&(1<<b)-1,p>>>=b,m-=b),m<15&&(p+=T[r++]<<m,m+=8,p+=T[r++]<<m,m+=8),y=g[p&v];dodist:for(;;){if(b=y>>>24,p>>>=b,m-=b,b=y>>>16&255,b&16){if(S=y&65535,b&=15,m<b&&(p+=T[r++]<<m,m+=8,m<b&&(p+=T[r++]<<m,m+=8)),S+=p&(1<<b)-1,S>c){e.msg=`invalid distance too far back`,n.mode=30;break top}if(p>>>=b,m-=b,b=a-o,S>b){if(b=S-b,b>u&&n.sane){e.msg=`invalid distance too far back`,n.mode=30;break top}if(C=0,w=f,d===0){if(C+=l-b,b<x){x-=b;do E[a++]=f[C++];while(--b);C=a-S,w=E}}else if(d<b){if(C+=l+d-b,b-=d,b<x){x-=b;do E[a++]=f[C++];while(--b);if(C=0,d<x){b=d,x-=b;do E[a++]=f[C++];while(--b);C=a-S,w=E}}}else if(C+=d-b,b<x){x-=b;do E[a++]=f[C++];while(--b);C=a-S,w=E}for(;x>2;)E[a++]=w[C++],E[a++]=w[C++],E[a++]=w[C++],x-=3;x&&(E[a++]=w[C++],x>1&&(E[a++]=w[C++]))}else{C=a-S;do E[a++]=E[C++],E[a++]=E[C++],E[a++]=E[C++],x-=3;while(x>2);x&&(E[a++]=E[C++],x>1&&(E[a++]=E[C++]))}}else if(b&64){e.msg=`invalid distance code`,n.mode=30;break top}else{y=g[(y&65535)+(p&(1<<b)-1)];continue dodist}break}}else if(!(b&64)){y=h[(y&65535)+(p&(1<<b)-1)];continue dolen}else if(b&32){n.mode=12;break top}else{e.msg=`invalid literal/length code`,n.mode=30;break top}break}}while(r<i&&a<s);x=m>>3,r-=x,m-=x<<3,p&=(1<<m)-1,e.next_in=r,e.next_out=a,e.avail_in=r<i?5+(i-r):5-(r-i),e.avail_out=a<s?257+(s-a):257-(a-s),n.hold=p,n.bits=m}})),Bn=s(((e,t)=>{var n=An(),r=15,i=852,a=592,o=0,s=1,c=2,l=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],u=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],d=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],f=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,p,m,h,g,_,v){var y=v.bits,b=0,x=0,S=0,C=0,w=0,T=0,E=0,ee=0,te=0,D=0,ne,O,k,re,A,ie=null,ae=0,oe,se=new n.Buf16(r+1),j=new n.Buf16(r+1),ce=null,le=0,ue,M,de;for(b=0;b<=r;b++)se[b]=0;for(x=0;x<m;x++)se[t[p+x]]++;for(w=y,C=r;C>=1&&se[C]===0;C--);if(w>C&&(w=C),C===0)return h[g++]=20971520,h[g++]=20971520,v.bits=1,0;for(S=1;S<C&&se[S]===0;S++);for(w<S&&(w=S),ee=1,b=1;b<=r;b++)if(ee<<=1,ee-=se[b],ee<0)return-1;if(ee>0&&(e===o||C!==1))return-1;for(j[1]=0,b=1;b<r;b++)j[b+1]=j[b]+se[b];for(x=0;x<m;x++)t[p+x]!==0&&(_[j[t[p+x]]++]=x);if(e===o?(ie=ce=_,oe=19):e===s?(ie=l,ae-=257,ce=u,le-=257,oe=256):(ie=d,ce=f,oe=-1),D=0,x=0,b=S,A=g,T=w,E=0,k=-1,te=1<<w,re=te-1,e===s&&te>i||e===c&&te>a)return 1;for(;;){ue=b-E,_[x]<oe?(M=0,de=_[x]):_[x]>oe?(M=ce[le+_[x]],de=ie[ae+_[x]]):(M=96,de=0),ne=1<<b-E,O=1<<T,S=O;do O-=ne,h[A+(D>>E)+O]=ue<<24|M<<16|de;while(O!==0);for(ne=1<<b-1;D≠)ne>>=1;if(ne===0?D=0:(D&=ne-1,D+=ne),x++,--se[b]===0){if(b===C)break;b=t[p+_[x]]}if(b>w&&(D&re)!==k){for(E===0&&(E=w),A+=S,T=b-E,ee=1<<T;T+E<C&&(ee-=se[T+E],!(ee<=0));)T++,ee<<=1;if(te+=1<<T,e===s&&te>i||e===c&&te>a)return 1;k=D&re,h[k]=w<<24|T<<16|A-g}}return D!==0&&(h[A+D]=b-E<<24|4194304),v.bits=w,0}})),Vn=s((e=>{var t=An(),n=Mn(),r=Nn(),i=zn(),a=Bn(),o=0,s=1,c=2,l=4,u=5,d=6,f=0,p=1,m=2,h=-2,g=-3,_=-4,v=-5,y=8,b=1,x=2,S=3,C=4,w=5,T=6,E=7,ee=8,te=9,D=10,ne=11,O=12,k=13,re=14,A=15,ie=16,ae=17,oe=18,se=19,j=20,ce=21,le=22,ue=23,M=24,de=25,fe=26,pe=27,me=28,N=29,he=30,ge=31,_e=32,ve=852,P=592,F=15;function ye(e){return(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24)}function be(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new t.Buf16(320),this.work=new t.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function I(e){var n;return!e||!e.state?h:(n=e.state,e.total_in=e.total_out=n.total=0,e.msg=``,n.wrap&&(e.adler=n.wrap&1),n.mode=b,n.last=0,n.havedict=0,n.dmax=32768,n.head=null,n.hold=0,n.bits=0,n.lencode=n.lendyn=new t.Buf32(ve),n.distcode=n.distdyn=new t.Buf32(P),n.sane=1,n.back=-1,f)}function xe(e){var t;return!e||!e.state?h:(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,I(e))}function L(e,t){var n,r;return!e||!e.state||(r=e.state,t<0?(n=0,t=-t):(n=(t>>4)+1,t<48&&(t&=15)),t&&(t<8||t>15))?h:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,xe(e))}function R(e,t){var n,r;return e?(r=new be,e.state=r,r.window=null,n=L(e,t),n!==f&&(e.state=null),n):h}function z(e){return R(e,F)}var B=!0,Se,V;function Ce(e){if(B){var n;for(Se=new t.Buf32(512),V=new t.Buf32(32),n=0;n<144;)e.lens[n++]=8;for(;n<256;)e.lens[n++]=9;for(;n<280;)e.lens[n++]=7;for(;n<288;)e.lens[n++]=8;for(a(s,e.lens,0,288,Se,0,e.work,{bits:9}),n=0;n<32;)e.lens[n++]=5;a(c,e.lens,0,32,V,0,e.work,{bits:5}),B=!1}e.lencode=Se,e.lenbits=9,e.distcode=V,e.distbits=5}function we(e,n,r,i){var a,o=e.state;return o.window===null&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new t.Buf8(o.wsize)),i>=o.wsize?(t.arraySet(o.window,n,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):(a=o.wsize-o.wnext,a>i&&(a=i),t.arraySet(o.window,n,r-i,a,o.wnext),i-=a,i?(t.arraySet(o.window,n,r-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0}function H(e,ve){var P,F,be,I,xe,L,R,z,B,Se,V,H,Te,U,Ee=0,W,De,Oe,ke,Ae,je,Me,Ne,G=new t.Buf8(4),Pe,Fe,Ie=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&e.avail_in!==0)return h;P=e.state,P.mode===O&&(P.mode=k),xe=e.next_out,be=e.output,R=e.avail_out,I=e.next_in,F=e.input,L=e.avail_in,z=P.hold,B=P.bits,Se=L,V=R,Ne=f;inf_leave:for(;;)switch(P.mode){case b:if(P.wrap===0){P.mode=k;break}for(;B<16;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(P.wrap&2&&z===35615){P.check=0,G[0]=z&255,G[1]=z>>>8&255,P.check=r(P.check,G,2,0),z=0,B=0,P.mode=x;break}if(P.flags=0,P.head&&(P.head.done=!1),!(P.wrap&1)||(((z&255)<<8)+(z>>8))%31){e.msg=`incorrect header check`,P.mode=he;break}if((z&15)!==y){e.msg=`unknown compression method`,P.mode=he;break}if(z>>>=4,B-=4,Me=(z&15)+8,P.wbits===0)P.wbits=Me;else if(Me>P.wbits){e.msg=`invalid window size`,P.mode=he;break}P.dmax=1<<Me,e.adler=P.check=1,P.mode=z&512?D:O,z=0,B=0;break;case x:for(;B<16;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(P.flags=z,(P.flags&255)!==y){e.msg=`unknown compression method`,P.mode=he;break}if(P.flags&57344){e.msg=`unknown header flags set`,P.mode=he;break}P.head&&(P.head.text=z>>8&1),P.flags&512&&(G[0]=z&255,G[1]=z>>>8&255,P.check=r(P.check,G,2,0)),z=0,B=0,P.mode=S;case S:for(;B<32;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}P.head&&(P.head.time=z),P.flags&512&&(G[0]=z&255,G[1]=z>>>8&255,G[2]=z>>>16&255,G[3]=z>>>24&255,P.check=r(P.check,G,4,0)),z=0,B=0,P.mode=C;case C:for(;B<16;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}P.head&&(P.head.xflags=z&255,P.head.os=z>>8),P.flags&512&&(G[0]=z&255,G[1]=z>>>8&255,P.check=r(P.check,G,2,0)),z=0,B=0,P.mode=w;case w:if(P.flags&1024){for(;B<16;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}P.length=z,P.head&&(P.head.extra_len=z),P.flags&512&&(G[0]=z&255,G[1]=z>>>8&255,P.check=r(P.check,G,2,0)),z=0,B=0}else P.head&&(P.head.extra=null);P.mode=T;case T:if(P.flags&1024&&(H=P.length,H>L&&(H=L),H&&(P.head&&(Me=P.head.extra_len-P.length,P.head.extra||(P.head.extra=Array(P.head.extra_len)),t.arraySet(P.head.extra,F,I,H,Me)),P.flags&512&&(P.check=r(P.check,F,H,I)),L-=H,I+=H,P.length-=H),P.length))break inf_leave;P.length=0,P.mode=E;case E:if(P.flags&2048){if(L===0)break inf_leave;H=0;do Me=F[I+H++],P.head&&Me&&P.length<65536&&(P.head.name+=String.fromCharCode(Me));while(Me&&H<L);if(P.flags&512&&(P.check=r(P.check,F,H,I)),L-=H,I+=H,Me)break inf_leave}else P.head&&(P.head.name=null);P.length=0,P.mode=ee;case ee:if(P.flags&4096){if(L===0)break inf_leave;H=0;do Me=F[I+H++],P.head&&Me&&P.length<65536&&(P.head.comment+=String.fromCharCode(Me));while(Me&&H<L);if(P.flags&512&&(P.check=r(P.check,F,H,I)),L-=H,I+=H,Me)break inf_leave}else P.head&&(P.head.comment=null);P.mode=te;case te:if(P.flags&512){for(;B<16;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(z!==(P.check&65535)){e.msg=`header crc mismatch`,P.mode=he;break}z=0,B=0}P.head&&(P.head.hcrc=P.flags>>9&1,P.head.done=!0),e.adler=P.check=0,P.mode=O;break;case D:for(;B<32;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}e.adler=P.check=ye(z),z=0,B=0,P.mode=ne;case ne:if(P.havedict===0)return e.next_out=xe,e.avail_out=R,e.next_in=I,e.avail_in=L,P.hold=z,P.bits=B,m;e.adler=P.check=1,P.mode=O;case O:if(ve===u||ve===d)break inf_leave;case k:if(P.last){z>>>=B&7,B-=B&7,P.mode=pe;break}for(;B<3;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}switch(P.last=z&1,z>>>=1,--B,z&3){case 0:P.mode=re;break;case 1:if(Ce(P),P.mode=j,ve===d){z>>>=2,B-=2;break inf_leave}break;case 2:P.mode=ae;break;case 3:e.msg=`invalid block type`,P.mode=he}z>>>=2,B-=2;break;case re:for(z>>>=B&7,B-=B&7;B<32;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if((z&65535)!=(z>>>16^65535)){e.msg=`invalid stored block lengths`,P.mode=he;break}if(P.length=z&65535,z=0,B=0,P.mode=A,ve===d)break inf_leave;case A:P.mode=ie;case ie:if(H=P.length,H){if(H>L&&(H=L),H>R&&(H=R),H===0)break inf_leave;t.arraySet(be,F,I,H,xe),L-=H,I+=H,R-=H,xe+=H,P.length-=H;break}P.mode=O;break;case ae:for(;B<14;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(P.nlen=(z&31)+257,z>>>=5,B-=5,P.ndist=(z&31)+1,z>>>=5,B-=5,P.ncode=(z&15)+4,z>>>=4,B-=4,P.nlen>286||P.ndist>30){e.msg=`too many length or distance symbols`,P.mode=he;break}P.have=0,P.mode=oe;case oe:for(;P.have<P.ncode;){for(;B<3;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}P.lens[Ie[P.have++]]=z&7,z>>>=3,B-=3}for(;P.have<19;)P.lens[Ie[P.have++]]=0;if(P.lencode=P.lendyn,P.lenbits=7,Pe={bits:P.lenbits},Ne=a(o,P.lens,0,19,P.lencode,0,P.work,Pe),P.lenbits=Pe.bits,Ne){e.msg=`invalid code lengths set`,P.mode=he;break}P.have=0,P.mode=se;case se:for(;P.have<P.nlen+P.ndist;){for(;Ee=P.lencode[z&(1<<P.lenbits)-1],W=Ee>>>24,De=Ee>>>16&255,Oe=Ee&65535,!(W<=B);){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(Oe<16)z>>>=W,B-=W,P.lens[P.have++]=Oe;else{if(Oe===16){for(Fe=W+2;B<Fe;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(z>>>=W,B-=W,P.have===0){e.msg=`invalid bit length repeat`,P.mode=he;break}Me=P.lens[P.have-1],H=3+(z&3),z>>>=2,B-=2}else if(Oe===17){for(Fe=W+3;B<Fe;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}z>>>=W,B-=W,Me=0,H=3+(z&7),z>>>=3,B-=3}else{for(Fe=W+7;B<Fe;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}z>>>=W,B-=W,Me=0,H=11+(z&127),z>>>=7,B-=7}if(P.have+H>P.nlen+P.ndist){e.msg=`invalid bit length repeat`,P.mode=he;break}for(;H--;)P.lens[P.have++]=Me}}if(P.mode===he)break;if(P.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,P.mode=he;break}if(P.lenbits=9,Pe={bits:P.lenbits},Ne=a(s,P.lens,0,P.nlen,P.lencode,0,P.work,Pe),P.lenbits=Pe.bits,Ne){e.msg=`invalid literal/lengths set`,P.mode=he;break}if(P.distbits=6,P.distcode=P.distdyn,Pe={bits:P.distbits},Ne=a(c,P.lens,P.nlen,P.ndist,P.distcode,0,P.work,Pe),P.distbits=Pe.bits,Ne){e.msg=`invalid distances set`,P.mode=he;break}if(P.mode=j,ve===d)break inf_leave;case j:P.mode=ce;case ce:if(L>=6&&R>=258){e.next_out=xe,e.avail_out=R,e.next_in=I,e.avail_in=L,P.hold=z,P.bits=B,i(e,V),xe=e.next_out,be=e.output,R=e.avail_out,I=e.next_in,F=e.input,L=e.avail_in,z=P.hold,B=P.bits,P.mode===O&&(P.back=-1);break}for(P.back=0;Ee=P.lencode[z&(1<<P.lenbits)-1],W=Ee>>>24,De=Ee>>>16&255,Oe=Ee&65535,!(W<=B);){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(De&&!(De&240)){for(ke=W,Ae=De,je=Oe;Ee=P.lencode[je+((z&(1<<ke+Ae)-1)>>ke)],W=Ee>>>24,De=Ee>>>16&255,Oe=Ee&65535,!(ke+W<=B);){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}z>>>=ke,B-=ke,P.back+=ke}if(z>>>=W,B-=W,P.back+=W,P.length=Oe,De===0){P.mode=fe;break}if(De&32){P.back=-1,P.mode=O;break}if(De&64){e.msg=`invalid literal/length code`,P.mode=he;break}P.extra=De&15,P.mode=le;case le:if(P.extra){for(Fe=P.extra;B<Fe;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}P.length+=z&(1<<P.extra)-1,z>>>=P.extra,B-=P.extra,P.back+=P.extra}P.was=P.length,P.mode=ue;case ue:for(;Ee=P.distcode[z&(1<<P.distbits)-1],W=Ee>>>24,De=Ee>>>16&255,Oe=Ee&65535,!(W<=B);){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(!(De&240)){for(ke=W,Ae=De,je=Oe;Ee=P.distcode[je+((z&(1<<ke+Ae)-1)>>ke)],W=Ee>>>24,De=Ee>>>16&255,Oe=Ee&65535,!(ke+W<=B);){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}z>>>=ke,B-=ke,P.back+=ke}if(z>>>=W,B-=W,P.back+=W,De&64){e.msg=`invalid distance code`,P.mode=he;break}P.offset=Oe,P.extra=De&15,P.mode=M;case M:if(P.extra){for(Fe=P.extra;B<Fe;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}P.offset+=z&(1<<P.extra)-1,z>>>=P.extra,B-=P.extra,P.back+=P.extra}if(P.offset>P.dmax){e.msg=`invalid distance too far back`,P.mode=he;break}P.mode=de;case de:if(R===0)break inf_leave;if(H=V-R,P.offset>H){if(H=P.offset-H,H>P.whave&&P.sane){e.msg=`invalid distance too far back`,P.mode=he;break}H>P.wnext?(H-=P.wnext,Te=P.wsize-H):Te=P.wnext-H,H>P.length&&(H=P.length),U=P.window}else U=be,Te=xe-P.offset,H=P.length;H>R&&(H=R),R-=H,P.length-=H;do be[xe++]=U[Te++];while(--H);P.length===0&&(P.mode=ce);break;case fe:if(R===0)break inf_leave;be[xe++]=P.length,R--,P.mode=ce;break;case pe:if(P.wrap){for(;B<32;){if(L===0)break inf_leave;L--,z|=F[I++]<<B,B+=8}if(V-=R,e.total_out+=V,P.total+=V,V&&(e.adler=P.check=P.flags?r(P.check,be,V,xe-V):n(P.check,be,V,xe-V)),V=R,(P.flags?z:ye(z))!==P.check){e.msg=`incorrect data check`,P.mode=he;break}z=0,B=0}P.mode=me;case me:if(P.wrap&&P.flags){for(;B<32;){if(L===0)break inf_leave;L--,z+=F[I++]<<B,B+=8}if(z!==(P.total|0)){e.msg=`incorrect length check`,P.mode=he;break}z=0,B=0}P.mode=N;case N:Ne=p;break inf_leave;case he:Ne=g;break inf_leave;case ge:return _;case _e:default:return h}return e.next_out=xe,e.avail_out=R,e.next_in=I,e.avail_in=L,P.hold=z,P.bits=B,(P.wsize||V!==e.avail_out&&P.mode<he&&(P.mode<pe||ve!==l))&&we(e,e.output,e.next_out,V-e.avail_out)?(P.mode=ge,_):(Se-=e.avail_in,V-=e.avail_out,e.total_in+=Se,e.total_out+=V,P.total+=V,P.wrap&&V&&(e.adler=P.check=P.flags?r(P.check,be,V,e.next_out-V):n(P.check,be,V,e.next_out-V)),e.data_type=P.bits+(P.last?64:0)+(P.mode===O?128:0)+(P.mode===j||P.mode===A?256:0),(Se===0&&V===0||ve===l)&&Ne===f&&(Ne=v),Ne)}function Te(e){if(!e||!e.state)return h;var t=e.state;return t.window&&=null,e.state=null,f}function U(e,t){var n;return!e||!e.state||(n=e.state,!(n.wrap&2))?h:(n.head=t,t.done=!1,f)}function Ee(e,t){var r=t.length,i,a,o;return!e||!e.state||(i=e.state,i.wrap!==0&&i.mode!==ne)?h:i.mode===ne&&(a=1,a=n(a,t,r,0),a!==i.check)?g:(o=we(e,t,r,r),o?(i.mode=ge,_):(i.havedict=1,f))}e.inflateReset=xe,e.inflateReset2=L,e.inflateResetKeep=I,e.inflateInit=z,e.inflateInit2=R,e.inflate=H,e.inflateEnd=Te,e.inflateGetHeader=U,e.inflateSetDictionary=Ee,e.inflateInfo=`pako inflate (from Nodeca project)`})),Hn=s(((e,t)=>{t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}})),Un=s(((e,t)=>{function n(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=``,this.comment=``,this.hcrc=0,this.done=!1}t.exports=n})),Wn=s((e=>{var t=Vn(),n=An(),r=In(),i=Hn(),a=Pn(),o=Ln(),s=Un(),c=Object.prototype.toString;function l(e){if(!(this instanceof l))return new l(e);this.options=n.assign({chunkSize:16384,windowBits:0,to:``},e||{});var u=this.options;u.raw&&u.windowBits>=0&&u.windowBits<16&&(u.windowBits=-u.windowBits,u.windowBits===0&&(u.windowBits=-15)),u.windowBits>=0&&u.windowBits<16&&!(e&&e.windowBits)&&(u.windowBits+=32),u.windowBits>15&&u.windowBits<48&&(u.windowBits&15||(u.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.chunks=[],this.strm=new o,this.strm.avail_out=0;var d=t.inflateInit2(this.strm,u.windowBits);if(d!==i.Z_OK||(this.header=new s,t.inflateGetHeader(this.strm,this.header),u.dictionary&&(typeof u.dictionary==`string`?u.dictionary=r.string2buf(u.dictionary):c.call(u.dictionary)===`[object ArrayBuffer]`&&(u.dictionary=new Uint8Array(u.dictionary)),u.raw&&(d=t.inflateSetDictionary(this.strm,u.dictionary),d!==i.Z_OK))))throw Error(a[d])}l.prototype.push=function(e,a){var o=this.strm,s=this.options.chunkSize,l=this.options.dictionary,u,d,f,p,m,h=!1;if(this.ended)return!1;d=a===~~a?a:a===!0?i.Z_FINISH:i.Z_NO_FLUSH,o.input=typeof e==`string`?r.binstring2buf(e):c.call(e)===`[object ArrayBuffer]`?new Uint8Array(e):e,o.next_in=0,o.avail_in=o.input.length;do{if(o.avail_out===0&&(o.output=new n.Buf8(s),o.next_out=0,o.avail_out=s),u=t.inflate(o,i.Z_NO_FLUSH),u===i.Z_NEED_DICT&&l&&(u=t.inflateSetDictionary(this.strm,l)),u===i.Z_BUF_ERROR&&h===!0&&(u=i.Z_OK,h=!1),u!==i.Z_STREAM_END&&u!==i.Z_OK)return this.onEnd(u),this.ended=!0,!1;o.next_out&&(o.avail_out===0||u===i.Z_STREAM_END||o.avail_in===0&&(d===i.Z_FINISH||d===i.Z_SYNC_FLUSH))&&(this.options.to===`string`?(f=r.utf8border(o.output,o.next_out),p=o.next_out-f,m=r.buf2string(o.output,f),o.next_out=p,o.avail_out=s-p,p&&n.arraySet(o.output,o.output,f,p,0),this.onData(m)):this.onData(n.shrinkBuf(o.output,o.next_out))),o.avail_in===0&&o.avail_out===0&&(h=!0)}while((o.avail_in>0||o.avail_out===0)&&u!==i.Z_STREAM_END);return u===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(u=t.inflateEnd(this.strm),this.onEnd(u),this.ended=!0,u===i.Z_OK):(d===i.Z_SYNC_FLUSH&&(this.onEnd(i.Z_OK),o.avail_out=0),!0)},l.prototype.onData=function(e){this.chunks.push(e)},l.prototype.onEnd=function(e){e===i.Z_OK&&(this.result=this.options.to===`string`?this.chunks.join(``):n.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};function u(e,t){var n=new l(t);if(n.push(e,!0),n.err)throw n.msg||a[n.err];return n.result}function d(e,t){return t||={},t.raw=!0,u(e,t)}e.Inflate=l,e.inflate=u,e.inflateRaw=d,e.ungzip=u})),Gn=s(((e,t)=>{var n=An().assign,r=Rn(),i=Wn(),a=Hn(),o={};n(o,r,i,a),t.exports=o})),Kn=s(((e,t)=>{var n=(e,t)=>function(...n){let r=t.promiseModule;return new r((r,i)=>{t.multiArgs?n.push((...e)=>{t.errorFirst?e[0]?i(e):(e.shift(),r(e)):r(e)}):t.errorFirst?n.push((e,t)=>{e?i(e):r(t)}):n.push(r),e.apply(this,n)})};t.exports=(e,t)=>{t=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},t);let r=typeof e;if(e===null||r!==`object`&&r!==`function`)throw TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${e===null?`null`:r}\``);let i=e=>{let n=t=>typeof t==`string`?e===t:t.test(e);return t.include?t.include.some(n):!t.exclude.some(n)},a;a=r===`function`?function(...r){return t.excludeMain?e(...r):n(e,t).apply(this,r)}:Object.create(Object.getPrototypeOf(e));for(let r in e){let o=e[r];a[r]=typeof o==`function`&&i(r)?n(o,t):o}return a}})),qn=s(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}var r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.*\/|^\.+$/,l=`node-ignore`;typeof Symbol<`u`&&(l=Symbol.for(`node-ignore`));var u=l,d=(e,t,n)=>Object.defineProperty(e,t,{value:n}),f=/([0-z])-([0-z])/g,p=()=>!1,m=e=>e.replace(f,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),h=e=>{let{length:t}=e;return e.slice(0,t-t%2)},g=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${h(r)}${i}`:i===`]`&&r.length%2==0?`[${m(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(e,t)=>`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`]],_=Object.create(null),v=(e,t)=>{let n=_[e];return n||(n=g.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),_[e]=n),t?new RegExp(n,`i`):new RegExp(n)},y=e=>typeof e==`string`,b=e=>e&&y(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,x=e=>e.split(s),S=class{constructor(e,t,n,r){this.origin=e,this.pattern=t,this.negative=n,this.regex=r}},C=(e,t)=>{let n=e,r=!1;e.indexOf(`!`)===0&&(r=!0,e=e.substr(1)),e=e.replace(a,`!`).replace(o,`#`);let i=v(e,t);return new S(n,e,r,i)},w=(e,t)=>{throw new t(e)},T=(e,t,n)=>y(e)?e?!T.isNotRelative(e)||n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),E=e=>c.test(e);T.isNotRelative=E,T.convert=e=>e;var ee=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){d(this,u,!0),this._rules=[],this._ignoreCase=t,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[u])this._rules=this._rules.concat(e._rules),this._added=!0;else if(b(e)){let t=C(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(y(e)?x(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let n=!1,r=!1;return this._rules.forEach(i=>{let{negative:a}=i;r===a&&n!==r||a&&!n&&!r&&!t||i.regex.test(e)&&(n=!a,r=a)}),{ignored:n,unignored:r}}_test(e,t,n,r){let i=e&&T.convert(e);return T(i,e,this._allowRelativePaths?p:w),this._t(i,t,n,r)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`),r.pop(),!r.length)return t[e]=this._testOne(e,n);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},te=e=>new ee(e);if(te.isPathValid=e=>T(e&&T.convert(e),e,p),te.default=te,t.exports=te,typeof process<`u`&&({}.IGNORE_TEST_WIN32||process.platform===`win32`)){T.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;T.isNotRelative=t=>e.test(t)||E(t)}})),Jn=s(((e,t)=>{t.exports=function(e,t){var n=e,r=t,i=n.length,a=r.length,o=!1,s=null,c=i+1,l=[],u=[],d=[],f=``,p=-1,m=0,h=1,g,_,v=function(){i>=a&&(g=n,_=i,n=r,r=g,i=a,a=_,o=!0,c=i+1)},y=function(e,t,n){return{x:e,y:t,k:n}},b=function(e,t){return{elem:e,t}},x=function(e,t,o){var s=t>o?l[e-1+c]:l[e+1+c],d,f=Math.max(t,o);for(d=f-e;d<i&&f<a&&n[d]===r[f];)++d,++f;return l[e+c]=u.length,u[u.length]=new y(d,f,s),f},S=function(e){for(var t=i=1,i,a=s=0,s,c=e.length-1;c>=0;--c)for(;a<e[c].x||s<e[c].y;)e[c].y-e[c].x>s-a?(o?d[d.length]=new b(r[s],p):d[d.length]=new b(r[s],h),++i,++s):e[c].y-e[c].x<s-a?(o?d[d.length]=new b(n[a],h):d[d.length]=new b(n[a],p),++t,++a):(d[d.length]=new b(n[a],m),f+=n[a],++t,++i,++a,++s)};return v(),{SES_DELETE:-1,SES_COMMON:0,SES_ADD:1,editdistance:function(){return s},getlcs:function(){return f},getses:function(){return d},compose:function(){for(var e=a-i,t=i+a+3,n={},r,o,d,f=0,p;f<t;++f)n[f]=-1,l[f]=-1;r=-1;do{for(++r,p=-r;p<=e-1;++p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);for(p=e+r;p>=e+1;--p)n[p+c]=x(p,n[p-1+c]+1,n[p+1+c]);n[e+c]=x(e,n[e-1+c]+1,n[e+1+c])}while(n[e+c]!==a);for(s=e+2*r,o=l[e+c],d=[];o!==-1;)d[d.length]=new y(u[o].x,u[o].y,null),o=u[o].k;S(d)}}}})),Yn=s(((e,t)=>{var n=Jn();function r(e,t){var r=new n(e,t);r.compose();for(var i=r.getses(),a,o,s=e.length-1,c=t.length-1,l=i.length-1;l>=0;--l)i[l].t===r.SES_COMMON?(o?(o.chain={file1index:s,file2index:c,chain:null},o=o.chain):(a={file1index:s,file2index:c,chain:null},o=a),s--,c--):i[l].t===r.SES_DELETE?s--:i[l].t===r.SES_ADD&&c--;var u={file1index:-1,file2index:-1,chain:null};return o?(o.chain=u,a):u}function i(e,t){for(var n=[],i=e.length,a=t.length,o=r(e,t);o!==null;o=o.chain){var s=i-o.file1index-1,c=a-o.file2index-1;i=o.file1index,a=o.file2index,(s||c)&&n.push({file1:[i+1,s],file2:[a+1,c]})}return n.reverse(),n}function a(e,t,n){var r,a=i(t,e),o=i(t,n),s=[];function c(e,t){s.push([e.file1[0],t,e.file1[1],e.file2[0],e.file2[1]])}for(r=0;r<a.length;r++)c(a[r],0);for(r=0;r<o.length;r++)c(o[r],2);s.sort(function(e,t){return e[0]-t[0]});var l=[],u=0;function d(e){e>u&&(l.push([1,u,e-u]),u=e)}for(var f=0;f<s.length;f++){for(var p=f,m=s[f],h=m[0],g=h+m[2];f<s.length-1;){var _=s[f+1],v=_[0];if(v>g)break;g=Math.max(g,v+_[2]),f++}if(d(h),p==f)m[4]>0&&l.push([m[1],m[3],m[4]]);else{var y={0:[e.length,-1,t.length,-1],2:[n.length,-1,t.length,-1]};for(r=p;r<=f;r++){m=s[r];var b=y[m[1]],x=m[0],S=x+m[2],C=m[3],w=C+m[4];b[0]=Math.min(C,b[0]),b[1]=Math.max(w,b[1]),b[2]=Math.min(x,b[2]),b[3]=Math.max(S,b[3])}var T=y[0][0]+(h-y[0][2]),E=y[0][1]+(g-y[0][3]),ee=y[2][0]+(h-y[2][2]),te=y[2][1]+(g-y[2][3]);l.push([-1,T,E-T,h,g-h,ee,te-ee])}u=g}return d(t.length),l}function o(e,t,n){var r=[],i=[e,t,n],o=a(e,t,n),s=[];function c(){s.length&&r.push({ok:s}),s=[]}function l(e){for(var t=0;t<e.length;t++)s.push(e[t])}function u(t){if(t[2]!=t[6])return!0;for(var r=t[1],i=t[5],a=0;a<t[2];a++)if(e[a+r]!=n[a+i])return!0;return!1}for(var d=0;d<o.length;d++){var f=o[d],p=f[0];p==-1?u(f)?(c(),r.push({conflict:{a:e.slice(f[1],f[1]+f[2]),aIndex:f[1],o:t.slice(f[3],f[3]+f[4]),oIndex:f[3],b:n.slice(f[5],f[5]+f[6]),bIndex:f[5]}})):l(i[0].slice(f[1],f[1]+f[2])):l(i[p].slice(f[1],f[1]+f[2]))}return c(),r}t.exports=o})),Xn=u(wt(),1),Zn=u(Tn(),1),Qn=u(Dn(),1),$n=u(On(),1),er=u(kn(),1),tr=u(Gn(),1),nr=u(Kn(),1),rr=u(qn(),1),ir=u(Yn(),1),ar=class e extends Error{constructor(e){super(e),this.caller=``}toJSON(){let e=this;return{code:e.code,data:e.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(t){let n=new e(t.message),r=n;return r.code=t.code,r.data=t.data,n.caller=t.caller,n.stack=t.stack,n}get isIsomorphicGitError(){return!0}},or=class e extends ar{constructor(t){super(`Modifying the index is not possible because you have unmerged files: ${t.toString}. Fix them up in the work tree, and then use 'git add/rm as appropriate to mark resolution and make a commit.`),this.code=this.name=e.code,this.data={filepaths:t}}};or.code=`UnmergedPathsError`;var K=class e extends ar{constructor(t){super(`An internal error caused this command to fail.\n\nIf you're using an application that depends on isomorphic-git, please report this error to that application's developers.\n\nIf you're a developer and you believe this is a bug in isomorphic-git, please file an issue at https://github.com/isomorphic-git/isomorphic-git/issues with a minimal reproduction, version and environment details, and this error message: ${t}`),this.code=this.name=e.code,this.data={message:t}}};K.code=`InternalError`;var sr=class e extends ar{constructor(t){super(`The filepath "${t}" contains unsafe character sequences`),this.code=this.name=e.code,this.data={filepath:t}}};sr.code=`UnsafeFilepathError`;var cr=class{constructor(e){this.buffer=e,this._start=0}eof(){return this._start>=this.buffer.length}tell(){return this._start}seek(e){this._start=e}slice(e){let t=this.buffer.slice(this._start,this._start+e);return this._start+=e,t}toString(e,t){let n=this.buffer.toString(e,this._start,this._start+t);return this._start+=t,n}write(e,t,n){let r=this.buffer.write(e,this._start,t,n);return this._start+=t,r}copy(e,t,n){let r=e.copy(this.buffer,this._start,t,n);return this._start+=r,r}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let t=this.buffer.writeUInt8(e,this._start);return this._start+=1,t}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let t=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,t}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let t=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,t}},lr=/[\ud800-]/;function ur(e,t,n){if(n<55296||n>57343)return!1;if(n<56320){let n=t+1<e.length?e.charCodeAt(t+1):0;return n<56320||n>57343}let r=t>0?e.charCodeAt(t-1):0;return r<55296||r>56319}function dr(e,t){if(!lr.test(e)&&!lr.test(t))return-(e<t)||+(e>t);let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=e.charCodeAt(r),i=t.charCodeAt(r);if(n!==i){if(ur(e,r,n)&&(n=65533),ur(t,r,i)&&(i=65533),n===i)continue;return n>=55296&&i>=55296&&(n+=n>=57344?-2048:8192,i+=i>=57344?-2048:8192),n<i?-1:1}}return e.length<t.length?-1:+(e.length>t.length)}function fr(e,t){return dr(e.path,t.path)}function pr(e){let t=e>0?e>>12:0;t!==4&&t!==8&&t!==10&&t!==14&&(t=8);let n=e&511;return n=n&73?493:420,t!==8&&(n=0),(t<<12)+n}var mr=2**32;function hr(e,t,n,r){if(e!==void 0&&t!==void 0)return[e,t];n===void 0&&(n=r.valueOf());let i=Math.floor(n/1e3);return[i,(n-i*1e3)*1e6]}function gr(e){let[t,n]=hr(e.ctimeSeconds,e.ctimeNanoseconds,e.ctimeMs,e.ctime),[r,i]=hr(e.mtimeSeconds,e.mtimeNanoseconds,e.mtimeMs,e.mtime);return{ctimeSeconds:t%mr,ctimeNanoseconds:n%mr,mtimeSeconds:r%mr,mtimeNanoseconds:i%mr,dev:e.dev%mr,ino:e.ino%mr,mode:pr(e.mode%mr),uid:e.uid%mr,gid:e.gid%mr,size:e.size>-1?e.size%mr:0}}function _r(e){let t=``;for(let n of new Uint8Array(e))n<16&&(t+=`0`),t+=n.toString(16);return t}var vr=null;async function yr(e){return vr===null&&(vr=await Sr()),vr?xr(e):br(e)}function br(e){return new Zn.default().update(e).digest(`hex`)}async function xr(e){return _r(await crypto.subtle.digest(`SHA-1`,e))}async function Sr(){try{return await xr(new Uint8Array([]))===`da39a3ee5e6b4b0d3255bfef95601890afd80709`}catch{}return!1}function Cr(e){return{assumeValid:!!(e&32768),extended:!!(e&16384),stage:(e&12288)>>12,nameLength:e&4095}}function wr(e){let t=e.flags;return t.extended=!1,t.nameLength=Math.min(Buffer.from(e.path).length,4095),(t.assumeValid?32768:0)+(t.extended?16384:0)+((t.stage&3)<<12)+(t.nameLength&4095)}var Tr=class e{constructor(e,t){this._dirty=!1,this._unmergedPaths=t||new Set,this._entries=e||new Map}_addEntry(e){if(e.flags.stage===0)e.stages=[e],this._entries.set(e.path,e),this._unmergedPaths.delete(e.path);else{let t=this._entries.get(e.path);t||=(this._entries.set(e.path,e),e),t.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(t){if(Buffer.isBuffer(t))return e.fromBuffer(t);if(t===null)return new e(null);throw new K(`invalid type passed to GitIndex.from`)}static async fromBuffer(t){if(t.length===0)throw new K(`Index file is empty (.git/index)`);let n=new e,r=new cr(t),i=r.toString(`utf8`,4);if(i!==`DIRC`)throw new K(`Invalid dircache magic file number: ${i}`);let a=await yr(t.slice(0,-20)),o=t.slice(-20).toString(`hex`);if(o!==a)throw new K(`Invalid checksum in GitIndex buffer: expected ${o} but saw ${a}`);let s=r.readUInt32BE();if(s!==2)throw new K(`Unsupported dircache version: ${s}`);let c=r.readUInt32BE(),l=0;for(;!r.eof()&&l<c;){let e={};e.ctimeSeconds=r.readUInt32BE(),e.ctimeNanoseconds=r.readUInt32BE(),e.mtimeSeconds=r.readUInt32BE(),e.mtimeNanoseconds=r.readUInt32BE(),e.dev=r.readUInt32BE(),e.ino=r.readUInt32BE(),e.mode=r.readUInt32BE(),e.uid=r.readUInt32BE(),e.gid=r.readUInt32BE(),e.size=r.readUInt32BE(),e.oid=r.slice(20).toString(`hex`),e.flags=Cr(r.readUInt16BE());let i=t.indexOf(0,r.tell()+1)-r.tell();if(i<1)throw new K(`Got a path length of: ${i}`);if(e.path=r.toString(`utf8`,i),e.path.includes(`..\\`)||e.path.includes(`../`))throw new sr(e.path);let a=8-(r.tell()-12)%8;for(a===0&&(a=8);a--;){let t=r.readUInt8();if(t!==0)throw new K(`Expected 1-8 null characters but got '${t}' after ${e.path}`);if(r.eof())throw new K(`Unexpected end of file`)}e.stages=[],n._addEntry(e),l++}return n}get unmergedPaths(){return[...this._unmergedPaths]}get entries(){return[...this._entries.values()].sort(fr)}get entriesMap(){return this._entries}get entriesFlat(){return[...this.entries].flatMap(e=>e.stages.length>1?e.stages.filter(e=>e):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:t,oid:n,stage:r=0}){t||={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0},t=gr(t);let i=Buffer.from(e),a={ctimeSeconds:t.ctimeSeconds,ctimeNanoseconds:t.ctimeNanoseconds,mtimeSeconds:t.mtimeSeconds,mtimeNanoseconds:t.mtimeNanoseconds,dev:t.dev,ino:t.ino,mode:t.mode||33188,uid:t.uid,gid:t.gid,size:t.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:r,nameLength:i.length<4095?i.length:4095},stages:[]};this._addEntry(a),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let t of this._entries.keys())t.startsWith(e+`/`)&&this._entries.delete(t);this._unmergedPaths.has(e)&&this._unmergedPaths.delete(e),this._dirty=!0}clear(){this._entries.clear(),this._dirty=!0}has({filepath:e}){return this._entries.has(e)}render(){return this.entries.map(e=>`${e.mode.toString(8)} ${e.oid} ${e.path}`).join(`
|
|
4
|
-
`)}static async _entryToBuffer(e){let t=Buffer.from(e.path),n=Math.ceil((62+t.length+1)/8)*8,r=Buffer.alloc(n),i=new cr(r),a=gr(e);return i.writeUInt32BE(a.ctimeSeconds),i.writeUInt32BE(a.ctimeNanoseconds),i.writeUInt32BE(a.mtimeSeconds),i.writeUInt32BE(a.mtimeNanoseconds),i.writeUInt32BE(a.dev),i.writeUInt32BE(a.ino),i.writeUInt32BE(a.mode),i.writeUInt32BE(a.uid),i.writeUInt32BE(a.gid),i.writeUInt32BE(a.size),i.write(e.oid,20,`hex`),i.writeUInt16BE(wr(e)),i.write(e.path,t.length,`utf8`),r}async toObject(){let t=Buffer.alloc(12),n=new cr(t);n.write(`DIRC`,4,`utf8`),n.writeUInt32BE(2),n.writeUInt32BE(this.entriesFlat.length);let r=[];for(let t of this.entries)if(r.push(e._entryToBuffer(t)),t.stages.length>1)for(let n of t.stages)n&&n!==t&&r.push(e._entryToBuffer(n));r=await Promise.all(r);let i=Buffer.concat(r),a=Buffer.concat([t,i]),o=await yr(a);return Buffer.concat([a,Buffer.from(o,`hex`)])}};function Er(e,t,n=!0,r=!0){let i=gr(e),a=gr(t);return n&&i.mode!==a.mode||i.mtimeSeconds!==a.mtimeSeconds||i.ctimeSeconds!==a.ctimeSeconds||i.uid!==a.uid||i.gid!==a.gid||r&&i.ino!==a.ino||i.size!==a.size}var Dr;function Or(){return Dr===void 0&&(Dr=new Qn.default({maxPending:1/0})),Dr}function kr(e,t){return Or().acquire(e,t)}var Ar=Symbol(`IndexCache`);function jr(){return{map:new Map,stats:new Map}}async function Mr(e,t,n){let[r,i]=await Promise.all([e.lstat(t),e.read(t)]),a=await Tr.from(i);n.map.set(t,a),n.stats.set(t,r)}async function Nr(e,t,n){let r=n.stats.get(t);if(r===void 0)return!0;if(r===null)return!1;let i=await e.lstat(t);if(i===null)return!1;if(Er(r,i))return!0;let a=gr(r),o=gr(i);return a.mtimeNanoseconds!==o.mtimeNanoseconds||a.ctimeNanoseconds!==o.ctimeNanoseconds}var Pr=class{static async acquire({fs:e,gitdir:t,cache:n,allowUnmerged:r=!0},i){n[Ar]||(n[Ar]=jr());let a=`${t}/index`,o,s=[];return await kr(a,async()=>{let t=n[Ar];await Nr(e,a,t)&&await Mr(e,a,t);let c=t.map.get(a);if(s=c.unmergedPaths,s.length&&!r)throw new or(s);if(o=await i(c),c._dirty){let n=await c.toObject();await e.write(a,n),t.stats.set(a,await e.lstat(a)),c._dirty=!1}}),o}};function Fr(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>-1&&(e=e.slice(t+1)),e}function Ir(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t===-1?`.`:t===0?`/`:e.slice(0,t)}function Lr(e){let t=new Map,n=function(e){if(!t.has(e)){let r={type:`tree`,fullpath:e,basename:Fr(e),metadata:{},children:[]};t.set(e,r),r.parent=n(Ir(e)),r.parent&&r.parent!==r&&r.parent.children.push(r)}return t.get(e)},r=function(e,r){if(!t.has(e)){let i={type:`blob`,fullpath:e,basename:Fr(e),metadata:r,parent:n(Ir(e)),children:[]};i.parent&&i.parent.children.push(i),t.set(e,i)}return t.get(e)};n(`.`);for(let t of e)r(t.path,t);return t}function Rr(e){switch(e){case 16384:return`tree`;case 33188:return`blob`;case 33261:return`blob`;case 40960:return`blob`;case 57344:return`commit`}throw new K(`Unexpected GitTree entry mode: ${e.toString(8)}`)}var zr=class{constructor({fs:e,gitdir:t,cache:n}){this.treePromise=Pr.acquire({fs:e,gitdir:t,cache:n},async function(e){return Lr(e.entries)});let r=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return r.type(this)}async mode(){return r.mode(this)}async stat(){return r.stat(this)}async content(){return r.content(this)}async oid(){return r.oid(this)}}}async readdir(e){let t=e._fullpath,n=(await this.treePromise).get(t);if(!n||n.type===`blob`)return null;if(n.type!==`tree`)throw Error(`ENOTDIR: not a directory, scandir '${t}'`);let r=n.children.map(e=>e.fullpath);return r.sort(dr),r}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let t=(await this.treePromise).get(e._fullpath);if(!t)throw Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let n=t.type===`tree`?{}:gr(t.metadata);e._type=t.type===`tree`?`tree`:Rr(n.mode),e._mode=n.mode,e._stat=t.type===`tree`?void 0:n}return e._stat}async content(e){}async oid(e){return e._oid===!1&&(e._oid=(await this.treePromise).get(e._fullpath).metadata.oid),e._oid}},Br=Symbol(`GitWalkSymbol`);function Vr(){let e=Object.create(null);return Object.defineProperty(e,Br,{value:function({fs:e,gitdir:t,cache:n}){return new zr({fs:e,gitdir:t,cache:n})}}),Object.freeze(e),e}var Hr=class e extends ar{constructor(t){super(`Could not find ${t}.`),this.code=this.name=e.code,this.data={what:t}}};Hr.code=`NotFoundError`;var Ur=class e extends ar{constructor(t,n,r,i){super(`Object ${t} ${i?`at ${i}`:``}was anticipated to be a ${r} but it is a ${n}.`),this.code=this.name=e.code,this.data={oid:t,actual:n,expected:r,filepath:i}}};Ur.code=`ObjectTypeError`;var Wr=class e extends ar{constructor(t){super(`Expected a 40-char hex object id but saw "${t}".`),this.code=this.name=e.code,this.data={value:t}}};Wr.code=`InvalidOidError`;var Gr=class e extends ar{constructor(t,n){super(`"${t}" would be an invalid git reference. (Hint: a valid alternative would be "${n}".)`),this.code=this.name=e.code,this.data={ref:t,suggestion:n}}};Gr.code=`InvalidRefNameError`;var Kr=class e extends ar{constructor(t){super(`Could not find a fetch refspec for remote "${t}". Make sure the config file has an entry like the following:
|
|
5
|
-
[remote "${t}"]
|
|
6
|
-
\tfetch = +refs/heads/*:refs/remotes/origin/*
|
|
7
|
-
`),this.code=this.name=e.code,this.data={remote:t}}};Kr.code=`NoRefspecError`;var qr=class e{constructor(e){if(this.refs=new Map,this.parsedConfig=[],e){let t=null;this.parsedConfig=e.trim().split(`
|
|
8
|
-
`).map(e=>{if(/^\s*#/.test(e))return{line:e,comment:!0};let n=e.indexOf(` `);if(e.startsWith(`^`)){let n=e.slice(1);return this.refs.set(t+`^{}`,n),{line:e,ref:t,peeled:n}}{let r=e.slice(0,n);return t=e.slice(n+1),this.refs.set(t,r),{line:e,ref:t,oid:r}}})}return this}static from(t){return new e(t)}delete(e){this.parsedConfig=this.parsedConfig.filter(t=>t.ref!==e),this.refs.delete(e)}toString(){return this.parsedConfig.map(({line:e})=>e).join(`
|
|
9
|
-
`)+`
|
|
10
|
-
`}},Jr=class e{constructor({remotePath:e,localPath:t,force:n,matchPrefix:r}){Object.assign(this,{remotePath:e,localPath:t,force:n,matchPrefix:r})}static from(t){let[n,r,i,a,o]=t.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),s=n===`+`,c=i===`*`;if(c!==(o===`*`))throw new K(`Invalid refspec`);return new e({remotePath:r,localPath:a,force:s,matchPrefix:c})}translate(e){if(this.matchPrefix){if(e.startsWith(this.remotePath))return this.localPath+e.replace(this.remotePath,``)}else if(e===this.remotePath)return this.localPath;return null}reverseTranslate(e){if(this.matchPrefix){if(e.startsWith(this.localPath))return this.remotePath+e.replace(this.localPath,``)}else if(e===this.localPath)return this.remotePath;return null}},Yr=class e{constructor(e=[]){this.rules=e}static from(t){let n=[];for(let e of t)n.push(Jr.from(e));return new e(n)}add(e){let t=Jr.from(e);this.rules.push(t)}translate(e){let t=[];for(let n of this.rules)for(let r of e){let e=n.translate(r);e&&t.push([r,e])}return t}translateOne(e){let t=null;for(let n of this.rules){let r=n.translate(e);r&&(t=r)}return t}localNamespaces(){return this.rules.filter(e=>e.matchPrefix).map(e=>e.localPath.replace(/\/$/,``))}};function Xr(e,t){let n=e.replace(/\^\{\}$/,``),r=t.replace(/\^\{\}$/,``),i=-(n<r)||+(n>r);return i===0?e.endsWith(`^{}`)?1:-1:i}var Zr=/(^|[/.])([/.]|$)|^@$|@{|[\x00-\x20\x7f~^:?*[\\]|\.lock(\/|$)/;function Qr(e,t){if(typeof e!=`string`)throw TypeError(`Reference name must be a string`);return!Zr.test(e)&&(!!t||e.includes(`/`))}function $r(e,t){let n=``,r=0,i=-1,a=0,o=`\0`;for(let s=0;s<=e.length;++s){if(s<e.length)o=e[s];else if(o===`/`)break;else o=`/`;if(o===`/`){if(i!==s-1&&a!==1){if(a===2){if(n.length<2||r!==2||n.at(-1)!==`.`||n.at(-2)!==`.`){if(n.length>2){let e=n.lastIndexOf(`/`);e===-1?(n=``,r=0):(n=n.slice(0,e),r=n.length-1-n.lastIndexOf(`/`)),i=s,a=0;continue}if(n.length!==0){n=``,r=0,i=s,a=0;continue}}t&&(n+=n.length>0?`/..`:`..`,r=2)}else n.length>0?n+=`/`+e.slice(i+1,s):n=e.slice(i+1,s),r=s-i-1}i=s,a=0}else o===`.`&&a!==-1?++a:a=-1}return n}function ei(e){return e.length>=2&&/^[a-zA-Z]:/.test(e)?e.slice(0,2):null}function ti(e){if(!e.length)return`.`;e=e.replace(/\\/g,`/`);let t=ei(e),n=e[0]===`/`||t!==null&&e[2]===`/`,r=e.at(-1)===`/`,i=$r(t?e.slice(2):e,!n);if(!i.length){let e=t?n?t+`/`:t:n?`/`:`.`;return r&&!n?e+`/`:e}return r&&(i+=`/`),t?n?`${t}/${i}`:`${t}${i}`:n?`/${i}`:i}function q(...e){if(e.length===0)return`.`;let t;for(let n=0;n<e.length;++n){let r=e[n].replace(/\\/g,`/`);r.length!==0&&(/^[a-zA-Z]:\//.test(r)||t===void 0?t=r:t+=`/`+r)}return t===void 0?`.`:ti(t)}var ni=e=>{if(typeof e==`number`)return e;e=e.toLowerCase();let t=parseInt(e);return e.endsWith(`k`)&&(t*=1024),e.endsWith(`m`)&&(t*=1048576),e.endsWith(`g`)&&(t*=1073741824),t},ri=e=>{if(typeof e==`boolean`)return e;if(e=e.trim().toLowerCase(),e===`true`||e===`yes`||e===`on`)return!0;if(e===`false`||e===`no`||e===`off`)return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${e}`)},ii={core:{filemode:ri,bare:ri,logallrefupdates:ri,symlinks:ri,ignorecase:ri,bigFileThreshold:ni}},ai=/^\[([A-Za-z0-9-.]+)(?:[ \t]+"((?:[^"\\]|\\.)*)")?\][ \t]*(?:[#;].*)?$/,oi=/^[A-Za-z0-9-.]+$/,si=/^([A-Za-z][A-Za-z0-9-]*)(?:\s*=\s*(.*))?$/,ci=/^[A-Za-z][A-Za-z0-9-]*$/,li=e=>{let t=ai.exec(e);if(t!=null){let[e,n]=t.slice(1);return[e,n&&n.replace(/\\(.)/g,`$1`)]}return null},ui=e=>{let t=si.exec(e);if(t!=null){let[e,n=`true`]=t.slice(1);return[e,fi(n)]}return null},di=new Map([[`t`,` `],[`b`,`\b`],[`n`,`
|
|
11
|
-
`],[`\\`,`\\`],[`"`,`"`]]),fi=e=>{let t=``,n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i];if(!r&&/[ \t\r\v\f]/.test(a))t!==``&&(n+=a);else{if(!r&&(a===`#`||a===`;`))break;t+=n,n=``,a===`\\`&&di.has(e[i+1])?t+=di.get(e[++i]):a===`"`?r=!r:t+=a}}return t},pi=e=>{if(typeof e!=`string`)return e;let t=e.startsWith(` `)||e.endsWith(` `)||/[#;]/.test(e)?`"`:``;return`${t}${e.replace(/[\\"\n\t]/g,e=>e===`
|
|
12
|
-
`?`\\n`:e===` `?`\\t`:`\\${e}`)}${t}`},mi=e=>e==null?null:e.toLowerCase(),hi=(e,t,n)=>[mi(e),t,mi(n)].filter(e=>e!=null).join(`.`),gi=e=>{let t=e.split(`.`),n=t.shift(),r=t.pop(),i=t.length?t.join(`.`):void 0;return{section:n,subsection:i,name:r,path:hi(n,i,r),sectionPath:hi(n,i,null),isSection:!!n}},_i=(e,t)=>e.reduce((e,n,r)=>t(n)?r:e,-1),vi=class e{constructor(e){let t=null,n=null;this.parsedConfig=e?e.split(`
|
|
13
|
-
`).map(e=>{let r=null,i=null,a=e.trim(),o=li(a),s=o!=null;if(s)[t,n]=o;else{let e=ui(a);e!=null&&([r,i]=e)}let c=hi(t,n,r);return{line:e,isSection:s,section:t,subsection:n,name:r,value:i,path:c}}):[]}static from(t){return new e(t)}async get(e,t=!1){let n=gi(e).path,r=this.parsedConfig.filter(e=>e.path===n).map(({section:e,name:t,value:n})=>{let r=ii[e]&&ii[e][t];return r?r(n):n});return t?r:r.pop()}async getall(e){return this.get(e,!0)}async getSubsections(e){return this.parsedConfig.filter(t=>t.isSection&&t.section===e).map(e=>e.subsection)}async deleteSection(e,t){this.parsedConfig=this.parsedConfig.filter(n=>n.section!==e||n.subsection!==t)}async append(e,t){return this.set(e,t,!0)}async set(e,t,n=!1){let{section:r,subsection:i,name:a,path:o,sectionPath:s,isSection:c}=gi(e),l=_i(this.parsedConfig,e=>e.path===o);if(t==null)l!==-1&&this.parsedConfig.splice(l,1);else if(l!==-1){let e=this.parsedConfig[l],r=Object.assign({},e,{name:a,value:t,modified:!0});n?this.parsedConfig.splice(l+1,0,r):this.parsedConfig[l]=r}else{let e=this.parsedConfig.findIndex(e=>e.path===s),n={section:r,subsection:i,name:a,value:t,modified:!0,path:o};if(oi.test(r)&&ci.test(a)){if(e>=0)this.parsedConfig.splice(e+1,0,n);else{let e={isSection:c,section:r,subsection:i,modified:!0,path:s};this.parsedConfig.push(e,n)}}}}toString(){return this.parsedConfig.map(({line:e,section:t,subsection:n,name:r,value:i,modified:a=!1})=>a?r!=null&&i!=null?`\t${r} = ${pi(i)}`:n==null?`[${t}]`:`[${t} "${n}"]`:e).join(`
|
|
14
|
-
`)}},yi=class{static async get({fs:e,gitdir:t}){let n=await e.read(`${t}/config`,{encoding:`utf8`});return vi.from(n)}static async save({fs:e,gitdir:t,config:n}){await e.write(`${t}/config`,n.toString(),{encoding:`utf8`})}},bi=e=>[`${e}`,`refs/${e}`,`refs/tags/${e}`,`refs/heads/${e}`,`refs/remotes/${e}`,`refs/remotes/${e}/HEAD`],xi=[`config`,`description`,`index`,`shallow`,`commondir`];function Si(e){if(xi.includes(e))throw new Gr(e,`refs/heads/${e}`);if(!Qr(e,!0))throw new Gr(e,$n.default.clean(e))}var J=class e{static async updateRemoteRefs({fs:t,gitdir:n,remote:r,refs:i,symrefs:a,tags:o,refspecs:s=void 0,prune:c=!1,pruneTags:l=!1}){for(let e of i.values())if(!e.match(/[0-9a-f]{40}/))throw new Wr(e);let u=await yi.get({fs:t,gitdir:n});if(!s){if(s=await u.getall(`remote.${r}.fetch`),s.length===0)throw new Kr(r);s.unshift(`+HEAD:refs/remotes/${r}/HEAD`)}let d=Yr.from(s),f=new Map,p=d.translate([...i.keys()]),m=[];for(let[e,t]of d.translate([...a.keys()])){let n=d.translateOne(a.get(e));n&&(Si(n),m.push([t,`ref: ${n}`]))}let h=o?[...i.keys()].filter(e=>e.startsWith(`refs/tags`)&&!e.endsWith(`^{}`)):[];for(let[,e]of p)Si(e);for(let[e]of m)Si(e);if(h.forEach(Si),l){let r=await e.listRefs({fs:t,gitdir:n,filepath:`refs/tags`});await e.deleteRefs({fs:t,gitdir:n,refs:r.map(e=>`refs/tags/${e}`)})}for(let r of h)if(!await e.exists({fs:t,gitdir:n,ref:r})){let e=i.get(r);f.set(r,e)}for(let[e,t]of p){let n=i.get(e);f.set(t,n)}for(let[e,t]of m)f.set(e,t);let g=[];if(c){for(let r of d.localNamespaces()){let i=(await e.listRefs({fs:t,gitdir:n,filepath:r})).map(e=>`${r}/${e}`);for(let e of i)f.has(e)||g.push(e)}g.length>0&&await e.deleteRefs({fs:t,gitdir:n,refs:g})}for(let[e,r]of f)await kr(e,async()=>t.write(q(n,e),`${r.trim()}\n`,`utf8`));return{pruned:g}}static async writeRef({fs:e,gitdir:t,ref:n,value:r}){if(Si(n),!r.match(/[0-9a-f]{40}/))throw new Wr(r);await kr(n,async()=>e.write(q(t,n),`${r.trim()}\n`,`utf8`))}static async writeSymbolicRef({fs:e,gitdir:t,ref:n,value:r}){Si(n),await kr(n,async()=>e.write(q(t,n),`ref: ${r.trim()}\n`,`utf8`))}static async deleteRef({fs:t,gitdir:n,ref:r}){return e.deleteRefs({fs:t,gitdir:n,refs:[r]})}static async deleteRefs({fs:e,gitdir:t,refs:n}){n.forEach(Si),await Promise.all(n.map(n=>e.rm(q(t,n))));let r=await kr(`packed-refs`,async()=>e.read(`${t}/packed-refs`,{encoding:`utf8`})),i=qr.from(r),a=i.refs.size;for(let e of n)i.refs.has(e)&&i.delete(e);i.refs.size<a&&(r=i.toString(),await kr(`packed-refs`,async()=>e.write(`${t}/packed-refs`,r,{encoding:`utf8`})))}static async resolve({fs:t,gitdir:n,ref:r,depth:i=void 0,visited:a=new Set}){if(i!==void 0&&(i--,i===-1))return r;if(r.startsWith(`ref: `))return r=r.slice(5),e.resolve({fs:t,gitdir:n,ref:r,depth:i,visited:a});if(r.length===40&&/[0-9a-f]{40}/.test(r))return r;let o=await e.packedRefs({fs:t,gitdir:n}),s=bi(r).filter(e=>!xi.includes(e));for(let r of s){let s=await kr(r,async()=>await t.read(`${n}/${r}`,{encoding:`utf8`})||o.get(r));if(s){if(a.has(r))throw new K(`Circular reference detected while resolving ref "${r}"`);return a.add(r),e.resolve({fs:t,gitdir:n,ref:s.trim(),depth:i,visited:a})}}throw new Hr(r)}static async isUnbornBranch({fs:t,gitdir:n,ref:r}){let i;try{i=await e.resolve({fs:t,gitdir:n,ref:`HEAD`,depth:2})}catch(e){if(e instanceof Hr)return!1;throw e}return i.startsWith(`refs/heads/`)?r===`HEAD`||bi(r).includes(i):!1}static async exists({fs:t,gitdir:n,ref:r}){try{return await e.expand({fs:t,gitdir:n,ref:r}),!0}catch(e){if(e instanceof Hr)return!1;throw e}}static async expand({fs:t,gitdir:n,ref:r}){if(r.length===40&&/[0-9a-f]{40}/.test(r))return r;let i=await e.packedRefs({fs:t,gitdir:n}),a=bi(r).filter(e=>!xi.includes(e));for(let e of a)if(await kr(e,async()=>t.exists(`${n}/${e}`))||i.has(e))return e;throw new Hr(r)}static async expandAgainstMap({ref:e,map:t}){let n=bi(e);for(let e of n)if(await t.has(e))return e;throw new Hr(e)}static resolveAgainstMap({ref:t,fullref:n=t,depth:r=void 0,map:i}){if(r!==void 0&&(r--,r===-1))return{fullref:n,oid:t};if(t.startsWith(`ref: `))return t=t.slice(5),e.resolveAgainstMap({ref:t,fullref:n,depth:r,map:i});if(t.length===40&&/[0-9a-f]{40}/.test(t))return{fullref:n,oid:t};let a=bi(t);for(let t of a){let n=i.get(t);if(n)return e.resolveAgainstMap({ref:n.trim(),fullref:t,depth:r,map:i})}throw new Hr(t)}static async packedRefs({fs:e,gitdir:t}){let n=await kr(`packed-refs`,async()=>e.read(`${t}/packed-refs`,{encoding:`utf8`}));return qr.from(n).refs}static async listRefs({fs:t,gitdir:n,filepath:r}){let i=await e.packedRefs({fs:t,gitdir:n}),a=null;try{a=await t.readdirDeep(`${n}/${r}`),a=a.map(e=>e.replace(`${n}/${r}/`,``))}catch{a=[]}for(let e of i.keys())e.startsWith(r)&&(e=e.replace(r+`/`,``),a.includes(e)||a.push(e));return a.sort(Xr),a}static async listBranches({fs:t,gitdir:n,remote:r}){return r?e.listRefs({fs:t,gitdir:n,filepath:`refs/remotes/${r}`}):e.listRefs({fs:t,gitdir:n,filepath:`refs/heads`})}static async listTags({fs:t,gitdir:n}){return(await e.listRefs({fs:t,gitdir:n,filepath:`refs/tags`})).filter(e=>!e.endsWith(`^{}`))}};function Ci(e,t){return dr(wi(e),wi(t))}function wi(e){return e.mode===`040000`?e.path+`/`:e.path}function Ti(e){switch(e){case`040000`:return`tree`;case`100644`:return`blob`;case`100755`:return`blob`;case`120000`:return`blob`;case`160000`:return`commit`}throw new K(`Unexpected GitTree entry mode: ${e}`)}function Ei(e){let t=[],n=0;for(;n<e.length;){let r=e.indexOf(32,n);if(r===-1)throw new K(`GitTree: Error parsing buffer at byte location ${n}: Could not find the next space character.`);let i=e.indexOf(0,n);if(i===-1)throw new K(`GitTree: Error parsing buffer at byte location ${n}: Could not find the next null character.`);let a=e.slice(n,r).toString(`utf8`);a===`40000`&&(a=`040000`);let o=Ti(a),s=e.slice(r+1,i).toString(`utf8`),c=s.replace(/[\u200C-\u200F\u202A-\u202E\u206A-\u206F\uFEFF]/g,``),l=c.split(`:`)[0].toLowerCase().replace(/[. ]+$/,``);if(s.includes(`\\`)||s.includes(`/`)||c===`.`||c===`..`||l===`.git`||/^\.?git~[1-9]$/.test(l))throw new sr(s);let u=e.slice(i+1,i+21).toString(`hex`);n=i+21,t.push({mode:a,path:s,oid:u,type:o})}return t}function Di(e){if(typeof e==`number`&&(e=e.toString(8)),e.match(/^0?4.*/))return`040000`;if(e.match(/^1006.*/))return`100644`;if(e.match(/^1007.*/))return`100755`;if(e.match(/^120.*/))return`120000`;if(e.match(/^160.*/))return`160000`;throw new K(`Could not understand file mode: ${e}`)}function Oi(e){return!e.oid&&e.sha&&(e.oid=e.sha),e.mode=Di(e.mode),e.type||=Ti(e.mode),e}var ki=class e{constructor(e){if(Buffer.isBuffer(e))this._entries=Ei(e);else if(Array.isArray(e))this._entries=e.map(Oi);else throw new K(`invalid type passed to GitTree constructor`);this._entries.sort(fr)}static from(t){return new e(t)}render(){return this._entries.map(e=>`${e.mode} ${e.type} ${e.oid} ${e.path}`).join(`
|
|
15
|
-
`)}toObject(){let e=[...this._entries];return e.sort(Ci),Buffer.concat(e.map(e=>{let t=Buffer.from(e.mode.replace(/^0/,``)),n=Buffer.from(` `),r=Buffer.from(e.path,`utf8`),i=Buffer.from([0]),a=Buffer.from(e.oid,`hex`);return Buffer.concat([t,n,r,i,a])}))}entries(){return this._entries}*[Symbol.iterator](){for(let e of this._entries)yield e}},Ai=class{static wrap({type:e,object:t}){let n=`${e} ${t.length}\x00`,r=n.length,i=r+t.length,a=new Uint8Array(i);for(let e=0;e<r;e++)a[e]=n.charCodeAt(e);return a.set(t,r),a}static unwrap(e){let t=e.indexOf(32),n=e.indexOf(0),r=e.slice(0,t).toString(`utf8`),i=e.slice(t+1,n).toString(`utf8`),a=e.length-(n+1);if(parseInt(i)!==a)throw new K(`Length mismatch: expected ${i} bytes but got ${a} instead.`);return{type:r,object:Buffer.from(e.slice(n+1))}}};async function ji({fs:e,gitdir:t,oid:n}){let r=`objects/${n.slice(0,2)}/${n.slice(2)}`,i=await e.read(`${t}/${r}`);return i?{object:i,format:`deflated`,source:r}:null}function Mi(e,t){let n=new cr(e),r=Ni(n);if(r!==t.byteLength)throw new K(`applyDelta expected source buffer to be ${r} bytes but the provided buffer was ${t.length} bytes`);let i=Ni(n),a,o=Fi(n,t);if(o.byteLength===i)a=o;else{let e=[o],r=o.byteLength;for(;!n.eof();){let i=Fi(n,t);e.push(i),r+=i.byteLength}if(i!==r)throw new K(`applyDelta expected target buffer to be ${i} bytes but the resulting buffer was ${r} bytes`);a=Buffer.concat(e,i)}return a}function Ni(e){let t=0,n=0,r=null;do r=e.readUInt8(),t|=(r&127)<<n,n+=7;while(r&128);return t}function Pi(e,t,n){let r=0,i=0;for(;n--;)t&1&&(r|=e.readUInt8()<<i),t>>=1,i+=8;return r}function Fi(e,t){let n=e.readUInt8();if(n&128){let r=Pi(e,n&15,4),i=Pi(e,(n&112)>>4,3);return i===0&&(i=65536),t.slice(r,r+i)}return e.slice(n)}function Ii(e){let t=[e];return{next(){return Promise.resolve({done:t.length===0,value:t.pop()})},return(){return t=[],{}},[Symbol.asyncIterator](){return this}}}function Li(e){return e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]?e[Symbol.iterator]():e.next?e:Ii(e)}var Ri=class{constructor(e){if(typeof Buffer>`u`)throw Error(`Missing Buffer dependency`);this.stream=Li(e),this.buffer=null,this.cursor=0,this.undoCursor=0,this.started=!1,this._ended=!1,this._discardedBytes=0}eof(){return this._ended&&this.cursor===this.buffer.length}tell(){return this._discardedBytes+this.cursor}async byte(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(1),this.buffer[this.undoCursor]}async chunk(){if(!this.eof()&&(this.started||await this._init(),!(this.cursor===this.buffer.length&&(await this._loadnext(),this._ended))))return this._moveCursor(this.buffer.length),this.buffer.slice(this.undoCursor,this.cursor)}async read(e){if(!this.eof())return this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e),this.buffer.slice(this.undoCursor,this.cursor)}async skip(e){this.eof()||(this.started||await this._init(),this.cursor+e>this.buffer.length&&(this._trim(),await this._accumulate(e)),this._moveCursor(e))}async undo(){this.cursor=this.undoCursor}async _next(){this.started=!0;let{done:e,value:t}=await this.stream.next();return e&&(this._ended=!0,!t)?Buffer.alloc(0):(t&&=Buffer.from(t),t)}_trim(){this.buffer=this.buffer.slice(this.undoCursor),this.cursor-=this.undoCursor,this._discardedBytes+=this.undoCursor,this.undoCursor=0}_moveCursor(e){this.undoCursor=this.cursor,this.cursor+=e,this.cursor>this.buffer.length&&(this.cursor=this.buffer.length)}async _accumulate(e){if(this._ended)return;let t=[this.buffer];for(;this.cursor+e>zi(t);){let e=await this._next();if(this._ended)break;t.push(e)}this.buffer=Buffer.concat(t)}async _loadnext(){this._discardedBytes+=this.buffer.length,this.undoCursor=0,this.cursor=0,this.buffer=await this._next()}async _init(){this.buffer=await this._next()}};function zi(e){return e.reduce((e,t)=>e+t.length,0)}async function Bi(e,t){let n=new Ri(e),r=await n.read(4);if(r=r.toString(`utf8`),r!==`PACK`)throw new K(`Invalid PACK header '${r}'`);let i=await n.read(4);if(i=i.readUInt32BE(0),i!==2)throw new K(`Invalid packfile version: ${i}`);let a=await n.read(4);if(a=a.readUInt32BE(0),!(a<1))for(;!n.eof()&&a--;){let e=n.tell(),{type:r,length:i,ofs:o,reference:s}=await Vi(n),c=new tr.default.Inflate;for(;!c.result;){let l=await n.chunk();if(!l)break;if(c.push(l,!1),c.err)throw new K(`Pako error: ${c.msg}`);if(c.result){if(c.result.length!==i)throw new K(`Inflated object size is different from that stated in packfile.`);await n.undo(),await n.read(l.length-c.strm.avail_in);let u=n.tell();await t({data:c.result,type:r,num:a,offset:e,end:u,reference:s,ofs:o})}}}}async function Vi(e){let t=await e.byte(),n=t>>4&7,r=t&15;if(t&128){let n=4;do t=await e.byte(),r|=(t&127)<<n,n+=7;while(t&128)}let i,a;if(n===6){let n=0;i=0;let r=[];do t=await e.byte(),i|=(t&127)<<n,n+=7,r.push(t);while(t&128);a=Buffer.from(r)}return n===7&&(a=await e.read(20)),{type:n,length:r,ofs:i,reference:a}}var Hi=class e extends ar{constructor(t){super(`Invalid compressed buffer: ${t}`),this.code=this.name=e.code,this.data={message:t}}};Hi.code=`DecompressionError`;async function Ui(e){let t=new DecompressionStream(`deflate`),n=new Blob([e]).stream().pipeThrough(t);try{return new Uint8Array(await new Response(n).arrayBuffer())}catch(e){throw e&&e.name===`TypeError`&&e.message===``?new Hi(`decompression failed`):e}}var Wi=!1;async function Gi(e){Wi===null&&(Wi=Ki());try{return Wi?await Ui(e):tr.default.inflate(e)}catch(e){throw typeof e==`string`?new Hi(e):e}}function Ki(){try{if(new DecompressionStream(`deflate`))return!0}catch{}return!1}function qi(e){let t=[],n=0,r=0;do{n=e.readUInt8();let i=n&127;t.push(i),r=n&128}while(r);return t.reduce((e,t)=>e+1<<7|t,-1)}function Ji(e,t){let n=t,r=4,i=null;do i=e.readUInt8(),n|=(i&127)<<r,r+=7;while(i&128);return n}var Yi=class e{constructor(e){Object.assign(this,e),this.offsetCache={}}static async fromIdx({idx:t,getExternalRefDelta:n}){let r=new cr(t);if(r.slice(4).toString(`hex`)!==`ff744f63`)return;let i=r.readUInt32BE();if(i!==2)throw new K(`Unable to read version ${i} packfile IDX. (Only version 2 supported)`);if(t.byteLength>2147483648)throw new K(`To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.`);r.seek(r.tell()+1020);let a=r.readUInt32BE(),o=[];for(let e=0;e<a;e++){let t=r.slice(20).toString(`hex`);o[e]=t}r.seek(r.tell()+4*a);let s=new Map;for(let e=0;e<a;e++)s.set(o[e],r.readUInt32BE());let c=r.slice(20).toString(`hex`);return new e({hashes:o,crcs:{},offsets:s,packfileSha:c,getExternalRefDelta:n})}static async fromPack({pack:t,getExternalRefDelta:n,onProgress:r}){let i={1:`commit`,2:`tree`,3:`blob`,4:`tag`,6:`ofs-delta`,7:`ref-delta`},a={},o=t.slice(-20).toString(`hex`),s=[],c={},l=new Map,u=null,d=null;await Bi([t],async({data:e,type:t,reference:n,offset:o,num:s})=>{u===null&&(u=s);let c=Math.floor((u-s)*100/u);c!==d&&r&&await r({phase:`Receiving objects`,loaded:u-s,total:u}),d=c,t=i[t],([`commit`,`tree`,`blob`,`tag`].includes(t)||t===`ofs-delta`||t===`ref-delta`)&&(a[o]={type:t,offset:o})});let f=Object.keys(a).map(Number);for(let[e,n]of f.entries()){let r=e+1===f.length?t.byteLength-20:f[e+1],i=a[n],o=er.default.buf(t.slice(n,r))>>>0;i.end=r,i.crc=o}let p=new e({pack:Promise.resolve(t),packfileSha:o,crcs:c,hashes:s,offsets:l,getExternalRefDelta:n});d=null;let m=0,h=[0,0,0,0,0,0,0,0,0,0,0,0];for(let e in a){e=Number(e);let t=Math.floor(m*100/u);t!==d&&r&&await r({phase:`Resolving deltas`,loaded:m,total:u}),m++,d=t;let n=a[e];if(!n.oid)try{p.readDepth=0,p.externalReadDepth=0;let{type:t,object:r}=await p.readSlice({start:e});h[p.readDepth]+=1;let i=await yr(Ai.wrap({type:t,object:r}));n.oid=i,s.push(i),l.set(i,e),c[i]=n.crc}catch{continue}}return s.sort(),p}async toBuffer(){let e=[],t=(t,n)=>{e.push(Buffer.from(t,n))};t(`ff744f63`,`hex`),t(`00000002`,`hex`);let n=new cr(Buffer.alloc(1024));for(let e=0;e<256;e++){let t=0;for(let n of this.hashes)parseInt(n.slice(0,2),16)<=e&&t++;n.writeUInt32BE(t)}e.push(n.buffer);for(let e of this.hashes)t(e,`hex`);let r=new cr(Buffer.alloc(this.hashes.length*4));for(let e of this.hashes)r.writeUInt32BE(this.crcs[e]);e.push(r.buffer);let i=new cr(Buffer.alloc(this.hashes.length*4));for(let e of this.hashes)i.writeUInt32BE(this.offsets.get(e));e.push(i.buffer),t(this.packfileSha,`hex`);let a=Buffer.concat(e),o=await yr(a),s=Buffer.alloc(20);return s.write(o,`hex`),Buffer.concat([a,s])}async load({pack:e}){this.pack=e}async unload(){this.pack=null}async read({oid:e}){if(!this.offsets.get(e)){if(this.getExternalRefDelta)return this.externalReadDepth++,this.getExternalRefDelta(e);throw new K(`Could not read object ${e} from packfile`)}let t=this.offsets.get(e);return this.readSlice({start:t})}async readSlice({start:e}){if(this.offsetCache[e])return Object.assign({},this.offsetCache[e]);this.readDepth++;let t={16:`commit`,32:`tree`,48:`blob`,64:`tag`,96:`ofs_delta`,112:`ref_delta`},n=await this.pack;if(!n)throw new K(`Could not read packfile data. The packfile may be missing, corrupted, or too large to read into memory.`);let r=n.slice(e),i=new cr(r),a=i.readUInt8(),o=a&112,s=t[o];if(s===void 0)throw new K(`Unrecognized type: 0b`+o.toString(2));let c=a&15,l=c;a&128&&(l=Ji(i,c));let u=null,d=null;if(s===`ofs_delta`){let t=e-qi(i);({object:u,type:s}=await this.readSlice({start:t}))}if(s===`ref_delta`){let e=i.slice(20).toString(`hex`);({object:u,type:s}=await this.read({oid:e}))}let f=r.slice(i.tell());if(d=Buffer.from(await Gi(f)),d.byteLength!==l)throw new K(`Packfile told us object would have length ${l} but it had length ${d.byteLength}`);return u&&(d=Buffer.from(Mi(d,u))),this.readDepth>3&&(this.offsetCache[e]={type:s,object:d}),{type:s,format:`content`,object:d}}},Xi=Symbol(`PackfileCache`);async function Zi({fs:e,filename:t,getExternalRefDelta:n,emitter:r,emitterPrefix:i}){let a=await e.read(t);return Yi.fromIdx({idx:a,getExternalRefDelta:n})}function Qi({fs:e,cache:t,filename:n,getExternalRefDelta:r,emitter:i,emitterPrefix:a}){t[Xi]||(t[Xi]=new Map);let o=t[Xi].get(n);return o||(o=Zi({fs:e,filename:n,getExternalRefDelta:r,emitter:i,emitterPrefix:a}),t[Xi].set(n,o),o.catch(()=>{t[Xi].get(n)===o&&t[Xi].delete(n)})),o}async function $i(e,{start:t=0,end:n=e.length}={}){return yr(e.subarray(t,n))}async function ea({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`,getExternalRefDelta:a}){let o=await e.readdir(q(n,`objects/pack`));o=o.filter(e=>e.endsWith(`.idx`));for(let i of o){let o=`${n}/objects/pack/${i}`,s=await Qi({fs:e,cache:t,filename:o,getExternalRefDelta:a});if(s.error)throw new K(s.error);if(s.offsets.has(r)){let t=o.replace(/idx$/,`pack`);if(!s.pack){let n=e.read(t);s.pack=n,n.catch(()=>{s.pack===n&&(s.pack=null)})}let n=await s.pack;if(!n)throw s.pack=null,new K(`Could not read packfile at ${t}. The file may be missing, corrupted, or too large to read into memory.`);s._checksumVerification||=ta(n,s.packfileSha),await s._checksumVerification;let c=await s.read({oid:r,getExternalRefDelta:a});return c.format=`content`,c.source=`objects/pack/${i.replace(/idx$/,`pack`)}`,c}}return null}async function ta(e,t){let n=e.subarray(-20),r=Array.from(n).map(e=>e.toString(16).padStart(2,`0`)).join(``);if(r!==t)throw new K(`Packfile trailer mismatch: expected ${t}, got ${r}. The packfile may be corrupted.`);let i=await $i(e,{start:0,end:e.length-20});if(i!==t)throw new K(`Packfile payload corrupted: calculated ${i} but expected ${t}. The packfile may have been tampered with.`)}async function na({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`}){if(![`deflated`,`wrapped`,`content`].includes(i))throw new K(`invalid requested format "${i}"`);let a=r=>na({fs:e,cache:t,gitdir:n,oid:r}),o;if(r===`4b825dc642cb6eb9a060e54bf8d69288fbee4904`&&(o={format:`wrapped`,object:Buffer.from(`tree 0\0`)}),o||=await ji({fs:e,gitdir:n,oid:r}),!o){if(o=await ea({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:a}),!o)throw new Hr(r);return o}if(i===`deflated`||(o.format===`deflated`&&(o.object=Buffer.from(await Gi(o.object)),o.format=`wrapped`),i===`wrapped`))return o;let s=await yr(o.object);if(s!==r)throw new K(`SHA check failed! Expected ${r}, computed ${s}`);let{object:c,type:l}=Ai.unwrap(o.object);return o.type=l,o.object=c,o.format=`content`,o}var ra=class e extends ar{constructor(t,n,r=!0){super(`Failed to create ${t} at ${n} because it already exists.${r?` (Hint: use 'force: true' parameter to overwrite existing ${t}.)`:``}`),this.code=this.name=e.code,this.data={noun:t,where:n,canForce:r}}};ra.code=`AlreadyExistsError`;var ia=class e extends ar{constructor(t,n,r){super(`Found multiple ${t} matching "${n}" (${r.join(`, `)}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=e.code,this.data={nouns:t,short:n,matches:r}}};ia.code=`AmbiguousError`;var aa=class e extends ar{constructor(t){super(`Your local changes to the following files would be overwritten by checkout: ${t.join(`, `)}`),this.code=this.name=e.code,this.data={filepaths:t}}};aa.code=`CheckoutConflictError`;var oa=class e extends ar{constructor(t){super(`Your local changes to the following files would be overwritten by cherry-pick: ${t.join(`, `)}`),this.code=this.name=e.code,this.data={filepaths:t}}};oa.code=`CherryPickLocalChangesError`;var sa=class e extends ar{constructor(t,n){super(`Cannot cherry-pick merge commit ${t}. Merge commits have ${n} parents and require specifying which parent to use as the base.`),this.code=this.name=e.code,this.data={oid:t,parentCount:n}}};sa.code=`CherryPickMergeCommitError`;var ca=class e extends ar{constructor(t){super(`Cannot cherry-pick root commit ${t}. Root commits have no parents.`),this.code=this.name=e.code,this.data={oid:t}}};ca.code=`CherryPickRootCommitError`;var la=class e extends ar{constructor(t,n){super(`Failed to checkout "${t}" because commit ${n} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=e.code,this.data={ref:t,oid:n}}};la.code=`CommitNotFetchedError`;var ua=class e extends ar{constructor(){super(`Cannot create an empty commit when disallowEmpty is true.`),this.code=this.name=e.code,this.data={}}};ua.code=`EmptyCommitError`;var da=class e extends ar{constructor(){super(`Empty response from git server.`),this.code=this.name=e.code,this.data={}}};da.code=`EmptyServerResponseError`;var fa=class e extends ar{constructor(){super(`A simple fast-forward merge was not possible.`),this.code=this.name=e.code,this.data={}}};fa.code=`FastForwardError`;var pa=class e extends ar{constructor(t,n){super(`One or more branches were not updated: ${t}`),this.code=this.name=e.code,this.data={prettyDetails:t,result:n}}};pa.code=`GitPushError`;var ma=class e extends ar{constructor(t,n,r){super(`HTTP Error: ${t} ${n}`),this.code=this.name=e.code,this.data={statusCode:t,statusMessage:n,response:r}}};ma.code=`HttpError`;var ha=class e extends ar{constructor(t){let n=`invalid filepath`;t===`leading-slash`||t===`trailing-slash`?n=`"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.`:t===`directory`&&(n=`"filepath" should not be a directory.`),super(n),this.code=this.name=e.code,this.data={reason:t}}};ha.code=`InvalidFilepathError`;var ga=class e extends ar{constructor(t){super(`Maximum search depth of ${t} exceeded.`),this.code=this.name=e.code,this.data={depth:t}}};ga.code=`MaxDepthError`;var _a=class e extends ar{constructor(){super(`Merges with conflicts are not supported yet.`),this.code=this.name=e.code,this.data={}}};_a.code=`MergeNotSupportedError`;var va=class e extends ar{constructor(t,n,r,i){super(`Automatic merge failed with one or more merge conflicts in the following files: ${t.toString()}. Fix conflicts then commit the result.`),this.code=this.name=e.code,this.data={filepaths:t,bothModified:n,deleteByUs:r,deleteByTheirs:i}}};va.code=`MergeConflictError`;var ya=class e extends ar{constructor(t){super(`No name was provided for ${t} in the argument or in the .git/config file.`),this.code=this.name=e.code,this.data={role:t}}};ya.code=`MissingNameError`;var ba=class e extends ar{constructor(t){super(`The function requires a "${t}" parameter but none was provided.`),this.code=this.name=e.code,this.data={parameter:t}}};ba.code=`MissingParameterError`;var xa=class e extends ar{constructor(t){super(`There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more`),this.code=this.name=e.code,this.data={errors:t},this.errors=t}};xa.code=`MultipleGitError`;var Sa=class e extends ar{constructor(t,n){super(`Expected "${t}" but received "${n}".`),this.code=this.name=e.code,this.data={expected:t,actual:n}}};Sa.code=`ParseError`;var Ca=class e extends ar{constructor(t){let n=``;t===`not-fast-forward`?n=` because it was not a simple fast-forward`:t===`tag-exists`&&(n=` because tag already exists`),super(`Push rejected${n}. Use "force: true" to override.`),this.code=this.name=e.code,this.data={reason:t}}};Ca.code=`PushRejectedError`;var wa=class e extends ar{constructor(t,n){super(`Remote does not support the "${t}" so the "${n}" parameter cannot be used.`),this.code=this.name=e.code,this.data={capability:t,parameter:n}}};wa.code=`RemoteCapabilityError`;var Ta=class e extends ar{constructor(t,n){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${t}`),this.code=this.name=e.code,this.data={preview:t,response:n}}};Ta.code=`SmartHttpError`;var Ea=class e extends ar{constructor(t,n,r){super(`Git remote "${t}" uses an unrecognized transport protocol: "${n}"`),this.code=this.name=e.code,this.data={url:t,transport:n,suggestion:r}}};Ea.code=`UnknownTransportError`;var Da=class e extends ar{constructor(t){super(`Cannot parse remote URL: "${t}"`),this.code=this.name=e.code,this.data={url:t}}};Da.code=`UrlParseError`;var Oa=class e extends ar{constructor(){super(`The operation was canceled.`),this.code=this.name=e.code,this.data={}}};Oa.code=`UserCanceledError`;var ka=class e extends ar{constructor(t){super(`Could not merge index: Entry for '${t}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`),this.code=this.name=e.code,this.data={filepath:t}}};ka.code=`IndexResetError`;var Aa=class e extends ar{constructor(t){super(`"${t}" does not point to any commit. You're maybe working on a repository with no commits yet. `),this.code=this.name=e.code,this.data={ref:t}}};Aa.code=`NoCommitError`;var ja=Object.freeze({__proto__:null,AlreadyExistsError:ra,AmbiguousError:ia,CheckoutConflictError:aa,CherryPickLocalChangesError:oa,CherryPickMergeCommitError:sa,CherryPickRootCommitError:ca,CommitNotFetchedError:la,DecompressionError:Hi,EmptyCommitError:ua,EmptyServerResponseError:da,FastForwardError:fa,GitPushError:pa,HttpError:ma,InternalError:K,InvalidFilepathError:ha,InvalidOidError:Wr,InvalidRefNameError:Gr,MaxDepthError:ga,MergeNotSupportedError:_a,MergeConflictError:va,MissingNameError:ya,MissingParameterError:ba,MultipleGitError:xa,NoRefspecError:Kr,NotFoundError:Hr,ObjectTypeError:Ur,ParseError:Sa,PushRejectedError:Ca,RemoteCapabilityError:wa,SmartHttpError:Ta,UnknownTransportError:Ea,UnsafeFilepathError:sr,UrlParseError:Da,UserCanceledError:Oa,UnmergedPathsError:or,IndexResetError:ka,NoCommitError:Aa});function Ma({name:e,email:t,timestamp:n,timezoneOffset:r}){return r=Na(r),`${e} <${t}> ${n} ${r}`}function Na(e){let t=Pa(Fa(e));e=Math.abs(e);let n=Math.floor(e/60);e-=n*60;let r=String(n),i=String(e);return r.length<2&&(r=`0`+r),i.length<2&&(i=`0`+i),(t===-1?`-`:`+`)+r+i}function Pa(e){return Math.sign(e)||(Object.is(e,-0)?-1:1)}function Fa(e){return e===0?e:-e}function Ia(e){return e=e.replace(/\r/g,``),e=e.replace(/^\n+/,``),e=e.replace(/\n+$/,``)+`
|
|
16
|
-
`,e}function La(e){let[,t,n,r,i]=e.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:t,email:n,timestamp:Number(r),timezoneOffset:Ra(i)}}function Ra(e){let[,t,n,r]=e.match(/(\+|-)(\d\d)(\d\d)/);return r=(t===`+`?1:-1)*(Number(n)*60+Number(r)),za(r)}function za(e){return e===0?e:-e}var Ba=class e{constructor(t){if(typeof t==`string`)this._tag=t;else if(Buffer.isBuffer(t))this._tag=t.toString(`utf8`);else if(typeof t==`object`)this._tag=e.render(t);else throw new K(`invalid type passed to GitAnnotatedTag constructor`)}static from(t){return new e(t)}static render(e){return`object ${e.object}
|
|
17
|
-
type ${e.type}
|
|
18
|
-
tag ${e.tag}
|
|
19
|
-
tagger ${Ma(e.tagger)}
|
|
20
|
-
|
|
21
|
-
${e.message}
|
|
22
|
-
${e.gpgsig?e.gpgsig:``}`}justHeaders(){return this._tag.slice(0,this._tag.indexOf(`
|
|
23
|
-
|
|
24
|
-
`))}message(){let e=this.withoutSignature();return e.slice(e.indexOf(`
|
|
25
|
-
|
|
26
|
-
`)+2)}parse(){return Object.assign(this.headers(),{message:this.message(),gpgsig:this.gpgsig()})}render(){return this._tag}headers(){let e=this.justHeaders().split(`
|
|
27
|
-
`),t=[];for(let n of e)n[0]===` `?t[t.length-1]+=`
|
|
28
|
-
`+n.slice(1):t.push(n);let n={};for(let e of t){let t=e.slice(0,e.indexOf(` `)),r=e.slice(e.indexOf(` `)+1);Array.isArray(n[t])?n[t].push(r):n[t]=r}return n.tagger&&=La(n.tagger),n.committer&&=La(n.committer),n}withoutSignature(){let e=Ia(this._tag);return e.indexOf(`
|
|
29
|
-
-----BEGIN PGP SIGNATURE-----`)===-1?e:e.slice(0,e.lastIndexOf(`
|
|
30
|
-
-----BEGIN PGP SIGNATURE-----`))}gpgsig(){if(this._tag.indexOf(`
|
|
31
|
-
-----BEGIN PGP SIGNATURE-----`)!==-1)return Ia(this._tag.slice(this._tag.indexOf(`-----BEGIN PGP SIGNATURE-----`),this._tag.indexOf(`-----END PGP SIGNATURE-----`)+27))}payload(){return this.withoutSignature()+`
|
|
32
|
-
`}toObject(){return Buffer.from(this._tag,`utf8`)}static async sign(t,n,r){let i=t.payload(),{signature:a}=await n({payload:i,secretKey:r});a=Ia(a);let o=i+a;return e.from(o)}};function Va(e){return e.trim().split(`
|
|
33
|
-
`).map(e=>` `+e).join(`
|
|
34
|
-
`)+`
|
|
35
|
-
`}function Ha(e){return e.split(`
|
|
36
|
-
`).map(e=>e.replace(/^ /,``)).join(`
|
|
37
|
-
`)}var Ua=class e{constructor(t){if(typeof t==`string`)this._commit=t;else if(Buffer.isBuffer(t))this._commit=t.toString(`utf8`);else if(typeof t==`object`)this._commit=e.render(t);else throw new K(`invalid type passed to GitCommit constructor`)}static fromPayloadSignature({payload:t,signature:n}){let r=e.justHeaders(t),i=e.justMessage(t),a=Ia(r+`
|
|
38
|
-
gpgsig`+Va(n)+`
|
|
39
|
-
`+i);return new e(a)}static from(t){return new e(t)}toObject(){return Buffer.from(this._commit,`utf8`)}headers(){return this.parseHeaders()}message(){return e.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(e){return Ia(e.slice(e.indexOf(`
|
|
40
|
-
|
|
41
|
-
`)+2))}static justHeaders(e){return e.slice(0,e.indexOf(`
|
|
42
|
-
|
|
43
|
-
`))}parseHeaders(){let t=e.justHeaders(this._commit).split(`
|
|
44
|
-
`),n=[];for(let e of t)e[0]===` `?n[n.length-1]+=`
|
|
45
|
-
`+e.slice(1):n.push(e);let r={parent:[]};for(let e of n){let t=e.slice(0,e.indexOf(` `)),n=e.slice(e.indexOf(` `)+1);Array.isArray(r[t])?r[t].push(n):r[t]=n}return r.author&&=La(r.author),r.committer&&=La(r.committer),r}static renderHeaders(e){let t=``;if(e.tree?t+=`tree ${e.tree}\n`:t+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
|
|
46
|
-
`,e.parent){if(e.parent.length===void 0)throw new K(`commit 'parent' property should be an array`);for(let n of e.parent)t+=`parent ${n}\n`}let n=e.author;t+=`author ${Ma(n)}\n`;let r=e.committer||e.author;return t+=`committer ${Ma(r)}\n`,e.gpgsig&&(t+=`gpgsig`+Va(e.gpgsig)),t}static render(t){return e.renderHeaders(t)+`
|
|
47
|
-
`+Ia(t.message)}render(){return this._commit}withoutSignature(){let e=Ia(this._commit);if(e.indexOf(`
|
|
48
|
-
gpgsig`)===-1)return e;let t=e.slice(0,e.indexOf(`
|
|
49
|
-
gpgsig`)),n=e.slice(e.indexOf(`-----END PGP SIGNATURE-----
|
|
50
|
-
`)+28);return Ia(t+`
|
|
51
|
-
`+n)}isolateSignature(){return Ha(this._commit.slice(this._commit.indexOf(`-----BEGIN PGP SIGNATURE-----`),this._commit.indexOf(`-----END PGP SIGNATURE-----`)+27))}static async sign(t,n,r){let i=t.withoutSignature(),a=e.justMessage(t._commit),{signature:o}=await n({payload:i,secretKey:r});o=Ia(o);let s=e.justHeaders(t._commit)+`
|
|
52
|
-
gpgsig`+Va(o)+`
|
|
53
|
-
`+a;return e.from(s)}};async function Wa({fs:e,cache:t,gitdir:n,oid:r}){if(r===`4b825dc642cb6eb9a060e54bf8d69288fbee4904`)return{tree:ki.from([]),oid:r};let{type:i,object:a}=await na({fs:e,cache:t,gitdir:n,oid:r});if(i===`tag`)return r=Ba.from(a).parse().object,Wa({fs:e,cache:t,gitdir:n,oid:r});if(i===`commit`)return r=Ua.from(a).parse().tree,Wa({fs:e,cache:t,gitdir:n,oid:r});if(i!==`tree`)throw new Ur(r,i,`tree`);return{tree:ki.from(a),oid:r}}var Ga=class{constructor({fs:e,gitdir:t,ref:n,cache:r}){this.fs=e,this.cache=r,this.gitdir=t,this.mapPromise=(async()=>{let r=new Map,i;try{i=await J.resolve({fs:e,gitdir:t,ref:n})}catch(r){if(r instanceof Hr&&await J.isUnbornBranch({fs:e,gitdir:t,ref:n}))i=`4b825dc642cb6eb9a060e54bf8d69288fbee4904`;else throw r}let a=await Wa({fs:e,cache:this.cache,gitdir:t,oid:i});return a.type=`tree`,a.mode=`40000`,r.set(`.`,a),r})();let i=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return i.type(this)}async mode(){return i.mode(this)}async stat(){return i.stat(this)}async content(){return i.content(this)}async oid(){return i.oid(this)}}}async readdir(e){let t=e._fullpath,{fs:n,cache:r,gitdir:i}=this,a=await this.mapPromise,o=a.get(t);if(!o)throw Error(`No obj for ${t}`);let s=o.oid;if(!s)throw Error(`No oid for obj ${JSON.stringify(o)}`);if(o.type!==`tree`)return null;let{type:c,object:l}=await na({fs:n,cache:r,gitdir:i,oid:s});if(c!==o.type)throw new Ur(s,c,o.type);let u=ki.from(l);for(let e of u)a.set(q(t,e.path),e);return u.entries().map(e=>q(t,e.path))}async type(e){if(e._type===!1){let{type:t}=(await this.mapPromise).get(e._fullpath);e._type=t}return e._type}async mode(e){if(e._mode===!1){let{mode:t}=(await this.mapPromise).get(e._fullpath);e._mode=pr(parseInt(t,8))}return e._mode}async stat(e){}async content(e){if(e._content===!1){let t=await this.mapPromise,{fs:n,cache:r,gitdir:i}=this,a=t.get(e._fullpath).oid,{type:o,object:s}=await na({fs:n,cache:r,gitdir:i,oid:a});e._content=o===`blob`?new Uint8Array(s):void 0}return e._content}async oid(e){return e._oid===!1&&(e._oid=(await this.mapPromise).get(e._fullpath).oid),e._oid}};function Ka({ref:e=`HEAD`}={}){let t=Object.create(null);return Object.defineProperty(t,Br,{value:function({fs:t,gitdir:n,cache:r}){return new Ga({fs:t,gitdir:n,ref:e,cache:r})}}),Object.freeze(t),t}var qa=class{constructor({fs:e,dir:t,gitdir:n,cache:r,refresh:i=!0}){this.fs=e,this.cache=r,this.dir=t,this.gitdir=n,this.refresh=i,this.refreshQueue=[],this.flushed=!1,this.config=null;let a=this;this.ConstructEntry=class{constructor(e){this._fullpath=e,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return a.type(this)}async mode(){return a.mode(this)}async stat(){return a.stat(this)}async content(){return a.content(this)}async oid(){return a.oid(this)}}}async readdir(e){if(await e.type()!==`tree`)return null;let t=e._fullpath,{fs:n,dir:r}=this,i=await n.readdir(q(r,t));return i===null?null:i.map(e=>q(t,e))}async type(e){return e._type===!1&&await e.stat(),e._type}async mode(e){return e._mode===!1&&await e.stat(),e._mode}async stat(e){if(e._stat===!1){let{fs:t,dir:n}=this,r=await t.lstat(`${n}/${e._fullpath}`);if(!r)throw Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let i=r.isDirectory()?`tree`:`blob`;i===`blob`&&!r.isFile()&&!r.isSymbolicLink()&&(i=`special`),e._type=i,r=gr(r),e._mode=r.mode,r.size===-1&&e._actualSize&&(r.size=e._actualSize),e._stat=r}return e._stat}async content(e){if(e._content===!1){let{fs:t,dir:n,gitdir:r}=this;if(await e.type()===`tree`)e._content=void 0;else{let i;if(await e.mode()>>12==10)i=await t.readlink(`${n}/${e._fullpath}`);else{let a=await(await this._getGitConfig(t,r)).get(`core.autocrlf`);i=await t.read(`${n}/${e._fullpath}`,{autocrlf:a})}e._actualSize=i.length,e._stat&&e._stat.size===-1&&(e._stat.size=e._actualSize),e._content=new Uint8Array(i)}}return e._content}async oid(e){if(e._oid===!1){let t=this,{fs:n,gitdir:r,cache:i}=this,a;await Pr.acquire({fs:n,gitdir:r,cache:i},async function(i){let o=i.entriesMap.get(e._fullpath),s=await e.stat(),c=await(await t._getGitConfig(n,r)).get(`core.filemode`),l=typeof process<`u`?process.platform!==`win32`:!0;if(!o||Er(s,o,c,l)){let n=await e.content();n===void 0?a=void 0:(a=await yr(Ai.wrap({type:`blob`,object:n})),t.refresh&&o&&a===o.oid&&(!c||s.mode===o.mode)&&Er(s,o,c,l)&&(t.flushed?i.insert({filepath:e._fullpath,stats:s,oid:a}):t.refreshQueue.push({filepath:e._fullpath,stage:o,stats:s,oid:a})))}else a=o.oid}),e._oid=a}return e._oid}async flush(){let{fs:e,gitdir:t,cache:n,refreshQueue:r}=this;this.refreshQueue=[],this.flushed=!0,r.length!==0&&await Pr.acquire({fs:e,gitdir:t,cache:n},async e=>{for(let{filepath:t,stage:n,stats:i,oid:a}of r)e.entriesMap.get(t)===n&&e.insert({filepath:t,stats:i,oid:a})})}async _getGitConfig(e,t){return this.config||=await yi.get({fs:e,gitdir:t}),this.config}};function Ja({refresh:e=!0}={}){let t=Object.create(null);return Object.defineProperty(t,Br,{value:function({fs:t,dir:n,gitdir:r,cache:i}){return new qa({fs:t,dir:n,gitdir:r,cache:i,refresh:e})}}),Object.freeze(t),t}function Ya(e,t){let n=t-e;return Array.from({length:n},(t,n)=>e+n)}var Xa=Array.prototype.flat===void 0?e=>e.reduce((e,t)=>e.concat(t),[]):e=>e.flat(),Za=class{constructor(){this.value=null}consider(e){e!=null&&(this.value===null||e<this.value)&&(this.value=e)}reset(){this.value=null}};function*Qa(e){let t=new Za,n,r=[],i=e.length;for(let n=0;n<i;n++)r[n]=e[n].next().value,r[n]!==void 0&&t.consider(r[n]);if(t.value!==null)for(;;){let a=[];n=t.value,t.reset();for(let o=0;o<i;o++)r[o]!==void 0&&r[o]===n?(a[o]=r[o],r[o]=e[o].next().value):a[o]=null,r[o]!==void 0&&t.consider(r[o]);if(yield a,t.value===null)return}}async function $a({fs:e,cache:t,dir:n,gitdir:r,trees:i,map:a=async(e,t)=>t,reduce:o=async(e,t)=>{let n=Xa(t);return e!==void 0&&n.unshift(e),n},iterate:s=(e,t)=>Promise.all([...t].map(e))}){let c=i.map(i=>i[Br]({fs:e,dir:n,gitdir:r,cache:t})),l=Array(c.length).fill(`.`),u=Ya(0,c.length),d=async e=>(u.forEach(t=>{let n=e[t];e[t]=n&&new c[t].ConstructEntry(n)}),{entries:e,children:Qa((await Promise.all(u.map(t=>{let n=e[t];return n?c[t].readdir(n):[]}))).map(e=>(e===null?[]:e)[Symbol.iterator]()))}),f=async e=>{let{entries:t,children:n}=await d(e),r=t.find(e=>e&&e._fullpath)._fullpath,i=await a(r,t);if(i!==null){let e=await s(f,n);return e=e.filter(e=>e!==void 0),o(i,e)}},p=await f(l);for(let e of c)e.flush&&await e.flush();return p}async function eo(e,t,n=10){try{await e(t)}catch(r){if(r===null||r.code===`EEXIST`)return;if(r.code!==`ENOENT`)throw r;let i=Ir(t);if(i===`.`||i===`/`||i===t)throw r;await eo(e,i,n);for(let r=0;;r++)try{await e(t);return}catch(e){if(e===null||e.code===`EEXIST`)return;if(e.code===`ENOENT`&&r<n){await new Promise(e=>setTimeout(e,0));continue}throw e}}}async function to(e,t){let n=await e.readdir(t);n==null?await e.rm(t):n.length?await Promise.all(n.map(n=>{let r=q(t,n);return e.lstat(r).then(t=>{if(t)return t.isDirectory()?to(e,r):e.rm(r)})})).then(()=>e.rmdir(t)):await e.rmdir(t)}function no(e){return ro(e)&&io(e.then)&&io(e.catch)}function ro(e){return e&&typeof e==`object`}function io(e){return typeof e==`function`}function ao(e){let t=e.code;return typeof t==`string`?t===`ENOENT`||t===`ENOTDIR`||t.includes(`ENS`):!1}function oo(e){return no((e=>{try{return e.readFile().catch(e=>e)}catch(e){return e}})(e))}var so=[`readFile`,`writeFile`,`mkdir`,`rmdir`,`unlink`,`stat`,`lstat`,`readdir`,`readlink`,`symlink`];function co(e,t){if(oo(t))for(let n of so)e[`_${n}`]=t[n].bind(t);else for(let n of so)e[`_${n}`]=(0,nr.default)(t[n].bind(t));oo(t)?(t.cp&&(e._cp=t.cp.bind(t)),e._rm=t.rm?t.rm.bind(t):t.rmdir.length>1?t.rmdir.bind(t):to.bind(null,e)):(t.cp&&(e._cp=(0,nr.default)(t.cp.bind(t))),e._rm=t.rm?(0,nr.default)(t.rm.bind(t)):t.rmdir.length>2?(0,nr.default)(t.rmdir.bind(t)):to.bind(null,e))}var Y=class{constructor(e){if(e._original_unwrapped_fs!==void 0)return e;let t=Object.getOwnPropertyDescriptor(e,`promises`);t&&t.enumerable?co(this,e.promises):co(this,e),this._original_unwrapped_fs=e}async exists(e,t={}){try{return await this._stat(e),!0}catch(e){if(ao(e))return!1;throw console.log(`Unhandled error in "FileSystem.exists()" function`,e),e}}async read(e,t={}){let n;try{n=await this._readFile(e,t)}catch(e){if(ao(e)||e.code===`EISDIR`)return null;throw e}if(n==null)return null;if(t.autocrlf===`true`)try{n=new TextDecoder(`utf8`,{fatal:!0}).decode(n),n=n.replace(/\r\n/g,`
|
|
54
|
-
`),n=new TextEncoder().encode(n)}catch{}return typeof n!=`string`&&(n=Buffer.from(n)),n}async write(e,t,n={}){try{await this._writeFile(e,t,n)}catch{await this.mkdir(Ir(e)),await this._writeFile(e,t,n)}}async mkdir(e){await eo(this._mkdir,e)}async rm(e){try{await this._unlink(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async rmdir(e,t){try{t&&t.recursive?await this._rm(e,t):await this._rmdir(e)}catch(e){if(e.code!==`ENOENT`)throw e}}async readdir(e){let t;try{t=await this._readdir(e)}catch(e){if(e.code===`ENOTDIR`)return null;if(ao(e))return[];throw e}return t.sort(dr),t}async readdirDeep(e){let t=await this._readdir(e);return(await Promise.all(t.map(async t=>{let n=e+`/`+t;return(await this._stat(n)).isDirectory()?this.readdirDeep(n):n}))).reduce((e,t)=>e.concat(t),[])}async lstat(e){try{return await this._lstat(e)}catch(e){if(ao(e))return null;throw e}}async readlink(e,t={encoding:`buffer`}){try{let n=await this._readlink(e,t);return Buffer.isBuffer(n)?n:Buffer.from(n)}catch(e){if(ao(e))return null;throw e}}async writelink(e,t){return this._symlink(t.toString(`utf8`),e)}};function X(e,t){if(t===void 0)throw new ba(e)}function lo(e){return e.startsWith(`/`)||/^[a-zA-Z]:[\\/]/.test(e)}async function Z({fsp:e,dotgit:t}){X(`fsp`,e),X(`dotgit`,t);let n=await e._stat(t).catch(()=>({isFile:()=>!1,isDirectory:()=>!1}));return n.isDirectory()?t:n.isFile()?e._readFile(t,`utf8`).then(e=>e.trimRight().substr(8)).then(e=>lo(e)?e:q(Ir(t),e)):t}async function uo(e,t){return!e&&!t?!1:e&&!t||!e&&t?!0:!(await e.type()===`tree`&&await t.type()===`tree`||await e.type()===await t.type()&&await e.mode()===await t.mode()&&await e.oid()===await t.oid())}async function fo({fs:e,dir:t,gitdir:n=q(t,`.git`),commit:r=`HEAD`,cache:i={}}){try{X(`fs`,e),X(`dir`,t),X(`gitdir`,n);let a=new Y(e),o=[Ka({ref:r}),Ja(),Vr()],s=[],c=await Z({fsp:a,dotgit:n});await Pr.acquire({fs:a,gitdir:c,cache:i},async function(e){s=e.unmergedPaths});let l=await $a({fs:a,cache:i,dir:t,gitdir:c,trees:o,map:async function(e,[t,n,r]){let i=!await uo(n,r),a=s.includes(e),o=!await uo(r,t);if(i||a)return t?{path:e,mode:await t.mode(),oid:await t.oid(),type:await t.type(),content:await t.content()}:void 0;if(o)return!1;throw new ka(e)}});await Pr.acquire({fs:a,gitdir:c,cache:i},async function(e){for(let n of l)if(n!==!1){if(!n)await a.rmdir(`${t}/${n.path}`,{recursive:!0}),e.delete({filepath:n.path});else if(n.type===`blob`){let r=new TextDecoder().decode(n.content);await a.write(`${t}/${n.path}`,r,{mode:n.mode}),e.insert({filepath:n.path,oid:n.oid,stage:0})}}})}catch(e){throw e.caller=`git.abortMerge`,e}}var po=class{static async isIgnored({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r}){if(Fr(r)===`.git`)return!0;if(r===`.`)return!1;let i=``,a=q(n,`info`,`exclude`);await e.exists(a)&&(i=await e.read(a,`utf8`));let o=[{gitignore:q(t,`.gitignore`),filepath:r}],s=r.split(`/`).filter(Boolean);for(let e=1;e<s.length;e++){let n=s.slice(0,e).join(`/`),r=s.slice(e).join(`/`);o.push({gitignore:q(t,n,`.gitignore`),filepath:r})}let c=!1;for(let[t,n]of o.entries()){let r=await e.read(n.gitignore,`utf8`),a=(0,rr.default)();t===0&&a.add(i),a.add(r);let o=Ir(n.filepath);if(o!==`.`&&a.ignores(o))return!0;c=c?!a.test(n.filepath).unignored:a.test(n.filepath).ignored}return c}};async function mo({fs:e,gitdir:t,object:n,format:r,oid:i}){if(r!==`deflated`)throw new K(`GitObjectStoreLoose expects objects to write to be in deflated format`);let a=`${t}/${`objects/${i.slice(0,2)}/${i.slice(2)}`}`;await e.exists(a)||await e.write(a,n)}var ho=null;async function go(e){return ho===null&&(ho=vo()),ho?_o(e):tr.default.deflate(e)}async function _o(e){let t=new CompressionStream(`deflate`),n=new Blob([e]).stream().pipeThrough(t);return new Uint8Array(await new Response(n).arrayBuffer())}function vo(){try{return new CompressionStream(`deflate`).writable.close(),new Blob([]).stream().cancel(),!0}catch{return!1}}async function yo({fs:e,gitdir:t,type:n,object:r,format:i=`content`,oid:a=void 0,dryRun:o=!1}){return i!==`deflated`&&(i!==`wrapped`&&(r=Ai.wrap({type:n,object:r})),a=await yr(r),r=Buffer.from(await go(r))),o||await mo({fs:e,gitdir:t,object:r,format:`deflated`,oid:a}),a}function bo(e){let t;for(;~(t=e.indexOf(92));)e[t]=47;return e}async function xo({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r,cache:i={},force:a=!1,parallel:o=!0}){try{X(`fs`,e),X(`dir`,t),X(`gitdir`,n),X(`filepath`,r);let s=new Y(e),c=await Z({fsp:s,dotgit:n});await Pr.acquire({fs:s,gitdir:c,cache:i},async e=>{let n=await(await yi.get({fs:s,gitdir:c})).get(`core.autocrlf`);return Co({dir:t,gitdir:c,fs:s,filepath:r,index:e,force:a,parallel:o,autocrlf:n})})}catch(e){throw e.caller=`git.add`,e}}function So(e,t){if(e.has({filepath:t}))return!0;let n=`${t}/`;for(let t of e.entriesMap.keys())if(t.startsWith(n))return!0;return!1}async function Co({dir:e,gitdir:t,fs:n,filepath:r,index:i,force:a,parallel:o,autocrlf:s}){r=Array.isArray(r)?r:[r];let c=r.map(async r=>{if(!a&&!So(i,r)&&await po.isIgnored({fs:n,dir:e,gitdir:t,filepath:r}))return;let c=await n.lstat(q(e,r));if(!c)throw new Hr(r);if(c.isDirectory()){let c=await n.readdir(q(e,r));if(o){let l=c.map(c=>Co({dir:e,gitdir:t,fs:n,filepath:[q(r,c)],index:i,force:a,parallel:o,autocrlf:s}));await Promise.all(l)}else for(let l of c)await Co({dir:e,gitdir:t,fs:n,filepath:[q(r,l)],index:i,force:a,parallel:o,autocrlf:s})}else{let a=c.isSymbolicLink()?await n.readlink(q(e,r)).then(bo):await n.read(q(e,r),{autocrlf:s});if(a===null)throw new Hr(r);let o=await yo({fs:n,gitdir:t,type:`blob`,object:a});i.insert({filepath:r,stats:c,oid:o})}}),l=await Promise.allSettled(c),u=l.filter(e=>e.status===`rejected`).map(e=>e.reason);if(u.length>1)throw new xa(u);if(u.length===1)throw u[0];return l.filter(e=>e.status===`fulfilled`&&e.value).map(e=>e.value)}async function wo({fs:e,gitdir:t,oid:n}){let r=`objects/${n.slice(0,2)}/${n.slice(2)}`;return e.exists(`${t}/${r}`)}async function To({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i}){let a=await e.readdir(q(n,`objects/pack`));a=a.filter(e=>e.endsWith(`.idx`));for(let o of a){let a=await Qi({fs:e,cache:t,filename:`${n}/objects/pack/${o}`,getExternalRefDelta:i});if(a.error)throw new K(a.error);if(a.offsets.has(r))return!0}return!1}async function Eo({fs:e,cache:t,gitdir:n,oid:r,format:i=`content`}){let a=r=>na({fs:e,cache:t,gitdir:n,oid:r}),o=await wo({fs:e,gitdir:n,oid:r});return o||=await To({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:a}),o}async function Do({fs:e,gitdir:t,path:n}){return(await yi.get({fs:e,gitdir:t})).get(n)}function Oo(e,...t){for(let n of t)if(n)for(let t of Object.keys(n)){let r=n[t];r!==void 0&&(e[t]=r)}return e}async function ko({fs:e,gitdir:t,author:n,commit:r}){let i=Math.floor(Date.now()/1e3),a=Oo({},{name:await Do({fs:e,gitdir:t,path:`user.name`}),email:await Do({fs:e,gitdir:t,path:`user.email`})||``,timestamp:i,timezoneOffset:new Date(i*1e3).getTimezoneOffset()},r?r.author:void 0,n);if(a.name!==void 0)return a}async function Ao({fs:e,gitdir:t,author:n,committer:r,commit:i}){let a=Math.floor(Date.now()/1e3),o=Oo({},{name:await Do({fs:e,gitdir:t,path:`user.name`}),email:await Do({fs:e,gitdir:t,path:`user.email`})||``,timestamp:a,timezoneOffset:new Date(a*1e3).getTimezoneOffset()},i?i.committer:void 0,n,r);if(o.name!==void 0)return o}async function jo({fs:e,cache:t,gitdir:n,oid:r}){let{type:i,object:a}=await na({fs:e,cache:t,gitdir:n,oid:r});if(i===`tag`)return r=Ba.from(a).parse().object,jo({fs:e,cache:t,gitdir:n,oid:r});if(i!==`commit`)throw new Ur(r,i,`commit`);return{commit:Ua.from(a),oid:r}}async function Mo({fs:e,cache:t,gitdir:n,oid:r}){let{commit:i,oid:a}=await jo({fs:e,cache:t,gitdir:n,oid:r});return{oid:a,commit:i.parse(),payload:i.withoutSignature()}}var No=`4b825dc642cb6eb9a060e54bf8d69288fbee4904`;async function Po({fs:e,cache:t,onSign:n,gitdir:r,message:i,author:a,committer:o,signingKey:s,amend:c=!1,dryRun:l=!1,noUpdateBranch:u=!1,disallowEmpty:d=!1,ref:f,parent:p,tree:m}){let h=!1,g=!1;f||=(g=!(await e.read(`${r}/HEAD`,{encoding:`utf8`})).startsWith(`ref:`),await J.resolve({fs:e,gitdir:r,ref:`HEAD`,depth:2}));let _,v;try{_=await J.resolve({fs:e,gitdir:r,ref:f})}catch(e){if(!(e instanceof Hr))throw e;h=!0}if(!h&&(c||d)&&(v=await Mo({fs:e,gitdir:r,oid:_,cache:t})),c&&h)throw new Aa(f);let y=c?await ko({fs:e,gitdir:r,author:a,commit:v.commit}):await ko({fs:e,gitdir:r,author:a});if(!y)throw new ya(`author`);let b=c?await Ao({fs:e,gitdir:r,author:y,committer:o,commit:v.commit}):await Ao({fs:e,gitdir:r,author:y,committer:o});if(!b)throw new ya(`committer`);return Pr.acquire({fs:e,gitdir:r,cache:t,allowUnmerged:!1},async function(a){let o=Lr(a.entries).get(`.`);if(m||=await Fo({fs:e,gitdir:r,inode:o,dryRun:l}),p=p?await Promise.all(p.map(async n=>{let i=await J.resolve({fs:e,gitdir:r,ref:n});for(;await Eo({fs:e,cache:t,gitdir:r,oid:i});){let{type:n,object:a}=await na({fs:e,cache:t,gitdir:r,oid:i});if(n===`commit`)break;if(n!==`tag`)throw new Ur(i,n,`commit`);i=Ba.from(a).parse().object}return i})):c?v.commit.parent:_?[_]:[],d&&!c&&(h&&m===No||!h&&m===v.commit.tree))throw new ua;if(!i){if(c)i=v.commit.message;else throw new ba(`message`)}let x=Ua.from({tree:m,parent:p,author:y,committer:b,message:i});s&&(x=await Ua.sign(x,n,s));let S=await yo({fs:e,gitdir:r,type:`commit`,object:x.toObject(),dryRun:l});return!u&&!l&&await J.writeRef({fs:e,gitdir:r,ref:g?`HEAD`:f,value:S}),S})}async function Fo({fs:e,gitdir:t,inode:n,dryRun:r}){let i=n.children;for(let n of i)n.type===`tree`&&(n.metadata.mode=`040000`,n.metadata.oid=await Fo({fs:e,gitdir:t,inode:n,dryRun:r}));let a=i.map(e=>({mode:e.metadata.mode,path:e.basename,oid:e.metadata.oid,type:e.type}));return await yo({fs:e,gitdir:t,type:`tree`,object:ki.from(a).toObject(),dryRun:r})}async function Io({fs:e,cache:t,gitdir:n,oid:r,filepath:i}){return(await Lo({fs:e,cache:t,gitdir:n,oid:r,filepath:i})).oid}async function Lo({fs:e,cache:t,gitdir:n,oid:r,filepath:i}){if(i.startsWith(`/`))throw new ha(`leading-slash`);if(i.endsWith(`/`))throw new ha(`trailing-slash`);let a=r,o=await Wa({fs:e,cache:t,gitdir:n,oid:r}),s=o.tree;return i===``?{mode:`040000`,oid:o.oid,path:``,type:`tree`}:Ro({fs:e,cache:t,gitdir:n,tree:s,pathArray:i.split(`/`),oid:a,filepath:i})}async function Ro({fs:e,cache:t,gitdir:n,tree:r,pathArray:i,oid:a,filepath:o}){let s=i.shift();for(let c of r)if(c.path===s){if(i.length===0)return c;{let{type:s,object:l}=await na({fs:e,cache:t,gitdir:n,oid:c.oid});if(s!==`tree`)throw new Ur(a,s,`tree`,o);return r=ki.from(l),Ro({fs:e,cache:t,gitdir:n,tree:r,pathArray:i,oid:a,filepath:o})}}throw new Hr(`file or directory found at "${a}:${o}"`)}async function zo({fs:e,cache:t,gitdir:n,oid:r,filepath:i=void 0}){i!==void 0&&(r=await Io({fs:e,cache:t,gitdir:n,oid:r,filepath:i}));let{tree:a,oid:o}=await Wa({fs:e,cache:t,gitdir:n,oid:r});return{oid:o,tree:a.entries()}}async function Bo({fs:e,gitdir:t,tree:n}){return await yo({fs:e,gitdir:t,type:`tree`,object:ki.from(n).toObject(),format:`content`})}async function Vo({fs:e,cache:t,onSign:n,gitdir:r,ref:i,oid:a,note:o,force:s,author:c,committer:l,signingKey:u}){let d;try{d=await J.resolve({gitdir:r,fs:e,ref:i})}catch(e){if(!(e instanceof Hr))throw e}let f=(await zo({fs:e,cache:t,gitdir:r,oid:d||`4b825dc642cb6eb9a060e54bf8d69288fbee4904`})).tree;if(s)f=f.filter(e=>e.path!==a);else for(let e of f)if(e.path===a)throw new ra(`note`,a);typeof o==`string`&&(o=Buffer.from(o,`utf8`));let p=await yo({fs:e,gitdir:r,type:`blob`,object:o,format:`content`});return f.push({mode:`100644`,path:a,oid:p,type:`blob`}),await Po({fs:e,cache:t,onSign:n,gitdir:r,ref:i,tree:await Bo({fs:e,gitdir:r,tree:f}),parent:d&&[d],message:`Note added by 'isomorphic-git addNote'
|
|
55
|
-
`,author:c,committer:l,signingKey:u})}async function Ho({fs:e,onSign:t,dir:n,gitdir:r=q(n,`.git`),ref:i=`refs/notes/commits`,oid:a,note:o,force:s,author:c,committer:l,signingKey:u,cache:d={}}){try{X(`fs`,e),X(`gitdir`,r),X(`oid`,a),X(`note`,o),u&&X(`onSign`,t);let n=new Y(e),f=await ko({fs:n,gitdir:r,author:c});if(!f)throw new ya(`author`);let p=await Ao({fs:n,gitdir:r,author:f,committer:l});if(!p)throw new ya(`committer`);return await Vo({fs:n,cache:d,onSign:t,gitdir:await Z({fsp:n,dotgit:r}),ref:i,oid:a,note:o,force:s,author:f,committer:p,signingKey:u})}catch(e){throw e.caller=`git.addNote`,e}}async function Uo({fs:e,gitdir:t,remote:n,url:r,force:i}){if(!Qr(n,!0))throw new Gr(n,$n.default.clean(n));let a=await yi.get({fs:e,gitdir:t});if(!i&&(await a.getSubsections(`remote`)).includes(n)&&r!==await a.get(`remote.${n}.url`))throw new ra(`remote`,n);await a.set(`remote.${n}.url`,r),await a.set(`remote.${n}.fetch`,`+refs/heads/*:refs/remotes/${n}/*`),await yi.save({fs:e,gitdir:t,config:a})}async function Wo({fs:e,dir:t,gitdir:n=q(t,`.git`),remote:r,url:i,force:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`remote`,r),X(`url`,i);let t=new Y(e);return await Uo({fs:t,gitdir:await Z({fsp:t,dotgit:n}),remote:r,url:i,force:a})}catch(e){throw e.caller=`git.addRemote`,e}}async function Go({fs:e,cache:t,onSign:n,gitdir:r,ref:i,tagger:a,message:o=i,gpgsig:s,object:c,signingKey:l,force:u=!1}){if(i=i.startsWith(`refs/tags/`)?i:`refs/tags/${i}`,!u&&await J.exists({fs:e,gitdir:r,ref:i}))throw new ra(`tag`,i);let d=await J.resolve({fs:e,gitdir:r,ref:c||`HEAD`}),{type:f}=await na({fs:e,cache:t,gitdir:r,oid:d}),p=Ba.from({object:d,type:f,tag:i.replace(`refs/tags/`,``),tagger:a,message:o,gpgsig:s});l&&(p=await Ba.sign(p,n,l));let m=await yo({fs:e,gitdir:r,type:`tag`,object:p.toObject()});await J.writeRef({fs:e,gitdir:r,ref:i,value:m})}async function Ko({fs:e,onSign:t,dir:n,gitdir:r=q(n,`.git`),ref:i,tagger:a,message:o=i,gpgsig:s,object:c,signingKey:l,force:u=!1,cache:d={}}){try{X(`fs`,e),X(`gitdir`,r),X(`ref`,i),l&&X(`onSign`,t);let n=new Y(e),f=await Z({fsp:n,dotgit:r}),p=await ko({fs:n,gitdir:f,author:a});if(!p)throw new ya(`tagger`);return await Go({fs:n,cache:d,onSign:t,gitdir:f,ref:i,tagger:p,message:o,gpgsig:s,object:c,signingKey:l,force:u})}catch(e){throw e.caller=`git.annotatedTag`,e}}async function qo({fs:e,gitdir:t,ref:n,object:r,checkout:i=!1,force:a=!1}){if(!Qr(n,!0))throw new Gr(n,$n.default.clean(n));let o=`refs/heads/${n}`;if(!a&&await J.exists({fs:e,gitdir:t,ref:o}))throw new ra(`branch`,n,!1);let s;try{s=await J.resolve({fs:e,gitdir:t,ref:r||`HEAD`})}catch(e){if(!(e instanceof Hr))throw e}s&&(s=(await jo({fs:e,cache:{},gitdir:t,oid:s})).oid,await J.writeRef({fs:e,gitdir:t,ref:o,value:s})),i&&await J.writeSymbolicRef({fs:e,gitdir:t,ref:`HEAD`,value:o})}async function Jo({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r,object:i,checkout:a=!1,force:o=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e);return await qo({fs:t,gitdir:await Z({fsp:t,dotgit:n}),ref:r,object:i,checkout:a,force:o})}catch(e){throw e.caller=`git.branch`,e}}async function Yo(e,t,n){let r=n.split(`/`);r.pop();let i=t;for(let t of r){if(t===``||t===`.`)continue;i=`${i}/${t}`;let r=await e.lstat(i);if(r&&r.isSymbolicLink())throw new sr(n)}}var Xo=(e,t)=>{if(e===`.`||t==null||t.length===0||t===`.`)return!0;let n=t.endsWith(`/`)?t.slice(0,-1):t;return n===`.`?!0:n.length>=e.length?n===e||n.startsWith(`${e}/`):e.startsWith(`${n}/`)};async function Zo({fs:e,cache:t,onProgress:n,onPostCheckout:r,dir:i,gitdir:a,remote:o,ref:s,filepaths:c,noCheckout:l,noUpdateHead:u,dryRun:d,force:f,track:p=!0,restoreFromIndex:m=!1,nonBlocking:h=!1,batchSize:g=100}){let _;if(r)try{_=await J.resolve({fs:e,gitdir:a,ref:`HEAD`})}catch{_=`0000000000000000000000000000000000000000`}let v;try{v=await J.resolve({fs:e,gitdir:a,ref:s})}catch(t){if(s===`HEAD`||!(t instanceof Hr))throw t;let n=`${o}/${s}`;if(v=await J.resolve({fs:e,gitdir:a,ref:n}),p){let t=await yi.get({fs:e,gitdir:a});await t.set(`branch.${s}.remote`,o),await t.set(`branch.${s}.merge`,`refs/heads/${s}`),await yi.save({fs:e,gitdir:a,config:t})}await J.writeRef({fs:e,gitdir:a,ref:`refs/heads/${s}`,value:v})}if(!u)try{v=(await jo({fs:e,cache:t,gitdir:a,oid:v})).oid}catch(e){throw e instanceof Hr?new la(s,e.data.what):e}if(!l){let o;try{o=await Qo({fs:e,cache:t,onProgress:n,dir:i,gitdir:a,ref:s,force:f,filepaths:c,restoreFromIndex:m})}catch(e){throw e instanceof Hr&&e.data.what===v?new la(s,v):e}let l=o.filter(([e])=>e===`conflict`).map(([e,t])=>t);if(l.length>0)throw new aa(l);let u=o.filter(([e])=>e===`error`).map(([e,t])=>t);if(u.length>0)throw new K(u.join(`, `));if(d){r&&await r({previousHead:_,newHead:v,type:c!=null&&c.length>0?`file`:`branch`});return}let p=0,y=o.length;if(await Pr.acquire({fs:e,gitdir:a,cache:t},async function(t){await Promise.all(o.filter(([e])=>e===`delete`||e===`delete-index`).map(async function([r,a]){let o=`${i}/${a}`;r===`delete`&&await e.rm(o),t.delete({filepath:a}),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})}))}),await Pr.acquire({fs:e,gitdir:a,cache:t},async function(t){for(let[r,a]of o)if(r===`rmdir`||r===`rmdir-index`){let o=`${i}/${a}`;try{r===`rmdir`&&await e.rmdir(o),t.delete({filepath:a}),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})}catch(e){if(e.code===`ENOTEMPTY`)console.log(`Did not delete ${a} because directory is not empty`);else throw e}}}),await Promise.all(o.filter(([e])=>e===`mkdir`||e===`mkdir-index`).map(async function([t,r]){let a=`${i}/${r}`;await Yo(e,i,r),await e.mkdir(a),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})})),h){let r=await ts(`Update Working Dir`,o.filter(([e])=>e===`create`||e===`create-index`||e===`update`||e===`mkdir-index`).map(([n,r,o,s,c])=>()=>es({fs:e,cache:t,gitdir:a,dir:i},[n,r,o,s,c])),n,g);await Pr.acquire({fs:e,gitdir:a,cache:t,allowUnmerged:!0},async function(e){await ts(`Update Index`,r.map(([t,n,r])=>()=>$o({index:e,fullpath:t,oid:n,stats:r})),n,g)})}else await Pr.acquire({fs:e,gitdir:a,cache:t,allowUnmerged:!0},async function(r){let s=await Promise.allSettled(o.filter(([e])=>e===`create`||e===`create-index`||e===`update`||e===`mkdir-index`).map(async function([o,s,c,l,u]){let d=`${i}/${s}`;if(o!==`create-index`&&o!==`mkdir-index`){await Yo(e,i,s);let{object:n}=await na({fs:e,cache:t,gitdir:a,oid:c});if(u&&await e.rm(d),l===33188)await e.write(d,n);else if(l===33261)await e.write(d,n,{mode:511});else if(l===40960)await e.writelink(d,n);else throw new K(`Invalid mode 0o${l.toString(8)} detected in blob ${c}`)}let f=await e.lstat(d);l===33261&&(f.mode=493),o===`mkdir-index`&&(f.mode=57344),r.insert({filepath:s,stats:f,oid:c}),n&&await n({phase:`Updating workdir`,loaded:++p,total:y})})),c=[];for(let e of s)e.status===`rejected`&&(c.push(e.reason),console.error(`[isomorphic-git checkout] task rejected:`,e.reason?.stack??e.reason));if(c.length>0)throw new xa(c)});r&&await r({previousHead:_,newHead:v,type:c!=null&&c.length>0?`file`:`branch`})}if(!u){let t=await J.expand({fs:e,gitdir:a,ref:s});t.startsWith(`refs/heads`)?await J.writeSymbolicRef({fs:e,gitdir:a,ref:`HEAD`,value:t}):await J.writeRef({fs:e,gitdir:a,ref:`HEAD`,value:v})}}async function Qo({fs:e,cache:t,onProgress:n,dir:r,gitdir:i,ref:a,force:o,filepaths:s,restoreFromIndex:c}){let l=0;return $a({fs:e,cache:t,dir:r,gitdir:i,trees:[c?Vr():Ka({ref:a}),Ja(),Vr()],map:async function(e,[t,r,i]){if(e!==`.`){if(s&&!s.some(t=>Xo(e,t)))return null;switch(n&&await n({phase:`Analyzing workdir`,loaded:++l}),[!!i,!!t,!!r].map(Number).join(``)){case`000`:return;case`001`:return!c&&o&&s&&s.includes(e)?[`delete`,e]:void 0;case`010`:switch(await t.type()){case`tree`:return[`mkdir`,e];case`blob`:return[`create`,e,await t.oid(),await t.mode()];case`commit`:return[`mkdir-index`,e,await t.oid(),await t.mode()];default:return[`error`,`new entry Unhandled type ${await t.type()}`]}case`011`:switch(`${await t.type()}-${await r.type()}`){case`tree-tree`:return;case`tree-blob`:case`blob-tree`:return[`conflict`,e];case`blob-blob`:return await t.oid()===await r.oid()?await t.mode()===await r.mode()?[`create-index`,e,await t.oid(),await t.mode()]:o?[`update`,e,await t.oid(),await t.mode(),!0]:[`conflict`,e]:o?[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await r.mode()]:[`conflict`,e];case`commit-tree`:return;case`commit-blob`:return[`conflict`,e];default:return[`error`,`new entry Unhandled type ${t.type}`]}case`100`:return[`delete-index`,e];case`101`:switch(await i.type()){case`tree`:return[`rmdir-index`,e];case`blob`:return await i.oid()===await r.oid()||o?[`delete`,e]:[`conflict`,e];case`commit`:return[`rmdir-index`,e];default:return[`error`,`delete entry Unhandled type ${await i.type()}`]}case`110`:case`111`:switch(`${await i.type()}-${await t.type()}`){case`tree-tree`:return;case`blob-blob`:if(await i.oid()===await t.oid()&&await i.mode()===await t.mode()&&!o)return;if(r){if(await r.oid()!==await i.oid()&&await r.oid()!==await t.oid())return o?[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await r.mode()]:[`conflict`,e]}else if(o)return[`update`,e,await t.oid(),await t.mode(),await t.mode()!==await i.mode()];return await t.mode()===await i.mode()?await t.oid()===await i.oid()?void 0:[`update`,e,await t.oid(),await t.mode(),!1]:[`update`,e,await t.oid(),await t.mode(),!0];case`tree-blob`:return[`update-dir-to-blob`,e,await t.oid()];case`blob-tree`:return[`update-blob-to-tree`,e];case`commit-commit`:return[`mkdir-index`,e,await t.oid(),await t.mode()];default:return[`error`,`update entry Unhandled type ${await i.type()}-${await t.type()}`]}}}},reduce:async function(e,t){return t=Xa(t),e?e&&e[0]===`rmdir`?(t.push(e),t):(t.unshift(e),t):t}})}async function $o({index:e,fullpath:t,stats:n,oid:r}){try{e.insert({filepath:t,stats:n,oid:r})}catch(e){console.warn(`Error inserting ${t} into index:`,e)}}async function es({fs:e,cache:t,gitdir:n,dir:r},[i,a,o,s,c]){let l=`${r}/${a}`;if(i!==`create-index`&&i!==`mkdir-index`){await Yo(e,r,a);let{object:i}=await na({fs:e,cache:t,gitdir:n,oid:o});if(c&&await e.rm(l),s===33188)await e.write(l,i);else if(s===33261)await e.write(l,i,{mode:511});else if(s===40960)await e.writelink(l,i);else throw new K(`Invalid mode 0o${s.toString(8)} detected in blob ${o}`)}let u=await e.lstat(l);return s===33261&&(u.mode=493),i===`mkdir-index`&&(u.mode=57344),[a,o,u]}async function ts(e,t,n,r){let i=[],a=[];for(let o=0;o<t.length;o+=r){let s=t.slice(o,o+r).map(e=>e());(await Promise.allSettled(s)).forEach(t=>{t.status===`fulfilled`?i.push(t.value):(a.push(t.reason),console.error(`[isomorphic-git ${e}] task rejected:`,t.reason?.stack??t.reason))}),n&&await n({phase:`Updating workdir`,loaded:o+s.length,total:t.length})}if(a.length>0)throw new xa(a);return i}async function ns({fs:e,onProgress:t,onPostCheckout:n,dir:r,gitdir:i=q(r,`.git`),remote:a=`origin`,ref:o,filepaths:s,noCheckout:c=!1,noUpdateHead:l=o===void 0,dryRun:u=!1,force:d=!1,track:f=!0,cache:p={},nonBlocking:m=!1,batchSize:h=100}){try{X(`fs`,e),X(`dir`,r),X(`gitdir`,i);let g=o||`HEAD`,_=o===void 0&&s!=null&&s.length>0,v=new Y(e);return await Zo({fs:v,cache:p,onProgress:t,onPostCheckout:n,dir:r,gitdir:await Z({fsp:v,dotgit:i}),remote:a,ref:g,filepaths:s,noCheckout:c,noUpdateHead:l,dryRun:u,force:d,track:f,restoreFromIndex:_,nonBlocking:m,batchSize:h})}catch(e){throw e.caller=`git.checkout`,e}}var rs=/^.*(\r?\n|$)/gm;function is({branches:e,contents:t}){let n=e[1],r=e[2],i=t[0],a=t[1],o=t[2],s=a.match(rs),c=i.match(rs),l=o.match(rs),u=(0,ir.default)(s,c,l),d=``,f=!0;for(let e of u)e.ok&&(d+=e.ok.join(``)),e.conflict&&(f=!1,d+=`${`<`.repeat(7)} ${n}\n`,d+=e.conflict.a.join(``),d+=`${`=`.repeat(7)}\n`,d+=e.conflict.b.join(``),d+=`${`>`.repeat(7)} ${r}\n`);return{cleanMerge:f,mergedText:d}}async function as({fs:e,cache:t,dir:n,gitdir:r=q(n,`.git`),index:i,ourOid:a,baseOid:o,theirOid:s,ourName:c=`ours`,baseName:l=`base`,theirName:u=`theirs`,dryRun:d=!1,abortOnConflict:f=!0,mergeDriver:p}){let m=Ka({ref:a}),h=Ka({ref:o}),g=Ka({ref:s}),_=[],v=[],y=[],b=[],x=await $a({fs:e,cache:t,dir:n,gitdir:r,trees:[m,h,g],map:async function(t,[n,a,o]){let s=Fr(t);switch(`${await uo(n,a)}-${await uo(o,a)}`){case`false-false`:return{mode:await a.mode(),path:s,oid:await a.oid(),type:await a.type()};case`false-true`:return!o&&await n.type()===`tree`?{mode:await n.mode(),path:s,oid:await n.oid(),type:await n.type()}:o?{mode:await o.mode(),path:s,oid:await o.oid(),type:await o.type()}:void 0;case`true-false`:return!n&&await o.type()===`tree`?{mode:await o.mode(),path:s,oid:await o.oid(),type:await o.type()}:n?{mode:await n.mode(),path:s,oid:await n.oid(),type:await n.type()}:void 0;case`true-true`:if(n&&o&&await n.type()===`tree`&&await o.type()===`tree`)return{mode:await n.mode(),path:s,oid:await n.oid(),type:`tree`};if(n&&o&&await n.type()===`blob`&&await o.type()===`blob`)return os({fs:e,gitdir:r,path:s,ours:n,base:a,theirs:o,ourName:c,baseName:l,theirName:u,mergeDriver:p}).then(async e=>{if(e.cleanMerge)f||i.insert({filepath:t,oid:e.mergeResult.oid,stage:0});else if(_.push(t),v.push(t),!f){let e=``;a&&await a.type()===`blob`&&(e=await a.oid());let r=await n.oid(),s=await o.oid();i.delete({filepath:t}),e&&i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:r,stage:2}),i.insert({filepath:t,oid:s,stage:3})}return e.mergeResult});if(a&&!n&&o&&await a.type()===`blob`&&await o.type()===`blob`){if(_.push(t),y.push(t),!f){let e=await a.oid(),n=await o.oid();i.delete({filepath:t}),i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:n,stage:3})}return{mode:await o.mode(),oid:await o.oid(),type:`blob`,path:s}}if(a&&n&&!o&&await a.type()===`blob`&&await n.type()===`blob`){if(_.push(t),b.push(t),!f){let e=await a.oid(),r=await n.oid();i.delete({filepath:t}),i.insert({filepath:t,oid:e,stage:1}),i.insert({filepath:t,oid:r,stage:2})}return{mode:await n.mode(),oid:await n.oid(),type:`blob`,path:s}}if(a&&!n&&!o&&(await a.type()===`blob`||await a.type()===`tree`))return;throw new _a}},reduce:_.length!==0&&(!n||f)?void 0:async(t,n)=>{let i=n.filter(Boolean);if(t&&!(t&&t.type===`tree`&&i.length===0&&t.path!==`.`))return(i.length>0||t.path===`.`&&i.length===0)&&(t.oid=await yo({fs:e,gitdir:r,type:`tree`,object:new ki(i).toObject(),dryRun:d})),t}});return _.length===0?x.oid:(n&&!f&&await $a({fs:e,cache:t,dir:n,gitdir:r,trees:[Ka({ref:x.oid})],map:async function(t,[r]){let i=`${n}/${t}`;if(await r.type()===`blob`){let t=await r.mode(),n=await r.content();await e.write(i,n,{mode:t})}return!0}}),new va(_,v,y,b))}async function os({fs:e,gitdir:t,path:n,ours:r,base:i,theirs:a,ourName:o,theirName:s,baseName:c,dryRun:l,mergeDriver:u=is}){let d=`blob`,f=`100755`,p=``,m=``;i&&await i.type()===`blob`&&(f=await i.mode(),p=await i.oid(),m=Buffer.from(await i.content()).toString(`utf8`));let h=f===await r.mode()?await a.mode():await r.mode();if(await r.oid()===await a.oid())return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await r.oid(),type:d}};if(await r.oid()===p)return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await a.oid(),type:d}};if(await a.oid()===p)return{cleanMerge:!0,mergeResult:{mode:h,path:n,oid:await r.oid(),type:d}};let g=Buffer.from(await r.content()).toString(`utf8`),_=Buffer.from(await a.content()).toString(`utf8`),{mergedText:v,cleanMerge:y}=await u({branches:[c,o,s],contents:[m,g,_],path:n});return{cleanMerge:y,mergeResult:{mode:h,path:n,oid:await yo({fs:e,gitdir:t,type:`blob`,object:Buffer.from(v,`utf8`),dryRun:l}),type:d}}}var ss={stage:Vr,workdir:Ja};async function cs(e,t,n,r,i=null){let a=q(n,r),o=await e.lstat(a);if(!o)throw new Hr(a);if(o.isDirectory())throw new K(`${a}: file expected, but found directory`);let s=i?await ji({fs:e,gitdir:t,oid:i}):void 0,c=s?i:void 0;return s||await kr(a,async()=>{let n=o.isSymbolicLink()?await e.readlink(a).then(bo):await e.read(a);if(n===null)throw new Hr(a);c=await yo({fs:e,gitdir:t,type:`blob`,object:n})}),c}async function ls({fs:e,dir:t,gitdir:n,entries:r}){async function i(r){return r.type===`tree`?r.oid||(r.oid=await Bo({fs:e,gitdir:n,tree:await Promise.all(r.children.map(i))}),r.mode=16384):r.type===`blob`&&(r.oid=await cs(e,n,t,r.path,r.oid),r.mode=33188),r.path=r.path.split(`/`).pop(),r}return Promise.all(r.map(i))}async function us({fs:e,dir:t,gitdir:n,treePair:r}){let i=r[1]===`stage`,a=r.map(e=>typeof e==`string`?ss[e]():e),o=[],s=await $a({fs:e,cache:{},dir:t,gitdir:n,trees:a,map:async(r,[i,a])=>{if(!(r===`.`||await po.isIgnored({fs:e,dir:t,gitdir:n,filepath:r}))&&a)return(!i||await i.oid()!==await a.oid()&&await a.oid()!==void 0)&&o.push([i,a]),{mode:await a.mode(),path:r,oid:await a.oid(),type:await a.type()}},reduce:async(e,t)=>(t=t.filter(Boolean),e?(e.children=t,e):t.length>0?t:void 0),iterate:async(n,r)=>{let a=[];for(let n of r){let[r,s]=n;i?s&&(await e.exists(`${t}/${s.toString()}`)?a.push(n):o.push([null,s])):r&&(s?a.push(n):o.push([r,null]))}return a.length?Promise.all(a.map(n)):[]}});return o.length===0||s.length===0?null:Bo({fs:e,gitdir:n,tree:(await ls({fs:e,dir:t,gitdir:n,entries:s})).filter(Boolean).map(e=>({mode:e.mode,path:e.path,oid:e.oid,type:e.type}))})}async function ds({fs:e,dir:t,gitdir:n,stashCommit:r,parentCommit:i,wasStaged:a}){let o=[],s=[],c=await $a({fs:e,cache:{},dir:t,gitdir:n,trees:[Ka({ref:i}),Ka({ref:r})],map:async(r,[i,c])=>{if(r===`.`||await po.isIgnored({fs:e,dir:t,gitdir:n,filepath:r}))return;let l=c?await c.type():await i.type();if(l!==`tree`&&l!==`blob`)return;if(!c&&i){let e=l===`tree`?`rmdir`:`rm`;return l===`tree`&&o.push(r),l===`blob`&&a&&s.push({filepath:r,oid:await i.oid()}),{method:e,filepath:r}}let u=await c.oid();if(!i||await i.oid()!==u)return l===`tree`?{method:`mkdir`,filepath:r}:(a&&s.push({filepath:r,oid:u,stats:await e.lstat(q(t,r))}),{method:`write`,filepath:r,oid:u})}});await kr(n,async()=>{for(let r of c){let i=q(t,r.filepath);switch(r.method){case`rmdir`:await e.rmdir(i);break;case`mkdir`:await Yo(e,t,r.filepath),await e.mkdir(i);break;case`rm`:await e.rm(i);break;case`write`:if(!o.some(e=>i.startsWith(e))){await Yo(e,t,r.filepath);let{object:a}=await na({fs:e,cache:{},gitdir:n,oid:r.oid});await e.exists(i)&&await e.rm(i),await e.write(i,a)}}}}),await Pr.acquire({fs:e,gitdir:n,cache:{}},async e=>{s.forEach(({filepath:t,stats:n,oid:r})=>{e.insert({filepath:t,stats:n,oid:r})})})}async function fs({fs:e,cache:t,dir:n,gitdir:r,oid:i,dryRun:a=!1,noUpdateBranch:o=!1,abortOnConflict:s=!0,committer:c,mergeDriver:l}){let{commit:u,oid:d}=await Mo({fs:e,cache:t,gitdir:r,oid:i});if(u.parent.length>1)throw new sa(d,u.parent.length);if(u.parent.length===0)throw new ca(d);let f=await J.resolve({fs:e,gitdir:r,ref:`HEAD`}),{commit:p}=await Mo({fs:e,cache:t,gitdir:r,oid:f}),m=u.parent[0],{commit:h}=await Mo({fs:e,cache:t,gitdir:r,oid:m});if(n&&(!a&&!o||!s)){let i=await ps({fs:e,cache:t,dir:n,gitdir:r,headTree:p.tree,baseTree:h.tree,theirTree:u.tree,allTracked:!s});if(i.length>0)throw new oa(i)}let g=await Pr.acquire({fs:e,gitdir:r,cache:t,allowUnmerged:!1},async i=>as({fs:e,cache:t,dir:n,gitdir:r,index:i,ourOid:p.tree,baseOid:h.tree,theirOid:u.tree,ourName:`HEAD`,baseName:`parent of ${d.slice(0,7)}`,theirName:d.slice(0,7),dryRun:a,abortOnConflict:s,mergeDriver:l}));if(g instanceof va)throw g;let _=await Po({fs:e,cache:t,gitdir:r,message:u.message,tree:g,parent:[f],author:u.author,committer:c,dryRun:a,noUpdateBranch:o});return n&&!a&&!o&&await ds({fs:e,dir:n,gitdir:r,stashCommit:_,parentCommit:f,wasStaged:!0}),_}async function ps({fs:e,cache:t,dir:n,gitdir:r,headTree:i,baseTree:a,theirTree:o,allTracked:s}){let c=await $a({fs:e,cache:t,dir:n,gitdir:r,trees:[Ka({ref:a}),Ka({ref:o})],map:async(e,[t,n])=>{if(e!==`.`){if(t&&n&&await t.oid()===await n.oid())return null;if([t?await t.type():void 0,n?await n.type():void 0].includes(`blob`))return e}}});return c.length===0&&!s?[]:$a({fs:e,cache:t,dir:n,gitdir:r,trees:[Ka({ref:i}),Vr(),Ja()],map:async(e,[t,n,r])=>{if(e===`.`)return;if(!s&&!c.some(t=>Xo(e,t)))return null;let i=t&&await t.type()===`blob`?await t.oid():void 0;if((c.includes(e)||s&&i)&&((n?await n.oid():void 0)!==i||r&&(!i||await r.type()!==`blob`||await r.oid()!==i)))return e}})}async function ms({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,cache:i={},committer:a,dryRun:o=!1,noUpdateBranch:s=!1,abortOnConflict:c=!0,mergeDriver:l}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r);let u=new Y(e),d=await Z({fsp:u,dotgit:n}),{commit:f}=await Mo({fs:u,cache:i,gitdir:d,oid:r});if(f.parent&&f.parent.length>1)return await fs({fs:u,cache:i,dir:t,gitdir:d,oid:r,dryRun:o,noUpdateBranch:s,abortOnConflict:c,committer:void 0,mergeDriver:l});let p=await Ao({fs:u,gitdir:d,committer:a});if(!p)throw new ya(`committer`);return await fs({fs:u,cache:i,dir:t,gitdir:d,oid:r,dryRun:o,noUpdateBranch:s,abortOnConflict:c,committer:p,mergeDriver:l})}catch(e){throw e.caller=`git.cherryPick`,e}}var hs=/^refs\/(heads\/|tags\/|remotes\/)?(.*)/;function gs(e){let t=hs.exec(e);return t?t[1]===`remotes/`&&e.endsWith(`/HEAD`)?t[2].slice(0,-5):t[2]:e}async function _s({fs:e,gitdir:t,fullname:n=!1,test:r=!1}){let i=await J.resolve({fs:e,gitdir:t,ref:`HEAD`,depth:2});if(r)try{await J.resolve({fs:e,gitdir:t,ref:i})}catch(e){if(e instanceof Hr)return;throw e}if(i.startsWith(`refs/`))return n?i:gs(i)}function vs(e){return e=e.replace(/^[^/@:]+@([^/@:]+):/,`https://$1/`),e=e.replace(/^ssh:\/\//,`https://`),e}function ys({username:e=``,password:t=``}){return`Basic ${Buffer.from(`${e}:${t}`).toString(`base64`)}`}async function bs(e,t){let n=Li(e);for(;;){let{value:e,done:r}=await n.next();if(e&&await t(e),r)break}n.return&&n.return()}async function xs(e){let t=0,n=[];await bs(e,e=>{n.push(e),t+=e.byteLength});let r=new Uint8Array(t),i=0;for(let e of n)r.set(e,i),i+=e.byteLength;return r}var Ss=/^(https?:\/\/)([^/?#]+)@/i;function Cs(e){let t=e.match(Ss);return t==null?{url:e,auth:{}}:{url:e.replace(Ss,`$1`),auth:ws(e,t[2])}}function ws(e,t){let n=Ts(e),r=t.indexOf(`:`)!==-1;if(n!==null)return{username:Es(n.username),password:r?Es(n.password):void 0};let i=t.indexOf(`:`);return{username:r?t.slice(0,i):t,password:r?t.slice(i+1):void 0}}function Ts(e){if(typeof URL!=`function`)return null;try{return new URL(e)}catch{return null}}function Es(e){try{return decodeURIComponent(e)}catch{return e}}function Ds(e,t){let n=t.toString(16);return`0`.repeat(e-n.length)+n}var Os=class{static flush(){return Buffer.from(`0000`,`utf8`)}static delim(){return Buffer.from(`0001`,`utf8`)}static encode(e){typeof e==`string`&&(e=Buffer.from(e));let t=Ds(4,e.length+4);return Buffer.concat([Buffer.from(t,`utf8`),e])}static streamReader(e){let t=new Ri(e);return async function(){try{let e=await t.read(4);return e==null||(e=parseInt(e.toString(`utf8`),16),e===0||e===1?null:await t.read(e-4)??!0)}catch(t){return e.error=t,!0}}}};async function ks(e){let t={},n;for(;n=await e(),n!==!0;){if(n===null)continue;n=n.toString(`utf8`).replace(/\n$/,``);let e=n.indexOf(`=`);if(e>-1){let r=n.slice(0,e);t[r]=n.slice(e+1)}else t[n]=!0}return{protocolVersion:2,capabilities2:t}}async function As(e,{service:t}){let n=new Set,r=new Map,i=new Map,a=Os.streamReader(e),o=await a();for(;o===null;)o=await a();if(o===!0)throw new da;if(o.includes(`version 2`))return ks(a);if(o.toString(`utf8`).replace(/\n$/,``)!==`# service=${t}`)throw new Sa(`# service=${t}\\n`,o.toString(`utf8`));let s=await a();for(;s===null;)s=await a();if(s===!0)return{capabilities:n,refs:r,symrefs:i};if(s=s.toString(`utf8`),s.includes(`version 2`))return ks(a);let[c,l]=js(s,`\0`,`\\x00`);if(l.split(` `).map(e=>n.add(e)),c!==`0000000000000000000000000000000000000000 capabilities^{}`){let[e,t]=js(c,` `,` `);for(r.set(t,e);;){let e=await a();if(e===!0)break;if(e!==null){let[t,n]=js(e.toString(`utf8`),` `,` `);r.set(n,t)}}}for(let e of n)if(e.startsWith(`symref=`)){let t=e.match(/symref=([^:]+):(.*)/);t.length===3&&i.set(t[1],t[2])}return{protocolVersion:1,capabilities:n,refs:r,symrefs:i}}function js(e,t,n){let r=e.trim().split(t);if(r.length!==2)throw new Sa(`Two strings separated by '${n}'`,e.toString(`utf8`));return r}var Ms=(e,t)=>e.endsWith(`?`)?`${e}${t}`:`${e}/${t.replace(/^https?:\/\//,``)}`,Ns=(e,t)=>{(t.username||t.password)&&(e.Authorization=ys(t)),t.headers&&Object.assign(e,t.headers)},Ps=async e=>{try{let t=Buffer.from(await xs(e.body)),n=t.toString(`utf8`);return{preview:n.length<256?n:n.slice(0,256)+`...`,response:n,data:t}}catch{return{}}},Fs=class{static async capabilities(){return[`discover`,`connect`]}static async discover({http:e,onProgress:t,onAuth:n,onAuthSuccess:r,onAuthFailure:i,corsProxy:a,service:o,url:s,headers:c,signal:l,protocolVersion:u}){let{url:d,auth:f}=Cs(s),p=a?Ms(a,d):d;(f.username||f.password)&&(c.Authorization=ys(f)),u===2&&(c[`Git-Protocol`]=`version=2`);let m,h,g=!1;do if(m=await e.request({onProgress:t,method:`GET`,url:`${p}/info/refs?service=${o}`,headers:c,signal:l}),h=!1,m.statusCode===401||m.statusCode===203){let e=g?i:n;if(e){if(f=await e(d,{...f,headers:{...c}}),f&&f.cancel)throw new Oa;f&&(Ns(c,f),g=!0,h=!0)}}else m.statusCode===200&&g&&r&&await r(d,f);while(h);if(m.statusCode!==200){let{response:e}=await Ps(m);throw new ma(m.statusCode,m.statusMessage,e)}if(m.headers[`content-type`]===`application/x-${o}-advertisement`){let e=await As(m.body,{service:o});return e.auth=f,e}{let{preview:e,response:t,data:n}=await Ps(m);try{let e=await As([n],{service:o});return e.auth=f,e}catch{throw new Ta(e,t)}}}static async connect({http:e,onProgress:t,corsProxy:n,service:r,url:i,auth:a,body:o,headers:s,signal:c}){let l=Cs(i);l&&(i=l.url),n&&(i=Ms(n,i)),s[`content-type`]=`application/x-${r}-request`,s.accept=`application/x-${r}-result`,Ns(s,a);let u=await e.request({onProgress:t,method:`POST`,url:`${i}/${r}`,body:o,headers:s,signal:c});if(u.statusCode!==200){let{response:e}=Ps(u);throw new ma(u.statusCode,u.statusMessage,e)}return u}},Is=class{static getRemoteHelperFor({url:e}){let t=new Map;t.set(`http`,Fs),t.set(`https`,Fs);let n=Rs({url:e});if(!n)throw new Da(e);if(t.has(n.transport))return t.get(n.transport);throw new Ea(e,n.transport,n.transport===`ssh`?vs(e):void 0)}},Ls=/^[^/@:]+@[^/@:]+:/;function Rs({url:e}){if(Ls.test(e))return{transport:`ssh`,address:e};let t=e.match(/(\w+)(:\/\/|::)(.*)/);if(t!==null){if(t[2]===`://`)return{transport:t[1],address:t[0]};if(t[2]===`::`)return{transport:t[1],address:t[3]}}}var zs=class{static async read({fs:e,gitdir:t}){let n=q(t,`shallow`),r=new Set;return await kr(n,async function(){let t=await e.read(n,{encoding:`utf8`});if(t===null||t.trim()===``)return r;t.trim().split(`
|
|
56
|
-
`).map(e=>r.add(e))}),r}static async write({fs:e,gitdir:t,oids:n}){let r=q(t,`shallow`);if(n.size>0){let t=[...n].join(`
|
|
57
|
-
`)+`
|
|
58
|
-
`;await kr(r,async function(){await e.write(r,t,{encoding:`utf8`})})}else await kr(r,async function(){await e.rm(r)})}};function Bs({config:e,onAuth:t}){return t&&(async(n,r)=>{let i=r.username||await e.get(`credential.${n}.username`);return t(n,i?{...r,username:i}:r)})}function Vs(e){return e.slice(0,12).toString(`hex`)===`5041434b0000000200000000`}function Hs(e,t){let n=e.map(e=>e.split(`=`,1)[0]);return t.filter(e=>{let t=e.split(`=`,1)[0];return n.includes(t)})}var Us={name:`isomorphic-git`,version:`1.44.5`,agent:`git/isomorphic-git@1.44.5`},Ws=class{constructor(){this._queue=[]}write(e){if(this._ended)throw Error(`You cannot write to a FIFO that has already been ended!`);if(this._waiting){let t=this._waiting;this._waiting=null,t({value:e})}else this._queue.push(e)}end(){if(this._ended=!0,this._waiting){let e=this._waiting;this._waiting=null,e({done:!0})}}destroy(e){this.error=e,this.end()}async next(){if(this._queue.length>0)return{value:this._queue.shift()};if(this._ended)return{done:!0};if(this._waiting)throw Error(`You cannot call read until the previous call to read has returned!`);return new Promise(e=>{this._waiting=e})}};function Gs(e){let t=e.indexOf(`\r`),n=e.indexOf(`
|
|
59
|
-
`);return t===-1&&n===-1?-1:t===-1?n+1:n===-1?t+1:n===t+1?n+1:Math.min(t,n)+1}function Ks(e){let t=new Ws,n=``;return(async()=>{await bs(e,e=>{for(e=e.toString(`utf8`),n+=e;;){let e=Gs(n);if(e===-1||e===n.length&&n[e-1]===`\r`)break;t.write(n.slice(0,e)),n=n.slice(e)}}),n.length>0&&t.write(n),t.end()})(),t}var qs=class{static demux(e){let t=Os.streamReader(e),n=new Ws,r=new Ws,i=new Ws,a=async function(){let o=await t();if(o===null)return a();if(o===!0)n.end(),i.end(),e.error?r.destroy(e.error):r.end();else{switch(o[0]){case 1:r.write(o.slice(1));break;case 2:i.write(o.slice(1));break;case 3:{let e=o.slice(1);i.write(e),n.end(),i.end(),r.destroy(Error(e.toString(`utf8`)));return}default:n.write(o)}a()}};return a(),{packetlines:n,packfile:r,progress:i}}};async function Js(e){let{packetlines:t,packfile:n,progress:r}=qs.demux(e),i=[],a=[],o=[],s=!1,c=!1;return new Promise((l,u)=>{bs(t,t=>{let d=t.toString(`utf8`).trim();if(d.startsWith(`shallow`)){let e=d.slice(-41).trim();e.length!==40&&u(new Wr(e)),i.push(e)}else if(d.startsWith(`unshallow`)){let e=d.slice(-41).trim();e.length!==40&&u(new Wr(e)),a.push(e)}else if(d.startsWith(`ACK`)){let[,e,t]=d.split(` `);o.push({oid:e,status:t}),t||(c=!0)}else d.startsWith(`NAK`)?(s=!0,c=!0):(c=!0,s=!0);c&&(e.error?u(e.error):l({shallows:i,unshallows:a,acks:o,nak:s,packfile:n,progress:r}))}).finally(()=>{c||(e.error?u(e.error):l({shallows:i,unshallows:a,acks:o,nak:s,packfile:n,progress:r}))})})}function Ys({capabilities:e=[],wants:t=[],haves:n=[],shallows:r=[],depth:i=null,since:a=null,exclude:o=[]}){let s=[];t=[...new Set(t)];let c=` ${e.join(` `)}`;for(let e of t)s.push(Os.encode(`want ${e}${c}\n`)),c=``;for(let e of r)s.push(Os.encode(`shallow ${e}\n`));i!==null&&s.push(Os.encode(`deepen ${i}\n`)),a!==null&&s.push(Os.encode(`deepen-since ${Math.floor(a.valueOf()/1e3)}\n`));for(let e of o)s.push(Os.encode(`deepen-not ${e}\n`));s.push(Os.flush());for(let e of n)s.push(Os.encode(`have ${e}\n`));return s.push(Os.encode(`done
|
|
60
|
-
`)),s}async function Xs({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,gitdir:c,ref:l,remoteRef:u,remote:d,url:f,corsProxy:p,depth:m=null,since:h=null,exclude:g=[],relative:_=!1,tags:v=!1,singleBranch:y=!1,headers:b={},prune:x=!1,pruneTags:S=!1}){let C=l||await _s({fs:e,gitdir:c,test:!0}),w=await yi.get({fs:e,gitdir:c}),T=d||C&&await w.get(`branch.${C}.remote`)||`origin`,E=f||await w.get(`remote.${T}.url`);if(E===void 0)throw new ba(`remote OR url`);let ee=u||C&&await w.get(`branch.${C}.merge`)||l||`HEAD`;p===void 0&&(p=await w.get(`http.corsProxy`));let te=Is.getRemoteHelperFor({url:E}),D=await te.discover({http:n,onAuth:Bs({config:w,onAuth:a}),onAuthSuccess:o,onAuthFailure:Bs({config:w,onAuth:s}),corsProxy:p,service:`git-upload-pack`,url:E,headers:b,protocolVersion:1}),ne=D.auth,O=D.refs;if(O.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(m!==null&&!D.capabilities.has(`shallow`))throw new wa(`shallow`,`depth`);if(h!==null&&!D.capabilities.has(`deepen-since`))throw new wa(`deepen-since`,`since`);if(g.length>0&&!D.capabilities.has(`deepen-not`))throw new wa(`deepen-not`,`exclude`);if(_===!0&&!D.capabilities.has(`deepen-relative`))throw new wa(`deepen-relative`,`relative`);let{oid:k,fullref:re}=J.resolveAgainstMap({ref:ee,map:O});for(let e of O.keys())e===re||e===`HEAD`||e.startsWith(`refs/heads/`)||v&&e.startsWith(`refs/tags/`)||O.delete(e);let A=Hs([...D.capabilities],[`multi_ack_detailed`,`no-done`,`side-band-64k`,`ofs-delta`,`agent=${Us.agent}`]);_&&A.push(`deepen-relative`);let ie=y?[k]:O.values(),ae=y?[C]:await J.listRefs({fs:e,gitdir:c,filepath:`refs`}),oe=[];for(let n of ae)try{n=await J.expand({fs:e,gitdir:c,ref:n});let r=await J.resolve({fs:e,gitdir:c,ref:n});await Eo({fs:e,cache:t,gitdir:c,oid:r})&&oe.push(r)}catch{}oe=[...new Set(oe)];let se=await zs.read({fs:e,gitdir:c}),j=D.capabilities.has(`shallow`)?[...se]:[],ce=Ys({capabilities:A,wants:ie,haves:oe,shallows:j,depth:m,since:h,exclude:g}),le=Buffer.from(await xs(ce)),ue=await te.connect({http:n,onProgress:r,corsProxy:p,service:`git-upload-pack`,url:E,auth:ne,body:[le],headers:b}),M=await Js(ue.body);ue.headers&&(M.headers=ue.headers);for(let n of M.shallows)if(!se.has(n))try{let{object:r}=await na({fs:e,cache:t,gitdir:c,oid:n}),i=new Ua(r),a=await Promise.all(i.headers().parent.map(n=>Eo({fs:e,cache:t,gitdir:c,oid:n})));a.length===0||a.every(e=>e)||se.add(n)}catch{se.add(n)}for(let e of M.unshallows)se.delete(e);if(await zs.write({fs:e,gitdir:c,oids:se}),y){let t=new Map([[re,k]]),n=new Map,r=10,i=re;for(;r--;){let e=D.symrefs.get(i);if(e===void 0)break;n.set(i,e),i=e}let a=O.get(i);a&&t.set(i,a);let{pruned:o}=await J.updateRemoteRefs({fs:e,gitdir:c,remote:T,refs:t,symrefs:n,tags:v,prune:x});x&&(M.pruned=o)}else{let{pruned:t}=await J.updateRemoteRefs({fs:e,gitdir:c,remote:T,refs:O,symrefs:D.symrefs,tags:v,prune:x,pruneTags:S});x&&(M.pruned=t)}if(M.HEAD=D.symrefs.get(`HEAD`),M.HEAD===void 0){let{oid:e}=J.resolveAgainstMap({ref:`HEAD`,map:O});for(let[t,n]of O.entries())if(t!==`HEAD`&&n===e){M.HEAD=t;break}}M.FETCH_HEAD={oid:k,description:`${re.startsWith(`refs/tags`)?`tag`:`branch`} '${gs(re)}' of ${E}`},(r||i)&&bs(Ks(M.progress),async e=>{if(i&&await i(e),r){let t=e.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);t&&await r({phase:t[1].trim(),loaded:parseInt(t[2],10),total:parseInt(t[3],10)})}});let de=Buffer.from(await xs(M.packfile));if(ue.body.error)throw ue.body.error;let fe=de.slice(-20).toString(`hex`),pe={defaultBranch:M.HEAD,fetchHead:M.FETCH_HEAD.oid,fetchHeadDescription:M.FETCH_HEAD.description};if(M.headers&&(pe.headers=M.headers),x&&(pe.pruned=M.pruned),fe!==``&&!Vs(de)){pe.packfile=`objects/pack/pack-${fe}.pack`;let n=q(c,pe.packfile);await e.write(n,de);let i=await Yi.fromPack({pack:de,getExternalRefDelta:n=>na({fs:e,cache:t,gitdir:c,oid:n}),onProgress:r});await e.write(n.replace(/\.pack$/,`.idx`),await i.toBuffer())}return pe}async function Zs({fs:e,bare:t=!1,dir:n,gitdir:r=t?n:q(n,`.git`),defaultBranch:i=`master`}){if(await e.exists(r+`/config`))return;let a=[`hooks`,`info`,`objects/info`,`objects/pack`,`refs/heads`,`refs/tags`];a=a.map(e=>r+`/`+e);for(let t of a)await e.mkdir(t);await e.write(r+`/config`,`[core]
|
|
61
|
-
repositoryformatversion = 0
|
|
62
|
-
filemode = false
|
|
63
|
-
\tbare = ${t}\n`+(t?``:` logallrefupdates = true
|
|
64
|
-
`)+` symlinks = false
|
|
65
|
-
ignorecase = true
|
|
66
|
-
`),await e.write(r+`/HEAD`,`ref: refs/heads/${i}\n`)}async function Qs({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,onPostCheckout:c,dir:l,gitdir:u,url:d,corsProxy:f,ref:p,remote:m,depth:h,since:g,exclude:_,relative:v,singleBranch:y,noCheckout:b,noTags:x,headers:S,nonBlocking:C,batchSize:w=100}){try{if(await Zs({fs:e,gitdir:u}),await Uo({fs:e,gitdir:u,remote:m,url:d,force:!1}),f){let t=await yi.get({fs:e,gitdir:u});await t.set(`http.corsProxy`,f),await yi.save({fs:e,gitdir:u,config:t})}let{defaultBranch:T,fetchHead:E}=await Xs({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,gitdir:u,ref:p,remote:m,corsProxy:f,depth:h,since:g,exclude:_,relative:v,singleBranch:y,headers:S,tags:!x});if(E===null)return;p||=T,p=p.replace(`refs/heads/`,``),await Zo({fs:e,cache:t,onProgress:r,onPostCheckout:c,dir:l,gitdir:u,ref:p,remote:m,noCheckout:b,nonBlocking:C,batchSize:w})}catch(t){throw await e.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>void 0),t}}async function $s({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:s,dir:c,gitdir:l=q(c,`.git`),url:u,corsProxy:d=void 0,ref:f=void 0,remote:p=`origin`,depth:m=void 0,since:h=void 0,exclude:g=[],relative:_=!1,singleBranch:v=!1,noCheckout:y=!1,noTags:b=!1,headers:x={},cache:S={},nonBlocking:C=!1,batchSize:w=100}){try{X(`fs`,e),X(`http`,t),X(`gitdir`,l),y||X(`dir`,c),X(`url`,u);let T=new Y(e);return await Qs({fs:T,cache:S,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:s,dir:c,gitdir:await Z({fsp:T,dotgit:l}),url:u,corsProxy:d,ref:f,remote:p,depth:m,since:h,exclude:g,relative:_,singleBranch:v,noCheckout:y,noTags:b,headers:x,nonBlocking:C,batchSize:w})}catch(e){throw e.caller=`git.clone`,e}}async function ec({fs:e,onSign:t,dir:n,gitdir:r=q(n,`.git`),message:i,author:a,committer:o,signingKey:s,amend:c=!1,dryRun:l=!1,noUpdateBranch:u=!1,disallowEmpty:d=!1,ref:f,parent:p,tree:m,cache:h={}}){try{X(`fs`,e),c||X(`message`,i),s&&X(`onSign`,t);let n=new Y(e);return await Po({fs:n,cache:h,onSign:t,gitdir:await Z({fsp:n,dotgit:r}),message:i,author:a,committer:o,signingKey:s,amend:c,dryRun:l,noUpdateBranch:u,disallowEmpty:d,ref:f,parent:p,tree:m})}catch(e){throw e.caller=`git.commit`,e}}async function tc({fs:e,dir:t,gitdir:n=q(t,`.git`),fullname:r=!1,test:i=!1}){try{X(`fs`,e),X(`gitdir`,n);let t=new Y(e);return await _s({fs:t,gitdir:await Z({fsp:t,dotgit:n}),fullname:r,test:i})}catch(e){throw e.caller=`git.currentBranch`,e}}async function nc({fs:e,gitdir:t,ref:n}){if(n=n.startsWith(`refs/heads/`)?n:`refs/heads/${n}`,!await J.exists({fs:e,gitdir:t,ref:n}))throw new Hr(n);let r=await J.expand({fs:e,gitdir:t,ref:n});if(r===await _s({fs:e,gitdir:t,fullname:!0})){let n=await J.resolve({fs:e,gitdir:t,ref:r});await J.writeRef({fs:e,gitdir:t,ref:`HEAD`,value:n})}await J.deleteRef({fs:e,gitdir:t,ref:r});let i=gs(n),a=await yi.get({fs:e,gitdir:t});await a.deleteSection(`branch`,i),await yi.save({fs:e,gitdir:t,config:a})}async function rc({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r}){try{X(`fs`,e),X(`ref`,r);let t=new Y(e);return await nc({fs:t,gitdir:await Z({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.deleteBranch`,e}}async function ic({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r}){try{X(`fs`,e),X(`ref`,r);let t=new Y(e),i=await Z({fsp:t,dotgit:n});await J.deleteRef({fs:t,gitdir:i,ref:r})}catch(e){throw e.caller=`git.deleteRef`,e}}async function ac({fs:e,gitdir:t,remote:n}){let r=await yi.get({fs:e,gitdir:t});await r.deleteSection(`remote`,n),await yi.save({fs:e,gitdir:t,config:r})}async function oc({fs:e,dir:t,gitdir:n=q(t,`.git`),remote:r}){try{X(`fs`,e),X(`remote`,r);let t=new Y(e);return await ac({fs:t,gitdir:await Z({fsp:t,dotgit:n}),remote:r})}catch(e){throw e.caller=`git.deleteRemote`,e}}async function sc({fs:e,gitdir:t,ref:n}){n=n.startsWith(`refs/tags/`)?n:`refs/tags/${n}`,await J.deleteRef({fs:e,gitdir:t,ref:n})}async function cc({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r}){try{X(`fs`,e),X(`ref`,r);let t=new Y(e);return await sc({fs:t,gitdir:await Z({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.deleteTag`,e}}async function lc({fs:e,gitdir:t,oid:n}){let r=n.slice(0,2);return(await e.readdir(`${t}/objects/${r}`)).map(e=>`${r}${e}`).filter(e=>e.startsWith(n))}async function uc({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i}){let a=[],o=await e.readdir(q(n,`objects/pack`));o=o.filter(e=>e.endsWith(`.idx`));for(let s of o){let o=await Qi({fs:e,cache:t,filename:`${n}/objects/pack/${s}`,getExternalRefDelta:i});if(o.error)throw new K(o.error);for(let e of o.offsets.keys())e.startsWith(r)&&a.push(e)}return a}async function dc({fs:e,cache:t,gitdir:n,oid:r}){let i=r=>na({fs:e,cache:t,gitdir:n,oid:r}),a=await lc({fs:e,gitdir:n,oid:r}),o=await uc({fs:e,cache:t,gitdir:n,oid:r,getExternalRefDelta:i});for(let e of o)a.indexOf(e)===-1&&a.push(e);if(a.length===1)return a[0];throw a.length>1?new ia(`oids`,r,a):new Hr(`an object matching "${r}"`)}async function fc({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r);let t=new Y(e);return await dc({fs:t,cache:i,gitdir:await Z({fsp:t,dotgit:n}),oid:r})}catch(e){throw e.caller=`git.expandOid`,e}}async function pc({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e),i=await Z({fsp:t,dotgit:n});return await J.expand({fs:t,gitdir:i,ref:r})}catch(e){throw e.caller=`git.expandRef`,e}}async function mc({fs:e,cache:t,gitdir:n,oids:r}){let i={},a=r.length,o=new Set,s=new Map,c=await zs.read({fs:e,gitdir:n}),l=async r=>{if(s.has(r))return s.get(r);let{object:i,type:a}=await na({fs:e,cache:t,gitdir:n,oid:r});if(a!==`commit`)throw new Ur(r,a,`commit`);let{parent:o}=Ua.from(i).parseHeaders(),l=c.has(r)?[]:o;return s.set(r,l),l},u=r.map((e,t)=>({index:t,oid:e}));for(;u.length;){for(let{oid:e,index:t}of u)await l(e),i[e]||(i[e]=new Set),i[e].add(t),i[e].size===a&&o.add(e);let e=new Map;for(let{oid:t,index:n}of u)if(!o.has(t))for(let r of await l(t))i[r]&&i[r].has(n)||e.set(r+`:`+n,{oid:r,index:n});u=Array.from(e.values())}if(o.size<2)return[...o];let d=new Set;for(let e of o){let t=[...await l(e)],n=new Set;for(;t.length;){let e=t.pop();n.has(e)||(n.add(e),o.has(e)?d.add(e):t.push(...await l(e)))}}return[...o].filter(e=>!d.has(e))}async function hc({fs:e,cache:t,dir:n,gitdir:r,ours:i,theirs:a,fastForward:o=!0,fastForwardOnly:s=!1,dryRun:c=!1,noUpdateBranch:l=!1,abortOnConflict:u=!0,message:d,author:f,committer:p,signingKey:m,onSign:h,mergeDriver:g,allowUnrelatedHistories:_=!1}){i===void 0&&(i=await _s({fs:e,gitdir:r,fullname:!0})),i=await J.expand({fs:e,gitdir:r,ref:i}),a=await J.expand({fs:e,gitdir:r,ref:a});let v=await J.resolve({fs:e,gitdir:r,ref:i}),{oid:y}=await jo({fs:e,cache:t,gitdir:r,oid:await J.resolve({fs:e,gitdir:r,ref:a})}),b=await mc({fs:e,cache:t,gitdir:r,oids:[v,y]});if(b.length!==1){if(b.length===0&&_)b.push(`4b825dc642cb6eb9a060e54bf8d69288fbee4904`);else throw new _a}let x=b[0];if(x===y)return{oid:v,alreadyMerged:!0};if(o&&x===v)return!c&&!l&&await J.writeRef({fs:e,gitdir:r,ref:i,value:y}),{oid:y,fastForward:!0};{if(s)throw new fa;let o=await Pr.acquire({fs:e,gitdir:r,cache:t,allowUnmerged:!1},async o=>as({fs:e,cache:t,dir:n,gitdir:r,index:o,ourOid:v,theirOid:y,baseOid:x,ourName:gs(i),baseName:`base`,theirName:gs(a),dryRun:c,abortOnConflict:u,mergeDriver:g}));if(o instanceof va)throw o;return d||=`Merge branch '${gs(a)}' into ${gs(i)}`,{oid:await Po({fs:e,cache:t,gitdir:r,message:d,ref:i,tree:o,parent:[v,y],author:f,committer:p,signingKey:m,onSign:h,dryRun:c,noUpdateBranch:l}),tree:o,mergeCommit:!0}}}async function gc({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,dir:c,gitdir:l,ref:u,url:d,remote:f,remoteRef:p,prune:m,pruneTags:h,fastForward:g,fastForwardOnly:_,corsProxy:v,singleBranch:y,headers:b,author:x,committer:S,signingKey:C}){try{if(!u){let t=await _s({fs:e,gitdir:l});if(!t)throw new ba(`ref`);u=t}let{fetchHead:w,fetchHeadDescription:T}=await Xs({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,gitdir:l,corsProxy:v,ref:u,url:d,remote:f,remoteRef:p,singleBranch:y,headers:b,prune:m,pruneTags:h});await hc({fs:e,cache:t,gitdir:l,ours:u,theirs:w,fastForward:g,fastForwardOnly:_,message:`Merge ${T}`,author:x,committer:S,signingKey:C,dryRun:!1,noUpdateBranch:!1}),await Zo({fs:e,cache:t,onProgress:r,dir:c,gitdir:l,ref:u,remote:f,noCheckout:!1})}catch(e){throw e.caller=`git.pull`,e}}async function _c({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:c=q(s,`.git`),ref:l,url:u,remote:d,remoteRef:f,corsProxy:p,singleBranch:m,headers:h={},cache:g={}}){try{X(`fs`,e),X(`http`,t),X(`gitdir`,c);let _={name:``,email:``,timestamp:Date.now(),timezoneOffset:0},v=new Y(e);return await gc({fs:v,cache:g,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:await Z({fsp:v,dotgit:c}),ref:l,url:u,remote:d,remoteRef:f,fastForwardOnly:!0,corsProxy:p,singleBranch:m,headers:h,author:_,committer:_})}catch(e){throw e.caller=`git.fastForward`,e}}async function vc({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:c=q(s,`.git`),ref:l,remote:u,remoteRef:d,url:f,corsProxy:p,depth:m=null,since:h=null,exclude:g=[],relative:_=!1,tags:v=!1,singleBranch:y=!1,headers:b={},prune:x=!1,pruneTags:S=!1,cache:C={}}){try{X(`fs`,e),X(`http`,t),X(`gitdir`,c);let s=new Y(e);return await Xs({fs:s,cache:C,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,gitdir:await Z({fsp:s,dotgit:c}),ref:l,remote:u,remoteRef:d,url:f,corsProxy:p,depth:m,since:h,exclude:g,relative:_,tags:v,singleBranch:y,headers:b,prune:x,pruneTags:S})}catch(e){throw e.caller=`git.fetch`,e}}async function yc({fs:e,dir:t,gitdir:n=q(t,`.git`),oids:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oids`,r);let t=new Y(e);return await mc({fs:t,cache:i,gitdir:await Z({fsp:t,dotgit:n}),oids:r})}catch(e){throw e.caller=`git.findMergeBase`,e}}async function bc({fs:e,filepath:t}){if(await e.exists(q(t,`.git`)))return t;{let n=Ir(t);if(n===t)throw new Hr(`git root for ${t}`);return bc({fs:e,filepath:n})}}async function xc({fs:e,filepath:t}){try{return X(`fs`,e),X(`filepath`,t),await bc({fs:new Y(e),filepath:t})}catch(e){throw e.caller=`git.findRoot`,e}}async function Sc({fs:e,dir:t,gitdir:n=q(t,`.git`),path:r}){try{X(`fs`,e),X(`gitdir`,n),X(`path`,r);let t=new Y(e);return await Do({fs:t,gitdir:await Z({fsp:t,dotgit:n}),path:r})}catch(e){throw e.caller=`git.getConfig`,e}}async function Cc({fs:e,gitdir:t,path:n}){return(await yi.get({fs:e,gitdir:t})).getall(n)}async function wc({fs:e,dir:t,gitdir:n=q(t,`.git`),path:r}){try{X(`fs`,e),X(`gitdir`,n),X(`path`,r);let t=new Y(e);return await Cc({fs:t,gitdir:await Z({fsp:t,dotgit:n}),path:r})}catch(e){throw e.caller=`git.getConfigAll`,e}}function Tc(e,t,n){let r=t.split(`/`),i=r.pop();if(i===`__proto__`||r.includes(`__proto__`))return;let a=e;for(let e of r)Object.prototype.hasOwnProperty.call(a,e)||(a[e]={}),a=a[e];a[i]=n}async function Ec({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,url:a,headers:o={},forPush:s=!1}){try{X(`http`,e),X(`url`,a);let c=await Is.getRemoteHelperFor({url:a}).discover({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,headers:o,protocolVersion:1}),l={capabilities:[...c.capabilities]};for(let[e,t]of c.refs)Tc(l,e,t);for(let[e,t]of c.symrefs)Tc(l,e,t);return l}catch(e){throw e.caller=`git.getRemoteInfo`,e}}function Dc(e,t,n,r){let i=[];for(let[a,o]of e.refs){if(t&&!a.startsWith(t))continue;if(a.endsWith(`^{}`)){if(r){let e=a.replace(`^{}`,``),t=i[i.length-1],n=t?.ref===e?t:i.find(t=>t.ref===e);n!==void 0&&(n.peeled=o)}continue}let s={ref:a,oid:o};n&&e.symrefs.has(a)&&(s.target=e.symrefs.get(a)),i.push(s)}return i}async function Oc({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,url:a,headers:o={},forPush:s=!1,protocolVersion:c=2}){try{X(`http`,e),X(`url`,a);let l=await Is.getRemoteHelperFor({url:a}).discover({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,headers:o,protocolVersion:c});if(l.protocolVersion===2)return{protocolVersion:l.protocolVersion,capabilities:l.capabilities2};let u={};for(let e of l.capabilities){let[t,n]=e.split(`=`);u[t]=n||!0}return{protocolVersion:1,capabilities:u,refs:Dc(l,void 0,!0,!0)}}catch(e){throw e.caller=`git.getRemoteInfo2`,e}}async function kc({type:e,object:t,format:n=`content`,oid:r=void 0}){return n!==`deflated`&&(n!==`wrapped`&&(t=Ai.wrap({type:e,object:t})),r=await yr(t)),{oid:r,object:t}}async function Ac({object:e}){try{X(`object`,e),typeof e==`string`?e=Buffer.from(e,`utf8`):e instanceof Uint8Array||(e=new Uint8Array(e));let t=`blob`,{oid:n,object:r}=await kc({type:t,format:`content`,object:e});return{oid:n,type:t,object:r,format:`wrapped`}}catch(e){throw e.caller=`git.hashBlob`,e}}async function jc({fs:e,cache:t,onProgress:n,dir:r,gitdir:i,filepath:a}){try{a=q(r,a);let o=await e.read(a),s=await Yi.fromPack({pack:o,getExternalRefDelta:n=>na({fs:e,cache:t,gitdir:i,oid:n}),onProgress:n});return await e.write(a.replace(/\.pack$/,`.idx`),await s.toBuffer()),{oids:[...s.hashes]}}catch(e){throw e.caller=`git.indexPack`,e}}async function Mc({fs:e,onProgress:t,dir:n,gitdir:r=q(n,`.git`),filepath:i,cache:a={}}){try{X(`fs`,e),X(`dir`,n),X(`gitdir`,n),X(`filepath`,i);let o=new Y(e);return await jc({fs:o,cache:a,onProgress:t,dir:n,gitdir:await Z({fsp:o,dotgit:r}),filepath:i})}catch(e){throw e.caller=`git.indexPack`,e}}async function Nc({fs:e,bare:t=!1,dir:n,gitdir:r=t?n:q(n,`.git`),defaultBranch:i=`master`}){try{X(`fs`,e),X(`gitdir`,r),t||X(`dir`,n);let a=new Y(e);return await Zs({fs:a,bare:t,dir:n,gitdir:await Z({fsp:a,dotgit:r}),defaultBranch:i})}catch(e){throw e.caller=`git.init`,e}}async function Pc({fs:e,cache:t,gitdir:n,oid:r,ancestor:i,depth:a}){let o=await zs.read({fs:e,gitdir:n});if(!r)throw new ba(`oid`);if(!i)throw new ba(`ancestor`);if(r===i)return!1;let s=[r],c=new Set,l=0;for(;s.length;){if(l++===a)throw new ga(a);let r=s.shift(),{type:u,object:d}=await na({fs:e,cache:t,gitdir:n,oid:r});if(u!==`commit`)throw new Ur(r,u,`commit`);let f=Ua.from(d).parse();for(let e of f.parent)if(e===i)return!0;if(!o.has(r))for(let e of f.parent)c.has(e)||(s.push(e),c.add(e))}return!1}async function Fc({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,ancestor:i,depth:a=-1,cache:o={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r),X(`ancestor`,i);let t=new Y(e);return await Pc({fs:t,cache:o,gitdir:await Z({fsp:t,dotgit:n}),oid:r,ancestor:i,depth:a})}catch(e){throw e.caller=`git.isDescendent`,e}}async function Ic({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r}){try{X(`fs`,e),X(`dir`,t),X(`gitdir`,n),X(`filepath`,r);let i=new Y(e),a=await Z({fsp:i,dotgit:n});return po.isIgnored({fs:i,dir:t,gitdir:a,filepath:r})}catch(e){throw e.caller=`git.isIgnored`,e}}async function Lc({fs:e,dir:t,gitdir:n=q(t,`.git`),remote:r}){try{X(`fs`,e),X(`gitdir`,n);let t=new Y(e),i=await Z({fsp:t,dotgit:n});return J.listBranches({fs:t,gitdir:i,remote:r})}catch(e){throw e.caller=`git.listBranches`,e}}async function Rc({fs:e,gitdir:t,ref:n,cache:r}){if(n){let i=await J.resolve({gitdir:t,fs:e,ref:n}),a=[];return await zc({fs:e,cache:r,gitdir:t,oid:i,filenames:a,prefix:``}),a}return Pr.acquire({fs:e,gitdir:t,cache:r},async function(e){return e.entries.map(e=>e.path)})}async function zc({fs:e,cache:t,gitdir:n,oid:r,filenames:i,prefix:a}){let{tree:o}=await zo({fs:e,cache:t,gitdir:n,oid:r});for(let r of o)r.type===`tree`?await zc({fs:e,cache:t,gitdir:n,oid:r.oid,filenames:i,prefix:q(a,r.path)}):i.push(q(a,r.path))}async function Bc({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n);let t=new Y(e);return await Rc({fs:t,cache:i,gitdir:await Z({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.listFiles`,e}}async function Vc({fs:e,cache:t,gitdir:n,ref:r}){let i;try{i=await J.resolve({gitdir:n,fs:e,ref:r})}catch(e){if(e instanceof Hr)return[];throw e}return(await zo({fs:e,cache:t,gitdir:n,oid:i})).tree.map(e=>({target:e.path,note:e.oid}))}async function Hc({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r=`refs/notes/commits`,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e);return await Vc({fs:t,cache:i,gitdir:await Z({fsp:t,dotgit:n}),ref:r})}catch(e){throw e.caller=`git.listNotes`,e}}async function Uc({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r}){try{X(`fs`,e),X(`gitdir`,n);let t=new Y(e),i=await Z({fsp:t,dotgit:n});return J.listRefs({fs:t,gitdir:i,filepath:r})}catch(e){throw e.caller=`git.listRefs`,e}}async function Wc({fs:e,gitdir:t}){let n=await yi.get({fs:e,gitdir:t}),r=await n.getSubsections(`remote`);return Promise.all(r.map(async e=>({remote:e,url:await n.get(`remote.${e}.url`)})))}async function Gc({fs:e,dir:t,gitdir:n=q(t,`.git`)}){try{X(`fs`,e),X(`gitdir`,n);let t=new Y(e);return await Wc({fs:t,gitdir:await Z({fsp:t,dotgit:n})})}catch(e){throw e.caller=`git.listRemotes`,e}}async function Kc(e){let t=Os.streamReader(e),n=[],r;for(;r=await t(),r!==!0;){if(r===null)continue;r=r.toString(`utf8`).replace(/\n$/,``);let[e,t,...i]=r.split(` `),a={ref:t,oid:e};for(let e of i){let[t,n]=e.split(`:`);t===`symref-target`?a.target=n:t===`peeled`&&(a.peeled=n)}n.push(a)}return n}async function qc({prefix:e,symrefs:t,peelTags:n}){let r=[];return r.push(Os.encode(`command=ls-refs
|
|
67
|
-
`)),r.push(Os.encode(`agent=${Us.agent}\n`)),(n||t||e)&&r.push(Os.delim()),n&&r.push(Os.encode(`peel`)),t&&r.push(Os.encode(`symrefs`)),e&&r.push(Os.encode(`ref-prefix ${e}`)),r.push(Os.flush()),r}async function Jc({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,url:a,headers:o={},forPush:s=!1,protocolVersion:c=2,prefix:l,symrefs:u,peelTags:d}){try{X(`http`,e),X(`url`,a);let f=await Fs.discover({http:e,onAuth:t,onAuthSuccess:n,onAuthFailure:r,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,headers:o,protocolVersion:c});if(f.protocolVersion===1)return Dc(f,l,u,d);let p=await qc({prefix:l,symrefs:u,peelTags:d});return Kc((await Fs.connect({http:e,auth:f.auth,headers:o,corsProxy:i,service:s?`git-receive-pack`:`git-upload-pack`,url:a,body:p})).body)}catch(e){throw e.caller=`git.listServerRefs`,e}}async function Yc({fs:e,dir:t,gitdir:n=q(t,`.git`)}){try{X(`fs`,e),X(`gitdir`,n);let t=new Y(e),r=await Z({fsp:t,dotgit:n});return J.listTags({fs:t,gitdir:r})}catch(e){throw e.caller=`git.listTags`,e}}function Xc(e,t){return e.committer.timestamp-t.committer.timestamp}var Zc=`e69de29bb2d1d6434b8b29ae775ad8c2e48c5391`;async function Qc({fs:e,cache:t,gitdir:n,oid:r,fileId:i}){if(i===Zc)return;let a=r,o,s=await Wa({fs:e,cache:t,gitdir:n,oid:r}),c=s.tree;return i===s.oid?o=s.path:(o=await $c({fs:e,cache:t,gitdir:n,tree:c,fileId:i,oid:a}),Array.isArray(o)&&(o.length===0?o=void 0:o.length===1&&(o=o[0]))),o}async function $c({fs:e,cache:t,gitdir:n,tree:r,fileId:i,oid:a,filepaths:o=[],parentPath:s=``}){let c=r.entries().map(function(r){let c;return r.oid===i?(c=q(s,r.path),o.push(c)):r.type===`tree`&&(c=na({fs:e,cache:t,gitdir:n,oid:r.oid}).then(function({object:c}){return $c({fs:e,cache:t,gitdir:n,tree:ki.from(c),fileId:i,oid:a,filepaths:o,parentPath:q(s,r.path)})})),c});return await Promise.all(c),o}async function el({fs:e,cache:t,gitdir:n,filepath:r,ref:i,depth:a,since:o,author:s,force:c,follow:l,includeChanges:u}){let d=o===void 0?void 0:Math.floor(o.valueOf()/1e3),f=s==null?void 0:new RegExp(s,`i`),p=({commit:e})=>f===void 0?!0:e.author?f.test(`${e.author.name} <${e.author.email}>`):!1,m=[],h=e=>{p(e)&&m.push(e)},g=await zs.read({fs:e,gitdir:n}),_=[await Mo({fs:e,cache:t,gitdir:n,oid:await J.resolve({fs:e,gitdir:n,ref:i})})],v,y,b,x;function S(e){x&&r&&h(e)}for(;_.length>0;){let i=_.pop();if(d!==void 0&&i.commit.committer.timestamp<=d)break;if(r){let a;try{a=await Lo({fs:e,cache:t,gitdir:n,oid:i.commit.tree,filepath:r}),b&&(v!==a.oid||y!==a.mode)&&h(b),v=a.oid,y=a.mode,b=i,x=!0}catch(a){if(a instanceof Hr){let o=l&&v;if(o&&(o=await Qc({fs:e,cache:t,gitdir:n,oid:i.commit.tree,fileId:v}),o)){if(Array.isArray(o)){if(b){let i=await Qc({fs:e,cache:t,gitdir:n,oid:b.commit.tree,fileId:v});if(Array.isArray(i)){if(o=o.filter(e=>i.indexOf(e)===-1),o.length===1)o=o[0],r=o,b&&h(b);else{o=!1,b&&h(b);break}}}}else r=o,b&&h(b)}if(!o){if(x&&v&&(h(b),!c))break;if(!c&&!l)throw a}b=i,x=!1}else throw a}}else h(i);if(a!==void 0&&m.length===a){S(i);break}if(!g.has(i.oid))for(let r of i.commit.parent){let i=await Mo({fs:e,cache:t,gitdir:n,oid:r});_.map(e=>e.oid).includes(i.oid)||_.push(i)}_.length===0&&S(i),_.sort((e,t)=>Xc(e.commit,t.commit))}if(u)for(let r of m)r.commit.changes=await tl({fs:e,cache:t,gitdir:n,commit:r,shallow:g.has(r.oid)});return m}async function tl({fs:e,cache:t,gitdir:n,commit:r,shallow:i}){let a=i||!r.commit.parent[0]?`4b825dc642cb6eb9a060e54bf8d69288fbee4904`:r.commit.parent[0];return $a({fs:e,cache:t,gitdir:n,trees:[Ka({ref:r.oid}),Ka({ref:a})],map:async(e,[t,n])=>{let[r,i]=await Promise.all([t&&t.type(),n&&n.type()]);if(r===`tree`)return i&&i!==`tree`?[null,await n.oid(),e]:void 0;if(i===`tree`)return r?[await t.oid(),null,e]:void 0;let[a,o]=await Promise.all([t?t.oid():null,n?n.oid():null]);if(a!==o)return[a,o,e]}})}async function nl({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r,ref:i=`HEAD`,depth:a,since:o,author:s,force:c,follow:l,includeChanges:u=!1,cache:d={}}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,i);let t=new Y(e);return await el({fs:t,cache:d,gitdir:await Z({fsp:t,dotgit:n}),filepath:r,ref:i,depth:a,since:o,author:s,force:c,follow:l,includeChanges:u})}catch(e){throw e.caller=`git.log`,e}}async function rl({fs:e,onSign:t,dir:n,gitdir:r=q(n,`.git`),ours:i,theirs:a,fastForward:o=!0,fastForwardOnly:s=!1,dryRun:c=!1,noUpdateBranch:l=!1,abortOnConflict:u=!0,message:d,author:f,committer:p,signingKey:m,cache:h={},mergeDriver:g,allowUnrelatedHistories:_=!1}){try{X(`fs`,e),m&&X(`onSign`,t);let v=new Y(e),y=await Z({fsp:v,dotgit:r}),b=await ko({fs:v,gitdir:y,author:f});if(!b&&(!s||!o))throw new ya(`author`);let x=await Ao({fs:v,gitdir:y,author:b,committer:p});if(!x&&(!s||!o))throw new ya(`committer`);return await hc({fs:v,cache:h,dir:n,gitdir:y,ours:i,theirs:a,fastForward:o,fastForwardOnly:s,dryRun:c,noUpdateBranch:l,abortOnConflict:u,message:d,author:b,committer:x,signingKey:m,onSign:t,mergeDriver:g,allowUnrelatedHistories:_})}catch(e){throw e.caller=`git.merge`,e}}var il={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function al({fs:e,cache:t,dir:n,gitdir:r=q(n,`.git`),oids:i}){let a=new Zn.default,o=[];function s(e,t){let n=Buffer.from(e,t);o.push(n),a.update(n)}async function c({stype:e,object:t}){let n=il[e],r=t.length,i=r>15?128:0,a=r&15;r>>>=4;let o=(i|n|a).toString(16);for(s(o,`hex`);i;)i=r>127?128:0,o=i|r&127,s(Ds(2,o),`hex`),r>>>=7;s(Buffer.from(await go(t)))}s(`PACK`),s(`00000002`,`hex`),s(Ds(8,i.length),`hex`);for(let n of i){let{type:i,object:a}=await na({fs:e,cache:t,gitdir:r,oid:n});await c({write:s,object:a,stype:i})}let l=a.digest();return o.push(l),o}async function ol({fs:e,cache:t,gitdir:n,oids:r,write:i}){let a=await al({fs:e,cache:t,gitdir:n,oids:r}),o=Buffer.from(await xs(a)),s=`pack-${o.slice(-20).toString(`hex`)}.pack`;return i?(await e.write(q(n,`objects/pack/${s}`),o),{filename:s}):{filename:s,packfile:new Uint8Array(o)}}async function sl({fs:e,dir:t,gitdir:n=q(t,`.git`),oids:r,write:i=!1,cache:a={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oids`,r);let t=new Y(e);return await ol({fs:t,cache:a,gitdir:await Z({fsp:t,dotgit:n}),oids:r,write:i})}catch(e){throw e.caller=`git.packObjects`,e}}async function cl({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:c=q(s,`.git`),ref:l,url:u,remote:d,remoteRef:f,prune:p=!1,pruneTags:m=!1,fastForward:h=!0,fastForwardOnly:g=!1,corsProxy:_,singleBranch:v,headers:y={},author:b,committer:x,signingKey:S,cache:C={}}){try{X(`fs`,e),X(`gitdir`,c);let w=new Y(e),T=await Z({fsp:w,dotgit:c}),E=await ko({fs:w,gitdir:T,author:b});if(!E)throw new ya(`author`);let ee=await Ao({fs:w,gitdir:T,author:E,committer:x});if(!ee)throw new ya(`committer`);return await gc({fs:w,cache:C,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,dir:s,gitdir:T,ref:l,url:u,remote:d,remoteRef:f,fastForward:h,fastForwardOnly:g,corsProxy:_,singleBranch:v,headers:y,author:E,committer:ee,signingKey:S,prune:p,pruneTags:m})}catch(e){throw e.caller=`git.pull`,e}}async function ll({fs:e,cache:t,dir:n,gitdir:r=q(n,`.git`),start:i,finish:a}){let o=await zs.read({fs:e,gitdir:r}),s=new Set,c=new Set;for(let t of i)s.add(await J.resolve({fs:e,gitdir:r,ref:t}));for(let t of a)try{let n=await J.resolve({fs:e,gitdir:r,ref:t});c.add(n)}catch{}let l=new Set;async function u(n){l.add(n);let{type:i,object:a}=await na({fs:e,cache:t,gitdir:r,oid:n});if(i===`tag`){let e=Ba.from(a).headers().object;return u(e)}if(i!==`commit`)throw new Ur(n,i,`commit`);if(!o.has(n))for(n of Ua.from(a).headers().parent)!c.has(n)&&!l.has(n)&&await u(n)}for(let e of s)await u(e);return l}async function ul({fs:e,cache:t,dir:n,gitdir:r=q(n,`.git`),oids:i}){let a=new Set;async function o(n){if(a.has(n))return;a.add(n);let{type:i,object:s}=await na({fs:e,cache:t,gitdir:r,oid:n});if(i===`tag`){let e=Ba.from(s).headers().object;await o(e)}else if(i===`commit`){let e=Ua.from(s).headers().tree;await o(e)}else if(i===`tree`){let e=ki.from(s);for(let t of e)t.type===`blob`&&a.add(t.oid),t.type===`tree`&&await o(t.oid)}}for(let e of i)await o(e);return a}async function dl(e){let t={},n=``,r=Os.streamReader(e),i=await r();for(;i!==!0;)i!==null&&(n+=i.toString(`utf8`)+`
|
|
68
|
-
`),i=await r();let a=n.toString(`utf8`).split(`
|
|
69
|
-
`);if(i=a.shift(),!i.startsWith(`unpack `))throw new Sa(`unpack ok" or "unpack [error message]`,i);t.ok=i===`unpack ok`,t.ok||(t.error=i.slice(7)),t.refs={};for(let e of a){if(e.trim()===``)continue;let n=e.slice(0,2),r=e.slice(3),i=r.indexOf(` `);i===-1&&(i=r.length);let a=r.slice(0,i),o=r.slice(i+1);t.refs[a]={ok:n===`ok`,error:o}}return t}async function fl({capabilities:e=[],triplets:t=[]}){let n=[],r=`\x00 ${e.join(` `)}`;for(let e of t)n.push(Os.encode(`${e.oldoid} ${e.oid} ${e.fullRef}${r}\n`)),r=``;return n.push(Os.flush()),n}async function pl({fs:e,cache:t,http:n,onProgress:r,onMessage:i,onAuth:a,onAuthSuccess:o,onAuthFailure:s,onPrePush:c,gitdir:l,ref:u,remoteRef:d,remote:f,url:p,force:m=!1,delete:h=!1,corsProxy:g,headers:_={},signal:v}){let y=u||await _s({fs:e,gitdir:l});if(y===void 0)throw new ba(`ref`);let b=await yi.get({fs:e,gitdir:l});f=f||await b.get(`branch.${y}.pushRemote`)||await b.get(`remote.pushDefault`)||await b.get(`branch.${y}.remote`)||`origin`;let x=p||await b.get(`remote.${f}.pushurl`)||await b.get(`remote.${f}.url`);if(x===void 0)throw new ba(`remote OR url`);let S=d||await b.get(`branch.${y}.merge`);if(x===void 0)throw new ba(`remoteRef`);g===void 0&&(g=await b.get(`http.corsProxy`));let C=await J.expand({fs:e,gitdir:l,ref:y}),w=h?`0000000000000000000000000000000000000000`:await J.resolve({fs:e,gitdir:l,ref:C}),T=Is.getRemoteHelperFor({url:x}),E=await T.discover({http:n,onAuth:Bs({config:b,onAuth:a}),onAuthSuccess:o,onAuthFailure:Bs({config:b,onAuth:s}),corsProxy:g,service:`git-receive-pack`,url:x,headers:_,protocolVersion:1,signal:v}),ee=E.auth,te;if(!S)te=C;else try{te=await J.expandAgainstMap({ref:S,map:E.refs})}catch(e){if(e instanceof Hr)te=S.startsWith(`refs/`)?S:`refs/heads/${S}`;else throw e}let D=E.refs.get(te)||`0000000000000000000000000000000000000000`;if(c&&!await c({remote:f,url:x,localRef:{ref:h?`(delete)`:C,oid:w},remoteRef:{ref:te,oid:D}}))throw new Oa;let ne=!E.capabilities.has(`no-thin`),O=new Set;if(!h){let n=[...E.refs.values()],r=new Set;if(D!==`0000000000000000000000000000000000000000`){let i=[];try{i=await mc({fs:e,cache:t,gitdir:l,oids:[w,D]})}catch{i=[]}for(let e of i)n.push(e);ne&&(r=await ul({fs:e,cache:t,gitdir:l,oids:i}))}if(n.includes(w)||(O=await ul({fs:e,cache:t,gitdir:l,oids:await ll({fs:e,cache:t,gitdir:l,start:[w],finish:n})})),ne){try{let n=await J.resolve({fs:e,gitdir:l,ref:`refs/remotes/${f}/HEAD`,depth:2}),{oid:i}=await J.resolveAgainstMap({ref:n.replace(`refs/remotes/${f}/`,``),fullref:n,map:E.refs}),a=[i];for(let n of await ul({fs:e,cache:t,gitdir:l,oids:a}))r.add(n)}catch{}for(let e of r)O.delete(e)}if(w===D&&(m=!0),!m){if(C.startsWith(`refs/tags`)&&D!==`0000000000000000000000000000000000000000`)throw new Ca(`tag-exists`);if(w!==`0000000000000000000000000000000000000000`&&D!==`0000000000000000000000000000000000000000`&&!await Pc({fs:e,cache:t,gitdir:l,oid:w,ancestor:D,depth:-1}))throw new Ca(`not-fast-forward`)}}let k=await fl({capabilities:Hs([...E.capabilities],[`report-status`,`side-band-64k`,`agent=${Us.agent}`]),triplets:[{oldoid:D,oid:w,fullRef:te}]}),re=h?[]:await al({fs:e,cache:t,gitdir:l,oids:[...O]}),A=await T.connect({http:n,onProgress:r,corsProxy:g,service:`git-receive-pack`,url:x,auth:ee,headers:_,body:[...k,...re],signal:v}),{packfile:ie,progress:ae}=await qs.demux(A.body);i&&bs(Ks(ae),async e=>{await i(e)});let oe=await dl(ie);if(A.headers&&(oe.headers=A.headers),f&&oe.ok&&oe.refs[te].ok&&!C.startsWith(`refs/tags`)){let t=`refs/remotes/${f}/${te.replace(`refs/heads/`,``)}`;h?await J.deleteRef({fs:e,gitdir:l,ref:t}):await J.writeRef({fs:e,gitdir:l,ref:t,value:w})}if(oe.ok&&Object.values(oe.refs).every(e=>e.ok))return oe;throw new pa(Object.entries(oe.refs).filter(([e,t])=>!t.ok).map(([e,t])=>`\n - ${e}: ${t.error}`).join(``),oe)}async function ml({fs:e,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPrePush:s,dir:c,gitdir:l=q(c,`.git`),ref:u,remoteRef:d,remote:f=`origin`,url:p,force:m=!1,delete:h=!1,corsProxy:g,headers:_={},cache:v={},signal:y}){try{X(`fs`,e),X(`http`,t),X(`gitdir`,l);let c=new Y(e);return await pl({fs:c,cache:v,http:t,onProgress:n,onMessage:r,onAuth:i,onAuthSuccess:a,onAuthFailure:o,onPrePush:s,gitdir:await Z({fsp:c,dotgit:l}),ref:u,remoteRef:d,remote:f,url:p,force:m,delete:h,corsProxy:g,headers:_,signal:y})}catch(e){throw e.caller=`git.push`,e}}async function hl({fs:e,cache:t,gitdir:n,oid:r}){let{type:i,object:a}=await na({fs:e,cache:t,gitdir:n,oid:r});if(i===`tag`)return r=Ba.from(a).parse().object,hl({fs:e,cache:t,gitdir:n,oid:r});if(i!==`blob`)throw new Ur(r,i,`blob`);return{oid:r,blob:new Uint8Array(a)}}async function gl({fs:e,cache:t,gitdir:n,oid:r,filepath:i=void 0}){return i!==void 0&&(r=await Io({fs:e,cache:t,gitdir:n,oid:r,filepath:i})),await hl({fs:e,cache:t,gitdir:n,oid:r})}async function _l({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,filepath:i,cache:a={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r);let t=new Y(e);return await gl({fs:t,cache:a,gitdir:await Z({fsp:t,dotgit:n}),oid:r,filepath:i})}catch(e){throw e.caller=`git.readBlob`,e}}async function vl({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r);let t=new Y(e);return await Mo({fs:t,cache:i,gitdir:await Z({fsp:t,dotgit:n}),oid:r})}catch(e){throw e.caller=`git.readCommit`,e}}async function yl({fs:e,cache:t,gitdir:n,ref:r=`refs/notes/commits`,oid:i}){let{blob:a}=await gl({fs:e,cache:t,gitdir:n,oid:await J.resolve({gitdir:n,fs:e,ref:r}),filepath:i});return a}async function bl({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r=`refs/notes/commits`,oid:i,cache:a={}}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r),X(`oid`,i);let t=new Y(e);return await yl({fs:t,cache:a,gitdir:await Z({fsp:t,dotgit:n}),ref:r,oid:i})}catch(e){throw e.caller=`git.readNote`,e}}async function xl({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,format:i=`parsed`,filepath:a=void 0,encoding:o=void 0,cache:s={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r);let t=new Y(e),c=await Z({fsp:t,dotgit:n});a!==void 0&&(r=await Io({fs:t,cache:s,gitdir:c,oid:r,filepath:a}));let l=await na({fs:t,cache:s,gitdir:c,oid:r,format:i===`parsed`?`content`:i});if(l.oid=r,i===`parsed`)switch(l.format=`parsed`,l.type){case`commit`:l.object=Ua.from(l.object).parse();break;case`tree`:l.object=ki.from(l.object).entries();break;case`blob`:o?l.object=l.object.toString(o):(l.object=new Uint8Array(l.object),l.format=`content`);break;case`tag`:l.object=Ba.from(l.object).parse();break;default:throw new Ur(l.oid,l.type,`blob|commit|tag|tree`)}else(l.format===`deflated`||l.format===`wrapped`)&&(l.type=l.format);return l}catch(e){throw e.caller=`git.readObject`,e}}async function Sl({fs:e,cache:t,gitdir:n,oid:r}){let{type:i,object:a}=await na({fs:e,cache:t,gitdir:n,oid:r,format:`content`});if(i!==`tag`)throw new Ur(r,i,`tag`);let o=Ba.from(a);return{oid:r,tag:o.parse(),payload:o.payload()}}async function Cl({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r);let t=new Y(e);return await Sl({fs:t,cache:i,gitdir:await Z({fsp:t,dotgit:n}),oid:r})}catch(e){throw e.caller=`git.readTag`,e}}async function wl({fs:e,dir:t,gitdir:n=q(t,`.git`),oid:r,filepath:i=void 0,cache:a={}}){try{X(`fs`,e),X(`gitdir`,n),X(`oid`,r);let t=new Y(e);return await zo({fs:t,cache:a,gitdir:await Z({fsp:t,dotgit:n}),oid:r,filepath:i})}catch(e){throw e.caller=`git.readTree`,e}}async function Tl({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r,cache:i={}}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,r);let t=new Y(e),a=await Z({fsp:t,dotgit:n});await Pr.acquire({fs:t,gitdir:a,cache:i},async function(e){let t=Array.isArray(r)?r:[r];for(let n of t)e.delete({filepath:n})})}catch(e){throw e.caller=`git.remove`,e}}async function El({fs:e,cache:t,onSign:n,gitdir:r,ref:i=`refs/notes/commits`,oid:a,author:o,committer:s,signingKey:c}){let l;try{l=await J.resolve({gitdir:r,fs:e,ref:i})}catch(e){if(!(e instanceof Hr))throw e}let u=(await zo({fs:e,cache:t,gitdir:r,oid:l||`4b825dc642cb6eb9a060e54bf8d69288fbee4904`})).tree;return u=u.filter(e=>e.path!==a),await Po({fs:e,cache:t,onSign:n,gitdir:r,ref:i,tree:await Bo({fs:e,gitdir:r,tree:u}),parent:l&&[l],message:`Note removed by 'isomorphic-git removeNote'
|
|
70
|
-
`,author:o,committer:s,signingKey:c})}async function Dl({fs:e,onSign:t,dir:n,gitdir:r=q(n,`.git`),ref:i=`refs/notes/commits`,oid:a,author:o,committer:s,signingKey:c,cache:l={}}){try{X(`fs`,e),X(`gitdir`,r),X(`oid`,a);let n=new Y(e),u=await Z({fsp:n,dotgit:r}),d=await ko({fs:n,gitdir:u,author:o});if(!d)throw new ya(`author`);let f=await Ao({fs:n,gitdir:u,author:d,committer:s});if(!f)throw new ya(`committer`);return await El({fs:n,cache:l,onSign:t,gitdir:u,ref:i,oid:a,author:d,committer:f,signingKey:c})}catch(e){throw e.caller=`git.removeNote`,e}}async function Ol({fs:e,gitdir:t,oldref:n,ref:r,checkout:i=!1}){if(!Qr(r,!0))throw new Gr(r,$n.default.clean(r));if(!Qr(n,!0))throw new Gr(n,$n.default.clean(n));let a=`refs/heads/${n}`,o=`refs/heads/${r}`;if(await J.exists({fs:e,gitdir:t,ref:o}))throw new ra(`branch`,r,!1);let s=await J.resolve({fs:e,gitdir:t,ref:a,depth:1});await J.writeRef({fs:e,gitdir:t,ref:o,value:s}),await J.deleteRef({fs:e,gitdir:t,ref:a});let c=await _s({fs:e,gitdir:t,fullname:!0})===a;(i||c)&&await J.writeSymbolicRef({fs:e,gitdir:t,ref:`HEAD`,value:o})}async function kl({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r,oldref:i,checkout:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r),X(`oldref`,i);let t=new Y(e);return await Ol({fs:t,gitdir:await Z({fsp:t,dotgit:n}),ref:r,oldref:i,checkout:a})}catch(e){throw e.caller=`git.renameBranch`,e}}async function Al({gitdir:e,type:t,object:n}){return yr(Ai.wrap({type:t,object:n}))}async function jl({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r,ref:i,cache:a={}}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,r);let o=new Y(e),s=await Z({fsp:o,dotgit:n}),c,l;try{c=await J.resolve({fs:o,gitdir:s,ref:i||`HEAD`})}catch(e){if(i||!(e instanceof Hr))throw e}if(c)try{c=await Io({fs:o,cache:a,gitdir:s,oid:c,filepath:r})}catch(e){if(!(e instanceof Hr)&&!(e instanceof ha)&&!(e instanceof Ur&&e.data.filepath))throw e;c=null}let u={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},d=t&&await o.read(q(t,r));d&&(l=await Al({gitdir:s,type:`blob`,object:d}),c===l&&(u=await o.lstat(q(t,r)))),await Pr.acquire({fs:o,gitdir:s,cache:a},async function(e){e.delete({filepath:r}),c&&e.insert({filepath:r,stats:u,oid:c})})}catch(e){throw e.caller=`git.reset`,e}}async function Ml({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r,depth:i}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e),a=await Z({fsp:t,dotgit:n});return await J.resolve({fs:t,gitdir:a,ref:r,depth:i})}catch(e){throw e.caller=`git.resolveRef`,e}}async function Nl({fs:e,dir:t,gitdir:n=q(t,`.git`),path:r,value:i,append:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`path`,r);let t=new Y(e),o=await Z({fsp:t,dotgit:n}),s=await yi.get({fs:t,gitdir:o});a?await s.append(r,i):await s.set(r,i),await yi.save({fs:t,gitdir:o,config:s})}catch(e){throw e.caller=`git.setConfig`,e}}async function Pl({fs:e,gitdir:t,commit:n}){return await yo({fs:e,gitdir:t,type:`commit`,object:Ua.from(n).toObject(),format:`content`})}var Fl=class e{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),t=Math.abs(Math.floor(e/60)),n=Math.abs(e%60).toString().padStart(2,`0`);return`${e>0?`-`:`+`}${t.toString().padStart(2,`0`)}${n}`}static createStashReflogEntry(t,n,r){let i=t.name.replace(/\s/g,``),a=Math.floor(Date.now()/1e3),o=e.timezoneOffsetForRefLogEntry;return`0000000000000000000000000000000000000000 ${n} ${i} ${t.email} ${a} ${o}\t${r}\n`}static getStashReflogEntry(e,t=!1){return e.split(`
|
|
71
|
-
`).filter(e=>e).reverse().map((e,n)=>t?`stash@{${n}}: ${e.split(` `)[1]}`:e)}},Il=class e{constructor({fs:e,dir:t,gitdir:n=q(t,`.git`)}){Object.assign(this,{fs:e,dir:t,gitdir:n,_author:null})}static get refStash(){return`refs/stash`}static get refLogsStash(){return`logs/refs/stash`}get refStashPath(){return q(this.gitdir,e.refStash)}get refLogsStashPath(){return q(this.gitdir,e.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await ko({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new ya(`author`);return this._author}async getStashSHA(e,t){return await this.fs.exists(this.refStashPath)?(t||await this.readStashReflogs({parsed:!1}))[e].split(` `)[1]:null}async writeStashCommit({message:e,tree:t,parent:n}){return Pl({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:t,parent:n,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let t=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>t.length-1))throw new Gr(`stash@${e}`,`number that is in range of [0, num of stash pushed]`);let n=await this.getStashSHA(e,t);return n?Mo({fs:this.fs,cache:{},gitdir:this.gitdir,oid:n}):{}}async writeStashRef(t){return J.writeRef({fs:this.fs,gitdir:this.gitdir,ref:e.refStash,value:t})}async writeStashReflogEntry({stashCommit:e,message:t}){let n=await this.getAuthor(),r=Fl.createStashReflogEntry(n,e,t),i=this.refLogsStashPath;await kr(i,async()=>{let e=await this.fs.exists(i)?await this.fs.read(i,`utf8`):``;await this.fs.write(i,e+r,`utf8`)})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let t=await this.fs.read(this.refLogsStashPath,`utf8`);return Fl.getStashReflogEntry(t,e)}};async function Ll({fs:e,dir:t,gitdir:n,message:r=``}){let i=new Il({fs:e,dir:t,gitdir:n});await i.getAuthor();let a=await _s({fs:e,gitdir:n,fullname:!1}),o=await J.resolve({fs:e,gitdir:n,ref:`HEAD`}),s=(await vl({fs:e,dir:t,gitdir:n,oid:o})).commit.message,c=[o],l=null,u=Ka({ref:`HEAD`}),d=await us({fs:e,dir:t,gitdir:n,treePair:[Ka({ref:`HEAD`}),`stage`]});if(d){let e=await i.writeStashCommit({message:`stash-Index: WIP on ${a} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(e),l=d,u=Vr()}let f=await us({fs:e,dir:t,gitdir:n,treePair:[u,`workdir`]});if(f){let e=await i.writeStashCommit({message:`stash-WorkDir: WIP on ${a} - ${new Date().toISOString()}`,tree:f,parent:[c[c.length-1]]});c.push(e),l=f}if(!l||!d&&!f)throw new Hr(`changes, nothing to stash`);let p=(r.trim()||`WIP on ${a}`)+`: ${o.substring(0,7)} ${s}`;return{stashCommit:await i.writeStashCommit({message:p,tree:l,parent:c}),stashMsg:p,branch:a,stashMgr:i}}async function Rl({fs:e,dir:t,gitdir:n,message:r=``}){let{stashCommit:i,stashMsg:a,branch:o,stashMgr:s}=await Ll({fs:e,dir:t,gitdir:n,message:r});return await s.writeStashRef(i),await s.writeStashReflogEntry({stashCommit:i,message:a}),await ns({fs:e,dir:t,gitdir:n,ref:o,track:!1,force:!0}),i}async function zl({fs:e,dir:t,gitdir:n,message:r=``}){let{stashCommit:i}=await Ll({fs:e,dir:t,gitdir:n,message:r});return i}async function Bl({fs:e,dir:t,gitdir:n,refIdx:r=0}){let i=await new Il({fs:e,dir:t,gitdir:n}).readStashCommit(r),{parent:a=null}=i.commit?i.commit:{};if(a&&Array.isArray(a))for(let r=0;r<a.length-1;r++){let i=(await Mo({fs:e,cache:{},gitdir:n,oid:a[r+1]})).commit.message.startsWith(`stash-Index`);await ds({fs:e,dir:t,gitdir:n,stashCommit:a[r+1],parentCommit:a[r],wasStaged:i})}}async function Vl({fs:e,dir:t,gitdir:n,refIdx:r=0}){let i=new Il({fs:e,dir:t,gitdir:n});if(!(await i.readStashCommit(r)).commit)return;let a=i.refStashPath;await kr(a,async()=>{await e.exists(a)&&await e.rm(a)});let o=await i.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(r,1);let s=i.refLogsStashPath;await kr(s,async()=>{if(o.length){await e.write(s,o.reverse().join(`
|
|
72
|
-
`)+`
|
|
73
|
-
`,`utf8`);let t=o[o.length-1].split(` `)[1];await i.writeStashRef(t)}else await e.rm(s)})}async function Hl({fs:e,dir:t,gitdir:n}){return new Il({fs:e,dir:t,gitdir:n}).readStashReflogs({parsed:!0})}async function Ul({fs:e,dir:t,gitdir:n}){let r=new Il({fs:e,dir:t,gitdir:n}),i=[r.refStashPath,r.refLogsStashPath];await kr(i,async()=>{await Promise.all(i.map(async t=>{if(await e.exists(t))return e.rm(t)}))})}async function Wl({fs:e,dir:t,gitdir:n,refIdx:r=0}){await Bl({fs:e,dir:t,gitdir:n,refIdx:r}),await Vl({fs:e,dir:t,gitdir:n,refIdx:r})}async function Gl({fs:e,dir:t,gitdir:n=q(t,`.git`),op:r=`push`,message:i=``,refIdx:a=0}){X(`fs`,e),X(`dir`,t),X(`gitdir`,n),X(`op`,r);let o={push:Rl,apply:Bl,drop:Vl,list:Hl,clear:Ul,pop:Wl,create:zl},s=[`apply`,`drop`,`pop`];try{let c=new Y(e),l=await Z({fsp:c,dotgit:n});[`refs`,`logs`,`logs/refs`].map(e=>q(l,e)).forEach(async e=>{await c.exists(e)||await c.mkdir(e)});let u=o[r];if(u){if(s.includes(r)&&a<0)throw new Gr(`stash@${a}`,`number that is in range of [0, num of stash pushed]`);return await u({fs:c,dir:t,gitdir:l,message:i,refIdx:a})}throw Error(`To be implemented: ${r}`)}catch(e){throw e.caller=`git.stash`,e}}async function Kl({fs:e,dir:t,gitdir:n=q(t,`.git`),filepath:r,cache:i={},refresh:a=!0}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,r);let o=new Y(e),s=await Z({fsp:o,dotgit:n}),c=await Jl({fs:o,cache:i,gitdir:s,tree:await Yl({fs:o,cache:i,gitdir:s}),path:r}),l=await Pr.acquire({fs:o,gitdir:s,cache:i},async function(e){for(let t of e)if(t.path===r)return t;return null});if(c===null&&l===null&&await po.isIgnored({fs:o,gitdir:s,dir:t,filepath:r}))return`ignored`;let u=await o.lstat(q(t,r)),d=c!==null,f=l!==null,p=u!==null&&(d||f||await ql({fs:o,dir:t,filepath:r})),m=async()=>{if(f&&!Er(l,u))return l.oid;{let e=await(await yi.get({fs:o,gitdir:s})).get(`core.autocrlf`),n=await o.read(q(t,r),{autocrlf:e}),c=await Al({gitdir:s,type:`blob`,object:n});return a&&f&&l.oid===c&&u.size!==-1&&await Pr.acquire({fs:o,gitdir:s,cache:i},async function(e){e.insert({filepath:r,stats:u,oid:c})}),c}};if(!d&&!p&&!f)return`absent`;if(!d&&!p&&f)return`*absent`;if(!d&&p&&!f)return`*added`;if(!d&&p&&f)return await m()===l.oid?`added`:`*added`;if(d&&!p&&!f)return`deleted`;if(d&&!p&&f)return l.oid,`*deleted`;if(d&&p&&!f)return await m()===c?`*undeleted`:`*undeletemodified`;if(d&&p&&f){let e=await m();return e===c?e===l.oid?`unmodified`:`*unmodified`:e===l.oid?`modified`:`*modified`}}catch(e){throw e.caller=`git.status`,e}}async function ql({fs:e,dir:t,filepath:n}){let r=n.replace(/\\/g,`/`).split(`/`).filter(e=>e!==``&&e!==`.`),i=t;for(let t of r){let n;try{n=await e._readdir(i)}catch(e){if(e.code===`ENOENT`||e.code===`ENOTDIR`)return!1;throw e}if(!n.some(e=>e.normalize()===t.normalize()))return!1;i=q(i,t)}return!0}async function Jl({fs:e,cache:t,gitdir:n,tree:r,path:i}){typeof i==`string`&&(i=i.split(`/`));let a=i.shift();for(let o of r)if(o.path===a){if(i.length===0)return o.oid;let{type:r,object:a}=await na({fs:e,cache:t,gitdir:n,oid:o.oid});if(r===`tree`)return Jl({fs:e,cache:t,gitdir:n,tree:ki.from(a),path:i});if(r===`blob`)throw new Ur(o.oid,r,`blob`,i.join(`/`))}return null}async function Yl({fs:e,cache:t,gitdir:n}){let r;try{r=await J.resolve({fs:e,gitdir:n,ref:`HEAD`})}catch(e){if(e instanceof Hr)return[];throw e}let{tree:i}=await zo({fs:e,cache:t,gitdir:n,oid:r});return i}async function Xl({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r=`HEAD`,filepaths:i=[`.`],filter:a,cache:o={},ignored:s=!1,refresh:c=!0}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let l=new Y(e);return await $a({fs:l,cache:o,dir:t,gitdir:await Z({fsp:l,dotgit:n}),trees:[Ka({ref:r}),Ja({refresh:c}),Vr()],map:async function(e,[n,r,o]){if(!n&&!o&&r&&!s&&await po.isIgnored({fs:l,dir:t,filepath:e})||!i.some(t=>Xo(e,t)))return null;if(a&&!a(e))return;let[c,u,d]=await Promise.all([n&&n.type(),r&&r.type(),o&&o.type()]),f=[c,u,d].includes(`blob`);if((c===`tree`||c===`special`)&&!f)return;if(c===`commit`)return null;if((u===`tree`||u===`special`)&&!f)return;if(d===`commit`)return null;if((d===`tree`||d===`special`)&&!f)return;let p=c===`blob`?await n.oid():void 0,m=d===`blob`?await o.oid():void 0,h;c!==`blob`&&u===`blob`&&d!==`blob`?h=`42`:u===`blob`&&(h=await r.oid());let g=[void 0,p,h,m],_=g.map(e=>g.indexOf(e));return _.shift(),[e,..._]}})}catch(e){throw e.caller=`git.statusMatrix`,e}}async function Zl({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r,object:i,force:a=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r);let t=new Y(e);if(r===void 0)throw new ba(`ref`);r=r.startsWith(`refs/tags/`)?r:`refs/tags/${r}`;let o=await Z({fsp:t,dotgit:n}),s=await J.resolve({fs:t,gitdir:o,ref:i||`HEAD`});if(!a&&await J.exists({fs:t,gitdir:o,ref:r}))throw new ra(`tag`,r);await J.writeRef({fs:t,gitdir:o,ref:r,value:s})}catch(e){throw e.caller=`git.tag`,e}}async function Ql({fs:e,dir:t,gitdir:n=q(t,`.git`),cache:r={},filepath:i,oid:a,mode:o,add:s,remove:c,force:l}){try{X(`fs`,e),X(`gitdir`,n),X(`filepath`,i);let u=new Y(e),d=await Z({fsp:u,dotgit:n});if(c)return await Pr.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!l){let e=await u.lstat(q(t,i));if(e){if(e.isDirectory())throw new ha(`directory`);return}}e.has({filepath:i})&&e.delete({filepath:i})});let f;if(!a){if(f=await u.lstat(q(t,i)),!f)throw new Hr(`file at "${i}" on disk and "remove" not set`);if(f.isDirectory())throw new ha(`directory`)}return await Pr.acquire({fs:u,gitdir:d,cache:r},async function(e){if(!s&&!e.has({filepath:i}))throw new Hr(`file at "${i}" in index and "add" not set`);let n;if(a)n={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:o,uid:0,gid:0,size:0};else{n=f;let e=n.isSymbolicLink()?await u.readlink(q(t,i)):await u.read(q(t,i));a=await yo({fs:u,gitdir:d,type:`blob`,format:`content`,object:e})}return e.insert({filepath:i,oid:a,stats:n}),a})}catch(e){throw e.caller=`git.updateIndex`,e}}function $l(){try{return Us.version}catch(e){throw e.caller=`git.version`,e}}async function eu({fs:e,dir:t,gitdir:n=q(t,`.git`),trees:r,map:i,reduce:a,iterate:o,cache:s={}}){try{X(`fs`,e),X(`gitdir`,n),X(`trees`,r);let c=new Y(e);return await $a({fs:c,cache:s,dir:t,gitdir:await Z({fsp:c,dotgit:n}),trees:r,map:i,reduce:a,iterate:o})}catch(e){throw e.caller=`git.walk`,e}}async function tu({fs:e,dir:t,gitdir:n=q(t,`.git`),blob:r}){try{X(`fs`,e),X(`gitdir`,n),X(`blob`,r);let t=new Y(e);return await yo({fs:t,gitdir:await Z({fsp:t,dotgit:n}),type:`blob`,object:r,format:`content`})}catch(e){throw e.caller=`git.writeBlob`,e}}async function nu({fs:e,dir:t,gitdir:n=q(t,`.git`),commit:r}){try{X(`fs`,e),X(`gitdir`,n),X(`commit`,r);let t=new Y(e);return await Pl({fs:t,gitdir:await Z({fsp:t,dotgit:n}),commit:r})}catch(e){throw e.caller=`git.writeCommit`,e}}async function ru({fs:e,dir:t,gitdir:n=q(t,`.git`),type:r,object:i,format:a=`parsed`,oid:o,encoding:s=void 0}){try{let t=new Y(e),c=await Z({fsp:t,dotgit:n});if(a===`parsed`){switch(r){case`commit`:i=Ua.from(i).toObject();break;case`tree`:i=ki.from(i).toObject();break;case`blob`:i=Buffer.from(i,s);break;case`tag`:i=Ba.from(i).toObject();break;default:throw new Ur(o||``,r,`blob|commit|tag|tree`)}a=`content`}return o=await yo({fs:t,gitdir:c,type:r,object:i,oid:o,format:a}),o}catch(e){throw e.caller=`git.writeObject`,e}}async function iu({fs:e,dir:t,gitdir:n=q(t,`.git`),ref:r,value:i,force:a=!1,symbolic:o=!1}){try{X(`fs`,e),X(`gitdir`,n),X(`ref`,r),X(`value`,i);let t=new Y(e);if(!Qr(r,!0))throw new Gr(r,$n.default.clean(r));let s=await Z({fsp:t,dotgit:n});if(!a&&await J.exists({fs:t,gitdir:s,ref:r}))throw new ra(`ref`,r);o?await J.writeSymbolicRef({fs:t,gitdir:s,ref:r,value:i}):(i=await J.resolve({fs:t,gitdir:s,ref:i}),await J.writeRef({fs:t,gitdir:s,ref:r,value:i}))}catch(e){throw e.caller=`git.writeRef`,e}}async function au({fs:e,gitdir:t,tag:n}){return await yo({fs:e,gitdir:t,type:`tag`,object:Ba.from(n).toObject(),format:`content`})}async function ou({fs:e,dir:t,gitdir:n=q(t,`.git`),tag:r}){try{X(`fs`,e),X(`gitdir`,n),X(`tag`,r);let t=new Y(e);return await au({fs:t,gitdir:await Z({fsp:t,dotgit:n}),tag:r})}catch(e){throw e.caller=`git.writeTag`,e}}async function su({fs:e,dir:t,gitdir:n=q(t,`.git`),tree:r}){try{X(`fs`,e),X(`gitdir`,n),X(`tree`,r);let t=new Y(e);return await Bo({fs:t,gitdir:await Z({fsp:t,dotgit:n}),tree:r})}catch(e){throw e.caller=`git.writeTree`,e}}var Q={Errors:ja,STAGE:Vr,TREE:Ka,WORKDIR:Ja,add:xo,abortMerge:fo,addNote:Ho,addRemote:Wo,annotatedTag:Ko,branch:Jo,cherryPick:ms,checkout:ns,clone:$s,commit:ec,getConfig:Sc,getConfigAll:wc,setConfig:Nl,currentBranch:tc,deleteBranch:rc,deleteRef:ic,deleteRemote:oc,deleteTag:cc,expandOid:fc,expandRef:pc,fastForward:_c,fetch:vc,findMergeBase:yc,findRoot:xc,getRemoteInfo:Ec,getRemoteInfo2:Oc,hashBlob:Ac,indexPack:Mc,init:Nc,isDescendent:Fc,isIgnored:Ic,listBranches:Lc,listFiles:Bc,listNotes:Hc,listRefs:Uc,listRemotes:Gc,listServerRefs:Jc,listTags:Yc,log:nl,merge:rl,packObjects:sl,pull:cl,push:ml,readBlob:_l,readCommit:vl,readNote:bl,readObject:xl,readTag:Cl,readTree:wl,remove:Tl,removeNote:Dl,renameBranch:kl,resetIndex:jl,updateIndex:Ql,resolveRef:Ml,status:Kl,statusMatrix:Xl,tag:Zl,version:$l,walk:eu,writeBlob:tu,writeCommit:nu,writeObject:ru,writeRef:iu,writeTag:ou,writeTree:su,stash:Gl};async function cu(){let e=new Xn.default(`ramulus-demo`,{wipe:!0}),t=`/demo`,n={name:`Sam Rivera`,email:`sam@example.com`},r=Math.floor(Date.now()/1e3)-2592e3,i=()=>r+=25200,a=(n,r)=>e.promises.writeFile(`${t}/${n}`,r),o=async(r,a=n)=>{let o=i();return Q.commit({fs:e,dir:t,message:r,author:{...a,timestamp:o},committer:{...a,timestamp:o}})};await e.promises.mkdir(t),await Q.init({fs:e,dir:t,defaultBranch:`main`}),await Q.setConfig({fs:e,dir:t,path:`user.name`,value:n.name}),await Q.setConfig({fs:e,dir:t,path:`user.email`,value:n.email}),await a(`README.md`,`# Demo project
|
|
74
|
-
|
|
75
|
-
A small repository to try Ramulus.
|
|
76
|
-
`),await Q.add({fs:e,dir:t,filepath:`README.md`}),await o(`Initial commit`),await a(`src.js`,`export const answer = 42
|
|
77
|
-
`),await Q.add({fs:e,dir:t,filepath:`src.js`}),await o(`Add the first module`),await Q.branch({fs:e,dir:t,ref:`feature/login`,checkout:!0}),await a(`login.js`,`export function login() {}
|
|
78
|
-
`),await Q.add({fs:e,dir:t,filepath:`login.js`}),await o(`Start the login form`,{name:`Ana Kim`,email:`ana@example.com`}),await a(`login.js`,`export function login(user) {
|
|
79
|
-
return user
|
|
80
|
-
}
|
|
81
|
-
`),await Q.add({fs:e,dir:t,filepath:`login.js`}),await o(`Accept a user in login`,{name:`Ana Kim`,email:`ana@example.com`}),await Q.checkout({fs:e,dir:t,ref:`main`}),await a(`src.js`,`export const answer = 42
|
|
82
|
-
export const greeting = "hi"
|
|
83
|
-
`),await Q.add({fs:e,dir:t,filepath:`src.js`}),await o(`Add a greeting`);let s=i();return await Q.merge({fs:e,dir:t,ours:`main`,theirs:`feature/login`,author:{...n,timestamp:s},message:`Merge feature/login into main`}),await Q.checkout({fs:e,dir:t,ref:`main`}),await Q.tag({fs:e,dir:t,ref:`v1.0`}),await Q.branch({fs:e,dir:t,ref:`experiment/cache`,checkout:!0}),await a(`cache.js`,`export const cache = new Map()
|
|
84
|
-
`),await Q.add({fs:e,dir:t,filepath:`cache.js`}),await o(`Sketch a cache`,{name:`Ana Kim`,email:`ana@example.com`}),await Q.checkout({fs:e,dir:t,ref:`main`}),await a(`README.md`,`# Demo project
|
|
85
|
-
|
|
86
|
-
A small repository to try Ramulus.
|
|
87
|
-
|
|
88
|
-
Edit me, stage me, commit me.
|
|
89
|
-
`),await a(`notes.txt`,`untracked scratch file
|
|
90
|
-
`),{fs:e,dir:t,cache:{}}}function lu(e){let t=e.findIndex(e=>e===void 0);return t>=0?t:(e.push(void 0),e.length-1)}function uu(e,t){let n=e.get(t);return n||(n={},e.set(t,n)),n}function du(e){let t=[],n=[],r=0;for(let i of e){let e=new Map,a;t.forEach((n,r)=>{n&&(n.parent===i.id?(uu(e,r).ending=n,a===void 0?a=r:t[r]=void 0):uu(e,r).pass=n)}),a===void 0&&(a=lu(t));let[o,...s]=i.parents;t[a]=o?{parent:o,kind:i.kind}:void 0,t[a]&&(uu(e,a).starting=t[a]);for(let n of s){let r={parent:n,kind:i.kind},a=t.findIndex(e=>e?.parent===n);a<0&&(a=lu(t),t[a]=r),uu(e,a).starting=r}for(;t.length>0&&t[t.length-1]===void 0;)t.pop();r=Math.max(r,a,...e.keys()),n.push({column:a,edges:e})}return{rows:n,maxCol:r}}function fu(e,t){let n=async(n,r={})=>{let i=await fetch(`${e}/api/${n}`,{method:`POST`,headers:{"content-type":`application/json`,"x-ramulus-token":t},body:JSON.stringify(r)}),a=await i.json().catch(()=>({error:`${i.status} ${i.statusText}`}));if(!i.ok||a.error)throw Error(a.error??`Request failed`);return a.result};return{native:!0,load:async e=>{let t=await n(`load`,{limit:e});return{...t,refsByOid:new Map(Object.entries(t.refsByOid))}},status:()=>n(`status`),commitFiles:e=>n(`commitFiles`,{oid:e}),diffLines:(e,t)=>n(`diff`,{area:e,path:t}),stage:e=>n(`stage`,{paths:e.map(e=>e.path)}),unstage:e=>n(`unstage`,{paths:e}),discard:e=>n(`discard`,{files:e}),commit:(e,t)=>n(`commit`,{message:e,amend:t}),checkoutBranch:e=>n(`checkoutBranch`,{name:e}),checkoutRemote:e=>n(`checkoutRemote`,{name:e}),checkoutCommit:e=>n(`checkoutCommit`,{oid:e}),createBranch:(e,t,r)=>n(`createBranch`,{name:e,at:t,checkout:r}),deleteBranch:e=>n(`deleteBranch`,{name:e}),renameBranch:(e,t)=>n(`renameBranch`,{oldName:e,newName:t}),createTag:(e,t,r)=>n(`createTag`,{name:e,at:t,message:r}),deleteTag:e=>n(`deleteTag`,{name:e}),stashSave:e=>n(`stashSave`,{message:e}),stashApply:(e,t)=>n(`stashApply`,{index:e,pop:t}),stashDrop:e=>n(`stashDrop`,{index:e}),merge:e=>n(`merge`,{branch:e}),reset:(e,t,r)=>n(`reset`,{oid:t,mode:r}),fetchAll:()=>n(`fetchAll`),pull:e=>n(`pull`,{mode:e}),push:()=>n(`push`),rebase:e=>n(`rebase`,{onto:e}),cherryPick:e=>n(`cherryPick`,{oid:e}),revert:e=>n(`revert`,{oid:e}),abort:()=>n(`abort`),continueOp:()=>n(`continue`),subscribe:n=>{let r=new EventSource(`${e}/api/events?token=${t}`);return r.onmessage=()=>n(),()=>r.close()}}}function pu(e){let t=[e];return{next(){return Promise.resolve({done:t.length===0,value:t.pop()})},return(){return t=[],{}},[Symbol.asyncIterator](){return this}}}function mu(e){return e[Symbol.asyncIterator]?e[Symbol.asyncIterator]():e[Symbol.iterator]?e[Symbol.iterator]():e.next?e:pu(e)}async function hu(e,t){let n=mu(e);for(;;){let{value:e,done:r}=await n.next();if(e&&await t(e),r)break}n.return&&n.return()}async function gu(e){let t=0,n=[];await hu(e,e=>{n.push(e),t+=e.byteLength});let r=new Uint8Array(t),i=0;for(let e of n)r.set(e,i),i+=e.byteLength;return r}function _u(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{next(){return t.read()},return(){return t.releaseLock(),{}},[Symbol.asyncIterator](){return this}}}async function vu({onProgress:e,url:t,method:n=`GET`,headers:r={},fetchOptions:i={},body:a,signal:o}){a&&=await gu(a);let s=await fetch(t,{...i,method:n,headers:r,body:a,signal:o??i.signal}),c=s.body&&s.body.getReader?_u(s.body):[new Uint8Array(await s.arrayBuffer())];r={};for(let[e,t]of s.headers.entries())r[e]=t;return{url:s.url,method:s.method,statusCode:s.status,statusMessage:s.statusText,body:c,headers:r}}var yu={request:vu},bu=class{diff(e,t,n={}){let r;typeof n==`function`?(r=n,n={}):`callback`in n&&(r=n.callback);let i=this.castInput(e,n),a=this.castInput(t,n),o=this.removeEmpty(this.tokenize(i,n)),s=this.removeEmpty(this.tokenize(a,n));return this.diffWithOptionsObj(o,s,n,r)}diffWithOptionsObj(e,t,n,r){let i=e=>{if(e=this.postProcess(e,n),r)setTimeout(function(){r(e)},0);else return e},a=t.length,o=e.length,s=1,c=a+o;n.maxEditLength!=null&&(c=Math.min(c,n.maxEditLength));let l=n.timeout??1/0,u=Date.now()+l,d=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(d[0],t,e,0,n);if(d[0].oldPos+1>=o&&f+1>=a)return i(this.buildValues(d[0].lastComponent,t,e));let p=-1/0,m=1/0,h=()=>{for(let r=Math.max(p,-s);r<=Math.min(m,s);r+=2){let s,c=d[r-1],l=d[r+1];c&&(d[r-1]=void 0);let u=!1;if(l){let e=l.oldPos-r;u=l&&0<=e&&e<a}let h=c&&c.oldPos+1<o;if(!u&&!h)d[r]=void 0;else{if(s=!h||u&&c.oldPos<l.oldPos?this.addToPath(l,!0,!1,0,n):this.addToPath(c,!1,!0,1,n),f=this.extractCommon(s,t,e,r,n),s.oldPos+1>=o&&f+1>=a)return i(this.buildValues(s.lastComponent,t,e))||!0;d[r]=s,s.oldPos+1>=o&&(m=Math.min(m,r-1)),f+1>=a&&(p=Math.max(p,r+1))}}s++};if(r)(function e(){setTimeout(function(){if(s>c||Date.now()>u)return r(void 0);h()||e()},0)})();else for(;s<=c&&Date.now()<=u;){let e=h();if(e)return e}}addToPath(e,t,n,r,i){let a=e.lastComponent;return a&&!i.oneChangePerToken&&a.added===t&&a.removed===n?{oldPos:e.oldPos+r,lastComponent:{count:a.count+1,added:t,removed:n,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+r,lastComponent:{count:1,added:t,removed:n,previousComponent:a}}}extractCommon(e,t,n,r,i){let a=t.length,o=n.length,s=e.oldPos,c=s-r,l=0;for(;c+1<a&&s+1<o&&this.equals(n[s+1],t[c+1],i);)c++,s++,l++,i.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return l&&!i.oneChangePerToken&&(e.lastComponent={count:l,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=s,c}equals(e,t,n){return n.comparator?n.comparator(e,t):e===t||!!n.ignoreCase&&e.toLowerCase()===t.toLowerCase()}removeEmpty(e){let t=[];for(let n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t}castInput(e,t){return e}tokenize(e,t){return Array.from(e)}join(e){return e.join(``)}postProcess(e,t){return e}get useLongestToken(){return!1}buildValues(e,t,n){let r=[],i;for(;e;)r.push(e),i=e.previousComponent,delete e.previousComponent,e=i;r.reverse();let a=r.length,o=0,s=0,c=0;for(;o<a;o++){let e=r[o];if(e.removed)e.value=this.join(n.slice(c,c+e.count)),c+=e.count;else{if(!e.added&&this.useLongestToken){let r=t.slice(s,s+e.count);r=r.map(function(e,t){let r=n[c+t];return r.length>e.length?r:e}),e.value=this.join(r)}else e.value=this.join(t.slice(s,s+e.count));s+=e.count,e.added||(c+=e.count)}}return r}};new class extends bu{};function xu(e,t){let n=0;for(;n<e.length&&n<t.length;n++)if(e[n]!=t[n])return e.slice(0,n);return e.slice(0,n)}function Su(e,t){let n;if(!e||!t||e[e.length-1]!=t[t.length-1])return``;for(n=0;n<e.length&&n<t.length;n++)if(e[e.length-(n+1)]!=t[t.length-(n+1)])return e.slice(-n);return e.slice(-n)}function Cu(e,t,n){if(e.slice(0,t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't start with prefix ${JSON.stringify(t)}; this is a bug`);return n+e.slice(t.length)}function wu(e,t,n){if(!t)return e+n;if(e.slice(-t.length)!=t)throw Error(`string ${JSON.stringify(e)} doesn't end with suffix ${JSON.stringify(t)}; this is a bug`);return e.slice(0,-t.length)+n}function Tu(e,t){return Cu(e,t,``)}function Eu(e,t){return wu(e,t,``)}function Du(e,t){return t.slice(0,Ou(e,t))}function Ou(e,t){let n=0;e.length>t.length&&(n=e.length-t.length);let r=t.length;e.length<t.length&&(r=e.length);let i=Array(r),a=0;i[0]=0;for(let e=1;e<r;e++){for(t[e]==t[a]?i[e]=i[a]:i[e]=a;a>0&&t[e]!=t[a];)a=i[a];t[e]==t[a]&&a++}a=0;for(let r=n;r<e.length;r++){for(;a>0&&e[r]!=t[a];)a=i[a];e[r]==t[a]&&a++}return a}function ku(e,t){let n=[];for(let r of Array.from(t.segment(e))){let e=r.segment;n.length&&/\s/.test(n[n.length-1])&&/\s/.test(e)?n[n.length-1]+=e:n.push(e)}return n}function Au(e,t){if(t)return Mu(e,t)[1];let n;for(n=e.length-1;n>=0&&e[n].match(/\s/);n--);return e.substring(n+1)}function ju(e,t){if(t)return Mu(e,t)[0];let n=e.match(/^\s*/);return n?n[0]:``}function Mu(e,t){if(!t)return[ju(e),Au(e)];if(t.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);let n=ku(e,t),r=n[0],i=n[n.length-1];return[/\s/.test(r)?r:``,/\s/.test(i)?i:``]}var Nu=`a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}`,Pu=RegExp(`[${Nu}]+|\\s+|[^${Nu}]`,`ug`);new class extends bu{equals(e,t,n){return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e.trim()===t.trim()}tokenize(e,t={}){let n;if(t.intlSegmenter){let r=t.intlSegmenter;if(r.resolvedOptions().granularity!=`word`)throw Error(`The segmenter passed must have a granularity of "word"`);n=ku(e,r)}else n=e.match(Pu)||[];let r=[],i=null;return n.forEach(e=>{/\s/.test(e)?i==null?r.push(e):r.push(r.pop()+e):i!=null&&/\s/.test(i)?r[r.length-1]==i?r.push(r.pop()+e):r.push(i+e):r.push(e),i=e}),r}join(e){return e.map((e,t)=>t==0?e:e.replace(/^\s+/,``)).join(``)}postProcess(e,t){if(!e||t.oneChangePerToken)return e;let n=null,r=null,i=null;return e.forEach(e=>{e.added?r=e:e.removed?i=e:((r||i)&&Fu(n,i,r,e,t.intlSegmenter),n=e,r=null,i=null)}),(r||i)&&Fu(n,i,r,null,t.intlSegmenter),e}};function Fu(e,t,n,r,i){if(t&&n){let[a,o]=Mu(t.value,i),[s,c]=Mu(n.value,i);if(e){let r=xu(a,s);e.value=wu(e.value,s,r),t.value=Tu(t.value,r),n.value=Tu(n.value,r)}if(r){let e=Su(o,c);r.value=Cu(r.value,c,e),t.value=Eu(t.value,e),n.value=Eu(n.value,e)}}else if(n){if(e){let e=ju(n.value,i);n.value=n.value.substring(e.length)}if(r){let e=ju(r.value,i);r.value=r.value.substring(e.length)}}else if(e&&r){let n=ju(r.value,i),[a,o]=Mu(t.value,i),s=xu(n,a);t.value=Tu(t.value,s);let c=Su(Tu(n,s),o);t.value=Eu(t.value,c),r.value=Cu(r.value,n,c),e.value=wu(e.value,n,n.slice(0,n.length-c.length))}else if(r){let e=ju(r.value,i),n=Du(Au(t.value,i),e);t.value=Eu(t.value,n)}else if(e){let n=Du(Au(e.value,i),ju(t.value,i));t.value=Tu(t.value,n)}}new class extends bu{tokenize(e){let t=RegExp(`(\\r?\\n)|[${Nu}]+|[^\\S\\n\\r]+|[^${Nu}]`,`ug`);return e.match(t)||[]}};var Iu=new class extends bu{constructor(){super(...arguments),this.tokenize=Ru}equals(e,t,n){return n.ignoreWhitespace?(n.newlineIsToken&&e.includes(`
|
|
91
|
-
`)||(e=e.trim()),n.newlineIsToken&&t.includes(`
|
|
92
|
-
`)||(t=t.trim())):n.ignoreNewlineAtEof&&!n.newlineIsToken&&(e.endsWith(`
|
|
93
|
-
`)&&(e=e.slice(0,-1)),t.endsWith(`
|
|
94
|
-
`)&&(t=t.slice(0,-1))),super.equals(e,t,n)}};function Lu(e,t,n){return Iu.diff(e,t,n)}function Ru(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,`
|
|
95
|
-
`));let n=[],r=e.split(/(\n|\r\n)/);r[r.length-1]||r.pop();for(let e=0;e<r.length;e++){let i=r[e];e%2&&!t.newlineIsToken?n[n.length-1]+=i:n.push(i)}return n}function zu(e){return e==`.`||e==`!`||e==`?`}new class extends bu{tokenize(e){let t=[],n=0;for(let r=0;r<e.length;r++){if(r==e.length-1){t.push(e.slice(n));break}if(zu(e[r])&&e[r+1].match(/\s/)){for(t.push(e.slice(n,r+1)),r=n=r+1;e[r+1]?.match(/\s/);)r++;t.push(e.slice(n,r+1)),n=r+1}}return t}},new class extends bu{tokenize(e){return e.split(/([{}:;,]|\s+)/)}},new class extends bu{constructor(){super(...arguments),this.tokenize=Ru}get useLongestToken(){return!0}castInput(e,t){let{undefinedReplacement:n,stringifyReplacer:r=(e,t)=>t===void 0?n:t}=t;return typeof e==`string`?e:JSON.stringify(Bu(e,null,null,r),null,` `)}equals(e,t,n){return super.equals(e.replace(/,([\r\n])/g,`$1`),t.replace(/,([\r\n])/g,`$1`),n)}};function Bu(e,t,n,r,i){t||=[],n||=[],r&&(e=r(i===void 0?``:i,e));let a=0;for(;a<t.length;a+=1)if(t[a]===e)return n[a];let o;if(Object.prototype.toString.call(e)===`[object Array]`){for(t.push(e),o=Array(e.length),n.push(o),a=0;a<e.length;a+=1)o[a]=Bu(e[a],t,n,r,String(a));return t.pop(),n.pop(),o}if(e&&e.toJSON&&(e=e.toJSON()),typeof e==`object`&&e){t.push(e),o={},n.push(o);let i=[],s;for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&i.push(s);for(i.sort(),a=0;a<i.length;a+=1)s=i[a],o[s]=Bu(e[s],t,n,r,s);t.pop(),n.pop()}else o=e;return o}new class extends bu{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};function Vu(e,t,n,r,i,a,o){let s;s=o?typeof o==`function`?{callback:o}:o:{},s.context===void 0&&(s.context=4);let c=s.context;if(s.newlineIsToken)throw Error(`newlineIsToken may not be used with patch-generation functions, only with diffing functions`);if(s.callback){let{callback:e}=s;Lu(n,r,Object.assign(Object.assign({},s),{callback:t=>{let n=l(t);e(n)}}))}else return l(Lu(n,r,s));function l(n){if(!n)return;n.push({value:``,lines:[]});function r(e){return e.map(function(e){return` `+e})}let o=[],s=0,l=0,u=[],d=1,f=1;for(let e=0;e<n.length;e++){let t=n[e],i=t.lines||Hu(t.value);if(t.lines=i,t.added||t.removed){if(!s){let t=n[e-1];s=d,l=f,t&&(u=c>0?r(t.lines.slice(-c)):[],s-=u.length,l-=u.length)}for(let e of i)u.push((t.added?`+`:`-`)+e);t.added?f+=i.length:d+=i.length}else{if(s){if(i.length<=c*2&&e<n.length-2)for(let e of r(i))u.push(e);else{let e=Math.min(i.length,c);for(let t of r(i.slice(0,e)))u.push(t);let t={oldStart:s,oldLines:d-s+e,newStart:l,newLines:f-l+e,lines:u};o.push(t),s=0,l=0,u=[]}}d+=i.length,f+=i.length}}for(let e of o)for(let t=0;t<e.lines.length;t++)e.lines[t].endsWith(`
|
|
96
|
-
`)?e.lines[t]=e.lines[t].slice(0,-1):(e.lines.splice(t+1,0,`\`),t++);return{oldFileName:e,newFileName:t,oldHeader:i,newHeader:a,hunks:o}}}function Hu(e){let t=e.endsWith(`
|
|
97
|
-
`),n=e.split(`
|
|
98
|
-
`).map(e=>e+`
|
|
99
|
-
`);return t?n.pop():n.push(n.pop().slice(0,-1)),n}var Uu=2e3;function Wu(e){let t=e.indexOf(`
|
|
100
|
-
`);return t<0?[e.trim(),``]:[e.slice(0,t).trim(),e.slice(t+1).trim()]}async function Gu(e,t){try{return await Q.resolveRef({fs:e.fs,dir:e.dir,ref:t})}catch{return}}async function Ku(e,t){try{return(await Q.readCommit({fs:e.fs,dir:e.dir,oid:t,cache:e.cache})).oid}catch{return}}async function qu(e){let t;try{t=await e.fs.promises.readFile(`${e.dir}/.git/logs/refs/stash`,`utf8`)}catch{return[]}return t.split(`
|
|
101
|
-
`).filter(e=>e.trim().length>0).reverse().map((e,t)=>{let[n,r=``]=e.split(` `),i=n.split(` `)[1]??``;return{index:t,message:r.trim(),oid:i}})}async function Ju(e){return Yu(await Q.statusMatrix({fs:e.fs,dir:e.dir}))}function Yu(e){let t={staged:[],unstaged:[]};for(let[n,r,i,a]of e)(r!==1||i!==1||a!==1)&&((r!==0||a!==0)&&a!==1&&t.staged.push({path:n,kind:r===0?`A`:a===0?`D`:`M`}),a===0&&(i===2||r===1&&i===1)?t.unstaged.push({path:n,kind:`?`}):a===1&&i===2?t.unstaged.push({path:n,kind:`M`}):a===1&&i===0?t.unstaged.push({path:n,kind:`D`}):a===3&&t.unstaged.push({path:n,kind:i===0?`D`:`M`}));return t}async function Xu(e,t=Uu){let{fs:n,dir:r,cache:i}=e,a=new Map,o=(e,t)=>{let n=a.get(e)??[];n.push(t),a.set(e,n)},s=await Q.currentBranch({fs:n,dir:r,test:!0})??void 0,c=await Gu(e,`HEAD`),l=new Set;c&&l.add(c);let u=[];for(let t of await Q.listBranches({fs:n,dir:r})){let n=await Gu(e,`refs/heads/${t}`);n&&(l.add(n),u.push({name:t,oid:n,isHead:t===s}),o(n,{name:t,kind:`head`,current:t===s}))}let d=[];for(let t of await Q.listRemotes({fs:n,dir:r}))for(let i of await Q.listBranches({fs:n,dir:r,remote:t.remote})){if(i===`HEAD`)continue;let n=`${t.remote}/${i}`,r=await Gu(e,`refs/remotes/${n}`);r&&(l.add(r),d.push({name:n,oid:r,isHead:!1}),o(r,{name:n,kind:`remote`}))}let f=[];for(let t of await Q.listTags({fs:n,dir:r})){let n=await Gu(e,`refs/tags/${t}`),r=n&&await Ku(e,n);r&&(l.add(r),f.push({name:t,oid:r}),o(r,{name:t,kind:`tag`}))}let p=await qu(e),m=new Map(p.map(e=>[e.oid,e.message])),h=new Set,g=new Map,_=async e=>{let t=g.get(e);if(t)return t;let a=await Q.readCommit({fs:n,dir:r,oid:e,cache:i});return g.set(e,a),a};for(let e of p)try{(await _(e.oid)).commit.parent.slice(1).forEach(e=>h.add(e)),l.add(e.oid)}catch{continue}let v=[],y=new Set;for(let e of l)if(!y.has(e)){y.add(e);try{await _(e),v.push(e)}catch{continue}}let b=e=>g.get(e).commit.committer.timestamp,x=[],S=!1;for(;v.length>0;){let e=0;for(let t=1;t<v.length;t++)b(v[t])>b(v[e])&&(e=t);let n=v.splice(e,1)[0],r=g.get(n).commit;for(let e of r.parent)if(!y.has(e)){y.add(e);try{await _(e),v.push(e)}catch{continue}}if(h.has(n))continue;if(x.length>=t){S=!0;break}let i=m.get(n),[a,o]=Wu(r.message);x.push({id:n,parents:i===void 0?r.parent:r.parent.slice(0,1),author:r.author.name,email:r.author.email,time:r.committer.timestamp,summary:i??a,body:o,kind:i===void 0?r.parent.length>1?`merge`:`commit`:`stash`})}return{name:r.split(`/`).filter(Boolean).pop()??r,headBranch:s,headOid:c,commits:x,refsByOid:a,local:u,remote:d,tags:f,stashes:p,status:await Ju(e),hasMore:S}}async function Zu(e,t){let[n]=await Q.log({fs:e.fs,dir:e.dir,ref:t,depth:1,includeChanges:!0,cache:e.cache});return((n?.commit).changes??[]).map(([e,t,n])=>({path:n,kind:e===null?`D`:t===null?`A`:`M`}))}async function Qu(e,t,n){if(!t)return``;try{let{blob:r}=await Q.readBlob({fs:e.fs,dir:e.dir,oid:t,filepath:n,cache:e.cache});return new TextDecoder().decode(r)}catch{return``}}async function $u(e,t){let n=(await Q.walk({fs:e.fs,dir:e.dir,trees:[Q.STAGE()],map:async(e,[n])=>e===t&&n?await n.oid():void 0})).find(e=>e!==void 0);if(!n)return``;let{blob:r}=await Q.readBlob({fs:e.fs,dir:e.dir,oid:n,cache:e.cache});return new TextDecoder().decode(r)}async function ed(e,t){try{let n=await e.fs.promises.readFile(`${e.dir}/${t}`);return new TextDecoder().decode(n)}catch{return``}}async function td(e,t,n){let r=``,i=``;if(t.kind===`commit`?(r=await Qu(e,(await Q.readCommit({fs:e.fs,dir:e.dir,oid:t.oid,cache:e.cache})).commit.parent[0],n),i=await Qu(e,t.oid,n)):t.kind===`staged`?(r=await Qu(e,await Gu(e,`HEAD`),n),i=await $u(e,n)):(r=await $u(e,n)||await Qu(e,await Gu(e,`HEAD`),n),i=await ed(e,n)),r.includes(`\0`)||i.includes(`\0`))return[{type:`note`,text:`Binary file`}];if(r.length>1e6||i.length>1e6)return[{type:`note`,text:`File too large to diff`}];let a=Vu(n,n,r,i,void 0,void 0,{context:3}),o=[];for(let e of a.hunks){o.push({type:`hunk`,text:`@@ -${e.oldStart},${e.oldLines} +${e.newStart},${e.newLines} @@`});for(let t of e.lines)o.push({type:t[0]===`+`?`add`:t[0]===`-`?`del`:`ctx`,text:t.slice(1)})}return o}async function nd(e){let t=await Q.getConfig({fs:e.fs,dir:e.dir,path:`user.name`}),n=await Q.getConfig({fs:e.fs,dir:e.dir,path:`user.email`});if(t&&n)return{name:t,email:n};let r=e.fallbackAuthor?.();if(r?.name&&r.email)return r;throw Error("Run `git config user.name` and `git config user.email` inside this repository, or fill in your name and email under Settings. The browser cannot read your global git config.")}async function rd(e,t){return(await Q.walk({fs:e.fs,dir:e.dir,trees:[Q.STAGE()],map:async(e,[n])=>e===t&&n?await n.mode():void 0})).find(e=>e!==void 0)}async function id(e,t){for(let n of t){if(n.kind===`D`){await Q.remove({fs:e.fs,dir:e.dir,filepath:n.path});continue}let t=n.kind===`M`?await rd(e,n.path):void 0;t?await Q.updateIndex({fs:e.fs,dir:e.dir,filepath:n.path,mode:t,add:!0}):await Q.add({fs:e.fs,dir:e.dir,filepath:n.path})}}async function ad(e,t){for(let n of t)await Q.resetIndex({fs:e.fs,dir:e.dir,filepath:n})}async function od(e,t){let n=t.filter(e=>e.kind!==`?`).map(e=>e.path);for(let n of t)n.kind===`?`&&await e.fs.promises.unlink(`${e.dir}/${n.path}`);n.length>0&&await Q.checkout({fs:e.fs,dir:e.dir,filepaths:n,force:!0})}async function sd(e,t,n){return Q.commit({fs:e.fs,dir:e.dir,message:t,author:n?void 0:await nd(e),amend:n})}async function cd(e,t){await Q.checkout({fs:e.fs,dir:e.dir,ref:t})}async function ld(e,t){let n=t.indexOf(`/`),r=t.slice(0,n),i=t.slice(n+1);await Q.checkout({fs:e.fs,dir:e.dir,ref:i,remote:r})}async function ud(e,t){await Q.checkout({fs:e.fs,dir:e.dir,ref:t})}async function dd(e,t,n,r){await Q.branch({fs:e.fs,dir:e.dir,ref:t,object:n}),r&&await Q.checkout({fs:e.fs,dir:e.dir,ref:t})}async function fd(e){let t=await Ju(e);if(t.staged.length+t.unstaged.length>0)throw Error(`Commit or stash your changes first`)}async function pd(e,t){await Q.deleteBranch({fs:e.fs,dir:e.dir,ref:t})}async function md(e,t,n){await Q.renameBranch({fs:e.fs,dir:e.dir,oldref:t,ref:n})}async function hd(e,t,n,r){r.trim()?await Q.annotatedTag({fs:e.fs,dir:e.dir,ref:t,object:n,message:r,tagger:await nd(e)}):await Q.tag({fs:e.fs,dir:e.dir,ref:t,object:n})}async function gd(e,t){await Q.deleteTag({fs:e.fs,dir:e.dir,ref:t})}async function _d(e,t){await Q.stash({fs:e.fs,dir:e.dir,op:`push`,message:t.trim()||void 0})}async function vd(e,t,n){await Q.stash({fs:e.fs,dir:e.dir,op:n?`pop`:`apply`,refIdx:t})}async function yd(e,t){await Q.stash({fs:e.fs,dir:e.dir,op:`drop`,refIdx:t})}async function bd(e,t,n){await fd(e);let r=await Q.merge({fs:e.fs,dir:e.dir,ours:n,theirs:t,author:await nd(e),message:`Merge ${t} into ${n}`});return await Q.checkout({fs:e.fs,dir:e.dir,ref:n}),r.alreadyMerged?`up-to-date`:r.fastForward?`fast-forward`:`merged`}async function xd(e,t,n,r){await Q.writeRef({fs:e.fs,dir:e.dir,ref:`refs/heads/${t}`,value:n,force:!0}),r&&await Q.checkout({fs:e.fs,dir:e.dir,ref:t,force:!0})}function Sd(e,t){if(!t.corsProxy.trim())throw Error(`Set a CORS proxy under Settings first. Git hosts block direct browser requests, so one is needed for fetch, pull and push.`);return{fs:e.fs,dir:e.dir,http:yu,corsProxy:t.corsProxy.trim(),onAuth:()=>t.token?{username:t.username||`x-access-token`,password:t.token}:void 0}}async function Cd(e,t){for(let n of await Q.listRemotes({fs:e.fs,dir:e.dir}))await Q.fetch({...Sd(e,t),remote:n.remote,prune:!0,tags:!0})}async function wd(e,t,n){await fd(e),await Q.pull({...Sd(e,t),ref:n,author:await nd(e)})}async function Td(e,t,n){let r=await Q.getConfig({fs:e.fs,dir:e.dir,path:`branch.${n}.remote`})??`origin`;await Q.push({...Sd(e,t),ref:n,remote:r})}function Ed(e,t){return{native:!1,load:t=>Xu(e,t),status:()=>Ju(e),commitFiles:t=>Zu(e,t),diffLines:(t,n)=>td(e,t,n),stage:t=>id(e,t),unstage:t=>ad(e,t),discard:t=>od(e,t),commit:(t,n)=>sd(e,t,n),checkoutBranch:t=>cd(e,t),checkoutRemote:t=>ld(e,t),checkoutCommit:t=>ud(e,t),createBranch:(t,n,r)=>dd(e,t,n,r),deleteBranch:t=>pd(e,t),renameBranch:(t,n)=>md(e,t,n),createTag:(t,n,r)=>hd(e,t,n,r),deleteTag:t=>gd(e,t),stashSave:t=>_d(e,t),stashApply:(t,n)=>vd(e,t,n),stashDrop:t=>yd(e,t),merge:(t,n)=>bd(e,t,n),reset:(t,n,r)=>{if(r===`mixed`)throw Error(`Mixed reset is not available in the browser version`);return xd(e,t,n,r===`hard`)},fetchAll:()=>Cd(e,t()),pull:(n,r)=>wd(e,t(),r),push:n=>Td(e,t(),n)}}var Dd=Symbol.for(`pv`),Od=0;Array.isArray;function $(e,t,n,r,i,a){t||={};var o,s,c=t;if(`ref`in c&&typeof e!=`function`)for(s in c={},t)s==`ref`?o=t[s]:c[s]=t[s];var l={type:e,props:c,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:Dd,__v:--Od,__i:-1,__u:0};return(i||a)&&(l.__source=i,l.__self=a),g.vnode&&g.vnode(l),l}function kd(e){return`var(--lane-${e%10})`}function Ad(e){let t=e.split(/\s+/).filter(Boolean);return((t[0]?.[0]??`?`)+(t.length>1?t[t.length-1][0]:``)).toUpperCase()}function jd(e){return e.slice(0,7)}function Md(e){return new Date(e*1e3).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function Nd(e){let t=Math.max(0,Math.floor(Date.now()/1e3)-e);for(let[e,n]of[[31536e3,`year`],[2592e3,`month`],[604800,`week`],[86400,`day`],[3600,`hour`]])if(t>=e){let r=Math.floor(t/e);return`${r} ${n}${r===1?``:`s`} ago`}return`less than an hour ago`}var Pd=new Map;async function Fd(e){let t=e.trim().toLowerCase(),n=Pd.get(t);if(n)return n;let r=new TextEncoder().encode(t),i=await crypto.subtle.digest(`SHA-256`,r),a=[...new Uint8Array(i)].map(e=>e.toString(16).padStart(2,`0`)).join(``);return Pd.set(t,a),a}function Id({name:e,email:t,color:n,size:r=20}){let[i,a]=G(),[o,s]=G(!1);return Fe(()=>{let e=!0;if(s(!1),!t||!crypto.subtle)a(void 0);else return Fd(t).then(t=>e&&a(`https://www.gravatar.com/avatar/${t}?s=64&d=404`)),()=>{e=!1}},[t]),$(`span`,{class:`avatar`,style:{background:n,width:`${r}px`,height:`${r}px`,fontSize:`${r*.45}px`},title:e,children:i&&!o?$(`img`,{src:i,alt:``,onError:()=>s(!0)}):Ad(e)})}function Ld(e){return e===`A`||e===`?`?`var(--green)`:e===`D`?`var(--red)`:`var(--yellow)`}function Rd({f:e,selected:t,onClick:n,actions:r,onMenu:i}){let a=e.path.lastIndexOf(`/`),o=a<0?e.path:e.path.slice(a+1),s=a<0?``:e.path.slice(0,a+1);return $(`div`,{class:`file ${t?`selected`:``}`,onClick:n,title:e.path,onContextMenu:e=>{e.preventDefault(),i(e)},children:[$(`span`,{class:`k`,style:{color:e.conflict?`var(--orange)`:Ld(e.kind)},children:e.conflict?`!`:e.kind===`?`?`A`:e.kind}),$(`span`,{class:`n`,children:o}),s&&$(`span`,{class:`d`,children:s}),r&&$(`span`,{class:`acts`,children:r})]})}function zd({sel:e,lines:t}){return e?$(`div`,{class:`diff`,children:[$(`div`,{class:`path`,children:e.path}),t.length===0&&$(`div`,{class:`note`,children:`No text changes to show (binary or identical).`}),t.map((e,t)=>$(`div`,{class:`line ${e.type}`,children:e.text},t))]}):$(`div`,{class:`placeholder`,children:`Pick a file to see its diff`})}function Bd(e){if(e.commit){let t=e.commit;return $(`div`,{class:`right`,children:[$(`div`,{class:`detail-head`,children:[$(`h2`,{children:t.summary}),$(`div`,{class:`who`,children:[$(Id,{name:t.author,email:t.email,color:e.commitColor,size:26}),$(`div`,{children:[$(`div`,{title:t.email,children:t.author}),$(`div`,{class:`when`,children:[Md(t.time),` · `,Nd(t.time)]})]})]}),$(`div`,{class:`hashes`,children:[$(`button`,{title:`Copy full hash`,onClick:()=>e.onCopy(t.id),children:jd(t.id)}),t.parents.map(t=>$(`button`,{class:`ghost`,onClick:()=>e.onJump(t),children:[`parent `,jd(t)]},t))]}),t.body&&$(`div`,{class:`body`,children:t.body})]}),$(`div`,{class:`hr`}),$(`div`,{class:`fhead`,children:[e.commitFiles.length,` file change`,e.commitFiles.length===1?``:`s`,e.isStash?` in stash`:``]}),$(`div`,{class:`files`,children:e.commitFiles.map(n=>$(Rd,{f:n,selected:e.selectedFile?.path===n.path,onClick:()=>e.onSelectFile({area:{kind:`commit`,oid:t.id},path:n.path}),onMenu:r=>e.onFileMenu(r,n,{kind:`commit`,oid:t.id})},n.path))}),$(`div`,{class:`hr`}),$(zd,{sel:e.selectedFile,lines:e.diff})]})}let t=e.data.status,n=(t.staged.length>0||e.amend)&&e.summary.trim().length>0,r=e.amend?`Amend last commit`:t.staged.length===0?`Stage something first`:e.summary.trim().length===0?`Add a summary first`:`Commit ${t.staged.length} file${t.staged.length===1?``:`s`}`,i=(t,n)=>e.selectedFile?.area.kind===t&&e.selectedFile.path===n,a=t.state,o=t.unstaged.filter(e=>e.conflict).length;return $(`div`,{class:`right`,children:[a&&$(`div`,{class:`banner`,children:[$(`span`,{children:[a===`merge`?`Merge`:a===`rebase`?`Rebase`:a===`cherry-pick`?`Cherry-pick`:`Revert`,` in progress`,o>0?`, ${o} conflicted file${o===1?``:`s`} to resolve and stage`:``]}),e.onContinue&&$(`button`,{disabled:o>0,onClick:e.onContinue,children:`Continue`}),e.onAbort&&$(`button`,{class:`danger`,onClick:e.onAbort,children:`Abort`})]}),$(`div`,{class:`files staging`,children:[$(`div`,{class:`fhead`,children:[`Unstaged (`,t.unstaged.length,`)`,t.unstaged.length>0&&$(`button`,{onClick:e.onStageAll,children:`Stage everything`})]}),t.unstaged.map(t=>$(Rd,{f:t,selected:i(`unstaged`,t.path),onClick:()=>e.onSelectFile({area:{kind:`unstaged`},path:t.path}),onMenu:n=>e.onFileMenu(n,t,{kind:`unstaged`}),actions:$(ie,{children:[$(`button`,{onClick:n=>(n.stopPropagation(),e.onStage([t])),children:`Stage`}),$(`button`,{onClick:n=>(n.stopPropagation(),e.onDiscard([t])),children:`Discard`})]})},`u`+t.path)),$(`div`,{class:`gap`}),$(`div`,{class:`fhead`,children:[`Staged (`,t.staged.length,`)`,t.staged.length>0&&$(`button`,{onClick:e.onUnstageAll,children:`Unstage everything`})]}),t.staged.map(t=>$(Rd,{f:t,selected:i(`staged`,t.path),onClick:()=>e.onSelectFile({area:{kind:`staged`},path:t.path}),onMenu:n=>e.onFileMenu(n,t,{kind:`staged`}),actions:$(`button`,{onClick:n=>(n.stopPropagation(),e.onUnstage([t.path])),children:`Unstage`})},`s`+t.path))]}),$(`div`,{class:`hr`}),$(zd,{sel:e.selectedFile,lines:e.diff}),$(`div`,{class:`commit-box`,children:[!e.data.headBranch&&e.data.headOid&&$(`div`,{class:`warn`,children:`Not on a branch (detached HEAD)`}),$(`div`,{class:`label`,children:`Message`}),$(`input`,{placeholder:`Summary`,value:e.summary,onInput:t=>e.onSummary(t.target.value)}),$(`textarea`,{placeholder:`Description`,value:e.description,onInput:t=>e.onDescription(t.target.value)}),e.summary.length>72&&$(`div`,{class:`warn`,children:`Keep the summary under 72 characters so other tools show it in full.`}),$(`div`,{class:`actions`,children:[$(`label`,{children:[$(`input`,{type:`checkbox`,checked:e.amend,onChange:t=>e.onAmend(t.target.checked),style:{width:`auto`}}),` Amend`]}),$(`span`,{class:`right`}),$(`button`,{class:n?`success`:``,disabled:!n,onClick:e.onCommit,title:`⌘⏎`,children:r})]})]})]})}function Vd(e){return e.length>0&&!e.startsWith(`-`)&&!/[\s~^:?*[\\]|\.\.|@\{|\/$|\.$|^\/|\/\/|\.lock$/.test(e)&&e!==`@`}function Hd({title:e,children:t,onClose:n}){return $(`div`,{class:`overlay`,onMouseDown:e=>e.target===e.currentTarget&&n(),children:$(`div`,{class:`dialog`,onKeyDown:e=>e.key===`Escape`&&n(),children:[$(`h3`,{children:e}),t]})})}function Ud({ok:e,danger:t,enabled:n,onOk:r,onClose:i}){return $(`div`,{class:`buttons`,children:[$(`button`,{onClick:i,children:`Cancel`}),$(`button`,{class:t?`danger`:`primary`,disabled:!n,onClick:r,children:e})]})}function Wd(e){let t=e.dialog,[n,r]=G(t.kind===`rename`?t.old:``),[i,a]=G(``),[o,s]=G(!0),[c,l]=G(e.settings),u=Ie(null);Fe(()=>u.current?.focus(),[]);let d=(t,n)=>r=>{r.key===`Enter`&&t&&!(r.target instanceof HTMLTextAreaElement)&&(r.preventDefault(),n(),e.onClose())};switch(t.kind){case`branch`:{let i=Vd(n),a=()=>e.onCreateBranch(n,t.at,o);return $(Hd,{title:`Name the new branch`,onClose:e.onClose,children:[$(`input`,{ref:u,placeholder:`branch name`,value:n,onInput:e=>r(e.target.value),onKeyDown:d(i,a)}),$(`label`,{children:[$(`input`,{type:`checkbox`,checked:o,onChange:e=>s(e.target.checked)}),` Switch to it right away`]}),n&&!i&&$(`div`,{class:`error`,children:`That is not a valid branch name`}),$(Ud,{ok:`Create`,enabled:i,onOk:()=>(a(),e.onClose()),onClose:e.onClose})]})}case`tag`:{let o=Vd(n),s=()=>e.onCreateTag(n,t.at,i);return $(Hd,{title:`Name the new tag`,onClose:e.onClose,children:[$(`input`,{ref:u,placeholder:`tag name`,value:n,onInput:e=>r(e.target.value),onKeyDown:d(o,s)}),$(`textarea`,{placeholder:`Message for an annotated tag (optional)`,value:i,onInput:e=>a(e.target.value)}),n&&!o&&$(`div`,{class:`error`,children:`That is not a valid tag name`}),$(Ud,{ok:`Create`,enabled:o,onOk:()=>(s(),e.onClose()),onClose:e.onClose})]})}case`rename`:{let i=Vd(n)&&n!==t.old,a=()=>e.onRename(t.old,n);return $(Hd,{title:`Rename '${t.old}' to`,onClose:e.onClose,children:[$(`input`,{ref:u,placeholder:`new name`,value:n,onInput:e=>r(e.target.value),onKeyDown:d(i,a)}),$(Ud,{ok:`Rename`,enabled:i,onOk:()=>(a(),e.onClose()),onClose:e.onClose})]})}case`stash`:{let t=()=>e.onStash(i);return $(Hd,{title:`Stash everything`,onClose:e.onClose,children:[$(`input`,{ref:u,placeholder:`Short note for this stash`,value:i,onInput:e=>a(e.target.value),onKeyDown:d(!0,t)}),$(Ud,{ok:`Stash`,enabled:!0,onOk:()=>(t(),e.onClose()),onClose:e.onClose})]})}case`reset`:return $(Hd,{title:`Reset the branch to ${t.at.slice(0,7)}`,onClose:e.onClose,children:[$(`button`,{onClick:()=>(e.onReset(t.at,`soft`),e.onClose()),children:`Soft: keep everything staged and in the working tree`}),e.native&&$(`button`,{onClick:()=>(e.onReset(t.at,`mixed`),e.onClose()),children:`Mixed: keep the working tree, clear the index`}),$(`button`,{class:`danger`,onClick:()=>(e.onReset(t.at,`hard`),e.onClose()),children:`Hard: drop the index and the working tree`}),$(`div`,{class:`buttons`,children:$(`button`,{onClick:e.onClose,children:`Cancel`})})]});case`confirm`:return $(Hd,{title:`Please confirm`,onClose:e.onClose,children:[$(`div`,{children:t.message}),$(Ud,{ok:`Yes`,danger:!0,enabled:!0,onOk:()=>(t.action(),e.onClose()),onClose:e.onClose})]});case`error`:return $(Hd,{title:t.title,onClose:e.onClose,children:[$(`pre`,{children:t.message}),$(`div`,{class:`buttons`,children:$(`button`,{class:`primary`,onClick:e.onClose,children:`OK`})})]});case`settings`:return $(Hd,{title:`Settings`,onClose:e.onClose,children:[$(`div`,{class:`label`,children:`Your name and email for commits (used when the repository has no user.name)`}),$(`input`,{ref:u,placeholder:`Name`,value:c.authorName,onInput:e=>l({...c,authorName:e.target.value})}),$(`input`,{placeholder:`Email`,value:c.authorEmail,onInput:e=>l({...c,authorEmail:e.target.value})}),$(`div`,{class:`label`,children:`CORS proxy, required for fetch, pull and push (git hosts block direct browser requests)`}),$(`input`,{placeholder:`https://your-proxy.example.com`,value:c.corsProxy,onInput:e=>l({...c,corsProxy:e.target.value})}),$(`div`,{class:`label`,children:`Username (optional, defaults to a token login)`}),$(`input`,{value:c.username,onInput:e=>l({...c,username:e.target.value})}),$(`div`,{class:`label`,children:`Personal access token (kept only until this tab closes)`}),$(`input`,{type:`password`,value:c.token,onInput:e=>l({...c,token:e.target.value})}),$(Ud,{ok:`Save`,enabled:!0,onOk:()=>(e.onSettings(c),e.onClose()),onClose:e.onClose})]})}}var Gd=20,Kd=9.5,qd=5.5;function Jd(e){return 25+e*Gd+Gd/2}function Yd({lay:e,kind:t,author:n,email:r,drawEdges:i}){let a=25+(Math.max(...e.edges.keys(),e.column)+1)*Gd+6,o=Jd(e.column),s=kd(e.column),c=[];if(i)for(let[t,n]of e.edges){let r=Jd(t),i=kd(t),a=e=>e===`wip`?`4 3`:void 0;n.pass&&c.push($(`line`,{x1:r,y1:0,x2:r,y2:26,stroke:i,"stroke-width":2,"stroke-dasharray":a(n.pass.kind)})),n.ending&&(t===e.column?c.push($(`line`,{x1:r,y1:0,x2:r,y2:13,stroke:i,"stroke-width":2,"stroke-dasharray":a(n.ending.kind)})):c.push($(`path`,{d:`M${r} 0 C${r} 13 ${r} 13 ${o} 13`,fill:`none`,stroke:i,"stroke-width":2}))),n.starting&&(t===e.column?c.push($(`line`,{x1:r,y1:13,x2:r,y2:26,stroke:i,"stroke-width":2})):c.push($(`path`,{d:`M${o} 13 C${r} 13 ${r} 13 ${r} 26`,fill:`none`,stroke:i,"stroke-width":2})))}else c.push($(`line`,{x1:o,y1:0,x2:o,y2:26,stroke:s,"stroke-width":2,opacity:.3}));let l;return l=t===`merge`?$(`circle`,{cx:o,cy:13,r:qd,fill:s}):t===`stash`?$(`g`,{children:[$(`rect`,{x:o-7,y:6,width:14,height:14,rx:2,fill:`var(--app-bg)`,stroke:s,"stroke-width":2}),$(`text`,{x:o,y:17,"text-anchor":`middle`,"font-size":11,fill:s,children:`≡`})]}):t===`wip`?$(`g`,{children:[$(`circle`,{cx:o,cy:13,r:Kd,fill:`var(--app-bg)`,stroke:s,"stroke-width":2,"stroke-dasharray":`3 2.5`}),$(`circle`,{cx:o,cy:13,r:3,fill:s})]}):$(`circle`,{cx:o,cy:13,r:Kd,fill:`var(--app-bg)`,stroke:s,"stroke-width":2}),$(`div`,{class:`lanes`,style:{position:`relative`},children:[$(`svg`,{width:a,height:26,children:[c,l]}),t===`commit`&&$(`span`,{style:{position:`absolute`,left:`${o-7.5}px`,top:`5.5px`},children:$(Id,{name:n,email:r,color:s,size:15})})]})}function Xd({label:e,color:t,onDoubleClick:n}){let r=e.current?`color-mix(in srgb, ${t} 45%, transparent)`:`color-mix(in srgb, ${t} 25%, transparent)`,i=e.kind===`head`?e.current?`${e.name} (checked out)`:`Branch ${e.name}. Double-click to switch.`:e.kind===`remote`?`Remote branch ${e.name}`:`Tag ${e.name}`;return $(`span`,{class:`pill ${e.current?`current`:``}`,style:{background:r,outline:e.current?`1px solid ${t}`:void 0},title:i,onDblClick:n,children:[$(`span`,{class:`ic ${e.kind}`,style:{background:t,color:t}}),e.name]})}function Zd(e){let t=Ie(null),[n,r]=G(0),[i,a]=G(600);Fe(()=>{let e=t.current;if(!e)return;let n=new ResizeObserver(()=>a(e.clientHeight));return n.observe(e),a(e.clientHeight),()=>n.disconnect()},[]),Fe(()=>{if(e.scrollTo===void 0||!t.current)return;let n=e.filtered?e.order.indexOf(e.scrollTo):e.scrollTo;n>=0&&(t.current.scrollTop=Math.max(0,n*26-i/2+13)),e.onScrolled()},[e.scrollTo]);let o=e.order.length+(e.hasMore&&!e.filtered?1:0),s=Math.max(0,Math.floor(n/26)-5),c=Math.min(o,Math.ceil((n+i)/26)+5),l=`minmax(150px, 22%) ${Math.min(420,Math.max(56,25+(e.maxCol+1)*Gd+6))}px 1fr 40px 150px 72px`,u=[];for(let t=s;t<c;t++){let n=t*26;if(t>=e.order.length){u.push($(`div`,{class:`more`,style:{top:`${n}px`},children:[`Showing `,e.rows.length,` commits.`,$(`a`,{onClick:e.onLoadMore,children:`Load more`})]},`more`));continue}let r=e.order[t],i=e.rows[r],a=e.layout[r],o=kd(a.column),s=[...i.kind===`wip`?[]:e.refsByOid.get(i.id)??[]].sort((e,t)=>Qd(e)-Qd(t));u.push($(`div`,{class:`row ${r===e.selectedIndex?`selected`:``}`,style:{top:`${n}px`,"--cols":l},onClick:()=>e.onSelect(r),onContextMenu:t=>{t.preventDefault(),e.onContextMenu(t,r)},title:i.body?`${i.summary}\n\n${i.body}`:void 0,children:[$(`div`,{class:`refs`,children:s.map(t=>$(Xd,{label:t,color:o,onDoubleClick:()=>e.onPillDoubleClick(t)},t.kind+t.name))}),$(Yd,{lay:a,kind:i.kind,author:i.author,email:i.email,drawEdges:!e.filtered}),$(`div`,{class:`msg ${i.kind}`,children:i.kind===`wip`?`Uncommitted changes · ${e.wipCount} file${e.wipCount===1?``:`s`}`:i.summary}),$(`div`,{class:`author`,children:i.kind!==`wip`&&$(Id,{name:i.author,email:i.email,color:o})}),$(`div`,{class:`date`,children:i.kind!==`wip`&&Md(i.time)}),$(`div`,{class:`sha`,children:i.kind!==`wip`&&jd(i.id)})]},i.id))}return $(`div`,{class:`graph`,children:[$(`div`,{class:`graph-header`,style:{"--cols":l},children:[$(`div`,{children:`REFS`}),$(`div`,{children:`GRAPH`}),$(`div`,{children:`MESSAGE`}),$(`div`,{}),$(`div`,{children:`DATE`}),$(`div`,{children:`SHA`})]}),$(`div`,{class:`rows`,ref:t,onScroll:e=>r(e.currentTarget.scrollTop),children:[$(`div`,{style:{height:`${o*26}px`,position:`relative`},children:u}),e.rows.length===0&&$(`div`,{class:`placeholder`,children:`No commits yet`})]})]})}function Qd(e){return e.kind===`head`?+!e.current:e.kind===`remote`?2:3}function $d({title:e,count:t,open:n,onToggle:r}){return $(`div`,{class:`section`,onClick:r,children:[$(`span`,{class:`arrow`,children:n?`▾`:`▸`}),e,$(`span`,{class:`count`,children:t})]})}function ef(e){let[t,n]=G({local:!0,remote:!0,tags:!0,stashes:!0}),r=e=>n({...t,[e]:!t[e]}),i=t=>{let n=e.columnOf(t);return $(`span`,{class:`dot`,style:{background:n===void 0?`var(--text-3)`:kd(n)}})},a=new Map;for(let t of e.data.remote){let e=t.name.split(`/`)[0];a.set(e,[...a.get(e)??[],t])}return $(`div`,{class:`left`,children:[$($d,{title:`LOCAL`,count:e.data.local.length,open:t.local,onToggle:()=>r(`local`)}),t.local&&e.data.local.map(t=>$(`div`,{class:`item ${t.isHead?`strong`:``} ${e.selectedOid===t.oid?`selected`:``}`,onClick:()=>e.onJump(t.oid),onDblClick:()=>!t.isHead&&e.onCheckout(t.name),onContextMenu:n=>{n.preventDefault(),e.onBranchMenu(n,t.name,t.oid,t.isHead)},children:[i(t.oid),$(`span`,{class:`name`,children:t.name}),t.isHead&&$(`span`,{class:`meta`,style:{color:`var(--green)`},children:`✓`})]},t.name)),t.local&&e.data.local.length===0&&$(`div`,{class:`empty`,children:`No branches yet`}),$($d,{title:`REMOTE`,count:e.data.remote.length,open:t.remote,onToggle:()=>r(`remote`)}),t.remote&&[...a].map(([t,n])=>$(`div`,{children:[$(`div`,{class:`remote-name`,children:t}),n.map(n=>$(`div`,{class:`item indent ${e.selectedOid===n.oid?`selected`:``}`,onClick:()=>e.onJump(n.oid),onDblClick:()=>e.onCheckoutRemote(n.name),onContextMenu:t=>{t.preventDefault(),e.onRemoteMenu(t,n.name)},children:[i(n.oid),$(`span`,{class:`name`,children:n.name.slice(t.length+1)})]},n.name))]},t)),t.remote&&e.data.remote.length===0&&$(`div`,{class:`empty`,children:`Nothing from remotes yet. Fetch to load them.`}),$($d,{title:`TAGS`,count:e.data.tags.length,open:t.tags,onToggle:()=>r(`tags`)}),t.tags&&e.data.tags.map(t=>$(`div`,{class:`item ${e.selectedOid===t.oid?`selected`:``}`,onClick:()=>e.onJump(t.oid),onContextMenu:n=>{n.preventDefault(),e.onTagMenu(n,t.name,t.oid)},children:[i(t.oid),$(`span`,{class:`name`,children:t.name})]},t.name)),$($d,{title:`STASHES`,count:e.data.stashes.length,open:t.stashes,onToggle:()=>r(`stashes`)}),t.stashes&&e.data.stashes.map(t=>$(`div`,{class:`item ${e.selectedOid===t.oid?`selected`:``}`,title:t.message,onClick:()=>e.onJump(t.oid),onContextMenu:n=>{n.preventDefault(),e.onStashMenu(n,t.index,t.message)},children:[i(t.oid),$(`span`,{class:`name`,children:t.message})]},t.oid))]})}function tf({menu:e,onClose:t}){let n=Ie(null);return Fe(()=>{let e=n.current;if(!e)return;let r=e.getBoundingClientRect();r.right>innerWidth&&(e.style.left=`${Math.max(0,innerWidth-r.width-4)}px`),r.bottom>innerHeight&&(e.style.top=`${Math.max(0,innerHeight-r.height-4)}px`);let i=n=>{n instanceof KeyboardEvent&&n.key!==`Escape`||n instanceof MouseEvent&&e.contains(n.target)||t()};return window.addEventListener(`mousedown`,i),window.addEventListener(`keydown`,i),window.addEventListener(`blur`,t),()=>{window.removeEventListener(`mousedown`,i),window.removeEventListener(`keydown`,i),window.removeEventListener(`blur`,t)}},[e,t]),$(`div`,{class:`menu`,ref:n,style:{left:`${e.x}px`,top:`${e.y}px`},children:e.items.map((e,n)=>e.sep?$(`div`,{class:`sep`},n):$(`button`,{class:e.danger?`danger`:``,onClick:()=>{t(),e.onClick?.()},children:e.label},n))})}var nf=`0000000000000000000000000000000000000000`,rf=`ramify.net`,af=typeof window<`u`&&`showDirectoryPicker`in window,of=typeof location<`u`&&/^#[0-9a-f]{32}$/.test(location.hash)?location.hash.slice(1):void 0;function sf(e,t,n){let r=[...t.commits];t.status.staged.length+t.status.unstaged.length>0&&r.unshift({id:nf,parents:t.headOid?[t.headOid]:[],author:``,email:``,time:Math.floor(Date.now()/1e3),summary:``,body:``,kind:`wip`});let i=du(r),a=new Map(r.map((e,t)=>[e.id,t]));return{be:e,data:t,rows:r,layout:i.rows,maxCol:i.maxCol,indexOf:a,limit:n}}function cf(){let e={corsProxy:``,username:``,token:``,authorName:``,authorEmail:``};try{let t=JSON.parse(localStorage.getItem(rf)??`{}`);return{...e,...t,token:sessionStorage.getItem(`ramify.net.token`)??``}}catch{return e}}function lf(e){let{token:t,...n}=e;localStorage.setItem(rf,JSON.stringify(n)),sessionStorage.setItem(`ramify.net.token`,t)}function uf(){let[e,t]=G(),[n,r]=G(),[i,a]=G(),[o,s]=G([]),[c,l]=G([]),[u,d]=G(``),[f,p]=G(``),[m,h]=G(!1),[g,_]=G(``),[v,y]=G(),[b,x]=G(),[S,C]=G(),[w,T]=G(),[E,ee]=G(!0),[te,D]=G(!0),[ne,O]=G(),[k,re]=G([]),[A,ae]=G(cf),[oe,se]=G(`merge`),j=Ie(A);j.current=A;let ce=Ie(e);ce.current=e,Fe(()=>{z(`recent`).then(e=>e&&re(e))},[]),Fe(()=>{if(!w)return;let e=setTimeout(()=>T(void 0),4e3);return()=>clearTimeout(e)},[w]);let le=(e,t)=>y({kind:`error`,title:e,message:t instanceof Error?t.message:String(t)}),ue=Re((e,n,i,o)=>{let s=sf(e,n,i);t(s),r(e=>{let t=s.rows[0]?.kind===`wip`;return!o&&e&&(e.kind===`wip`?t:s.indexOf.has(e.oid))?e:t?{kind:`wip`}:n.headOid?{kind:`commit`,oid:n.headOid}:void 0}),o&&(a(void 0),_(``),d(``),p(``),h(!1))},[]),M=async e=>{C(`Reading repository`);try{ue(e,await e.load(Uu),Uu,!0)}catch(e){le(`Could not read the repository`,e)}finally{C(void 0)}},de=e=>M(Ed(e,()=>j.current));Fe(()=>{of&&M(fu(location.origin,of))},[]);let fe=async e=>{if(await e.requestPermission({mode:`readwrite`})!==`granted`)return;let t=new Xe(e),n=await Promise.all(k.map(t=>t.isSameEntry(e).catch(()=>!1))),r=[e,...k.filter((e,t)=>!n[t])].slice(0,10);re(r),await B(`recent`,r),await de({fs:t,dir:`/`,cache:{},fallbackAuthor:()=>{let e=j.current;return e.authorName&&e.authorEmail?{name:e.authorName,email:e.authorEmail}:void 0}})},pe=async()=>{try{let e=await window.showDirectoryPicker({mode:`readwrite`});await fe(e)}catch(e){e instanceof DOMException&&e.name===`AbortError`||le(`Could not open the folder`,e)}},me=Re(async()=>{let e=ce.current;if(e)try{ue(e.be,await e.be.load(e.limit),e.limit,!1)}catch(e){le(`Could not read the repository`,e)}},[ue]);Fe(()=>{if(!e?.be.subscribe)return;let t;return e.be.subscribe(()=>{clearTimeout(t),t=setTimeout(me,150)})},[e?.be,me]);let N=async(t,n,r={})=>{if(e&&!S){C(t);try{let e=await n();r.after?.(e)}catch(e){le(`Git could not do that`,e)}finally{C(void 0)}if(r.statusOnly)try{ue(e.be,{...e.data,status:await e.be.status()},e.limit,!1)}catch(e){le(`Could not read the repository`,e)}else await me()}};Fe(()=>{e&&(n?.kind===`commit`?e.be.commitFiles(n.oid).then(s).catch(()=>s([])):s([]))},[e,n]),Fe(()=>{if(!e||!i){l([]);return}let t=!0;return e.be.diffLines(i.area,i.path).then(e=>t&&l(e)).catch(()=>t&&l([])),()=>{t=!1}},[e,i]),Fe(()=>{e&&i&&((i.area.kind===`commit`?o.some(e=>e.path===i.path):(i.area.kind===`staged`?e.data.status.staged:e.data.status.unstaged).some(e=>e.path===i.path))||a(void 0))},[e,o,i]);let he=Le(()=>{if(!e)return[];let t=e.rows.map((e,t)=>t),n=g.trim().toLowerCase();return n?t.filter(t=>{let r=e.rows[t];return r.summary.toLowerCase().includes(n)||r.author.toLowerCase().includes(n)||r.id.startsWith(n)||(e.data.refsByOid.get(r.id)??[]).some(e=>e.name.toLowerCase().includes(n))}):t},[e,g]),ge=!e||!n?-1:n.kind===`wip`?e.rows[0]?.kind===`wip`?0:-1:e.indexOf.get(n.oid)??-1,_e=t=>{if(!e)return;let i=e.rows[t];if(!i)return;let o=i.kind===`wip`?{kind:`wip`}:{kind:`commit`,oid:i.id};JSON.stringify(o)!==JSON.stringify(n)&&(r(o),a(void 0))},ve=t=>{if(!e)return;let n=e.indexOf.get(t);n===void 0?T(`That commit is not loaded in the graph yet.`):(_e(n),O(n))},P=e=>{navigator.clipboard.writeText(e).then(()=>T(`Copied!`))},F=e?.data.headBranch,ye=(e,t)=>y({kind:`confirm`,message:e,action:t}),be=e=>e===`conflicts`&&T(`There are conflicts to resolve`),I=()=>{if(!e||!u.trim())return;let t=f.trim()?`${u.trim()}\n\n${f.trim()}`:u.trim();N(`Committing`,()=>e.be.commit(t,m),{after:()=>{d(``),p(``),h(!1)}})},xe=t=>{let n=e;return N(`Merging`,()=>n.be.merge(t,F),{after:e=>{e===`up-to-date`&&T(`Already up to date with ${t}`),be(e)}})},L=(t,n,r)=>{let i=e,a=[];return r||(a.push({label:`Switch to ${t}`,onClick:()=>N(`Switching branch`,()=>i.be.checkoutBranch(t))}),F&&a.push({label:`Merge ${t} into ${F}`,onClick:()=>xe(t)}),F&&i.be.rebase&&a.push({label:`Rebase ${F} onto ${t}`,onClick:()=>N(`Rebasing`,()=>i.be.rebase(t),{after:be})})),a.push({label:`Rename ${t}`,onClick:()=>y({kind:`rename`,old:t})}),a.push({label:`New branch from here`,onClick:()=>y({kind:`branch`,at:n})}),a.push({label:`Copy name`,onClick:()=>P(t)}),r||(a.push({sep:!0}),a.push({label:`Delete ${t}`,danger:!0,onClick:()=>ye(`Delete "${t}"? This cannot be undone.`,()=>N(`Deleting branch`,()=>i.be.deleteBranch(t)))})),a},R=t=>{let n=e;return[{label:`Switch to ${t}`,onClick:()=>N(`Switching branch`,()=>n.be.checkoutRemote(t))},...F?[{label:`Merge ${t} into ${F}`,onClick:()=>xe(t)}]:[],...F&&n.be.rebase?[{label:`Rebase ${F} onto ${t}`,onClick:()=>N(`Rebasing`,()=>n.be.rebase(t),{after:be})}]:[],{label:`Copy name`,onClick:()=>P(t)}]},Se=(t,n)=>{let r=e;return[{label:`Check out ${t} (no branch)`,onClick:()=>N(`Checking out`,()=>r.be.checkoutCommit(n))},{label:`Copy name`,onClick:()=>P(t)},{sep:!0},{label:`Delete tag ${t}`,danger:!0,onClick:()=>ye(`Delete "${t}"? This cannot be undone.`,()=>N(`Deleting tag`,()=>r.be.deleteTag(t)))}]},V=(t,n)=>{let r=e;return[{label:`Apply (keep stash)`,onClick:()=>N(`Applying stash`,()=>r.be.stashApply(t,!1))},{label:`Apply and drop`,onClick:()=>N(`Applying stash`,()=>r.be.stashApply(t,!0))},{sep:!0},{label:`Drop stash`,danger:!0,onClick:()=>ye(`Drop the stash "${n}"? This cannot be undone.`,()=>N(`Dropping stash`,()=>r.be.stashDrop(t)))}]},Ce=(t,n)=>{if(!e)return;let r=e.rows[n];_e(n);let i=e,a=[];if(r.kind===`wip`)a=[{label:`Stash everything`,onClick:()=>y({kind:`stash`})},{label:`Stage everything`,onClick:()=>N(`Staging`,()=>i.be.stage(i.data.status.unstaged),{statusOnly:!0})},{sep:!0},{label:`Throw away all changes`,danger:!0,onClick:()=>ye(`Every staged, unstaged and untracked change in the working tree will be lost. Continue?`,()=>N(`Discarding`,async()=>{i.data.status.staged.length&&await i.be.unstage(i.data.status.staged.map(e=>e.path));let e=await i.be.status();e.unstaged.length&&await i.be.discard(e.unstaged)},{statusOnly:!0}))}];else if(e.data.stashes.some(e=>e.oid===r.id)){let t=e.data.stashes.find(e=>e.oid===r.id);a=V(t.index,t.message)}else{let t=e.data.refsByOid.get(r.id)??[],n=e.data.headOid===r.id;for(let e of t)e.kind===`head`&&a.push(...L(e.name,r.id,e.current??!1).filter(e=>e.label!==`New branch from here`)),e.kind===`remote`&&a.push(...R(e.name)),e.kind===`tag`&&a.push(...Se(e.name,r.id)),a.push({sep:!0});n||a.push({label:`Check out here (no branch)`,onClick:()=>N(`Checking out`,()=>i.be.checkoutCommit(r.id))}),a.push({label:`New branch from here`,onClick:()=>y({kind:`branch`,at:r.id})}),a.push({label:`New tag here`,onClick:()=>y({kind:`tag`,at:r.id})}),F&&!n&&(a.push({sep:!0}),i.be.rebase&&a.push({label:`Rebase ${F} here`,onClick:()=>N(`Rebasing`,()=>i.be.rebase(r.id),{after:be})}),i.be.cherryPick&&a.push({label:`Cherry-pick this commit`,onClick:()=>N(`Cherry-picking`,()=>i.be.cherryPick(r.id),{after:be})}),a.push({label:`Reset ${F} to this commit...`,onClick:()=>y({kind:`reset`,at:r.id})})),F&&i.be.revert&&a.push({label:`Revert this commit`,onClick:()=>N(`Reverting`,()=>i.be.revert(r.id),{after:be})}),a.push({sep:!0}),a.push({label:`Copy full hash`,onClick:()=>P(r.id)})}x({x:t.clientX,y:t.clientY,items:a})},we=(t,n,r)=>{let i=e,a=[];r.kind===`unstaged`&&a.push({label:`Stage`,onClick:()=>N(`Staging`,()=>i.be.stage([n]),{statusOnly:!0})}),r.kind===`staged`&&a.push({label:`Unstage`,onClick:()=>N(`Unstaging`,()=>i.be.unstage([n.path]),{statusOnly:!0})}),a.push({label:`Copy path`,onClick:()=>P(n.path)}),r.kind===`unstaged`&&(a.push({sep:!0}),a.push({label:`Throw away changes`,danger:!0,onClick:()=>H([n])})),x({x:t.clientX,y:t.clientY,items:a})},H=t=>{let n=e,r=t.length===1?`Unstaged edits to "${t[0].path}" will be lost. Continue?`:`Unstaged edits to ${t.length} files will be lost. Continue?`;ye(r,()=>N(`Discarding`,()=>n.be.discard(t),{statusOnly:!0}))},Te=t=>{e&&(t.kind===`head`&&!t.current&&N(`Switching branch`,()=>e.be.checkoutBranch(t.name)),t.kind===`remote`&&N(`Switching branch`,()=>e.be.checkoutRemote(t.name)))};if(Fe(()=>{let t=t=>{let n=t.metaKey||t.ctrlKey,r=t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement;if(n&&t.key===`f`)t.preventDefault(),document.getElementById(`filter`)?.focus();else if(n&&t.key===`b`&&e?.data.headOid)t.preventDefault(),y({kind:`branch`,at:e.data.headOid});else if(n&&t.key===`Enter`)t.preventDefault(),I();else if(n&&t.key===`j`)t.preventDefault(),ee(e=>!e);else if(n&&t.key===`k`)t.preventDefault(),D(e=>!e);else if(t.key===`Escape`)v?y(void 0):g&&_(``);else if(!r&&!v&&e&&(t.key===`ArrowDown`||t.key===`ArrowUp`||t.key===`j`||t.key===`k`)){t.preventDefault();let e=t.key===`ArrowDown`||t.key===`j`?1:-1,n=he.indexOf(ge),r=he[Math.min(he.length-1,Math.max(0,n+e))];r!==void 0&&(_e(r),O(r))}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)}),!e)return $(`div`,{class:`app`,children:[$(`div`,{class:`toolbar`,children:$(`span`,{class:`repo`,children:`Ramify`})}),$(`div`,{class:`welcome`,children:[$(`h1`,{children:`Ramify`}),$(`p`,{children:[`Every branch of your repository, in one graph.`,of?``:` Runs entirely in this browser tab.`]}),S&&$(`p`,{class:`busy`,children:[S,`...`]}),!of&&$(ie,{children:[$(`div`,{style:{display:`flex`,gap:`8px`},children:[af&&$(`button`,{class:`primary`,onClick:pe,children:`Open a repository folder`}),$(`button`,{onClick:()=>cu().then(de).catch(e=>le(`Could not build the demo`,e)),children:`Try the demo repository`})]}),!af&&$(`p`,{class:`note`,children:`Opening folders needs the File System Access API, which Chrome, Edge and other Chromium browsers provide. Safari and Firefox can only run the demo.`}),k.length>0&&$(`div`,{class:`recent`,children:[$(`span`,{class:`label`,children:`Recent`}),k.map(e=>$(`a`,{onClick:()=>fe(e).catch(e=>le(`Could not open the folder`,e)),children:e.name},e.name))]}),$(`p`,{class:`note`,children:`Nothing leaves your machine except avatar lookups on gravatar.com and, when you use them, fetch, pull and push through the CORS proxy you set under Settings.`}),$(`p`,{class:`note`,children:[`For full speed and your SSH keys, run `,$(`code`,{children:`npx ramify-git`}),` inside a repository instead.`]})]})]}),v&&$(Wd,{dialog:v,settings:A,native:!1,onClose:()=>y(void 0),onCreateBranch:()=>{},onCreateTag:()=>{},onRename:()=>{},onStash:()=>{},onReset:()=>{},onSettings:e=>{ae(e),lf(e)}})]});let U=e,Ee=n?.kind===`commit`?U.rows[U.indexOf.get(n.oid)??-1]:void 0,W=Ee?kd(U.layout[U.indexOf.get(Ee.id)].column):`var(--lane-0)`,De=U.data.status.staged.length+U.data.status.unstaged.length,Oe=De>0,ke=(e,t)=>N(e,t,{after:()=>T(`${e} done`)});return $(`div`,{class:`app`,children:[$(`div`,{class:`toolbar`,children:[$(`span`,{class:`repo`,children:U.data.name}),$(`span`,{style:{color:`var(--text-3)`},children:`/`}),$(`span`,{class:`branch`,children:U.data.headBranch??(U.data.headOid?`detached at ${U.data.headOid.slice(0,7)}`:`no commits`)}),$(`button`,{disabled:!!S||!F,onClick:()=>ke(`Pull`,()=>U.be.pull(oe,F)),title:`Fetch and integrate the upstream branch`,children:`Pull`}),U.be.native&&$(`select`,{value:oe,onChange:e=>se(e.target.value),title:`How pull integrates changes`,style:{width:`auto`,padding:`4px`},children:[$(`option`,{value:`merge`,children:`merge`}),$(`option`,{value:`ff-only`,children:`fast-forward only`}),$(`option`,{value:`rebase`,children:`rebase`})]}),$(`button`,{disabled:!!S||!F,onClick:()=>ke(`Push`,()=>U.be.push(F)),title:`Push the checked-out branch`,children:`Push`}),$(`button`,{disabled:!!S,onClick:()=>ke(`Fetch`,()=>U.be.fetchAll()),title:`Fetch every remote`,children:`Fetch`}),$(`button`,{disabled:!!S||!U.data.headOid,onClick:()=>y({kind:`branch`,at:U.data.headOid}),title:`New branch (⌘B)`,children:`Branch`}),$(`button`,{disabled:!!S||!Oe,onClick:()=>y({kind:`stash`}),title:`Stash everything`,children:`Stash`}),$(`button`,{disabled:!!S||U.data.stashes.length===0,onClick:()=>N(`Applying stash`,()=>U.be.stashApply(0,!0)),title:`Apply and drop the newest stash`,children:`Pop`}),S&&$(`span`,{class:`busy`,children:[S,`...`]}),$(`span`,{class:`spacer`}),$(`input`,{id:`filter`,placeholder:`search commits ⌘F`,value:g,onInput:e=>_(e.target.value)}),g&&$(`span`,{class:`busy`,children:[he.length,` results`]}),$(`button`,{class:E?`on`:``,onClick:()=>ee(!E),title:`Toggle left panel (⌘J)`,children:`▤`}),$(`button`,{class:te?`on`:``,onClick:()=>D(!te),title:`Toggle detail panel (⌘K)`,children:`▣`}),!U.be.native&&$(`button`,{onClick:()=>y({kind:`settings`}),title:`Settings: author and remote access`,children:`⚙`}),$(`button`,{onClick:()=>me(),title:`Refresh`,children:`↻`}),af&&!of&&$(`button`,{onClick:pe,children:`Open`})]}),$(`div`,{class:`body ${E?``:`no-left`} ${te?``:`no-right`}`,children:[$(ef,{data:U.data,columnOf:e=>{let t=U.indexOf.get(e);return t===void 0?void 0:U.layout[t].column},selectedOid:n?.kind===`commit`?n.oid:void 0,onJump:ve,onCheckout:e=>N(`Switching branch`,()=>U.be.checkoutBranch(e)),onCheckoutRemote:e=>N(`Switching branch`,()=>U.be.checkoutRemote(e)),onBranchMenu:(e,t,n,r)=>x({x:e.clientX,y:e.clientY,items:L(t,n,r)}),onRemoteMenu:(e,t)=>x({x:e.clientX,y:e.clientY,items:R(t)}),onTagMenu:(e,t,n)=>x({x:e.clientX,y:e.clientY,items:Se(t,n)}),onStashMenu:(e,t,n)=>x({x:e.clientX,y:e.clientY,items:V(t,n)})}),$(Zd,{rows:U.rows,layout:U.layout,maxCol:U.maxCol,refsByOid:U.data.refsByOid,order:he,filtered:g.trim().length>0,selectedIndex:ge,scrollTo:ne,wipCount:De,hasMore:U.data.hasMore,onSelect:_e,onContextMenu:Ce,onPillDoubleClick:Te,onLoadMore:()=>N(`Loading more`,async()=>ue(U.be,await U.be.load(U.limit+Uu),U.limit+Uu,!1)),onScrolled:()=>O(void 0)}),$(Bd,{data:U.data,commit:Ee,commitColor:W,commitFiles:o,isStash:!!Ee&&U.data.stashes.some(e=>e.oid===Ee.id),selectedFile:i,diff:c,summary:u,description:f,amend:m,onSummary:d,onDescription:p,onAmend:h,onSelectFile:a,onStage:e=>N(`Staging`,()=>U.be.stage(e),{statusOnly:!0}),onUnstage:e=>N(`Unstaging`,()=>U.be.unstage(e),{statusOnly:!0}),onDiscard:H,onStageAll:()=>N(`Staging`,()=>U.be.stage(U.data.status.unstaged),{statusOnly:!0}),onUnstageAll:()=>N(`Unstaging`,()=>U.be.unstage(U.data.status.staged.map(e=>e.path)),{statusOnly:!0}),onCommit:I,onCopy:P,onJump:ve,onFileMenu:we,onAbort:U.be.abort?()=>N(`Aborting`,()=>U.be.abort()):void 0,onContinue:U.be.continueOp?()=>N(`Continuing`,()=>U.be.continueOp()):void 0})]}),b&&$(tf,{menu:b,onClose:()=>x(void 0)}),v&&$(Wd,{dialog:v,settings:A,native:U.be.native,onClose:()=>y(void 0),onCreateBranch:(e,t,n)=>N(`Creating branch`,()=>U.be.createBranch(e,t,n)),onCreateTag:(e,t,n)=>N(`Creating tag`,()=>U.be.createTag(e,t,n)),onRename:(e,t)=>N(`Renaming branch`,()=>U.be.renameBranch(e,t)),onStash:e=>N(`Stashing`,()=>U.be.stashSave(e)),onReset:(e,t)=>F&&N(`Resetting`,()=>U.be.reset(F,e,t)),onSettings:e=>{ae(e),lf(e)}}),w&&$(`div`,{class:`toast`,children:w})]})}globalThis.Buffer??=h.Buffer,be($(uf,{}),document.getElementById(`app`));
|