commit fbeb74f0acd3cd34163d1c44262e54fe7b7ef1de Author: wubaoyong Date: Mon Dec 29 12:56:55 2025 +0800 first commit diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..9b47437 Binary files /dev/null and b/.DS_Store differ diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..5a4a531 --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1,11 @@ +{ + "pdfExportSettings": { + "includeName": false, + "pageSize": "Tabloid", + "landscape": false, + "margin": "1", + "downscalePercent": 100 + }, + "alwaysUpdateLinks": true, + "promptDelete": false +} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..3c3bae7 --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1,8 @@ +{ + "accentColor": "", + "theme": "moonstone", + "cssTheme": "Baseline", + "textFontFamily": "Maple Mono CN", + "interfaceFontFamily": "Maple Mono CN", + "monospaceFontFamily": "Maple Mono CN" +} \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json new file mode 100644 index 0000000..129998a --- /dev/null +++ b/.obsidian/community-plugins.json @@ -0,0 +1,4 @@ +[ + "global-proxy", + "obsidian-git" +] \ No newline at end of file diff --git a/.obsidian/core-plugins-migration.json b/.obsidian/core-plugins-migration.json new file mode 100644 index 0000000..436f43c --- /dev/null +++ b/.obsidian/core-plugins-migration.json @@ -0,0 +1,30 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false +} \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..8e719d8 --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,33 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false, + "webviewer": false, + "footnotes": false, + "bases": true +} \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json new file mode 100644 index 0000000..42a46ec --- /dev/null +++ b/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": true, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": true, + "colorGroups": [], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": true, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 1, + "close": true +} \ No newline at end of file diff --git a/.obsidian/plugins/global-proxy/data.json b/.obsidian/plugins/global-proxy/data.json new file mode 100644 index 0000000..72cf290 --- /dev/null +++ b/.obsidian/plugins/global-proxy/data.json @@ -0,0 +1,8 @@ +{ + "enableProxy": true, + "httpProxy": "", + "httpsProxy": "", + "socksProxy": "socks5://127.0.0.1:7891", + "bypassRules": ",127.*,10.*,172.16.*,172.17.*,172.18.*,172.19.*,172.20.*,172.21.*,172.22.*,172.23.*,172.24.*,172.25.*,172.26.*,172.27.*,172.28.*,172.29.*,172.30.*,172.31.*,192.168.*", + "pluginTokens": "persist:surfing-vault-${appId}" +} \ No newline at end of file diff --git a/.obsidian/plugins/global-proxy/main.js b/.obsidian/plugins/global-proxy/main.js new file mode 100644 index 0000000..fbb0657 --- /dev/null +++ b/.obsidian/plugins/global-proxy/main.js @@ -0,0 +1,185 @@ +var import_obsidian = require("obsidian"); + +const DEFAULT_SETTINGS = { + enableProxy: false, + httpProxy: "", + httpsProxy: "", + socksProxy: "", + bypassRules: ",127.*,10.*,172.16.*,172.17.*,172.18.*,172.19.*,172.20.*,172.21.*,172.22.*,172.23.*,172.24.*,172.25.*,172.26.*,172.27.*,172.28.*,172.29.*,172.30.*,172.31.*,192.168.*", + pluginTokens: "persist:surfing-vault-${appId}" +}; + +var GlobalProxyPlugin = class extends import_obsidian.Plugin { + async onload() { + await this.loadSettings(); + this.addSettingTab(new GlobalProxySettingTab(this.app, this)); + } + + async onunload() { + this.disableProxy() + } + + async loadSettings() { + this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + this.sessionMap = {} + this.enableProxy(); + } + async saveSettings() { + await this.saveData(this.settings); + } + + async enableProxy() { + if (!this.settings.enableProxy) { + return; + } + + let sessions = [] + this.sessionMap.default = electron.remote.session.defaultSession + sessions.push(this.sessionMap.default) + + if (!!this.settings.pluginTokens) { + let pluginTokens = this.settings.pluginTokens.split("\n"); + for (var i = 0; i < pluginTokens.length; i++) { + if (!pluginTokens[i]) { + continue; + } + let token = pluginTokens[i].replace("${appId}", this.app.appId) + let session = await electron.remote.session.fromPartition(token) + sessions.push(session) + this.sessionMap[token] = session + } + } + + let proxyRules = this.composeProxyRules(), + proxyBypassRules = proxyRules ? this.settings.bypassRules : undefined; + + for (var i = 0; i < sessions.length; i++) { + await sessions[i].setProxy({ proxyRules, proxyBypassRules }); + } + + if (proxyRules) { + new import_obsidian.Notice('Enable proxy!'); + } + } + + + async disableProxy() { + let sessions = [] + for (const key in this.sessionMap) { + sessions.push(this.sessionMap[key]) + } + + for (var i = 0; i < sessions.length; i++) { + await sessions[i].setProxy({}); + await sessions[i].closeAllConnections(); + } + new import_obsidian.Notice('Disable proxy!'); + } + + + composeProxyRules() { + if (!["socksProxy", "httpProxy", "httpsProxy"]. + map((p) => !this.settings[p] || isValidFormat(this.settings[p])).reduce((res, check)=>{return res && check}, true)) { + return undefined; + } + + + const httpProxy= isValidFormat(this.settings.httpProxy) ? ";http=" + this.settings.httpProxy : ""; + const httpsProxy= isValidFormat(this.settings.httpsProxy) ? ";https=" + this.settings.httpsProxy : ""; + if (isValidFormat(this.settings.socksProxy)) { + return this.settings.socksProxy + httpProxy + httpsProxy + ",direct://" + } else if (!!httpProxy) { + return !!httpsProxy ? "http=" + this.settings.httpProxy + httpsProxy + ",direct://" + : this.settings.httpProxy + ",direct://" + } else if (!!httpsProxy) { + return this.settings.httpsProxy + ",direct://" + } + + return undefined; + } +}; + +var GlobalProxySettingTab = class extends import_obsidian.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + } + display() { + const { containerEl } = this; + containerEl.empty(); + new import_obsidian.Setting(containerEl) + .setName("Enable proxy") + .setDesc("Change your proxy status") + .addToggle((val) => val + .setValue(this.plugin.settings.enableProxy) + .onChange(async (value) => { + this.plugin.settings.enableProxy = value; + await this.plugin.saveSettings(); + value ? this.plugin.enableProxy() : this.plugin.disableProxy(); + })); + new import_obsidian.Setting(containerEl) + .setName("Socks Proxy") + .setDesc("Set up your socks proxy") + .addText((text) => text + .setPlaceholder("://:") + .setValue(this.plugin.settings.socksProxy) + .onChange((value) => { + this.refreshProxy("socksProxy", value); + })); + new import_obsidian.Setting(containerEl) + .setName("Http Proxy") + .setDesc("Set up your http proxy") + .addText((text) => text + .setPlaceholder("://:") + .setValue(this.plugin.settings.httpProxy) + .onChange((value) => { + this.refreshProxy("httpProxy", value); + })); + new import_obsidian.Setting(containerEl) + .setName("Https Proxy") + .setDesc("Set up your https proxy") + .addText((text) => text + .setPlaceholder("://:") + .setValue(this.plugin.settings.httpsProxy) + .onChange((value) => { + this.refreshProxy("httpsProxy", value); + })); + new import_obsidian.Setting(containerEl) + .setName("Plugin Tokens") + .setDesc("For proxy specified plugins") + .addTextArea((text) => text + .setValue(this.plugin.settings.pluginTokens) + .onChange((value) => { + this.refreshProxy("pluginTokens", value); + })); + new import_obsidian.Setting(containerEl) + .setName("Blacklist") + .setDesc("Proxy blacklist") + .addTextArea((text) => text + .setPlaceholder("[URL_SCHEME://] HOSTNAME_PATTERN [:]\n. HOSTNAME_SUFFIX_PATTERN [:PORT]\n[SCHEME://] IP_LITERAL [:PORT]\nIP_LITERAL / PREFIX_LENGTH_IN_BITS\n") + .setValue(this.plugin.settings.bypassRules) + .onChange((value) => { + this.refreshProxy("bypassRules", value); + })); + } + async refreshProxy(key, value) { + this.plugin.settings[key] = value; + this.plugin.saveSettings(); + + this.plugin.enableProxy(); + } +}; + + +function isValidFormat(proxyUrl) { + if (!!proxyUrl) { + const regex = /^(\w+):\/\/([^:/]+):(\d+)$/; + const matches = proxyUrl.match(regex); + return !!matches; + } + return false; +} + +module.exports = GlobalProxyPlugin; + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/global-proxy/manifest.json b/.obsidian/plugins/global-proxy/manifest.json new file mode 100644 index 0000000..9ade3b7 --- /dev/null +++ b/.obsidian/plugins/global-proxy/manifest.json @@ -0,0 +1,11 @@ +{ + "id": "global-proxy", + "name": "Global Proxy", + "version": "1.0.4", + "minAppVersion": "0.15.0", + "description": "Use network proxy throughout Obsidian according to the rules configured in this plugin.", + "author": "windingblack", + "fundingUrl": "https://www.buymeacoffee.com/windingblack", + "authorUrl": "https://github.com/windingblack", + "isDesktopOnly": true +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/main.js b/.obsidian/plugins/obsidian-git/main.js new file mode 100644 index 0000000..a66d505 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/main.js @@ -0,0 +1,426 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source visit the plugins github repository (https://github.com/denolehov/obsidian-git) +*/ + +var X5=Object.create;var wl=Object.defineProperty;var K5=Object.getOwnPropertyDescriptor;var Z5=Object.getOwnPropertyNames;var J5=Object.getPrototypeOf,Q5=Object.prototype.hasOwnProperty;var by=t=>{throw TypeError(t)};var eI=(t,e,r)=>e in t?wl(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var tI=(t,e)=>()=>(t&&(e=t(t=0)),e);var M=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),rI=(t,e)=>{for(var r in e)wl(t,r,{get:e[r],enumerable:!0})},_y=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Z5(e))!Q5.call(t,i)&&i!==r&&wl(t,i,{get:()=>e[i],enumerable:!(n=K5(e,i))||n.enumerable});return t};var Ot=(t,e,r)=>(r=t!=null?X5(J5(t)):{},_y(e||!t||!t.__esModule?wl(r,"default",{value:t,enumerable:!0}):r,t)),nI=t=>_y(wl({},"__esModule",{value:!0}),t);var vt=(t,e,r)=>eI(t,typeof e!="symbol"?e+"":e,r),wp=(t,e,r)=>e.has(t)||by("Cannot "+r);var ue=(t,e,r)=>(wp(t,e,"read from private field"),r?r.call(t):e.get(t)),yt=(t,e,r)=>e.has(t)?by("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),It=(t,e,r,n)=>(wp(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),di=(t,e,r)=>(wp(t,e,"access private method"),r);var Ey=M(Iu=>{"use strict";m();Iu.byteLength=aI;Iu.toByteArray=oI;Iu.fromByteArray=uI;var Mn=[],qr=[],iI=typeof Uint8Array!="undefined"?Uint8Array:Array,bp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Ra=0,xy=bp.length;Ra0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function aI(t){var e=Sy(t),r=e[0],n=e[1];return(r+n)*3/4-n}function sI(t,e,r){return(e+r)*3/4-r}function oI(t){var e,r=Sy(t),n=r[0],i=r[1],a=new iI(sI(t,n,i)),s=0,o=i>0?n-4:n,l;for(l=0;l>16&255,a[s++]=e>>8&255,a[s++]=e&255;return i===2&&(e=qr[t.charCodeAt(l)]<<2|qr[t.charCodeAt(l+1)]>>4,a[s++]=e&255),i===1&&(e=qr[t.charCodeAt(l)]<<10|qr[t.charCodeAt(l+1)]<<4|qr[t.charCodeAt(l+2)]>>2,a[s++]=e>>8&255,a[s++]=e&255),a}function lI(t){return Mn[t>>18&63]+Mn[t>>12&63]+Mn[t>>6&63]+Mn[t&63]}function cI(t,e,r){for(var n,i=[],a=e;ao?o:s+a));return n===1?(e=t[r-1],i.push(Mn[e>>2]+Mn[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],i.push(Mn[e>>10]+Mn[e>>4&63]+Mn[e<<2&63]+"=")),i.join("")}});var Ay=M(_p=>{m();_p.read=function(t,e,r,n,i){var a,s,o=i*8-n-1,l=(1<>1,u=-7,f=r?i-1:0,d=r?-1:1,h=t[e+f];for(f+=d,a=h&(1<<-u)-1,h>>=-u,u+=o;u>0;a=a*256+t[e+f],f+=d,u-=8);for(s=a&(1<<-u)-1,a>>=-u,u+=n;u>0;s=s*256+t[e+f],f+=d,u-=8);if(a===0)a=1-c;else{if(a===l)return s?NaN:(h?-1:1)*(1/0);s=s+Math.pow(2,n),a=a-c}return(h?-1:1)*s*Math.pow(2,a-n)};_p.write=function(t,e,r,n,i,a){var s,o,l,c=a*8-i-1,u=(1<>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=n?0:a-1,p=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=u):(s=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-s))<1&&(s--,l*=2),s+f>=1?e+=d/l:e+=d*Math.pow(2,1-f),e*l>=2&&(s++,l/=2),s+f>=u?(o=0,s=u):s+f>=1?(o=(e*l-1)*Math.pow(2,i),s=s+f):(o=e*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;t[r+h]=o&255,h+=p,o/=256,i-=8);for(s=s<0;t[r+h]=s&255,h+=p,s/=256,c-=8);t[r+h-p]|=g*128}});var Rp=M(Ls=>{"use strict";m();var xp=Ey(),$s=Ay(),ky=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ls.Buffer=O;Ls.SlowBuffer=gI;Ls.INSPECT_MAX_BYTES=50;var Fu=2147483647;Ls.kMaxLength=Fu;O.TYPED_ARRAY_SUPPORT=fI();!O.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&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 fI(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(O.prototype,"parent",{enumerable:!0,get:function(){if(O.isBuffer(this))return this.buffer}});Object.defineProperty(O.prototype,"offset",{enumerable:!0,get:function(){if(O.isBuffer(this))return this.byteOffset}});function hi(t){if(t>Fu)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,O.prototype),e}function O(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return kp(t)}return Ry(t,e,r)}O.poolSize=8192;function Ry(t,e,r){if(typeof t=="string")return hI(t,e);if(ArrayBuffer.isView(t))return pI(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(On(t,ArrayBuffer)||t&&On(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(On(t,SharedArrayBuffer)||t&&On(t.buffer,SharedArrayBuffer)))return Ep(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(n!=null&&n!==t)return O.from(n,e,r);let i=mI(t);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return O.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}O.from=function(t,e,r){return Ry(t,e,r)};Object.setPrototypeOf(O.prototype,Uint8Array.prototype);Object.setPrototypeOf(O,Uint8Array);function My(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function dI(t,e,r){return My(t),t<=0?hi(t):e!==void 0?typeof r=="string"?hi(t).fill(e,r):hi(t).fill(e):hi(t)}O.alloc=function(t,e,r){return dI(t,e,r)};function kp(t){return My(t),hi(t<0?0:Tp(t)|0)}O.allocUnsafe=function(t){return kp(t)};O.allocUnsafeSlow=function(t){return kp(t)};function hI(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!O.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=Oy(t,e)|0,n=hi(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function Sp(t){let e=t.length<0?0:Tp(t.length)|0,r=hi(e);for(let n=0;n=Fu)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Fu.toString(16)+" bytes");return t|0}function gI(t){return+t!=t&&(t=0),O.alloc(+t)}O.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==O.prototype};O.compare=function(e,r){if(On(e,Uint8Array)&&(e=O.from(e,e.offset,e.byteLength)),On(r,Uint8Array)&&(r=O.from(r,r.offset,r.byteLength)),!O.isBuffer(e)||!O.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let n=e.length,i=r.length;for(let a=0,s=Math.min(n,i);ai.length?(O.isBuffer(s)||(s=O.from(s)),s.copy(i,a)):Uint8Array.prototype.set.call(i,s,a);else if(O.isBuffer(s))s.copy(i,a);else throw new TypeError('"list" argument must be an Array of Buffers');a+=s.length}return i};function Oy(t,e){if(O.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||On(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Ap(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Hy(t).length;default:if(i)return n?-1:Ap(t).length;e=(""+e).toLowerCase(),i=!0}}O.byteLength=Oy;function vI(t,e,r){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return TI(this,e,r);case"utf8":case"utf-8":return Fy(this,e,r);case"ascii":return AI(this,e,r);case"latin1":case"binary":return kI(this,e,r);case"base64":return SI(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return CI(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}O.prototype._isBuffer=!0;function Ma(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}O.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(e+=" ... "),""};ky&&(O.prototype[ky]=O.prototype.inspect);O.prototype.compare=function(e,r,n,i,a){if(On(e,Uint8Array)&&(e=O.from(e,e.offset,e.byteLength)),!O.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>e.length||i<0||a>this.length)throw new RangeError("out of range index");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===e)return 0;let s=a-i,o=n-r,l=Math.min(s,o),c=this.slice(i,a),u=e.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Pp(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof e=="string"&&(e=O.from(e,n)),O.isBuffer(e))return e.length===0?-1:Ty(t,e,r,n,i);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Ty(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Ty(t,e,r,n,i){let a=1,s=t.length,o=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;a=2,s/=2,o/=2,r/=2}function l(u,f){return a===1?u[f]:u.readUInt16BE(f*a)}let c;if(i){let u=-1;for(c=r;cs&&(r=s-o),c=r;c>=0;c--){let u=!0;for(let f=0;fi&&(n=i)):n=i;let a=e.length;n>a/2&&(n=a/2);let s;for(s=0;s>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let a=this.length-r;if((n===void 0||n>a)&&(n=a),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return yI(this,e,r,n);case"utf8":case"utf-8":return wI(this,e,r,n);case"ascii":case"latin1":case"binary":return bI(this,e,r,n);case"base64":return _I(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xI(this,e,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};O.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function SI(t,e,r){return e===0&&r===t.length?xp.fromByteArray(t):xp.fromByteArray(t.slice(e,r))}function Fy(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i239?4:a>223?3:a>191?2:1;if(i+o<=r){let l,c,u,f;switch(o){case 1:a<128&&(s=a);break;case 2:l=t[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(s=f));break;case 3:l=t[i+1],c=t[i+2],(l&192)===128&&(c&192)===128&&(f=(a&15)<<12|(l&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(s=f));break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],(l&192)===128&&(c&192)===128&&(u&192)===128&&(f=(a&15)<<18|(l&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(s=f))}}s===null?(s=65533,o=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=o}return EI(n)}var Cy=4096;function EI(t){let e=t.length;if(e<=Cy)return String.fromCharCode.apply(String,t);let r="",n=0;for(;nn)&&(r=n);let i="";for(let a=e;an&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError("Trying to access beyond buffer length")}O.prototype.readUintLE=O.prototype.readUIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||bt(e,r,this.length);let i=this[e],a=1,s=0;for(;++s>>0,r=r>>>0,n||bt(e,r,this.length);let i=this[e+--r],a=1;for(;r>0&&(a*=256);)i+=this[e+--r]*a;return i};O.prototype.readUint8=O.prototype.readUInt8=function(e,r){return e=e>>>0,r||bt(e,1,this.length),this[e]};O.prototype.readUint16LE=O.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||bt(e,2,this.length),this[e]|this[e+1]<<8};O.prototype.readUint16BE=O.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||bt(e,2,this.length),this[e]<<8|this[e+1]};O.prototype.readUint32LE=O.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||bt(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};O.prototype.readUint32BE=O.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||bt(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};O.prototype.readBigUInt64LE=Ui(function(e){e=e>>>0,Ds(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&bl(e,this.length-8);let i=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,a=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,Ds(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&bl(e,this.length-8);let i=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],a=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||bt(e,r,this.length);let i=this[e],a=1,s=0;for(;++s=a&&(i-=Math.pow(2,8*r)),i};O.prototype.readIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||bt(e,r,this.length);let i=r,a=1,s=this[e+--i];for(;i>0&&(a*=256);)s+=this[e+--i]*a;return a*=128,s>=a&&(s-=Math.pow(2,8*r)),s};O.prototype.readInt8=function(e,r){return e=e>>>0,r||bt(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};O.prototype.readInt16LE=function(e,r){e=e>>>0,r||bt(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};O.prototype.readInt16BE=function(e,r){e=e>>>0,r||bt(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};O.prototype.readInt32LE=function(e,r){return e=e>>>0,r||bt(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};O.prototype.readInt32BE=function(e,r){return e=e>>>0,r||bt(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};O.prototype.readBigInt64LE=Ui(function(e){e=e>>>0,Ds(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&bl(e,this.length-8);let i=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(i)<>>0,Ds(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&bl(e,this.length-8);let i=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(i)<>>0,r||bt(e,4,this.length),$s.read(this,e,!0,23,4)};O.prototype.readFloatBE=function(e,r){return e=e>>>0,r||bt(e,4,this.length),$s.read(this,e,!1,23,4)};O.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||bt(e,8,this.length),$s.read(this,e,!0,52,8)};O.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||bt(e,8,this.length),$s.read(this,e,!1,52,8)};function cr(t,e,r,n,i,a){if(!O.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}O.prototype.writeUintLE=O.prototype.writeUIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;cr(this,e,r,n,o,0)}let a=1,s=0;for(this[r]=e&255;++s>>0,n=n>>>0,!i){let o=Math.pow(2,8*n)-1;cr(this,e,r,n,o,0)}let a=n-1,s=1;for(this[r+a]=e&255;--a>=0&&(s*=256);)this[r+a]=e/s&255;return r+n};O.prototype.writeUint8=O.prototype.writeUInt8=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,1,255,0),this[r]=e&255,r+1};O.prototype.writeUint16LE=O.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};O.prototype.writeUint16BE=O.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};O.prototype.writeUint32LE=O.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};O.prototype.writeUint32BE=O.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function $y(t,e,r,n,i){By(e,n,i,t,r,7);let a=Number(e&BigInt(4294967295));t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,r}function Dy(t,e,r,n,i){By(e,n,i,t,r,7);let a=Number(e&BigInt(4294967295));t[r+7]=a,a=a>>8,t[r+6]=a,a=a>>8,t[r+5]=a,a=a>>8,t[r+4]=a;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s=s>>8,t[r+2]=s,s=s>>8,t[r+1]=s,s=s>>8,t[r]=s,r+8}O.prototype.writeBigUInt64LE=Ui(function(e,r=0){return $y(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});O.prototype.writeBigUInt64BE=Ui(function(e,r=0){return Dy(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});O.prototype.writeIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let l=Math.pow(2,8*n-1);cr(this,e,r,n,l-1,-l)}let a=0,s=1,o=0;for(this[r]=e&255;++a>0)-o&255;return r+n};O.prototype.writeIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let l=Math.pow(2,8*n-1);cr(this,e,r,n,l-1,-l)}let a=n-1,s=1,o=0;for(this[r+a]=e&255;--a>=0&&(s*=256);)e<0&&o===0&&this[r+a+1]!==0&&(o=1),this[r+a]=(e/s>>0)-o&255;return r+n};O.prototype.writeInt8=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};O.prototype.writeInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};O.prototype.writeInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};O.prototype.writeInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};O.prototype.writeInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||cr(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};O.prototype.writeBigInt64LE=Ui(function(e,r=0){return $y(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});O.prototype.writeBigInt64BE=Ui(function(e,r=0){return Dy(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Ly(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function jy(t,e,r,n,i){return e=+e,r=r>>>0,i||Ly(t,e,r,4,34028234663852886e22,-34028234663852886e22),$s.write(t,e,r,n,23,4),r+4}O.prototype.writeFloatLE=function(e,r,n){return jy(this,e,r,!0,n)};O.prototype.writeFloatBE=function(e,r,n){return jy(this,e,r,!1,n)};function Ny(t,e,r,n,i){return e=+e,r=r>>>0,i||Ly(t,e,r,8,17976931348623157e292,-17976931348623157e292),$s.write(t,e,r,n,52,8),r+8}O.prototype.writeDoubleLE=function(e,r,n){return Ny(this,e,r,!0,n)};O.prototype.writeDoubleBE=function(e,r,n){return Ny(this,e,r,!1,n)};O.prototype.copy=function(e,r,n,i){if(!O.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let a;if(typeof e=="number")for(a=r;a2**32?i=Py(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=Py(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n},RangeError);function Py(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function PI(t,e,r){Ds(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&bl(e,t.length-(r+1))}function By(t,e,r,n,i,a){if(t>r||t3?e===0||e===BigInt(0)?o=`>= 0${s} and < 2${s} ** ${(a+1)*8}${s}`:o=`>= -(2${s} ** ${(a+1)*8-1}${s}) and < 2 ** ${(a+1)*8-1}${s}`:o=`>= ${e}${s} and <= ${r}${s}`,new Fs.ERR_OUT_OF_RANGE("value",o,t)}PI(n,i,a)}function Ds(t,e){if(typeof t!="number")throw new Fs.ERR_INVALID_ARG_TYPE(e,"number",t)}function bl(t,e,r){throw Math.floor(t)!==t?(Ds(t,r),new Fs.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new Fs.ERR_BUFFER_OUT_OF_BOUNDS:new Fs.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var RI=/[^+/0-9A-Za-z-_]/g;function MI(t){if(t=t.split("=")[0],t=t.trim().replace(RI,""),t.length<2)return"";for(;t.length%4!==0;)t=t+"=";return t}function Ap(t,e){e=e||1/0;let r,n=t.length,i=null,a=[];for(let s=0;s55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}else if(s+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return a}function OI(t){let e=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function Hy(t){return xp.toByteArray(MI(t))}function $u(t,e,r,n){let i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function On(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Pp(t){return t!==t}var FI=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function Ui(t){return typeof BigInt=="undefined"?$I:t}function $I(){throw new Error("BigInt not supported")}});var Uy,Mp,Buffer,m=tI(()=>{Uy=require("obsidian");Uy.Platform.isMobileApp?Mp=Rp().Buffer:Mp=global.Buffer;Buffer=Mp});var zy=M((UV,Gy)=>{"use strict";m();var Cr=function(t){if(t=t||{},this.Promise=t.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=t.domainReentrant||!1,this.domainReentrant){if(typeof process=="undefined"||typeof process.domain=="undefined")throw new 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=t.timeout||Cr.DEFAULT_TIMEOUT,this.maxOccupationTime=t.maxOccupationTime||Cr.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=t.maxExecutionTime||Cr.DEFAULT_MAX_EXECUTION_TIME,t.maxPending===1/0||Number.isInteger(t.maxPending)&&t.maxPending>=0?this.maxPending=t.maxPending:this.maxPending=Cr.DEFAULT_MAX_PENDING};Cr.DEFAULT_TIMEOUT=0;Cr.DEFAULT_MAX_OCCUPATION_TIME=0;Cr.DEFAULT_MAX_EXECUTION_TIME=0;Cr.DEFAULT_MAX_PENDING=1e3;Cr.prototype.acquire=function(t,e,r,n){if(Array.isArray(t))return this._acquireBatch(t,e,r,n);if(typeof e!="function")throw new Error("You must pass a function to execute");var i=null,a=null,s=null;typeof r!="function"&&(n=r,r=null,s=new this.Promise(function(b,E){i=b,a=E})),n=n||{};var o=!1,l=null,c=null,u=null,f=this,d=function(b,E,S){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),b&&(f.queues[t]&&f.queues[t].length===0&&delete f.queues[t],f.domainReentrant&&delete f.domains[t]),o||(s?E?a(E):i(S):typeof r=="function"&&r(E,S),o=!0),b&&f.queues[t]&&f.queues[t].length>0&&f.queues[t].shift()()},h=function(b){if(o)return d(b);l&&(clearTimeout(l),l=null),f.domainReentrant&&b&&(f.domains[t]=process.domain);var E=n.maxExecutionTime||f.maxExecutionTime;if(E&&(u=setTimeout(function(){f.queues[t]&&d(b,new Error("Maximum execution time is exceeded "+t))},E)),e.length===1){var S=!1;try{e(function(A,k){S||(S=!0,d(b,A,k))})}catch(A){S||(S=!0,d(b,A))}}else f._promiseTry(function(){return e()}).then(function(A){d(b,void 0,A)},function(A){d(b,A)})};f.domainReentrant&&process.domain&&(h=process.domain.bind(h));var p=n.maxPending||f.maxPending;if(!f.queues[t])f.queues[t]=[],h(!0);else if(f.domainReentrant&&process.domain&&process.domain===f.domains[t])h(!1);else if(f.queues[t].length>=p)d(!1,new Error("Too many pending tasks in queue "+t));else{var g=function(){h(!0)};n.skipQueue?f.queues[t].unshift(g):f.queues[t].push(g);var v=n.timeout||f.timeout;v&&(l=setTimeout(function(){l=null,d(!1,new Error("async-lock timed out in queue "+t))},v))}var y=n.maxOccupationTime||f.maxOccupationTime;if(y&&(c=setTimeout(function(){f.queues[t]&&d(!1,new Error("Maximum occupation time is exceeded in queue "+t))},y)),s)return s};Cr.prototype._acquireBatch=function(t,e,r,n){typeof r!="function"&&(n=r,r=null);var i=this,a=function(o,l){return function(c){i.acquire(o,l,c,n)}},s=t.reduceRight(function(o,l){return a(l,o)},e);if(typeof r=="function")s(r);else return new this.Promise(function(o,l){s.length===1?s(function(c,u){c?l(c):o(u)}):o(s())})};Cr.prototype.isBusy=function(t){return t?!!this.queues[t]:Object.keys(this.queues).length>0};Cr.prototype._promiseTry=function(t){try{return this.Promise.resolve(t())}catch(e){return this.Promise.reject(e)}};Gy.exports=Cr});var qy=M((zV,Vy)=>{"use strict";m();Vy.exports=zy()});var Wy=M((qV,Op)=>{m();typeof Object.create=="function"?Op.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Op.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}}});var Lu=M((Ip,Xy)=>{m();var Du=Rp(),In=Du.Buffer;function Yy(t,e){for(var r in t)e[r]=t[r]}In.from&&In.alloc&&In.allocUnsafe&&In.allocUnsafeSlow?Xy.exports=Du:(Yy(Du,Ip),Ip.Buffer=Oa);function Oa(t,e,r){return In(t,e,r)}Oa.prototype=Object.create(In.prototype);Yy(In,Oa);Oa.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return In(t,e,r)};Oa.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var n=In(t);return e!==void 0?typeof r=="string"?n.fill(e,r):n.fill(e):n.fill(0),n};Oa.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return In(t)};Oa.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Du.SlowBuffer(t)}});var ju=M((XV,Ky)=>{m();var DI={}.toString;Ky.exports=Array.isArray||function(t){return DI.call(t)=="[object Array]"}});var ur=M((ZV,Zy)=>{"use strict";m();Zy.exports=TypeError});var Nu=M((QV,Jy)=>{"use strict";m();Jy.exports=Object});var Fp=M((tq,Qy)=>{"use strict";m();Qy.exports=Error});var tw=M((nq,ew)=>{"use strict";m();ew.exports=EvalError});var nw=M((aq,rw)=>{"use strict";m();rw.exports=RangeError});var aw=M((oq,iw)=>{"use strict";m();iw.exports=ReferenceError});var Bu=M((cq,sw)=>{"use strict";m();sw.exports=SyntaxError});var lw=M((fq,ow)=>{"use strict";m();ow.exports=URIError});var uw=M((hq,cw)=>{"use strict";m();cw.exports=Math.abs});var dw=M((mq,fw)=>{"use strict";m();fw.exports=Math.floor});var pw=M((vq,hw)=>{"use strict";m();hw.exports=Math.max});var gw=M((wq,mw)=>{"use strict";m();mw.exports=Math.min});var yw=M((_q,vw)=>{"use strict";m();vw.exports=Math.pow});var bw=M((Sq,ww)=>{"use strict";m();ww.exports=Math.round});var xw=M((Aq,_w)=>{"use strict";m();_w.exports=Number.isNaN||function(e){return e!==e}});var Ew=M((Tq,Sw)=>{"use strict";m();var LI=xw();Sw.exports=function(e){return LI(e)||e===0?e:e<0?-1:1}});var kw=M((Pq,Aw)=>{"use strict";m();Aw.exports=Object.getOwnPropertyDescriptor});var Gi=M((Mq,Tw)=>{"use strict";m();var Hu=kw();if(Hu)try{Hu([],"length")}catch(t){Hu=null}Tw.exports=Hu});var _l=M((Iq,Cw)=>{"use strict";m();var Uu=Object.defineProperty||!1;if(Uu)try{Uu({},"a",{value:1})}catch(t){Uu=!1}Cw.exports=Uu});var xl=M(($q,Pw)=>{"use strict";m();Pw.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var i=42;e[r]=i;for(var a in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var s=Object.getOwnPropertySymbols(e);if(s.length!==1||s[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var Gu=M((Lq,Mw)=>{"use strict";m();var Rw=typeof Symbol!="undefined"&&Symbol,jI=xl();Mw.exports=function(){return typeof Rw!="function"||typeof Symbol!="function"||typeof Rw("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:jI()}});var $p=M((Nq,Ow)=>{"use strict";m();Ow.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var Dp=M((Hq,Iw)=>{"use strict";m();var NI=Nu();Iw.exports=NI.getPrototypeOf||null});var Dw=M((Gq,$w)=>{"use strict";m();var BI="Function.prototype.bind called on incompatible ",HI=Object.prototype.toString,UI=Math.max,GI="[object Function]",Fw=function(e,r){for(var n=[],i=0;i{"use strict";m();var qI=Dw();Lw.exports=Function.prototype.bind||qI});var zu=M((Wq,jw)=>{"use strict";m();jw.exports=Function.prototype.call});var Vu=M((Xq,Nw)=>{"use strict";m();Nw.exports=Function.prototype.apply});var Hw=M((Zq,Bw)=>{"use strict";m();Bw.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var Lp=M((Qq,Uw)=>{"use strict";m();var WI=js(),YI=Vu(),XI=zu(),KI=Hw();Uw.exports=KI||WI.call(XI,YI)});var qu=M((tW,Gw)=>{"use strict";m();var ZI=js(),JI=ur(),QI=zu(),e6=Lp();Gw.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new JI("a function is required");return e6(ZI,QI,e)}});var Xw=M((nW,Yw)=>{"use strict";m();var t6=qu(),zw=Gi(),qw;try{qw=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var jp=!!qw&&zw&&zw(Object.prototype,"__proto__"),Ww=Object,Vw=Ww.getPrototypeOf;Yw.exports=jp&&typeof jp.get=="function"?t6([jp.get]):typeof Vw=="function"?function(e){return Vw(e==null?e:Ww(e))}:!1});var Wu=M((aW,Qw)=>{"use strict";m();var Kw=$p(),Zw=Dp(),Jw=Xw();Qw.exports=Kw?function(e){return Kw(e)}:Zw?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return Zw(e)}:Jw?function(e){return Jw(e)}:null});var Yu=M((oW,eb)=>{"use strict";m();var r6=Function.prototype.call,n6=Object.prototype.hasOwnProperty,i6=js();eb.exports=i6.call(r6,n6)});var Fn=M((cW,sb)=>{"use strict";m();var be,a6=Nu(),s6=Fp(),o6=tw(),l6=nw(),c6=aw(),Us=Bu(),Hs=ur(),u6=lw(),f6=uw(),d6=dw(),h6=pw(),p6=gw(),m6=yw(),g6=bw(),v6=Ew(),ib=Function,Np=function(t){try{return ib('"use strict"; return ('+t+").constructor;")()}catch(e){}},Sl=Gi(),y6=_l(),Bp=function(){throw new Hs},w6=Sl?function(){try{return arguments.callee,Bp}catch(t){try{return Sl(arguments,"callee").get}catch(e){return Bp}}}():Bp,Ns=Gu()(),_t=Wu(),b6=Dp(),_6=$p(),ab=Vu(),El=zu(),Bs={},x6=typeof Uint8Array=="undefined"||!_t?be:_t(Uint8Array),Ia={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?be:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?be:ArrayBuffer,"%ArrayIteratorPrototype%":Ns&&_t?_t([][Symbol.iterator]()):be,"%AsyncFromSyncIteratorPrototype%":be,"%AsyncFunction%":Bs,"%AsyncGenerator%":Bs,"%AsyncGeneratorFunction%":Bs,"%AsyncIteratorPrototype%":Bs,"%Atomics%":typeof Atomics=="undefined"?be:Atomics,"%BigInt%":typeof BigInt=="undefined"?be:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?be:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?be:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?be:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":s6,"%eval%":eval,"%EvalError%":o6,"%Float16Array%":typeof Float16Array=="undefined"?be:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?be:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?be:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?be:FinalizationRegistry,"%Function%":ib,"%GeneratorFunction%":Bs,"%Int8Array%":typeof Int8Array=="undefined"?be:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?be:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?be:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Ns&&_t?_t(_t([][Symbol.iterator]())):be,"%JSON%":typeof JSON=="object"?JSON:be,"%Map%":typeof Map=="undefined"?be:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!Ns||!_t?be:_t(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":a6,"%Object.getOwnPropertyDescriptor%":Sl,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?be:Promise,"%Proxy%":typeof Proxy=="undefined"?be:Proxy,"%RangeError%":l6,"%ReferenceError%":c6,"%Reflect%":typeof Reflect=="undefined"?be:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?be:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!Ns||!_t?be:_t(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?be:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Ns&&_t?_t(""[Symbol.iterator]()):be,"%Symbol%":Ns?Symbol:be,"%SyntaxError%":Us,"%ThrowTypeError%":w6,"%TypedArray%":x6,"%TypeError%":Hs,"%Uint8Array%":typeof Uint8Array=="undefined"?be:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?be:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?be:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?be:Uint32Array,"%URIError%":u6,"%WeakMap%":typeof WeakMap=="undefined"?be:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?be:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?be:WeakSet,"%Function.prototype.call%":El,"%Function.prototype.apply%":ab,"%Object.defineProperty%":y6,"%Object.getPrototypeOf%":b6,"%Math.abs%":f6,"%Math.floor%":d6,"%Math.max%":h6,"%Math.min%":p6,"%Math.pow%":m6,"%Math.round%":g6,"%Math.sign%":v6,"%Reflect.getPrototypeOf%":_6};if(_t)try{null.error}catch(t){tb=_t(_t(t)),Ia["%Error.prototype%"]=tb}var tb,S6=function t(e){var r;if(e==="%AsyncFunction%")r=Np("async function () {}");else if(e==="%GeneratorFunction%")r=Np("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Np("async function* () {}");else if(e==="%AsyncGenerator%"){var n=t("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if(e==="%AsyncIteratorPrototype%"){var i=t("%AsyncGenerator%");i&&_t&&(r=_t(i.prototype))}return Ia[e]=r,r},rb={__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"]},Al=js(),Xu=Yu(),E6=Al.call(El,Array.prototype.concat),A6=Al.call(ab,Array.prototype.splice),nb=Al.call(El,String.prototype.replace),Ku=Al.call(El,String.prototype.slice),k6=Al.call(El,RegExp.prototype.exec),T6=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,C6=/\\(\\)?/g,P6=function(e){var r=Ku(e,0,1),n=Ku(e,-1);if(r==="%"&&n!=="%")throw new Us("invalid intrinsic syntax, expected closing `%`");if(n==="%"&&r!=="%")throw new Us("invalid intrinsic syntax, expected opening `%`");var i=[];return nb(e,T6,function(a,s,o,l){i[i.length]=o?nb(l,C6,"$1"):s||a}),i},R6=function(e,r){var n=e,i;if(Xu(rb,n)&&(i=rb[n],n="%"+i[0]+"%"),Xu(Ia,n)){var a=Ia[n];if(a===Bs&&(a=S6(n)),typeof a=="undefined"&&!r)throw new Hs("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:i,name:n,value:a}}throw new Us("intrinsic "+e+" does not exist!")};sb.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new Hs("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Hs('"allowMissing" argument must be a boolean');if(k6(/^%?[^%]*%?$/,e)===null)throw new Us("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=P6(e),i=n.length>0?n[0]:"",a=R6("%"+i+"%",r),s=a.name,o=a.value,l=!1,c=a.alias;c&&(i=c[0],A6(n,E6([0,1],c)));for(var u=1,f=!0;u=n.length){var g=Sl(o,d);f=!!g,f&&"get"in g&&!("originalValue"in g.get)?o=g.get:o=o[d]}else f=Xu(o,d),o=o[d];f&&!l&&(Ia[s]=o)}}return o}});var xt=M((fW,cb)=>{"use strict";m();var ob=Fn(),lb=qu(),M6=lb([ob("%String.prototype.indexOf%")]);cb.exports=function(e,r){var n=ob(e,!!r);return typeof n=="function"&&M6(e,".prototype.")>-1?lb([n]):n}});var hb=M((hW,db)=>{"use strict";m();var fb=Function.prototype.toString,Gs=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Up,Zu;if(typeof Gs=="function"&&typeof Object.defineProperty=="function")try{Up=Object.defineProperty({},"length",{get:function(){throw Zu}}),Zu={},Gs(function(){throw 42},null,Up)}catch(t){t!==Zu&&(Gs=null)}else Gs=null;var O6=/^\s*class\b/,Gp=function(e){try{var r=fb.call(e);return O6.test(r)}catch(n){return!1}},Hp=function(e){try{return Gp(e)?!1:(fb.call(e),!0)}catch(r){return!1}},Ju=Object.prototype.toString,I6="[object Object]",F6="[object Function]",$6="[object GeneratorFunction]",D6="[object HTMLAllCollection]",L6="[object HTML document.all class]",j6="[object HTMLCollection]",N6=typeof Symbol=="function"&&!!Symbol.toStringTag,B6=!(0 in[,]),zp=function(){return!1};typeof document=="object"&&(ub=document.all,Ju.call(ub)===Ju.call(document.all)&&(zp=function(e){if((B6||!e)&&(typeof e=="undefined"||typeof e=="object"))try{var r=Ju.call(e);return(r===D6||r===L6||r===j6||r===I6)&&e("")==null}catch(n){}return!1}));var ub;db.exports=Gs?function(e){if(zp(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{Gs(e,null,Up)}catch(r){if(r!==Zu)return!1}return!Gp(e)&&Hp(e)}:function(e){if(zp(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(N6)return Hp(e);if(Gp(e))return!1;var r=Ju.call(e);return r!==F6&&r!==$6&&!/^\[object HTML/.test(r)?!1:Hp(e)}});var gb=M((mW,mb)=>{"use strict";m();var H6=hb(),U6=Object.prototype.toString,pb=Object.prototype.hasOwnProperty,G6=function(e,r,n){for(var i=0,a=e.length;i=3&&(i=n),q6(e)?G6(e,r,i):typeof e=="string"?z6(e,r,i):V6(e,r,i)}});var yb=M((vW,vb)=>{"use strict";m();vb.exports=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]});var bb=M((wW,wb)=>{"use strict";m();var Vp=yb(),W6=typeof globalThis=="undefined"?global:globalThis;wb.exports=function(){for(var e=[],r=0;r{"use strict";m();var _b=_l(),Y6=Bu(),zs=ur(),xb=Gi();Sb.exports=function(e,r,n){if(!e||typeof e!="object"&&typeof e!="function")throw new zs("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new zs("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new zs("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new zs("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new zs("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new zs("`loose`, if provided, must be a boolean");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,s=arguments.length>5?arguments[5]:null,o=arguments.length>6?arguments[6]:!1,l=!!xb&&xb(e,r);if(_b)_b(e,r,{configurable:s===null&&l?l.configurable:!s,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(o||!i&&!a&&!s)e[r]=n;else throw new Y6("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var ef=M((SW,Ab)=>{"use strict";m();var qp=_l(),Eb=function(){return!!qp};Eb.hasArrayLengthDefineBug=function(){if(!qp)return null;try{return qp([],"length",{value:1}).length!==1}catch(e){return!0}};Ab.exports=Eb});var Rb=M((AW,Pb)=>{"use strict";m();var X6=Fn(),kb=Qu(),K6=ef()(),Tb=Gi(),Cb=ur(),Z6=X6("%Math.floor%");Pb.exports=function(e,r){if(typeof e!="function")throw new Cb("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||Z6(r)!==r)throw new Cb("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if("length"in e&&Tb){var s=Tb(e,"length");s&&!s.configurable&&(i=!1),s&&!s.writable&&(a=!1)}return(i||a||!n)&&(K6?kb(e,"length",r,!0,!0):kb(e,"length",r)),e}});var Ob=M((TW,Mb)=>{"use strict";m();var J6=js(),Q6=Vu(),eF=Lp();Mb.exports=function(){return eF(J6,Q6,arguments)}});var Fa=M((PW,tf)=>{"use strict";m();var tF=Rb(),Ib=_l(),rF=qu(),Fb=Ob();tf.exports=function(e){var r=rF(arguments),n=e.length-(arguments.length-1);return tF(r,1+(n>0?n:0),!0)};Ib?Ib(tf.exports,"apply",{value:Fb}):tf.exports.apply=Fb});var zi=M((MW,$b)=>{"use strict";m();var nF=xl();$b.exports=function(){return nF()&&!!Symbol.toStringTag}});var Kp=M((IW,Nb)=>{"use strict";m();var af=gb(),iF=bb(),Db=Fa(),Yp=xt(),nf=Gi(),rf=Wu(),aF=Yp("Object.prototype.toString"),jb=zi()(),Lb=typeof globalThis=="undefined"?global:globalThis,Wp=iF(),Xp=Yp("String.prototype.slice"),sF=Yp("Array.prototype.indexOf",!0)||function(e,r){for(var n=0;n-1?r:r!=="Object"?!1:lF(e)}return nf?oF(e):null}});var Hb=M(($W,Bb)=>{"use strict";m();var cF=Kp();Bb.exports=function(e){return!!cF(e)}});var Gb=M((LW,Ub)=>{"use strict";m();var uF=ur(),fF=xt(),dF=fF("TypedArray.prototype.buffer",!0),hF=Hb();Ub.exports=dF||function(e){if(!hF(e))throw new uF("Not a Typed Array");return e.buffer}});var qb=M((NW,Vb)=>{"use strict";m();var $n=Lu().Buffer,pF=ju(),mF=Gb(),gF=ArrayBuffer.isView||function(e){try{return mF(e),!0}catch(r){return!1}},vF=typeof Uint8Array!="undefined",zb=typeof ArrayBuffer!="undefined"&&typeof Uint8Array!="undefined",yF=zb&&($n.prototype instanceof Uint8Array||$n.TYPED_ARRAY_SUPPORT);Vb.exports=function(e,r){if(e instanceof $n)return e;if(typeof e=="string")return $n.from(e,r);if(zb&&gF(e)){if(e.byteLength===0)return $n.alloc(0);if(yF){var n=$n.from(e.buffer,e.byteOffset,e.byteLength);if(n.byteLength===e.byteLength)return n}var i=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),a=$n.from(i);if(a.length===e.byteLength)return a}if(vF&&e instanceof Uint8Array)return $n.from(e);var s=pF(e);if(s)for(var o=0;o255||~~l!==l)throw new RangeError("Array items must be numbers in the range 0-255.")}if(s||$n.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return $n.from(e);throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}});var Yb=M((HW,Wb)=>{"use strict";m();var wF=Lu().Buffer,bF=qb();function of(t,e){this._block=wF.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}of.prototype.update=function(t,e){t=bF(t,e||"utf8");for(var r=this._block,n=this._blockSize,i=t.length,a=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var a=this._hash();return t?a.toString(t):a};of.prototype._update=function(){throw new Error("_update must be implemented by subclass")};Wb.exports=of});var Zb=M((GW,Kb)=>{"use strict";m();var _F=Wy(),Xb=Yb(),xF=Lu().Buffer,SF=[1518500249,1859775393,-1894007588,-899497514],EF=new Array(80);function kl(){this.init(),this._w=EF,Xb.call(this,64,56)}_F(kl,Xb);kl.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function AF(t){return t<<1|t>>>31}function kF(t){return t<<5|t>>>27}function TF(t){return t<<30|t>>>2}function CF(t,e,r,n){return t===0?e&r|~e&n:t===2?e&r|e&n|r&n:e^r^n}kl.prototype._update=function(t){for(var e=this._w,r=this._a|0,n=this._b|0,i=this._c|0,a=this._d|0,s=this._e|0,o=0;o<16;++o)e[o]=t.readInt32BE(o*4);for(;o<80;++o)e[o]=AF(e[o-3]^e[o-8]^e[o-14]^e[o-16]);for(var l=0;l<80;++l){var c=~~(l/20),u=kF(r)+CF(c,n,i,a)+s+e[l]+SF[c]|0;s=a,a=i,i=TF(n),n=r,r=u}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=s+this._e|0};kl.prototype._hash=function(){var t=xF.allocUnsafe(20);return t.writeInt32BE(this._a|0,0),t.writeInt32BE(this._b|0,4),t.writeInt32BE(this._c|0,8),t.writeInt32BE(this._d|0,12),t.writeInt32BE(this._e|0,16),t};Kb.exports=kl});var e2=M((VW,Qb)=>{"use strict";m();function Dn(t){if(typeof t!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function Jb(t,e){for(var r="",n=0,i=-1,a=0,s,o=0;o<=t.length;++o){if(o2){var l=r.lastIndexOf("/");if(l!==r.length-1){l===-1?(r="",n=0):(r=r.slice(0,l),n=r.length-1-r.lastIndexOf("/")),i=o,a=0;continue}}else if(r.length===2||r.length===1){r="",n=0,i=o,a=0;continue}}e&&(r.length>0?r+="/..":r="..",n=2)}else r.length>0?r+="/"+t.slice(i+1,o):r=t.slice(i+1,o),n=o-i-1;i=o,a=0}else s===46&&a!==-1?++a:a=-1}return r}function PF(t,e){var r=e.dir||e.root,n=e.base||(e.name||"")+(e.ext||"");return r?r===e.root?r+n:r+t+n:n}var Vs={resolve:function(){for(var e="",r=!1,n,i=arguments.length-1;i>=-1&&!r;i--){var a;i>=0?a=arguments[i]:(n===void 0&&(n=process.cwd()),a=n),Dn(a),a.length!==0&&(e=a+"/"+e,r=a.charCodeAt(0)===47)}return e=Jb(e,!r),r?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function(e){if(Dn(e),e.length===0)return".";var r=e.charCodeAt(0)===47,n=e.charCodeAt(e.length-1)===47;return e=Jb(e,!r),e.length===0&&!r&&(e="."),e.length>0&&n&&(e+="/"),r?"/"+e:e},isAbsolute:function(e){return Dn(e),e.length>0&&e.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var e,r=0;r0&&(e===void 0?e=n:e+="/"+n)}return e===void 0?".":Vs.normalize(e)},relative:function(e,r){if(Dn(e),Dn(r),e===r||(e=Vs.resolve(e),r=Vs.resolve(r),e===r))return"";for(var n=1;nc){if(r.charCodeAt(s+f)===47)return r.slice(s+f+1);if(f===0)return r.slice(s+f)}else a>c&&(e.charCodeAt(n+f)===47?u=f:f===0&&(u=0));break}var d=e.charCodeAt(n+f),h=r.charCodeAt(s+f);if(d!==h)break;d===47&&(u=f)}var p="";for(f=n+u+1;f<=i;++f)(f===i||e.charCodeAt(f)===47)&&(p.length===0?p+="..":p+="/..");return p.length>0?p+r.slice(s+u):(s+=u,r.charCodeAt(s)===47&&++s,r.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(Dn(e),e.length===0)return".";for(var r=e.charCodeAt(0),n=r===47,i=-1,a=!0,s=e.length-1;s>=1;--s)if(r=e.charCodeAt(s),r===47){if(!a){i=s;break}}else a=!1;return i===-1?n?"/":".":n&&i===1?"//":e.slice(0,i)},basename:function(e,r){if(r!==void 0&&typeof r!="string")throw new TypeError('"ext" argument must be a string');Dn(e);var n=0,i=-1,a=!0,s;if(r!==void 0&&r.length>0&&r.length<=e.length){if(r.length===e.length&&r===e)return"";var o=r.length-1,l=-1;for(s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(c===47){if(!a){n=s+1;break}}else l===-1&&(a=!1,l=s+1),o>=0&&(c===r.charCodeAt(o)?--o===-1&&(i=s):(o=-1,i=l))}return n===i?i=l:i===-1&&(i=e.length),e.slice(n,i)}else{for(s=e.length-1;s>=0;--s)if(e.charCodeAt(s)===47){if(!a){n=s+1;break}}else i===-1&&(a=!1,i=s+1);return i===-1?"":e.slice(n,i)}},extname:function(e){Dn(e);for(var r=-1,n=0,i=-1,a=!0,s=0,o=e.length-1;o>=0;--o){var l=e.charCodeAt(o);if(l===47){if(!a){n=o+1;break}continue}i===-1&&(a=!1,i=o+1),l===46?r===-1?r=o:s!==1&&(s=1):r!==-1&&(s=-1)}return r===-1||i===-1||s===0||s===1&&r===i-1&&r===n+1?"":e.slice(r,i)},format:function(e){if(e===null||typeof e!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return PF("/",e)},parse:function(e){Dn(e);var r={root:"",dir:"",base:"",ext:"",name:""};if(e.length===0)return r;var n=e.charCodeAt(0),i=n===47,a;i?(r.root="/",a=1):a=0;for(var s=-1,o=0,l=-1,c=!0,u=e.length-1,f=0;u>=a;--u){if(n=e.charCodeAt(u),n===47){if(!c){o=u+1;break}continue}l===-1&&(c=!1,l=u+1),n===46?s===-1?s=u:f!==1&&(f=1):s!==-1&&(f=-1)}return s===-1||l===-1||f===0||f===1&&s===l-1&&s===o+1?l!==-1&&(o===0&&i?r.base=r.name=e.slice(1,l):r.base=r.name=e.slice(o,l)):(o===0&&i?(r.name=e.slice(1,s),r.base=e.slice(1,l)):(r.name=e.slice(o,s),r.base=e.slice(o,l)),r.ext=e.slice(s,l)),o>0?r.dir=e.slice(0,o-1):i&&(r.dir="/"),r},sep:"/",delimiter:":",win32:null,posix:null};Vs.posix=Vs;Qb.exports=Vs});var r2=M(Zp=>{m();var t2;(function(t){typeof DO_NOT_EXPORT_CRC=="undefined"?typeof Zp=="object"?t(Zp):typeof define=="function"&&define.amd?define(function(){var e={};return t(e),e}):t(t2={}):t(t2={})})(function(t){t.version="1.2.2";function e(){for(var w=0,x=new Array(256),_=0;_!=256;++_)w=_,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,w=w&1?-306674912^w>>>1:w>>>1,x[_]=w;return typeof Int32Array!="undefined"?new Int32Array(x):x}var r=e();function n(w){var x=0,_=0,T=0,C=typeof Int32Array!="undefined"?new Int32Array(4096):new Array(4096);for(T=0;T!=256;++T)C[T]=w[T];for(T=0;T!=256;++T)for(_=w[T],x=256+T;x<4096;x+=256)_=C[x]=_>>>8^w[_&255];var I=[];for(T=1;T!=16;++T)I[T-1]=typeof Int32Array!="undefined"?C.subarray(T*256,T*256+256):C.slice(T*256,T*256+256);return I}var i=n(r),a=i[0],s=i[1],o=i[2],l=i[3],c=i[4],u=i[5],f=i[6],d=i[7],h=i[8],p=i[9],g=i[10],v=i[11],y=i[12],b=i[13],E=i[14];function S(w,x){for(var _=x^-1,T=0,C=w.length;T>>8^r[(_^w.charCodeAt(T++))&255];return~_}function A(w,x){for(var _=x^-1,T=w.length-15,C=0;C>8&255]^y[w[C++]^_>>16&255]^v[w[C++]^_>>>24]^g[w[C++]]^p[w[C++]]^h[w[C++]]^d[w[C++]]^f[w[C++]]^u[w[C++]]^c[w[C++]]^l[w[C++]]^o[w[C++]]^s[w[C++]]^a[w[C++]]^r[w[C++]];for(T+=15;C>>8^r[(_^w[C++])&255];return~_}function k(w,x){for(var _=x^-1,T=0,C=w.length,I=0,L=0;T>>8^r[(_^I)&255]:I<2048?(_=_>>>8^r[(_^(192|I>>6&31))&255],_=_>>>8^r[(_^(128|I&63))&255]):I>=55296&&I<57344?(I=(I&1023)+64,L=w.charCodeAt(T++)&1023,_=_>>>8^r[(_^(240|I>>8&7))&255],_=_>>>8^r[(_^(128|I>>2&63))&255],_=_>>>8^r[(_^(128|L>>6&15|(I&3)<<4))&255],_=_>>>8^r[(_^(128|L&63))&255]):(_=_>>>8^r[(_^(224|I>>12&15))&255],_=_>>>8^r[(_^(128|I>>6&63))&255],_=_>>>8^r[(_^(128|I&63))&255]);return~_}t.table=r,t.bstr=S,t.buf=A,t.str=k})});var pi=M(Qt=>{"use strict";m();var RF=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";function MF(t,e){return Object.prototype.hasOwnProperty.call(t,e)}Qt.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var n in r)MF(r,n)&&(t[n]=r[n])}}return t};Qt.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var OF={arraySet:function(t,e,r,n,i){if(e.subarray&&t.subarray){t.set(e.subarray(r,r+n),i);return}for(var a=0;a{"use strict";m();var FF=pi(),$F=4,n2=0,i2=1,DF=2;function Ws(t){for(var e=t.length;--e>=0;)t[e]=0}var LF=0,u2=1,jF=2,NF=3,BF=258,im=29,Ol=256,Cl=Ol+1+im,qs=30,am=19,f2=2*Cl+1,$a=15,Jp=16,HF=7,sm=256,d2=16,h2=17,p2=18,rm=[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],lf=[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],UF=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],m2=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],GF=512,mi=new Array((Cl+2)*2);Ws(mi);var Tl=new Array(qs*2);Ws(Tl);var Pl=new Array(GF);Ws(Pl);var Rl=new Array(BF-NF+1);Ws(Rl);var om=new Array(im);Ws(om);var cf=new Array(qs);Ws(cf);function Qp(t,e,r,n,i){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=t&&t.length}var g2,v2,y2;function em(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function w2(t){return t<256?Pl[t]:Pl[256+(t>>>7)]}function Ml(t,e){t.pending_buf[t.pending++]=e&255,t.pending_buf[t.pending++]=e>>>8&255}function fr(t,e,r){t.bi_valid>Jp-r?(t.bi_buf|=e<>Jp-t.bi_valid,t.bi_valid+=r-Jp):(t.bi_buf|=e<>>=1,r<<=1;while(--e>0);return r>>>1}function zF(t){t.bi_valid===16?(Ml(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=t.bi_buf&255,t.bi_buf>>=8,t.bi_valid-=8)}function VF(t,e){var r=e.dyn_tree,n=e.max_code,i=e.stat_desc.static_tree,a=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,l=e.stat_desc.max_length,c,u,f,d,h,p,g=0;for(d=0;d<=$a;d++)t.bl_count[d]=0;for(r[t.heap[t.heap_max]*2+1]=0,c=t.heap_max+1;cl&&(d=l,g++),r[u*2+1]=d,!(u>n)&&(t.bl_count[d]++,h=0,u>=o&&(h=s[u-o]),p=r[u*2],t.opt_len+=p*(d+h),a&&(t.static_len+=p*(i[u*2+1]+h)));if(g!==0){do{for(d=l-1;t.bl_count[d]===0;)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(d=l;d!==0;d--)for(u=t.bl_count[d];u!==0;)f=t.heap[--c],!(f>n)&&(r[f*2+1]!==d&&(t.opt_len+=(d-r[f*2+1])*r[f*2],r[f*2+1]=d),u--)}}function _2(t,e,r){var n=new Array($a+1),i=0,a,s;for(a=1;a<=$a;a++)n[a]=i=i+r[a-1]<<1;for(s=0;s<=e;s++){var o=t[s*2+1];o!==0&&(t[s*2]=b2(n[o]++,o))}}function qF(){var t,e,r,n,i,a=new Array($a+1);for(r=0,n=0;n>=7;n8?Ml(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function WF(t,e,r,n){S2(t),n&&(Ml(t,r),Ml(t,~r)),FF.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}function a2(t,e,r,n){var i=e*2,a=r*2;return t[i]>1;s>=1;s--)tm(t,r,s);c=a;do s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],tm(t,r,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,r[c*2]=r[s*2]+r[o*2],t.depth[c]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,r[s*2+1]=r[o*2+1]=c,t.heap[1]=c++,tm(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],VF(t,e),_2(r,l,t.bl_count)}function o2(t,e,r){var n,i=-1,a,s=e[0*2+1],o=0,l=7,c=4;for(s===0&&(l=138,c=3),e[(r+1)*2+1]=65535,n=0;n<=r;n++)a=s,s=e[(n+1)*2+1],!(++o=3&&t.bl_tree[m2[e]*2+1]===0;e--);return t.opt_len+=3*(e+1)+5+5+4,e}function XF(t,e,r,n){var i;for(fr(t,e-257,5),fr(t,r-1,5),fr(t,n-4,4),i=0;i>>=1)if(e&1&&t.dyn_ltree[r*2]!==0)return n2;if(t.dyn_ltree[9*2]!==0||t.dyn_ltree[10*2]!==0||t.dyn_ltree[13*2]!==0)return i2;for(r=32;r0?(t.strm.data_type===DF&&(t.strm.data_type=KF(t)),nm(t,t.l_desc),nm(t,t.d_desc),s=YF(t),i=t.opt_len+3+7>>>3,a=t.static_len+3+7>>>3,a<=i&&(i=a)):i=a=r+5,r+4<=i&&e!==-1?E2(t,e,r,n):t.strategy===$F||a===i?(fr(t,(u2<<1)+(n?1:0),3),s2(t,mi,Tl)):(fr(t,(jF<<1)+(n?1:0),3),XF(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),s2(t,t.dyn_ltree,t.dyn_dtree)),x2(t),n&&S2(t)}function e$(t,e,r){return t.pending_buf[t.d_buf+t.last_lit*2]=e>>>8&255,t.pending_buf[t.d_buf+t.last_lit*2+1]=e&255,t.pending_buf[t.l_buf+t.last_lit]=r&255,t.last_lit++,e===0?t.dyn_ltree[r*2]++:(t.matches++,e--,t.dyn_ltree[(Rl[r]+Ol+1)*2]++,t.dyn_dtree[w2(e)*2]++),t.last_lit===t.lit_bufsize-1}Ys._tr_init=ZF;Ys._tr_stored_block=E2;Ys._tr_flush_block=QF;Ys._tr_tally=e$;Ys._tr_align=JF});var lm=M((QW,k2)=>{"use strict";m();function t$(t,e,r,n){for(var i=t&65535|0,a=t>>>16&65535|0,s=0;r!==0;){s=r>2e3?2e3:r,r-=s;do i=i+e[n++]|0,a=a+i|0;while(--s);i%=65521,a%=65521}return i|a<<16|0}k2.exports=t$});var cm=M((tY,T2)=>{"use strict";m();function r$(){for(var t,e=[],r=0;r<256;r++){t=r;for(var n=0;n<8;n++)t=t&1?3988292384^t>>>1:t>>>1;e[r]=t}return e}var n$=r$();function i$(t,e,r,n){var i=n$,a=n+r;t^=-1;for(var s=n;s>>8^i[(t^e[s])&255];return t^-1}T2.exports=i$});var uf=M((nY,C2)=>{"use strict";m();C2.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"}});var L2=M(Bn=>{"use strict";m();var er=pi(),Wr=A2(),O2=lm(),Vi=cm(),a$=uf(),Na=0,s$=1,o$=3,Ki=4,P2=5,Nn=0,R2=1,Yr=-2,l$=-3,um=-5,c$=-1,u$=1,ff=2,f$=3,d$=4,h$=0,p$=2,mf=8,m$=9,g$=15,v$=8,y$=29,w$=256,dm=w$+1+y$,b$=30,_$=19,x$=2*dm+1,S$=15,Ee=3,Yi=258,dn=Yi+Ee+1,E$=32,gf=42,hm=69,df=73,hf=91,pf=103,Da=113,Fl=666,wt=1,$l=2,La=3,Zs=4,A$=3;function Xi(t,e){return t.msg=a$[e],e}function M2(t){return(t<<1)-(t>4?9:0)}function Wi(t){for(var e=t.length;--e>=0;)t[e]=0}function qi(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),r!==0&&(er.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,e.pending===0&&(e.pending_out=0))}function Ft(t,e){Wr._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,qi(t.strm)}function Re(t,e){t.pending_buf[t.pending++]=e}function Il(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=e&255}function k$(t,e,r,n){var i=t.avail_in;return i>n&&(i=n),i===0?0:(t.avail_in-=i,er.arraySet(e,t.input,t.next_in,i,r),t.state.wrap===1?t.adler=O2(t.adler,e,i,r):t.state.wrap===2&&(t.adler=Vi(t.adler,e,i,r)),t.next_in+=i,t.total_in+=i,i)}function I2(t,e){var r=t.max_chain_length,n=t.strstart,i,a,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-dn?t.strstart-(t.w_size-dn):0,c=t.window,u=t.w_mask,f=t.prev,d=t.strstart+Yi,h=c[n+s-1],p=c[n+s];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do if(i=e,!(c[i+s]!==p||c[i+s-1]!==h||c[i]!==c[n]||c[++i]!==c[n+1])){n+=2,i++;do;while(c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&c[++n]===c[++i]&&ns){if(t.match_start=e,s=a,a>=o)break;h=c[n+s-1],p=c[n+s]}}while((e=f[e&u])>l&&--r!==0);return s<=t.lookahead?s:t.lookahead}function ja(t){var e=t.w_size,r,n,i,a,s;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-dn)){er.arraySet(t.window,t.window,e,e,0),t.match_start-=e,t.strstart-=e,t.block_start-=e,n=t.hash_size,r=n;do i=t.head[--r],t.head[r]=i>=e?i-e:0;while(--n);n=e,r=n;do i=t.prev[--r],t.prev[r]=i>=e?i-e:0;while(--n);a+=e}if(t.strm.avail_in===0)break;if(n=k$(t.strm,t.window,t.strstart+t.lookahead,a),t.lookahead+=n,t.lookahead+t.insert>=Ee)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(ja(t),t.lookahead===0&&e===Na)return wt;if(t.lookahead===0)break}t.strstart+=t.lookahead,t.lookahead=0;var n=t.block_start+r;if((t.strstart===0||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,Ft(t,!1),t.strm.avail_out===0)||t.strstart-t.block_start>=t.w_size-dn&&(Ft(t,!1),t.strm.avail_out===0))return wt}return t.insert=0,e===Ki?(Ft(t,!0),t.strm.avail_out===0?La:Zs):(t.strstart>t.block_start&&(Ft(t,!1),t.strm.avail_out===0),wt)}function fm(t,e){for(var r,n;;){if(t.lookahead=Ee&&(t.ins_h=(t.ins_h<=Ee)if(n=Wr._tr_tally(t,t.strstart-t.match_start,t.match_length-Ee),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=Ee){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<=Ee&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=Ee-1)),t.prev_length>=Ee&&t.match_length<=t.prev_length){i=t.strstart+t.lookahead-Ee,n=Wr._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-Ee),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=i&&(t.ins_h=(t.ins_h<=Ee&&t.strstart>0&&(i=t.strstart-1,n=s[i],n===s[++i]&&n===s[++i]&&n===s[++i])){a=t.strstart+Yi;do;while(n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&n===s[++i]&&it.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=Ee?(r=Wr._tr_tally(t,1,t.match_length-Ee),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=Wr._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(Ft(t,!1),t.strm.avail_out===0))return wt}return t.insert=0,e===Ki?(Ft(t,!0),t.strm.avail_out===0?La:Zs):t.last_lit&&(Ft(t,!1),t.strm.avail_out===0)?wt:$l}function P$(t,e){for(var r;;){if(t.lookahead===0&&(ja(t),t.lookahead===0)){if(e===Na)return wt;break}if(t.match_length=0,r=Wr._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(Ft(t,!1),t.strm.avail_out===0))return wt}return t.insert=0,e===Ki?(Ft(t,!0),t.strm.avail_out===0?La:Zs):t.last_lit&&(Ft(t,!1),t.strm.avail_out===0)?wt:$l}function jn(t,e,r,n,i){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=n,this.func=i}var Ks;Ks=[new jn(0,0,0,0,T$),new jn(4,4,8,4,fm),new jn(4,5,16,8,fm),new jn(4,6,32,32,fm),new jn(4,4,16,16,Xs),new jn(8,16,32,32,Xs),new jn(8,16,128,128,Xs),new jn(8,32,128,256,Xs),new jn(32,128,258,1024,Xs),new jn(32,258,258,4096,Xs)];function R$(t){t.window_size=2*t.w_size,Wi(t.head),t.max_lazy_match=Ks[t.level].max_lazy,t.good_match=Ks[t.level].good_length,t.nice_match=Ks[t.level].nice_length,t.max_chain_length=Ks[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Ee-1,t.match_available=0,t.ins_h=0}function M$(){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=mf,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 er.Buf16(x$*2),this.dyn_dtree=new er.Buf16((2*b$+1)*2),this.bl_tree=new er.Buf16((2*_$+1)*2),Wi(this.dyn_ltree),Wi(this.dyn_dtree),Wi(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new er.Buf16(S$+1),this.heap=new er.Buf16(2*dm+1),Wi(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new er.Buf16(2*dm+1),Wi(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 F2(t){var e;return!t||!t.state?Xi(t,Yr):(t.total_in=t.total_out=0,t.data_type=p$,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?gf:Da,t.adler=e.wrap===2?0:1,e.last_flush=Na,Wr._tr_init(e),Nn)}function $2(t){var e=F2(t);return e===Nn&&R$(t.state),e}function O$(t,e){return!t||!t.state||t.state.wrap!==2?Yr:(t.state.gzhead=e,Nn)}function D2(t,e,r,n,i,a){if(!t)return Yr;var s=1;if(e===c$&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),i<1||i>m$||r!==mf||n<8||n>15||e<0||e>9||a<0||a>d$)return Xi(t,Yr);n===8&&(n=9);var o=new M$;return t.state=o,o.strm=t,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<P2||e<0)return t?Xi(t,Yr):Yr;if(n=t.state,!t.output||!t.input&&t.avail_in!==0||n.status===Fl&&e!==Ki)return Xi(t,t.avail_out===0?um:Yr);if(n.strm=t,r=n.last_flush,n.last_flush=e,n.status===gf)if(n.wrap===2)t.adler=0,Re(n,31),Re(n,139),Re(n,8),n.gzhead?(Re(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),Re(n,n.gzhead.time&255),Re(n,n.gzhead.time>>8&255),Re(n,n.gzhead.time>>16&255),Re(n,n.gzhead.time>>24&255),Re(n,n.level===9?2:n.strategy>=ff||n.level<2?4:0),Re(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(Re(n,n.gzhead.extra.length&255),Re(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=Vi(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=hm):(Re(n,0),Re(n,0),Re(n,0),Re(n,0),Re(n,0),Re(n,n.level===9?2:n.strategy>=ff||n.level<2?4:0),Re(n,A$),n.status=Da);else{var s=mf+(n.w_bits-8<<4)<<8,o=-1;n.strategy>=ff||n.level<2?o=0:n.level<6?o=1:n.level===6?o=2:o=3,s|=o<<6,n.strstart!==0&&(s|=E$),s+=31-s%31,n.status=Da,Il(n,s),n.strstart!==0&&(Il(n,t.adler>>>16),Il(n,t.adler&65535)),t.adler=1}if(n.status===hm)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(n.gzhead.extra.length&65535)&&!(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=Vi(t.adler,n.pending_buf,n.pending-i,i)),qi(t),i=n.pending,n.pending===n.pending_buf_size));)Re(n,n.gzhead.extra[n.gzindex]&255),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(t.adler=Vi(t.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=df)}else n.status=df;if(n.status===df)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=Vi(t.adler,n.pending_buf,n.pending-i,i)),qi(t),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindexi&&(t.adler=Vi(t.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.gzindex=0,n.status=hf)}else n.status=hf;if(n.status===hf)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(t.adler=Vi(t.adler,n.pending_buf,n.pending-i,i)),qi(t),i=n.pending,n.pending===n.pending_buf_size)){a=1;break}n.gzindexi&&(t.adler=Vi(t.adler,n.pending_buf,n.pending-i,i)),a===0&&(n.status=pf)}else n.status=pf;if(n.status===pf&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&qi(t),n.pending+2<=n.pending_buf_size&&(Re(n,t.adler&255),Re(n,t.adler>>8&255),t.adler=0,n.status=Da)):n.status=Da),n.pending!==0){if(qi(t),t.avail_out===0)return n.last_flush=-1,Nn}else if(t.avail_in===0&&M2(e)<=M2(r)&&e!==Ki)return Xi(t,um);if(n.status===Fl&&t.avail_in!==0)return Xi(t,um);if(t.avail_in!==0||n.lookahead!==0||e!==Na&&n.status!==Fl){var l=n.strategy===ff?P$(n,e):n.strategy===f$?C$(n,e):Ks[n.level].func(n,e);if((l===La||l===Zs)&&(n.status=Fl),l===wt||l===La)return t.avail_out===0&&(n.last_flush=-1),Nn;if(l===$l&&(e===s$?Wr._tr_align(n):e!==P2&&(Wr._tr_stored_block(n,0,0,!1),e===o$&&(Wi(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),qi(t),t.avail_out===0))return n.last_flush=-1,Nn}return e!==Ki?Nn:n.wrap<=0?R2:(n.wrap===2?(Re(n,t.adler&255),Re(n,t.adler>>8&255),Re(n,t.adler>>16&255),Re(n,t.adler>>24&255),Re(n,t.total_in&255),Re(n,t.total_in>>8&255),Re(n,t.total_in>>16&255),Re(n,t.total_in>>24&255)):(Il(n,t.adler>>>16),Il(n,t.adler&65535)),qi(t),n.wrap>0&&(n.wrap=-n.wrap),n.pending!==0?Nn:R2)}function $$(t){var e;return!t||!t.state?Yr:(e=t.state.status,e!==gf&&e!==hm&&e!==df&&e!==hf&&e!==pf&&e!==Da&&e!==Fl?Xi(t,Yr):(t.state=null,e===Da?Xi(t,l$):Nn))}function D$(t,e){var r=e.length,n,i,a,s,o,l,c,u;if(!t||!t.state||(n=t.state,s=n.wrap,s===2||s===1&&n.status!==gf||n.lookahead))return Yr;for(s===1&&(t.adler=O2(t.adler,e,r,0)),n.wrap=0,r>=n.w_size&&(s===0&&(Wi(n.head),n.strstart=0,n.block_start=0,n.insert=0),u=new er.Buf8(n.w_size),er.arraySet(u,e,r-n.w_size,n.w_size,0),e=u,r=n.w_size),o=t.avail_in,l=t.next_in,c=t.input,t.avail_in=r,t.next_in=0,t.input=e,ja(n);n.lookahead>=Ee;){i=n.strstart,a=n.lookahead-(Ee-1);do n.ins_h=(n.ins_h<{"use strict";m();var vf=pi(),j2=!0,N2=!0;try{String.fromCharCode.apply(null,[0])}catch(t){j2=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){N2=!1}var Dl=new vf.Buf8(256);for(gi=0;gi<256;gi++)Dl[gi]=gi>=252?6:gi>=248?5:gi>=240?4:gi>=224?3:gi>=192?2:1;var gi;Dl[254]=Dl[254]=1;Js.string2buf=function(t){var e,r,n,i,a,s=t.length,o=0;for(i=0;i>>6,e[a++]=128|r&63):r<65536?(e[a++]=224|r>>>12,e[a++]=128|r>>>6&63,e[a++]=128|r&63):(e[a++]=240|r>>>18,e[a++]=128|r>>>12&63,e[a++]=128|r>>>6&63,e[a++]=128|r&63);return e};function B2(t,e){if(e<65534&&(t.subarray&&N2||!t.subarray&&j2))return String.fromCharCode.apply(null,vf.shrinkBuf(t,e));for(var r="",n=0;n4){o[n++]=65533,r+=a-1;continue}for(i&=a===2?31:a===3?15:7;a>1&&r1){o[n++]=65533;continue}i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|i&1023)}return B2(o,n)};Js.utf8border=function(t,e){var r;for(e=e||t.length,e>t.length&&(e=t.length),r=e-1;r>=0&&(t[r]&192)===128;)r--;return r<0||r===0?e:r+Dl[t[r]]>e?r:e}});var mm=M((cY,H2)=>{"use strict";m();function L$(){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}H2.exports=L$});var V2=M(Nl=>{"use strict";m();var Ll=L2(),jl=pi(),vm=pm(),ym=uf(),j$=mm(),z2=Object.prototype.toString,N$=0,gm=4,Qs=0,U2=1,G2=2,B$=-1,H$=0,U$=8;function Ba(t){if(!(this instanceof Ba))return new Ba(t);this.options=jl.assign({level:B$,method:U$,chunkSize:16384,windowBits:15,memLevel:8,strategy:H$,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new j$,this.strm.avail_out=0;var r=Ll.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==Qs)throw new Error(ym[r]);if(e.header&&Ll.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(typeof e.dictionary=="string"?n=vm.string2buf(e.dictionary):z2.call(e.dictionary)==="[object ArrayBuffer]"?n=new Uint8Array(e.dictionary):n=e.dictionary,r=Ll.deflateSetDictionary(this.strm,n),r!==Qs)throw new Error(ym[r]);this._dict_set=!0}}Ba.prototype.push=function(t,e){var r=this.strm,n=this.options.chunkSize,i,a;if(this.ended)return!1;a=e===~~e?e:e===!0?gm:N$,typeof t=="string"?r.input=vm.string2buf(t):z2.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new jl.Buf8(n),r.next_out=0,r.avail_out=n),i=Ll.deflate(r,a),i!==U2&&i!==Qs)return this.onEnd(i),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(a===gm||a===G2))&&(this.options.to==="string"?this.onData(vm.buf2binstring(jl.shrinkBuf(r.output,r.next_out))):this.onData(jl.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&i!==U2);return a===gm?(i=Ll.deflateEnd(this.strm),this.onEnd(i),this.ended=!0,i===Qs):(a===G2&&(this.onEnd(Qs),r.avail_out=0),!0)};Ba.prototype.onData=function(t){this.chunks.push(t)};Ba.prototype.onEnd=function(t){t===Qs&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=jl.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function wm(t,e){var r=new Ba(e);if(r.push(t,!0),r.err)throw r.msg||ym[r.err];return r.result}function G$(t,e){return e=e||{},e.raw=!0,wm(t,e)}function z$(t,e){return e=e||{},e.gzip=!0,wm(t,e)}Nl.Deflate=Ba;Nl.deflate=wm;Nl.deflateRaw=G$;Nl.gzip=z$});var W2=M((hY,q2)=>{"use strict";m();var yf=30,V$=12;q2.exports=function(e,r){var n,i,a,s,o,l,c,u,f,d,h,p,g,v,y,b,E,S,A,k,w,x,_,T,C;n=e.state,i=e.next_in,T=e.input,a=i+(e.avail_in-5),s=e.next_out,C=e.output,o=s-(r-e.avail_out),l=s+(e.avail_out-257),c=n.dmax,u=n.wsize,f=n.whave,d=n.wnext,h=n.window,p=n.hold,g=n.bits,v=n.lencode,y=n.distcode,b=(1<>>24,p>>>=A,g-=A,A=S>>>16&255,A===0)C[s++]=S&65535;else if(A&16){k=S&65535,A&=15,A&&(g>>=A,g-=A),g<15&&(p+=T[i++]<>>24,p>>>=A,g-=A,A=S>>>16&255,A&16){if(w=S&65535,A&=15,gc){e.msg="invalid distance too far back",n.mode=yf;break e}if(p>>>=A,g-=A,A=s-o,w>A){if(A=w-A,A>f&&n.sane){e.msg="invalid distance too far back",n.mode=yf;break e}if(x=0,_=h,d===0){if(x+=u-A,A2;)C[s++]=_[x++],C[s++]=_[x++],C[s++]=_[x++],k-=3;k&&(C[s++]=_[x++],k>1&&(C[s++]=_[x++]))}else{x=s-w;do C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],k-=3;while(k>2);k&&(C[s++]=C[x++],k>1&&(C[s++]=C[x++]))}}else if(A&64){e.msg="invalid distance code",n.mode=yf;break e}else{S=y[(S&65535)+(p&(1<>3,i-=k,g-=k<<3,p&=(1<{"use strict";m();var Y2=pi(),eo=15,X2=852,K2=592,Z2=0,bm=1,J2=2,q$=[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],W$=[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],Y$=[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],X$=[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];Q2.exports=function(e,r,n,i,a,s,o,l){var c=l.bits,u=0,f=0,d=0,h=0,p=0,g=0,v=0,y=0,b=0,E=0,S,A,k,w,x,_=null,T=0,C,I=new Y2.Buf16(eo+1),L=new Y2.Buf16(eo+1),$=null,J=0,de,le,ce;for(u=0;u<=eo;u++)I[u]=0;for(f=0;f=1&&I[h]===0;h--);if(p>h&&(p=h),h===0)return a[s++]=1<<24|64<<16|0,a[s++]=1<<24|64<<16|0,l.bits=1,0;for(d=1;d0&&(e===Z2||h!==1))return-1;for(L[1]=0,u=1;uX2||e===J2&&b>K2)return 1;for(;;){de=u-v,o[f]C?(le=$[J+o[f]],ce=_[T+o[f]]):(le=96,ce=0),S=1<>v)+A]=de<<24|le<<16|ce|0;while(A!==0);for(S=1<>=1;if(S!==0?(E&=S-1,E+=S):E=0,f++,--I[u]===0){if(u===h)break;u=r[n+o[f]]}if(u>p&&(E&w)!==k){for(v===0&&(v=p),x+=d,g=u-v,y=1<X2||e===J2&&b>K2)return 1;k=E&w,a[k]=p<<24|g<<16|x-s|0}}return E!==0&&(a[x+E]=u-v<<24|64<<16|0),l.bits=p,0}});var $_=M(hn=>{"use strict";m();var Pr=pi(),km=lm(),Hn=cm(),K$=W2(),Bl=e_(),Z$=0,k_=1,T_=2,t_=4,J$=5,wf=6,Ha=0,Q$=1,e8=2,Xr=-2,C_=-3,Tm=-4,t8=-5,r_=8,P_=1,n_=2,i_=3,a_=4,s_=5,o_=6,l_=7,c_=8,u_=9,f_=10,xf=11,vi=12,_m=13,d_=14,xm=15,h_=16,p_=17,m_=18,g_=19,bf=20,_f=21,v_=22,y_=23,w_=24,b_=25,__=26,Sm=27,x_=28,S_=29,Ye=30,Cm=31,r8=32,n8=852,i8=592,a8=15,s8=a8;function E_(t){return(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24)}function o8(){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 Pr.Buf16(320),this.work=new Pr.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function R_(t){var e;return!t||!t.state?Xr:(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=P_,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Pr.Buf32(n8),e.distcode=e.distdyn=new Pr.Buf32(i8),e.sane=1,e.back=-1,Ha)}function M_(t){var e;return!t||!t.state?Xr:(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,R_(t))}function O_(t,e){var r,n;return!t||!t.state||(n=t.state,e<0?(r=0,e=-e):(r=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?Xr:(n.window!==null&&n.wbits!==e&&(n.window=null),n.wrap=r,n.wbits=e,M_(t))}function I_(t,e){var r,n;return t?(n=new o8,t.state=n,n.window=null,r=O_(t,e),r!==Ha&&(t.state=null),r):Xr}function l8(t){return I_(t,s8)}var A_=!0,Em,Am;function c8(t){if(A_){var e;for(Em=new Pr.Buf32(512),Am=new Pr.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Bl(k_,t.lens,0,288,Em,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Bl(T_,t.lens,0,32,Am,0,t.work,{bits:5}),A_=!1}t.lencode=Em,t.lenbits=9,t.distcode=Am,t.distbits=5}function F_(t,e,r,n){var i,a=t.state;return a.window===null&&(a.wsize=1<=a.wsize?(Pr.arraySet(a.window,e,r-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>n&&(i=n),Pr.arraySet(a.window,e,r-n,i,a.wnext),n-=i,n?(Pr.arraySet(a.window,e,r-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,r.check=Hn(r.check,_,2,0),c=0,u=0,r.mode=n_;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){t.msg="incorrect header check",r.mode=Ye;break}if((c&15)!==r_){t.msg="unknown compression method",r.mode=Ye;break}if(c>>>=4,u-=4,w=(c&15)+8,r.wbits===0)r.wbits=w;else if(w>r.wbits){t.msg="invalid window size",r.mode=Ye;break}r.dmax=1<>8&1),r.flags&512&&(_[0]=c&255,_[1]=c>>>8&255,r.check=Hn(r.check,_,2,0)),c=0,u=0,r.mode=i_;case i_:for(;u<32;){if(o===0)break e;o--,c+=n[a++]<>>8&255,_[2]=c>>>16&255,_[3]=c>>>24&255,r.check=Hn(r.check,_,4,0)),c=0,u=0,r.mode=a_;case a_:for(;u<16;){if(o===0)break e;o--,c+=n[a++]<>8),r.flags&512&&(_[0]=c&255,_[1]=c>>>8&255,r.check=Hn(r.check,_,2,0)),c=0,u=0,r.mode=s_;case s_:if(r.flags&1024){for(;u<16;){if(o===0)break e;o--,c+=n[a++]<>>8&255,r.check=Hn(r.check,_,2,0)),c=0,u=0}else r.head&&(r.head.extra=null);r.mode=o_;case o_:if(r.flags&1024&&(h=r.length,h>o&&(h=o),h&&(r.head&&(w=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Pr.arraySet(r.head.extra,n,a,h,w)),r.flags&512&&(r.check=Hn(r.check,n,h,a)),o-=h,a+=h,r.length-=h),r.length))break e;r.length=0,r.mode=l_;case l_:if(r.flags&2048){if(o===0)break e;h=0;do w=n[a+h++],r.head&&w&&r.length<65536&&(r.head.name+=String.fromCharCode(w));while(w&&h>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=vi;break;case f_:for(;u<32;){if(o===0)break e;o--,c+=n[a++]<>>=u&7,u-=u&7,r.mode=Sm;break}for(;u<3;){if(o===0)break e;o--,c+=n[a++]<>>=1,u-=1,c&3){case 0:r.mode=d_;break;case 1:if(c8(r),r.mode=bf,e===wf){c>>>=2,u-=2;break e}break;case 2:r.mode=p_;break;case 3:t.msg="invalid block type",r.mode=Ye}c>>>=2,u-=2;break;case d_:for(c>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,c+=n[a++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=Ye;break}if(r.length=c&65535,c=0,u=0,r.mode=xm,e===wf)break e;case xm:r.mode=h_;case h_:if(h=r.length,h){if(h>o&&(h=o),h>l&&(h=l),h===0)break e;Pr.arraySet(i,n,a,h,s),o-=h,a+=h,l-=h,s+=h,r.length-=h;break}r.mode=vi;break;case p_:for(;u<14;){if(o===0)break e;o--,c+=n[a++]<>>=5,u-=5,r.ndist=(c&31)+1,c>>>=5,u-=5,r.ncode=(c&15)+4,c>>>=4,u-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=Ye;break}r.have=0,r.mode=m_;case m_:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[I[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,T={bits:r.lenbits},x=Bl(Z$,r.lens,0,19,r.lencode,0,r.work,T),r.lenbits=T.bits,x){t.msg="invalid code lengths set",r.mode=Ye;break}r.have=0,r.mode=g_;case g_:for(;r.have>>24,b=v>>>16&255,E=v&65535,!(y<=u);){if(o===0)break e;o--,c+=n[a++]<>>=y,u-=y,r.lens[r.have++]=E;else{if(E===16){for(C=y+2;u>>=y,u-=y,r.have===0){t.msg="invalid bit length repeat",r.mode=Ye;break}w=r.lens[r.have-1],h=3+(c&3),c>>>=2,u-=2}else if(E===17){for(C=y+3;u>>=y,u-=y,w=0,h=3+(c&7),c>>>=3,u-=3}else{for(C=y+7;u>>=y,u-=y,w=0,h=11+(c&127),c>>>=7,u-=7}if(r.have+h>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=Ye;break}for(;h--;)r.lens[r.have++]=w}}if(r.mode===Ye)break;if(r.lens[256]===0){t.msg="invalid code -- missing end-of-block",r.mode=Ye;break}if(r.lenbits=9,T={bits:r.lenbits},x=Bl(k_,r.lens,0,r.nlen,r.lencode,0,r.work,T),r.lenbits=T.bits,x){t.msg="invalid literal/lengths set",r.mode=Ye;break}if(r.distbits=6,r.distcode=r.distdyn,T={bits:r.distbits},x=Bl(T_,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,T),r.distbits=T.bits,x){t.msg="invalid distances set",r.mode=Ye;break}if(r.mode=bf,e===wf)break e;case bf:r.mode=_f;case _f:if(o>=6&&l>=258){t.next_out=s,t.avail_out=l,t.next_in=a,t.avail_in=o,r.hold=c,r.bits=u,K$(t,d),s=t.next_out,i=t.output,l=t.avail_out,a=t.next_in,n=t.input,o=t.avail_in,c=r.hold,u=r.bits,r.mode===vi&&(r.back=-1);break}for(r.back=0;v=r.lencode[c&(1<>>24,b=v>>>16&255,E=v&65535,!(y<=u);){if(o===0)break e;o--,c+=n[a++]<>S)],y=v>>>24,b=v>>>16&255,E=v&65535,!(S+y<=u);){if(o===0)break e;o--,c+=n[a++]<>>=S,u-=S,r.back+=S}if(c>>>=y,u-=y,r.back+=y,r.length=E,b===0){r.mode=__;break}if(b&32){r.back=-1,r.mode=vi;break}if(b&64){t.msg="invalid literal/length code",r.mode=Ye;break}r.extra=b&15,r.mode=v_;case v_:if(r.extra){for(C=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=y_;case y_:for(;v=r.distcode[c&(1<>>24,b=v>>>16&255,E=v&65535,!(y<=u);){if(o===0)break e;o--,c+=n[a++]<>S)],y=v>>>24,b=v>>>16&255,E=v&65535,!(S+y<=u);){if(o===0)break e;o--,c+=n[a++]<>>=S,u-=S,r.back+=S}if(c>>>=y,u-=y,r.back+=y,b&64){t.msg="invalid distance code",r.mode=Ye;break}r.offset=E,r.extra=b&15,r.mode=w_;case w_:if(r.extra){for(C=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=Ye;break}r.mode=b_;case b_:if(l===0)break e;if(h=d-l,r.offset>h){if(h=r.offset-h,h>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=Ye;break}h>r.wnext?(h-=r.wnext,p=r.wsize-h):p=r.wnext-h,h>r.length&&(h=r.length),g=r.window}else g=i,p=s-r.offset,h=r.length;h>l&&(h=l),l-=h,r.length-=h;do i[s++]=g[p++];while(--h);r.length===0&&(r.mode=_f);break;case __:if(l===0)break e;i[s++]=r.length,l--,r.mode=_f;break;case Sm:if(r.wrap){for(;u<32;){if(o===0)break e;o--,c|=n[a++]<{"use strict";m();D_.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}});var j_=M((_Y,L_)=>{"use strict";m();function p8(){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}L_.exports=p8});var B_=M(Ul=>{"use strict";m();var to=$_(),Hl=pi(),Sf=pm(),lt=Pm(),Rm=uf(),m8=mm(),g8=j_(),N_=Object.prototype.toString;function Ua(t){if(!(this instanceof Ua))return new Ua(t);this.options=Hl.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(t&&t.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new m8,this.strm.avail_out=0;var r=to.inflateInit2(this.strm,e.windowBits);if(r!==lt.Z_OK)throw new Error(Rm[r]);if(this.header=new g8,to.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=Sf.string2buf(e.dictionary):N_.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=to.inflateSetDictionary(this.strm,e.dictionary),r!==lt.Z_OK)))throw new Error(Rm[r])}Ua.prototype.push=function(t,e){var r=this.strm,n=this.options.chunkSize,i=this.options.dictionary,a,s,o,l,c,u=!1;if(this.ended)return!1;s=e===~~e?e:e===!0?lt.Z_FINISH:lt.Z_NO_FLUSH,typeof t=="string"?r.input=Sf.binstring2buf(t):N_.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Hl.Buf8(n),r.next_out=0,r.avail_out=n),a=to.inflate(r,lt.Z_NO_FLUSH),a===lt.Z_NEED_DICT&&i&&(a=to.inflateSetDictionary(this.strm,i)),a===lt.Z_BUF_ERROR&&u===!0&&(a=lt.Z_OK,u=!1),a!==lt.Z_STREAM_END&&a!==lt.Z_OK)return this.onEnd(a),this.ended=!0,!1;r.next_out&&(r.avail_out===0||a===lt.Z_STREAM_END||r.avail_in===0&&(s===lt.Z_FINISH||s===lt.Z_SYNC_FLUSH))&&(this.options.to==="string"?(o=Sf.utf8border(r.output,r.next_out),l=r.next_out-o,c=Sf.buf2string(r.output,o),r.next_out=l,r.avail_out=n-l,l&&Hl.arraySet(r.output,r.output,o,l,0),this.onData(c)):this.onData(Hl.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(u=!0)}while((r.avail_in>0||r.avail_out===0)&&a!==lt.Z_STREAM_END);return a===lt.Z_STREAM_END&&(s=lt.Z_FINISH),s===lt.Z_FINISH?(a=to.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===lt.Z_OK):(s===lt.Z_SYNC_FLUSH&&(this.onEnd(lt.Z_OK),r.avail_out=0),!0)};Ua.prototype.onData=function(t){this.chunks.push(t)};Ua.prototype.onEnd=function(t){t===lt.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Hl.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function Mm(t,e){var r=new Ua(e);if(r.push(t,!0),r.err)throw r.msg||Rm[r.err];return r.result}function v8(t,e){return e=e||{},e.raw=!0,Mm(t,e)}Ul.Inflate=Ua;Ul.inflate=Mm;Ul.inflateRaw=v8;Ul.ungzip=Mm});var G_=M((AY,U_)=>{"use strict";m();var y8=pi().assign,w8=V2(),b8=B_(),_8=Pm(),H_={};y8(H_,w8,b8,_8);U_.exports=H_});var q_=M((TY,V_)=>{"use strict";m();var z_=(t,e)=>function(...r){let n=e.promiseModule;return new n((i,a)=>{e.multiArgs?r.push((...s)=>{e.errorFirst?s[0]?a(s):(s.shift(),i(s)):i(s)}):e.errorFirst?r.push((s,o)=>{s?a(s):i(o)}):r.push(i),t.apply(this,r)})};V_.exports=(t,e)=>{e=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},e);let r=typeof t;if(!(t!==null&&(r==="object"||r==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${t===null?"null":r}\``);let n=a=>{let s=o=>typeof o=="string"?a===o:o.test(a);return e.include?e.include.some(s):!e.exclude.some(s)},i;r==="function"?i=function(...a){return e.excludeMain?t(...a):z_(t,e).apply(this,a)}:i=Object.create(Object.getPrototypeOf(t));for(let a in t){let s=t[a];i[a]=typeof s=="function"&&n(a)?z_(s,e):s}return i}});var tx=M((PY,ex)=>{m();function W_(t){return Array.isArray(t)?t:[t]}var Fm="",Y_=" ",Om="\\",x8=/^\s+$/,S8=/(?:[^\\]|^)\\$/,E8=/^\\!/,A8=/^\\#/,k8=/\r?\n/g,T8=/^\.*\/|^\.+$/,Im="/",Z_="node-ignore";typeof Symbol!="undefined"&&(Z_=Symbol.for("node-ignore"));var X_=Z_,C8=(t,e,r)=>Object.defineProperty(t,e,{value:r}),P8=/([0-z])-([0-z])/g,J_=()=>!1,R8=t=>t.replace(P8,(e,r,n)=>r.charCodeAt(0)<=n.charCodeAt(0)?e:Fm),M8=t=>{let{length:e}=t;return t.slice(0,e-e%2)},O8=[[/^\uFEFF/,()=>Fm],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,r)=>e+(r.indexOf("\\")===0?Y_:Fm)],[/(\\+?)\s/g,(t,e)=>{let{length:r}=e;return e.slice(0,r-r%2)+Y_}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6{let n=r.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Om],[/\\\\/g,()=>Om],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,n,i)=>e===Om?`\\[${r}${M8(n)}${i}`:i==="]"&&n.length%2===0?`[${R8(r)}${n}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],K_=Object.create(null),I8=(t,e)=>{let r=K_[t];return r||(r=O8.reduce((n,[i,a])=>n.replace(i,a.bind(t)),t),K_[t]=r),e?new RegExp(r,"i"):new RegExp(r)},Lm=t=>typeof t=="string",F8=t=>t&&Lm(t)&&!x8.test(t)&&!S8.test(t)&&t.indexOf("#")!==0,$8=t=>t.split(k8),$m=class{constructor(e,r,n,i){this.origin=e,this.pattern=r,this.negative=n,this.regex=i}},D8=(t,e)=>{let r=t,n=!1;t.indexOf("!")===0&&(n=!0,t=t.substr(1)),t=t.replace(E8,"!").replace(A8,"#");let i=I8(t,e);return new $m(r,t,n,i)},L8=(t,e)=>{throw new e(t)},yi=(t,e,r)=>Lm(t)?t?yi.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),Q_=t=>T8.test(t);yi.isNotRelative=Q_;yi.convert=t=>t;var Dm=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:n=!1}={}){C8(this,X_,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[X_]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(F8(e)){let r=D8(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,W_(Lm(e)?$8(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let n=!1,i=!1;return this._rules.forEach(a=>{let{negative:s}=a;if(i===s&&n!==i||s&&!n&&!i&&!r)return;a.regex.test(e)&&(n=!s,i=s)}),{ignored:n,unignored:i}}_test(e,r,n,i){let a=e&&yi.convert(e);return yi(a,e,this._allowRelativePaths?J_:L8),this._t(a,r,n,i)}_t(e,r,n,i){if(e in r)return r[e];if(i||(i=e.split(Im)),i.pop(),!i.length)return r[e]=this._testOne(e,n);let a=this._t(i.join(Im)+Im,r,n,i);return r[e]=a.ignored?a:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return W_(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Ef=t=>new Dm(t),j8=t=>yi(t&&yi.convert(t),t,J_);Ef.isPathValid=j8;Ef.default=Ef;ex.exports=Ef;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");yi.convert=t;let e=/^[a-z]:\//i;yi.isNotRelative=r=>e.test(r)||Q_(r)}});var nx=M((MY,rx)=>{"use strict";m();function N8(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Un(t,e,r){return e=e instanceof RegExp?e:new RegExp(N8(e),"g"),t.replace(e,r)}var B8={clean:function(e){if(typeof e!="string")throw new Error("Expected a string, received: "+e);return e=Un(e,"./","/"),e=Un(e,"..","."),e=Un(e," ","-"),e=Un(e,/^[~^:?*\\\-]/g,""),e=Un(e,/[~^:?*\\]/g,"-"),e=Un(e,/[~^:?*\\\-]$/g,""),e=Un(e,"@{","-"),e=Un(e,/\.$/g,""),e=Un(e,/\/$/g,""),e=Un(e,/\.lock$/g,""),e}};rx.exports=B8});var ax=M((IY,ix)=>{m();ix.exports=function(t,e){var r=t,n=e,i=r.length,a=n.length,s=!1,o=null,l=i+1,c=[],u=[],f=[],d="",h=-1,p=0,g=1,v,y,b=function(){i>=a&&(v=r,y=i,r=n,n=v,i=a,a=y,s=!0,l=i+1)},E=function(w,x,_){return{x:w,y:x,k:_}},S=function(w,x){return{elem:w,t:x}},A=function(w,x,_){var T,C,I;for(x>_?T=c[w-1+l]:T=c[w+1+l],I=Math.max(x,_),C=I-w;C=0;--I)for(;TC-T?(s?f[f.length]=new S(n[C],h):f[f.length]=new S(n[C],g),++_,++C):w[I].y-w[I].x=w+1;--$)_[$+l]=A($,_[$-1+l]+1,_[$+1+l]);_[w+l]=A(w,_[w-1+l]+1,_[w+1+l])}while(_[w+l]!==a);for(o=w+2*T,C=c[w+l],I=[];C!==-1;)I[I.length]=new E(u[C].x,u[C].y,null),C=u[C].k;k(I)}}}});var lx=M(($Y,ox)=>{m();var H8=ax();function U8(t,e){var r=new H8(t,e);r.compose();for(var n=r.getses(),i,a,s=t.length-1,o=e.length-1,l=n.length-1;l>=0;--l)n[l].t===r.SES_COMMON?(a?(a.chain={file1index:s,file2index:o,chain:null},a=a.chain):(i={file1index:s,file2index:o,chain:null},a=i),s--,o--):n[l].t===r.SES_DELETE?s--:n[l].t===r.SES_ADD&&o--;var c={file1index:-1,file2index:-1,chain:null};return a?(a.chain=c,i):c}function sx(t,e){for(var r=[],n=t.length,i=e.length,a=U8(t,e);a!==null;a=a.chain){var s=n-a.file1index-1,o=i-a.file2index-1;n=a.file1index,i=a.file2index,(s||o)&&r.push({file1:[n+1,s],file2:[i+1,o]})}return r.reverse(),r}function G8(t,e,r){var n,i=sx(e,t),a=sx(e,r),s=[];function o(L,$){s.push([L.file1[0],$,L.file1[1],L.file2[0],L.file2[1]])}for(n=0;nc&&(l.push([1,c,L-c]),c=L)}for(var f=0;fg)break;g=Math.max(g,y+v[2]),f++}if(u(p),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var b={0:[t.length,-1,e.length,-1],2:[r.length,-1,e.length,-1]};for(n=d;n<=f;n++){h=s[n];var E=h[1],S=b[E],A=h[0],k=A+h[2],w=h[3],x=w+h[4];S[0]=Math.min(w,S[0]),S[1]=Math.max(x,S[1]),S[2]=Math.min(A,S[2]),S[3]=Math.max(k,S[3])}var _=b[0][0]+(p-b[0][2]),T=b[0][1]+(g-b[0][3]),C=b[2][0]+(p-b[2][2]),I=b[2][1]+(g-b[2][3]);l.push([-1,_,T-_,p,g-p,C,I-C])}c=g}return u(e.length),l}function z8(t,e,r){var n=[],i=[t,e,r],a=G8(t,e,r),s=[];function o(){s.length&&n.push({ok:s}),s=[]}function l(h){for(var p=0;p{"use strict";m();Object.defineProperty(Y,"__esModule",{value:!0});function aa(t){return t&&typeof t=="object"&&"default"in t?t.default:t}var zl=aa(qy()),Mx=aa(Zb()),F=e2(),V8=aa(r2()),cg=aa(G_()),jm=aa(q_()),q8=aa(tx()),zn=aa(nx()),W8=aa(lx()),Ae=class t extends Error{constructor(e){super(e),this.caller=""}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(e){let r=new t(e.message);return r.code=e.code,r.data=e.data,r.caller=e.caller,r.stack=e.stack,r}get isIsomorphicGitError(){return!0}},Vl=class t extends Ae{constructor(e){super(`Modifying the index is not possible because you have unmerged files: ${e.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=t.code,this.data={filepaths:e}}};Vl.code="UnmergedPathsError";var pe=class t extends Ae{constructor(e){super(`An internal error caused this command to fail. Please file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${e}`),this.code=this.name=t.code,this.data={message:e}}};pe.code="InternalError";var no=class t extends Ae{constructor(e){super(`The filepath "${e}" contains unsafe character sequences`),this.code=this.name=t.code,this.data={filepath:e}}};no.code="UnsafeFilepathError";var Kr=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 r=this.buffer.slice(this._start,this._start+e);return this._start+=e,r}toString(e,r){let n=this.buffer.toString(e,this._start,this._start+r);return this._start+=r,n}write(e,r,n){let i=this.buffer.write(e,this._start,r,n);return this._start+=r,i}copy(e,r,n){let i=e.copy(this.buffer,this._start,r,n);return this._start+=i,i}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let r=this.buffer.writeUInt8(e,this._start);return this._start+=1,r}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let r=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,r}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let r=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,r}};function Lf(t,e){return-(te)}function Ox(t,e){return Lf(t.path,e.path)}function Ix(t){let e=t>0?t>>12:0;e!==4&&e!==8&&e!==10&&e!==14&&(e=8);let r=t&511;return r&73?r=493:r=420,e!==8&&(r=0),(e<<12)+r}var Gn=2**32;function cx(t,e,r,n){if(t!==void 0&&e!==void 0)return[t,e];r===void 0&&(r=n.valueOf());let i=Math.floor(r/1e3),a=(r-i*1e3)*1e6;return[i,a]}function io(t){let[e,r]=cx(t.ctimeSeconds,t.ctimeNanoseconds,t.ctimeMs,t.ctime),[n,i]=cx(t.mtimeSeconds,t.mtimeNanoseconds,t.mtimeMs,t.mtime);return{ctimeSeconds:e%Gn,ctimeNanoseconds:r%Gn,mtimeSeconds:n%Gn,mtimeNanoseconds:i%Gn,dev:t.dev%Gn,ino:t.ino%Gn,mode:Ix(t.mode%Gn),uid:t.uid%Gn,gid:t.gid%Gn,size:t.size>-1?t.size%Gn:0}}function Y8(t){let e="";for(let r of new Uint8Array(t))r<16&&(e+="0"),e+=r.toString(16);return e}var Nm=null;async function bi(t){return Nm===null&&(Nm=await K8()),Nm?Fx(t):X8(t)}function X8(t){return new Mx().update(t).digest("hex")}async function Fx(t){let e=await crypto.subtle.digest("SHA-1",t);return Y8(e)}async function K8(){try{if(await Fx(new Uint8Array([]))==="da39a3ee5e6b4b0d3255bfef95601890afd80709")return!0}catch(t){}return!1}function Z8(t){return{assumeValid:!!(t&32768),extended:!!(t&16384),stage:(t&12288)>>12,nameLength:t&4095}}function J8(t){let e=t.flags;return e.extended=!1,e.nameLength=Math.min(Buffer.from(t.path).length,4095),(e.assumeValid?32768:0)+(e.extended?16384:0)+((e.stage&3)<<12)+(e.nameLength&4095)}var Zm=class t{constructor(e,r){this._dirty=!1,this._unmergedPaths=r||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 r=this._entries.get(e.path);r||(this._entries.set(e.path,e),r=e),r.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(e){if(Buffer.isBuffer(e))return t.fromBuffer(e);if(e===null)return new t(null);throw new pe("invalid type passed to GitIndex.from")}static async fromBuffer(e){if(e.length===0)throw new pe("Index file is empty (.git/index)");let r=new t,n=new Kr(e),i=n.toString("utf8",4);if(i!=="DIRC")throw new pe(`Invalid dircache magic file number: ${i}`);let a=await bi(e.slice(0,-20)),s=e.slice(-20).toString("hex");if(s!==a)throw new pe(`Invalid checksum in GitIndex buffer: expected ${s} but saw ${a}`);let o=n.readUInt32BE();if(o!==2)throw new pe(`Unsupported dircache version: ${o}`);let l=n.readUInt32BE(),c=0;for(;!n.eof()&&ce.stages.length>1?e.stages.filter(r=>r):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:r,oid:n,stage:i=0}){r||(r={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0}),r=io(r);let a=Buffer.from(e),s={ctimeSeconds:r.ctimeSeconds,ctimeNanoseconds:r.ctimeNanoseconds,mtimeSeconds:r.mtimeSeconds,mtimeNanoseconds:r.mtimeNanoseconds,dev:r.dev,ino:r.ino,mode:r.mode||33188,uid:r.uid,gid:r.gid,size:r.size,path:e,oid:n,flags:{assumeValid:!1,extended:!1,stage:i,nameLength:a.length<4095?a.length:4095},stages:[]};this._addEntry(s),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let r of this._entries.keys())r.startsWith(e+"/")&&this._entries.delete(r);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(` +`)}static async _entryToBuffer(e){let r=Buffer.from(e.path),n=Math.ceil((62+r.length+1)/8)*8,i=Buffer.alloc(n),a=new Kr(i),s=io(e);return a.writeUInt32BE(s.ctimeSeconds),a.writeUInt32BE(s.ctimeNanoseconds),a.writeUInt32BE(s.mtimeSeconds),a.writeUInt32BE(s.mtimeNanoseconds),a.writeUInt32BE(s.dev),a.writeUInt32BE(s.ino),a.writeUInt32BE(s.mode),a.writeUInt32BE(s.uid),a.writeUInt32BE(s.gid),a.writeUInt32BE(s.size),a.write(e.oid,20,"hex"),a.writeUInt16BE(J8(e)),a.write(e.path,r.length,"utf8"),i}async toObject(){let e=Buffer.alloc(12),r=new Kr(e);r.write("DIRC",4,"utf8"),r.writeUInt32BE(2),r.writeUInt32BE(this.entriesFlat.length);let n=[];for(let o of this.entries)if(n.push(t._entryToBuffer(o)),o.stages.length>1)for(let l of o.stages)l&&l!==o&&n.push(t._entryToBuffer(l));n=await Promise.all(n);let i=Buffer.concat(n),a=Buffer.concat([e,i]),s=await bi(a);return Buffer.concat([a,Buffer.from(s,"hex")])}};function Tf(t,e,r=!0,n=!0){let i=io(t),a=io(e);return r&&i.mode!==a.mode||i.mtimeSeconds!==a.mtimeSeconds||i.ctimeSeconds!==a.ctimeSeconds||i.uid!==a.uid||i.gid!==a.gid||n&&i.ino!==a.ino||i.size!==a.size}var Bm=null,Hm=Symbol("IndexCache");function Q8(){return{map:new Map,stats:new Map}}async function e4(t,e,r){let[n,i]=await Promise.all([t.lstat(e),t.read(e)]),a=await Zm.from(i);r.map.set(e,a),r.stats.set(e,n)}async function t4(t,e,r){let n=r.stats.get(e);if(n===void 0)return!0;if(n===null)return!1;let i=await t.lstat(e);return i===null?!1:Tf(n,i)}var ct=class{static async acquire({fs:e,gitdir:r,cache:n,allowUnmerged:i=!0},a){n[Hm]||(n[Hm]=Q8());let s=`${r}/index`;Bm===null&&(Bm=new zl({maxPending:1/0}));let o,l=[];return await Bm.acquire(s,async()=>{let c=n[Hm];await t4(e,s,c)&&await e4(e,s,c);let u=c.map.get(s);if(l=u.unmergedPaths,l.length&&!i)throw new Vl(l);if(o=await a(u),u._dirty){let f=await u.toObject();await e.write(s,f),c.stats.set(s,await e.lstat(s)),u._dirty=!1}}),o}};function Cf(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e>-1&&(t=t.slice(e+1)),t}function ao(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e===-1?".":e===0?"/":t.slice(0,e)}function $x(t){let e=new Map,r=function(i){if(!e.has(i)){let a={type:"tree",fullpath:i,basename:Cf(i),metadata:{},children:[]};e.set(i,a),a.parent=r(ao(i)),a.parent&&a.parent!==a&&a.parent.children.push(a)}return e.get(i)},n=function(i,a){if(!e.has(i)){let s={type:"blob",fullpath:i,basename:Cf(i),metadata:a,parent:r(ao(i)),children:[]};s.parent&&s.parent.children.push(s),e.set(i,s)}return e.get(i)};r(".");for(let i of t)n(i.path,i);return e}function r4(t){switch(t){case 16384:return"tree";case 33188:return"blob";case 33261:return"blob";case 40960:return"blob";case 57344:return"commit"}throw new pe(`Unexpected GitTree entry mode: ${t.toString(8)}`)}var Jm=class{constructor({fs:e,gitdir:r,cache:n}){this.treePromise=ct.acquire({fs:e,gitdir:r,cache:n},async function(a){return $x(a.entries)});let i=this;this.ConstructEntry=class{constructor(s){this._fullpath=s,this._type=!1,this._mode=!1,this._stat=!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 r=e._fullpath,i=(await this.treePromise).get(r);if(!i||i.type==="blob")return null;if(i.type!=="tree")throw new Error(`ENOTDIR: not a directory, scandir '${r}'`);let a=i.children.map(s=>s.fullpath);return a.sort(Lf),a}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 n=(await this.treePromise).get(e._fullpath);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let i=n.type==="tree"?{}:io(n.metadata);e._type=n.type==="tree"?"tree":r4(i.mode),e._mode=i.mode,n.type==="tree"?e._stat=void 0:e._stat=i}return e._stat}async content(e){}async oid(e){if(e._oid===!1){let n=(await this.treePromise).get(e._fullpath);e._oid=n.metadata.oid}return e._oid}},jf=Symbol("GitWalkSymbol");function Ya(){let t=Object.create(null);return Object.defineProperty(t,jf,{value:function({fs:e,gitdir:r,cache:n}){return new Jm({fs:e,gitdir:r,cache:n})}}),Object.freeze(t),t}var je=class t extends Ae{constructor(e){super(`Could not find ${e}.`),this.code=this.name=t.code,this.data={what:e}}};je.code="NotFoundError";var tr=class t extends Ae{constructor(e,r,n,i){super(`Object ${e} ${i?`at ${i}`:""}was anticipated to be a ${n} but it is a ${r}.`),this.code=this.name=t.code,this.data={oid:e,actual:r,expected:n,filepath:i}}};tr.code="ObjectTypeError";var Qi=class t extends Ae{constructor(e){super(`Expected a 40-char hex object id but saw "${e}".`),this.code=this.name=t.code,this.data={value:e}}};Qi.code="InvalidOidError";var ql=class t extends Ae{constructor(e){super(`Could not find a fetch refspec for remote "${e}". Make sure the config file has an entry like the following: +[remote "${e}"] + fetch = +refs/heads/*:refs/remotes/origin/* +`),this.code=this.name=t.code,this.data={remote:e}}};ql.code="NoRefspecError";var Pf=class t{constructor(e){if(this.refs=new Map,this.parsedConfig=[],e){let r=null;this.parsedConfig=e.trim().split(` +`).map(n=>{if(/^\s*#/.test(n))return{line:n,comment:!0};let i=n.indexOf(" ");if(n.startsWith("^")){let a=n.slice(1);return this.refs.set(r+"^{}",a),{line:n,ref:r,peeled:a}}else{let a=n.slice(0,i);return r=n.slice(i+1),this.refs.set(r,a),{line:n,ref:r,oid:a}}})}return this}static from(e){return new t(e)}delete(e){this.parsedConfig=this.parsedConfig.filter(r=>r.ref!==e),this.refs.delete(e)}toString(){return this.parsedConfig.map(({line:e})=>e).join(` +`)+` +`}},Rf=class t{constructor({remotePath:e,localPath:r,force:n,matchPrefix:i}){Object.assign(this,{remotePath:e,localPath:r,force:n,matchPrefix:i})}static from(e){let[r,n,i,a,s]=e.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),o=r==="+",l=i==="*";if(l!==(s==="*"))throw new pe("Invalid refspec");return new t({remotePath:n,localPath:a,force:o,matchPrefix:l})}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}},Qm=class t{constructor(e=[]){this.rules=e}static from(e){let r=[];for(let n of e)r.push(Rf.from(n));return new t(r)}add(e){let r=Rf.from(e);this.rules.push(r)}translate(e){let r=[];for(let n of this.rules)for(let i of e){let a=n.translate(i);a&&r.push([i,a])}return r}translateOne(e){let r=null;for(let n of this.rules){let i=n.translate(e);i&&(r=i)}return r}localNamespaces(){return this.rules.filter(e=>e.matchPrefix).map(e=>e.localPath.replace(/\/$/,""))}};function n4(t,e){let r=t.replace(/\^\{\}$/,""),n=e.replace(/\^\{\}$/,""),i=-(rn);return i===0?t.endsWith("^{}")?1:-1:i}var i4=t=>{if(typeof t=="number")return t;t=t.toLowerCase();let e=parseInt(t);return t.endsWith("k")&&(e*=1024),t.endsWith("m")&&(e*=1024*1024),t.endsWith("g")&&(e*=1024*1024*1024),e},Gl=t=>{if(typeof t=="boolean")return t;if(t=t.trim().toLowerCase(),t==="true"||t==="yes"||t==="on")return!0;if(t==="false"||t==="no"||t==="off")return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${t}`)},ux={core:{filemode:Gl,bare:Gl,logallrefupdates:Gl,symlinks:Gl,ignorecase:Gl,bigFileThreshold:i4}},a4=/^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/,s4=/^[A-Za-z0-9-.]+$/,o4=/^([A-Za-z][A-Za-z-]*)(?: *= *(.*))?$/,l4=/^[A-Za-z][A-Za-z-]*$/,c4=/^(.*?)( *[#;].*)$/,u4=t=>{let e=a4.exec(t);if(e!=null){let[r,n]=e.slice(1);return[r,n]}return null},f4=t=>{let e=o4.exec(t);if(e!=null){let[r,n="true"]=e.slice(1),i=d4(n),a=h4(i);return[r,a]}return null},d4=t=>{let e=c4.exec(t);if(e==null)return t;let[r,n]=e.slice(1);return fx(r)&&fx(n)?`${r}${n}`:r},fx=t=>(t.match(/(?:^|[^\\])"/g)||[]).length%2!==0,h4=t=>t.split("").reduce((e,r,n,i)=>{let a=r==='"'&&i[n-1]!=="\\",s=r==="\\"&&i[n+1]==='"';return a||s?e:e+r},""),dx=t=>t!=null?t.toLowerCase():null,eg=(t,e,r)=>[dx(t),e,dx(r)].filter(n=>n!=null).join("."),hx=t=>{let e=t.split("."),r=e.shift(),n=e.pop(),i=e.length?e.join("."):void 0;return{section:r,subsection:i,name:n,path:eg(r,i,n),sectionPath:eg(r,i,null),isSection:!!r}},p4=(t,e)=>t.reduce((r,n,i)=>e(n)?i:r,-1),tg=class t{constructor(e){let r=null,n=null;this.parsedConfig=e?e.split(` +`).map(i=>{let a=null,s=null,o=i.trim(),l=u4(o),c=l!=null;if(c)[r,n]=l;else{let f=f4(o);f!=null&&([a,s]=f)}let u=eg(r,n,a);return{line:i,isSection:c,section:r,subsection:n,name:a,value:s,path:u}}):[]}static from(e){return new t(e)}async get(e,r=!1){let n=hx(e).path,i=this.parsedConfig.filter(a=>a.path===n).map(({section:a,name:s,value:o})=>{let l=ux[a]&&ux[a][s];return l?l(o):o});return r?i:i.pop()}async getall(e){return this.get(e,!0)}async getSubsections(e){return this.parsedConfig.filter(r=>r.isSection&&r.section===e).map(r=>r.subsection)}async deleteSection(e,r){this.parsedConfig=this.parsedConfig.filter(n=>!(n.section===e&&n.subsection===r))}async append(e,r){return this.set(e,r,!0)}async set(e,r,n=!1){let{section:i,subsection:a,name:s,path:o,sectionPath:l,isSection:c}=hx(e),u=p4(this.parsedConfig,f=>f.path===o);if(r==null)u!==-1&&this.parsedConfig.splice(u,1);else if(u!==-1){let f=this.parsedConfig[u],d=Object.assign({},f,{name:s,value:r,modified:!0});n?this.parsedConfig.splice(u+1,0,d):this.parsedConfig[u]=d}else{let f=this.parsedConfig.findIndex(h=>h.path===l),d={section:i,subsection:a,name:s,value:r,modified:!0,path:o};if(s4.test(i)&&l4.test(s))if(f>=0)this.parsedConfig.splice(f+1,0,d);else{let h={isSection:c,section:i,subsection:a,modified:!0,path:l};this.parsedConfig.push(h,d)}}}toString(){return this.parsedConfig.map(({line:e,section:r,subsection:n,name:i,value:a,modified:s=!1})=>s?i!=null&&a!=null?typeof a=="string"&&/[#;]/.test(a)?` ${i} = "${a}"`:` ${i} = ${a}`:n!=null?`[${r} "${n}"]`:`[${r}]`:e).join(` +`)}},nt=class{static async get({fs:e,gitdir:r}){let n=await e.read(`${r}/config`,{encoding:"utf8"});return tg.from(n)}static async save({fs:e,gitdir:r,config:n}){await e.write(`${r}/config`,n.toString(),{encoding:"utf8"})}},Af=t=>[`${t}`,`refs/${t}`,`refs/tags/${t}`,`refs/heads/${t}`,`refs/remotes/${t}`,`refs/remotes/${t}/HEAD`],m4=["config","description","index","shallow","commondir"],Um;async function Zi(t,e){return Um===void 0&&(Um=new zl),Um.acquire(t,e)}var V=class t{static async updateRemoteRefs({fs:e,gitdir:r,remote:n,refs:i,symrefs:a,tags:s,refspecs:o=void 0,prune:l=!1,pruneTags:c=!1}){for(let v of i.values())if(!v.match(/[0-9a-f]{40}/))throw new Qi(v);let u=await nt.get({fs:e,gitdir:r});if(!o){if(o=await u.getall(`remote.${n}.fetch`),o.length===0)throw new ql(n);o.unshift(`+HEAD:refs/remotes/${n}/HEAD`)}let f=Qm.from(o),d=new Map;if(c){let v=await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"});await t.deleteRefs({fs:e,gitdir:r,refs:v.map(y=>`refs/tags/${y}`)})}if(s){for(let v of i.keys())if(v.startsWith("refs/tags")&&!v.endsWith("^{}")&&!await t.exists({fs:e,gitdir:r,ref:v})){let y=i.get(v);d.set(v,y)}}let h=f.translate([...i.keys()]);for(let[v,y]of h){let b=i.get(v);d.set(y,b)}let p=f.translate([...a.keys()]);for(let[v,y]of p){let b=a.get(v),E=f.translateOne(b);E&&d.set(y,`ref: ${E}`)}let g=[];if(l){for(let v of f.localNamespaces()){let y=(await t.listRefs({fs:e,gitdir:r,filepath:v})).map(b=>`${v}/${b}`);for(let b of y)d.has(b)||g.push(b)}g.length>0&&await t.deleteRefs({fs:e,gitdir:r,refs:g})}for(let[v,y]of d)await Zi(v,async()=>e.write(F.join(r,v),`${y.trim()} +`,"utf8"));return{pruned:g}}static async writeRef({fs:e,gitdir:r,ref:n,value:i}){if(!i.match(/[0-9a-f]{40}/))throw new Qi(i);await Zi(n,async()=>e.write(F.join(r,n),`${i.trim()} +`,"utf8"))}static async writeSymbolicRef({fs:e,gitdir:r,ref:n,value:i}){await Zi(n,async()=>e.write(F.join(r,n),`ref: ${i.trim()} +`,"utf8"))}static async deleteRef({fs:e,gitdir:r,ref:n}){return t.deleteRefs({fs:e,gitdir:r,refs:[n]})}static async deleteRefs({fs:e,gitdir:r,refs:n}){await Promise.all(n.map(o=>e.rm(F.join(r,o))));let i=await Zi("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"})),a=Pf.from(i),s=a.refs.size;for(let o of n)a.refs.has(o)&&a.delete(o);a.refs.sizee.write(`${r}/packed-refs`,i,{encoding:"utf8"})))}static async resolve({fs:e,gitdir:r,ref:n,depth:i=void 0}){if(i!==void 0&&(i--,i===-1))return n;if(n.startsWith("ref: "))return n=n.slice(5),t.resolve({fs:e,gitdir:r,ref:n,depth:i});if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let a=await t.packedRefs({fs:e,gitdir:r}),s=Af(n).filter(o=>!m4.includes(o));for(let o of s){let l=await Zi(o,async()=>await e.read(`${r}/${o}`,{encoding:"utf8"})||a.get(o));if(l)return t.resolve({fs:e,gitdir:r,ref:l.trim(),depth:i})}throw new je(n)}static async exists({fs:e,gitdir:r,ref:n}){try{return await t.expand({fs:e,gitdir:r,ref:n}),!0}catch(i){return!1}}static async expand({fs:e,gitdir:r,ref:n}){if(n.length===40&&/[0-9a-f]{40}/.test(n))return n;let i=await t.packedRefs({fs:e,gitdir:r}),a=Af(n);for(let s of a)if(await Zi(s,async()=>e.exists(`${r}/${s}`))||i.has(s))return s;throw new je(n)}static async expandAgainstMap({ref:e,map:r}){let n=Af(e);for(let i of n)if(await r.has(i))return i;throw new je(e)}static resolveAgainstMap({ref:e,fullref:r=e,depth:n=void 0,map:i}){if(n!==void 0&&(n--,n===-1))return{fullref:r,oid:e};if(e.startsWith("ref: "))return e=e.slice(5),t.resolveAgainstMap({ref:e,fullref:r,depth:n,map:i});if(e.length===40&&/[0-9a-f]{40}/.test(e))return{fullref:r,oid:e};let a=Af(e);for(let s of a){let o=i.get(s);if(o)return t.resolveAgainstMap({ref:o.trim(),fullref:s,depth:n,map:i})}throw new je(e)}static async packedRefs({fs:e,gitdir:r}){let n=await Zi("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"}));return Pf.from(n).refs}static async listRefs({fs:e,gitdir:r,filepath:n}){let i=t.packedRefs({fs:e,gitdir:r}),a=null;try{a=await e.readdirDeep(`${r}/${n}`),a=a.map(s=>s.replace(`${r}/${n}/`,""))}catch(s){a=[]}for(let s of(await i).keys())s.startsWith(n)&&(s=s.replace(n+"/",""),a.includes(s)||a.push(s));return a.sort(n4),a}static async listBranches({fs:e,gitdir:r,remote:n}){return n?t.listRefs({fs:e,gitdir:r,filepath:`refs/remotes/${n}`}):t.listRefs({fs:e,gitdir:r,filepath:"refs/heads"})}static async listTags({fs:e,gitdir:r}){return(await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"})).filter(i=>!i.endsWith("^{}"))}};function g4(t,e){return Lf(px(t),px(e))}function px(t){return t.mode==="040000"?t.path+"/":t.path}function Dx(t){switch(t){case"040000":return"tree";case"100644":return"blob";case"100755":return"blob";case"120000":return"blob";case"160000":return"commit"}throw new pe(`Unexpected GitTree entry mode: ${t}`)}function v4(t){let e=[],r=0;for(;r`${e.mode} ${e.type} ${e.oid} ${e.path}`).join(` +`)}toObject(){let e=[...this._entries];return e.sort(g4),Buffer.concat(e.map(r=>{let n=Buffer.from(r.mode.replace(/^0/,"")),i=Buffer.from(" "),a=Buffer.from(r.path,"utf8"),s=Buffer.from([0]),o=Buffer.from(r.oid,"hex");return Buffer.concat([n,i,a,s,o])}))}entries(){return this._entries}*[Symbol.iterator](){for(let e of this._entries)yield e}},ea=class{static wrap({type:e,object:r}){return Buffer.concat([Buffer.from(`${e} ${r.byteLength.toString()}\0`),Buffer.from(r)])}static unwrap(e){let r=e.indexOf(32),n=e.indexOf(0),i=e.slice(0,r).toString("utf8"),a=e.slice(r+1,n).toString("utf8"),s=e.length-(n+1);if(parseInt(a)!==s)throw new pe(`Length mismatch: expected ${a} bytes but got ${s} instead.`);return{type:i,object:Buffer.from(e.slice(n+1))}}};async function Lx({fs:t,gitdir:e,oid:r}){let n=`objects/${r.slice(0,2)}/${r.slice(2)}`,i=await t.read(`${e}/${n}`);return i?{object:i,format:"deflated",source:n}:null}function b4(t,e){let r=new Kr(t),n=mx(r);if(n!==e.byteLength)throw new pe(`applyDelta expected source buffer to be ${n} bytes but the provided buffer was ${e.length} bytes`);let i=mx(r),a,s=vx(r,e);if(s.byteLength===i)a=s;else{a=Buffer.alloc(i);let o=new Kr(a);for(o.copy(s);!r.eof();)o.copy(vx(r,e));let l=o.tell();if(i!==l)throw new pe(`applyDelta expected target buffer to be ${i} bytes but the resulting buffer was ${l} bytes`)}return a}function mx(t){let e=0,r=0,n=null;do n=t.readUInt8(),e|=(n&127)<>=1,i+=8;return n}function vx(t,e){let r=t.readUInt8(),n=128,i=15,a=112;if(r&n){let s=gx(t,r&i,4),o=gx(t,(r&a)>>4,3);return o===0&&(o=65536),e.slice(s,s+o)}else return t.slice(r)}function _4(t){let e=[t];return{next(){return Promise.resolve({done:e.length===0,value:e.pop()})},return(){return e=[],{}},[Symbol.asyncIterator](){return this}}}function jx(t){return t[Symbol.asyncIterator]?t[Symbol.asyncIterator]():t[Symbol.iterator]?t[Symbol.iterator]():t.next?t:_4(t)}var Mf=class{constructor(e){if(typeof Buffer=="undefined")throw new Error("Missing Buffer dependency");this.stream=jx(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:r}=await this.stream.next();return e&&(this._ended=!0,!r)?Buffer.alloc(0):(r&&(r=Buffer.from(r)),r)}_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 r=[this.buffer];for(;this.cursor+e>x4(r);){let n=await this._next();if(this._ended)break;r.push(n)}this.buffer=Buffer.concat(r)}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 x4(t){return t.reduce((e,r)=>e+r.length,0)}async function S4(t,e){let r=new Mf(t),n=await r.read(4);if(n=n.toString("utf8"),n!=="PACK")throw new pe(`Invalid PACK header '${n}'`);let i=await r.read(4);if(i=i.readUInt32BE(0),i!==2)throw new pe(`Invalid packfile version: ${i}`);let a=await r.read(4);if(a=a.readUInt32BE(0),!(a<1))for(;!r.eof()&&a--;){let s=r.tell(),{type:o,length:l,ofs:c,reference:u}=await E4(r),f=new cg.Inflate;for(;!f.result;){let d=await r.chunk();if(!d)break;if(f.push(d,!1),f.err)throw new pe(`Pako error: ${f.msg}`);if(f.result){if(f.result.length!==l)throw new pe("Inflated object size is different from that stated in packfile.");await r.undo(),await r.read(d.length-f.strm.avail_in);let h=r.tell();await e({data:f.result,type:o,num:a,offset:s,end:h,reference:u,ofs:c})}}}}async function E4(t){let e=await t.byte(),r=e>>4&7,n=e&15;if(e&128){let s=4;do e=await t.byte(),n|=(e&127)<i+1<<7|a,-1)}function C4(t,e){let r=e,n=4,i=null;do i=t.readUInt8(),r|=(i&127)<2048*1024*1024)throw new pe("To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.");n.seek(n.tell()+4*255);let s=n.readUInt32BE(),o=[];for(let u=0;u{u===null&&(u=S);let A=Math.floor((u-S)*100/u);A!==f&&n&&await n({phase:"Receiving objects",loaded:u-S,total:u}),f=A,y=i[y],["commit","tree","blob","tag"].includes(y)?a[E]={type:y,offset:E}:y==="ofs-delta"?a[E]={type:y,offset:E}:y==="ref-delta"&&(a[E]={type:y,offset:E})});let d=Object.keys(a).map(Number);for(let[v,y]of d.entries()){let b=v+1===d.length?e.byteLength-20:d[v+1],E=a[y],S=V8.buf(e.slice(y,b))>>>0;E.end=b,E.crc=S}let h=new t({pack:Promise.resolve(e),packfileSha:s,crcs:l,hashes:o,offsets:c,getExternalRefDelta:r});f=null;let p=0,g=[0,0,0,0,0,0,0,0,0,0,0,0];for(let v in a){v=Number(v);let y=Math.floor(p*100/u);y!==f&&n&&await n({phase:"Resolving deltas",loaded:p,total:u}),p++,f=y;let b=a[v];if(!b.oid)try{h.readDepth=0,h.externalReadDepth=0;let{type:E,object:S}=await h.readSlice({start:v});g[h.readDepth]+=1;let A=await bi(ea.wrap({type:E,object:S}));b.oid=A,o.push(A),c.set(A,v),l[A]=b.crc}catch(E){continue}}return o.sort(),h}async toBuffer(){let e=[],r=(c,u)=>{e.push(Buffer.from(c,u))};r("ff744f63","hex"),r("00000002","hex");let n=new Kr(Buffer.alloc(256*4));for(let c=0;c<256;c++){let u=0;for(let f of this.hashes)parseInt(f.slice(0,2),16)<=c&&u++;n.writeUInt32BE(u)}e.push(n.buffer);for(let c of this.hashes)r(c,"hex");let i=new Kr(Buffer.alloc(this.hashes.length*4));for(let c of this.hashes)i.writeUInt32BE(this.crcs[c]);e.push(i.buffer);let a=new Kr(Buffer.alloc(this.hashes.length*4));for(let c of this.hashes)a.writeUInt32BE(this.offsets.get(c));e.push(a.buffer),r(this.packfileSha,"hex");let s=Buffer.concat(e),o=await bi(s),l=Buffer.alloc(20);return l.write(o,"hex"),Buffer.concat([s,l])}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 pe(`Could not read object ${e} from packfile`)}let r=this.offsets.get(e);return this.readSlice({start:r})}async readSlice({start:e}){if(this.offsetCache[e])return Object.assign({},this.offsetCache[e]);this.readDepth++;let r={16:"commit",32:"tree",48:"blob",64:"tag",96:"ofs_delta",112:"ref_delta"};if(!this.pack)throw new pe("Tried to read from a GitPackIndex with no packfile loaded into memory");let n=(await this.pack).slice(e),i=new Kr(n),a=i.readUInt8(),s=a&112,o=r[s];if(o===void 0)throw new pe("Unrecognized type: 0b"+s.toString(2));let l=a&15,c=l;a&128&&(c=C4(i,l));let f=null,d=null;if(o==="ofs_delta"){let p=T4(i),g=e-p;({object:f,type:o}=await this.readSlice({start:g}))}if(o==="ref_delta"){let p=i.slice(20).toString("hex");({object:f,type:o}=await this.read({oid:p}))}let h=n.slice(i.tell());if(d=Buffer.from(await Nx(h)),d.byteLength!==c)throw new pe(`Packfile told us object would have length ${c} but it had length ${d.byteLength}`);return f&&(d=Buffer.from(b4(d,f))),this.readDepth>3&&(this.offsetCache[e]={type:o,object:d}),{type:o,format:"content",object:d}}},kf=Symbol("PackfileCache");async function P4({fs:t,filename:e,getExternalRefDelta:r,emitter:n,emitterPrefix:i}){let a=await t.read(e);return Wl.fromIdx({idx:a,getExternalRefDelta:r})}function ug({fs:t,cache:e,filename:r,getExternalRefDelta:n,emitter:i,emitterPrefix:a}){e[kf]||(e[kf]=new Map);let s=e[kf].get(r);return s||(s=P4({fs:t,filename:r,getExternalRefDelta:n,emitter:i,emitterPrefix:a}),e[kf].set(r,s)),s}async function R4({fs:t,cache:e,gitdir:r,oid:n,format:i="content",getExternalRefDelta:a}){let s=await t.readdir(F.join(r,"objects/pack"));s=s.filter(o=>o.endsWith(".idx"));for(let o of s){let l=`${r}/objects/pack/${o}`,c=await ug({fs:t,cache:e,filename:l,getExternalRefDelta:a});if(c.error)throw new pe(c.error);if(c.offsets.has(n)){if(!c.pack){let f=l.replace(/idx$/,"pack");c.pack=t.read(f)}let u=await c.read({oid:n,getExternalRefDelta:a});return u.format="content",u.source=`objects/pack/${o.replace(/idx$/,"pack")}`,u}}return null}async function Ge({fs:t,cache:e,gitdir:r,oid:n,format:i="content"}){let a=u=>Ge({fs:t,cache:e,gitdir:r,oid:u}),s;if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904"&&(s={format:"wrapped",object:Buffer.from("tree 0\0")}),s||(s=await Lx({fs:t,gitdir:r,oid:n})),!s){if(s=await R4({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:a}),!s)throw new je(n);return s}if(i==="deflated"||(s.format==="deflated"&&(s.object=Buffer.from(await Nx(s.object)),s.format="wrapped"),i==="wrapped"))return s;let o=await bi(s.object);if(o!==n)throw new pe(`SHA check failed! Expected ${n}, computed ${o}`);let{object:l,type:c}=ea.unwrap(s.object);if(s.type=c,s.object=l,s.format="content",i==="content")return s;throw new pe(`invalid requested format "${i}"`)}var pn=class t extends Ae{constructor(e,r,n=!0){super(`Failed to create ${e} at ${r} because it already exists.${n?` (Hint: use 'force: true' parameter to overwrite existing ${e}.)`:""}`),this.code=this.name=t.code,this.data={noun:e,where:r,canForce:n}}};pn.code="AlreadyExistsError";var Yl=class t extends Ae{constructor(e,r,n){super(`Found multiple ${e} matching "${r}" (${n.join(", ")}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=t.code,this.data={nouns:e,short:r,matches:n}}};Yl.code="AmbiguousError";var Xl=class t extends Ae{constructor(e){super(`Your local changes to the following files would be overwritten by checkout: ${e.join(", ")}`),this.code=this.name=t.code,this.data={filepaths:e}}};Xl.code="CheckoutConflictError";var Kl=class t extends Ae{constructor(e,r){super(`Failed to checkout "${e}" because commit ${r} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=t.code,this.data={ref:e,oid:r}}};Kl.code="CommitNotFetchedError";var Zl=class t extends Ae{constructor(){super("Empty response from git server."),this.code=this.name=t.code,this.data={}}};Zl.code="EmptyServerResponseError";var Jl=class t extends Ae{constructor(){super("A simple fast-forward merge was not possible."),this.code=this.name=t.code,this.data={}}};Jl.code="FastForwardError";var Ql=class t extends Ae{constructor(e,r){super(`One or more branches were not updated: ${e}`),this.code=this.name=t.code,this.data={prettyDetails:e,result:r}}};Ql.code="GitPushError";var so=class t extends Ae{constructor(e,r,n){super(`HTTP Error: ${e} ${r}`),this.code=this.name=t.code,this.data={statusCode:e,statusMessage:r,response:n}}};so.code="HttpError";var ta=class t extends Ae{constructor(e){let r="invalid filepath";e==="leading-slash"||e==="trailing-slash"?r='"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.':e==="directory"&&(r='"filepath" should not be a directory.'),super(r),this.code=this.name=t.code,this.data={reason:e}}};ta.code="InvalidFilepathError";var mn=class t extends Ae{constructor(e,r){super(`"${e}" would be an invalid git reference. (Hint: a valid alternative would be "${r}".)`),this.code=this.name=t.code,this.data={ref:e,suggestion:r}}};mn.code="InvalidRefNameError";var ec=class t extends Ae{constructor(e){super(`Maximum search depth of ${e} exceeded.`),this.code=this.name=t.code,this.data={depth:e}}};ec.code="MaxDepthError";var oo=class t extends Ae{constructor(){super("Merges with conflicts are not supported yet."),this.code=this.name=t.code,this.data={}}};oo.code="MergeNotSupportedError";var lo=class t extends Ae{constructor(e,r,n,i){super(`Automatic merge failed with one or more merge conflicts in the following files: ${e.toString()}. Fix conflicts then commit the result.`),this.code=this.name=t.code,this.data={filepaths:e,bothModified:r,deleteByUs:n,deleteByTheirs:i}}};lo.code="MergeConflictError";var zt=class t extends Ae{constructor(e){super(`No name was provided for ${e} in the argument or in the .git/config file.`),this.code=this.name=t.code,this.data={role:e}}};zt.code="MissingNameError";var dr=class t extends Ae{constructor(e){super(`The function requires a "${e}" parameter but none was provided.`),this.code=this.name=t.code,this.data={parameter:e}}};dr.code="MissingParameterError";var tc=class t extends Ae{constructor(e){super('There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more'),this.code=this.name=t.code,this.data={errors:e},this.errors=e}};tc.code="MultipleGitError";var Va=class t extends Ae{constructor(e,r){super(`Expected "${e}" but received "${r}".`),this.code=this.name=t.code,this.data={expected:e,actual:r}}};Va.code="ParseError";var co=class t extends Ae{constructor(e){let r="";e==="not-fast-forward"?r=" because it was not a simple fast-forward":e==="tag-exists"&&(r=" because tag already exists"),super(`Push rejected${r}. Use "force: true" to override.`),this.code=this.name=t.code,this.data={reason:e}}};co.code="PushRejectedError";var Ji=class t extends Ae{constructor(e,r){super(`Remote does not support the "${e}" so the "${r}" parameter cannot be used.`),this.code=this.name=t.code,this.data={capability:e,parameter:r}}};Ji.code="RemoteCapabilityError";var rc=class t extends Ae{constructor(e,r){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${e}`),this.code=this.name=t.code,this.data={preview:e,response:r}}};rc.code="SmartHttpError";var nc=class t extends Ae{constructor(e,r,n){super(`Git remote "${e}" uses an unrecognized transport protocol: "${r}"`),this.code=this.name=t.code,this.data={url:e,transport:r,suggestion:n}}};nc.code="UnknownTransportError";var ic=class t extends Ae{constructor(e){super(`Cannot parse remote URL: "${e}"`),this.code=this.name=t.code,this.data={url:e}}};ic.code="UrlParseError";var uo=class t extends Ae{constructor(){super("The operation was canceled."),this.code=this.name=t.code,this.data={}}};uo.code="UserCanceledError";var ac=class t extends Ae{constructor(e){super(`Could not merge index: Entry for '${e}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`),this.code=this.name=t.code,this.data={filepath:e}}};ac.code="IndexResetError";var sc=class t extends Ae{constructor(e){super(`"${e}" does not point to any commit. You're maybe working on a repository with no commits yet. `),this.code=this.name=t.code,this.data={ref:e}}};sc.code="NoCommitError";var Bx=Object.freeze({__proto__:null,AlreadyExistsError:pn,AmbiguousError:Yl,CheckoutConflictError:Xl,CommitNotFetchedError:Kl,EmptyServerResponseError:Zl,FastForwardError:Jl,GitPushError:Ql,HttpError:so,InternalError:pe,InvalidFilepathError:ta,InvalidOidError:Qi,InvalidRefNameError:mn,MaxDepthError:ec,MergeNotSupportedError:oo,MergeConflictError:lo,MissingNameError:zt,MissingParameterError:dr,MultipleGitError:tc,NoRefspecError:ql,NotFoundError:je,ObjectTypeError:tr,ParseError:Va,PushRejectedError:co,RemoteCapabilityError:Ji,SmartHttpError:rc,UnknownTransportError:nc,UnsafeFilepathError:no,UrlParseError:ic,UserCanceledError:uo,UnmergedPathsError:Vl,IndexResetError:ac,NoCommitError:sc});function rg({name:t,email:e,timestamp:r,timezoneOffset:n}){return n=M4(n),`${t} <${e}> ${r} ${n}`}function M4(t){let e=O4(I4(t));t=Math.abs(t);let r=Math.floor(t/60);t-=r*60;let n=String(r),i=String(t);return n.length<2&&(n="0"+n),i.length<2&&(i="0"+i),(e===-1?"-":"+")+n+i}function O4(t){return Math.sign(t)||(Object.is(t,-0)?-1:1)}function I4(t){return t===0?t:-t}function wi(t){return t=t.replace(/\r/g,""),t=t.replace(/^\n+/,""),t=t.replace(/\n+$/,"")+` +`,t}function Of(t){let[,e,r,n,i]=t.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:e,email:r,timestamp:Number(n),timezoneOffset:F4(i)}}function F4(t){let[,e,r,n]=t.match(/(\+|-)(\d\d)(\d\d)/);return n=(e==="+"?1:-1)*(Number(r)*60+Number(n)),$4(n)}function $4(t){return t===0?t:-t}var Mr=class t{constructor(e){if(typeof e=="string")this._tag=e;else if(Buffer.isBuffer(e))this._tag=e.toString("utf8");else if(typeof e=="object")this._tag=t.render(e);else throw new pe("invalid type passed to GitAnnotatedTag constructor")}static from(e){return new t(e)}static render(e){return`object ${e.object} +type ${e.type} +tag ${e.tag} +tagger ${rg(e.tagger)} + +${e.message} +${e.gpgsig?e.gpgsig:""}`}justHeaders(){return this._tag.slice(0,this._tag.indexOf(` + +`))}message(){let e=this.withoutSignature();return e.slice(e.indexOf(` + +`)+2)}parse(){return Object.assign(this.headers(),{message:this.message(),gpgsig:this.gpgsig()})}render(){return this._tag}headers(){let e=this.justHeaders().split(` +`),r=[];for(let i of e)i[0]===" "?r[r.length-1]+=` +`+i.slice(1):r.push(i);let n={};for(let i of r){let a=i.slice(0,i.indexOf(" ")),s=i.slice(i.indexOf(" ")+1);Array.isArray(n[a])?n[a].push(s):n[a]=s}return n.tagger&&(n.tagger=Of(n.tagger)),n.committer&&(n.committer=Of(n.committer)),n}withoutSignature(){let e=wi(this._tag);return e.indexOf(` +-----BEGIN PGP SIGNATURE-----`)===-1?e:e.slice(0,e.lastIndexOf(` +-----BEGIN PGP SIGNATURE-----`))}gpgsig(){if(this._tag.indexOf(` +-----BEGIN PGP SIGNATURE-----`)===-1)return;let e=this._tag.slice(this._tag.indexOf("-----BEGIN PGP SIGNATURE-----"),this._tag.indexOf("-----END PGP SIGNATURE-----")+27);return wi(e)}payload(){return this.withoutSignature()+` +`}toObject(){return Buffer.from(this._tag,"utf8")}static async sign(e,r,n){let i=e.payload(),{signature:a}=await r({payload:i,secretKey:n});a=wi(a);let s=i+a;return t.from(s)}};function zm(t){return t.trim().split(` +`).map(e=>" "+e).join(` +`)+` +`}function D4(t){return t.split(` +`).map(e=>e.replace(/^ /,"")).join(` +`)}var pr=class t{constructor(e){if(typeof e=="string")this._commit=e;else if(Buffer.isBuffer(e))this._commit=e.toString("utf8");else if(typeof e=="object")this._commit=t.render(e);else throw new pe("invalid type passed to GitCommit constructor")}static fromPayloadSignature({payload:e,signature:r}){let n=t.justHeaders(e),i=t.justMessage(e),a=wi(n+` +gpgsig`+zm(r)+` +`+i);return new t(a)}static from(e){return new t(e)}toObject(){return Buffer.from(this._commit,"utf8")}headers(){return this.parseHeaders()}message(){return t.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(e){return wi(e.slice(e.indexOf(` + +`)+2))}static justHeaders(e){return e.slice(0,e.indexOf(` + +`))}parseHeaders(){let e=t.justHeaders(this._commit).split(` +`),r=[];for(let i of e)i[0]===" "?r[r.length-1]+=` +`+i.slice(1):r.push(i);let n={parent:[]};for(let i of r){let a=i.slice(0,i.indexOf(" ")),s=i.slice(i.indexOf(" ")+1);Array.isArray(n[a])?n[a].push(s):n[a]=s}return n.author&&(n.author=Of(n.author)),n.committer&&(n.committer=Of(n.committer)),n}static renderHeaders(e){let r="";if(e.tree?r+=`tree ${e.tree} +`:r+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 +`,e.parent){if(e.parent.length===void 0)throw new pe("commit 'parent' property should be an array");for(let a of e.parent)r+=`parent ${a} +`}let n=e.author;r+=`author ${rg(n)} +`;let i=e.committer||e.author;return r+=`committer ${rg(i)} +`,e.gpgsig&&(r+="gpgsig"+zm(e.gpgsig)),r}static render(e){return t.renderHeaders(e)+` +`+wi(e.message)}render(){return this._commit}withoutSignature(){let e=wi(this._commit);if(e.indexOf(` +gpgsig`)===-1)return e;let r=e.slice(0,e.indexOf(` +gpgsig`)),n=e.slice(e.indexOf(`-----END PGP SIGNATURE----- +`)+28);return wi(r+` +`+n)}isolateSignature(){let e=this._commit.slice(this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"),this._commit.indexOf("-----END PGP SIGNATURE-----")+27);return D4(e)}static async sign(e,r,n){let i=e.withoutSignature(),a=t.justMessage(e._commit),{signature:s}=await r({payload:i,secretKey:n});s=wi(s);let l=t.justHeaders(e._commit)+` +gpgsig`+zm(s)+` +`+a;return t.from(l)}};async function fo({fs:t,cache:e,gitdir:r,oid:n}){if(n==="4b825dc642cb6eb9a060e54bf8d69288fbee4904")return{tree:hr.from([]),oid:n};let{type:i,object:a}=await Ge({fs:t,cache:e,gitdir:r,oid:n});if(i==="tag")return n=Mr.from(a).parse().object,fo({fs:t,cache:e,gitdir:r,oid:n});if(i==="commit")return n=pr.from(a).parse().tree,fo({fs:t,cache:e,gitdir:r,oid:n});if(i!=="tree")throw new tr(n,i,"tree");return{tree:hr.from(a),oid:n}}var ng=class{constructor({fs:e,gitdir:r,ref:n,cache:i}){this.fs=e,this.cache=i,this.gitdir=r,this.mapPromise=(async()=>{let s=new Map,o;try{o=await V.resolve({fs:e,gitdir:r,ref:n})}catch(c){c instanceof je&&(o="4b825dc642cb6eb9a060e54bf8d69288fbee4904")}let l=await fo({fs:e,cache:this.cache,gitdir:r,oid:o});return l.type="tree",l.mode="40000",s.set(".",l),s})();let a=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,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){let r=e._fullpath,{fs:n,cache:i,gitdir:a}=this,s=await this.mapPromise,o=s.get(r);if(!o)throw new Error(`No obj for ${r}`);let l=o.oid;if(!l)throw new Error(`No oid for obj ${JSON.stringify(o)}`);if(o.type!=="tree")return null;let{type:c,object:u}=await Ge({fs:n,cache:i,gitdir:a,oid:l});if(c!==o.type)throw new tr(l,c,o.type);let f=hr.from(u);for(let d of f)s.set(F.join(r,d.path),d);return f.entries().map(d=>F.join(r,d.path))}async type(e){if(e._type===!1){let r=await this.mapPromise,{type:n}=r.get(e._fullpath);e._type=n}return e._type}async mode(e){if(e._mode===!1){let r=await this.mapPromise,{mode:n}=r.get(e._fullpath);e._mode=Ix(parseInt(n,8))}return e._mode}async stat(e){}async content(e){if(e._content===!1){let r=await this.mapPromise,{fs:n,cache:i,gitdir:a}=this,o=r.get(e._fullpath).oid,{type:l,object:c}=await Ge({fs:n,cache:i,gitdir:a,oid:o});l!=="blob"?e._content=void 0:e._content=new Uint8Array(c)}return e._content}async oid(e){if(e._oid===!1){let n=(await this.mapPromise).get(e._fullpath);e._oid=n.oid}return e._oid}};function Rr({ref:t="HEAD"}={}){let e=Object.create(null);return Object.defineProperty(e,jf,{value:function({fs:r,gitdir:n,cache:i}){return new ng({fs:r,gitdir:n,ref:t,cache:i})}}),Object.freeze(e),e}var ig=class{constructor({fs:e,dir:r,gitdir:n,cache:i}){this.fs=e,this.cache=i,this.dir=r,this.gitdir=n,this.config=null;let a=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,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){let r=e._fullpath,{fs:n,dir:i}=this,a=await n.readdir(F.join(i,r));return a===null?null:a.map(s=>F.join(r,s))}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:r,dir:n}=this,i=await r.lstat(`${n}/${e._fullpath}`);if(!i)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let a=i.isDirectory()?"tree":"blob";a==="blob"&&!i.isFile()&&!i.isSymbolicLink()&&(a="special"),e._type=a,i=io(i),e._mode=i.mode,i.size===-1&&e._actualSize&&(i.size=e._actualSize),e._stat=i}return e._stat}async content(e){if(e._content===!1){let{fs:r,dir:n,gitdir:i}=this;if(await e.type()==="tree")e._content=void 0;else{let s=await(await this._getGitConfig(r,i)).get("core.autocrlf"),o=await r.read(`${n}/${e._fullpath}`,{autocrlf:s});e._actualSize=o.length,e._stat&&e._stat.size===-1&&(e._stat.size=e._actualSize),e._content=new Uint8Array(o)}}return e._content}async oid(e){if(e._oid===!1){let r=this,{fs:n,gitdir:i,cache:a}=this,s;await ct.acquire({fs:n,gitdir:i,cache:a},async function(o){let l=o.entriesMap.get(e._fullpath),c=await e.stat(),f=await(await r._getGitConfig(n,i)).get("core.filemode"),d=typeof process!="undefined"?process.platform!=="win32":!0;if(!l||Tf(c,l,f,d)){let h=await e.content();h===void 0?s=void 0:(s=await bi(ea.wrap({type:"blob",object:h})),l&&s===l.oid&&(!f||c.mode===l.mode)&&Tf(c,l,f,d)&&o.insert({filepath:e._fullpath,stats:c,oid:s}))}else s=l.oid}),e._oid=s}return e._oid}async _getGitConfig(e,r){return this.config?this.config:(this.config=await nt.get({fs:e,gitdir:r}),this.config)}};function yo(){let t=Object.create(null);return Object.defineProperty(t,jf,{value:function({fs:e,dir:r,gitdir:n,cache:i}){return new ig({fs:e,dir:r,gitdir:n,cache:i})}}),Object.freeze(t),t}function L4(t,e){let r=e-t;return Array.from({length:r},(n,i)=>t+i)}var Hx=typeof Array.prototype.flat=="undefined"?t=>t.reduce((e,r)=>e.concat(r),[]):t=>t.flat(),ag=class{constructor(){this.value=null}consider(e){e!=null&&(this.value===null?this.value=e:ec,reduce:s=async(l,c)=>{let u=Hx(c);return l!==void 0&&u.unshift(l),u},iterate:o=(l,c)=>Promise.all([...c].map(l))}){let l=i.map(h=>h[jf]({fs:t,dir:r,gitdir:n,cache:e})),c=new Array(l.length).fill("."),u=L4(0,l.length),f=async h=>{u.map(v=>{let y=h[v];h[v]=y&&new l[v].ConstructEntry(y)});let g=(await Promise.all(u.map(v=>{let y=h[v];return y?l[v].readdir(y):[]}))).map(v=>(v===null?[]:v)[Symbol.iterator]());return{entries:h,children:j4(g)}},d=async h=>{let{entries:p,children:g}=await f(h),v=p.find(b=>b&&b._fullpath)._fullpath,y=await a(v,p);if(y!==null){let b=await o(d,g);return b=b.filter(E=>E!==void 0),s(y,b)}};return d(c)}async function sg(t,e){let r=await t.readdir(e);r==null?await t.rm(e):r.length?await Promise.all(r.map(n=>{let i=F.join(e,n);return t.lstat(i).then(a=>{if(a)return a.isDirectory()?sg(t,i):t.rm(i)})})).then(()=>t.rmdir(e)):await t.rmdir(e)}function N4(t){return B4(t)&&yx(t.then)&&yx(t.catch)}function B4(t){return t&&typeof t=="object"}function yx(t){return typeof t=="function"}function wx(t){return N4((r=>{try{return r.readFile().catch(n=>n)}catch(n){return n}})(t))}var bx=["readFile","writeFile","mkdir","rmdir","unlink","stat","lstat","readdir","readlink","symlink"];function _x(t,e){if(wx(e))for(let r of bx)t[`_${r}`]=e[r].bind(e);else for(let r of bx)t[`_${r}`]=jm(e[r].bind(e));wx(e)?e.rm?t._rm=e.rm.bind(e):e.rmdir.length>1?t._rm=e.rmdir.bind(e):t._rm=sg.bind(null,t):e.rm?t._rm=jm(e.rm.bind(e)):e.rmdir.length>2?t._rm=jm(e.rmdir.bind(e)):t._rm=sg.bind(null,t)}var Q=class{constructor(e){if(typeof e._original_unwrapped_fs!="undefined")return e;let r=Object.getOwnPropertyDescriptor(e,"promises");r&&r.enumerable?_x(this,e.promises):_x(this,e),this._original_unwrapped_fs=e}async exists(e,r={}){try{return await this._stat(e),!0}catch(n){if(n.code==="ENOENT"||n.code==="ENOTDIR"||(n.code||"").includes("ENS"))return!1;throw console.log('Unhandled error in "FileSystem.exists()" function',n),n}}async read(e,r={}){try{let n=await this._readFile(e,r);if(r.autocrlf==="true")try{n=new TextDecoder("utf8",{fatal:!0}).decode(n),n=n.replace(/\r\n/g,` +`),n=new TextEncoder().encode(n)}catch(i){}return typeof n!="string"&&(n=Buffer.from(n)),n}catch(n){return null}}async write(e,r,n={}){try{await this._writeFile(e,r,n);return}catch(i){await this.mkdir(ao(e)),await this._writeFile(e,r,n)}}async mkdir(e,r=!1){try{await this._mkdir(e);return}catch(n){if(n===null||n.code==="EEXIST")return;if(r)throw n;if(n.code==="ENOENT"){let i=ao(e);if(i==="."||i==="/"||i===e)throw n;await this.mkdir(i),await this.mkdir(e,!0)}}}async rm(e){try{await this._unlink(e)}catch(r){if(r.code!=="ENOENT")throw r}}async rmdir(e,r){try{r&&r.recursive?await this._rm(e,r):await this._rmdir(e)}catch(n){if(n.code!=="ENOENT")throw n}}async readdir(e){try{let r=await this._readdir(e);return r.sort(Lf),r}catch(r){return r.code==="ENOTDIR"?null:[]}}async readdirDeep(e){let r=await this._readdir(e);return(await Promise.all(r.map(async i=>{let a=e+"/"+i;return(await this._stat(a)).isDirectory()?this.readdirDeep(a):a}))).reduce((i,a)=>i.concat(a),[])}async lstat(e){try{return await this._lstat(e)}catch(r){if(r.code==="ENOENT"||(r.code||"").includes("ENS"))return null;throw r}}async readlink(e,r={encoding:"buffer"}){try{let n=await this._readlink(e,r);return Buffer.isBuffer(n)?n:Buffer.from(n)}catch(n){if(n.code==="ENOENT"||(n.code||"").includes("ENS"))return null;throw n}}async writelink(e,r){return this._symlink(r.toString("utf8"),e)}};function P(t,e){if(e===void 0)throw new dr(t)}async function If(t,e){return!t&&!e?!1:t&&!e||!t&&e?!0:!(await t.type()==="tree"&&await e.type()==="tree"||await t.type()===await e.type()&&await t.mode()===await e.mode()&&await t.oid()===await e.oid())}async function Ux({fs:t,dir:e,gitdir:r=F.join(e,".git"),commit:n="HEAD",cache:i={}}){try{P("fs",t),P("dir",e),P("gitdir",r);let a=new Q(t),s=[Rr({ref:n}),yo(),Ya()],o=[];await ct.acquire({fs:a,gitdir:r,cache:i},async function(c){o=c.unmergedPaths});let l=await ra({fs:a,cache:i,dir:e,gitdir:r,trees:s,map:async function(c,[u,f,d]){let h=!await If(f,d),p=o.includes(c),g=!await If(d,u);if(h||p)return u?{path:c,mode:await u.mode(),oid:await u.oid(),type:await u.type(),content:await u.content()}:void 0;if(g)return!1;throw new ac(c)}});await ct.acquire({fs:a,gitdir:r,cache:i},async function(c){for(let u of l)if(u!==!1){if(!u){await a.rmdir(`${e}/${u.path}`,{recursive:!0}),c.delete({filepath:u.path});continue}if(u.type==="blob"){let f=new TextDecoder().decode(u.content);await a.write(`${e}/${u.path}`,f,{mode:u.mode}),c.insert({filepath:u.path,oid:u.oid,stage:0})}}})}catch(a){throw a.caller="git.abortMerge",a}}var na=class{static async isIgnored({fs:e,dir:r,gitdir:n=F.join(r,".git"),filepath:i}){if(Cf(i)===".git")return!0;if(i===".")return!1;let a="",s=F.join(n,"info","exclude");await e.exists(s)&&(a=await e.read(s,"utf8"));let o=[{gitignore:F.join(r,".gitignore"),filepath:i}],l=i.split("/").filter(Boolean);for(let u=1;u{let u=await(await nt.get({fs:o,gitdir:r})).get("core.autocrlf");return og({dir:e,gitdir:r,fs:o,filepath:n,index:l,force:a,parallel:s,autocrlf:u})})}catch(o){throw o.caller="git.add",o}}async function og({dir:t,gitdir:e,fs:r,filepath:n,index:i,force:a,parallel:s,autocrlf:o}){n=Array.isArray(n)?n:[n];let l=n.map(async d=>{if(!a&&await na.isIgnored({fs:r,dir:t,gitdir:e,filepath:d}))return;let h=await r.lstat(F.join(t,d));if(!h)throw new je(d);if(h.isDirectory()){let p=await r.readdir(F.join(t,d));if(s){let g=p.map(v=>og({dir:t,gitdir:e,fs:r,filepath:[F.join(d,v)],index:i,force:a,parallel:s,autocrlf:o}));await Promise.all(g)}else for(let g of p)await og({dir:t,gitdir:e,fs:r,filepath:[F.join(d,g)],index:i,force:a,parallel:s,autocrlf:o})}else{let p=h.isSymbolicLink()?await r.readlink(F.join(t,d)).then(zx):await r.read(F.join(t,d),{autocrlf:o});if(p===null)throw new je(d);let g=await mr({fs:r,gitdir:e,type:"blob",object:p});i.insert({filepath:d,stats:h,oid:g})}}),c=await Promise.allSettled(l),u=c.filter(d=>d.status==="rejected").map(d=>d.reason);if(u.length>1)throw new tc(u);if(u.length===1)throw u[0];return c.filter(d=>d.status==="fulfilled"&&d.value).map(d=>d.value)}async function oc({fs:t,gitdir:e,path:r}){return(await nt.get({fs:t,gitdir:e})).get(r)}function qx(t,...e){for(let r of e)if(r)for(let n of Object.keys(r)){let i=r[n];i!==void 0&&(t[n]=i)}return t}async function ia({fs:t,gitdir:e,author:r,commit:n}){let i=Math.floor(Date.now()/1e3),a={name:await oc({fs:t,gitdir:e,path:"user.name"}),email:await oc({fs:t,gitdir:e,path:"user.email"})||"",timestamp:i,timezoneOffset:new Date(i*1e3).getTimezoneOffset()},s=qx({},a,n?n.author:void 0,r);if(s.name!==void 0)return s}async function ho({fs:t,gitdir:e,author:r,committer:n,commit:i}){let a=Math.floor(Date.now()/1e3),s={name:await oc({fs:t,gitdir:e,path:"user.name"}),email:await oc({fs:t,gitdir:e,path:"user.email"})||"",timestamp:a,timezoneOffset:new Date(a*1e3).getTimezoneOffset()},o=qx({},s,i?i.committer:void 0,r,n);if(o.name!==void 0)return o}async function Wx({fs:t,cache:e,gitdir:r,oid:n}){let{type:i,object:a}=await Ge({fs:t,cache:e,gitdir:r,oid:n});if(i==="tag")return n=Mr.from(a).parse().object,Wx({fs:t,cache:e,gitdir:r,oid:n});if(i!=="commit")throw new tr(n,i,"commit");return{commit:pr.from(a),oid:n}}async function po({fs:t,cache:e,gitdir:r,oid:n}){let{commit:i,oid:a}=await Wx({fs:t,cache:e,gitdir:r,oid:n});return{oid:a,commit:i.parse(),payload:i.withoutSignature()}}async function Nf({fs:t,cache:e,onSign:r,gitdir:n,message:i,author:a,committer:s,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h}){let p=!1;f||(f=await V.resolve({fs:t,gitdir:n,ref:"HEAD",depth:2}));let g,v;try{g=await V.resolve({fs:t,gitdir:n,ref:f}),v=await po({fs:t,gitdir:n,oid:g,cache:{}})}catch(E){p=!0}if(l&&p)throw new sc(f);let y=l?await ia({fs:t,gitdir:n,author:a,commit:v.commit}):await ia({fs:t,gitdir:n,author:a});if(!y)throw new zt("author");let b=l?await ho({fs:t,gitdir:n,author:y,committer:s,commit:v.commit}):await ho({fs:t,gitdir:n,author:y,committer:s});if(!b)throw new zt("committer");return ct.acquire({fs:t,gitdir:n,cache:e,allowUnmerged:!1},async function(E){let A=$x(E.entries).get(".");if(h||(h=await Yx({fs:t,gitdir:n,inode:A,dryRun:c})),d?d=await Promise.all(d.map(x=>V.resolve({fs:t,gitdir:n,ref:x}))):l?d=v.commit.parent:d=g?[g]:[],!i)if(l)i=v.commit.message;else throw new dr("message");let k=pr.from({tree:h,parent:d,author:y,committer:b,message:i});o&&(k=await pr.sign(k,r,o));let w=await mr({fs:t,gitdir:n,type:"commit",object:k.toObject(),dryRun:c});return!u&&!c&&await V.writeRef({fs:t,gitdir:n,ref:f,value:w}),w})}async function Yx({fs:t,gitdir:e,inode:r,dryRun:n}){let i=r.children;for(let l of i)l.type==="tree"&&(l.metadata.mode="040000",l.metadata.oid=await Yx({fs:t,gitdir:e,inode:l,dryRun:n}));let a=i.map(l=>({mode:l.metadata.mode,path:l.basename,oid:l.metadata.oid,type:l.type})),s=hr.from(a);return await mr({fs:t,gitdir:e,type:"tree",object:s.toObject(),dryRun:n})}async function lc({fs:t,cache:e,gitdir:r,oid:n,filepath:i}){if(i.startsWith("/"))throw new ta("leading-slash");if(i.endsWith("/"))throw new ta("trailing-slash");let a=n,s=await fo({fs:t,cache:e,gitdir:r,oid:n}),o=s.tree;if(i==="")n=s.oid;else{let l=i.split("/");n=await Xx({fs:t,cache:e,gitdir:r,tree:o,pathArray:l,oid:a,filepath:i})}return n}async function Xx({fs:t,cache:e,gitdir:r,tree:n,pathArray:i,oid:a,filepath:s}){let o=i.shift();for(let l of n)if(l.path===o){if(i.length===0)return l.oid;{let{type:c,object:u}=await Ge({fs:t,cache:e,gitdir:r,oid:l.oid});if(c!=="tree")throw new tr(a,c,"tree",s);return n=hr.from(u),Xx({fs:t,cache:e,gitdir:r,tree:n,pathArray:i,oid:a,filepath:s})}}throw new je(`file or directory found at "${a}:${s}"`)}async function wo({fs:t,cache:e,gitdir:r,oid:n,filepath:i=void 0}){i!==void 0&&(n=await lc({fs:t,cache:e,gitdir:r,oid:n,filepath:i}));let{tree:a,oid:s}=await fo({fs:t,cache:e,gitdir:r,oid:n});return{oid:s,tree:a.entries()}}async function cc({fs:t,gitdir:e,tree:r}){let n=hr.from(r).toObject();return await mr({fs:t,gitdir:e,type:"tree",object:n,format:"content"})}async function z4({fs:t,cache:e,onSign:r,gitdir:n,ref:i,oid:a,note:s,force:o,author:l,committer:c,signingKey:u}){let f;try{f=await V.resolve({gitdir:n,fs:t,ref:i})}catch(y){if(!(y instanceof je))throw y}let h=(await wo({fs:t,cache:e,gitdir:n,oid:f||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;if(o)h=h.filter(y=>y.path!==a);else for(let y of h)if(y.path===a)throw new pn("note",a);typeof s=="string"&&(s=Buffer.from(s,"utf8"));let p=await mr({fs:t,gitdir:n,type:"blob",object:s,format:"content"});h.push({mode:"100644",path:a,oid:p,type:"blob"});let g=await cc({fs:t,gitdir:n,tree:h});return await Nf({fs:t,cache:e,onSign:r,gitdir:n,ref:i,tree:g,parent:f&&[f],message:`Note added by 'isomorphic-git addNote' +`,author:l,committer:c,signingKey:u})}async function Kx({fs:t,onSign:e,dir:r,gitdir:n=F.join(r,".git"),ref:i="refs/notes/commits",oid:a,note:s,force:o,author:l,committer:c,signingKey:u,cache:f={}}){try{P("fs",t),P("gitdir",n),P("oid",a),P("note",s),u&&P("onSign",e);let d=new Q(t),h=await ia({fs:d,gitdir:n,author:l});if(!h)throw new zt("author");let p=await ho({fs:d,gitdir:n,author:h,committer:c});if(!p)throw new zt("committer");return await z4({fs:new Q(d),cache:f,onSign:e,gitdir:n,ref:i,oid:a,note:s,force:o,author:h,committer:p,signingKey:u})}catch(d){throw d.caller="git.addNote",d}}async function Zx({fs:t,gitdir:e,remote:r,url:n,force:i}){if(r!==zn.clean(r))throw new mn(r,zn.clean(r));let a=await nt.get({fs:t,gitdir:e});if(!i&&(await a.getSubsections("remote")).includes(r)&&n!==await a.get(`remote.${r}.url`))throw new pn("remote",r);await a.set(`remote.${r}.url`,n),await a.set(`remote.${r}.fetch`,`+refs/heads/*:refs/remotes/${r}/*`),await nt.save({fs:t,gitdir:e,config:a})}async function Jx({fs:t,dir:e,gitdir:r=F.join(e,".git"),remote:n,url:i,force:a=!1}){try{return P("fs",t),P("gitdir",r),P("remote",n),P("url",i),await Zx({fs:new Q(t),gitdir:r,remote:n,url:i,force:a})}catch(s){throw s.caller="git.addRemote",s}}async function V4({fs:t,cache:e,onSign:r,gitdir:n,ref:i,tagger:a,message:s=i,gpgsig:o,object:l,signingKey:c,force:u=!1}){if(i=i.startsWith("refs/tags/")?i:`refs/tags/${i}`,!u&&await V.exists({fs:t,gitdir:n,ref:i}))throw new pn("tag",i);let f=await V.resolve({fs:t,gitdir:n,ref:l||"HEAD"}),{type:d}=await Ge({fs:t,cache:e,gitdir:n,oid:f}),h=Mr.from({object:f,type:d,tag:i.replace("refs/tags/",""),tagger:a,message:s,gpgsig:o});c&&(h=await Mr.sign(h,r,c));let p=await mr({fs:t,gitdir:n,type:"tag",object:h.toObject()});await V.writeRef({fs:t,gitdir:n,ref:i,value:p})}async function Qx({fs:t,onSign:e,dir:r,gitdir:n=F.join(r,".git"),ref:i,tagger:a,message:s=i,gpgsig:o,object:l,signingKey:c,force:u=!1,cache:f={}}){try{P("fs",t),P("gitdir",n),P("ref",i),c&&P("onSign",e);let d=new Q(t),h=await ia({fs:d,gitdir:n,author:a});if(!h)throw new zt("tagger");return await V4({fs:d,cache:f,onSign:e,gitdir:n,ref:i,tagger:h,message:s,gpgsig:o,object:l,signingKey:c,force:u})}catch(d){throw d.caller="git.annotatedTag",d}}async function q4({fs:t,gitdir:e,ref:r,object:n,checkout:i=!1,force:a=!1}){if(r!==zn.clean(r))throw new mn(r,zn.clean(r));let s=`refs/heads/${r}`;if(!a&&await V.exists({fs:t,gitdir:e,ref:s}))throw new pn("branch",r,!1);let o;try{o=await V.resolve({fs:t,gitdir:e,ref:n||"HEAD"})}catch(l){}o&&await V.writeRef({fs:t,gitdir:e,ref:s,value:o}),i&&await V.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:s})}async function eS({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n,object:i,checkout:a=!1,force:s=!1}){try{return P("fs",t),P("gitdir",r),P("ref",n),await q4({fs:new Q(t),gitdir:r,ref:n,object:i,checkout:a,force:s})}catch(o){throw o.caller="git.branch",o}}var tS=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);async function fg({fs:t,cache:e,onProgress:r,onPostCheckout:n,dir:i,gitdir:a,remote:s,ref:o,filepaths:l,noCheckout:c,noUpdateHead:u,dryRun:f,force:d,track:h=!0,nonBlocking:p=!1,batchSize:g=100}){let v;if(n)try{v=await V.resolve({fs:t,gitdir:a,ref:"HEAD"})}catch(b){v="0000000000000000000000000000000000000000"}let y;try{y=await V.resolve({fs:t,gitdir:a,ref:o})}catch(b){if(o==="HEAD")throw b;let E=`${s}/${o}`;if(y=await V.resolve({fs:t,gitdir:a,ref:E}),h){let S=await nt.get({fs:t,gitdir:a});await S.set(`branch.${o}.remote`,s),await S.set(`branch.${o}.merge`,`refs/heads/${o}`),await nt.save({fs:t,gitdir:a,config:S})}await V.writeRef({fs:t,gitdir:a,ref:`refs/heads/${o}`,value:y})}if(!c){let b;try{b=await W4({fs:t,cache:e,onProgress:r,dir:i,gitdir:a,ref:o,force:d,filepaths:l})}catch(w){throw w instanceof je&&w.data.what===y?new Kl(o,y):w}let E=b.filter(([w])=>w==="conflict").map(([w,x])=>x);if(E.length>0)throw new Xl(E);let S=b.filter(([w])=>w==="error").map(([w,x])=>x);if(S.length>0)throw new pe(S.join(", "));if(f){n&&await n({previousHead:v,newHead:y,type:l!=null&&l.length>0?"file":"branch"});return}let A=0,k=b.length;if(await ct.acquire({fs:t,gitdir:a,cache:e},async function(w){await Promise.all(b.filter(([x])=>x==="delete"||x==="delete-index").map(async function([x,_]){let T=`${i}/${_}`;x==="delete"&&await t.rm(T),w.delete({filepath:_}),r&&await r({phase:"Updating workdir",loaded:++A,total:k})}))}),await ct.acquire({fs:t,gitdir:a,cache:e},async function(w){for(let[x,_]of b)if(x==="rmdir"||x==="rmdir-index"){let T=`${i}/${_}`;try{x==="rmdir"&&await t.rmdir(T),w.delete({filepath:_}),r&&await r({phase:"Updating workdir",loaded:++A,total:k})}catch(C){if(C.code==="ENOTEMPTY")console.log(`Did not delete ${_} because directory is not empty`);else throw C}}}),await Promise.all(b.filter(([w])=>w==="mkdir"||w==="mkdir-index").map(async function([w,x]){let _=`${i}/${x}`;await t.mkdir(_),r&&await r({phase:"Updating workdir",loaded:++A,total:k})})),p){let w=b.filter(([_])=>_==="create"||_==="create-index"||_==="update"||_==="mkdir-index"),x=await xx("Update Working Dir",w.map(([_,T,C,I,L])=>()=>X4({fs:t,cache:e,gitdir:a,dir:i},[_,T,C,I,L])),r,g);await ct.acquire({fs:t,gitdir:a,cache:e,allowUnmerged:!0},async function(_){await xx("Update Index",x.map(([T,C,I])=>()=>Y4({index:_,fullpath:T,oid:C,stats:I})),r,g)})}else await ct.acquire({fs:t,gitdir:a,cache:e,allowUnmerged:!0},async function(w){await Promise.all(b.filter(([x])=>x==="create"||x==="create-index"||x==="update"||x==="mkdir-index").map(async function([x,_,T,C,I]){let L=`${i}/${_}`;try{if(x!=="create-index"&&x!=="mkdir-index"){let{object:J}=await Ge({fs:t,cache:e,gitdir:a,oid:T});if(I&&await t.rm(L),C===33188)await t.write(L,J);else if(C===33261)await t.write(L,J,{mode:511});else if(C===40960)await t.writelink(L,J);else throw new pe(`Invalid mode 0o${C.toString(8)} detected in blob ${T}`)}let $=await t.lstat(L);C===33261&&($.mode=493),x==="mkdir-index"&&($.mode=57344),w.insert({filepath:_,stats:$,oid:T}),r&&await r({phase:"Updating workdir",loaded:++A,total:k})}catch($){console.log($)}}))});n&&await n({previousHead:v,newHead:y,type:l!=null&&l.length>0?"file":"branch"})}if(!u){let b=await V.expand({fs:t,gitdir:a,ref:o});b.startsWith("refs/heads")?await V.writeSymbolicRef({fs:t,gitdir:a,ref:"HEAD",value:b}):await V.writeRef({fs:t,gitdir:a,ref:"HEAD",value:y})}}async function W4({fs:t,cache:e,onProgress:r,dir:n,gitdir:i,ref:a,force:s,filepaths:o}){let l=0;return ra({fs:t,cache:e,dir:n,gitdir:i,trees:[Rr({ref:a}),yo(),Ya()],map:async function(c,[u,f,d]){if(c===".")return;if(o&&!o.some(p=>tS(c,p)))return null;switch(r&&await r({phase:"Analyzing workdir",loaded:++l}),[!!d,!!u,!!f].map(Number).join("")){case"000":return;case"001":return s&&o&&o.includes(c)?["delete",c]:void 0;case"010":switch(await u.type()){case"tree":return["mkdir",c];case"blob":return["create",c,await u.oid(),await u.mode()];case"commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`new entry Unhandled type ${await u.type()}`]}case"011":switch(`${await u.type()}-${await f.type()}`){case"tree-tree":return;case"tree-blob":case"blob-tree":return["conflict",c];case"blob-blob":return await u.oid()!==await f.oid()?s?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]:await u.mode()!==await f.mode()?s?["update",c,await u.oid(),await u.mode(),!0]:["conflict",c]:["create-index",c,await u.oid(),await u.mode()];case"commit-tree":return;case"commit-blob":return["conflict",c];default:return["error",`new entry Unhandled type ${u.type}`]}case"100":return["delete-index",c];case"101":switch(await d.type()){case"tree":return["rmdir-index",c];case"blob":return await d.oid()!==await f.oid()?s?["delete",c]:["conflict",c]:["delete",c];case"commit":return["rmdir-index",c];default:return["error",`delete entry Unhandled type ${await d.type()}`]}case"110":case"111":switch(`${await d.type()}-${await u.type()}`){case"tree-tree":return;case"blob-blob":{if(await d.oid()===await u.oid()&&await d.mode()===await u.mode()&&!s)return;if(f){if(await f.oid()!==await d.oid()&&await f.oid()!==await u.oid())return s?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]}else if(s)return["update",c,await u.oid(),await u.mode(),await u.mode()!==await d.mode()];return await u.mode()!==await d.mode()?["update",c,await u.oid(),await u.mode(),!0]:await u.oid()!==await d.oid()?["update",c,await u.oid(),await u.mode(),!1]:void 0}case"tree-blob":return["update-dir-to-blob",c,await u.oid()];case"blob-tree":return["update-blob-to-tree",c];case"commit-commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`update entry Unhandled type ${await d.type()}-${await u.type()}`]}}},reduce:async function(c,u){return u=Hx(u),c?c&&c[0]==="rmdir"?(u.push(c),u):(u.unshift(c),u):u}})}async function Y4({index:t,fullpath:e,stats:r,oid:n}){try{t.insert({filepath:e,stats:r,oid:n})}catch(i){console.warn(`Error inserting ${e} into index:`,i)}}async function X4({fs:t,cache:e,gitdir:r,dir:n},[i,a,s,o,l]){let c=`${n}/${a}`;if(i!=="create-index"&&i!=="mkdir-index"){let{object:f}=await Ge({fs:t,cache:e,gitdir:r,oid:s});if(l&&await t.rm(c),o===33188)await t.write(c,f);else if(o===33261)await t.write(c,f,{mode:511});else if(o===40960)await t.writelink(c,f);else throw new pe(`Invalid mode 0o${o.toString(8)} detected in blob ${s}`)}let u=await t.lstat(c);return o===33261&&(u.mode=493),i==="mkdir-index"&&(u.mode=57344),[a,s,u]}async function xx(t,e,r,n){let i=[];try{for(let a=0;al());(await Promise.allSettled(s)).forEach(l=>{l.status==="fulfilled"&&i.push(l.value)}),r&&await r({phase:"Updating workdir",loaded:a+s.length,total:e.length})}return i}catch(a){console.error(`Error during ${t}: ${a}`)}return i}async function dg({fs:t,onProgress:e,onPostCheckout:r,dir:n,gitdir:i=F.join(n,".git"),remote:a="origin",ref:s,filepaths:o,noCheckout:l=!1,noUpdateHead:c=s===void 0,dryRun:u=!1,force:f=!1,track:d=!0,cache:h={},nonBlocking:p=!1,batchSize:g=100}){try{P("fs",t),P("dir",n),P("gitdir",i);let v=s||"HEAD";return await fg({fs:new Q(t),cache:h,onProgress:e,onPostCheckout:r,dir:n,gitdir:i,remote:a,ref:v,filepaths:o,noCheckout:l,noUpdateHead:c,dryRun:u,force:f,track:d,nonBlocking:p,batchSize:g})}catch(v){throw v.caller="git.checkout",v}}var K4=new RegExp("^refs/(heads/|tags/|remotes/)?(.*)");function za(t){let e=K4.exec(t);return e?e[1]==="remotes/"&&t.endsWith("/HEAD")?e[2].slice(0,-5):e[2]:t}async function sa({fs:t,gitdir:e,fullname:r=!1,test:n=!1}){let i=await V.resolve({fs:t,gitdir:e,ref:"HEAD",depth:2});if(n)try{await V.resolve({fs:t,gitdir:e,ref:i})}catch(a){return}if(i.startsWith("refs/"))return r?i:za(i)}function Z4(t){return t=t.replace(/^git@([^:]+):/,"https://$1/"),t=t.replace(/^ssh:\/\//,"https://"),t}function rS({username:t="",password:e=""}){return`Basic ${Buffer.from(`${t}:${e}`).toString("base64")}`}async function uc(t,e){let r=jx(t);for(;;){let{value:n,done:i}=await r.next();if(n&&await e(n),i)break}r.return&&r.return()}async function Ff(t){let e=0,r=[];await uc(t,a=>{r.push(a),e+=a.byteLength});let n=new Uint8Array(e),i=0;for(let a of r)n.set(a,i),i+=a.byteLength;return n}function Sx(t){let e=t.match(/^https?:\/\/([^/]+)@/);if(e==null)return{url:t,auth:{}};e=e[1];let[r,n]=e.split(":");return t=t.replace(`${e}@`,""),{url:t,auth:{username:r,password:n}}}function lg(t,e){let r=e.toString(16);return"0".repeat(t-r.length)+r}var Qe=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 r=e.length+4,n=lg(4,r);return Buffer.concat([Buffer.from(n,"utf8"),e])}static streamReader(e){let r=new Mf(e);return async function(){try{let i=await r.read(4);if(i==null)return!0;if(i=parseInt(i.toString("utf8"),16),i===0||i===1)return null;let a=await r.read(i-4);return a==null?!0:a}catch(i){return e.error=i,!0}}}};async function Ex(t){let e={},r;for(;r=await t(),r!==!0;){if(r===null)continue;r=r.toString("utf8").replace(/\n$/,"");let n=r.indexOf("=");if(n>-1){let i=r.slice(0,n),a=r.slice(n+1);e[i]=a}else e[r]=!0}return{protocolVersion:2,capabilities2:e}}async function Ax(t,{service:e}){let r=new Set,n=new Map,i=new Map,a=Qe.streamReader(t),s=await a();for(;s===null;)s=await a();if(s===!0)throw new Zl;if(s.includes("version 2"))return Ex(a);if(s.toString("utf8").replace(/\n$/,"")!==`# service=${e}`)throw new Va(`# service=${e}\\n`,s.toString("utf8"));let o=await a();for(;o===null;)o=await a();if(o===!0)return{capabilities:r,refs:n,symrefs:i};if(o=o.toString("utf8"),o.includes("version 2"))return Ex(a);let[l,c]=qm(o,"\0","\\x00");if(c.split(" ").map(u=>r.add(u)),l!=="0000000000000000000000000000000000000000 capabilities^{}"){let[u,f]=qm(l," "," ");for(n.set(f,u);;){let d=await a();if(d===!0)break;if(d!==null){let[h,p]=qm(d.toString("utf8")," "," ");n.set(p,h)}}}for(let u of r)if(u.startsWith("symref=")){let f=u.match(/symref=([^:]+):(.*)/);f.length===3&&i.set(f[1],f[2])}return{protocolVersion:1,capabilities:r,refs:n,symrefs:i}}function qm(t,e,r){let n=t.trim().split(e);if(n.length!==2)throw new Va(`Two strings separated by '${r}'`,t.toString("utf8"));return n}var kx=(t,e)=>t.endsWith("?")?`${t}${e}`:`${t}/${e.replace(/^https?:\/\//,"")}`,Tx=(t,e)=>{(e.username||e.password)&&(t.Authorization=rS(e)),e.headers&&Object.assign(t,e.headers)},Wm=async t=>{try{let e=Buffer.from(await Ff(t.body)),r=e.toString("utf8");return{preview:r.length<256?r:r.slice(0,256)+"...",response:r,data:e}}catch(e){return{}}},mo=class{static async capabilities(){return["discover","connect"]}static async discover({http:e,onProgress:r,onAuth:n,onAuthSuccess:i,onAuthFailure:a,corsProxy:s,service:o,url:l,headers:c,protocolVersion:u}){let{url:f,auth:d}=Sx(l),h=s?kx(s,f):f;(d.username||d.password)&&(c.Authorization=rS(d)),u===2&&(c["Git-Protocol"]="version=2");let p,g,v=!1;do if(p=await e.request({onProgress:r,method:"GET",url:`${h}/info/refs?service=${o}`,headers:c}),g=!1,p.statusCode===401||p.statusCode===203){let y=v?a:n;if(y){if(d=await y(f,{...d,headers:{...c}}),d&&d.cancel)throw new uo;d&&(Tx(c,d),v=!0,g=!0)}}else p.statusCode===200&&v&&i&&await i(f,d);while(g);if(p.statusCode!==200){let{response:y}=await Wm(p);throw new so(p.statusCode,p.statusMessage,y)}if(p.headers["content-type"]===`application/x-${o}-advertisement`){let y=await Ax(p.body,{service:o});return y.auth=d,y}else{let{preview:y,response:b,data:E}=await Wm(p);try{let S=await Ax([E],{service:o});return S.auth=d,S}catch(S){throw new rc(y,b)}}}static async connect({http:e,onProgress:r,corsProxy:n,service:i,url:a,auth:s,body:o,headers:l}){let c=Sx(a);c&&(a=c.url),n&&(a=kx(n,a)),l["content-type"]=`application/x-${i}-request`,l.accept=`application/x-${i}-result`,Tx(l,s);let u=await e.request({onProgress:r,method:"POST",url:`${a}/${i}`,body:o,headers:l});if(u.statusCode!==200){let{response:f}=Wm(u);throw new so(u.statusCode,u.statusMessage,f)}return u}};function J4({url:t}){if(t.startsWith("git@"))return{transport:"ssh",address:t};let e=t.match(/(\w+)(:\/\/|::)(.*)/);if(e!==null){if(e[2]==="://")return{transport:e[1],address:e[0]};if(e[2]==="::")return{transport:e[1],address:e[3]}}}var go=class{static getRemoteHelperFor({url:e}){let r=new Map;r.set("http",mo),r.set("https",mo);let n=J4({url:e});if(!n)throw new ic(e);if(r.has(n.transport))return r.get(n.transport);throw new nc(e,n.transport,n.transport==="ssh"?Z4(e):void 0)}},Ga=null,qa=class{static async read({fs:e,gitdir:r}){Ga===null&&(Ga=new zl);let n=F.join(r,"shallow"),i=new Set;return await Ga.acquire(n,async function(){let a=await e.read(n,{encoding:"utf8"});if(a===null||a.trim()==="")return i;a.trim().split(` +`).map(s=>i.add(s))}),i}static async write({fs:e,gitdir:r,oids:n}){Ga===null&&(Ga=new zl);let i=F.join(r,"shallow");if(n.size>0){let a=[...n].join(` +`)+` +`;await Ga.acquire(i,async function(){await e.write(i,a,{encoding:"utf8"})})}else await Ga.acquire(i,async function(){await e.rm(i)})}};async function Q4({fs:t,gitdir:e,oid:r}){let n=`objects/${r.slice(0,2)}/${r.slice(2)}`;return t.exists(`${e}/${n}`)}async function eD({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:i}){let a=await t.readdir(F.join(r,"objects/pack"));a=a.filter(s=>s.endsWith(".idx"));for(let s of a){let o=`${r}/objects/pack/${s}`,l=await ug({fs:t,cache:e,filename:o,getExternalRefDelta:i});if(l.error)throw new pe(l.error);if(l.offsets.has(n))return!0}return!1}async function Cx({fs:t,cache:e,gitdir:r,oid:n,format:i="content"}){let a=o=>Ge({fs:t,cache:e,gitdir:r,oid:o}),s=await Q4({fs:t,gitdir:r,oid:n});return s||(s=await eD({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:a})),s}function tD(t){let i="5041434b"+"00000002"+"00000000";return t.slice(0,12).toString("hex")===i}function nS(t,e){let r=t.map(n=>n.split("=",1)[0]);return e.filter(n=>{let i=n.split("=",1)[0];return r.includes(i)})}var Bf={name:"isomorphic-git",version:"1.32.2",agent:"git/isomorphic-git@1.32.2"},ro=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 r=this._waiting;this._waiting=null,r({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 rD(t){let e=t.indexOf("\r"),r=t.indexOf(` +`);return e===-1&&r===-1?-1:e===-1?r+1:r===-1?e+1:r===e+1?r+1:Math.min(e,r)+1}function iS(t){let e=new ro,r="";return(async()=>(await uc(t,n=>{for(n=n.toString("utf8"),r+=n;;){let i=rD(r);if(i===-1)break;e.write(r.slice(0,i)),r=r.slice(i)}}),r.length>0&&e.write(r),e.end()))(),e}var $f=class{static demux(e){let r=Qe.streamReader(e),n=new ro,i=new ro,a=new ro,s=async function(){let o=await r();if(o===null)return s();if(o===!0){n.end(),a.end(),e.error?i.destroy(e.error):i.end();return}switch(o[0]){case 1:{i.write(o.slice(1));break}case 2:{a.write(o.slice(1));break}case 3:{let l=o.slice(1);a.write(l),n.end(),a.end(),i.destroy(new Error(l.toString("utf8")));return}default:n.write(o)}s()};return s(),{packetlines:n,packfile:i,progress:a}}};async function nD(t){let{packetlines:e,packfile:r,progress:n}=$f.demux(t),i=[],a=[],s=[],o=!1,l=!1;return new Promise((c,u)=>{uc(e,f=>{let d=f.toString("utf8").trim();if(d.startsWith("shallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Qi(h)),i.push(h)}else if(d.startsWith("unshallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Qi(h)),a.push(h)}else if(d.startsWith("ACK")){let[,h,p]=d.split(" ");s.push({oid:h,status:p}),p||(l=!0)}else d.startsWith("NAK")?(o=!0,l=!0):(l=!0,o=!0);l&&(t.error?u(t.error):c({shallows:i,unshallows:a,acks:s,nak:o,packfile:r,progress:n}))}).finally(()=>{l||(t.error?u(t.error):c({shallows:i,unshallows:a,acks:s,nak:o,packfile:r,progress:n}))})})}function iD({capabilities:t=[],wants:e=[],haves:r=[],shallows:n=[],depth:i=null,since:a=null,exclude:s=[]}){let o=[];e=[...new Set(e)];let l=` ${t.join(" ")}`;for(let c of e)o.push(Qe.encode(`want ${c}${l} +`)),l="";for(let c of n)o.push(Qe.encode(`shallow ${c} +`));i!==null&&o.push(Qe.encode(`deepen ${i} +`)),a!==null&&o.push(Qe.encode(`deepen-since ${Math.floor(a.valueOf()/1e3)} +`));for(let c of s)o.push(Qe.encode(`deepen-not ${c} +`));o.push(Qe.flush());for(let c of r)o.push(Qe.encode(`have ${c} +`));return o.push(Qe.encode(`done +`)),o}async function hg({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,gitdir:l,ref:c,remoteRef:u,remote:f,url:d,corsProxy:h,depth:p=null,since:g=null,exclude:v=[],relative:y=!1,tags:b=!1,singleBranch:E=!1,headers:S={},prune:A=!1,pruneTags:k=!1}){let w=c||await sa({fs:t,gitdir:l,test:!0}),x=await nt.get({fs:t,gitdir:l}),_=f||w&&await x.get(`branch.${w}.remote`)||"origin",T=d||await x.get(`remote.${_}.url`);if(typeof T=="undefined")throw new dr("remote OR url");let C=u||w&&await x.get(`branch.${w}.merge`)||c||"HEAD";h===void 0&&(h=await x.get("http.corsProxy"));let I=go.getRemoteHelperFor({url:T}),L=await I.discover({http:r,onAuth:a,onAuthSuccess:s,onAuthFailure:o,corsProxy:h,service:"git-upload-pack",url:T,headers:S,protocolVersion:1}),$=L.auth,J=L.refs;if(J.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(p!==null&&!L.capabilities.has("shallow"))throw new Ji("shallow","depth");if(g!==null&&!L.capabilities.has("deepen-since"))throw new Ji("deepen-since","since");if(v.length>0&&!L.capabilities.has("deepen-not"))throw new Ji("deepen-not","exclude");if(y===!0&&!L.capabilities.has("deepen-relative"))throw new Ji("deepen-relative","relative");let{oid:de,fullref:le}=V.resolveAgainstMap({ref:C,map:J});for(let U of J.keys())U===le||U==="HEAD"||U.startsWith("refs/heads/")||b&&U.startsWith("refs/tags/")||J.delete(U);let ce=nS([...L.capabilities],["multi_ack_detailed","no-done","side-band-64k","ofs-delta",`agent=${Bf.agent}`]);y&&ce.push("deepen-relative");let Te=E?[de]:J.values(),ne=E?[w]:await V.listRefs({fs:t,gitdir:l,filepath:"refs"}),N=[];for(let U of ne)try{U=await V.expand({fs:t,gitdir:l,ref:U});let Je=await V.resolve({fs:t,gitdir:l,ref:U});await Cx({fs:t,cache:e,gitdir:l,oid:Je})&&N.push(Je)}catch(Je){}N=[...new Set(N)];let W=await qa.read({fs:t,gitdir:l}),B=L.capabilities.has("shallow")?[...W]:[],$e=iD({capabilities:ce,wants:Te,haves:N,shallows:B,depth:p,since:g,exclude:v}),lr=Buffer.from(await Ff($e)),Ut=await I.connect({http:r,onProgress:n,corsProxy:h,service:"git-upload-pack",url:T,auth:$,body:[lr],headers:S}),X=await nD(Ut.body);Ut.headers&&(X.headers=Ut.headers);for(let U of X.shallows)if(!W.has(U))try{let{object:Je}=await Ge({fs:t,cache:e,gitdir:l,oid:U}),j=new pr(Je),Z=await Promise.all(j.headers().parent.map(We=>Cx({fs:t,cache:e,gitdir:l,oid:We})));Z.length===0||Z.every(We=>We)||W.add(U)}catch(Je){W.add(U)}for(let U of X.unshallows)W.delete(U);if(await qa.write({fs:t,gitdir:l,oids:W}),E){let U=new Map([[le,de]]),Je=new Map,j=10,Z=le;for(;j--;){let Rt=L.symrefs.get(Z);if(Rt===void 0)break;Je.set(Z,Rt),Z=Rt}let Se=J.get(Z);Se&&U.set(Z,Se);let{pruned:We}=await V.updateRemoteRefs({fs:t,gitdir:l,remote:_,refs:U,symrefs:Je,tags:b,prune:A});A&&(X.pruned=We)}else{let{pruned:U}=await V.updateRemoteRefs({fs:t,gitdir:l,remote:_,refs:J,symrefs:L.symrefs,tags:b,prune:A,pruneTags:k});A&&(X.pruned=U)}if(X.HEAD=L.symrefs.get("HEAD"),X.HEAD===void 0){let{oid:U}=V.resolveAgainstMap({ref:"HEAD",map:J});for(let[Je,j]of J.entries())if(Je!=="HEAD"&&j===U){X.HEAD=Je;break}}let Oe=le.startsWith("refs/tags")?"tag":"branch";if(X.FETCH_HEAD={oid:de,description:`${Oe} '${za(le)}' of ${T}`},n||i){let U=iS(X.progress);uc(U,async Je=>{if(i&&await i(Je),n){let j=Je.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);j&&await n({phase:j[1].trim(),loaded:parseInt(j[2],10),total:parseInt(j[3],10)})}})}let De=Buffer.from(await Ff(X.packfile));if(Ut.body.error)throw Ut.body.error;let Pt=De.slice(-20).toString("hex"),Le={defaultBranch:X.HEAD,fetchHead:X.FETCH_HEAD.oid,fetchHeadDescription:X.FETCH_HEAD.description};if(X.headers&&(Le.headers=X.headers),A&&(Le.pruned=X.pruned),Pt!==""&&!tD(De)){Le.packfile=`objects/pack/pack-${Pt}.pack`;let U=F.join(l,Le.packfile);await t.write(U,De);let Je=Z=>Ge({fs:t,cache:e,gitdir:l,oid:Z}),j=await Wl.fromPack({pack:De,getExternalRefDelta:Je,onProgress:n});await t.write(U.replace(/\.pack$/,".idx"),await j.toBuffer())}return Le}async function aS({fs:t,bare:e=!1,dir:r,gitdir:n=e?r:F.join(r,".git"),defaultBranch:i="master"}){if(await t.exists(n+"/config"))return;let a=["hooks","info","objects/info","objects/pack","refs/heads","refs/tags"];a=a.map(s=>n+"/"+s);for(let s of a)await t.mkdir(s);await t.write(n+"/config",`[core] + repositoryformatversion = 0 + filemode = false + bare = ${e} +`+(e?"":` logallrefupdates = true +`)+` symlinks = false + ignorecase = true +`),await t.write(n+"/HEAD",`ref: refs/heads/${i} +`)}async function aD({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,onPostCheckout:l,dir:c,gitdir:u,url:f,corsProxy:d,ref:h,remote:p,depth:g,since:v,exclude:y,relative:b,singleBranch:E,noCheckout:S,noTags:A,headers:k,nonBlocking:w,batchSize:x=100}){try{if(await aS({fs:t,gitdir:u}),await Zx({fs:t,gitdir:u,remote:p,url:f,force:!1}),d){let C=await nt.get({fs:t,gitdir:u});await C.set("http.corsProxy",d),await nt.save({fs:t,gitdir:u,config:C})}let{defaultBranch:_,fetchHead:T}=await hg({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,gitdir:u,ref:h,remote:p,corsProxy:d,depth:g,since:v,exclude:y,relative:b,singleBranch:E,headers:k,tags:!A});if(T===null)return;h=h||_,h=h.replace("refs/heads/",""),await fg({fs:t,cache:e,onProgress:n,onPostCheckout:l,dir:c,gitdir:u,ref:h,remote:p,noCheckout:S,nonBlocking:w,batchSize:x})}catch(_){throw await t.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>{}),_}}async function sS({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPostCheckout:o,dir:l,gitdir:c=F.join(l,".git"),url:u,corsProxy:f=void 0,ref:d=void 0,remote:h="origin",depth:p=void 0,since:g=void 0,exclude:v=[],relative:y=!1,singleBranch:b=!1,noCheckout:E=!1,noTags:S=!1,headers:A={},cache:k={},nonBlocking:w=!1,batchSize:x=100}){try{return P("fs",t),P("http",e),P("gitdir",c),E||P("dir",l),P("url",u),await aD({fs:new Q(t),cache:k,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPostCheckout:o,dir:l,gitdir:c,url:u,corsProxy:f,ref:d,remote:h,depth:p,since:g,exclude:v,relative:y,singleBranch:b,noCheckout:E,noTags:S,headers:A,nonBlocking:w,batchSize:x})}catch(_){throw _.caller="git.clone",_}}async function oS({fs:t,onSign:e,dir:r,gitdir:n=F.join(r,".git"),message:i,author:a,committer:s,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h,cache:p={}}){try{P("fs",t),l||P("message",i),o&&P("onSign",e);let g=new Q(t);return await Nf({fs:g,cache:p,onSign:e,gitdir:n,message:i,author:a,committer:s,signingKey:o,amend:l,dryRun:c,noUpdateBranch:u,ref:f,parent:d,tree:h})}catch(g){throw g.caller="git.commit",g}}async function lS({fs:t,dir:e,gitdir:r=F.join(e,".git"),fullname:n=!1,test:i=!1}){try{return P("fs",t),P("gitdir",r),await sa({fs:new Q(t),gitdir:r,fullname:n,test:i})}catch(a){throw a.caller="git.currentBranch",a}}async function sD({fs:t,gitdir:e,ref:r}){if(r=r.startsWith("refs/heads/")?r:`refs/heads/${r}`,!await V.exists({fs:t,gitdir:e,ref:r}))throw new je(r);let i=await V.expand({fs:t,gitdir:e,ref:r}),a=await sa({fs:t,gitdir:e,fullname:!0});if(i===a){let l=await V.resolve({fs:t,gitdir:e,ref:i});await V.writeRef({fs:t,gitdir:e,ref:"HEAD",value:l})}await V.deleteRef({fs:t,gitdir:e,ref:i});let s=za(r),o=await nt.get({fs:t,gitdir:e});await o.deleteSection("branch",s),await nt.save({fs:t,gitdir:e,config:o})}async function cS({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n}){try{return P("fs",t),P("ref",n),await sD({fs:new Q(t),gitdir:r,ref:n})}catch(i){throw i.caller="git.deleteBranch",i}}async function uS({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n}){try{P("fs",t),P("ref",n),await V.deleteRef({fs:new Q(t),gitdir:r,ref:n})}catch(i){throw i.caller="git.deleteRef",i}}async function oD({fs:t,gitdir:e,remote:r}){let n=await nt.get({fs:t,gitdir:e});await n.deleteSection("remote",r),await nt.save({fs:t,gitdir:e,config:n})}async function fS({fs:t,dir:e,gitdir:r=F.join(e,".git"),remote:n}){try{return P("fs",t),P("remote",n),await oD({fs:new Q(t),gitdir:r,remote:n})}catch(i){throw i.caller="git.deleteRemote",i}}async function lD({fs:t,gitdir:e,ref:r}){r=r.startsWith("refs/tags/")?r:`refs/tags/${r}`,await V.deleteRef({fs:t,gitdir:e,ref:r})}async function dS({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n}){try{return P("fs",t),P("ref",n),await lD({fs:new Q(t),gitdir:r,ref:n})}catch(i){throw i.caller="git.deleteTag",i}}async function cD({fs:t,gitdir:e,oid:r}){let n=r.slice(0,2);return(await t.readdir(`${e}/objects/${n}`)).map(a=>`${n}${a}`).filter(a=>a.startsWith(r))}async function uD({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:i}){let a=[],s=await t.readdir(F.join(r,"objects/pack"));s=s.filter(o=>o.endsWith(".idx"));for(let o of s){let l=`${r}/objects/pack/${o}`,c=await ug({fs:t,cache:e,filename:l,getExternalRefDelta:i});if(c.error)throw new pe(c.error);for(let u of c.offsets.keys())u.startsWith(n)&&a.push(u)}return a}async function fD({fs:t,cache:e,gitdir:r,oid:n}){let i=o=>Ge({fs:t,cache:e,gitdir:r,oid:o}),a=await cD({fs:t,gitdir:r,oid:n}),s=await uD({fs:t,cache:e,gitdir:r,oid:n,getExternalRefDelta:i});for(let o of s)a.indexOf(o)===-1&&a.push(o);if(a.length===1)return a[0];throw a.length>1?new Yl("oids",n,a):new je(`an object matching "${n}"`)}async function hS({fs:t,dir:e,gitdir:r=F.join(e,".git"),oid:n,cache:i={}}){try{return P("fs",t),P("gitdir",r),P("oid",n),await fD({fs:new Q(t),cache:i,gitdir:r,oid:n})}catch(a){throw a.caller="git.expandOid",a}}async function pS({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n}){try{return P("fs",t),P("gitdir",r),P("ref",n),await V.expand({fs:new Q(t),gitdir:r,ref:n})}catch(i){throw i.caller="git.expandRef",i}}async function pg({fs:t,cache:e,gitdir:r,oids:n}){let i={},a=n.length,s=n.map((o,l)=>({index:l,oid:o}));for(;s.length;){let o=new Set;for(let{oid:c,index:u}of s)i[c]||(i[c]=new Set),i[c].add(u),i[c].size===a&&o.add(c);if(o.size>0)return[...o];let l=new Map;for(let{oid:c,index:u}of s)try{let{object:f}=await Ge({fs:t,cache:e,gitdir:r,oid:c}),d=pr.from(f),{parent:h}=d.parseHeaders();for(let p of h)(!i[p]||!i[p].has(u))&&l.set(p+":"+u,{oid:p,index:u})}catch(f){}s=Array.from(l.values())}return[]}var Ym=/^.*(\r?\n|$)/gm;function dD({branches:t,contents:e}){let r=t[1],n=t[2],i=e[0],a=e[1],s=e[2],o=a.match(Ym),l=i.match(Ym),c=s.match(Ym),u=W8(o,l,c),f=7,d="",h=!0;for(let p of u)p.ok&&(d+=p.ok.join("")),p.conflict&&(h=!1,d+=`${"<".repeat(f)} ${r} +`,d+=p.conflict.a.join(""),d+=`${"=".repeat(f)} +`,d+=p.conflict.b.join(""),d+=`${">".repeat(f)} ${n} +`);return{cleanMerge:h,mergedText:d}}async function hD({fs:t,cache:e,dir:r,gitdir:n=F.join(r,".git"),index:i,ourOid:a,baseOid:s,theirOid:o,ourName:l="ours",baseName:c="base",theirName:u="theirs",dryRun:f=!1,abortOnConflict:d=!0,mergeDriver:h}){let p=Rr({ref:a}),g=Rr({ref:s}),v=Rr({ref:o}),y=[],b=[],E=[],S=[],A=await ra({fs:t,cache:e,dir:r,gitdir:n,trees:[p,g,v],map:async function(k,[w,x,_]){let T=Cf(k),C=await If(w,x),I=await If(_,x);switch(`${C}-${I}`){case"false-false":return{mode:await x.mode(),path:T,oid:await x.oid(),type:await x.type()};case"false-true":return!_&&await w.type()==="tree"?{mode:await w.mode(),path:T,oid:await w.oid(),type:await w.type()}:_?{mode:await _.mode(),path:T,oid:await _.oid(),type:await _.type()}:void 0;case"true-false":return!w&&await _.type()==="tree"?{mode:await _.mode(),path:T,oid:await _.oid(),type:await _.type()}:w?{mode:await w.mode(),path:T,oid:await w.oid(),type:await w.type()}:void 0;case"true-true":{if(w&&_&&await w.type()==="tree"&&await _.type()==="tree")return{mode:await w.mode(),path:T,oid:await w.oid(),type:"tree"};if(w&&_&&await w.type()==="blob"&&await _.type()==="blob")return pD({fs:t,gitdir:n,path:T,ours:w,base:x,theirs:_,ourName:l,baseName:c,theirName:u,mergeDriver:h}).then(async L=>{if(L.cleanMerge)d||i.insert({filepath:k,oid:L.mergeResult.oid,stage:0});else if(y.push(k),b.push(k),!d){let $="";x&&await x.type()==="blob"&&($=await x.oid());let J=await w.oid(),de=await _.oid();i.delete({filepath:k}),$&&i.insert({filepath:k,oid:$,stage:1}),i.insert({filepath:k,oid:J,stage:2}),i.insert({filepath:k,oid:de,stage:3})}return L.mergeResult});if(x&&!w&&_&&await x.type()==="blob"&&await _.type()==="blob"){if(y.push(k),E.push(k),!d){let L=await x.oid(),$=await _.oid();i.delete({filepath:k}),i.insert({filepath:k,oid:L,stage:1}),i.insert({filepath:k,oid:$,stage:3})}return{mode:await _.mode(),oid:await _.oid(),type:"blob",path:T}}if(x&&w&&!_&&await x.type()==="blob"&&await w.type()==="blob"){if(y.push(k),S.push(k),!d){let L=await x.oid(),$=await w.oid();i.delete({filepath:k}),i.insert({filepath:k,oid:L,stage:1}),i.insert({filepath:k,oid:$,stage:2})}return{mode:await w.mode(),oid:await w.oid(),type:"blob",path:T}}if(x&&!w&&!_&&(await x.type()==="blob"||await x.type()==="tree"))return;throw new oo}}},reduce:y.length!==0&&(!r||d)?void 0:async(k,w)=>{let x=w.filter(Boolean);if(k&&!(k&&k.type==="tree"&&x.length===0&&k.path!==".")){if(x.length>0||k.path==="."&&x.length===0){let T=new hr(x).toObject(),C=await mr({fs:t,gitdir:n,type:"tree",object:T,dryRun:f});k.oid=C}return k}}});return y.length!==0?(r&&!d&&await ra({fs:t,cache:e,dir:r,gitdir:n,trees:[Rr({ref:A.oid})],map:async function(k,[w]){let x=`${r}/${k}`;if(await w.type()==="blob"){let _=await w.mode(),T=new TextDecoder().decode(await w.content());await t.write(x,T,{mode:_})}return!0}}),new lo(y,b,E,S)):A.oid}async function pD({fs:t,gitdir:e,path:r,ours:n,base:i,theirs:a,ourName:s,theirName:o,baseName:l,dryRun:c,mergeDriver:u=dD}){let f="blob",d="100755",h="",p="";i&&await i.type()==="blob"&&(d=await i.mode(),h=await i.oid(),p=Buffer.from(await i.content()).toString("utf8"));let g=d===await n.mode()?await a.mode():await n.mode();if(await n.oid()===await a.oid())return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await n.oid(),type:f}};if(await n.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await a.oid(),type:f}};if(await a.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await n.oid(),type:f}};let v=Buffer.from(await n.content()).toString("utf8"),y=Buffer.from(await a.content()).toString("utf8"),{mergedText:b,cleanMerge:E}=await u({branches:[l,s,o],contents:[p,v,y],path:r}),S=await mr({fs:t,gitdir:e,type:"blob",object:Buffer.from(b,"utf8"),dryRun:c});return{cleanMerge:E,mergeResult:{mode:g,path:r,oid:S,type:f}}}async function mS({fs:t,cache:e,dir:r,gitdir:n,ours:i,theirs:a,fastForward:s=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:p,onSign:g,mergeDriver:v,allowUnrelatedHistories:y=!1}){i===void 0&&(i=await sa({fs:t,gitdir:n,fullname:!0})),i=await V.expand({fs:t,gitdir:n,ref:i}),a=await V.expand({fs:t,gitdir:n,ref:a});let b=await V.resolve({fs:t,gitdir:n,ref:i}),E=await V.resolve({fs:t,gitdir:n,ref:a}),S=await pg({fs:t,cache:e,gitdir:n,oids:[b,E]});if(S.length!==1)if(S.length===0&&y)S.push("4b825dc642cb6eb9a060e54bf8d69288fbee4904");else throw new oo;let A=S[0];if(A===E)return{oid:b,alreadyMerged:!0};if(s&&A===b)return!l&&!c&&await V.writeRef({fs:t,gitdir:n,ref:i,value:E}),{oid:E,fastForward:!0};{if(o)throw new Jl;let k=await ct.acquire({fs:t,gitdir:n,cache:e,allowUnmerged:!1},async x=>hD({fs:t,cache:e,dir:r,gitdir:n,index:x,ourOid:b,theirOid:E,baseOid:A,ourName:za(i),baseName:"base",theirName:za(a),dryRun:l,abortOnConflict:u,mergeDriver:v}));if(k instanceof lo)throw k;return f||(f=`Merge branch '${za(a)}' into ${za(i)}`),{oid:await Nf({fs:t,cache:e,gitdir:n,message:f,ref:i,tree:k,parent:[b,E],author:d,committer:h,signingKey:p,onSign:g,dryRun:l,noUpdateBranch:c}),tree:k,mergeCommit:!0}}}async function gS({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,dir:l,gitdir:c,ref:u,url:f,remote:d,remoteRef:h,prune:p,pruneTags:g,fastForward:v,fastForwardOnly:y,corsProxy:b,singleBranch:E,headers:S,author:A,committer:k,signingKey:w}){try{if(!u){let T=await sa({fs:t,gitdir:c});if(!T)throw new dr("ref");u=T}let{fetchHead:x,fetchHeadDescription:_}=await hg({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,gitdir:c,corsProxy:b,ref:u,url:f,remote:d,remoteRef:h,singleBranch:E,headers:S,prune:p,pruneTags:g});await mS({fs:t,cache:e,gitdir:c,ours:u,theirs:x,fastForward:v,fastForwardOnly:y,message:`Merge ${_}`,author:A,committer:k,signingKey:w,dryRun:!1,noUpdateBranch:!1}),await fg({fs:t,cache:e,onProgress:n,dir:l,gitdir:c,ref:u,remote:d,noCheckout:!1})}catch(x){throw x.caller="git.pull",x}}async function vS({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:l=F.join(o,".git"),ref:c,url:u,remote:f,remoteRef:d,corsProxy:h,singleBranch:p,headers:g={},cache:v={}}){try{P("fs",t),P("http",e),P("gitdir",l);let y={name:"",email:"",timestamp:Date.now(),timezoneOffset:0};return await gS({fs:new Q(t),cache:v,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:l,ref:c,url:u,remote:f,remoteRef:d,fastForwardOnly:!0,corsProxy:h,singleBranch:p,headers:g,author:y,committer:y})}catch(y){throw y.caller="git.fastForward",y}}async function yS({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:l=F.join(o,".git"),ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p=null,since:g=null,exclude:v=[],relative:y=!1,tags:b=!1,singleBranch:E=!1,headers:S={},prune:A=!1,pruneTags:k=!1,cache:w={}}){try{return P("fs",t),P("http",e),P("gitdir",l),await hg({fs:new Q(t),cache:w,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,gitdir:l,ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:p,since:g,exclude:v,relative:y,tags:b,singleBranch:E,headers:S,prune:A,pruneTags:k})}catch(x){throw x.caller="git.fetch",x}}async function wS({fs:t,dir:e,gitdir:r=F.join(e,".git"),oids:n,cache:i={}}){try{return P("fs",t),P("gitdir",r),P("oids",n),await pg({fs:new Q(t),cache:i,gitdir:r,oids:n})}catch(a){throw a.caller="git.findMergeBase",a}}async function bS({fs:t,filepath:e}){if(await t.exists(F.join(e,".git")))return e;{let r=ao(e);if(r===e)throw new je(`git root for ${e}`);return bS({fs:t,filepath:r})}}async function _S({fs:t,filepath:e}){try{return P("fs",t),P("filepath",e),await bS({fs:new Q(t),filepath:e})}catch(r){throw r.caller="git.findRoot",r}}async function xS({fs:t,dir:e,gitdir:r=F.join(e,".git"),path:n}){try{return P("fs",t),P("gitdir",r),P("path",n),await oc({fs:new Q(t),gitdir:r,path:n})}catch(i){throw i.caller="git.getConfig",i}}async function mD({fs:t,gitdir:e,path:r}){return(await nt.get({fs:t,gitdir:e})).getall(r)}async function SS({fs:t,dir:e,gitdir:r=F.join(e,".git"),path:n}){try{return P("fs",t),P("gitdir",r),P("path",n),await mD({fs:new Q(t),gitdir:r,path:n})}catch(i){throw i.caller="git.getConfigAll",i}}async function ES({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:a,headers:s={},forPush:o=!1}){try{P("http",t),P("url",a);let c=await go.getRemoteHelperFor({url:a}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,headers:s,protocolVersion:1}),u={capabilities:[...c.capabilities]};for(let[f,d]of c.refs){let h=f.split("/"),p=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[p]=d}for(let[f,d]of c.symrefs){let h=f.split("/"),p=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[p]=d}return u}catch(l){throw l.caller="git.getRemoteInfo",l}}function AS(t,e,r,n){let i=[];for(let[a,s]of t.refs){if(e&&!a.startsWith(e))continue;if(a.endsWith("^{}")){if(n){let l=a.replace("^{}",""),c=i[i.length-1],u=c.ref===l?c:i.find(f=>f.ref===l);if(u===void 0)throw new Error("I did not expect this to happen");u.peeled=s}continue}let o={ref:a,oid:s};r&&t.symrefs.has(a)&&(o.target=t.symrefs.get(a)),i.push(o)}return i}async function kS({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:a,headers:s={},forPush:o=!1,protocolVersion:l=2}){try{P("http",t),P("url",a);let u=await go.getRemoteHelperFor({url:a}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,headers:s,protocolVersion:l});if(u.protocolVersion===2)return{protocolVersion:u.protocolVersion,capabilities:u.capabilities2};let f={};for(let d of u.capabilities){let[h,p]=d.split("=");p?f[h]=p:f[h]=!0}return{protocolVersion:1,capabilities:f,refs:AS(u,void 0,!0,!0)}}catch(c){throw c.caller="git.getRemoteInfo2",c}}async function gD({type:t,object:e,format:r="content",oid:n=void 0}){return r!=="deflated"&&(r!=="wrapped"&&(e=ea.wrap({type:t,object:e})),n=await bi(e)),{oid:n,object:e}}async function TS({object:t}){try{P("object",t),typeof t=="string"?t=Buffer.from(t,"utf8"):t=Buffer.from(t);let e="blob",{oid:r,object:n}=await gD({type:"blob",format:"content",object:t});return{oid:r,type:e,object:new Uint8Array(n),format:"wrapped"}}catch(e){throw e.caller="git.hashBlob",e}}async function vD({fs:t,cache:e,onProgress:r,dir:n,gitdir:i,filepath:a}){try{a=F.join(n,a);let s=await t.read(a),o=c=>Ge({fs:t,cache:e,gitdir:i,oid:c}),l=await Wl.fromPack({pack:s,getExternalRefDelta:o,onProgress:r});return await t.write(a.replace(/\.pack$/,".idx"),await l.toBuffer()),{oids:[...l.hashes]}}catch(s){throw s.caller="git.indexPack",s}}async function CS({fs:t,onProgress:e,dir:r,gitdir:n=F.join(r,".git"),filepath:i,cache:a={}}){try{return P("fs",t),P("dir",r),P("gitdir",r),P("filepath",i),await vD({fs:new Q(t),cache:a,onProgress:e,dir:r,gitdir:n,filepath:i})}catch(s){throw s.caller="git.indexPack",s}}async function PS({fs:t,bare:e=!1,dir:r,gitdir:n=e?r:F.join(r,".git"),defaultBranch:i="master"}){try{return P("fs",t),P("gitdir",n),e||P("dir",r),await aS({fs:new Q(t),bare:e,dir:r,gitdir:n,defaultBranch:i})}catch(a){throw a.caller="git.init",a}}async function RS({fs:t,cache:e,gitdir:r,oid:n,ancestor:i,depth:a}){let s=await qa.read({fs:t,gitdir:r});if(!n)throw new dr("oid");if(!i)throw new dr("ancestor");if(n===i)return!1;let o=[n],l=new Set,c=0;for(;o.length;){if(c++===a)throw new ec(a);let u=o.shift(),{type:f,object:d}=await Ge({fs:t,cache:e,gitdir:r,oid:u});if(f!=="commit")throw new tr(u,f,"commit");let h=pr.from(d).parse();for(let p of h.parent)if(p===i)return!0;if(!s.has(u))for(let p of h.parent)l.has(p)||(o.push(p),l.add(p))}return!1}async function MS({fs:t,dir:e,gitdir:r=F.join(e,".git"),oid:n,ancestor:i,depth:a=-1,cache:s={}}){try{return P("fs",t),P("gitdir",r),P("oid",n),P("ancestor",i),await RS({fs:new Q(t),cache:s,gitdir:r,oid:n,ancestor:i,depth:a})}catch(o){throw o.caller="git.isDescendent",o}}async function OS({fs:t,dir:e,gitdir:r=F.join(e,".git"),filepath:n}){try{return P("fs",t),P("dir",e),P("gitdir",r),P("filepath",n),na.isIgnored({fs:new Q(t),dir:e,gitdir:r,filepath:n})}catch(i){throw i.caller="git.isIgnored",i}}async function IS({fs:t,dir:e,gitdir:r=F.join(e,".git"),remote:n}){try{return P("fs",t),P("gitdir",r),V.listBranches({fs:new Q(t),gitdir:r,remote:n})}catch(i){throw i.caller="git.listBranches",i}}async function yD({fs:t,gitdir:e,ref:r,cache:n}){if(r){let i=await V.resolve({gitdir:e,fs:t,ref:r}),a=[];return await FS({fs:t,cache:n,gitdir:e,oid:i,filenames:a,prefix:""}),a}else return ct.acquire({fs:t,gitdir:e,cache:n},async function(i){return i.entries.map(a=>a.path)})}async function FS({fs:t,cache:e,gitdir:r,oid:n,filenames:i,prefix:a}){let{tree:s}=await wo({fs:t,cache:e,gitdir:r,oid:n});for(let o of s)o.type==="tree"?await FS({fs:t,cache:e,gitdir:r,oid:o.oid,filenames:i,prefix:F.join(a,o.path)}):i.push(F.join(a,o.path))}async function $S({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n,cache:i={}}){try{return P("fs",t),P("gitdir",r),await yD({fs:new Q(t),cache:i,gitdir:r,ref:n})}catch(a){throw a.caller="git.listFiles",a}}async function wD({fs:t,cache:e,gitdir:r,ref:n}){let i;try{i=await V.resolve({gitdir:r,fs:t,ref:n})}catch(o){if(o instanceof je)return[]}return(await wo({fs:t,cache:e,gitdir:r,oid:i})).tree.map(o=>({target:o.path,note:o.oid}))}async function DS({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n="refs/notes/commits",cache:i={}}){try{return P("fs",t),P("gitdir",r),P("ref",n),await wD({fs:new Q(t),cache:i,gitdir:r,ref:n})}catch(a){throw a.caller="git.listNotes",a}}async function LS({fs:t,dir:e,gitdir:r=F.join(e,".git"),filepath:n}){try{return P("fs",t),P("gitdir",r),V.listRefs({fs:new Q(t),gitdir:r,filepath:n})}catch(i){throw i.caller="git.listRefs",i}}async function bD({fs:t,gitdir:e}){let r=await nt.get({fs:t,gitdir:e}),n=await r.getSubsections("remote");return Promise.all(n.map(async a=>{let s=await r.get(`remote.${a}.url`);return{remote:a,url:s}}))}async function jS({fs:t,dir:e,gitdir:r=F.join(e,".git")}){try{return P("fs",t),P("gitdir",r),await bD({fs:new Q(t),gitdir:r})}catch(n){throw n.caller="git.listRemotes",n}}async function _D(t){let e=Qe.streamReader(t),r=[],n;for(;n=await e(),n!==!0;){if(n===null)continue;n=n.toString("utf8").replace(/\n$/,"");let[i,a,...s]=n.split(" "),o={ref:a,oid:i};for(let l of s){let[c,u]=l.split(":");c==="symref-target"?o.target=u:c==="peeled"&&(o.peeled=u)}r.push(o)}return r}async function xD({prefix:t,symrefs:e,peelTags:r}){let n=[];return n.push(Qe.encode(`command=ls-refs +`)),n.push(Qe.encode(`agent=${Bf.agent} +`)),(r||e||t)&&n.push(Qe.delim()),r&&n.push(Qe.encode("peel")),e&&n.push(Qe.encode("symrefs")),t&&n.push(Qe.encode(`ref-prefix ${t}`)),n.push(Qe.flush()),n}async function NS({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,url:a,headers:s={},forPush:o=!1,protocolVersion:l=2,prefix:c,symrefs:u,peelTags:f}){try{P("http",t),P("url",a);let d=await mo.discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:n,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,headers:s,protocolVersion:l});if(d.protocolVersion===1)return AS(d,c,u,f);let h=await xD({prefix:c,symrefs:u,peelTags:f}),p=await mo.connect({http:t,auth:d.auth,headers:s,corsProxy:i,service:o?"git-receive-pack":"git-upload-pack",url:a,body:h});return _D(p.body)}catch(d){throw d.caller="git.listServerRefs",d}}async function BS({fs:t,dir:e,gitdir:r=F.join(e,".git")}){try{return P("fs",t),P("gitdir",r),V.listTags({fs:new Q(t),gitdir:r})}catch(n){throw n.caller="git.listTags",n}}function SD(t,e){return t.committer.timestamp-e.committer.timestamp}var ED="e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";async function Px({fs:t,cache:e,gitdir:r,oid:n,fileId:i}){if(i===ED)return;let a=n,s,o=await fo({fs:t,cache:e,gitdir:r,oid:n}),l=o.tree;return i===o.oid?s=o.path:(s=await HS({fs:t,cache:e,gitdir:r,tree:l,fileId:i,oid:a}),Array.isArray(s)&&(s.length===0?s=void 0:s.length===1&&(s=s[0]))),s}async function HS({fs:t,cache:e,gitdir:r,tree:n,fileId:i,oid:a,filepaths:s=[],parentPath:o=""}){let l=n.entries().map(function(c){let u;return c.oid===i?(u=F.join(o,c.path),s.push(u)):c.type==="tree"&&(u=Ge({fs:t,cache:e,gitdir:r,oid:c.oid}).then(function({object:f}){return HS({fs:t,cache:e,gitdir:r,tree:hr.from(f),fileId:i,oid:a,filepaths:s,parentPath:F.join(o,c.path)})})),u});return await Promise.all(l),s}async function AD({fs:t,cache:e,gitdir:r,filepath:n,ref:i,depth:a,since:s,force:o,follow:l}){let c=typeof s=="undefined"?void 0:Math.floor(s.valueOf()/1e3),u=[],f=await qa.read({fs:t,gitdir:r}),d=await V.resolve({fs:t,gitdir:r,ref:i}),h=[await po({fs:t,cache:e,gitdir:r,oid:d})],p,g,v;function y(b){v&&n&&u.push(b)}for(;h.length>0;){let b=h.pop();if(c!==void 0&&b.commit.committer.timestamp<=c)break;if(n){let E;try{E=await lc({fs:t,cache:e,gitdir:r,oid:b.commit.tree,filepath:n}),g&&p!==E&&u.push(g),p=E,g=b,v=!0}catch(S){if(S instanceof je){let A=l&&p;if(A&&(A=await Px({fs:t,cache:e,gitdir:r,oid:b.commit.tree,fileId:p}),A))if(Array.isArray(A)){if(g){let k=await Px({fs:t,cache:e,gitdir:r,oid:g.commit.tree,fileId:p});if(Array.isArray(k))if(A=A.filter(w=>k.indexOf(w)===-1),A.length===1)A=A[0],n=A,g&&u.push(g);else{A=!1,g&&u.push(g);break}}}else n=A,g&&u.push(g);if(!A){if(v&&p&&(u.push(g),!o))break;if(!o&&!l)throw S}g=b,v=!1}else throw S}}else u.push(b);if(a!==void 0&&u.length===a){y(b);break}if(!f.has(b.oid))for(let E of b.commit.parent){let S=await po({fs:t,cache:e,gitdir:r,oid:E});h.map(A=>A.oid).includes(S.oid)||h.push(S)}h.length===0&&y(b),h.sort((E,S)=>SD(E.commit,S.commit))}return u}async function US({fs:t,dir:e,gitdir:r=F.join(e,".git"),filepath:n,ref:i="HEAD",depth:a,since:s,force:o,follow:l,cache:c={}}){try{return P("fs",t),P("gitdir",r),P("ref",i),await AD({fs:new Q(t),cache:c,gitdir:r,filepath:n,ref:i,depth:a,since:s,force:o,follow:l})}catch(u){throw u.caller="git.log",u}}async function GS({fs:t,onSign:e,dir:r,gitdir:n=F.join(r,".git"),ours:i,theirs:a,fastForward:s=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:p,cache:g={},mergeDriver:v,allowUnrelatedHistories:y=!1}){try{P("fs",t),p&&P("onSign",e);let b=new Q(t),E=await ia({fs:b,gitdir:n,author:d});if(!E&&(!o||!s))throw new zt("author");let S=await ho({fs:b,gitdir:n,author:E,committer:h});if(!S&&(!o||!s))throw new zt("committer");return await mS({fs:b,cache:g,dir:r,gitdir:n,ours:i,theirs:a,fastForward:s,fastForwardOnly:o,dryRun:l,noUpdateBranch:c,abortOnConflict:u,message:f,author:E,committer:S,signingKey:p,onSign:e,mergeDriver:v,allowUnrelatedHistories:y})}catch(b){throw b.caller="git.merge",b}}var kD={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function zS({fs:t,cache:e,dir:r,gitdir:n=F.join(r,".git"),oids:i}){let a=new Mx,s=[];function o(u,f){let d=Buffer.from(u,f);s.push(d),a.update(d)}async function l({stype:u,object:f}){let d=kD[u],h=f.length,p=h>15?128:0,g=h&15;h=h>>>4;let v=(p|d|g).toString(16);for(o(v,"hex");p;)p=h>127?128:0,v=p|h&127,o(lg(2,v),"hex"),h=h>>>7;o(Buffer.from(await Gx(f)))}o("PACK"),o("00000002","hex"),o(lg(8,i.length),"hex");for(let u of i){let{type:f,object:d}=await Ge({fs:t,cache:e,gitdir:n,oid:u});await l({write:o,object:d,stype:f})}let c=a.digest();return s.push(c),s}async function TD({fs:t,cache:e,gitdir:r,oids:n,write:i}){let a=await zS({fs:t,cache:e,gitdir:r,oids:n}),s=Buffer.from(await Ff(a)),l=`pack-${s.slice(-20).toString("hex")}.pack`;return i?(await t.write(F.join(r,`objects/pack/${l}`),s),{filename:l}):{filename:l,packfile:new Uint8Array(s)}}async function VS({fs:t,dir:e,gitdir:r=F.join(e,".git"),oids:n,write:i=!1,cache:a={}}){try{return P("fs",t),P("gitdir",r),P("oids",n),await TD({fs:new Q(t),cache:a,gitdir:r,oids:n,write:i})}catch(s){throw s.caller="git.packObjects",s}}async function qS({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:l=F.join(o,".git"),ref:c,url:u,remote:f,remoteRef:d,prune:h=!1,pruneTags:p=!1,fastForward:g=!0,fastForwardOnly:v=!1,corsProxy:y,singleBranch:b,headers:E={},author:S,committer:A,signingKey:k,cache:w={}}){try{P("fs",t),P("gitdir",l);let x=new Q(t),_=await ia({fs:x,gitdir:l,author:S});if(!_)throw new zt("author");let T=await ho({fs:x,gitdir:l,author:_,committer:A});if(!T)throw new zt("committer");return await gS({fs:x,cache:w,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,dir:o,gitdir:l,ref:c,url:u,remote:f,remoteRef:d,fastForward:g,fastForwardOnly:v,corsProxy:y,singleBranch:b,headers:E,author:_,committer:T,signingKey:k,prune:h,pruneTags:p})}catch(x){throw x.caller="git.pull",x}}async function CD({fs:t,cache:e,dir:r,gitdir:n=F.join(r,".git"),start:i,finish:a}){let s=await qa.read({fs:t,gitdir:n}),o=new Set,l=new Set;for(let f of i)o.add(await V.resolve({fs:t,gitdir:n,ref:f}));for(let f of a)try{let d=await V.resolve({fs:t,gitdir:n,ref:f});l.add(d)}catch(d){}let c=new Set;async function u(f){c.add(f);let{type:d,object:h}=await Ge({fs:t,cache:e,gitdir:n,oid:f});if(d==="tag"){let g=Mr.from(h).headers().object;return u(g)}if(d!=="commit")throw new tr(f,d,"commit");if(!s.has(f)){let g=pr.from(h).headers().parent;for(f of g)!l.has(f)&&!c.has(f)&&await u(f)}}for(let f of o)await u(f);return c}async function Xm({fs:t,cache:e,dir:r,gitdir:n=F.join(r,".git"),oids:i}){let a=new Set;async function s(o){if(a.has(o))return;a.add(o);let{type:l,object:c}=await Ge({fs:t,cache:e,gitdir:n,oid:o});if(l==="tag"){let f=Mr.from(c).headers().object;await s(f)}else if(l==="commit"){let f=pr.from(c).headers().tree;await s(f)}else if(l==="tree"){let u=hr.from(c);for(let f of u)f.type==="blob"&&a.add(f.oid),f.type==="tree"&&await s(f.oid)}}for(let o of i)await s(o);return a}async function PD(t){let e={},r="",n=Qe.streamReader(t),i=await n();for(;i!==!0;)i!==null&&(r+=i.toString("utf8")+` +`),i=await n();let a=r.toString("utf8").split(` +`);if(i=a.shift(),!i.startsWith("unpack "))throw new Va('unpack ok" or "unpack [error message]',i);e.ok=i==="unpack ok",e.ok||(e.error=i.slice(7)),e.refs={};for(let s of a){if(s.trim()==="")continue;let o=s.slice(0,2),l=s.slice(3),c=l.indexOf(" ");c===-1&&(c=l.length);let u=l.slice(0,c),f=l.slice(c+1);e.refs[u]={ok:o==="ok",error:f}}return e}async function RD({capabilities:t=[],triplets:e=[]}){let r=[],n=`\0 ${t.join(" ")}`;for(let i of e)r.push(Qe.encode(`${i.oldoid} ${i.oid} ${i.fullRef}${n} +`)),n="";return r.push(Qe.flush()),r}async function MD({fs:t,cache:e,http:r,onProgress:n,onMessage:i,onAuth:a,onAuthSuccess:s,onAuthFailure:o,onPrePush:l,gitdir:c,ref:u,remoteRef:f,remote:d,url:h,force:p=!1,delete:g=!1,corsProxy:v,headers:y={}}){let b=u||await sa({fs:t,gitdir:c});if(typeof b=="undefined")throw new dr("ref");let E=await nt.get({fs:t,gitdir:c});d=d||await E.get(`branch.${b}.pushRemote`)||await E.get("remote.pushDefault")||await E.get(`branch.${b}.remote`)||"origin";let S=h||await E.get(`remote.${d}.pushurl`)||await E.get(`remote.${d}.url`);if(typeof S=="undefined")throw new dr("remote OR url");let A=f||await E.get(`branch.${b}.merge`);if(typeof S=="undefined")throw new dr("remoteRef");v===void 0&&(v=await E.get("http.corsProxy"));let k=await V.expand({fs:t,gitdir:c,ref:b}),w=g?"0000000000000000000000000000000000000000":await V.resolve({fs:t,gitdir:c,ref:k}),x=go.getRemoteHelperFor({url:S}),_=await x.discover({http:r,onAuth:a,onAuthSuccess:s,onAuthFailure:o,corsProxy:v,service:"git-receive-pack",url:S,headers:y,protocolVersion:1}),T=_.auth,C;if(!A)C=k;else try{C=await V.expandAgainstMap({ref:A,map:_.refs})}catch(W){if(W instanceof je)C=A.startsWith("refs/")?A:`refs/heads/${A}`;else throw W}let I=_.refs.get(C)||"0000000000000000000000000000000000000000";if(l&&!await l({remote:d,url:S,localRef:{ref:g?"(delete)":k,oid:w},remoteRef:{ref:C,oid:I}}))throw new uo;let L=!_.capabilities.has("no-thin"),$=new Set;if(!g){let W=[..._.refs.values()],B=new Set;if(I!=="0000000000000000000000000000000000000000"){let $e=await pg({fs:t,cache:e,gitdir:c,oids:[w,I]});for(let lr of $e)W.push(lr);L&&(B=await Xm({fs:t,cache:e,gitdir:c,oids:$e}))}if(!W.includes(w)){let $e=await CD({fs:t,cache:e,gitdir:c,start:[w],finish:W});$=await Xm({fs:t,cache:e,gitdir:c,oids:$e})}if(L){try{let $e=await V.resolve({fs:t,gitdir:c,ref:`refs/remotes/${d}/HEAD`,depth:2}),{oid:lr}=await V.resolveAgainstMap({ref:$e.replace(`refs/remotes/${d}/`,""),fullref:$e,map:_.refs}),Ut=[lr];for(let X of await Xm({fs:t,cache:e,gitdir:c,oids:Ut}))B.add(X)}catch($e){}for(let $e of B)$.delete($e)}if(w===I&&(p=!0),!p){if(k.startsWith("refs/tags")&&I!=="0000000000000000000000000000000000000000")throw new co("tag-exists");if(w!=="0000000000000000000000000000000000000000"&&I!=="0000000000000000000000000000000000000000"&&!await RS({fs:t,cache:e,gitdir:c,oid:w,ancestor:I,depth:-1}))throw new co("not-fast-forward")}}let J=nS([..._.capabilities],["report-status","side-band-64k",`agent=${Bf.agent}`]),de=await RD({capabilities:J,triplets:[{oldoid:I,oid:w,fullRef:C}]}),le=g?[]:await zS({fs:t,cache:e,gitdir:c,oids:[...$]}),ce=await x.connect({http:r,onProgress:n,corsProxy:v,service:"git-receive-pack",url:S,auth:T,headers:y,body:[...de,...le]}),{packfile:Te,progress:ne}=await $f.demux(ce.body);if(i){let W=iS(ne);uc(W,async B=>{await i(B)})}let N=await PD(Te);if(ce.headers&&(N.headers=ce.headers),d&&N.ok&&N.refs[C].ok&&!k.startsWith("refs/tags")){let W=`refs/remotes/${d}/${C.replace("refs/heads","")}`;g?await V.deleteRef({fs:t,gitdir:c,ref:W}):await V.writeRef({fs:t,gitdir:c,ref:W,value:w})}if(N.ok&&Object.values(N.refs).every(W=>W.ok))return N;{let W=Object.entries(N.refs).filter(([B,$e])=>!$e.ok).map(([B,$e])=>` + - ${B}: ${$e.error}`).join("");throw new Ql(W,N)}}async function WS({fs:t,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPrePush:o,dir:l,gitdir:c=F.join(l,".git"),ref:u,remoteRef:f,remote:d="origin",url:h,force:p=!1,delete:g=!1,corsProxy:v,headers:y={},cache:b={}}){try{return P("fs",t),P("http",e),P("gitdir",c),await MD({fs:new Q(t),cache:b,http:e,onProgress:r,onMessage:n,onAuth:i,onAuthSuccess:a,onAuthFailure:s,onPrePush:o,gitdir:c,ref:u,remoteRef:f,remote:d,url:h,force:p,delete:g,corsProxy:v,headers:y})}catch(E){throw E.caller="git.push",E}}async function YS({fs:t,cache:e,gitdir:r,oid:n}){let{type:i,object:a}=await Ge({fs:t,cache:e,gitdir:r,oid:n});if(i==="tag")return n=Mr.from(a).parse().object,YS({fs:t,cache:e,gitdir:r,oid:n});if(i!=="blob")throw new tr(n,i,"blob");return{oid:n,blob:new Uint8Array(a)}}async function XS({fs:t,cache:e,gitdir:r,oid:n,filepath:i=void 0}){return i!==void 0&&(n=await lc({fs:t,cache:e,gitdir:r,oid:n,filepath:i})),await YS({fs:t,cache:e,gitdir:r,oid:n})}async function KS({fs:t,dir:e,gitdir:r=F.join(e,".git"),oid:n,filepath:i,cache:a={}}){try{return P("fs",t),P("gitdir",r),P("oid",n),await XS({fs:new Q(t),cache:a,gitdir:r,oid:n,filepath:i})}catch(s){throw s.caller="git.readBlob",s}}async function mg({fs:t,dir:e,gitdir:r=F.join(e,".git"),oid:n,cache:i={}}){try{return P("fs",t),P("gitdir",r),P("oid",n),await po({fs:new Q(t),cache:i,gitdir:r,oid:n})}catch(a){throw a.caller="git.readCommit",a}}async function OD({fs:t,cache:e,gitdir:r,ref:n="refs/notes/commits",oid:i}){let a=await V.resolve({gitdir:r,fs:t,ref:n}),{blob:s}=await XS({fs:t,cache:e,gitdir:r,oid:a,filepath:i});return s}async function ZS({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n="refs/notes/commits",oid:i,cache:a={}}){try{return P("fs",t),P("gitdir",r),P("ref",n),P("oid",i),await OD({fs:new Q(t),cache:a,gitdir:r,ref:n,oid:i})}catch(s){throw s.caller="git.readNote",s}}async function JS({fs:t,dir:e,gitdir:r=F.join(e,".git"),oid:n,format:i="parsed",filepath:a=void 0,encoding:s=void 0,cache:o={}}){try{P("fs",t),P("gitdir",r),P("oid",n);let l=new Q(t);a!==void 0&&(n=await lc({fs:l,cache:o,gitdir:r,oid:n,filepath:a}));let u=await Ge({fs:l,cache:o,gitdir:r,oid:n,format:i==="parsed"?"content":i});if(u.oid=n,i==="parsed")switch(u.format="parsed",u.type){case"commit":u.object=pr.from(u.object).parse();break;case"tree":u.object=hr.from(u.object).entries();break;case"blob":s?u.object=u.object.toString(s):(u.object=new Uint8Array(u.object),u.format="content");break;case"tag":u.object=Mr.from(u.object).parse();break;default:throw new tr(u.oid,u.type,"blob|commit|tag|tree")}else(u.format==="deflated"||u.format==="wrapped")&&(u.type=u.format);return u}catch(l){throw l.caller="git.readObject",l}}async function ID({fs:t,cache:e,gitdir:r,oid:n}){let{type:i,object:a}=await Ge({fs:t,cache:e,gitdir:r,oid:n,format:"content"});if(i!=="tag")throw new tr(n,i,"tag");let s=Mr.from(a);return{oid:n,tag:s.parse(),payload:s.payload()}}async function QS({fs:t,dir:e,gitdir:r=F.join(e,".git"),oid:n,cache:i={}}){try{return P("fs",t),P("gitdir",r),P("oid",n),await ID({fs:new Q(t),cache:i,gitdir:r,oid:n})}catch(a){throw a.caller="git.readTag",a}}async function eE({fs:t,dir:e,gitdir:r=F.join(e,".git"),oid:n,filepath:i=void 0,cache:a={}}){try{return P("fs",t),P("gitdir",r),P("oid",n),await wo({fs:new Q(t),cache:a,gitdir:r,oid:n,filepath:i})}catch(s){throw s.caller="git.readTree",s}}async function tE({fs:t,dir:e,gitdir:r=F.join(e,".git"),filepath:n,cache:i={}}){try{P("fs",t),P("gitdir",r),P("filepath",n),await ct.acquire({fs:new Q(t),gitdir:r,cache:i},async function(a){a.delete({filepath:n})})}catch(a){throw a.caller="git.remove",a}}async function FD({fs:t,cache:e,onSign:r,gitdir:n,ref:i="refs/notes/commits",oid:a,author:s,committer:o,signingKey:l}){let c;try{c=await V.resolve({gitdir:n,fs:t,ref:i})}catch(p){if(!(p instanceof je))throw p}let f=(await wo({fs:t,gitdir:n,oid:c||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;f=f.filter(p=>p.path!==a);let d=await cc({fs:t,gitdir:n,tree:f});return await Nf({fs:t,cache:e,onSign:r,gitdir:n,ref:i,tree:d,parent:c&&[c],message:`Note removed by 'isomorphic-git removeNote' +`,author:s,committer:o,signingKey:l})}async function rE({fs:t,onSign:e,dir:r,gitdir:n=F.join(r,".git"),ref:i="refs/notes/commits",oid:a,author:s,committer:o,signingKey:l,cache:c={}}){try{P("fs",t),P("gitdir",n),P("oid",a);let u=new Q(t),f=await ia({fs:u,gitdir:n,author:s});if(!f)throw new zt("author");let d=await ho({fs:u,gitdir:n,author:f,committer:o});if(!d)throw new zt("committer");return await FD({fs:u,cache:c,onSign:e,gitdir:n,ref:i,oid:a,author:f,committer:d,signingKey:l})}catch(u){throw u.caller="git.removeNote",u}}async function $D({fs:t,gitdir:e,oldref:r,ref:n,checkout:i=!1}){if(n!==zn.clean(n))throw new mn(n,zn.clean(n));if(r!==zn.clean(r))throw new mn(r,zn.clean(r));let a=`refs/heads/${r}`,s=`refs/heads/${n}`;if(await V.exists({fs:t,gitdir:e,ref:s}))throw new pn("branch",n,!1);let l=await V.resolve({fs:t,gitdir:e,ref:a,depth:1});await V.writeRef({fs:t,gitdir:e,ref:s,value:l}),await V.deleteRef({fs:t,gitdir:e,ref:a});let u=await sa({fs:t,gitdir:e,fullname:!0})===a;(i||u)&&await V.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:s})}async function nE({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n,oldref:i,checkout:a=!1}){try{return P("fs",t),P("gitdir",r),P("ref",n),P("oldref",i),await $D({fs:new Q(t),gitdir:r,ref:n,oldref:i,checkout:a})}catch(s){throw s.caller="git.renameBranch",s}}async function iE({gitdir:t,type:e,object:r}){return bi(ea.wrap({type:e,object:r}))}async function aE({fs:t,dir:e,gitdir:r=F.join(e,".git"),filepath:n,ref:i,cache:a={}}){try{P("fs",t),P("gitdir",r),P("filepath",n);let s=new Q(t),o,l;try{o=await V.resolve({fs:s,gitdir:r,ref:i||"HEAD"})}catch(f){if(i)throw f}if(o)try{o=await lc({fs:s,cache:a,gitdir:r,oid:o,filepath:n})}catch(f){o=null}let c={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},u=e&&await s.read(F.join(e,n));u&&(l=await iE({gitdir:r,type:"blob",object:u}),o===l&&(c=await s.lstat(F.join(e,n)))),await ct.acquire({fs:s,gitdir:r,cache:a},async function(f){f.delete({filepath:n}),o&&f.insert({filepath:n,stats:c,oid:o})})}catch(s){throw s.caller="git.reset",s}}async function sE({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n,depth:i}){try{return P("fs",t),P("gitdir",r),P("ref",n),await V.resolve({fs:new Q(t),gitdir:r,ref:n,depth:i})}catch(a){throw a.caller="git.resolveRef",a}}async function oE({fs:t,dir:e,gitdir:r=F.join(e,".git"),path:n,value:i,append:a=!1}){try{P("fs",t),P("gitdir",r),P("path",n);let s=new Q(t),o=await nt.get({fs:s,gitdir:r});a?await o.append(n,i):await o.set(n,i),await nt.save({fs:s,gitdir:r,config:o})}catch(s){throw s.caller="git.setConfig",s}}async function lE({fs:t,gitdir:e,commit:r}){let n=pr.from(r).toObject();return await mr({fs:t,gitdir:e,type:"commit",object:n,format:"content"})}var Df=class t{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),r=Math.abs(Math.floor(e/60)),n=Math.abs(e%60).toString().padStart(2,"0");return`${e>0?"-":"+"}${r.toString().padStart(2,"0")}${n}`}static createStashReflogEntry(e,r,n){let i=e.name.replace(/\s/g,""),a="0000000000000000000000000000000000000000",s=Math.floor(Date.now()/1e3),o=t.timezoneOffsetForRefLogEntry;return`${a} ${r} ${i} ${e.email} ${s} ${o} ${n} +`}static getStashReflogEntry(e,r=!1){return e.split(` +`).filter(a=>a).reverse().map((a,s)=>r?`stash@{${s}}: ${a.split(" ")[1]}`:a)}},DD={stage:Ya,workdir:yo},Km;async function vo(t,e){return Km===void 0&&(Km=new zl),Km.acquire(t,e)}async function LD(t,e,r,n,i=null){let a=F.join(r,n),s=await t.lstat(a);if(!s)throw new je(a);if(s.isDirectory())throw new pe(`${a}: file expected, but found directory`);let o=i?await Lx({fs:t,gitdir:e,oid:i}):void 0,l=o?i:void 0;return o||await vo({fs:t,gitdir:e,currentFilepath:a},async()=>{let c=s.isSymbolicLink()?await t.readlink(a).then(zx):await t.read(a);if(c===null)throw new je(a);l=await mr({fs:t,gitdir:e,type:"blob",object:c})}),l}async function jD({fs:t,dir:e,gitdir:r,entries:n}){async function i(a){if(a.type==="tree"){if(!a.oid){let s=await Promise.all(a.children.map(i));a.oid=await cc({fs:t,gitdir:r,tree:s}),a.mode=16384}}else a.type==="blob"&&(a.oid=await LD(t,r,e,a.path,a.oid),a.mode=33188);return a.path=a.path.split("/").pop(),a}return Promise.all(n.map(i))}async function Rx({fs:t,dir:e,gitdir:r,treePair:n}){let i=n[1]==="stage",a=n.map(h=>typeof h=="string"?DD[h]():h),s=[],u=await ra({fs:t,cache:{},dir:e,gitdir:r,trees:a,map:async(h,[p,g])=>{if(!(h==="."||await na.isIgnored({fs:t,dir:e,gitdir:r,filepath:h}))&&g)return(!p||await p.oid()!==await g.oid()&&await g.oid()!==void 0)&&s.push([p,g]),{mode:await g.mode(),path:h,oid:await g.oid(),type:await g.type()}},reduce:async(h,p)=>(p=p.filter(Boolean),h?(h.children=p,h):p.length>0?p:void 0),iterate:async(h,p)=>{let g=[];for(let v of p){let[y,b]=v;i?b&&(await t.exists(`${e}/${b.toString()}`)?g.push(v):s.push([null,b])):y&&(b?g.push(v):s.push([y,null]))}return g.length?Promise.all(g.map(h)):[]}});if(s.length===0||u.length===0)return null;let d=(await jD({fs:t,dir:e,gitdir:r,entries:u})).filter(Boolean).map(h=>({mode:h.mode,path:h.path,oid:h.oid,type:h.type}));return cc({fs:t,gitdir:r,tree:d})}async function ND({fs:t,dir:e,gitdir:r,stashCommit:n,parentCommit:i,wasStaged:a}){let s=[],o=[],l=await ra({fs:t,cache:{},dir:e,gitdir:r,trees:[Rr({ref:i}),Rr({ref:n})],map:async(c,[u,f])=>{if(c==="."||await na.isIgnored({fs:t,dir:e,gitdir:r,filepath:c}))return;let d=f?await f.type():await u.type();if(d!=="tree"&&d!=="blob")return;if(!f&&u){let p=d==="tree"?"rmdir":"rm";return d==="tree"&&s.push(c),d==="blob"&&a&&o.push({filepath:c,oid:await u.oid()}),{method:p,filepath:c}}let h=await f.oid();if(!u||await u.oid()!==h)return d==="tree"?{method:"mkdir",filepath:c}:(a&&o.push({filepath:c,oid:h,stats:await t.lstat(F.join(e,c))}),{method:"write",filepath:c,oid:h})}});await vo({fs:t,gitdir:r,dirRemoved:s,ops:l},async()=>{for(let c of l){let u=F.join(e,c.filepath);switch(c.method){case"rmdir":await t.rmdir(u);break;case"mkdir":await t.mkdir(u);break;case"rm":await t.rm(u);break;case"write":if(!s.some(f=>u.startsWith(f))){let{object:f}=await Ge({fs:t,cache:{},gitdir:r,oid:c.oid});await t.exists(u)&&await t.rm(u),await t.write(u,f)}break}}}),await ct.acquire({fs:t,gitdir:r,cache:{}},async c=>{o.forEach(({filepath:u,stats:f,oid:d})=>{c.insert({filepath:u,stats:f,oid:d})})})}var Wa=class t{constructor({fs:e,dir:r,gitdir:n=F.join(r,".git")}){Object.assign(this,{fs:e,dir:r,gitdir:n,_author:null})}static get refStash(){return"refs/stash"}static get refLogsStash(){return"logs/refs/stash"}get refStashPath(){return F.join(this.gitdir,t.refStash)}get refLogsStashPath(){return F.join(this.gitdir,t.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await ia({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new zt("author");return this._author}async getStashSHA(e,r){return await this.fs.exists(this.refStashPath)?(r||await this.readStashReflogs({parsed:!1}))[e].split(" ")[1]:null}async writeStashCommit({message:e,tree:r,parent:n}){return lE({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:r,parent:n,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let r=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>r.length-1))throw new mn(`stash@${e}`,"number that is in range of [0, num of stash pushed]");let n=await this.getStashSHA(e,r);return n?po({fs:this.fs,cache:{},gitdir:this.gitdir,oid:n}):{}}async writeStashRef(e){return V.writeRef({fs:this.fs,gitdir:this.gitdir,ref:t.refStash,value:e})}async writeStashReflogEntry({stashCommit:e,message:r}){let n=await this.getAuthor(),i=Df.createStashReflogEntry(n,e,r),a=this.refLogsStashPath;await vo({filepath:a,entry:i},async()=>{let s=await this.fs.exists(a)?await this.fs.read(a,"utf8"):"";await this.fs.write(a,s+i,"utf8")})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let n=(await this.fs.read(this.refLogsStashPath)).toString();return Df.getStashReflogEntry(n,e)}};async function BD({fs:t,dir:e,gitdir:r,message:n=""}){let i=new Wa({fs:t,dir:e,gitdir:r});await i.getAuthor();let a=await sa({fs:t,gitdir:r,fullname:!1}),s=await V.resolve({fs:t,gitdir:r,ref:"HEAD"}),l=(await mg({fs:t,dir:e,gitdir:r,oid:s})).commit.message,c=[s],u=null,f=Rr({ref:"HEAD"}),d=await Rx({fs:t,dir:e,gitdir:r,treePair:[Rr({ref:"HEAD"}),"stage"]});if(d){let v=await i.writeStashCommit({message:`stash-Index: WIP on ${a} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(v),u=d,f=Ya()}let h=await Rx({fs:t,dir:e,gitdir:r,treePair:[f,"workdir"]});if(h){let v=await i.writeStashCommit({message:`stash-WorkDir: WIP on ${a} - ${new Date().toISOString()}`,tree:h,parent:[c[c.length-1]]});c.push(v),u=h}if(!u||!d&&!h)throw new je("changes, nothing to stash");let p=(n.trim()||`WIP on ${a}`)+`: ${s.substring(0,7)} ${l}`,g=await i.writeStashCommit({message:p,tree:u,parent:c});return await i.writeStashRef(g),await i.writeStashReflogEntry({stashCommit:g,message:p}),await dg({fs:t,dir:e,gitdir:r,ref:a,track:!1,force:!0}),g}async function cE({fs:t,dir:e,gitdir:r,refIdx:n=0}){let a=await new Wa({fs:t,dir:e,gitdir:r}).readStashCommit(n),{parent:s=null}=a.commit?a.commit:{};if(!(!s||!Array.isArray(s)))for(let o=0;o{await t.exists(s)&&await t.rm(s)});let o=await i.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(n,1);let l=i.refLogsStashPath;await vo({reflogEntries:o,stashReflogPath:l,stashMgr:i},async()=>{if(o.length){await t.write(l,o.join(` +`),"utf8");let c=o[o.length-1].split(" ")[1];await i.writeStashRef(c)}else await t.rm(l)})}async function HD({fs:t,dir:e,gitdir:r}){return new Wa({fs:t,dir:e,gitdir:r}).readStashReflogs({parsed:!0})}async function UD({fs:t,dir:e,gitdir:r}){let n=new Wa({fs:t,dir:e,gitdir:r}),i=[n.refStashPath,n.refLogsStashPath];await vo(i,async()=>{await Promise.all(i.map(async a=>{if(await t.exists(a))return t.rm(a)}))})}async function GD({fs:t,dir:e,gitdir:r,refIdx:n=0}){await cE({fs:t,dir:e,gitdir:r,refIdx:n}),await uE({fs:t,dir:e,gitdir:r,refIdx:n})}async function fE({fs:t,dir:e,gitdir:r=F.join(e,".git"),op:n="push",message:i="",refIdx:a=0}){P("fs",t),P("dir",e),P("gitdir",r),P("op",n);let s={push:BD,apply:cE,drop:uE,list:HD,clear:UD,pop:GD},o=["apply","drop","pop"];try{let l=new Q(t);["refs","logs","logs/refs"].map(f=>F.join(r,f)).forEach(async f=>{await l.exists(f)||await l.mkdir(f)});let u=s[n];if(u){if(o.includes(n)&&a<0)throw new mn(`stash@${a}`,"number that is in range of [0, num of stash pushed]");return await u({fs:l,dir:e,gitdir:r,message:i,refIdx:a})}throw new Error(`To be implemented: ${n}`)}catch(l){throw l.caller="git.stash",l}}async function dE({fs:t,dir:e,gitdir:r=F.join(e,".git"),filepath:n,cache:i={}}){try{P("fs",t),P("gitdir",r),P("filepath",n);let a=new Q(t);if(await na.isIgnored({fs:a,gitdir:r,dir:e,filepath:n}))return"ignored";let o=await zD({fs:a,cache:i,gitdir:r}),l=await hE({fs:a,cache:i,gitdir:r,tree:o,path:n}),c=await ct.acquire({fs:a,gitdir:r,cache:i},async function(g){for(let v of g)if(v.path===n)return v;return null}),u=await a.lstat(F.join(e,n)),f=l!==null,d=c!==null,h=u!==null,p=async()=>{if(d&&!Tf(c,u))return c.oid;{let g=await a.read(F.join(e,n)),v=await iE({gitdir:r,type:"blob",object:g});return d&&c.oid===v&&u.size!==-1&&ct.acquire({fs:a,gitdir:r,cache:i},async function(y){y.insert({filepath:n,stats:u,oid:v})}),v}};if(!f&&!h&&!d)return"absent";if(!f&&!h&&d)return"*absent";if(!f&&h&&!d)return"*added";if(!f&&h&&d)return await p()===c.oid?"added":"*added";if(f&&!h&&!d)return"deleted";if(f&&!h&&d)return l===c.oid,"*deleted";if(f&&h&&!d)return await p()===l?"*undeleted":"*undeletemodified";if(f&&h&&d){let g=await p();return g===l?g===c.oid?"unmodified":"*unmodified":g===c.oid?"modified":"*modified"}}catch(a){throw a.caller="git.status",a}}async function hE({fs:t,cache:e,gitdir:r,tree:n,path:i}){typeof i=="string"&&(i=i.split("/"));let a=i.shift();for(let s of n)if(s.path===a){if(i.length===0)return s.oid;let{type:o,object:l}=await Ge({fs:t,cache:e,gitdir:r,oid:s.oid});if(o==="tree"){let c=hr.from(l);return hE({fs:t,cache:e,gitdir:r,tree:c,path:i})}if(o==="blob")throw new tr(s.oid,o,"blob",i.join("/"))}return null}async function zD({fs:t,cache:e,gitdir:r}){let n;try{n=await V.resolve({fs:t,gitdir:r,ref:"HEAD"})}catch(a){if(a instanceof je)return[]}let{tree:i}=await wo({fs:t,cache:e,gitdir:r,oid:n});return i}async function pE({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n="HEAD",filepaths:i=["."],filter:a,cache:s={},ignored:o=!1}){try{P("fs",t),P("gitdir",r),P("ref",n);let l=new Q(t);return await ra({fs:l,cache:s,dir:e,gitdir:r,trees:[Rr({ref:n}),yo(),Ya()],map:async function(c,[u,f,d]){if(!u&&!d&&f&&!o&&await na.isIgnored({fs:l,dir:e,filepath:c})||!i.some(k=>tS(c,k)))return null;if(a&&!a(c))return;let[h,p,g]=await Promise.all([u&&u.type(),f&&f.type(),d&&d.type()]),v=[h,p,g].includes("blob");if((h==="tree"||h==="special")&&!v)return;if(h==="commit")return null;if((p==="tree"||p==="special")&&!v)return;if(g==="commit")return null;if((g==="tree"||g==="special")&&!v)return;let y=h==="blob"?await u.oid():void 0,b=g==="blob"?await d.oid():void 0,E;h!=="blob"&&p==="blob"&&g!=="blob"?E="42":p==="blob"&&(E=await f.oid());let S=[void 0,y,E,b],A=S.map(k=>S.indexOf(k));return A.shift(),[c,...A]}})}catch(l){throw l.caller="git.statusMatrix",l}}async function mE({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n,object:i,force:a=!1}){try{P("fs",t),P("gitdir",r),P("ref",n);let s=new Q(t);if(n===void 0)throw new dr("ref");n=n.startsWith("refs/tags/")?n:`refs/tags/${n}`;let o=await V.resolve({fs:s,gitdir:r,ref:i||"HEAD"});if(!a&&await V.exists({fs:s,gitdir:r,ref:n}))throw new pn("tag",n);await V.writeRef({fs:s,gitdir:r,ref:n,value:o})}catch(s){throw s.caller="git.tag",s}}async function gE({fs:t,dir:e,gitdir:r=F.join(e,".git"),cache:n={},filepath:i,oid:a,mode:s,add:o,remove:l,force:c}){try{P("fs",t),P("gitdir",r),P("filepath",i);let u=new Q(t);if(l)return await ct.acquire({fs:u,gitdir:r,cache:n},async function(d){if(!c){let h=await u.lstat(F.join(e,i));if(h){if(h.isDirectory())throw new ta("directory");return}}d.has({filepath:i})&&d.delete({filepath:i})});let f;if(!a){if(f=await u.lstat(F.join(e,i)),!f)throw new je(`file at "${i}" on disk and "remove" not set`);if(f.isDirectory())throw new ta("directory")}return await ct.acquire({fs:u,gitdir:r,cache:n},async function(d){if(!o&&!d.has({filepath:i}))throw new je(`file at "${i}" in index and "add" not set`);let h;if(a)h={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:s,uid:0,gid:0,size:0};else{h=f;let p=h.isSymbolicLink()?await u.readlink(F.join(e,i)):await u.read(F.join(e,i));a=await mr({fs:u,gitdir:r,type:"blob",format:"content",object:p})}return d.insert({filepath:i,oid:a,stats:h}),a})}catch(u){throw u.caller="git.updateIndex",u}}function vE(){try{return Bf.version}catch(t){throw t.caller="git.version",t}}async function yE({fs:t,dir:e,gitdir:r=F.join(e,".git"),trees:n,map:i,reduce:a,iterate:s,cache:o={}}){try{return P("fs",t),P("gitdir",r),P("trees",n),await ra({fs:new Q(t),cache:o,dir:e,gitdir:r,trees:n,map:i,reduce:a,iterate:s})}catch(l){throw l.caller="git.walk",l}}async function wE({fs:t,dir:e,gitdir:r=F.join(e,".git"),blob:n}){try{return P("fs",t),P("gitdir",r),P("blob",n),await mr({fs:new Q(t),gitdir:r,type:"blob",object:n,format:"content"})}catch(i){throw i.caller="git.writeBlob",i}}async function bE({fs:t,dir:e,gitdir:r=F.join(e,".git"),commit:n}){try{return P("fs",t),P("gitdir",r),P("commit",n),await lE({fs:new Q(t),gitdir:r,commit:n})}catch(i){throw i.caller="git.writeCommit",i}}async function _E({fs:t,dir:e,gitdir:r=F.join(e,".git"),type:n,object:i,format:a="parsed",oid:s,encoding:o=void 0}){try{let l=new Q(t);if(a==="parsed"){switch(n){case"commit":i=pr.from(i).toObject();break;case"tree":i=hr.from(i).toObject();break;case"blob":i=Buffer.from(i,o);break;case"tag":i=Mr.from(i).toObject();break;default:throw new tr(s||"",n,"blob|commit|tag|tree")}a="content"}return s=await mr({fs:l,gitdir:r,type:n,object:i,oid:s,format:a}),s}catch(l){throw l.caller="git.writeObject",l}}async function xE({fs:t,dir:e,gitdir:r=F.join(e,".git"),ref:n,value:i,force:a=!1,symbolic:s=!1}){try{P("fs",t),P("gitdir",r),P("ref",n),P("value",i);let o=new Q(t);if(n!==zn.clean(n))throw new mn(n,zn.clean(n));if(!a&&await V.exists({fs:o,gitdir:r,ref:n}))throw new pn("ref",n);s?await V.writeSymbolicRef({fs:o,gitdir:r,ref:n,value:i}):(i=await V.resolve({fs:o,gitdir:r,ref:i}),await V.writeRef({fs:o,gitdir:r,ref:n,value:i}))}catch(o){throw o.caller="git.writeRef",o}}async function VD({fs:t,gitdir:e,tag:r}){let n=Mr.from(r).toObject();return await mr({fs:t,gitdir:e,type:"tag",object:n,format:"content"})}async function SE({fs:t,dir:e,gitdir:r=F.join(e,".git"),tag:n}){try{return P("fs",t),P("gitdir",r),P("tag",n),await VD({fs:new Q(t),gitdir:r,tag:n})}catch(i){throw i.caller="git.writeTag",i}}async function EE({fs:t,dir:e,gitdir:r=F.join(e,".git"),tree:n}){try{return P("fs",t),P("gitdir",r),P("tree",n),await cc({fs:new Q(t),gitdir:r,tree:n})}catch(i){throw i.caller="git.writeTree",i}}var qD={Errors:Bx,STAGE:Ya,TREE:Rr,WORKDIR:yo,add:Vx,abortMerge:Ux,addNote:Kx,addRemote:Jx,annotatedTag:Qx,branch:eS,checkout:dg,clone:sS,commit:oS,getConfig:xS,getConfigAll:SS,setConfig:oE,currentBranch:lS,deleteBranch:cS,deleteRef:uS,deleteRemote:fS,deleteTag:dS,expandOid:hS,expandRef:pS,fastForward:vS,fetch:yS,findMergeBase:wS,findRoot:_S,getRemoteInfo:ES,getRemoteInfo2:kS,hashBlob:TS,indexPack:CS,init:PS,isDescendent:MS,isIgnored:OS,listBranches:IS,listFiles:$S,listNotes:DS,listRefs:LS,listRemotes:jS,listServerRefs:NS,listTags:BS,log:US,merge:GS,packObjects:VS,pull:qS,push:WS,readBlob:KS,readCommit:mg,readNote:ZS,readObject:JS,readTag:QS,readTree:eE,remove:tE,removeNote:rE,renameBranch:nE,resetIndex:aE,updateIndex:gE,resolveRef:sE,status:dE,statusMatrix:pE,tag:mE,version:vE,walk:yE,writeBlob:wE,writeCommit:bE,writeObject:_E,writeRef:xE,writeTag:SE,writeTree:EE,stash:fE};Y.Errors=Bx;Y.STAGE=Ya;Y.TREE=Rr;Y.WORKDIR=yo;Y.abortMerge=Ux;Y.add=Vx;Y.addNote=Kx;Y.addRemote=Jx;Y.annotatedTag=Qx;Y.branch=eS;Y.checkout=dg;Y.clone=sS;Y.commit=oS;Y.currentBranch=lS;Y.default=qD;Y.deleteBranch=cS;Y.deleteRef=uS;Y.deleteRemote=fS;Y.deleteTag=dS;Y.expandOid=hS;Y.expandRef=pS;Y.fastForward=vS;Y.fetch=yS;Y.findMergeBase=wS;Y.findRoot=_S;Y.getConfig=xS;Y.getConfigAll=SS;Y.getRemoteInfo=ES;Y.getRemoteInfo2=kS;Y.hashBlob=TS;Y.indexPack=CS;Y.init=PS;Y.isDescendent=MS;Y.isIgnored=OS;Y.listBranches=IS;Y.listFiles=$S;Y.listNotes=DS;Y.listRefs=LS;Y.listRemotes=jS;Y.listServerRefs=NS;Y.listTags=BS;Y.log=US;Y.merge=GS;Y.packObjects=VS;Y.pull=qS;Y.push=WS;Y.readBlob=KS;Y.readCommit=mg;Y.readNote=ZS;Y.readObject=JS;Y.readTag=QS;Y.readTree=eE;Y.remove=tE;Y.removeNote=rE;Y.renameBranch=nE;Y.resetIndex=aE;Y.resolveRef=sE;Y.setConfig=oE;Y.stash=fE;Y.status=dE;Y.statusMatrix=pE;Y.tag=mE;Y.updateIndex=gE;Y.version=vE;Y.walk=yE;Y.writeBlob=wE;Y.writeCommit=bE;Y.writeObject=_E;Y.writeRef=xE;Y.writeTag=SE;Y.writeTree=EE});var kE=M((UY,AE)=>{m();var bo=1e3,_o=bo*60,xo=_o*60,Xa=xo*24,WD=Xa*7,YD=Xa*365.25;AE.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return XD(t);if(r==="number"&&isFinite(t))return e.long?ZD(t):KD(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function XD(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*YD;case"weeks":case"week":case"w":return r*WD;case"days":case"day":case"d":return r*Xa;case"hours":case"hour":case"hrs":case"hr":case"h":return r*xo;case"minutes":case"minute":case"mins":case"min":case"m":return r*_o;case"seconds":case"second":case"secs":case"sec":case"s":return r*bo;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function KD(t){var e=Math.abs(t);return e>=Xa?Math.round(t/Xa)+"d":e>=xo?Math.round(t/xo)+"h":e>=_o?Math.round(t/_o)+"m":e>=bo?Math.round(t/bo)+"s":t+"ms"}function ZD(t){var e=Math.abs(t);return e>=Xa?Hf(t,e,Xa,"day"):e>=xo?Hf(t,e,xo,"hour"):e>=_o?Hf(t,e,_o,"minute"):e>=bo?Hf(t,e,bo,"second"):t+" ms"}function Hf(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var CE=M((zY,TE)=>{m();function JD(t){r.debug=r,r.default=r,r.coerce=l,r.disable=s,r.enable=i,r.enabled=o,r.humanize=kE(),r.destroy=c,Object.keys(t).forEach(u=>{r[u]=t[u]}),r.names=[],r.skips=[],r.formatters={};function e(u){let f=0;for(let d=0;d{if(k==="%%")return"%";S++;let x=r.formatters[w];if(typeof x=="function"){let _=v[S];k=x.call(y,_),v.splice(S,1),S--}return k}),r.formatArgs.call(y,v),(y.log||r.log).apply(y,v)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==r.namespaces&&(h=r.namespaces,p=r.enabled(u)),p),set:v=>{d=v}}),typeof r.init=="function"&&r.init(g),g}function n(u,f){let d=r(this.namespace+(typeof f=="undefined"?":":f)+u);return d.log=this.log,d}function i(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of f)d[0]==="-"?r.skips.push(d.slice(1)):r.names.push(d)}function a(u,f){let d=0,h=0,p=-1,g=0;for(;d"-"+f)].join(",");return r.enable(""),u}function o(u){for(let f of r.skips)if(a(u,f))return!1;for(let f of r.names)if(a(u,f))return!0;return!1}function l(u){return u instanceof Error?u.stack||u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}TE.exports=JD});var Gf=M((gr,Uf)=>{m();gr.formatArgs=eL;gr.save=tL;gr.load=rL;gr.useColors=QD;gr.storage=nL();gr.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();gr.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function QD(){if(typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function eL(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Uf.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}gr.log=console.debug||console.log||(()=>{});function tL(t){try{t?gr.storage.setItem("debug",t):gr.storage.removeItem("debug")}catch(e){}}function rL(){let t;try{t=gr.storage.getItem("debug")||gr.storage.getItem("DEBUG")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function nL(){try{return localStorage}catch(t){}}Uf.exports=CE()(gr);var{formatters:iL}=Uf.exports;iL.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var PE=M(Or=>{"use strict";m();var aL=Or&&Or.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Or,"__esModule",{value:!0});var sL=require("fs"),oL=aL(Gf()),So=oL.default("@kwsites/file-exists");function lL(t,e,r){So("checking %s",t);try{let n=sL.statSync(t);return n.isFile()&&e?(So("[OK] path represents a file"),!0):n.isDirectory()&&r?(So("[OK] path represents a directory"),!0):(So("[FAIL] path represents something other than a file or directory"),!1)}catch(n){if(n.code==="ENOENT")return So("[FAIL] path is not accessible: %o",n),!1;throw So("[FATAL] %o",n),n}}function cL(t,e=Or.READABLE){return lL(t,(e&Or.FILE)>0,(e&Or.FOLDER)>0)}Or.exists=cL;Or.FILE=1;Or.FOLDER=2;Or.READABLE=Or.FILE+Or.FOLDER});var RE=M(zf=>{"use strict";m();function uL(t){for(var e in t)zf.hasOwnProperty(e)||(zf[e]=t[e])}Object.defineProperty(zf,"__esModule",{value:!0});uL(PE())});var yg=M(Ka=>{"use strict";m();Object.defineProperty(Ka,"__esModule",{value:!0});Ka.createDeferred=Ka.deferred=void 0;function vg(){let t,e,r="pending";return{promise:new Promise((i,a)=>{t=i,e=a}),done(i){r==="pending"&&(r="resolved",t(i))},fail(i){r==="pending"&&(r="rejected",e(i))},get fulfilled(){return r!=="pending"},get status(){return r}}}Ka.deferred=vg;Ka.createDeferred=vg;Ka.default=vg});var yT=M((FX,vT)=>{"use strict";m();vT.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var bT=M((DX,wT)=>{m();var c0={px:{px:1,cm:37.79527559055118,mm:3.7795275590551185,in:96,pt:1.3333333333333333,pc:16},cm:{px:.026458333333333334,cm:1,mm:.1,in:2.54,pt:.035277777777777776,pc:.42333333333333334},mm:{px:.26458333333333334,cm:10,mm:1,in:25.4,pt:.35277777777777775,pc:4.233333333333333},in:{px:.010416666666666666,cm:.39370078740157477,mm:.03937007874015748,in:1,pt:.013888888888888888,pc:.16666666666666666},pt:{px:.75,cm:28.346456692913385,mm:2.834645669291339,in:72,pt:1,pc:12},pc:{px:.0625,cm:2.3622047244094486,mm:.2362204724409449,in:6,pt:.08333333333333333,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:1.1111111111111112,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:.002777777777777778,grad:.0025,rad:.5/Math.PI,turn:1},s:{s:1,ms:.001},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:.001,kHz:1},dpi:{dpi:1,dpcm:.39370078740157477,dppx:.010416666666666666},dpcm:{dpi:2.54,dpcm:1,dppx:.026458333333333334},dppx:{dpi:96,dpcm:37.79527559055118,dppx:1}};wT.exports=function(t,e,r,n){if(!c0.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!c0[r].hasOwnProperty(e))throw new Error("Cannot convert from "+e+" to "+r);var i=c0[r][e]*t;return n!==!1?(n=Math.pow(10,parseInt(n)||5),Math.round(i*n)/n):i}});var FT=M(xi=>{"use strict";m();Object.defineProperty(xi,"__esModule",{value:!0});xi.fromRgba=Po;xi.fromRgb=u0;xi.fromHsla=md;xi.fromHsl=OT;xi.fromString=IT;xi.default=void 0;var _T=ET(yT()),bB=ET(bT());function ET(t){return t&&t.__esModule?t:{default:t}}function _B(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function xT(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r-1}function TB(t,e,r){var n=t/255,i=e/255,a=r/255,s=Math.max(n,i,a),o=Math.min(n,i,a),l=s-o,c=(s+o)/2;if(l===0)return[0,0,c*100];var u=l/(1-Math.abs(2*c-1)),f=function(){switch(s){case n:return(i-a)/l%6;case i:return(a-n)/l+2;default:return(n-i)/l+4}}();return[f*60,u*100,c*100]}function CB(t,e,r){var n=t/60,i=e/100,a=r/100,s=(1-Math.abs(2*a-1))*i,o=s*(1-Math.abs(n%2-1)),l=a-s/2,c=function(){return n<1?[s,o,0]:n<2?[o,s,0]:n<3?[0,s,o]:n<4?[0,o,s]:n<5?[o,0,s]:[s,0,o]}(),u=nr(c,3),f=u[0],d=u[1],h=u[2];return[(f+l)*255,(d+l)*255,(h+l)*255]}var PB=function(){function t(e){var r=nr(e,4),n=r[0],i=r[1],a=r[2],s=r[3];_B(this,t),this.values=[Math.max(Math.min(parseInt(n,10),255),0),Math.max(Math.min(parseInt(i,10),255),0),Math.max(Math.min(parseInt(a,10),255),0),s==null?1:Math.max(Math.min(parseFloat(s),255),0)]}return xB(t,[{key:"toRgbString",value:function(){var r=nr(this.values,4),n=r[0],i=r[1],a=r[2],s=r[3];return s===1?"rgb(".concat(n,", ").concat(i,", ").concat(a,")"):"rgba(".concat(n,", ").concat(i,", ").concat(a,", ").concat(s,")")}},{key:"toHslString",value:function(){var r=this.toHslaArray(),n=nr(r,4),i=n[0],a=n[1],s=n[2],o=n[3];return o===1?"hsl(".concat(i,", ").concat(a,"%, ").concat(s,"%)"):"hsla(".concat(i,", ").concat(a,"%, ").concat(s,"%, ").concat(o,")")}},{key:"toHexString",value:function(){var r=nr(this.values,4),n=r[0],i=r[1],a=r[2],s=r[3];return n=Number(n).toString(16).padStart(2,"0"),i=Number(i).toString(16).padStart(2,"0"),a=Number(a).toString(16).padStart(2,"0"),s=s<1?parseInt(s*255,10).toString(16).padStart(2,"0"):"","#".concat(n).concat(i).concat(a).concat(s)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var r=nr(this.values,4),n=r[0],i=r[1],a=r[2],s=r[3],o=TB(n,i,a),l=nr(o,3),c=l[0],u=l[1],f=l[2];return[c,u,f,s]}}]),t}();function Po(t){var e=nr(t,4),r=e[0],n=e[1],i=e[2],a=e[3];return new PB([r,n,i,a])}function u0(t){var e=nr(t,3),r=e[0],n=e[1],i=e[2];return Po([r,n,i,1])}function md(t){var e=nr(t,4),r=e[0],n=e[1],i=e[2],a=e[3],s=CB(r,n,i),o=nr(s,3),l=o[0],c=o[1],u=o[2];return Po([l,c,u,a])}function OT(t){var e=nr(t,3),r=e[0],n=e[1],i=e[2];return md([r,n,i,1])}function RB(t){var e=AT.exec(t)||kT.exec(t),r=nr(e,5),n=r[1],i=r[2],a=r[3],s=r[4];return n=parseInt(n.length<2?n.repeat(2):n,16),i=parseInt(i.length<2?i.repeat(2):i,16),a=parseInt(a.length<2?a.repeat(2):a,16),s=s&&(parseInt(s.length<2?s.repeat(2):s,16)/255).toPrecision(1)||1,Po([n,i,a,s])}function MB(t){var e=TT.exec(t)||PT.exec(t)||CT.exec(t)||RT.exec(t),r=nr(e,5),n=r[1],i=r[2],a=r[3],s=r[4];return n=bc(n,"%")?parseInt(n,10)*255/100:parseInt(n,10),i=bc(i,"%")?parseInt(i,10)*255/100:parseInt(i,10),a=bc(a,"%")>0?parseInt(a,10)*255/100:parseInt(a,10),s=s===void 0?1:parseFloat(s)/(bc(s,"%")?100:1),Po([n,i,a,s])}function OB(t){var e=MT.exec(t),r=nr(e,6),n=r[1],i=r[2],a=r[3],s=r[4],o=r[5];return i=i||"deg",n=(0,bB.default)(parseFloat(n),i,"deg"),a=parseFloat(a),s=parseFloat(s),o=o===void 0?1:parseFloat(o)/(bc(o,"%")?100:1),md([n,a,s,o])}function IT(t){return _T.default[t]?u0(_T.default[t]):AT.test(t)||kT.test(t)?RB(t):TT.test(t)||PT.test(t)||CT.test(t)||RT.test(t)?MB(t):MT.test(t)?OB(t):null}var IB={fromString:IT,fromRgb:u0,fromRgba:Po,fromHsl:OT,fromHsla:md};xi.default=IB});var f0=M((BX,DT)=>{"use strict";m();var $T=Object.prototype.toString;DT.exports=function(e){var r=$T.call(e),n=r==="[object Arguments]";return n||(n=r!=="[object Array]"&&e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&$T.call(e.callee)==="[object Function]"),n}});var VT=M((UX,zT)=>{"use strict";m();var GT;Object.keys||(_c=Object.prototype.hasOwnProperty,d0=Object.prototype.toString,LT=f0(),h0=Object.prototype.propertyIsEnumerable,jT=!h0.call({toString:null},"toString"),NT=h0.call(function(){},"prototype"),xc=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],gd=function(t){var e=t.constructor;return e&&e.prototype===t},BT={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},HT=function(){if(typeof window=="undefined")return!1;for(var t in window)try{if(!BT["$"+t]&&_c.call(window,t)&&window[t]!==null&&typeof window[t]=="object")try{gd(window[t])}catch(e){return!0}}catch(e){return!0}return!1}(),UT=function(t){if(typeof window=="undefined"||!HT)return gd(t);try{return gd(t)}catch(e){return!1}},GT=function(e){var r=e!==null&&typeof e=="object",n=d0.call(e)==="[object Function]",i=LT(e),a=r&&d0.call(e)==="[object String]",s=[];if(!r&&!n&&!i)throw new TypeError("Object.keys called on a non-object");var o=NT&&n;if(a&&e.length>0&&!_c.call(e,0))for(var l=0;l0)for(var c=0;c{"use strict";m();var FB=Array.prototype.slice,$B=f0(),qT=Object.keys,vd=qT?function(e){return qT(e)}:VT(),WT=Object.keys;vd.shim=function(){if(Object.keys){var e=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);e||(Object.keys=function(n){return $B(n)?WT(FB.call(n)):WT(n)})}else Object.keys=vd;return Object.keys||vd};YT.exports=vd});var fa=M((qX,JT)=>{"use strict";m();var DB=yd(),LB=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",jB=Object.prototype.toString,NB=Array.prototype.concat,XT=Qu(),BB=function(t){return typeof t=="function"&&jB.call(t)==="[object Function]"},KT=ef()(),HB=function(t,e,r,n){if(e in t){if(n===!0){if(t[e]===r)return}else if(!BB(n)||!n())return}KT?XT(t,e,r,!0):XT(t,e,r)},ZT=function(t,e){var r=arguments.length>2?arguments[2]:{},n=DB(e);LB&&(n=NB.call(n,Object.getOwnPropertySymbols(e)));for(var i=0;i{"use strict";m();var UB=yd(),eC=xl()(),tC=xt(),wd=Nu(),GB=tC("Array.prototype.push"),QT=tC("Object.prototype.propertyIsEnumerable"),zB=eC?wd.getOwnPropertySymbols:null;rC.exports=function(e,r){if(e==null)throw new TypeError("target must be an object");var n=wd(e);if(arguments.length===1)return n;for(var i=1;i{"use strict";m();var m0=p0(),VB=function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),r={},n=0;n{"use strict";m();var WB=fa(),YB=g0();iC.exports=function(){var e=YB();return WB(Object,{assign:e},{assign:function(){return Object.assign!==e}}),e}});var cC=M((eK,lC)=>{"use strict";m();var XB=fa(),KB=Fa(),ZB=p0(),sC=g0(),JB=aC(),QB=KB.apply(sC()),oC=function(e,r){return QB(Object,arguments)};XB(oC,{getPolyfill:sC,implementation:ZB,shim:JB});lC.exports=oC});var v0=M((rK,dC)=>{"use strict";m();var uC=Fn(),fC=Fa(),e7=fC(uC("String.prototype.indexOf"));dC.exports=function(e,r){var n=uC(e,!!r);return typeof n=="function"&&e7(e,".prototype.")>-1?fC(n):n}});var pC=M((iK,hC)=>{"use strict";m();var Ec=function(){return typeof function(){}.name=="string"},Sc=Object.getOwnPropertyDescriptor;if(Sc)try{Sc([],"length")}catch(t){Sc=null}Ec.functionsHaveConfigurableNames=function(){if(!Ec()||!Sc)return!1;var e=Sc(function(){},"name");return!!e&&!!e.configurable};var t7=Function.prototype.bind;Ec.boundFunctionsHaveNames=function(){return Ec()&&typeof t7=="function"&&function(){}.bind().name!==""};hC.exports=Ec});var vC=M((sK,gC)=>{"use strict";m();var mC=Qu(),r7=ef()(),n7=pC().functionsHaveConfigurableNames(),i7=ur();gC.exports=function(e,r){if(typeof e!="function")throw new i7("`fn` is not a function");var n=arguments.length>2&&!!arguments[2];return(!n||n7)&&(r7?mC(e,"name",r,!0,!0):mC(e,"name",r)),e}});var y0=M((lK,yC)=>{"use strict";m();var a7=vC(),s7=ur(),o7=Object;yC.exports=a7(function(){if(this==null||this!==o7(this))throw new s7("RegExp.prototype.flags getter called on non-object");var e="";return this.hasIndices&&(e+="d"),this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.dotAll&&(e+="s"),this.unicode&&(e+="u"),this.unicodeSets&&(e+="v"),this.sticky&&(e+="y"),e},"get flags",!0)});var w0=M((uK,wC)=>{"use strict";m();var l7=y0(),c7=fa().supportsDescriptors,u7=Object.getOwnPropertyDescriptor;wC.exports=function(){if(c7&&/a/mig.flags==="gim"){var e=u7(RegExp.prototype,"flags");if(e&&typeof e.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var r="",n={};if(Object.defineProperty(n,"hasIndices",{get:function(){r+="d"}}),Object.defineProperty(n,"sticky",{get:function(){r+="y"}}),e.get.call(n),r==="dy")return e.get}}return l7}});var xC=M((dK,_C)=>{"use strict";m();var f7=fa().supportsDescriptors,d7=w0(),h7=Gi(),p7=Object.defineProperty,m7=Fp(),bC=Wu(),g7=/a/;_C.exports=function(){if(!f7||!bC)throw new m7("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var e=d7(),r=bC(g7),n=h7(r,"flags");return(!n||n.get!==e)&&p7(r,"flags",{configurable:!0,enumerable:!1,get:e}),e}});var kC=M((pK,AC)=>{"use strict";m();var v7=fa(),y7=Fa(),w7=y0(),SC=w0(),b7=xC(),EC=y7(SC());v7(EC,{getPolyfill:SC,implementation:w7,shim:b7});AC.exports=EC});var _0=M((gK,CC)=>{"use strict";m();var _7=zi()(),x7=xt(),b0=x7("Object.prototype.toString"),bd=function(e){return _7&&e&&typeof e=="object"&&Symbol.toStringTag in e?!1:b0(e)==="[object Arguments]"},TC=function(e){return bd(e)?!0:e!==null&&typeof e=="object"&&"length"in e&&typeof e.length=="number"&&e.length>=0&&b0(e)!=="[object Array]"&&"callee"in e&&b0(e.callee)==="[object Function]"},S7=function(){return bd(arguments)}();bd.isLegacyArguments=TC;CC.exports=S7?bd:TC});var PC=M(()=>{m()});var Pc=M((_K,XC)=>{m();var M0=typeof Map=="function"&&Map.prototype,x0=Object.getOwnPropertyDescriptor&&M0?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,xd=M0&&x0&&typeof x0.get=="function"?x0.get:null,RC=M0&&Map.prototype.forEach,O0=typeof Set=="function"&&Set.prototype,S0=Object.getOwnPropertyDescriptor&&O0?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Sd=O0&&S0&&typeof S0.get=="function"?S0.get:null,MC=O0&&Set.prototype.forEach,E7=typeof WeakMap=="function"&&WeakMap.prototype,kc=E7?WeakMap.prototype.has:null,A7=typeof WeakSet=="function"&&WeakSet.prototype,Tc=A7?WeakSet.prototype.has:null,k7=typeof WeakRef=="function"&&WeakRef.prototype,OC=k7?WeakRef.prototype.deref:null,T7=Boolean.prototype.valueOf,C7=Object.prototype.toString,P7=Function.prototype.toString,R7=String.prototype.match,I0=String.prototype.slice,da=String.prototype.replace,M7=String.prototype.toUpperCase,IC=String.prototype.toLowerCase,UC=RegExp.prototype.test,FC=Array.prototype.concat,Wn=Array.prototype.join,O7=Array.prototype.slice,$C=Math.floor,k0=typeof BigInt=="function"?BigInt.prototype.valueOf:null,E0=Object.getOwnPropertySymbols,T0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Ro=typeof Symbol=="function"&&typeof Symbol.iterator=="object",Cc=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Ro||!0)?Symbol.toStringTag:null,GC=Object.prototype.propertyIsEnumerable,DC=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function LC(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||UC.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var n=t<0?-$C(-t):$C(t);if(n!==t){var i=String(n),a=I0.call(e,i.length+1);return da.call(i,r,"$&_")+"."+da.call(da.call(a,/([0-9]{3})/g,"$&_"),/_$/,"")}}return da.call(e,r,"$&_")}var C0=PC(),jC=C0.custom,NC=qC(jC)?jC:null,zC={__proto__:null,double:'"',single:"'"},I7={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};XC.exports=function t(e,r,n,i){var a=r||{};if(Si(a,"quoteStyle")&&!Si(zC,a.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Si(a,"maxStringLength")&&(typeof a.maxStringLength=="number"?a.maxStringLength<0&&a.maxStringLength!==1/0:a.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var s=Si(a,"customInspect")?a.customInspect:!0;if(typeof s!="boolean"&&s!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Si(a,"indent")&&a.indent!==null&&a.indent!==" "&&!(parseInt(a.indent,10)===a.indent&&a.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Si(a,"numericSeparator")&&typeof a.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=a.numericSeparator;if(typeof e=="undefined")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return YC(e,a);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var l=String(e);return o?LC(e,l):l}if(typeof e=="bigint"){var c=String(e)+"n";return o?LC(e,c):c}var u=typeof a.depth=="undefined"?5:a.depth;if(typeof n=="undefined"&&(n=0),n>=u&&u>0&&typeof e=="object")return P0(e)?"[Array]":"[Object]";var f=Z7(a,n);if(typeof i=="undefined")i=[];else if(WC(i,e)>=0)return"[Circular]";function d(L,$,J){if($&&(i=O7.call(i),i.push($)),J){var de={depth:a.depth};return Si(a,"quoteStyle")&&(de.quoteStyle=a.quoteStyle),t(L,de,n+1,i)}return t(L,a,n+1,i)}if(typeof e=="function"&&!BC(e)){var h=U7(e),p=_d(e,d);return"[Function"+(h?": "+h:" (anonymous)")+"]"+(p.length>0?" { "+Wn.call(p,", ")+" }":"")}if(qC(e)){var g=Ro?da.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):T0.call(e);return typeof e=="object"&&!Ro?Ac(g):g}if(Y7(e)){for(var v="<"+IC.call(String(e.nodeName)),y=e.attributes||[],b=0;b",v}if(P0(e)){if(e.length===0)return"[]";var E=_d(e,d);return f&&!K7(E)?"["+R0(E,f)+"]":"[ "+Wn.call(E,", ")+" ]"}if(D7(e)){var S=_d(e,d);return!("cause"in Error.prototype)&&"cause"in e&&!GC.call(e,"cause")?"{ ["+String(e)+"] "+Wn.call(FC.call("[cause]: "+d(e.cause),S),", ")+" }":S.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+Wn.call(S,", ")+" }"}if(typeof e=="object"&&s){if(NC&&typeof e[NC]=="function"&&C0)return C0(e,{depth:u-n});if(s!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(G7(e)){var A=[];return RC&&RC.call(e,function(L,$){A.push(d($,e,!0)+" => "+d(L,e))}),HC("Map",xd.call(e),A,f)}if(q7(e)){var k=[];return MC&&MC.call(e,function(L){k.push(d(L,e))}),HC("Set",Sd.call(e),k,f)}if(z7(e))return A0("WeakMap");if(W7(e))return A0("WeakSet");if(V7(e))return A0("WeakRef");if(j7(e))return Ac(d(Number(e)));if(B7(e))return Ac(d(k0.call(e)));if(N7(e))return Ac(T7.call(e));if(L7(e))return Ac(d(String(e)));if(typeof window!="undefined"&&e===window)return"{ [object Window] }";if(typeof globalThis!="undefined"&&e===globalThis||typeof global!="undefined"&&e===global)return"{ [object globalThis] }";if(!$7(e)&&!BC(e)){var w=_d(e,d),x=DC?DC(e)===Object.prototype:e instanceof Object||e.constructor===Object,_=e instanceof Object?"":"null prototype",T=!x&&Cc&&Object(e)===e&&Cc in e?I0.call(ha(e),8,-1):_?"Object":"",C=x||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",I=C+(T||_?"["+Wn.call(FC.call([],T||[],_||[]),": ")+"] ":"");return w.length===0?I+"{}":f?I+"{"+R0(w,f)+"}":I+"{ "+Wn.call(w,", ")+" }"}return String(e)};function VC(t,e,r){var n=r.quoteStyle||e,i=zC[n];return i+t+i}function F7(t){return da.call(String(t),/"/g,""")}function ts(t){return!Cc||!(typeof t=="object"&&(Cc in t||typeof t[Cc]!="undefined"))}function P0(t){return ha(t)==="[object Array]"&&ts(t)}function $7(t){return ha(t)==="[object Date]"&&ts(t)}function BC(t){return ha(t)==="[object RegExp]"&&ts(t)}function D7(t){return ha(t)==="[object Error]"&&ts(t)}function L7(t){return ha(t)==="[object String]"&&ts(t)}function j7(t){return ha(t)==="[object Number]"&&ts(t)}function N7(t){return ha(t)==="[object Boolean]"&&ts(t)}function qC(t){if(Ro)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!T0)return!1;try{return T0.call(t),!0}catch(e){}return!1}function B7(t){if(!t||typeof t!="object"||!k0)return!1;try{return k0.call(t),!0}catch(e){}return!1}var H7=Object.prototype.hasOwnProperty||function(t){return t in this};function Si(t,e){return H7.call(t,e)}function ha(t){return C7.call(t)}function U7(t){if(t.name)return t.name;var e=R7.call(P7.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function WC(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,n=t.length;re.maxStringLength){var r=t.length-e.maxStringLength,n="... "+r+" more character"+(r>1?"s":"");return YC(I0.call(t,0,e.maxStringLength),e)+n}var i=I7[e.quoteStyle||"single"];i.lastIndex=0;var a=da.call(da.call(t,i,"\\$1"),/[\x00-\x1f]/g,X7);return VC(a,"single",e)}function X7(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+M7.call(e.toString(16))}function Ac(t){return"Object("+t+")"}function A0(t){return t+" { ? }"}function HC(t,e,r,n){var i=n?R0(r,n):Wn.call(r,", ");return t+" ("+e+") {"+i+"}"}function K7(t){for(var e=0;e=0)return!1;return!0}function Z7(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=Wn.call(Array(t.indent+1)," ");else return null;return{base:r,prev:Wn.call(Array(e+1),r)}}function R0(t,e){if(t.length===0)return"";var r=` +`+e.prev+e.base;return r+Wn.call(t,","+r)+` +`+e.prev}function _d(t,e){var r=P0(t),n=[];if(r){n.length=t.length;for(var i=0;i{"use strict";m();var J7=Pc(),Q7=ur(),Ed=function(t,e,r){for(var n=t,i;(i=n.next)!=null;n=i)if(i.key===e)return n.next=i.next,r||(i.next=t.next,t.next=i),i},e9=function(t,e){if(t){var r=Ed(t,e);return r&&r.value}},t9=function(t,e,r){var n=Ed(t,e);n?n.value=r:t.next={key:e,next:t.next,value:r}},r9=function(t,e){return t?!!Ed(t,e):!1},n9=function(t,e){if(t)return Ed(t,e,!0)};KC.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new Q7("Side channel does not contain "+J7(n))},delete:function(n){var i=e&&e.next,a=n9(e,n);return a&&i&&i===a&&(e=void 0),!!a},get:function(n){return e9(e,n)},has:function(n){return r9(e,n)},set:function(n,i){e||(e={next:void 0}),t9(e,n,i)}};return r}});var F0=M((AK,QC)=>{"use strict";m();var i9=Fn(),Rc=xt(),a9=Pc(),s9=ur(),JC=i9("%Map%",!0),o9=Rc("Map.prototype.get",!0),l9=Rc("Map.prototype.set",!0),c9=Rc("Map.prototype.has",!0),u9=Rc("Map.prototype.delete",!0),f9=Rc("Map.prototype.size",!0);QC.exports=!!JC&&function(){var e,r={assert:function(n){if(!r.has(n))throw new s9("Side channel does not contain "+a9(n))},delete:function(n){if(e){var i=u9(e,n);return f9(e)===0&&(e=void 0),i}return!1},get:function(n){if(e)return o9(e,n)},has:function(n){return e?c9(e,n):!1},set:function(n,i){e||(e=new JC),l9(e,n,i)}};return r}});var tP=M((TK,eP)=>{"use strict";m();var d9=Fn(),kd=xt(),h9=Pc(),Ad=F0(),p9=ur(),Mo=d9("%WeakMap%",!0),m9=kd("WeakMap.prototype.get",!0),g9=kd("WeakMap.prototype.set",!0),v9=kd("WeakMap.prototype.has",!0),y9=kd("WeakMap.prototype.delete",!0);eP.exports=Mo?function(){var e,r,n={assert:function(i){if(!n.has(i))throw new p9("Side channel does not contain "+h9(i))},delete:function(i){if(Mo&&i&&(typeof i=="object"||typeof i=="function")){if(e)return y9(e,i)}else if(Ad&&r)return r.delete(i);return!1},get:function(i){return Mo&&i&&(typeof i=="object"||typeof i=="function")&&e?m9(e,i):r&&r.get(i)},has:function(i){return Mo&&i&&(typeof i=="object"||typeof i=="function")&&e?v9(e,i):!!r&&r.has(i)},set:function(i,a){Mo&&i&&(typeof i=="object"||typeof i=="function")?(e||(e=new Mo),g9(e,i,a)):Ad&&(r||(r=Ad()),r.set(i,a))}};return n}:Ad});var $0=M((PK,rP)=>{"use strict";m();var w9=ur(),b9=Pc(),_9=ZC(),x9=F0(),S9=tP(),E9=S9||x9||_9;rP.exports=function(){var e,r={assert:function(n){if(!r.has(n))throw new w9("Side channel does not contain "+b9(n))},delete:function(n){return!!e&&e.delete(n)},get:function(n){return e&&e.get(n)},has:function(n){return!!e&&e.has(n)},set:function(n,i){e||(e=E9()),e.set(n,i)}};return r}});var iP=M((MK,nP)=>{"use strict";m();var A9=Yu(),Mc=$0()(),Ei=ur(),D0={assert:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Ei("`O` is not an object");if(typeof e!="string")throw new Ei("`slot` must be a string");if(Mc.assert(t),!D0.has(t,e))throw new Ei("`"+e+"` is not present on `O`")},get:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Ei("`O` is not an object");if(typeof e!="string")throw new Ei("`slot` must be a string");var r=Mc.get(t);return r&&r["$"+e]},has:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Ei("`O` is not an object");if(typeof e!="string")throw new Ei("`slot` must be a string");var r=Mc.get(t);return!!r&&A9(r,"$"+e)},set:function(t,e,r){if(!t||typeof t!="object"&&typeof t!="function")throw new Ei("`O` is not an object");if(typeof e!="string")throw new Ei("`slot` must be a string");var n=Mc.get(t);n||(n={},Mc.set(t,n)),n["$"+e]=r}};Object.freeze&&Object.freeze(D0);nP.exports=D0});var oP=M((IK,sP)=>{"use strict";m();var Oc=iP(),k9=Bu(),aP=typeof StopIteration=="object"?StopIteration:null;sP.exports=function(e){if(!aP)throw new k9("this environment lacks StopIteration");Oc.set(e,"[[Done]]",!1);var r={next:function(){var i=Oc.get(this,"[[Iterator]]"),a=!!Oc.get(i,"[[Done]]");try{return{done:a,value:a?void 0:i.next()}}catch(s){if(Oc.set(i,"[[Done]]",!0),s!==aP)throw s;return{done:!0,value:void 0}}}};return Oc.set(r,"[[Iterator]]",e),r}});var L0=M(($K,cP)=>{"use strict";m();var lP=xt(),T9=lP("String.prototype.valueOf"),C9=function(e){try{return T9(e),!0}catch(r){return!1}},P9=lP("Object.prototype.toString"),R9="[object String]",M9=zi()();cP.exports=function(e){return typeof e=="string"?!0:!e||typeof e!="object"?!1:M9?C9(e):P9(e)===R9}});var N0=M((LK,dP)=>{"use strict";m();var j0=typeof Map=="function"&&Map.prototype?Map:null,O9=typeof Set=="function"&&Set.prototype?Set:null,Td;j0||(Td=function(e){return!1});var fP=j0?Map.prototype.has:null,uP=O9?Set.prototype.has:null;!Td&&!fP&&(Td=function(e){return!1});dP.exports=Td||function(e){if(!e||typeof e!="object")return!1;try{if(fP.call(e),uP)try{uP.call(e)}catch(r){return!0}return e instanceof j0}catch(r){}return!1}});var H0=M((NK,mP)=>{"use strict";m();var I9=typeof Map=="function"&&Map.prototype?Map:null,B0=typeof Set=="function"&&Set.prototype?Set:null,Cd;B0||(Cd=function(e){return!1});var hP=I9?Map.prototype.has:null,pP=B0?Set.prototype.has:null;!Cd&&!pP&&(Cd=function(e){return!1});mP.exports=Cd||function(e){if(!e||typeof e!="object")return!1;try{if(pP.call(e),hP)try{hP.call(e)}catch(r){return!0}return e instanceof B0}catch(r){}return!1}});var TP=M((HK,Md)=>{"use strict";m();var gP=_0(),vP=oP();Gu()()||xl()()?(Pd=Symbol.iterator,Md.exports=function(e){if(e!=null&&typeof e[Pd]!="undefined")return e[Pd]();if(gP(e))return Array.prototype[Pd].call(e)}):(yP=ju(),wP=L0(),U0=Fn(),bP=U0("%Map%",!0),_P=U0("%Set%",!0),Jr=v0(),G0=Jr("Array.prototype.push"),z0=Jr("String.prototype.charCodeAt"),xP=Jr("String.prototype.slice"),SP=function(e,r){var n=e.length;if(r+1>=n)return r+1;var i=z0(e,r);if(i<55296||i>56319)return r+1;var a=z0(e,r+1);return a<56320||a>57343?r+1:r+2},Rd=function(e){var r=0;return{next:function(){var i=r>=e.length,a;return i||(a=e[r],r+=1),{done:i,value:a}}}},V0=function(e,r){if(yP(e)||gP(e))return Rd(e);if(wP(e)){var n=0;return{next:function(){var a=SP(e,n),s=xP(e,n,a);return n=a,{done:a>e.length,value:s}}}}if(r&&typeof e["_es6-shim iterator_"]!="undefined")return e["_es6-shim iterator_"]()},!bP&&!_P?Md.exports=function(e){if(e!=null)return V0(e,!0)}:(EP=N0(),AP=H0(),q0=Jr("Map.prototype.forEach",!0),W0=Jr("Set.prototype.forEach",!0),(typeof process=="undefined"||!process.versions||!process.versions.node)&&(Y0=Jr("Map.prototype.iterator",!0),X0=Jr("Set.prototype.iterator",!0)),K0=Jr("Map.prototype.@@iterator",!0)||Jr("Map.prototype._es6-shim iterator_",!0),Z0=Jr("Set.prototype.@@iterator",!0)||Jr("Set.prototype._es6-shim iterator_",!0),kP=function(e){if(EP(e)){if(Y0)return vP(Y0(e));if(K0)return K0(e);if(q0){var r=[];return q0(e,function(i,a){G0(r,[a,i])}),Rd(r)}}if(AP(e)){if(X0)return vP(X0(e));if(Z0)return Z0(e);if(W0){var n=[];return W0(e,function(i){G0(n,i)}),Rd(n)}}},Md.exports=function(e){return kP(e)||V0(e)}));var Pd,yP,wP,U0,bP,_P,Jr,G0,z0,xP,SP,Rd,V0,EP,AP,q0,W0,Y0,X0,K0,Z0,kP});var J0=M((GK,PP)=>{"use strict";m();var CP=function(t){return t!==t};PP.exports=function(e,r){return e===0&&r===0?1/e===1/r:!!(e===r||CP(e)&&CP(r))}});var Q0=M((VK,RP)=>{"use strict";m();var F9=J0();RP.exports=function(){return typeof Object.is=="function"?Object.is:F9}});var OP=M((WK,MP)=>{"use strict";m();var $9=Q0(),D9=fa();MP.exports=function(){var e=$9();return D9(Object,{is:e},{is:function(){return Object.is!==e}}),e}});var DP=M((XK,$P)=>{"use strict";m();var L9=fa(),j9=Fa(),N9=J0(),IP=Q0(),B9=OP(),FP=j9(IP(),Object);L9(FP,{getPolyfill:IP,implementation:N9,shim:B9});$P.exports=FP});var tv=M((ZK,BP)=>{"use strict";m();var H9=Fa(),NP=xt(),U9=Fn(),ev=U9("%ArrayBuffer%",!0),Od=NP("ArrayBuffer.prototype.byteLength",!0),G9=NP("Object.prototype.toString"),LP=!!ev&&!Od&&new ev(0).slice,jP=!!LP&&H9(LP);BP.exports=Od||jP?function(e){if(!e||typeof e!="object")return!1;try{return Od?Od(e):jP(e,0),!0}catch(r){return!1}}:ev?function(e){return G9(e)==="[object ArrayBuffer]"}:function(e){return!1}});var GP=M((QK,UP)=>{"use strict";m();var HP=xt(),z9=HP("Date.prototype.getDay"),V9=function(e){try{return z9(e),!0}catch(r){return!1}},q9=HP("Object.prototype.toString"),W9="[object Date]",Y9=zi()();UP.exports=function(e){return typeof e!="object"||e===null?!1:Y9?V9(e):q9(e)===W9}});var av=M((tZ,YP)=>{"use strict";m();var zP=xt(),X9=zi()(),K9=Yu(),Z9=Gi(),iv;X9?(VP=zP("RegExp.prototype.exec"),rv={},Id=function(){throw rv},nv={toString:Id,valueOf:Id},typeof Symbol.toPrimitive=="symbol"&&(nv[Symbol.toPrimitive]=Id),iv=function(e){if(!e||typeof e!="object")return!1;var r=Z9(e,"lastIndex"),n=r&&K9(r,"value");if(!n)return!1;try{VP(e,nv)}catch(i){return i===rv}}):(qP=zP("Object.prototype.toString"),WP="[object RegExp]",iv=function(e){return!e||typeof e!="object"&&typeof e!="function"?!1:qP(e)===WP});var VP,rv,Id,nv,qP,WP;YP.exports=iv});var ZP=M((nZ,KP)=>{"use strict";m();var J9=xt(),XP=J9("SharedArrayBuffer.prototype.byteLength",!0);KP.exports=XP?function(e){if(!e||typeof e!="object")return!1;try{return XP(e),!0}catch(r){return!1}}:function(e){return!1}});var eR=M((aZ,QP)=>{"use strict";m();var JP=xt(),Q9=JP("Number.prototype.toString"),eH=function(e){try{return Q9(e),!0}catch(r){return!1}},tH=JP("Object.prototype.toString"),rH="[object Number]",nH=zi()();QP.exports=function(e){return typeof e=="number"?!0:!e||typeof e!="object"?!1:nH?eH(e):tH(e)===rH}});var nR=M((oZ,rR)=>{"use strict";m();var tR=xt(),iH=tR("Boolean.prototype.toString"),aH=tR("Object.prototype.toString"),sH=function(e){try{return iH(e),!0}catch(r){return!1}},oH="[object Boolean]",lH=zi()();rR.exports=function(e){return typeof e=="boolean"?!0:e===null||typeof e!="object"?!1:lH?sH(e):aH(e)===oH}});var aR=M((cZ,iR)=>{"use strict";m();var cH=xt(),uH=av(),fH=cH("RegExp.prototype.exec"),dH=ur();iR.exports=function(e){if(!uH(e))throw new dH("`regex` must be a RegExp");return function(n){return fH(e,n)!==null}}});var uR=M((fZ,sv)=>{"use strict";m();var cR=xt(),hH=cR("Object.prototype.toString"),pH=Gu()(),mH=aR();pH?(sR=cR("Symbol.prototype.toString"),oR=mH(/^Symbol\(.*\)$/),lR=function(e){return typeof e.valueOf()!="symbol"?!1:oR(sR(e))},sv.exports=function(e){if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||hH(e)!=="[object Symbol]")return!1;try{return lR(e)}catch(r){return!1}}):sv.exports=function(e){return!1};var sR,oR,lR});var hR=M((hZ,dR)=>{"use strict";m();var fR=typeof BigInt!="undefined"&&BigInt;dR.exports=function(){return typeof fR=="function"&&typeof BigInt=="function"&&typeof fR(42)=="bigint"&&typeof BigInt(42)=="bigint"}});var gR=M((mZ,ov)=>{"use strict";m();var gH=hR()();gH?(pR=BigInt.prototype.valueOf,mR=function(e){try{return pR.call(e),!0}catch(r){}return!1},ov.exports=function(e){return e===null||typeof e=="undefined"||typeof e=="boolean"||typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="function"?!1:typeof e=="bigint"?!0:mR(e)}):ov.exports=function(e){return!1};var pR,mR});var yR=M((vZ,vR)=>{"use strict";m();var vH=L0(),yH=eR(),wH=nR(),bH=uR(),_H=gR();vR.exports=function(e){if(e==null||typeof e!="object"&&typeof e!="function")return null;if(vH(e))return"String";if(yH(e))return"Number";if(wH(e))return"Boolean";if(bH(e))return"Symbol";if(_H(e))return"BigInt"}});var _R=M((wZ,bR)=>{"use strict";m();var Fd=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap:null,wR=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet:null,$d;Fd||($d=function(e){return!1});var cv=Fd?Fd.prototype.has:null,lv=wR?wR.prototype.has:null;!$d&&!cv&&($d=function(e){return!1});bR.exports=$d||function(e){if(!e||typeof e!="object")return!1;try{if(cv.call(e,cv),lv)try{lv.call(e,lv)}catch(r){return!0}return e instanceof Fd}catch(r){}return!1}});var SR=M((_Z,fv)=>{"use strict";m();var xH=Fn(),xR=xt(),SH=xH("%WeakSet%",!0),uv=xR("WeakSet.prototype.has",!0);uv?(Dd=xR("WeakMap.prototype.has",!0),fv.exports=function(e){if(!e||typeof e!="object")return!1;try{if(uv(e,uv),Dd)try{Dd(e,Dd)}catch(r){return!0}return e instanceof SH}catch(r){}return!1}):fv.exports=function(e){return!1};var Dd});var AR=M((SZ,ER)=>{"use strict";m();var EH=N0(),AH=H0(),kH=_R(),TH=SR();ER.exports=function(e){if(e&&typeof e=="object"){if(EH(e))return"Map";if(AH(e))return"Set";if(kH(e))return"WeakMap";if(TH(e))return"WeakSet"}return!1}});var CR=M((AZ,TR)=>{"use strict";m();var CH=xt(),kR=CH("ArrayBuffer.prototype.byteLength",!0),PH=tv();TR.exports=function(e){return PH(e)?kR?kR(e):e.byteLength:NaN}});var QR=M((TZ,JR)=>{"use strict";m();var XR=cC(),Yn=v0(),PR=kC(),RH=Fn(),Oo=TP(),MH=$0(),RR=DP(),MR=_0(),OR=ju(),IR=tv(),FR=GP(),$R=av(),DR=ZP(),LR=yd(),jR=yR(),NR=AR(),BR=Kp(),HR=CR(),UR=Yn("SharedArrayBuffer.prototype.byteLength",!0),GR=Yn("Date.prototype.getTime"),dv=Object.getPrototypeOf,zR=Yn("Object.prototype.toString"),jd=RH("%Set%",!0),hv=Yn("Map.prototype.has",!0),Nd=Yn("Map.prototype.get",!0),VR=Yn("Map.prototype.size",!0),Bd=Yn("Set.prototype.add",!0),KR=Yn("Set.prototype.delete",!0),Hd=Yn("Set.prototype.has",!0),Ld=Yn("Set.prototype.size",!0);function qR(t,e,r,n){for(var i=Oo(t),a;(a=i.next())&&!a.done;)if(gn(e,a.value,r,n))return KR(t,a.value),!0;return!1}function ZR(t){if(typeof t=="undefined")return null;if(typeof t!="object")return typeof t=="symbol"?!1:typeof t=="string"||typeof t=="number"?+t==+t:!0}function OH(t,e,r,n,i,a){var s=ZR(r);if(s!=null)return s;var o=Nd(e,s),l=XR({},i,{strict:!1});return typeof o=="undefined"&&!hv(e,s)||!gn(n,o,l,a)?!1:!hv(t,s)&&gn(n,o,l,a)}function IH(t,e,r){var n=ZR(r);return n!=null?n:Hd(e,n)&&!Hd(t,n)}function WR(t,e,r,n,i,a){for(var s=Oo(t),o,l;(o=s.next())&&!o.done;)if(l=o.value,gn(r,l,i,a)&&gn(n,Nd(e,l),i,a))return KR(t,l),!0;return!1}function gn(t,e,r,n){var i=r||{};if(i.strict?RR(t,e):t===e)return!0;var a=jR(t),s=jR(e);if(a!==s)return!1;if(!t||!e||typeof t!="object"&&typeof e!="object")return i.strict?RR(t,e):t==e;var o=n.has(t),l=n.has(e),c;if(o&&l){if(n.get(t)===n.get(e))return!0}else c={};return o||n.set(t,c),l||n.set(e,c),DH(t,e,i,n)}function YR(t){return!t||typeof t!="object"||typeof t.length!="number"||typeof t.copy!="function"||typeof t.slice!="function"||t.length>0&&typeof t[0]!="number"?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}function FH(t,e,r,n){if(Ld(t)!==Ld(e))return!1;for(var i=Oo(t),a=Oo(e),s,o,l;(s=i.next())&&!s.done;)if(s.value&&typeof s.value=="object")l||(l=new jd),Bd(l,s.value);else if(!Hd(e,s.value)){if(r.strict||!IH(t,e,s.value))return!1;l||(l=new jd),Bd(l,s.value)}if(l){for(;(o=a.next())&&!o.done;)if(o.value&&typeof o.value=="object"){if(!qR(l,o.value,r.strict,n))return!1}else if(!r.strict&&!Hd(t,o.value)&&!qR(l,o.value,r.strict,n))return!1;return Ld(l)===0}return!0}function $H(t,e,r,n){if(VR(t)!==VR(e))return!1;for(var i=Oo(t),a=Oo(e),s,o,l,c,u,f;(s=i.next())&&!s.done;)if(c=s.value[0],u=s.value[1],c&&typeof c=="object")l||(l=new jd),Bd(l,c);else if(f=Nd(e,c),typeof f=="undefined"&&!hv(e,c)||!gn(u,f,r,n)){if(r.strict||!OH(t,e,c,u,r,n))return!1;l||(l=new jd),Bd(l,c)}if(l){for(;(o=a.next())&&!o.done;)if(c=o.value[0],f=o.value[1],c&&typeof c=="object"){if(!WR(l,t,c,f,r,n))return!1}else if(!r.strict&&(!t.has(c)||!gn(Nd(t,c),f,r,n))&&!WR(l,t,c,f,XR({},r,{strict:!1}),n))return!1;return Ld(l)===0}return!0}function DH(t,e,r,n){var i,a;if(typeof t!=typeof e||t==null||e==null||zR(t)!==zR(e)||MR(t)!==MR(e))return!1;var s=OR(t),o=OR(e);if(s!==o)return!1;var l=t instanceof Error,c=e instanceof Error;if(l!==c||(l||c)&&(t.name!==e.name||t.message!==e.message))return!1;var u=$R(t),f=$R(e);if(u!==f||(u||f)&&(t.source!==e.source||PR(t)!==PR(e)))return!1;var d=FR(t),h=FR(e);if(d!==h||(d||h)&&GR(t)!==GR(e)||r.strict&&dv&&dv(t)!==dv(e))return!1;var p=BR(t),g=BR(e);if(p!==g)return!1;if(p||g){if(t.length!==e.length)return!1;for(i=0;i=0;i--)if(k[i]!=w[i])return!1;for(i=k.length-1;i>=0;i--)if(a=k[i],!gn(t[a],e[a],r,n))return!1;var x=NR(t),_=NR(e);return x!==_?!1:x==="Set"||_==="Set"?FH(t,e,r,n):x==="Map"?$H(t,e,r,n):!0}JR.exports=function(e,r,n){return gn(e,r,n,MH())}});var _v=M((exports,module)=>{m();(function(){"use strict";var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&typeof module=="object"&&module.exports,AMD=typeof define=="function"&&define.amd,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer!="undefined",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(t){return Object.prototype.toString.call(t)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(t){return typeof t=="object"&&t.buffer&&t.buffer.constructor===ArrayBuffer});var createOutputMethod=function(t,e){return function(r){return new Sha256(e,!0).update(r)[t]()}},createMethod=function(t){var e=createOutputMethod("hex",t);NODE_JS&&(e=nodeWrap(e,t)),e.create=function(){return new Sha256(t)},e.update=function(i){return e.create().update(i)};for(var r=0;r>2]|=t[i]<>2]|=n<>2]|=(192|n>>6)<>2]|=(128|n&63)<=57344?(o[a>>2]|=(224|n>>12)<>2]|=(128|n>>6&63)<>2]|=(128|n&63)<>2]|=(240|n>>18)<>2]|=(128|n>>12&63)<>2]|=(128|n>>6&63)<>2]|=(128|n&63)<=64?(this.block=o[16],this.start=a-64,this.hash(),this.hashed=!0):this.start=a}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex;t[16]=this.block,t[e>>2]|=EXTRA[e&3],this.block=t[16],e>=56&&(this.hashed||this.hash(),t[0]=this.block,t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0),t[14]=this.hBytes<<3|this.bytes>>>29,t[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var t=this.h0,e=this.h1,r=this.h2,n=this.h3,i=this.h4,a=this.h5,s=this.h6,o=this.h7,l=this.blocks,c,u,f,d,h,p,g,v,y,b,E;for(c=16;c<64;++c)h=l[c-15],u=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,h=l[c-2],f=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,l[c]=l[c-16]+u+l[c-7]+f<<0;for(E=e&r,c=0;c<64;c+=4)this.first?(this.is224?(v=300032,h=l[0]-1413257819,o=h-150054599<<0,n=h+24177077<<0):(v=704751109,h=l[0]-210244248,o=h-1521486534<<0,n=h+143694565<<0),this.first=!1):(u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),f=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),v=t&e,d=v^t&r^E,g=i&a^~i&s,h=o+f+g+K[c]+l[c],p=u+d,o=n+h<<0,n=h+p<<0),u=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),f=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),y=n&t,d=y^n&e^v,g=o&i^~o&a,h=s+f+g+K[c+1]+l[c+1],p=u+d,s=r+h<<0,r=h+p<<0,u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),f=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),b=r&n,d=b^r&t^y,g=s&o^~s&i,h=a+f+g+K[c+2]+l[c+2],p=u+d,a=e+h<<0,e=h+p<<0,u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),f=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),E=e&r,d=E^e&n^b,g=a&s^~a&o,h=i+f+g+K[c+3]+l[c+3],p=u+d,i=t+h<<0,t=h+p<<0;this.h0=this.h0+t<<0,this.h1=this.h1+e<<0,this.h2=this.h2+r<<0,this.h3=this.h3+n<<0,this.h4=this.h4+i<<0,this.h5=this.h5+a<<0,this.h6=this.h6+s<<0,this.h7=this.h7+o<<0},Sha256.prototype.hex=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,n=this.h3,i=this.h4,a=this.h5,s=this.h6,o=this.h7,l=HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15]+HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15];return this.is224||(l+=HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]),l},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,n=this.h3,i=this.h4,a=this.h5,s=this.h6,o=this.h7,l=[t>>24&255,t>>16&255,t>>8&255,t&255,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24&255,r>>16&255,r>>8&255,r&255,n>>24&255,n>>16&255,n>>8&255,n&255,i>>24&255,i>>16&255,i>>8&255,i&255,a>>24&255,a>>16&255,a>>8&255,a&255,s>>24&255,s>>16&255,s>>8&255,s&255];return this.is224||l.push(o>>24&255,o>>16&255,o>>8&255,o&255),l},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(this.is224?28:32),e=new DataView(t);return e.setUint32(0,this.h0),e.setUint32(4,this.h1),e.setUint32(8,this.h2),e.setUint32(12,this.h3),e.setUint32(16,this.h4),e.setUint32(20,this.h5),e.setUint32(24,this.h6),this.is224||e.setUint32(28,this.h7),t};function HmacSha256(t,e,r){var n,i=typeof t;if(i==="string"){var a=[],s=t.length,o=0,l;for(n=0;n>6,a[o++]=128|l&63):l<55296||l>=57344?(a[o++]=224|l>>12,a[o++]=128|l>>6&63,a[o++]=128|l&63):(l=65536+((l&1023)<<10|t.charCodeAt(++n)&1023),a[o++]=240|l>>18,a[o++]=128|l>>12&63,a[o++]=128|l>>6&63,a[o++]=128|l&63);t=a}else if(i==="object"){if(t===null)throw new Error(ERROR);if(ARRAY_BUFFER&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(t)))throw new Error(ERROR)}else throw new Error(ERROR);t.length>64&&(t=new Sha256(e,!0).update(t).array());var c=[],u=[];for(n=0;n<64;++n){var f=t[n]||0;c[n]=92^f,u[n]=54^f}Sha256.call(this,e,r),this.update(u),this.oKeyPad=c,this.inner=!0,this.sharedMemory=r}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(t),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&define(function(){return exports}))})()});var bM=M(Wv=>{m();(function(t){var e=/\S/,r=/\"/g,n=/\n/g,i=/\r/g,a=/\\/g,s=/\u2028/,o=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(x,_){var T=x.length,C=0,I=1,L=2,$=C,J=null,de=null,le="",ce=[],Te=!1,ne=0,N=0,W="{{",B="}}";function $e(){le.length>0&&(ce.push({tag:"_t",text:new String(le)}),le="")}function lr(){for(var Oe=!0,De=N;De"&&(Le.indent=ce[Pt].text.toString()),ce.splice(Pt,1));else De||ce.push({tag:` +`});Te=!1,N=ce.length}function X(Oe,De){var Pt="="+B,Le=Oe.indexOf(Pt,De),U=c(Oe.substring(Oe.indexOf("=",De)+1,Le)).split(" ");return W=U[0],B=U[U.length-1],Le+Pt.length-1}for(_&&(_=_.split(" "),W=_[0],B=_[1]),ne=0;ne0;){if($=w.shift(),L&&L.tag=="<"&&!($.tag in f))throw new Error("Illegal content in < super tag.");if(t.tags[$.tag]<=t.tags.$||h($,T))_.push($),$.nodes=d(w,$.tag,_,T);else if($.tag=="/"){if(_.length===0)throw new Error("Closing tag without opener: /"+$.n);if(I=_.pop(),$.n!=I.n&&!p($.n,I.n,T))throw new Error("Nesting error: "+I.n+" vs. "+$.n);return I.end=$.i,C}else $.tag==` +`&&($.last=w.length==0||w[0].tag==` +`);C.push($)}if(_.length>0)throw new Error("missing closing tag: "+_.pop().n);return C}function h(w,x){for(var _=0,T=x.length;_":S,"<":function(w,x){var _={partials:{},code:"",subs:{},inPartial:!0};t.walk(w.nodes,_);var T=x.partials[S(w,x)];T.subs=_.subs,T.partials=_.partials},$:function(w,x){var _={subs:{},code:"",partials:x.partials,prefix:w.n};t.walk(w.nodes,_),x.subs[w.n]=_.code,x.inPartial||(x.code+='t.sub("'+b(w.n)+'",c,p,i);')},"\n":function(w,x){x.code+=k('"\\n"'+(w.last?"":" + i"))},_v:function(w,x){x.code+="t.b(t.v(t."+E(w.n)+'("'+b(w.n)+'",c,p,0)));'},_t:function(w,x){x.code+=k('"'+b(w.text)+'"')},"{":A,"&":A};function A(w,x){x.code+="t.b(t.t(t."+E(w.n)+'("'+b(w.n)+'",c,p,0)));'}function k(w){return"t.b("+w+");"}t.walk=function(w,x){for(var _,T=0,C=w.length;T{m();var BU={};(function(t){t.Template=function(d,h,p,g){d=d||{},this.r=d.code||this.r,this.c=p,this.options=g||{},this.text=h||"",this.partials=d.partials||{},this.subs=d.subs||{},this.buf=""},t.Template.prototype={r:function(d,h,p){return""},v:u,t:c,render:function(h,p,g){return this.ri([h],p||{},g)},ri:function(d,h,p){return this.r(d,h,p)},ep:function(d,h){var p=this.partials[d],g=h[p.name];if(p.instance&&p.base==g)return p.instance;if(typeof g=="string"){if(!this.c)throw new Error("No compiler available.");g=this.c.compile(g,this.options)}if(!g)return null;if(this.partials[d].base=g,p.subs){h.stackText||(h.stackText={});for(key in p.subs)h.stackText[key]||(h.stackText[key]=this.activeSub!==void 0&&h.stackText[this.activeSub]?h.stackText[this.activeSub]:this.text);g=r(g,p.subs,p.partials,this.stackSubs,this.stackPartials,h.stackText)}return this.partials[d].instance=g,g},rp:function(d,h,p,g){var v=this.ep(d,p);return v?v.ri(h,p,g):""},rs:function(d,h,p){var g=d[d.length-1];if(!f(g)){p(d,h,this);return}for(var v=0;v=0;S--)if(y=h[S],v=e(d,y,E),v!==void 0){b=!0;break}return b?(!g&&typeof v=="function"&&(v=this.mv(v,h,p)),v):g?!1:""},ls:function(d,h,p,g,v){var y=this.options.delimiters;return this.options.delimiters=v,this.b(this.ct(c(d.call(h,g)),h,p)),this.options.delimiters=y,!1},ct:function(d,h,p){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(d,this.options).render(h,p)},b:function(d){this.buf+=d},fl:function(){var d=this.buf;return this.buf="",d},ms:function(d,h,p,g,v,y,b){var E,S=h[h.length-1],A=d.call(S);return typeof A=="function"?g?!0:(E=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(A,S,p,E.substring(v,y),b)):A},mv:function(d,h,p){var g=h[h.length-1],v=d.call(g);return typeof v=="function"?this.ct(c(v.call(g)),g,p):v},sub:function(d,h,p,g){var v=this.subs[d];v&&(this.activeSub=d,v(h,p,this,g),this.activeSub=!1)}};function e(d,h,p){var g;return h&&typeof h=="object"&&(h[d]!==void 0?g=h[d]:p&&h.get&&typeof h.get=="function"&&(g=h.get(d))),g}function r(d,h,p,g,v,y){function b(){}b.prototype=d;function E(){}E.prototype=d.subs;var S,A=new b;A.subs=new E,A.subsText={},A.buf="",g=g||{},A.stackSubs=g,A.subsText=y;for(S in h)g[S]||(g[S]=h[S]);for(S in g)A.subs[S]=g[S];v=v||{},A.stackPartials=v;for(S in p)v[S]||(v[S]=p[S]);for(S in v)A.partials[S]=v[S];return A}var n=/&/g,i=//g,s=/\'/g,o=/\"/g,l=/[&<>\"\']/;function c(d){return String(d==null?"":d)}function u(d){return d=c(d),l.test(d)?d.replace(n,"&").replace(i,"<").replace(a,">").replace(s,"'").replace(o,"""):d}var f=Array.isArray||function(d){return Object.prototype.toString.call(d)==="[object Array]"}})(typeof Yv!="undefined"?Yv:BU)});var Xv=M(($ee,xM)=>{m();var _h=bM();_h.Template=_M().Template;_h.template=_h.Template;xM.exports=_h});var R5=M((Eu,uy)=>{m();(function(e,r){typeof Eu=="object"&&typeof uy=="object"?uy.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Eu=="object"?Eu.feather=r():e.feather=r()})(typeof self!="undefined"?self:Eu,function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(n,i,a){r.o(n,i)||Object.defineProperty(n,i,{configurable:!1,enumerable:!0,get:a})},r.r=function(n){Object.defineProperty(n,"__esModule",{value:!0})},r.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(i,"a",i),i},r.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},r.p="",r(r.s=0)}({"./dist/icons.json":function(t){t.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"divide-circle":'',"divide-square":'',divide:'',"dollar-sign":'',"download-cloud":'',download:'',dribbble:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',framer:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',table:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',tool:'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitch:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},"./node_modules/classnames/dedupe.js":function(t,e,r){var n,i;(function(){"use strict";var a=function(){function s(){}s.prototype=Object.create(null);function o(g,v){for(var y=v.length,b=0;b1?arguments[1]:void 0,v=g!==void 0,y=0,b=c(d),E,S,A,k;if(v&&(g=n(g,p>2?arguments[2]:void 0,2)),b!=null&&!(h==Array&&s(b)))for(k=b.call(d),S=new h;!(A=k.next()).done;y++)l(S,y,v?a(k,g,[A.value,y],!0):A.value);else for(E=o(d.length),S=new h(E);E>y;y++)l(S,y,v?g(d[y],y):d[y]);return S.length=y,S}},"./node_modules/core-js/internals/array-includes.js":function(t,e,r){var n=r("./node_modules/core-js/internals/to-indexed-object.js"),i=r("./node_modules/core-js/internals/to-length.js"),a=r("./node_modules/core-js/internals/to-absolute-index.js");t.exports=function(s){return function(o,l,c){var u=n(o),f=i(u.length),d=a(c,f),h;if(s&&l!=l){for(;f>d;)if(h=u[d++],h!=h)return!0}else for(;f>d;d++)if((s||d in u)&&u[d]===l)return s||d||0;return!s&&-1}}},"./node_modules/core-js/internals/bind-context.js":function(t,e,r){var n=r("./node_modules/core-js/internals/a-function.js");t.exports=function(i,a,s){if(n(i),a===void 0)return i;switch(s){case 0:return function(){return i.call(a)};case 1:return function(o){return i.call(a,o)};case 2:return function(o,l){return i.call(a,o,l)};case 3:return function(o,l,c){return i.call(a,o,l,c)}}return function(){return i.apply(a,arguments)}}},"./node_modules/core-js/internals/call-with-safe-iteration-closing.js":function(t,e,r){var n=r("./node_modules/core-js/internals/an-object.js");t.exports=function(i,a,s,o){try{return o?a(n(s)[0],s[1]):a(s)}catch(c){var l=i.return;throw l!==void 0&&n(l.call(i)),c}}},"./node_modules/core-js/internals/check-correctness-of-iteration.js":function(t,e,r){var n=r("./node_modules/core-js/internals/well-known-symbol.js"),i=n("iterator"),a=!1;try{var s=0,o={next:function(){return{done:!!s++}},return:function(){a=!0}};o[i]=function(){return this},Array.from(o,function(){throw 2})}catch(l){}t.exports=function(l,c){if(!c&&!a)return!1;var u=!1;try{var f={};f[i]=function(){return{next:function(){return{done:u=!0}}}},l(f)}catch(d){}return u}},"./node_modules/core-js/internals/classof-raw.js":function(t,e){var r={}.toString;t.exports=function(n){return r.call(n).slice(8,-1)}},"./node_modules/core-js/internals/classof.js":function(t,e,r){var n=r("./node_modules/core-js/internals/classof-raw.js"),i=r("./node_modules/core-js/internals/well-known-symbol.js"),a=i("toStringTag"),s=n(function(){return arguments}())=="Arguments",o=function(l,c){try{return l[c]}catch(u){}};t.exports=function(l){var c,u,f;return l===void 0?"Undefined":l===null?"Null":typeof(u=o(c=Object(l),a))=="string"?u:s?n(c):(f=n(c))=="Object"&&typeof c.callee=="function"?"Arguments":f}},"./node_modules/core-js/internals/copy-constructor-properties.js":function(t,e,r){var n=r("./node_modules/core-js/internals/has.js"),i=r("./node_modules/core-js/internals/own-keys.js"),a=r("./node_modules/core-js/internals/object-get-own-property-descriptor.js"),s=r("./node_modules/core-js/internals/object-define-property.js");t.exports=function(o,l){for(var c=i(l),u=s.f,f=a.f,d=0;d",E="java"+y+":",S;for(p.style.display="none",o.appendChild(p),p.src=String(E),S=p.contentWindow.document,S.open(),S.write(v+y+b+"document.F=Object"+v+"/"+y+b),S.close(),h=S.F;g--;)delete h[f][a[g]];return h()};t.exports=Object.create||function(g,v){var y;return g!==null?(d[f]=n(g),y=new d,d[f]=null,y[u]=g):y=h(),v===void 0?y:i(y,v)},s[u]=!0},"./node_modules/core-js/internals/object-define-properties.js":function(t,e,r){var n=r("./node_modules/core-js/internals/descriptors.js"),i=r("./node_modules/core-js/internals/object-define-property.js"),a=r("./node_modules/core-js/internals/an-object.js"),s=r("./node_modules/core-js/internals/object-keys.js");t.exports=n?Object.defineProperties:function(l,c){a(l);for(var u=s(c),f=u.length,d=0,h;f>d;)i.f(l,h=u[d++],c[h]);return l}},"./node_modules/core-js/internals/object-define-property.js":function(t,e,r){var n=r("./node_modules/core-js/internals/descriptors.js"),i=r("./node_modules/core-js/internals/ie8-dom-define.js"),a=r("./node_modules/core-js/internals/an-object.js"),s=r("./node_modules/core-js/internals/to-primitive.js"),o=Object.defineProperty;e.f=n?o:function(c,u,f){if(a(c),u=s(u,!0),a(f),i)try{return o(c,u,f)}catch(d){}if("get"in f||"set"in f)throw TypeError("Accessors not supported");return"value"in f&&(c[u]=f.value),c}},"./node_modules/core-js/internals/object-get-own-property-descriptor.js":function(t,e,r){var n=r("./node_modules/core-js/internals/descriptors.js"),i=r("./node_modules/core-js/internals/object-property-is-enumerable.js"),a=r("./node_modules/core-js/internals/create-property-descriptor.js"),s=r("./node_modules/core-js/internals/to-indexed-object.js"),o=r("./node_modules/core-js/internals/to-primitive.js"),l=r("./node_modules/core-js/internals/has.js"),c=r("./node_modules/core-js/internals/ie8-dom-define.js"),u=Object.getOwnPropertyDescriptor;e.f=n?u:function(d,h){if(d=s(d),h=o(h,!0),c)try{return u(d,h)}catch(p){}if(l(d,h))return a(!i.f.call(d,h),d[h])}},"./node_modules/core-js/internals/object-get-own-property-names.js":function(t,e,r){var n=r("./node_modules/core-js/internals/object-keys-internal.js"),i=r("./node_modules/core-js/internals/enum-bug-keys.js"),a=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(o){return n(o,a)}},"./node_modules/core-js/internals/object-get-own-property-symbols.js":function(t,e){e.f=Object.getOwnPropertySymbols},"./node_modules/core-js/internals/object-get-prototype-of.js":function(t,e,r){var n=r("./node_modules/core-js/internals/has.js"),i=r("./node_modules/core-js/internals/to-object.js"),a=r("./node_modules/core-js/internals/shared-key.js"),s=r("./node_modules/core-js/internals/correct-prototype-getter.js"),o=a("IE_PROTO"),l=Object.prototype;t.exports=s?Object.getPrototypeOf:function(c){return c=i(c),n(c,o)?c[o]:typeof c.constructor=="function"&&c instanceof c.constructor?c.constructor.prototype:c instanceof Object?l:null}},"./node_modules/core-js/internals/object-keys-internal.js":function(t,e,r){var n=r("./node_modules/core-js/internals/has.js"),i=r("./node_modules/core-js/internals/to-indexed-object.js"),a=r("./node_modules/core-js/internals/array-includes.js"),s=r("./node_modules/core-js/internals/hidden-keys.js"),o=a(!1);t.exports=function(l,c){var u=i(l),f=0,d=[],h;for(h in u)!n(s,h)&&n(u,h)&&d.push(h);for(;c.length>f;)n(u,h=c[f++])&&(~o(d,h)||d.push(h));return d}},"./node_modules/core-js/internals/object-keys.js":function(t,e,r){var n=r("./node_modules/core-js/internals/object-keys-internal.js"),i=r("./node_modules/core-js/internals/enum-bug-keys.js");t.exports=Object.keys||function(s){return n(s,i)}},"./node_modules/core-js/internals/object-property-is-enumerable.js":function(t,e,r){"use strict";var n={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,a=i&&!n.call({1:2},1);e.f=a?function(o){var l=i(this,o);return!!l&&l.enumerable}:n},"./node_modules/core-js/internals/object-set-prototype-of.js":function(t,e,r){var n=r("./node_modules/core-js/internals/validate-set-prototype-of-arguments.js");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var i=!1,a={},s;try{s=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,s.call(a,[]),i=a instanceof Array}catch(o){}return function(l,c){return n(l,c),i?s.call(l,c):l.__proto__=c,l}}():void 0)},"./node_modules/core-js/internals/own-keys.js":function(t,e,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/object-get-own-property-names.js"),a=r("./node_modules/core-js/internals/object-get-own-property-symbols.js"),s=r("./node_modules/core-js/internals/an-object.js"),o=n.Reflect;t.exports=o&&o.ownKeys||function(c){var u=i.f(s(c)),f=a.f;return f?u.concat(f(c)):u}},"./node_modules/core-js/internals/path.js":function(t,e,r){t.exports=r("./node_modules/core-js/internals/global.js")},"./node_modules/core-js/internals/redefine.js":function(t,e,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/shared.js"),a=r("./node_modules/core-js/internals/hide.js"),s=r("./node_modules/core-js/internals/has.js"),o=r("./node_modules/core-js/internals/set-global.js"),l=r("./node_modules/core-js/internals/function-to-string.js"),c=r("./node_modules/core-js/internals/internal-state.js"),u=c.get,f=c.enforce,d=String(l).split("toString");i("inspectSource",function(h){return l.call(h)}),(t.exports=function(h,p,g,v){var y=v?!!v.unsafe:!1,b=v?!!v.enumerable:!1,E=v?!!v.noTargetGet:!1;if(typeof g=="function"&&(typeof p=="string"&&!s(g,"name")&&a(g,"name",p),f(g).source=d.join(typeof p=="string"?p:"")),h===n){b?h[p]=g:o(p,g);return}else y?!E&&h[p]&&(b=!0):delete h[p];b?h[p]=g:a(h,p,g)})(Function.prototype,"toString",function(){return typeof this=="function"&&u(this).source||l.call(this)})},"./node_modules/core-js/internals/require-object-coercible.js":function(t,e){t.exports=function(r){if(r==null)throw TypeError("Can't call method on "+r);return r}},"./node_modules/core-js/internals/set-global.js":function(t,e,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/hide.js");t.exports=function(a,s){try{i(n,a,s)}catch(o){n[a]=s}return s}},"./node_modules/core-js/internals/set-to-string-tag.js":function(t,e,r){var n=r("./node_modules/core-js/internals/object-define-property.js").f,i=r("./node_modules/core-js/internals/has.js"),a=r("./node_modules/core-js/internals/well-known-symbol.js"),s=a("toStringTag");t.exports=function(o,l,c){o&&!i(o=c?o:o.prototype,s)&&n(o,s,{configurable:!0,value:l})}},"./node_modules/core-js/internals/shared-key.js":function(t,e,r){var n=r("./node_modules/core-js/internals/shared.js"),i=r("./node_modules/core-js/internals/uid.js"),a=n("keys");t.exports=function(s){return a[s]||(a[s]=i(s))}},"./node_modules/core-js/internals/shared.js":function(t,e,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/set-global.js"),a=r("./node_modules/core-js/internals/is-pure.js"),s="__core-js_shared__",o=n[s]||i(s,{});(t.exports=function(l,c){return o[l]||(o[l]=c!==void 0?c:{})})("versions",[]).push({version:"3.1.3",mode:a?"pure":"global",copyright:"\xA9 2019 Denis Pushkarev (zloirock.ru)"})},"./node_modules/core-js/internals/string-at.js":function(t,e,r){var n=r("./node_modules/core-js/internals/to-integer.js"),i=r("./node_modules/core-js/internals/require-object-coercible.js");t.exports=function(a,s,o){var l=String(i(a)),c=n(s),u=l.length,f,d;return c<0||c>=u?o?"":void 0:(f=l.charCodeAt(c),f<55296||f>56319||c+1===u||(d=l.charCodeAt(c+1))<56320||d>57343?o?l.charAt(c):f:o?l.slice(c,c+2):(f-55296<<10)+(d-56320)+65536)}},"./node_modules/core-js/internals/to-absolute-index.js":function(t,e,r){var n=r("./node_modules/core-js/internals/to-integer.js"),i=Math.max,a=Math.min;t.exports=function(s,o){var l=n(s);return l<0?i(l+o,0):a(l,o)}},"./node_modules/core-js/internals/to-indexed-object.js":function(t,e,r){var n=r("./node_modules/core-js/internals/indexed-object.js"),i=r("./node_modules/core-js/internals/require-object-coercible.js");t.exports=function(a){return n(i(a))}},"./node_modules/core-js/internals/to-integer.js":function(t,e){var r=Math.ceil,n=Math.floor;t.exports=function(i){return isNaN(i=+i)?0:(i>0?n:r)(i)}},"./node_modules/core-js/internals/to-length.js":function(t,e,r){var n=r("./node_modules/core-js/internals/to-integer.js"),i=Math.min;t.exports=function(a){return a>0?i(n(a),9007199254740991):0}},"./node_modules/core-js/internals/to-object.js":function(t,e,r){var n=r("./node_modules/core-js/internals/require-object-coercible.js");t.exports=function(i){return Object(n(i))}},"./node_modules/core-js/internals/to-primitive.js":function(t,e,r){var n=r("./node_modules/core-js/internals/is-object.js");t.exports=function(i,a){if(!n(i))return i;var s,o;if(a&&typeof(s=i.toString)=="function"&&!n(o=s.call(i))||typeof(s=i.valueOf)=="function"&&!n(o=s.call(i))||!a&&typeof(s=i.toString)=="function"&&!n(o=s.call(i)))return o;throw TypeError("Can't convert object to primitive value")}},"./node_modules/core-js/internals/uid.js":function(t,e){var r=0,n=Math.random();t.exports=function(i){return"Symbol(".concat(i===void 0?"":i,")_",(++r+n).toString(36))}},"./node_modules/core-js/internals/validate-set-prototype-of-arguments.js":function(t,e,r){var n=r("./node_modules/core-js/internals/is-object.js"),i=r("./node_modules/core-js/internals/an-object.js");t.exports=function(a,s){if(i(a),!n(s)&&s!==null)throw TypeError("Can't set "+String(s)+" as a prototype")}},"./node_modules/core-js/internals/well-known-symbol.js":function(t,e,r){var n=r("./node_modules/core-js/internals/global.js"),i=r("./node_modules/core-js/internals/shared.js"),a=r("./node_modules/core-js/internals/uid.js"),s=r("./node_modules/core-js/internals/native-symbol.js"),o=n.Symbol,l=i("wks");t.exports=function(c){return l[c]||(l[c]=s&&o[c]||(s?o:a)("Symbol."+c))}},"./node_modules/core-js/modules/es.array.from.js":function(t,e,r){var n=r("./node_modules/core-js/internals/export.js"),i=r("./node_modules/core-js/internals/array-from.js"),a=r("./node_modules/core-js/internals/check-correctness-of-iteration.js"),s=!a(function(o){Array.from(o)});n({target:"Array",stat:!0,forced:s},{from:i})},"./node_modules/core-js/modules/es.string.iterator.js":function(t,e,r){"use strict";var n=r("./node_modules/core-js/internals/string-at.js"),i=r("./node_modules/core-js/internals/internal-state.js"),a=r("./node_modules/core-js/internals/define-iterator.js"),s="String Iterator",o=i.set,l=i.getterFor(s);a(String,"String",function(c){o(this,{type:s,string:String(c),index:0})},function(){var u=l(this),f=u.string,d=u.index,h;return d>=f.length?{value:void 0,done:!0}:(h=n(f,d,!0),u.index+=h.length,{value:h,done:!1})})},"./node_modules/webpack/buildin/global.js":function(t,e){var r;r=function(){return this}();try{r=r||Function("return this")()||(0,eval)("this")}catch(n){typeof window=="object"&&(r=window)}t.exports=r},"./src/default-attrs.json":function(t){t.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},"./src/icon.js":function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=Object.assign||function(h){for(var p=1;p2&&arguments[2]!==void 0?arguments[2]:[];u(this,h),this.name=p,this.contents=g,this.tags=v,this.attrs=n({},l.default,{class:"feather feather-"+p})}return i(h,[{key:"toSvg",value:function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},v=n({},this.attrs,g,{class:(0,s.default)(this.attrs.class,g.class)});return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),h}();function d(h){return Object.keys(h).map(function(p){return p+'="'+h[p]+'"'}).join(" ")}e.default=f},"./src/icons.js":function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r("./src/icon.js"),i=c(n),a=r("./dist/icons.json"),s=c(a),o=r("./src/tags.json"),l=c(o);function c(u){return u&&u.__esModule?u:{default:u}}e.default=Object.keys(s.default).map(function(u){return new i.default(u,s.default[u],l.default[u])}).reduce(function(u,f){return u[f.name]=f,u},{})},"./src/index.js":function(t,e,r){"use strict";var n=r("./src/icons.js"),i=c(n),a=r("./src/to-svg.js"),s=c(a),o=r("./src/replace.js"),l=c(o);function c(u){return u&&u.__esModule?u:{default:u}}t.exports={icons:i.default,toSvg:s.default,replace:l.default}},"./src/replace.js":function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=Object.assign||function(d){for(var h=1;h0&&arguments[0]!==void 0?arguments[0]:{};if(typeof document=="undefined")throw new Error("`feather.replace()` only works in a browser environment.");var h=document.querySelectorAll("[data-feather]");Array.from(h).forEach(function(p){return u(p,d)})}function u(d){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p=f(d),g=p["data-feather"];if(delete p["data-feather"],o.default[g]===void 0){console.warn("feather: '"+g+"' is not a valid icon");return}var v=o.default[g].toSvg(n({},h,p,{class:(0,a.default)(h.class,p.class)})),y=new DOMParser().parseFromString(v,"image/svg+xml"),b=y.querySelector("svg");d.parentNode.replaceChild(b,d)}function f(d){return Array.from(d.attributes).reduce(function(h,p){return h[p.name]=p.value,h},{})}e.default=c},"./src/tags.json":function(t){t.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning","alert","danger"],"alert-octagon":["warning","alert","danger"],"alert-triangle":["warning","alert","danger"],"align-center":["text alignment","center"],"align-justify":["text alignment","justified"],"align-left":["text alignment","left"],"align-right":["text alignment","right"],anchor:[],archive:["index","box"],"at-sign":["mention","at","email","message"],award:["achievement","badge"],aperture:["camera","photo"],"bar-chart":["statistics","diagram","graph"],"bar-chart-2":["statistics","diagram","graph"],battery:["power","electricity"],"battery-charging":["power","electricity"],bell:["alarm","notification","sound"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read","library"],book:["read","dictionary","booklet","magazine","library"],bookmark:["read","clip","marker","tag"],box:["cube"],briefcase:["work","bag","baggage","folder"],calendar:["date"],camera:["photo"],cast:["chromecast","airplay"],"chevron-down":["expand"],"chevron-up":["collapse"],circle:["off","zero","record"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],code:["source","programming"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],columns:["layout"],command:["keyboard","cmd","terminal","prompt"],compass:["navigation","safari","travel","direction"],copy:["clone","duplicate"],"corner-down-left":["arrow","return"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],cpu:["processor","technology"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage","memory"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch","hide","hidden"],"external-link":["outbound"],facebook:["logo","social"],"fast-forward":["music"],figma:["logo","design","tool"],"file-minus":["delete","remove","erase"],"file-plus":["add","create","new"],"file-text":["data","txt","pdf"],film:["movie","video"],filter:["funnel","hopper"],flag:["report"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],framer:["logo","design","tool"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],globe:["world","browser","language","translate"],"hard-drive":["computer","server","memory","data"],hash:["hashtag","number","pound"],headphones:["music","audio","sound"],heart:["like","love","emotion"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house","living"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication","secure"],layers:["stack"],layout:["window","webpage"],"life-buoy":["help","life ring","support"],link:["chain","url"],"link-2":["chain","url"],linkedin:["logo","social media"],list:["options"],lock:["security","password","secure"],"log-in":["sign in","arrow","enter"],"log-out":["sign out","arrow","exit"],mail:["email","message"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows","expand"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record","sound","mute"],mic:["record","sound","listen"],minimize:["exit fullscreen","close"],"minimize-2":["exit fullscreen","arrows","close"],minus:["subtract"],monitor:["tv","screen","display"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],music:["note"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box","container"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","audio","stop"],"pen-tool":["vector","drawing"],percent:["discount"],"phone-call":["ring"],"phone-forwarded":["call"],"phone-incoming":["call"],"phone-missed":["call"],"phone-off":["call","mute"],"phone-outgoing":["call"],phone:["call"],play:["music","start"],"pie-chart":["statistics","diagram"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],printer:["fax","office","device"],radio:["signal"],"refresh-cw":["synchronise","arrows"],"refresh-ccw":["arrows"],repeat:["loop","arrows"],rewind:["music"],"rotate-ccw":["arrow"],"rotate-cw":["arrow"],rss:["feed","subscribe"],save:["floppy disk"],scissors:["cut"],search:["find","magnifier","magnifying glass"],send:["message","mail","email","paper airplane","paper aeroplane"],settings:["cog","edit","gear","preferences"],"share-2":["network","connections"],shield:["security","secure"],"shield-off":["security","insecure"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slack:["logo"],slash:["ban","no"],sliders:["settings","controls"],smartphone:["cellphone","device"],smile:["emoji","face","happy","good","emotion"],speaker:["audio","music"],star:["bookmark","favorite","like"],"stop-circle":["media","music"],sun:["brightness","weather","light"],sunrise:["weather","time","morning","day"],sunset:["weather","time","evening","night"],tablet:["device"],tag:["label"],target:["logo","bullseye"],terminal:["code","command line","prompt"],thermometer:["temperature","celsius","fahrenheit","weather"],"thumbs-down":["dislike","bad","emotion"],"thumbs-up":["like","good","emotion"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],tool:["settings","spanner"],trash:["garbage","delete","remove","bin"],"trash-2":["garbage","delete","remove","bin"],triangle:["delta"],truck:["delivery","van","shipping","transport","lorry"],tv:["television","stream"],twitch:["logo"],twitter:["logo","social"],type:["text"],umbrella:["rain","weather"],unlock:["security"],"user-check":["followed","subscribed"],"user-minus":["delete","remove","unfollow","unsubscribe"],"user-plus":["new","add","create","follow","subscribe"],"user-x":["delete","remove","unfollow","unsubscribe","unavailable"],user:["person","account"],users:["group"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],"wifi-off":["disabled"],wifi:["connection","signal","wireless"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times","clear"],"x-octagon":["delete","stop","alert","warning","times","clear"],"x-square":["cancel","close","delete","remove","times","clear"],x:["cancel","close","delete","remove","times","clear"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"],"zoom-in":["magnifying glass"],"zoom-out":["magnifying glass"]}},"./src/to-svg.js":function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r("./src/icons.js"),i=a(n);function a(o){return o&&o.__esModule?o:{default:o}}function s(o){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!o)throw new Error("The required `key` (icon name) parameter is missing.");if(!i.default[o])throw new Error("No icon matching '"+o+"'. See the complete list of icons at https://feathericons.com");return i.default[o].toSvg(l)}e.default=s},0:function(t,e,r){r("./node_modules/core-js/es/array/from.js"),t.exports=r("./src/index.js")}})})});var OV={};rI(OV,{default:()=>vp});module.exports=nI(OV);m();var D5=Ot(gg()),we=require("obsidian"),L5=Ot(require("path"));m();var is=require("obsidian");m();var p3=Ot(Gf()),Fr=Ot(require("fs/promises")),Ti=require("obsidian"),Ve=Ot(require("path")),Dc=require("path");m();var rd=Ot(RE(),1),Qf=Ot(Gf(),1),tk=require("child_process"),jk=Ot(yg(),1),Eo=Ot(yg(),1),uT=require("node:events"),jg=Object.defineProperty,fL=Object.getOwnPropertyDescriptor,Ng=Object.getOwnPropertyNames,dL=Object.prototype.hasOwnProperty,q=(t,e)=>function(){return t&&(e=(0,t[Ng(t)[0]])(t=0)),e},hL=(t,e)=>function(){return e||(0,t[Ng(t)[0]])((e={exports:{}}).exports,e),e.exports},ft=(t,e)=>{for(var r in e)jg(t,r,{get:e[r],enumerable:!0})},pL=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ng(e))!dL.call(t,i)&&i!==r&&jg(t,i,{get:()=>e[i],enumerable:!(n=fL(e,i))||n.enumerable});return t},it=t=>pL(jg({},"__esModule",{value:!0}),t);function mL(...t){let e=new String(t);return td.set(e,t),e}function Kf(t){return t instanceof String&&td.has(t)}function ME(t){return td.get(t)||[]}var td,pc=q({"src/lib/args/pathspec.ts"(){"use strict";td=new WeakMap}}),wr,la=q({"src/lib/errors/git-error.ts"(){"use strict";wr=class extends Error{constructor(t,e){super(e),this.task=t,Object.setPrototypeOf(this,new.target.prototype)}}}}),mc,ko=q({"src/lib/errors/git-response-error.ts"(){"use strict";la(),mc=class extends wr{constructor(t,e){super(void 0,e||String(t)),this.git=t}}}}),lA,cA=q({"src/lib/errors/task-configuration-error.ts"(){"use strict";la(),lA=class extends wr{constructor(t){super(void 0,t)}}}});function uA(t){return typeof t!="function"?Qa:t}function fA(t){return typeof t=="function"&&t!==Qa}function dA(t,e){let r=t.indexOf(e);return r<=0?[t,""]:[t.substr(0,r),t.substr(r+1)]}function hA(t,e=0){return pA(t)&&t.length>e?t[e]:void 0}function Ja(t,e=0){if(pA(t)&&t.length>e)return t[t.length-1-e]}function pA(t){return!!(t&&typeof t.length=="number")}function gc(t="",e=!0,r=` +`){return t.split(r).reduce((n,i)=>{let a=e?i.trim():i;return a&&n.push(a),n},[])}function Bg(t,e){return gc(t,!0).map(r=>e(r))}function Hg(t){return(0,rd.exists)(t,rd.FOLDER)}function Me(t,e){return Array.isArray(t)?t.includes(e)||t.push(e):t.add(e),e}function mA(t,e){return Array.isArray(t)&&!t.includes(e)&&t.push(e),t}function nd(t,e){if(Array.isArray(t)){let r=t.indexOf(e);r>=0&&t.splice(r,1)}else t.delete(e);return e}function Vn(t){return Array.isArray(t)?t:[t]}function gA(t){return t.replace(/[\s-]+(.)/g,(e,r)=>r.toUpperCase())}function vA(t){return Vn(t).map(String)}function He(t,e=0){if(t==null)return e;let r=parseInt(t,10);return isNaN(r)?e:r}function dc(t,e){let r=[];for(let n=0,i=t.length;nr in t?{[r]:t[r]}:{}))}function Ag(t=0){return new Promise(e=>setTimeout(e,t))}function kg(t){if(t!==!1)return t}var Ao,Qa,vc,id=q({"src/lib/utils/util.ts"(){"use strict";Ao="\0",Qa=()=>{},vc=Object.prototype.toString.call.bind(Object.prototype.toString)}});function qn(t,e,r){return e(t)?t:arguments.length>2?r:void 0}function Tg(t,e){let r=Kf(t)?"string":typeof t;return/number|string|boolean/.test(r)&&(!e||!e.includes(r))}function ad(t){return!!t&&vc(t)==="[object Object]"}function wA(t){return typeof t=="function"}var yc,Vt,bA,Zf,Ug,_A=q({"src/lib/utils/argument-filters.ts"(){"use strict";id(),pc(),yc=t=>Array.isArray(t),Vt=t=>typeof t=="string",bA=t=>Array.isArray(t)&&t.every(Vt),Zf=t=>Vt(t)||Array.isArray(t)&&t.every(Vt),Ug=t=>t==null||"number|boolean|function".includes(typeof t)?!1:Array.isArray(t)||typeof t=="string"||typeof t.length=="number"}}),Cg,gL=q({"src/lib/utils/exit-codes.ts"(){"use strict";Cg=(t=>(t[t.SUCCESS=0]="SUCCESS",t[t.ERROR=1]="ERROR",t[t.NOT_FOUND=-2]="NOT_FOUND",t[t.UNCLEAN=128]="UNCLEAN",t))(Cg||{})}}),Jf,vL=q({"src/lib/utils/git-output-streams.ts"(){"use strict";Jf=class xA{constructor(e,r){this.stdOut=e,this.stdErr=r}asStrings(){return new xA(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}}),me,oa,yL=q({"src/lib/utils/line-parser.ts"(){"use strict";me=class{constructor(t,e){this.matches=[],this.parse=(r,n)=>(this.resetMatches(),this._regExp.every((i,a)=>this.addMatch(i,a,r(a)))?this.useMatches(n,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(t)?t:[t],e&&(this.useMatches=e)}useMatches(t,e){throw new Error("LineParser:useMatches not implemented")}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(t,e,r){let n=r&&t.exec(r);return n&&this.pushMatch(e,n),!!n}pushMatch(t,e){this.matches.push(...e.slice(1))}},oa=class extends me{addMatch(t,e,r){return/^remote:\s/.test(String(r))&&super.addMatch(t,e,r)}pushMatch(t,e){(t>0||e.length>1)&&super.pushMatch(t,e)}}}});function SA(...t){let e=process.cwd(),r=Object.assign({baseDir:e,...EA},...t.filter(n=>typeof n=="object"&&n));return r.baseDir=r.baseDir||e,r.trimmed=r.trimmed===!0,r}var EA,wL=q({"src/lib/utils/simple-git-options.ts"(){"use strict";EA={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function Gg(t,e=[]){return ad(t)?Object.keys(t).reduce((r,n)=>{let i=t[n];if(Kf(i))r.push(i);else if(Tg(i,["boolean"]))r.push(n+"="+i);else if(Array.isArray(i))for(let a of i)Tg(a,["string","number"])||r.push(n+"="+a);else r.push(n);return r},e):e}function vr(t,e=0,r=!1){let n=[];for(let i=0,a=e<0?t.length:e;i{for(let a=gc(i,n),s=0,o=a.length;s{if(!(s+c>=o))return a[s+c]};e.some(({parse:c})=>c(l,t))}}),t}var xL=q({"src/lib/utils/task-parser.ts"(){"use strict";id()}}),AA={};ft(AA,{ExitCodes:()=>Cg,GitOutputStreams:()=>Jf,LineParser:()=>me,NOOP:()=>Qa,NULL:()=>Ao,RemoteLineParser:()=>oa,append:()=>Me,appendTaskOptions:()=>Gg,asArray:()=>Vn,asCamelCase:()=>gA,asFunction:()=>uA,asNumber:()=>He,asStringArray:()=>vA,bufferToString:()=>hc,callTaskParser:()=>Pg,createInstanceConfig:()=>SA,delay:()=>Ag,filterArray:()=>yc,filterFunction:()=>wA,filterHasLength:()=>Ug,filterPlainObject:()=>ad,filterPrimitives:()=>Tg,filterString:()=>Vt,filterStringArray:()=>bA,filterStringOrStringArray:()=>Zf,filterType:()=>qn,first:()=>hA,folderExists:()=>Hg,forEachLineWithContent:()=>Bg,getTrailingOptions:()=>vr,including:()=>mA,isUserFunction:()=>fA,last:()=>Ja,objectToString:()=>vc,orVoid:()=>kg,parseStringResponse:()=>br,pick:()=>yA,prefixedArray:()=>dc,remove:()=>nd,splitOn:()=>dA,toLinesWithContent:()=>gc,trailingFunctionArgument:()=>at,trailingOptionsArgument:()=>zg});var he=q({"src/lib/utils/index.ts"(){"use strict";_A(),gL(),vL(),yL(),wL(),_L(),xL(),id()}}),kA={};ft(kA,{CheckRepoActions:()=>Rg,checkIsBareRepoTask:()=>CA,checkIsRepoRootTask:()=>TA,checkIsRepoTask:()=>SL});function SL(t){switch(t){case"bare":return CA();case"root":return TA()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:sd,parser:Vg}}function TA(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:sd,parser(e){return/^\.(git)?$/.test(e.trim())}}}function CA(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:sd,parser:Vg}}function EL(t){return/(Not a git repository|Kein Git-Repository)/i.test(String(t))}var Rg,sd,Vg,PA=q({"src/lib/tasks/check-is-repo.ts"(){"use strict";he(),Rg=(t=>(t.BARE="bare",t.IN_TREE="tree",t.IS_REPO_ROOT="root",t))(Rg||{}),sd=({exitCode:t},e,r,n)=>{if(t===128&&EL(e))return r(Buffer.from("false"));n(e)},Vg=t=>t.trim()==="true"}});function AL(t,e){let r=new RA(t),n=t?OA:MA;return gc(e).forEach(i=>{let a=i.replace(n,"");r.paths.push(a),(IA.test(a)?r.folders:r.files).push(a)}),r}var RA,MA,OA,IA,kL=q({"src/lib/responses/CleanSummary.ts"(){"use strict";he(),RA=class{constructor(t){this.dryRun=t,this.paths=[],this.files=[],this.folders=[]}},MA=/^[a-z]+\s*/i,OA=/^[a-z]+\s+[a-z]+\s*/i,IA=/\/$/}}),Mg={};ft(Mg,{EMPTY_COMMANDS:()=>od,adhocExecTask:()=>FA,configurationErrorTask:()=>yr,isBufferTask:()=>DA,isEmptyTask:()=>LA,straightThroughBufferTask:()=>$A,straightThroughStringTask:()=>rr});function FA(t){return{commands:od,format:"empty",parser:t}}function yr(t){return{commands:od,format:"empty",parser(){throw typeof t=="string"?new lA(t):t}}}function rr(t,e=!1){return{commands:t,format:"utf-8",parser(r){return e?String(r).trim():r}}}function $A(t){return{commands:t,format:"buffer",parser(e){return e}}}function DA(t){return t.format==="buffer"}function LA(t){return t.format==="empty"||!t.commands.length}var od,ut=q({"src/lib/tasks/task.ts"(){"use strict";cA(),od=[]}}),jA={};ft(jA,{CONFIG_ERROR_INTERACTIVE_MODE:()=>qg,CONFIG_ERROR_MODE_REQUIRED:()=>Wg,CONFIG_ERROR_UNKNOWN_OPTION:()=>Yg,CleanOptions:()=>qf,cleanTask:()=>NA,cleanWithOptionsTask:()=>TL,isCleanOptionsArray:()=>CL});function TL(t,e){let{cleanMode:r,options:n,valid:i}=PL(t);return r?i.options?(n.push(...e),n.some(OL)?yr(qg):NA(r,n)):yr(Yg+JSON.stringify(t)):yr(Wg)}function NA(t,e){return{commands:["clean",`-${t}`,...e],format:"utf-8",parser(n){return AL(t==="n",n)}}}function CL(t){return Array.isArray(t)&&t.every(e=>Xg.has(e))}function PL(t){let e,r=[],n={cleanMode:!1,options:!0};return t.replace(/[^a-z]i/g,"").split("").forEach(i=>{RL(i)?(e=i,n.cleanMode=!0):n.options=n.options&&ML(r[r.length]=`-${i}`)}),{cleanMode:e,options:r,valid:n}}function RL(t){return t==="f"||t==="n"}function ML(t){return/^-[a-z]$/i.test(t)&&Xg.has(t.charAt(1))}function OL(t){return/^-[^\-]/.test(t)?t.indexOf("i")>0:t==="--interactive"}var qg,Wg,Yg,qf,Xg,BA=q({"src/lib/tasks/clean.ts"(){"use strict";kL(),he(),ut(),qg="Git clean interactive mode is not supported",Wg='Git clean mode parameter ("n" or "f") is required',Yg="Git clean unknown option found in: ",qf=(t=>(t.DRY_RUN="n",t.FORCE="f",t.IGNORED_INCLUDED="x",t.IGNORED_ONLY="X",t.EXCLUDING="e",t.QUIET="q",t.RECURSIVE="d",t))(qf||{}),Xg=new Set(["i",...vA(Object.values(qf))])}});function IL(t){let e=new UA;for(let r of HA(t))e.addValue(r.file,String(r.key),r.value);return e}function FL(t,e){let r=null,n=[],i=new Map;for(let a of HA(t,e))a.key===e&&(n.push(r=a.value),i.has(a.file)||i.set(a.file,[]),i.get(a.file).push(r));return{key:e,paths:Array.from(i.keys()),scopes:i,value:r,values:n}}function $L(t){return t.replace(/^(file):/,"")}function*HA(t,e=null){let r=t.split("\0");for(let n=0,i=r.length-1;nObject.assign(t,this.values[e]),{})),this._all}addFile(t){if(!(t in this.values)){let e=Ja(this.files);this.values[t]=e?Object.create(this.values[e]):{},this.files.push(t)}return this.values[t]}addValue(t,e,r){let n=this.addFile(t);n.hasOwnProperty(e)?Array.isArray(n[e])?n[e].push(r):n[e]=[n[e],r]:n[e]=r,this._all=void 0}}}});function wg(t,e){return typeof t=="string"&&Og.hasOwnProperty(t)?t:e}function LL(t,e,r,n){let i=["config",`--${n}`];return r&&i.push("--add"),i.push(t,e),{commands:i,format:"utf-8",parser(a){return a}}}function jL(t,e){let r=["config","--null","--show-origin","--get-all",t];return e&&r.splice(1,0,`--${e}`),{commands:r,format:"utf-8",parser(n){return FL(n,t)}}}function NL(t){let e=["config","--list","--show-origin","--null"];return t&&e.push(`--${t}`),{commands:e,format:"utf-8",parser(r){return IL(r)}}}function BL(){return{addConfig(t,e,...r){return this._runTask(LL(t,e,r[0]===!0,wg(r[1],"local")),at(arguments))},getConfig(t,e){return this._runTask(jL(t,wg(e,void 0)),at(arguments))},listConfig(...t){return this._runTask(NL(wg(t[0],void 0)),at(arguments))}}}var Og,GA=q({"src/lib/tasks/config.ts"(){"use strict";DL(),he(),Og=(t=>(t.system="system",t.global="global",t.local="local",t.worktree="worktree",t))(Og||{})}});function HL(t){return zA.has(t)}var bg,zA,VA=q({"src/lib/tasks/diff-name-status.ts"(){"use strict";bg=(t=>(t.ADDED="A",t.COPIED="C",t.DELETED="D",t.MODIFIED="M",t.RENAMED="R",t.CHANGED="T",t.UNMERGED="U",t.UNKNOWN="X",t.BROKEN="B",t))(bg||{}),zA=new Set(Object.values(bg))}});function UL(...t){return new WA().param(...t)}function GL(t){let e=new Set,r={};return Bg(t,n=>{let[i,a,s]=n.split(Ao);e.add(i),(r[i]=r[i]||[]).push({line:He(a),path:i,preview:s})}),{paths:e,results:r}}function zL(){return{grep(t){let e=at(arguments),r=vr(arguments);for(let i of qA)if(r.includes(i))return this._runTask(yr(`git.grep: use of "${i}" is not supported.`),e);typeof t=="string"&&(t=UL().param(t));let n=["grep","--null","-n","--full-name",...r,...t];return this._runTask({commands:n,format:"utf-8",parser(i){return GL(i)}},e)}}}var qA,fc,OE,WA,YA=q({"src/lib/tasks/grep.ts"(){"use strict";he(),ut(),qA=["-h"],fc=Symbol("grepQuery"),WA=class{constructor(){this[OE]=[]}*[(OE=fc,Symbol.iterator)](){for(let t of this[fc])yield t}and(...t){return t.length&&this[fc].push("--and","(",...dc(t,"-e"),")"),this}param(...t){return this[fc].push(...dc(t,"-e")),this}}}}),XA={};ft(XA,{ResetMode:()=>Wf,getResetMode:()=>qL,resetTask:()=>VL});function VL(t,e){let r=["reset"];return KA(t)&&r.push(`--${t}`),r.push(...e),rr(r)}function qL(t){if(KA(t))return t;switch(typeof t){case"string":case"undefined":return"soft"}}function KA(t){return ZA.includes(t)}var Wf,ZA,JA=q({"src/lib/tasks/reset.ts"(){"use strict";ut(),Wf=(t=>(t.MIXED="mixed",t.SOFT="soft",t.HARD="hard",t.MERGE="merge",t.KEEP="keep",t))(Wf||{}),ZA=Array.from(Object.values(Wf))}});function WL(){return(0,Qf.default)("simple-git")}function IE(t,e,r){return!e||!String(e).replace(/\s*/,"")?r?(n,...i)=>{t(n,...i),r(n,...i)}:t:(n,...i)=>{t(`%s ${n}`,e,...i),r&&r(n,...i)}}function YL(t,e,{namespace:r}){if(typeof t=="string")return t;let n=e&&e.namespace||"";return n.startsWith(r)?n.substr(r.length+1):n||r}function Kg(t,e,r,n=WL()){let i=t&&`[${t}]`||"",a=[],s=typeof e=="string"?n.extend(e):e,o=YL(qn(e,Vt),s,n);return c(r);function l(u,f){return Me(a,Kg(t,o.replace(/^[^:]+/,u),f,n))}function c(u){let f=u&&`[${u}]`||"",d=s&&IE(s,f)||Qa,h=IE(n,`${i} ${f}`,d);return Object.assign(s?d:h,{label:t,sibling:l,info:h,step:c})}}var QA=q({"src/lib/git-logger.ts"(){"use strict";he(),Qf.default.formatters.L=t=>String(Ug(t)?t.length:"-"),Qf.default.formatters.B=t=>Buffer.isBuffer(t)?t.toString("utf8"):vc(t)}}),ek,XL=q({"src/lib/runners/tasks-pending-queue.ts"(){"use strict";var t;la(),QA(),ek=(t=class{constructor(r="GitExecutor"){this.logLabel=r,this._queue=new Map}withProgress(r){return this._queue.get(r)}createProgress(r){let n=t.getName(r.commands[0]),i=Kg(this.logLabel,n);return{task:r,logger:i,name:n}}push(r){let n=this.createProgress(r);return n.logger("Adding task to the queue, commands = %o",r.commands),this._queue.set(r,n),n}fatal(r){for(let[n,{logger:i}]of Array.from(this._queue.entries()))n===r.task?(i.info("Failed %o",r),i("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):i.info("A fatal exception occurred in a previous task, the queue has been purged: %o",r.message),this.complete(n);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(r){this.withProgress(r)&&this._queue.delete(r)}attempt(r){let n=this.withProgress(r);if(!n)throw new wr(void 0,"TasksPendingQueue: attempt called for an unknown task");return n.logger("Starting task"),n}static getName(r="empty"){return`task:${r}:${++t.counter}`}},t.counter=0,t)}});function Za(t,e){return{method:hA(t.commands)||"",commands:e}}function KL(t,e){return r=>{e("[ERROR] child process exception %o",r),t.push(Buffer.from(String(r.stack),"ascii"))}}function FE(t,e,r,n){return i=>{r("%s received %L bytes",e,i),n("%B",i),t.push(i)}}var Ig,ZL=q({"src/lib/runners/git-executor-chain.ts"(){"use strict";la(),ut(),he(),XL(),Ig=class{constructor(t,e,r){this._executor=t,this._scheduler=e,this._plugins=r,this._chain=Promise.resolve(),this._queue=new ek}get cwd(){return this._cwd||this._executor.cwd}set cwd(t){this._cwd=t}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(t){return this._queue.push(t),this._chain=this._chain.then(()=>this.attemptTask(t))}async attemptTask(t){let e=await this._scheduler.next(),r=()=>this._queue.complete(t);try{let{logger:n}=this._queue.attempt(t);return await(LA(t)?this.attemptEmptyTask(t,n):this.attemptRemoteTask(t,n))}catch(n){throw this.onFatalException(t,n)}finally{r(),e()}}onFatalException(t,e){let r=e instanceof wr?Object.assign(e,{task:t}):new wr(t,e&&String(e));return this._chain=Promise.resolve(),this._queue.fatal(r),r}async attemptRemoteTask(t,e){let r=this._plugins.exec("spawn.binary","",Za(t,t.commands)),n=this._plugins.exec("spawn.args",[...t.commands],Za(t,t.commands)),i=await this.gitResponse(t,r,n,this.outputHandler,e.step("SPAWN")),a=await this.handleTaskData(t,n,i,e.step("HANDLE"));return e("passing response to task's parser as a %s",t.format),DA(t)?Pg(t.parser,a):Pg(t.parser,a.asStrings())}async attemptEmptyTask(t,e){return e("empty task bypassing child process to call to task's parser"),t.parser(this)}handleTaskData(t,e,r,n){let{exitCode:i,rejection:a,stdOut:s,stdErr:o}=r;return new Promise((l,c)=>{n("Preparing to handle process response exitCode=%d stdOut=",i);let{error:u}=this._plugins.exec("task.error",{error:a},{...Za(t,e),...r});if(u&&t.onError)return n.info("exitCode=%s handling with custom error handler"),t.onError(r,u,f=>{n.info("custom error handler treated as success"),n("custom error returned a %s",vc(f)),l(new Jf(Array.isArray(f)?Buffer.concat(f):f,Buffer.concat(o)))},c);if(u)return n.info("handling as error: exitCode=%s stdErr=%s rejection=%o",i,o.length,a),c(u);n.info("retrieving task output complete"),l(new Jf(Buffer.concat(s),Buffer.concat(o)))})}async gitResponse(t,e,r,n,i){let a=i.sibling("output"),s=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},Za(t,t.commands));return new Promise(o=>{let l=[],c=[];i.info("%s %o",e,r),i("%O",s);let u=this._beforeSpawn(t,r);if(u)return o({stdOut:l,stdErr:c,exitCode:9901,rejection:u});this._plugins.exec("spawn.before",void 0,{...Za(t,r),kill(d){u=d||u}});let f=(0,tk.spawn)(e,r,s);f.stdout.on("data",FE(l,"stdOut",i,a.step("stdOut"))),f.stderr.on("data",FE(c,"stdErr",i,a.step("stdErr"))),f.on("error",KL(c,i)),n&&(i("Passing child process stdOut/stdErr to custom outputHandler"),n(e,f.stdout,f.stderr,[...r])),this._plugins.exec("spawn.after",void 0,{...Za(t,r),spawned:f,close(d,h){o({stdOut:l,stdErr:c,exitCode:d,rejection:u||h})},kill(d){f.killed||(u=d,f.kill("SIGINT"))}})})}_beforeSpawn(t,e){let r;return this._plugins.exec("spawn.before",void 0,{...Za(t,e),kill(n){r=n||r}}),r}}}}),rk={};ft(rk,{GitExecutor:()=>nk});var nk,JL=q({"src/lib/runners/git-executor.ts"(){"use strict";ZL(),nk=class{constructor(t,e,r){this.cwd=t,this._scheduler=e,this._plugins=r,this._chain=new Ig(this,this._scheduler,this._plugins)}chain(){return new Ig(this,this._scheduler,this._plugins)}push(t){return this._chain.push(t)}}}});function QL(t,e,r=Qa){let n=a=>{r(null,a)},i=a=>{(a==null?void 0:a.task)===t&&r(a instanceof mc?ej(a):a,void 0)};e.then(n,i)}function ej(t){let e=n=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${n} should be GitResponseError.git.${n}, this will no longer be available in version 3`),e=Qa};return Object.create(t,Object.getOwnPropertyNames(t.git).reduce(r,{}));function r(n,i){return i in t||(n[i]={enumerable:!1,configurable:!1,get(){return e(i),t.git[i]}}),n}}var tj=q({"src/lib/task-callback.ts"(){"use strict";ko(),he()}});function $E(t,e){return FA(r=>{if(!Hg(t))throw new Error(`Git.cwd: cannot change to non-directory "${t}"`);return(e||r).cwd=t})}var rj=q({"src/lib/tasks/change-working-directory.ts"(){"use strict";he(),ut()}});function _g(t){let e=["checkout",...t];return e[1]==="-b"&&e.includes("-B")&&(e[1]=nd(e,"-B")),rr(e)}function nj(){return{checkout(){return this._runTask(_g(vr(arguments,1)),at(arguments))},checkoutBranch(t,e){return this._runTask(_g(["-b",t,e,...vr(arguments)]),at(arguments))},checkoutLocalBranch(t){return this._runTask(_g(["-b",t,...vr(arguments)]),at(arguments))}}}var ij=q({"src/lib/tasks/checkout.ts"(){"use strict";he(),ut()}});function aj(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function sj(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(t){return br(aj(),[ik],t)}})}}}var ik,oj=q({"src/lib/tasks/count-objects.ts"(){"use strict";he(),ik=new me(/([a-z-]+): (\d+)$/,(t,[e,r])=>{let n=gA(e);t.hasOwnProperty(n)&&(t[n]=He(r))})}});function lj(t){return br({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},ak,t)}var ak,cj=q({"src/lib/parsers/parse-commit.ts"(){"use strict";he(),ak=[new me(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(t,[e,r,n])=>{t.branch=e,t.commit=n,t.root=!!r}),new me(/\s*Author:\s(.+)/i,(t,[e])=>{let r=e.split("<"),n=r.pop();!n||!n.includes("@")||(t.author={email:n.substr(0,n.length-1),name:r.join("<").trim()})}),new me(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(t,[e,r,n])=>{t.summary.changes=parseInt(e,10)||0,t.summary.insertions=parseInt(r,10)||0,t.summary.deletions=parseInt(n,10)||0}),new me(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(t,[e,r,n])=>{t.summary.changes=parseInt(e,10)||0;let i=parseInt(r,10)||0;n==="-"?t.summary.deletions=i:n==="+"&&(t.summary.insertions=i)})]}});function uj(t,e,r){return{commands:["-c","core.abbrev=40","commit",...dc(t,"-m"),...e,...r],format:"utf-8",parser:lj}}function fj(){return{commit(e,...r){let n=at(arguments),i=t(e)||uj(Vn(e),Vn(qn(r[0],Zf,[])),[...qn(r[1],yc,[]),...vr(arguments,0,!0)]);return this._runTask(i,n)}};function t(e){return!Zf(e)&&yr("git.commit: requires the commit message to be supplied as a string/string[]")}}var dj=q({"src/lib/tasks/commit.ts"(){"use strict";cj(),he(),ut()}});function hj(){return{firstCommit(){return this._runTask(rr(["rev-list","--max-parents=0","HEAD"],!0),at(arguments))}}}var pj=q({"src/lib/tasks/first-commit.ts"(){"use strict";he(),ut()}});function mj(t,e){let r=["hash-object",t];return e&&r.push("-w"),rr(r,!0)}var gj=q({"src/lib/tasks/hash-object.ts"(){"use strict";ut()}});function vj(t,e,r){let n=String(r).trim(),i;if(i=sk.exec(n))return new Yf(t,e,!1,i[1]);if(i=ok.exec(n))return new Yf(t,e,!0,i[1]);let a="",s=n.split(" ");for(;s.length;)if(s.shift()==="in"){a=s.join(" ");break}return new Yf(t,e,/^re/i.test(n),a)}var Yf,sk,ok,yj=q({"src/lib/responses/InitSummary.ts"(){"use strict";Yf=class{constructor(t,e,r,n){this.bare=t,this.path=e,this.existing=r,this.gitDir=n}},sk=/^Init.+ repository in (.+)$/,ok=/^Rein.+ in (.+)$/}});function wj(t){return t.includes(Zg)}function bj(t=!1,e,r){let n=["init",...r];return t&&!wj(n)&&n.splice(1,0,Zg),{commands:n,format:"utf-8",parser(i){return vj(n.includes("--bare"),e,i)}}}var Zg,_j=q({"src/lib/tasks/init.ts"(){"use strict";yj(),Zg="--bare"}});function Jg(t){for(let e=0;ebr(new lk,e,r,!1)}var xg,DE,LE,jE,uk,fk=q({"src/lib/parsers/parse-diff-summary.ts"(){"use strict";wc(),Sj(),VA(),he(),xg=[new me(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(t,[e,r,n=""])=>{t.files.push({file:e.trim(),changes:He(r),insertions:n.replace(/[^+]/g,"").length,deletions:n.replace(/[^-]/g,"").length,binary:!1})}),new me(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(t,[e,r,n])=>{t.files.push({file:e.trim(),before:He(r),after:He(n),binary:!0})}),new me(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(t,[e,r])=>{let n=/(\d+) i/.exec(r),i=/(\d+) d/.exec(r);t.changed=He(e),t.insertions=He(n==null?void 0:n[1]),t.deletions=He(i==null?void 0:i[1])})],DE=[new me(/(\d+)\t(\d+)\t(.+)$/,(t,[e,r,n])=>{let i=He(e),a=He(r);t.changed++,t.insertions+=i,t.deletions+=a,t.files.push({file:n,changes:i+a,insertions:i,deletions:a,binary:!1})}),new me(/-\t-\t(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,after:0,before:0,binary:!0})})],LE=[new me(/(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})})],jE=[new me(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(t,[e,r,n,i,a])=>{t.changed++,t.files.push({file:a!=null?a:n,changes:0,insertions:0,deletions:0,binary:!1,status:kg(HL(e)&&e),from:kg(!!a&&n!==a&&n),similarity:He(r)})})],uk={"":xg,"--stat":xg,"--numstat":DE,"--name-status":jE,"--name-only":LE}}});function Ej(t,e){return e.reduce((r,n,i)=>(r[n]=t[i]||"",r),Object.create({diff:null}))}function dk(t=r0,e=hk,r=""){let n=ck(r);return function(i){let a=gc(i.trim(),!1,e0).map(function(s){let o=s.split(t0),l=Ej(o[0].split(t),e);return o.length>1&&o[1].trim()&&(l.diff=n(o[1])),l});return{all:a,latest:a.length&&a[0]||null,total:a.length}}}var e0,t0,r0,hk,pk=q({"src/lib/parsers/parse-list-log-summary.ts"(){"use strict";he(),fk(),wc(),e0="\xF2\xF2\xF2\xF2\xF2\xF2 ",t0=" \xF2\xF2",r0=" \xF2 ",hk=["hash","date","message","refs","author_name","author_email"]}}),mk={};ft(mk,{diffSummaryTask:()=>Aj,validateLogFormatConfig:()=>ld});function Aj(t){let e=Jg(t),r=["diff"];return e===""&&(e="--stat",r.push("--stat=4096")),r.push(...t),ld(r)||{commands:r,format:"utf-8",parser:ck(e)}}function ld(t){let e=t.filter(xj);if(e.length>1)return yr(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`);if(e.length&&t.includes("-z"))return yr(`Summary flag ${e} parsing is not compatible with null termination option '-z'`)}var n0=q({"src/lib/tasks/diff.ts"(){"use strict";wc(),fk(),ut()}});function kj(t,e){let r=[],n=[];return Object.keys(t).forEach(i=>{r.push(i),n.push(String(t[i]))}),[r,n.join(e)]}function Tj(t){return Object.keys(t).reduce((e,r)=>(r in Fg||(e[r]=t[r]),e),{})}function gk(t={},e=[]){let r=qn(t.splitter,Vt,r0),n=ad(t.format)?t.format:{hash:"%H",date:t.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:t.multiLine?"%B":"%b",author_name:t.mailMap!==!1?"%aN":"%an",author_email:t.mailMap!==!1?"%aE":"%ae"},[i,a]=kj(n,r),s=[],o=[`--pretty=format:${e0}${a}${t0}`,...e],l=t.n||t["max-count"]||t.maxCount;if(l&&o.push(`--max-count=${l}`),t.from||t.to){let c=t.symmetric!==!1?"...":"..";s.push(`${t.from||""}${c}${t.to||""}`)}return Vt(t.file)&&o.push("--follow",mL(t.file)),Gg(Tj(t),o),{fields:i,splitter:r,commands:[...o,...s]}}function Cj(t,e,r){let n=dk(t,e,Jg(r));return{commands:["log",...r],format:"utf-8",parser:n}}function Pj(){return{log(...r){let n=at(arguments),i=gk(zg(arguments),qn(arguments[0],yc)),a=e(...r)||ld(i.commands)||t(i);return this._runTask(a,n)}};function t(r){return Cj(r.splitter,r.fields,r.commands)}function e(r,n){return Vt(r)&&Vt(n)&&yr("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var Fg,vk=q({"src/lib/tasks/log.ts"(){"use strict";wc(),pc(),pk(),he(),ut(),n0(),Fg=(t=>(t[t["--pretty"]=0]="--pretty",t[t["max-count"]=1]="max-count",t[t.maxCount=2]="maxCount",t[t.n=3]="n",t[t.file=4]="file",t[t.format=5]="format",t[t.from=6]="from",t[t.to=7]="to",t[t.splitter=8]="splitter",t[t.symmetric=9]="symmetric",t[t.mailMap=10]="mailMap",t[t.multiLine=11]="multiLine",t[t.strictDate=12]="strictDate",t))(Fg||{})}}),Xf,yk,Rj=q({"src/lib/responses/MergeSummary.ts"(){"use strict";Xf=class{constructor(t,e=null,r){this.reason=t,this.file=e,this.meta=r}toString(){return`${this.file}:${this.reason}`}},yk=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),$g,wk,Mj=q({"src/lib/responses/PullSummary.ts"(){"use strict";$g=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},wk=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function Sg(t){return t.objects=t.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function NE(t){let e=/^\s*(\d+)/.exec(t),r=/delta (\d+)/i.exec(t);return{count:He(e&&e[1]||"0"),delta:He(r&&r[1]||"0")}}var bk,Oj=q({"src/lib/parsers/parse-remote-objects.ts"(){"use strict";he(),bk=[new oa(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(t,[e,r])=>{let n=e.toLowerCase(),i=Sg(t.remoteMessages);Object.assign(i,{[n]:He(r)})}),new oa(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(t,[e,r])=>{let n=e.toLowerCase(),i=Sg(t.remoteMessages);Object.assign(i,{[n]:He(r)})}),new oa(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(t,[e,r,n])=>{let i=Sg(t.remoteMessages);i.total=NE(e),i.reused=NE(r),i.packReused=He(n)})]}});function _k(t,e){return br({remoteMessages:new Sk},xk,e)}var xk,Sk,Ek=q({"src/lib/parsers/parse-remote-messages.ts"(){"use strict";he(),Oj(),xk=[new oa(/^remote:\s*(.+)$/,(t,[e])=>(t.remoteMessages.all.push(e.trim()),!1)),...bk,new oa([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(t,[e])=>{t.remoteMessages.pullRequestUrl=e}),new oa([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(t,[e,r,n])=>{t.remoteMessages.vulnerabilities={count:He(e),summary:r,url:n}})],Sk=class{constructor(){this.all=[]}}}});function Ij(t,e){let r=br(new wk,Ak,[t,e]);return r.message&&r}var BE,HE,UE,GE,Ak,zE,i0,kk=q({"src/lib/parsers/parse-pull.ts"(){"use strict";Mj(),he(),Ek(),BE=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,HE=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,UE=/^(create|delete) mode \d+ (.+)/,GE=[new me(BE,(t,[e,r,n])=>{t.files.push(e),r&&(t.insertions[e]=r.length),n&&(t.deletions[e]=n.length)}),new me(HE,(t,[e,,r,,n])=>r!==void 0||n!==void 0?(t.summary.changes=+e||0,t.summary.insertions=+r||0,t.summary.deletions=+n||0,!0):!1),new me(UE,(t,[e,r])=>{Me(t.files,r),Me(e==="create"?t.created:t.deleted,r)})],Ak=[new me(/^from\s(.+)$/i,(t,[e])=>void(t.remote=e)),new me(/^fatal:\s(.+)$/,(t,[e])=>void(t.message=e)),new me(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(t,[e,r,n,i])=>{t.branch.local=n,t.hash.local=e,t.branch.remote=i,t.hash.remote=r})],zE=(t,e)=>br(new $g,GE,[t,e]),i0=(t,e)=>Object.assign(new $g,zE(t,e),_k(t,e))}}),VE,Tk,qE,Fj=q({"src/lib/parsers/parse-merge.ts"(){"use strict";Rj(),he(),kk(),VE=[new me(/^Auto-merging\s+(.+)$/,(t,[e])=>{t.merges.push(e)}),new me(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(t,[e,r])=>{t.conflicts.push(new Xf(e,r))}),new me(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(t,[e,r,n])=>{t.conflicts.push(new Xf(e,r,{deleteRef:n}))}),new me(/^CONFLICT\s+\((.+)\):/,(t,[e])=>{t.conflicts.push(new Xf(e,null))}),new me(/^Automatic merge failed;\s+(.+)$/,(t,[e])=>{t.result=e})],Tk=(t,e)=>Object.assign(qE(t,e),i0(t,e)),qE=t=>br(new yk,VE,t)}});function WE(t){return t.length?{commands:["merge",...t],format:"utf-8",parser(e,r){let n=Tk(e,r);if(n.failed)throw new mc(n);return n}}:yr("Git.merge requires at least one option")}var $j=q({"src/lib/tasks/merge.ts"(){"use strict";ko(),Fj(),ut()}});function Dj(t,e,r){let n=r.includes("deleted"),i=r.includes("tag")||/^refs\/tags/.test(t),a=!r.includes("new");return{deleted:n,tag:i,branch:!i,new:!a,alreadyUpdated:a,local:t,remote:e}}var YE,Ck,XE,Lj=q({"src/lib/parsers/parse-push.ts"(){"use strict";he(),Ek(),YE=[new me(/^Pushing to (.+)$/,(t,[e])=>{t.repo=e}),new me(/^updating local tracking ref '(.+)'/,(t,[e])=>{t.ref={...t.ref||{},local:e}}),new me(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(t,[e,r,n])=>{t.pushed.push(Dj(e,r,n))}),new me(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(t,[e,r,n])=>{t.branch={...t.branch||{},local:e,remote:r,remoteName:n}}),new me(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(t,[e,r,n,i])=>{t.update={head:{local:e,remote:r},hash:{from:n,to:i}}})],Ck=(t,e)=>{let r=XE(t,e),n=_k(t,e);return{...r,...n}},XE=(t,e)=>br({pushed:[]},YE,[t,e])}}),Pk={};ft(Pk,{pushTagsTask:()=>jj,pushTask:()=>a0});function jj(t={},e){return Me(e,"--tags"),a0(t,e)}function a0(t={},e){let r=["push",...e];return t.branch&&r.splice(1,0,t.branch),t.remote&&r.splice(1,0,t.remote),nd(r,"-v"),Me(r,"--verbose"),Me(r,"--porcelain"),{commands:r,format:"utf-8",parser:Ck}}var Rk=q({"src/lib/tasks/push.ts"(){"use strict";Lj(),he()}});function Nj(){return{showBuffer(){let t=["show",...vr(arguments,1)];return t.includes("--binary")||t.splice(1,0,"--binary"),this._runTask($A(t),at(arguments))},show(){let t=["show",...vr(arguments,1)];return this._runTask(rr(t),at(arguments))}}}var Bj=q({"src/lib/tasks/show.ts"(){"use strict";he(),ut()}}),KE,Mk,Hj=q({"src/lib/responses/FileStatusSummary.ts"(){"use strict";KE=/^(.+)\0(.+)$/,Mk=class{constructor(t,e,r){if(this.path=t,this.index=e,this.working_dir=r,e==="R"||r==="R"){let n=KE.exec(t)||[null,t,t];this.from=n[2]||"",this.path=n[1]||""}}}}});function ZE(t){let[e,r]=t.split(Ao);return{from:r||e,to:e}}function Ir(t,e,r){return[`${t}${e}`,r]}function Eg(t,...e){return e.map(r=>Ir(t,r,(n,i)=>Me(n.conflicted,i)))}function Uj(t,e){let r=e.trim();switch(" "){case r.charAt(2):return n(r.charAt(0),r.charAt(1),r.substr(3));case r.charAt(1):return n(" ",r.charAt(0),r.substr(2));default:return}function n(i,a,s){let o=`${i}${a}`,l=Ok.get(o);l&&l(t,s),o!=="##"&&o!=="!!"&&t.files.push(new Mk(s,i,a))}}var JE,Ok,Ik,Gj=q({"src/lib/responses/StatusSummary.ts"(){"use strict";he(),Hj(),JE=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},Ok=new Map([Ir(" ","A",(t,e)=>Me(t.created,e)),Ir(" ","D",(t,e)=>Me(t.deleted,e)),Ir(" ","M",(t,e)=>Me(t.modified,e)),Ir("A"," ",(t,e)=>Me(t.created,e)&&Me(t.staged,e)),Ir("A","M",(t,e)=>Me(t.created,e)&&Me(t.staged,e)&&Me(t.modified,e)),Ir("D"," ",(t,e)=>Me(t.deleted,e)&&Me(t.staged,e)),Ir("M"," ",(t,e)=>Me(t.modified,e)&&Me(t.staged,e)),Ir("M","M",(t,e)=>Me(t.modified,e)&&Me(t.staged,e)),Ir("R"," ",(t,e)=>{Me(t.renamed,ZE(e))}),Ir("R","M",(t,e)=>{let r=ZE(e);Me(t.renamed,r),Me(t.modified,r.to)}),Ir("!","!",(t,e)=>{Me(t.ignored=t.ignored||[],e)}),Ir("?","?",(t,e)=>Me(t.not_added,e)),...Eg("A","A","U"),...Eg("D","D","U"),...Eg("U","A","D","U"),["##",(t,e)=>{let r=/ahead (\d+)/,n=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,a=/\.{3}(\S*)/,s=/\son\s([\S]+)$/,o;o=r.exec(e),t.ahead=o&&+o[1]||0,o=n.exec(e),t.behind=o&&+o[1]||0,o=i.exec(e),t.current=o&&o[1],o=a.exec(e),t.tracking=o&&o[1],o=s.exec(e),t.current=o&&o[1]||t.current,t.detached=/\(no branch\)/.test(e)}]]),Ik=function(t){let e=t.split(Ao),r=new JE;for(let n=0,i=e.length;n!Fk.includes(r))],parser(r){return Ik(r)}}}var Fk,Vj=q({"src/lib/tasks/status.ts"(){"use strict";Gj(),Fk=["--null","-z"]}});function ed(t=0,e=0,r=0,n="",i=!0){return Object.defineProperty({major:t,minor:e,patch:r,agent:n,installed:i},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function qj(){return ed(0,0,0,"",!1)}function Wj(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:Yj,onError(t,e,r,n){if(t.exitCode===-2)return r(Buffer.from(s0));n(e)}})}}}function Yj(t){return t===s0?qj():br(ed(0,0,0,t),$k,t)}var s0,$k,Xj=q({"src/lib/tasks/version.ts"(){"use strict";he(),s0="installed=false",$k=[new me(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(t,[e,r,n,i=""])=>{Object.assign(t,ed(He(e),He(r),He(n),i))}),new me(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(t,[e,r,n,i=""])=>{Object.assign(t,ed(He(e),He(r),n,i))})]}}),Dk={};ft(Dk,{SimpleGitApi:()=>Dg});var Dg,Kj=q({"src/lib/simple-git-api.ts"(){"use strict";tj(),rj(),ij(),oj(),dj(),GA(),pj(),YA(),gj(),_j(),vk(),$j(),Rk(),Bj(),Vj(),ut(),Xj(),he(),Dg=class{constructor(t){this._executor=t}_runTask(t,e){let r=this._executor.chain(),n=r.push(t);return e&&QL(t,n,e),Object.create(this,{then:{value:n.then.bind(n)},catch:{value:n.catch.bind(n)},_executor:{value:r}})}add(t){return this._runTask(rr(["add",...Vn(t)]),at(arguments))}cwd(t){let e=at(arguments);return typeof t=="string"?this._runTask($E(t,this._executor),e):typeof(t==null?void 0:t.path)=="string"?this._runTask($E(t.path,t.root&&this._executor||void 0),e):this._runTask(yr("Git.cwd: workingDirectory must be supplied as a string"),e)}hashObject(t,e){return this._runTask(mj(t,e===!0),at(arguments))}init(t){return this._runTask(bj(t===!0,this._executor.cwd,vr(arguments)),at(arguments))}merge(){return this._runTask(WE(vr(arguments)),at(arguments))}mergeFromTo(t,e){return Vt(t)&&Vt(e)?this._runTask(WE([t,e,...vr(arguments)]),at(arguments,!1)):this._runTask(yr("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(t){return this._executor.outputHandler=t,this}push(){let t=a0({remote:qn(arguments[0],Vt),branch:qn(arguments[1],Vt)},vr(arguments));return this._runTask(t,at(arguments))}stash(){return this._runTask(rr(["stash",...vr(arguments)]),at(arguments))}status(){return this._runTask(zj(vr(arguments)),at(arguments))}},Object.assign(Dg.prototype,nj(),fj(),BL(),sj(),hj(),zL(),Pj(),Nj(),Wj())}}),Lk={};ft(Lk,{Scheduler:()=>Nk});var QE,Nk,Zj=q({"src/lib/runners/scheduler.ts"(){"use strict";he(),QA(),QE=(()=>{let t=0;return()=>{t++;let{promise:e,done:r}=(0,jk.createDeferred)();return{promise:e,done:r,id:t}}})(),Nk=class{constructor(t=2){this.concurrency=t,this.logger=Kg("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",t)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);return}let t=Me(this.running,this.pending.shift());this.logger("Attempting id=%s",t.id),t.done(()=>{this.logger("Completing id=",t.id),nd(this.running,t),this.schedule()})}next(){let{promise:t,id:e}=Me(this.pending,QE());return this.logger("Scheduling id=%s",e),this.schedule(),t}}}}),Bk={};ft(Bk,{applyPatchTask:()=>Jj});function Jj(t,e){return rr(["apply",...e,...t])}var Qj=q({"src/lib/tasks/apply-patch.ts"(){"use strict";ut()}});function eN(t,e){return{branch:t,hash:e,success:!0}}function tN(t){return{branch:t,hash:null,success:!1}}var Hk,rN=q({"src/lib/responses/BranchDeleteSummary.ts"(){"use strict";Hk=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function Uk(t,e){return e===1&&Lg.test(t)}var eA,Lg,tA,cd,nN=q({"src/lib/parsers/parse-branch-delete.ts"(){"use strict";rN(),he(),eA=/(\S+)\s+\(\S+\s([^)]+)\)/,Lg=/^error[^']+'([^']+)'/m,tA=[new me(eA,(t,[e,r])=>{let n=eN(e,r);t.all.push(n),t.branches[e]=n}),new me(Lg,(t,[e])=>{let r=tN(e);t.errors.push(r),t.all.push(r),t.branches[e]=r})],cd=(t,e)=>br(new Hk,tA,[t,e])}}),Gk,iN=q({"src/lib/responses/BranchSummary.ts"(){"use strict";Gk=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(t,e,r,n,i){t==="*"&&(this.detached=e,this.current=r),this.all.push(r),this.branches[r]={current:t==="*",linkedWorkTree:t==="+",name:r,commit:n,label:i}}}}});function rA(t){return t?t.charAt(0):""}function zk(t){return br(new Gk,Vk,t)}var Vk,aN=q({"src/lib/parsers/parse-branch.ts"(){"use strict";iN(),he(),Vk=[new me(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(t,[e,r,n,i])=>{t.push(rA(e),!0,r,n,i)}),new me(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(t,[e,r,n,i])=>{t.push(rA(e),!1,r,n,i)})]}}),qk={};ft(qk,{branchLocalTask:()=>oN,branchTask:()=>sN,containsDeleteBranchCommand:()=>Wk,deleteBranchTask:()=>cN,deleteBranchesTask:()=>lN});function Wk(t){let e=["-d","-D","--delete"];return t.some(r=>e.includes(r))}function sN(t){let e=Wk(t),r=["branch",...t];return r.length===1&&r.push("-a"),r.includes("-v")||r.splice(1,0,"-v"),{format:"utf-8",commands:r,parser(n,i){return e?cd(n,i).all[0]:zk(n)}}}function oN(){return{format:"utf-8",commands:["branch","-v"],parser:zk}}function lN(t,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...t],parser(r,n){return cd(r,n)},onError({exitCode:r,stdOut:n},i,a,s){if(!Uk(String(i),r))return s(i);a(n)}}}function cN(t,e=!1){let r={format:"utf-8",commands:["branch","-v",e?"-D":"-d",t],parser(n,i){return cd(n,i).branches[t]},onError({exitCode:n,stdErr:i,stdOut:a},s,o,l){if(!Uk(String(s),n))return l(s);throw new mc(r.parser(hc(a),hc(i)),String(s))}};return r}var uN=q({"src/lib/tasks/branch.ts"(){"use strict";ko(),nN(),aN(),he()}}),Yk,fN=q({"src/lib/responses/CheckIgnore.ts"(){"use strict";Yk=t=>t.split(/\n/g).map(e=>e.trim()).filter(e=>!!e)}}),Xk={};ft(Xk,{checkIgnoreTask:()=>dN});function dN(t){return{commands:["check-ignore",...t],format:"utf-8",parser:Yk}}var hN=q({"src/lib/tasks/check-ignore.ts"(){"use strict";fN()}}),Kk={};ft(Kk,{cloneMirrorTask:()=>mN,cloneTask:()=>Zk});function pN(t){return/^--upload-pack(=|$)/.test(t)}function Zk(t,e,r){let n=["clone",...r];return Vt(t)&&n.push(t),Vt(e)&&n.push(e),n.find(pN)?yr("git.fetch: potential exploit argument blocked."):rr(n)}function mN(t,e,r){return Me(r,"--mirror"),Zk(t,e,r)}var gN=q({"src/lib/tasks/clone.ts"(){"use strict";ut(),he()}});function vN(t,e){return br({raw:t,remote:null,branches:[],tags:[],updated:[],deleted:[]},Jk,[t,e])}var Jk,yN=q({"src/lib/parsers/parse-fetch.ts"(){"use strict";he(),Jk=[new me(/From (.+)$/,(t,[e])=>{t.remote=e}),new me(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.branches.push({name:e,tracking:r})}),new me(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.tags.push({name:e,tracking:r})}),new me(/- \[deleted]\s+\S+\s*-> (.+)$/,(t,[e])=>{t.deleted.push({tracking:e})}),new me(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(t,[e,r,n,i])=>{t.updated.push({name:n,tracking:i,to:r,from:e})})]}}),Qk={};ft(Qk,{fetchTask:()=>bN});function wN(t){return/^--upload-pack(=|$)/.test(t)}function bN(t,e,r){let n=["fetch",...r];return t&&e&&n.push(t,e),n.find(wN)?yr("git.fetch: potential exploit argument blocked."):{commands:n,format:"utf-8",parser:vN}}var _N=q({"src/lib/tasks/fetch.ts"(){"use strict";yN(),ut()}});function xN(t){return br({moves:[]},eT,t)}var eT,SN=q({"src/lib/parsers/parse-move.ts"(){"use strict";he(),eT=[new me(/^Renaming (.+) to (.+)$/,(t,[e,r])=>{t.moves.push({from:e,to:r})})]}}),tT={};ft(tT,{moveTask:()=>EN});function EN(t,e){return{commands:["mv","-v",...Vn(t),e],format:"utf-8",parser:xN}}var AN=q({"src/lib/tasks/move.ts"(){"use strict";SN(),he()}}),rT={};ft(rT,{pullTask:()=>kN});function kN(t,e,r){let n=["pull",...r];return t&&e&&n.splice(1,0,t,e),{commands:n,format:"utf-8",parser(i,a){return i0(i,a)},onError(i,a,s,o){let l=Ij(hc(i.stdOut),hc(i.stdErr));if(l)return o(new mc(l));o(a)}}}var TN=q({"src/lib/tasks/pull.ts"(){"use strict";ko(),kk(),he()}});function CN(t){let e={};return nT(t,([r])=>e[r]={name:r}),Object.values(e)}function PN(t){let e={};return nT(t,([r,n,i])=>{e.hasOwnProperty(r)||(e[r]={name:r,refs:{fetch:"",push:""}}),i&&n&&(e[r].refs[i.replace(/[^a-z]/g,"")]=n)}),Object.values(e)}function nT(t,e){Bg(t,r=>e(r.split(/\s+/)))}var RN=q({"src/lib/responses/GetRemoteSummary.ts"(){"use strict";he()}}),iT={};ft(iT,{addRemoteTask:()=>MN,getRemotesTask:()=>ON,listRemotesTask:()=>IN,remoteTask:()=>FN,removeRemoteTask:()=>$N});function MN(t,e,r){return rr(["remote","add",...r,t,e])}function ON(t){let e=["remote"];return t&&e.push("-v"),{commands:e,format:"utf-8",parser:t?PN:CN}}function IN(t){let e=[...t];return e[0]!=="ls-remote"&&e.unshift("ls-remote"),rr(e)}function FN(t){let e=[...t];return e[0]!=="remote"&&e.unshift("remote"),rr(e)}function $N(t){return rr(["remote","remove",t])}var DN=q({"src/lib/tasks/remote.ts"(){"use strict";RN(),ut()}}),aT={};ft(aT,{stashListTask:()=>LN});function LN(t={},e){let r=gk(t),n=["stash","list",...r.commands,...e],i=dk(r.splitter,r.fields,Jg(n));return ld(n)||{commands:n,format:"utf-8",parser:i}}var jN=q({"src/lib/tasks/stash-list.ts"(){"use strict";wc(),pk(),n0(),vk()}}),sT={};ft(sT,{addSubModuleTask:()=>NN,initSubModuleTask:()=>BN,subModuleTask:()=>ud,updateSubModuleTask:()=>HN});function NN(t,e){return ud(["add",t,e])}function BN(t){return ud(["init",...t])}function ud(t){let e=[...t];return e[0]!=="submodule"&&e.unshift("submodule"),rr(e)}function HN(t){return ud(["update",...t])}var UN=q({"src/lib/tasks/sub-module.ts"(){"use strict";ut()}});function GN(t,e){let r=isNaN(t),n=isNaN(e);return r!==n?r?1:-1:r?oT(t,e):0}function oT(t,e){return t===e?0:t>e?1:-1}function zN(t){return t.trim()}function Vf(t){return typeof t=="string"&&parseInt(t.replace(/^\D+/g,""),10)||0}var nA,lT,VN=q({"src/lib/responses/TagList.ts"(){"use strict";nA=class{constructor(t,e){this.all=t,this.latest=e}},lT=function(t,e=!1){let r=t.split(` +`).map(zN).filter(Boolean);e||r.sort(function(i,a){let s=i.split("."),o=a.split(".");if(s.length===1||o.length===1)return GN(Vf(s[0]),Vf(o[0]));for(let l=0,c=Math.max(s.length,o.length);li.indexOf(".")>=0);return new nA(r,n)}}}),cT={};ft(cT,{addAnnotatedTagTask:()=>YN,addTagTask:()=>WN,tagListTask:()=>qN});function qN(t=[]){let e=t.some(r=>/^--sort=/.test(r));return{format:"utf-8",commands:["tag","-l",...t],parser(r){return lT(r,e)}}}function WN(t){return{format:"utf-8",commands:["tag",t],parser(){return{name:t}}}}function YN(t,e){return{format:"utf-8",commands:["tag","-a","-m",e,t],parser(){return{name:t}}}}var XN=q({"src/lib/tasks/tag.ts"(){"use strict";VN()}}),KN=hL({"src/git.js"(t,e){"use strict";var{GitExecutor:r}=(JL(),it(rk)),{SimpleGitApi:n}=(Kj(),it(Dk)),{Scheduler:i}=(Zj(),it(Lk)),{configurationErrorTask:a}=(ut(),it(Mg)),{asArray:s,filterArray:o,filterPrimitives:l,filterString:c,filterStringOrStringArray:u,filterType:f,getTrailingOptions:d,trailingFunctionArgument:h,trailingOptionsArgument:p}=(he(),it(AA)),{applyPatchTask:g}=(Qj(),it(Bk)),{branchTask:v,branchLocalTask:y,deleteBranchesTask:b,deleteBranchTask:E}=(uN(),it(qk)),{checkIgnoreTask:S}=(hN(),it(Xk)),{checkIsRepoTask:A}=(PA(),it(kA)),{cloneTask:k,cloneMirrorTask:w}=(gN(),it(Kk)),{cleanWithOptionsTask:x,isCleanOptionsArray:_}=(BA(),it(jA)),{diffSummaryTask:T}=(n0(),it(mk)),{fetchTask:C}=(_N(),it(Qk)),{moveTask:I}=(AN(),it(tT)),{pullTask:L}=(TN(),it(rT)),{pushTagsTask:$}=(Rk(),it(Pk)),{addRemoteTask:J,getRemotesTask:de,listRemotesTask:le,remoteTask:ce,removeRemoteTask:Te}=(DN(),it(iT)),{getResetMode:ne,resetTask:N}=(JA(),it(XA)),{stashListTask:W}=(jN(),it(aT)),{addSubModuleTask:B,initSubModuleTask:$e,subModuleTask:lr,updateSubModuleTask:Ut}=(UN(),it(sT)),{addAnnotatedTagTask:X,addTagTask:Oe,tagListTask:De}=(XN(),it(cT)),{straightThroughBufferTask:Pt,straightThroughStringTask:Le}=(ut(),it(Mg));function U(j,Z){this._plugins=Z,this._executor=new r(j.baseDir,new i(j.maxConcurrentProcesses),Z),this._trimmed=j.trimmed}(U.prototype=Object.create(n.prototype)).constructor=U,U.prototype.customBinary=function(j){return this._plugins.reconfigure("binary",j),this},U.prototype.env=function(j,Z){return arguments.length===1&&typeof j=="object"?this._executor.env=j:(this._executor.env=this._executor.env||{})[j]=Z,this},U.prototype.stashList=function(j){return this._runTask(W(p(arguments)||{},o(j)&&j||[]),h(arguments))};function Je(j,Z,Se,We){return typeof Se!="string"?a(`git.${j}() requires a string 'repoPath'`):Z(Se,f(We,c),d(arguments))}U.prototype.clone=function(){return this._runTask(Je("clone",k,...arguments),h(arguments))},U.prototype.mirror=function(){return this._runTask(Je("mirror",w,...arguments),h(arguments))},U.prototype.mv=function(j,Z){return this._runTask(I(j,Z),h(arguments))},U.prototype.checkoutLatestTag=function(j){var Z=this;return this.pull(function(){Z.tags(function(Se,We){Z.checkout(We.latest,j)})})},U.prototype.pull=function(j,Z,Se,We){return this._runTask(L(f(j,c),f(Z,c),d(arguments)),h(arguments))},U.prototype.fetch=function(j,Z){return this._runTask(C(f(j,c),f(Z,c),d(arguments)),h(arguments))},U.prototype.silent=function(j){return console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"),this},U.prototype.tags=function(j,Z){return this._runTask(De(d(arguments)),h(arguments))},U.prototype.rebase=function(){return this._runTask(Le(["rebase",...d(arguments)]),h(arguments))},U.prototype.reset=function(j){return this._runTask(N(ne(j),d(arguments)),h(arguments))},U.prototype.revert=function(j){let Z=h(arguments);return typeof j!="string"?this._runTask(a("Commit must be a string"),Z):this._runTask(Le(["revert",...d(arguments,0,!0),j]),Z)},U.prototype.addTag=function(j){let Z=typeof j=="string"?Oe(j):a("Git.addTag requires a tag name");return this._runTask(Z,h(arguments))},U.prototype.addAnnotatedTag=function(j,Z){return this._runTask(X(j,Z),h(arguments))},U.prototype.deleteLocalBranch=function(j,Z,Se){return this._runTask(E(j,typeof Z=="boolean"?Z:!1),h(arguments))},U.prototype.deleteLocalBranches=function(j,Z,Se){return this._runTask(b(j,typeof Z=="boolean"?Z:!1),h(arguments))},U.prototype.branch=function(j,Z){return this._runTask(v(d(arguments)),h(arguments))},U.prototype.branchLocal=function(j){return this._runTask(y(),h(arguments))},U.prototype.raw=function(j){let Z=!Array.isArray(j),Se=[].slice.call(Z?arguments:j,0);for(let Rt=0;Rtt.removeEventListener("abort",a))}}]:void 0}function QN(t){return typeof t=="string"&&t.trim().toLowerCase()==="-c"}function eB(t,e){if(QN(t)&&/^\s*protocol(.[a-z]+)?.allow/.test(e))throw new _i(void 0,"unsafe","Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol")}function tB(t,e){if(/^\s*--(upload|receive)-pack/.test(t))throw new _i(void 0,"unsafe","Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack");if(e==="clone"&&/^\s*-u\b/.test(t))throw new _i(void 0,"unsafe","Use of clone with option -u is not permitted without enabling allowUnsafePack");if(e==="push"&&/^\s*--exec\b/.test(t))throw new _i(void 0,"unsafe","Use of push with option --exec is not permitted without enabling allowUnsafePack")}function rB({allowUnsafeProtocolOverride:t=!1,allowUnsafePack:e=!1}={}){return{type:"spawn.args",action(r,n){return r.forEach((i,a)=>{let s=aAg(i))).then(s.done)}return{type:"spawn.after",async action(i,{spawned:a,close:s}){var u,f;let o=r(),l=!0,c=()=>void(l=!1);(u=a.stdout)==null||u.on("data",c),(f=a.stderr)==null||f.on("data",c),a.on("error",c),a.on("close",d=>o.close(d)),a.on("exit",d=>o.exit(d));try{await o.result,l&&await Ag(50),s(o.exitCode)}catch(d){s(o.exitCode,d)}}}}he();var aB="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",aA="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function sB(t){return!t||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(t)}function sA(t,e){if(t.length<1||t.length>2)throw new _i(void 0,"binary",aB);if(t.some(sB))if(e)console.warn(aA);else throw new _i(void 0,"binary",aA);let[n,i]=t;return{binary:n,prefix:i}}function oB(t,e=["git"],r=!1){let n=sA(Vn(e),r);t.on("binary",i=>{n=sA(Vn(i),r)}),t.append("spawn.binary",()=>n.binary),t.append("spawn.args",i=>n.prefix?[n.prefix,...i]:i)}la();function lB(t){return!!(t.exitCode&&t.stdErr.length)}function cB(t){return Buffer.concat([...t.stdOut,...t.stdErr])}function uB(t=!1,e=lB,r=cB){return(n,i)=>!t&&n||!e(i)?n:r(i)}function oA(t){return{type:"task.error",action(e,r){let n=t(e.error,{stdErr:r.stdErr,stdOut:r.stdOut,exitCode:r.exitCode});return Buffer.isBuffer(n)?{error:new wr(void 0,n.toString("utf-8"))}:{error:n}}}}he();var fB=class{constructor(){this.plugins=new Set,this.events=new uT.EventEmitter}on(t,e){this.events.on(t,e)}reconfigure(t,e){this.events.emit(t,e)}append(t,e){let r=Me(this.plugins,{type:t,action:e});return()=>this.plugins.delete(r)}add(t){let e=[];return Vn(t).forEach(r=>r&&this.plugins.add(Me(e,r))),()=>{e.forEach(r=>this.plugins.delete(r))}}exec(t,e,r){let n=e,i=Object.freeze(Object.create(r));for(let a of this.plugins)a.type===t&&(n=a.action(n,i));return n}};he();function dB(t){let e="--progress",r=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action(a,s){return r.includes(s.method)?mA(a,e):a}},{type:"spawn.after",action(a,s){var o;s.commands.includes(e)&&((o=s.spawned.stderr)==null||o.on("data",l=>{let c=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(l.toString("utf8"));c&&t({method:s.method,stage:hB(c[1]),progress:He(c[2]),processed:He(c[3]),total:He(c[4])})}))}}]}function hB(t){return String(t.toLowerCase().split(" ",1))||"unknown"}he();function pB(t){let e=yA(t,["uid","gid"]);return{type:"spawn.options",action(r){return{...e,...r}}}}function mB({block:t,stdErr:e=!0,stdOut:r=!0}){if(t>0)return{type:"spawn.after",action(n,i){var c,u;let a;function s(){a&&clearTimeout(a),a=setTimeout(l,t)}function o(){var f,d;(f=i.spawned.stdout)==null||f.off("data",s),(d=i.spawned.stderr)==null||d.off("data",s),i.spawned.off("exit",o),i.spawned.off("close",o),a&&clearTimeout(a)}function l(){o(),i.kill(new _i(void 0,"timeout","block timeout reached"))}r&&((c=i.spawned.stdout)==null||c.on("data",s)),e&&((u=i.spawned.stderr)==null||u.on("data",s)),i.spawned.on("exit",o),i.spawned.on("close",o),s()}}}pc();function gB(){return{type:"spawn.args",action(t){let e=[],r;function n(i){(r=r||[]).push(...i)}for(let i=0;iKf(s)&&ME(s)||s));break}e.push(a)}return r?[...e,"--",...r.map(String)]:e}}}he();var vB=KN();function yB(t,e){var i;let r=new fB,n=SA(t&&(typeof t=="string"?{baseDir:t}:t)||{},e);if(!Hg(n.baseDir))throw new ZN(n,"Cannot use simple-git on a directory that does not exist");return Array.isArray(n.config)&&r.add(nB(n.config)),r.add(rB(n.unsafe)),r.add(gB()),r.add(iB(n.completion)),n.abort&&r.add(JN(n.abort)),n.progress&&r.add(dB(n.progress)),n.timeout&&r.add(mB(n.timeout)),n.spawnOptions&&r.add(pB(n.spawnOptions)),r.add(oA(uB(!0))),n.errors&&r.add(oA(n.errors)),oB(r,n.binary,(i=n.unsafe)==null?void 0:i.allowUnsafeCustomBinary),new vB(n,r)}ko();var fT=yB;m();var dT=require("obsidian"),fd="YYYY-MM-DD",o0=`${fd} HH:mm`,l0=`${fd} HH:mm:ss`,dd=40,To="conflict-files-obsidian-git.md",Xe={commitMessage:"vault backup: {{date}}",autoCommitMessage:"vault backup: {{date}}",commitMessageScript:"",commitDateFormat:l0,autoSaveInterval:0,autoPushInterval:0,autoPullInterval:0,autoPullOnBoot:!1,autoCommitOnlyStaged:!1,disablePush:!1,pullBeforePush:!0,disablePopups:!1,showErrorNotices:!0,disablePopupsForNoChanges:!1,listChangedFilesInMessageBody:!1,showStatusBar:!0,updateSubmodules:!1,syncMethod:"merge",customMessageOnAutoBackup:!1,autoBackupAfterFileChange:!1,treeStructure:!1,refreshSourceControl:dT.Platform.isDesktopApp,basePath:"",differentIntervalCommitAndPush:!1,changedFilesInStatusBar:!1,showedMobileNotice:!1,refreshSourceControlTimer:7e3,showBranchStatusBar:!0,setLastSaveToLastCommit:!1,submoduleRecurseCheckout:!1,gitDir:"",showFileMenu:!0,authorInHistoryView:"hide",dateInHistoryView:!1,diffStyle:"split",lineAuthor:{show:!1,followMovement:"inactive",authorDisplay:"initials",showCommitHash:!1,dateTimeFormatOptions:"date",dateTimeFormatCustomString:o0,dateTimeTimezone:"viewer-local",coloringMaxAge:"1y",colorNew:{r:255,g:150,b:150},colorOld:{r:120,g:160,b:255},textColorCss:"var(--text-muted)",ignoreWhitespace:!1,gutterSpacingFallbackLength:5}},$t={type:"git-view",name:"Source Control",icon:"git-pull-request"},Zr={type:"git-history-view",name:"History",icon:"history"},ca={type:"split-diff-view",name:"Diff view",icon:"diff"},ua={type:"diff-view",name:"Diff View",icon:"git-pull-request"},hd="C:\\Program Files\\Git\\cmd\\git.exe",pd="git_credentials_input",es="obsidian_askpass.sh",hT=`#!/bin/sh + +PROMPT="$1" +TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" + +cleanup() { + rm -f "$TEMP_FILE" "$TEMP_FILE.response" +} +trap cleanup EXIT + +echo "$PROMPT" > "$TEMP_FILE" + +while [ ! -e "$TEMP_FILE.response" ]; do + if [ ! -e "$TEMP_FILE" ]; then + echo "Trigger file got removed: Abort" >&2 + exit 1 + fi + sleep 0.1 +done + +RESPONSE=$(cat "$TEMP_FILE.response") + +echo "$RESPONSE" +`,pT=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"];m();var mT=require("obsidian"),wB={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0,obscure:!1},ze=class extends mT.SuggestModal{constructor(e,r){if(super(e.app),this.config={...wB,...r},this.setPlaceholder(this.config.placeholder),this.config.obscure){this.inputEl.type="password";let n=this.containerEl.querySelector(".prompt-input-container");n.addClass("git-obscure-prompt"),n.setAttr("git-is-obscured","true");let i=n==null?void 0:n.createDiv({cls:"search-input-clear-button"});i.style.marginRight="32px",i.id="git-show-password",i.addEventListener("click",()=>{n.getAttr("git-is-obscured")==="true"?(this.inputEl.type="text",n.setAttr("git-is-obscured","false")):(this.inputEl.type="password",n.setAttr("git-is-obscured","true"))})}}openAndGetResult(){return new Promise(e=>{this.resolve=e,this.open(),this.config.initialValue!=null&&(this.inputEl.value=this.config.initialValue,this.inputEl.dispatchEvent(new Event("input")))})}onClose(){new Promise(e=>setTimeout(e,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(e){return this.config.onlySelection?this.config.options:this.config.allowEmpty?[e.length>0?e:" ",...this.config.options]:[e.length>0?e:"...",...this.config.options]}renderSuggestion(e,r){this.config.obscure?r.hide():r.setText(e)}onChooseSuggestion(e,r){if(this.resolve){let n;this.config.allowEmpty&&e===" "?n="":e==="..."?n=void 0:n=e,this.resolve(n)}}};m();function gT(t,e){let r=Object.assign({},t.lineAuthor,e.lineAuthor);return Object.assign({},t,e,{lineAuthor:r})}var Co=class extends Error{constructor(r){super("No network connection available");this.originalError=r}};m();var e3=Ot(FT()),t3=require("child_process"),r3=Ot(QR()),Ai=require("obsidian");function Ud(t){throw new Error(`Unexpected object: ${t}`)}function Ic(t,e,r){return t===1?`${t} ${e}`:`${t} ${r!=null?r:e+"s"}`}var pv=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);function vn(t,e){let r;if(e){if(e.button===0||e.button===1){let n=Ai.Keymap.isModEvent(e);r=t.workspace.getLeaf(n)}}else r=t.workspace.getLeaf(!1);return r}function Xn(t,e,r,n,i){if(e.button==2){let a=t.vault.getAbstractFileByPath(r);if(a!=null){let s=new Ai.Menu;t.workspace.trigger("file-menu",s,a,i,n),s.showAtPosition({x:e.pageX,y:e.pageY})}else{let s=new Ai.Menu;t.workspace.trigger("obsidian-git:menu",s,r,i,n),s.showAtPosition({x:e.pageX,y:e.pageY})}}}function pa(t){throw new Error("Impossible branch: "+t)}function mv(t){return`rgb(${t.r},${t.g},${t.b})`}function n3(t){var a;let e=(a=e3.fromString(t))==null?void 0:a.toRgbaArray();if(e===void 0)return;let[r,n,i]=e;return{r,g:n,b:i}}function i3(t){return t.diff(Ai.moment.unix(0),"seconds")}function a3(t){if(t.length!==0)return t.slice().sort()[Math.floor(t.length/2)]}function s3(t,e){return(0,r3.default)(t,e,{strict:!0})}function Fc(t,e){return new Proxy(t,{get(r,n){return n==="length"?Math.min(e,r.length):r[n]}})}function o3(t,e,r){return t.length<=e?new Array(e-t.length).fill(r).join("")+t:t.substring(t.length-e)}function l3(t,e){if(e<=0)return t;let r=new Array(e).fill(" ").join(""),n=t.substring(e,t.length);return r+n}function gv(t,e,r){return t<=e&&e<=r}function ki(t){let[e,...r]=t.split("/");return[e,r.length===0?void 0:r.join("/")]}function Kn(t){return t.endsWith("/")?t:t.split("/").last().replace(/\.md$/,"")}function c3(t){return t===1?"1 minute":`${t} minutes`}function LH(t){let e=t.lastIndexOf(".");return t.substring(e+1)}function Io(t){if(t.endsWith(".md"))return!1;let e=LH(t);return pT.includes(e)}function vv(t){return(t.startsWith("https://github.com/")||t.startsWith("https://gitlab.com/"))&&(t.endsWith(".git")||(t=t+".git")),t}function Fo(t,e){let r=e.vault.getAbstractFileByPath(t);if(!(r instanceof Ai.TFile))return!1;try{return!!e.viewRegistry.getTypeByExtension(r.extension)}catch(n){return!0}}function u3({isFolder:t,gitRelativePath:e}){let r="/";return r+=e,t&&(r+="/"),r.replace(/([\\!#*?[\]])/g,String.raw`\$1`).replace(/\s(?=\s*$)/g,String.raw`\ `)}function $c(t,e,r={}){return new Promise((n,i)=>{let a=(0,t3.spawn)(t,e,r),s="",o="";a.stdout.on("data",l=>{s+=l.toString()}),a.stderr.on("data",l=>{o+=l.toString()}),a.on("error",l=>{n({error:new Error(l.message),stdout:s,stderr:s,code:1})}),a.on("close",l=>{n({stdout:s,stderr:o,code:l!=null?l:1,error:void 0})})})}m();var f3=require("obsidian"),$o=class{constructor(e){this.plugin=e,this.app=e.app}getRelativeVaultPath(e){return this.plugin.settings.basePath?this.plugin.settings.basePath+"/"+e:e}getRelativeRepoPath(e,r=!0){return r&&this.plugin.settings.basePath.length>0?e.substring(this.plugin.settings.basePath.length+1):e}unload(){}_getTreeStructure(e,r=0){let n=[];for(e=[...e];e.length>0;){let i=e.first(),a=i.path.substring(r);if(a.contains("/")){let s=a.substring(0,a.indexOf("/")),o=e.filter(c=>c.path.substring(r).startsWith(s+"/"));o.forEach(c=>e.remove(c));let l=i.path.substring(0,a.indexOf("/")+r);n.push({title:s,path:l,vaultPath:this.getRelativeVaultPath(l),children:this._getTreeStructure(o,(r>0?r+s.length:s.length)+1)})}else n.push({title:a,data:i,path:i.path,vaultPath:this.getRelativeVaultPath(i.path)}),e.remove(i)}return n}simplify(e){var r,n,i,a;for(let s of e){for(;;){let o=((r=s.children)==null?void 0:r.length)==1,l=((i=(n=s.children)==null?void 0:n.first())==null?void 0:i.data)==null;if(!(s.children!=null&&o&&l))break;let c=s.children.first();s.title+="/"+c.title,s.data=c.data,s.path=c.path,s.vaultPath=c.vaultPath,s.children=c.children}s.children!=null&&this.simplify(s.children),(a=s.children)==null||a.sort((o,l)=>{let c=(l.data==null?1:0)-(o.data==null?1:0);return c!=0?c:o.title.localeCompare(l.title)})}return e.sort((s,o)=>{let l=(o.data==null?1:0)-(s.data==null?1:0);return l!=0?l:s.title.localeCompare(o.title)})}getTreeStructure(e){let r=this._getTreeStructure(e);return this.simplify(r)}async formatCommitMessage(e){let r;if(e.includes("{{numFiles}}")){r=await this.status();let n=r.staged.length;e=e.replace("{{numFiles}}",String(n))}if(e.includes("{{hostname}}")){let n=this.plugin.localStorage.getHostname()||"";e=e.replace("{{hostname}}",n)}if(e.includes("{{files}}")){r=r!=null?r:await this.status();let n={},i="";if(r.staged.length<100){r.staged.forEach(s=>{s.index in n?n[s.index].push(s.path):n[s.index]=[s.path]});let a=[];for(let[s,o]of Object.entries(n))a.push(s+" "+o.join(" "));i=a.join(", ")}else i="Too many files to list";e=e.replace("{{files}}",i)}if(e=e.replace("{{date}}",(0,f3.moment)().format(this.plugin.settings.commitDateFormat)),this.plugin.settings.listChangedFilesInMessageBody){let n=r!=null?r:await this.status(),i="";n.staged.length<100?i=n.staged.map(a=>a.path).join(` +`):i="Too many files to list",e=e+` + +Affected files: +`+i}return e}};var Ce=class extends $o{constructor(r){super(r);this.useDefaultWindowsGitPath=!1}async setGitInstance(r=!1){var n;if(await this.isGitInstalled()){let i=this.app.vault.adapter,a=i.getBasePath(),s=a;this.plugin.settings.basePath&&(await i.exists((0,Ti.normalizePath)(this.plugin.settings.basePath))?s=Ve.join(a,this.plugin.settings.basePath):r||new Ti.Notice("ObsidianGit: Base path does not exist")),this.absoluteRepoPath=s,this.git=fT({baseDir:s,binary:this.plugin.localStorage.getGitPath()||(this.useDefaultWindowsGitPath?hd:void 0),config:["core.quotepath=off"],unsafe:{allowUnsafeCustomBinary:!0}});let o=this.plugin.localStorage.getPATHPaths(),l=this.plugin.localStorage.getEnvVars(),c=this.plugin.settings.gitDir;if(o.length>0){let v=o.join(":")+":"+process.env.PATH;process.env.PATH=v}c&&(process.env.GIT_DIR=c);for(let v of l){let[y,b]=v.split("=");process.env[y]=b}let u="simple-git",f=",",h=((n=localStorage.debug)!=null?n:"").split(f);if(!h.includes(u)&&!h.includes(`-${u}`)&&(h.push(u),p3.default.enable(h.join(f))),await this.git.checkIsRepo()){let v=await this.git.revparse("--show-cdup"),y=(0,Dc.resolve)(s+Dc.sep+v);this.absoluteRepoPath=y,await this.git.cwd(y)}let p=Ve.join(a,this.app.vault.configDir,"plugins","obsidian-git"),g=Ve.join(p,es);process.env.SSH_ASKPASS==null&&(process.env.SSH_ASKPASS=g),process.env.OBSIDIAN_GIT_CREDENTIALS_INPUT=Ve.join(p,pd),process.env.SSH_ASKPASS==g&&this.askpass().catch(v=>this.plugin.displayError(v))}}getRelativeVaultPath(r){let i=this.app.vault.adapter.getBasePath(),a=Ve.join(this.absoluteRepoPath,r),s=Ve.relative(i,a);return Ti.Platform.isWin&&(s=s.replace(/\\/g,"/")),s}getRelativeRepoPath(r,n=!0){if(n){let a=this.plugin.app.vault.adapter.getBasePath(),s=this.absoluteRepoPath,o=Ve.join(a,r),l=Ve.relative(s,o);return Ti.Platform.isWin&&(l=l.replace(/\\/g,"/")),l}return r}async askpass(){let r=this.app.vault.adapter,n=r.getBasePath(),i=Ve.join(n,this.app.vault.configDir,"plugins","obsidian-git"),a=this.app.vault.configDir+"/plugins/obsidian-git/";await this.addAskPassScriptToExclude(),await Fr.writeFile(Ve.join(i,es),hT),await Fr.chmod(Ve.join(i,es),493),this.watchAbortController=new AbortController;let{signal:s}=this.watchAbortController;try{let o=Fr.watch(i,{signal:s});for await(let l of o){if(l.filename!=pd)continue;let c=a+pd;if(!await r.exists(c))continue;let u=await r.read(c),f;u.length>60&&(f=new Ti.Notice(u,999999));let d=await new ze(this.plugin,{allowEmpty:!0,obscure:!0,placeholder:u.length>60?"Enter a response to the message.":u}).openAndGetResult();f==null||f.hide(),await r.exists(c)&&await r.write(`${c}.response`,d!=null?d:"")}}catch(o){this.plugin.displayError(o),await Fr.rm(Ve.join(i,es),{force:!0}),await Fr.rm(Ve.join(i,`${es}.response`),{force:!0}),await new Promise(l=>setTimeout(l,5e3)),this.plugin.log("Retry watch for ask pass"),await this.askpass()}}async addAskPassScriptToExclude(){try{let r=await this.git.revparse(["--path-format=absolute","--git-path","info/exclude"]),n=Ve.join(this.app.vault.configDir,"plugins","obsidian-git",es),i=this.getRelativeRepoPath(n,!0);(await Fr.readFile(r,"utf-8")).split(` +`).some(l=>l.contains(i))||await Fr.appendFile(r,i+` +`)}catch(r){console.error("Error while adding askpass script to exclude file:",r)}}unload(){var r;(r=this.watchAbortController)==null||r.abort()}async status(r){let n=r==null?void 0:r.path;this.plugin.setPluginState({gitAction:1});let i=await this.git.status(n!=null?["--",n]:[]);this.plugin.setPluginState({gitAction:0});let a=i.files.map(s=>{let o=this.formatPath(s);return{path:o.path,from:o.from,index:s.index==="?"?"U":s.index,workingDir:s.working_dir==="?"?"U":s.working_dir,vaultPath:this.getRelativeVaultPath(o.path)}});return{all:a,changed:a.filter(s=>s.workingDir!==" "),staged:a.filter(s=>s.index!==" "&&s.index!="U"),conflicted:i.conflicted.map(s=>this.formatPath({path:s}).path)}}async submoduleAwareHeadRevisonInContainingDirectory(r){let n=this.getRelativeRepoPath(r),a=["-C",Ve.dirname(n),"rev-parse","HEAD"],s=this.git.raw(a);return s.catch(o=>console.warn("obsidian-git: rev-parse error:",o)),(await s).trim()}async getSubmodulePaths(){return new Promise(r=>{this.git.outputHandler((n,i,a,s)=>{if(!(s.contains("submodule")&&s.contains("foreach")))return;let o="",l=this.app.vault.adapter.getBasePath()+(this.plugin.settings.basePath?"/"+this.plugin.settings.basePath:"");i.on("data",c=>{o+=c.toString("utf8")}),i.on("end",()=>{let u=o.split(` +`).map(f=>{let d=f.match(/'([^']*)'/);if(d!=null)return l+"/"+d[1]+Dc.sep}).filter(f=>!!f);u.reverse(),r(u)})}),this.git.subModule(["foreach","--recursive",""]).then(()=>{this.git.outputHandler(()=>{})},n=>this.plugin.displayError(n))})}formatPath(r){function n(i){if(i!=null)return i.startsWith('"')&&i.endsWith('"')?i.substring(1,i.length-1):i}return r.from!=null?{from:n(r.from),path:n(r.path)}:{path:n(r.path)}}async blame(r,n,i){if(r=this.getRelativeRepoPath(r),!await this.isTracked(r))return"untracked";let a=await this.getSubmoduleOfFile(r),s=a?["-C",a.submodule]:[],o=a?a.relativeFilepath:r;s.push("blame","--porcelain"),i&&s.push("-w");let l=`-C${dd}`;switch(n){case"inactive":break;case"same-commit":s.push("-C",l);break;case"all-commits":s.push("-C","-C",l);break;default:pa(n)}s.push("--",o);let c=await this.git.raw(s);return jH(c)}async isTracked(r){let n=await this.getSubmoduleOfFile(r),i=n?["-C",n.submodule]:[],a=n?n.relativeFilepath:r;return i.push("ls-files","--",a),this.git.raw(i).then(s=>s.trim()!=="")}async commitAll({message:r}){if(this.plugin.settings.updateSubmodules){this.plugin.setPluginState({gitAction:4});let i=await this.getSubmodulePaths();for(let a of i)await this.git.cwd({path:a,root:!1}).add("-A"),await this.git.cwd({path:a,root:!1}).commit(await this.formatCommitMessage(r))}this.plugin.setPluginState({gitAction:3}),await this.git.add("-A"),this.plugin.setPluginState({gitAction:4});let n=await this.git.commit(await this.formatCommitMessage(r));return this.app.workspace.trigger("obsidian-git:head-change"),n.summary.changes}async commit({message:r,amend:n}){this.plugin.setPluginState({gitAction:4});let i=(await this.git.commit(await this.formatCommitMessage(r),n?["--amend"]:[])).summary.changes;return this.app.workspace.trigger("obsidian-git:head-change"),this.plugin.setPluginState({gitAction:0}),i}async stage(r,n){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.git.add(["--",r]),this.plugin.setPluginState({gitAction:0})}async stageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.add(r!=null?r:"-A"),this.plugin.setPluginState({gitAction:0})}async unstageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.reset(r!=null?["--",r]:[]),this.plugin.setPluginState({gitAction:0})}async unstage(r,n){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.git.reset(["--",r]),this.plugin.setPluginState({gitAction:0})}async discard(r){this.plugin.setPluginState({gitAction:3}),await this.isTracked(r)&&await this.git.checkout(["--",r]),this.plugin.setPluginState({gitAction:0})}async getUntrackedPaths(r){let n=r==null?void 0:r.path;this.plugin.setPluginState({gitAction:1});let i=["ls-files","--others","--exclude-standard","--directory"];n!=null&&i.push("--",n);let a=await this.git.raw(i);return this.plugin.setPluginState({gitAction:0}),a.split(/\r\n|\r|\n/).filter(s=>s.length>0)}async hashObject(r){r=this.getRelativeRepoPath(r);let n=await this.getSubmoduleOfFile(r),i=n?["-C",n.submodule]:[],a=n?n.relativeFilepath:r;return i.push("hash-object","--",a),this.git.raw(i)}async discardAll({dir:r}){return this.discard(r!=null?r:".")}async pull(){this.plugin.setPluginState({gitAction:2});try{this.plugin.settings.updateSubmodules&&await this.git.subModule(["update","--remote","--merge","--recursive"]);let r=await this.branchInfo(),n=await this.git.revparse([r.current]);if(!r.tracking&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring pull of main repo and updating submodules only.");return}await this.git.fetch();let i=await this.git.revparse([r.tracking]);if(n!==i){if(this.plugin.settings.syncMethod==="merge"||this.plugin.settings.syncMethod==="rebase")try{switch(this.plugin.settings.syncMethod){case"merge":await this.git.merge([r.tracking]);break;case"rebase":await this.git.rebase([r.tracking])}}catch(o){this.plugin.displayError(`Pull failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`);return}else if(this.plugin.settings.syncMethod==="reset")try{await this.git.raw(["update-ref",`refs/heads/${r.current}`,i]),await this.unstageAll({})}catch(o){this.plugin.displayError(`Sync failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`)}this.app.workspace.trigger("obsidian-git:head-change");let a=await this.git.revparse([r.current]);return(await this.git.diff([`${n}..${a}`,"--name-only"])).split(/\r\n|\r|\n/).filter(o=>o.length>0).map(o=>({path:o,workingDir:"P",vaultPath:this.getRelativeVaultPath(o)}))}else return[]}catch(r){this.convertErrors(r)}}async push(){this.plugin.setPluginState({gitAction:5});try{if(this.plugin.settings.updateSubmodules){let s=await this.git.env({...process.env,OBSIDIAN_GIT:1}).subModule(["foreach","--recursive",`tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi`]);console.log(s)}let r=await this.git.status(),n=r.tracking,i=r.current;if(!n&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring push of main repo and updating submodules only.");return}let a=(await this.git.diffSummary([i,n,"--"])).changed;return await this.git.env({...process.env,OBSIDIAN_GIT:1}).push(),a}catch(r){this.convertErrors(r)}}async getUnpushedCommits(){let r=await this.git.status(),n=r.tracking,i=r.current;if(n==null||i==null)return 0;let[a,s]=ki(n);return(await this.getRemoteBranches(a)).includes(n)?(await this.git.diffSummary([i,n,"--"])).changed:(this.plugin.log(`Tracking branch ${n} does not exist on remote ${a}.`),0)}async canPush(){if(this.plugin.settings.updateSubmodules===!0)return!0;let r=await this.git.status(),n=r.tracking,i=r.current;return n?(await this.git.diffSummary([i,n,"--"])).changed!==0:!1}async checkRequirements(){return await this.isGitInstalled()?await this.git.checkIsRepo()?"valid":"missing-repo":"missing-git"}async branchInfo(){let r=await this.git.status(),n=await this.git.branch(["--no-color"]);return{current:r.current||void 0,tracking:r.tracking||void 0,branches:n.all}}async getRemoteUrl(r){try{return await this.git.remote(["get-url",r])||void 0}catch(n){if(String(n).contains(r))return;throw n}}async log(r,n=!0,i,a){let s;r&&(s=this.getRelativeRepoPath(r,n));let o={file:s,maxCount:i,"--diff-merges":"first-parent","--name-status":null};return a&&(o[a]=null),(await this.git.log(o)).all.map(c=>{var u,f,d,h;return{...c,author:{name:c.author_name,email:c.author_email},refs:c.refs.split(", ").filter(p=>p.length>0),diff:{...c.diff,files:(f=(u=c.diff)==null?void 0:u.files.map(p=>({...p,status:p.status,path:p.file,hash:c.hash,vaultPath:this.getRelativeVaultPath(p.file),fromPath:p.from,fromVaultPath:p.from!=null?this.getRelativeVaultPath(p.from):void 0,binary:p.binary})))!=null?f:[]},fileName:(h=(d=c.diff)==null?void 0:d.files.first())==null?void 0:h.file}})}async show(r,n,i=!0){let a=this.getRelativeRepoPath(n,i);return this.git.show([r+":"+a])}async checkout(r,n){if(n&&(r=`${n}/${r}`),await this.git.checkout(r),this.plugin.settings.submoduleRecurseCheckout){let i=await this.getSubmodulePaths();for(let a of i){let s=await this.git.cwd({path:a,root:!1}).branch();Object.keys(s.branches).includes(r)&&await this.git.cwd({path:a,root:!1}).checkout(r)}}}async createBranch(r){await this.git.checkout(["-b",r])}async deleteBranch(r,n){await this.git.branch([n?"-D":"-d",r])}async branchIsMerged(r){return!(await this.git.branch(["--no-merged"])).all.contains(r)}async init(){await this.git.init(!1)}async clone(r,n,i){await this.git.clone(r,Ve.join(this.app.vault.adapter.getBasePath(),n),i?["--depth",`${i}`]:[])}async setConfig(r,n){n==null?await this.git.raw(["config","--local","--unset",r]):await this.git.addConfig(r,n)}async getConfig(r){let i=(await this.git.listConfig("local")).all[r];if(typeof i=="string"||i==null)return i;throw new Error("Config value is not a string")}async fetch(r){await this.git.fetch(r!=null?[r]:[])}async setRemote(r,n){(await this.getRemotes()).includes(r)?await this.git.remote(["set-url",r,n]):await this.git.remote(["add",r,n])}async getRemoteBranches(r){let n=await this.git.branch(["-r","--list",`${r}*`]),i=[];for(let a in n.branches)i.push(n.branches[a].name);return i}async getRemotes(){let r=await this.git.remote([]);return r?r.trim().split(` +`):[]}async removeRemote(r){await this.git.removeRemote(r)}async updateUpstreamBranch(r){try{await this.git.branch(["--set-upstream-to",r])}catch(n){try{await this.git.branch(["--set-upstream",r])}catch(i){let[a,s]=ki(r),o=await this.branchInfo();await this.git.push(["--set-upstream",a,`${o.current}:${s}`])}}}updateGitPath(r){return this.setGitInstance()}updateBasePath(r){return this.setGitInstance(!0)}async getDiffString(r,n=!1,i){return n?await this.git.diff(["--cached","--",r]):i?await this.git.show([`${i}`,"--",r]):await this.git.diff(["--",r])}async diff(r,n,i){return await this.git.diff([`${n}..${i}`,"--",r])}async rawCommand(r){let n=r.split(" ");return await this.git.raw(n[0],...n.slice(1))}async getSubmoduleOfFile(r){if(!await this.app.vault.adapter.exists(Ve.dirname(r)))return;let n=await this.git.raw(["-C",Ve.dirname(r),"rev-parse","--show-toplevel"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message));if(n=n.trim(),(await this.git.raw(["-C",Ve.dirname(r),"rev-parse","--show-superproject-working-tree"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message))).trim()==="")return;let s=this.app.vault.adapter.getFullPath(Ve.normalize(r)),o=Ve.relative(n,s);return{submodule:n,relativeFilepath:o}}async getLastCommitTime(){try{let r=await this.git.log({n:1});if(r!=null&&r.latest!=null)return new Date(r.latest.date)}catch(r){if(r instanceof wr){if(r.message.contains("does not have any commits yet"))return}else throw r}}async isGitInstalled(){let r=this.plugin.localStorage.getGitPath(),n=await $c(r||"git",["--version"],{});if(n.error)if(Ti.Platform.isWin&&!r){this.plugin.log(`Git not found in PATH. Checking standard installation path(${hd}) of Git for Windows.`);let i=await $c(hd,["--version"]);if(i.error)return console.error(i.error),!1;this.useDefaultWindowsGitPath=!0}else return console.error(n.error),!1;else this.useDefaultWindowsGitPath=!1;return!0}convertErrors(r){if(r instanceof wr){let n=String(r.message);if(n.contains("Could not resolve host")||n.contains("Unable to resolve host")||n.match(/ssh: connect to host .*? port .*?: Operation timed out/)!=null||n.match(/ssh: connect to host .*? port .*?: Network is unreachable/)!=null||n.match(/ssh: connect to host .*? port .*?: Undefined error: 0/)!=null)throw new Co(n)}throw r}async isFileTrackedByLFS(r){try{return(await this.git.raw(["check-attr","filter",r])).includes("filter: lfs")}catch(n){let i=n instanceof Error?n.message:String(n);return this.plugin.displayError(`Error checking LFS status: ${i}`),!1}}},m3={hash:"000000",isZeroCommit:!0,summary:""};function jH(t){let r=t.replace(`\r +`,` +`).split(` +`),n={commits:new Map,hashPerLine:[void 0],originalFileLineNrPerLine:[void 0],finalFileLineNrPerLine:[void 0],groupSizePerStartingLine:new Map},i=1;for(let a=0;a=4&&r.groupSizePerStartingLine.set(e,parseInt(t[3])),parseInt(t[2])!==e)throw Error(`git-blame output is out of order: ${e} vs ${t[2]}`);return n}function BH(t,e,r){let n=t[0],i=t.slice(1).join(" "),a=e.hashPerLine[r],s=e.commits.get(a)||{hash:a,author:{},committer:{},previous:{}};switch(n){case"summary":s.summary=i;break;case"author":s.author.name=i;break;case"author-mail":s.author.email=h3(i);break;case"author-time":s.author.epochSeconds=parseInt(i);break;case"author-tz":s.author.tz=i;break;case"committer":s.committer.name=i;break;case"committer-mail":s.committer.email=h3(i);break;case"committer-time":s.committer.epochSeconds=parseInt(i);break;case"committer-tz":s.committer.tz=i;break;case"previous":s.previous.commitHash=i;break;case"filename":s.previous.filename=i;break}e.commits.set(a,s)}function HH(t){if(t.summary===void 0)throw Error(`Summary not provided for commit: ${t.hash}`);yv(t.author)&&(t.author=void 0),yv(t.committer)&&(t.committer=void 0),yv(t.previous)&&(t.previous=void 0),t.isZeroCommit=!!t.hash.match(/^0*$/)}function yv(t){return!t||Object.keys(t).length===0}function d3(t){return t.length>0&&t[0].trim()===t[0]}function h3(t){let e=t.startsWith("<")?t.substring(1):t;return e.endsWith(">")?e.substring(0,e.length-1):e}m();var Q3=require("@codemirror/state");m();var O3=require("@codemirror/state"),th=require("obsidian");m();var bv=class{constructor(){this.eventsPerFilepath=new Map;this.startRemoveStalesSubscribersInterval()}ifFilepathDefinedTransformSubscribers(e,r){if(e)return this.ensureInitialized(e),r(this.eventsPerFilepath.get(e))}forEachSubscriber(e){this.eventsPerFilepath.forEach(r=>r.forEach(e))}ensureInitialized(e){this.eventsPerFilepath.get(e)||this.eventsPerFilepath.set(e,new Set)}startRemoveStalesSubscribersInterval(){this.removeStalesSubscribersTimer=window.setInterval(()=>this==null?void 0:this.forEachSubscriber(e=>e==null?void 0:e.removeIfStale()),6e4)}clear(){window.clearInterval(this.removeStalesSubscribersTimer),this.eventsPerFilepath.clear()}},Do=new bv;m();var Jd=require("@codemirror/state"),T3=Ot(_v());m();var z=require("obsidian");m();m();function yn(){}yn.prototype={diff:function(e,r){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=i.callback;typeof i=="function"&&(a=i,i={});var s=this;function o(S){return S=s.postProcess(S,i),a?(setTimeout(function(){a(S)},0),!0):S}e=this.castInput(e,i),r=this.castInput(r,i),e=this.removeEmpty(this.tokenize(e,i)),r=this.removeEmpty(this.tokenize(r,i));var l=r.length,c=e.length,u=1,f=l+c;i.maxEditLength!=null&&(f=Math.min(f,i.maxEditLength));var d=(n=i.timeout)!==null&&n!==void 0?n:1/0,h=Date.now()+d,p=[{oldPos:-1,lastComponent:void 0}],g=this.extractCommon(p[0],r,e,0,i);if(p[0].oldPos+1>=c&&g+1>=l)return o(g3(s,p[0].lastComponent,r,e,s.useLongestToken));var v=-1/0,y=1/0;function b(){for(var S=Math.max(v,-u);S<=Math.min(y,u);S+=2){var A=void 0,k=p[S-1],w=p[S+1];k&&(p[S-1]=void 0);var x=!1;if(w){var _=w.oldPos-S;x=w&&0<=_&&_=c&&g+1>=l)return o(g3(s,A.lastComponent,r,e,s.useLongestToken));p[S]=A,A.oldPos+1>=c&&(y=Math.min(y,S-1)),g+1>=l&&(v=Math.max(v,S+1))}u++}if(a)(function S(){setTimeout(function(){if(u>f||Date.now()>h)return a();b()||S()},0)})();else for(;u<=f&&Date.now()<=h;){var E=b();if(E)return E}},addToPath:function(e,r,n,i,a){var s=e.lastComponent;return s&&!a.oneChangePerToken&&s.added===r&&s.removed===n?{oldPos:e.oldPos+i,lastComponent:{count:s.count+1,added:r,removed:n,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+i,lastComponent:{count:1,added:r,removed:n,previousComponent:s}}},extractCommon:function(e,r,n,i,a){for(var s=r.length,o=n.length,l=e.oldPos,c=l-i,u=0;c+1h.length?g:h}),f.value=t.join(d)}else f.value=t.join(r.slice(c,c+f.count));c+=f.count,f.added||(u+=f.count)}}return a}var UH=new yn;function E3(t,e,r){return UH.diff(t,e,r)}function v3(t,e){var r;for(r=0;re.length&&(r=t.length-e.length);var n=e.length;t.length0&&e[s]!=e[a];)a=i[a];e[s]==e[a]&&a++}a=0;for(var o=r;o0&&t[o]!=e[a];)a=i[a];t[o]==e[a]&&a++}return a}var zd="a-zA-Z0-9_\\u{C0}-\\u{FF}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",zH=new RegExp("[".concat(zd,"]+|\\s+|[^").concat(zd,"]"),"ug"),qd=new yn;qd.equals=function(t,e,r){return r.ignoreCase&&(t=t.toLowerCase(),e=e.toLowerCase()),t.trim()===e.trim()};qd.tokenize=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r;if(e.intlSegmenter){if(e.intlSegmenter.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');r=Array.from(e.intlSegmenter.segment(t),function(a){return a.segment})}else r=t.match(zH)||[];var n=[],i=null;return r.forEach(function(a){/\s/.test(a)?i==null?n.push(a):n.push(n.pop()+a):/\s/.test(i)?n[n.length-1]==i?n.push(n.pop()+a):n.push(i+a):n.push(a),i=a}),n};qd.join=function(t){return t.map(function(e,r){return r==0?e:e.replace(/^\s+/,"")}).join("")};qd.postProcess=function(t,e){if(!t||e.oneChangePerToken)return t;var r=null,n=null,i=null;return t.forEach(function(a){a.added?n=a:a.removed?i=a:((n||i)&&b3(r,i,n,a),r=a,n=null,i=null)}),(n||i)&&b3(r,i,n,null),t};function b3(t,e,r,n){if(e&&r){var i=e.value.match(/^\s*/)[0],a=e.value.match(/\s*$/)[0],s=r.value.match(/^\s*/)[0],o=r.value.match(/\s*$/)[0];if(t){var l=v3(i,s);t.value=Ev(t.value,s,l),e.value=Lc(e.value,l),r.value=Lc(r.value,l)}if(n){var c=y3(a,o);n.value=Sv(n.value,o,c),e.value=Gd(e.value,c),r.value=Gd(r.value,c)}}else if(r)t&&(r.value=r.value.replace(/^\s*/,"")),n&&(n.value=n.value.replace(/^\s*/,""));else if(t&&n){var u=n.value.match(/^\s*/)[0],f=e.value.match(/^\s*/)[0],d=e.value.match(/\s*$/)[0],h=v3(u,f);e.value=Lc(e.value,h);var p=y3(Lc(u,h),d);e.value=Gd(e.value,p),n.value=Sv(n.value,u,p),t.value=Ev(t.value,u,u.slice(0,u.length-p.length))}else if(n){var g=n.value.match(/^\s*/)[0],v=e.value.match(/\s*$/)[0],y=w3(v,g);e.value=Gd(e.value,y)}else if(t){var b=t.value.match(/\s*$/)[0],E=e.value.match(/^\s*/)[0],S=w3(b,E);e.value=Lc(e.value,S)}}var A3=new yn;A3.tokenize=function(t){var e=new RegExp("(\\r?\\n)|[".concat(zd,"]+|[^\\S\\n\\r]+|[^").concat(zd,"]"),"ug");return t.match(e)||[]};function k3(t,e,r){return A3.diff(t,e,r)}var Wd=new yn;Wd.tokenize=function(t,e){e.stripTrailingCr&&(t=t.replace(/\r\n/g,` +`));var r=[],n=t.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var i=0;it.length)&&(e=t.length);for(var r=0,n=new Array(e);r0?f(I.lines.slice(-s.context)):[],h-=g.length,p-=g.length)}(C=g).push.apply(C,xv(T.map(function(le){return(_.added?"+":"-")+le}))),_.added?y+=T.length:v+=T.length}else{if(h)if(T.length<=s.context*2&&E(0,ma.normalizePath)(a.substring(e.length))):i=n,i}async mkdir(e){return this.adapter.mkdir(e)}async rmdir(e,r){var n,i;return this.adapter.rmdir(e,(i=(n=r==null?void 0:r.options)==null?void 0:n.recursive)!=null?i:!1)}async stat(e){if(e.endsWith(this.gitDir+"/index")){if(this.index!==void 0&&this.indexctime!=null&&this.indexmtime!=null)return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,size:this.index.byteLength,type:"file",ctimeMs:this.indexctime,mtimeMs:this.indexmtime};{let n=await this.adapter.stat(e);if(n==null)throw{code:"ENOENT"};return this.indexctime=n.ctime,this.indexmtime=n.mtime,{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}}}e==="."&&(e="/");let r=this.vault.getAbstractFileByPath(e);if(this.maybeLog("Stat: "+e),r instanceof ma.TFile)return this.maybeLog("Reuse stat"),{ctimeMs:r.stat.ctime,mtimeMs:r.stat.mtime,size:r.stat.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1};{let n=await this.adapter.stat(e);if(n)return{ctimeMs:n.ctime,mtimeMs:n.mtime,size:n.size,type:n.type==="folder"?"directory":n.type,isFile:()=>n.type==="file",isDirectory:()=>n.type==="folder",isSymbolicLink:()=>!1};throw{code:"ENOENT"}}}async unlink(e){return this.adapter.remove(e)}async lstat(e){return this.stat(e)}async readlink(e){throw new Error(`readlink of (${e}) is not implemented.`)}async symlink(e){throw new Error(`symlink of (${e}) is not implemented.`)}async saveAndClear(){this.index!==void 0&&await this.adapter.writeBinary(this.plugin.gitManager.getRelativeVaultPath(this.gitDir+"/index"),this.index,{ctime:this.indexctime,mtime:this.indexmtime}),this.clearIndex()}clearIndex(){this.index=void 0,this.indexctime=void 0,this.indexmtime=void 0}get gitDir(){return this.plugin.settings.gitDir||".git"}maybeLog(e){}};var wn=class extends $o{constructor(r){super(r);this.FILE=0;this.HEAD=1;this.WORKDIR=2;this.STAGE=3;this.status_mapping={"000":" ","003":"AD","020":"??","022":"A ","023":"AM",100:"D ",101:" D",103:"MD",110:"DA",111:" ",113:"MM",120:"DA",121:" M",122:"M ",123:"MM"};this.noticeLength=999999;this.fs=new Xd(this.app.vault,this.plugin)}getRepo(){return{fs:this.fs,dir:this.plugin.settings.basePath,gitdir:this.plugin.settings.gitDir||void 0,onAuth:()=>{var r,n;return{username:(r=this.plugin.localStorage.getUsername())!=null?r:void 0,password:(n=this.plugin.localStorage.getPassword())!=null?n:void 0}},onAuthFailure:async()=>{new rs.Notice("Authentication failed. Please try with different credentials");let r=await new ze(this.plugin,{placeholder:"Specify your username"}).openAndGetResult();if(r){let n=await new ze(this.plugin,{placeholder:"Specify your password/personal access token"}).openAndGetResult();if(n)return this.plugin.localStorage.setUsername(r),this.plugin.localStorage.setPassword(n),{username:r,password:n}}return{cancel:!0}},http:{async request({url:r,method:n,headers:i,body:a}){let s;a&&(s=await iU(a));let o=await(0,rs.requestUrl)({url:r,method:n,headers:i,body:s,throw:!1});return{url:r,method:n,headers:o.headers,body:nU(o.arrayBuffer),statusCode:o.status,statusMessage:o.status.toString()}}}}}async wrapFS(r){try{let n=await r;return await this.fs.saveAndClear(),n}catch(n){throw await this.fs.saveAndClear(),n}}async status(r){let n,i=window.setTimeout(()=>{n=new rs.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{this.plugin.setPluginState({gitAction:1});let a={...this.getRepo()};(r==null?void 0:r.path)!=null&&(a.filepaths=[`${r.path}/`]);let s=(await this.wrapFS(re.default.statusMatrix(a))).map(f=>this.getFileStatusResult(f)),o=[],l=[],c=[];for(let f of s)f.workingDir!==" "&&o.push(f),f.index!==" "&&f.index!=="U"&&l.push(f),(f.index!=" "||f.workingDir!=" ")&&c.push(f);let u=[];return window.clearTimeout(i),n==null||n.hide(),{all:c,changed:o,staged:l,conflicted:u}}catch(a){throw window.clearTimeout(i),n==null||n.hide(),this.plugin.displayError(a),a}}async commitAll({message:r,status:n,unstagedFiles:i}){try{return await this.checkAuthorInfo(),await this.stageAll({status:n,unstagedFiles:i}),this.commit({message:r})}catch(a){throw this.plugin.displayError(a),a}}async commit({message:r}){try{await this.checkAuthorInfo(),this.plugin.setPluginState({gitAction:4});let n=await this.formatCommitMessage(r),i=this.plugin.localStorage.getConflict(),a;if(i){let s=await this.branchInfo();a=[s.current,s.tracking]}await this.wrapFS(re.default.commit({...this.getRepo(),message:n,parent:a})),this.plugin.localStorage.setConflict(!1);return}catch(n){throw this.plugin.displayError(n),n}}async stage(r,n){let i=this.getRelativeRepoPath(r,n),a;n?a=r:a=this.getRelativeVaultPath(r);try{this.plugin.setPluginState({gitAction:3}),await this.app.vault.adapter.exists(a)?await this.wrapFS(re.default.add({...this.getRepo(),filepath:i})):await this.wrapFS(re.default.remove({...this.getRepo(),filepath:i}))}catch(s){throw this.plugin.displayError(s),s}}async stageAll({dir:r,status:n,unstagedFiles:i}){try{if(n)await Promise.all(n.changed.map(a=>a.workingDir!=="D"?this.wrapFS(re.default.add({...this.getRepo(),filepath:a.path})):re.default.remove({...this.getRepo(),filepath:a.path})));else{let a=i!=null?i:await this.getUnstagedFiles(r!=null?r:".");await Promise.all(a.map(({path:s,type:o})=>o=="D"?re.default.remove({...this.getRepo(),filepath:s}):this.wrapFS(re.default.add({...this.getRepo(),filepath:s}))))}}catch(a){throw this.plugin.displayError(a),a}}async unstage(r,n){try{this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,n),await this.wrapFS(re.default.resetIndex({...this.getRepo(),filepath:r}))}catch(i){throw this.plugin.displayError(i),i}}async unstageAll({dir:r,status:n}){try{let i;n?i=n.staged.map(a=>a.path):i=(await this.getStagedFiles(r!=null?r:".")).map(({path:s})=>s),await this.wrapFS(Promise.all(i.map(a=>re.default.resetIndex({...this.getRepo(),filepath:a}))))}catch(i){throw this.plugin.displayError(i),i}}async discard(r){try{this.plugin.setPluginState({gitAction:3}),await this.wrapFS(re.default.checkout({...this.getRepo(),filepaths:[r],force:!0}))}catch(n){throw this.plugin.displayError(n),n}}async discardAll({dir:r,status:n}){let i=[];n?r!=null?i=n.changed.filter(a=>a.workingDir!="U"&&a.path.startsWith(r)).map(a=>a.path):i=n.changed.filter(a=>a.workingDir!="U").map(a=>a.path):i=(await this.getUnstagedFiles(r)).filter(a=>a.type!="A").map(({path:a})=>a);try{await this.wrapFS(re.default.checkout({...this.getRepo(),filepaths:i,force:!0}))}catch(a){throw this.plugin.displayError(a),a}}async getUntrackedPaths(r){let n=[];if(r.status)for(let i of r.status.changed)i.index=="U"&&i.workingDir==="U"&&i.path.startsWith(r.path!=null?`${r.path}/`:"")&&n.push(i.path);else{let i=await this.status({path:r==null?void 0:r.path});for(let a of i.changed)a.index==="U"&&a.workingDir==="U"&&n.push(a.path)}return n}getProgressText(r,n){let i=`${r} progress:`;return n.phase&&(i=`${i} ${n.phase}:`),n.loaded&&(i=`${i} ${n.loaded}`,n.total&&(i=`${i} of ${n.total}`)),i}resolveRef(r){return this.wrapFS(re.default.resolveRef({...this.getRepo(),ref:r}))}async pull(){let r=this.showNotice("Initializing pull");try{this.plugin.setPluginState({gitAction:2});let n=await this.resolveRef("HEAD");await this.fetch();let i=await this.branchInfo();await this.checkAuthorInfo(),(await this.wrapFS(re.default.merge({...this.getRepo(),ours:i.current,theirs:i.tracking,abortOnConflict:!1}))).alreadyMerged||await this.wrapFS(re.default.checkout({...this.getRepo(),ref:i.current,onProgress:l=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Checkout",l))},remote:i.remote})),r==null||r.hide();let s=await this.resolveRef("HEAD"),o=await this.getFileChangesCount(n,s);return this.showNotice("Finished pull",!1),o.map(l=>({path:l.path,workingDir:"P",index:"P",vaultPath:this.getRelativeVaultPath(l.path)}))}catch(n){throw r==null||r.hide(),n instanceof re.Errors.MergeConflictError&&await this.plugin.handleConflict(n.data.filepaths.map(i=>this.getRelativeVaultPath(i))),this.plugin.displayError(n),n}}async push(){if(!await this.canPush())return 0;let r=this.showNotice("Initializing push");try{this.plugin.setPluginState({gitAction:1});let n=await this.branchInfo(),i=n.tracking,a=n.current,s=(await this.getFileChangesCount(a,i)).length;this.plugin.setPluginState({gitAction:5});let o=await this.getCurrentRemote();return await this.wrapFS(re.default.push({...this.getRepo(),remote:o,onProgress:l=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Pushing",l))}})),r==null||r.hide(),s}catch(n){throw r==null||r.hide(),this.plugin.displayError(n),n}}async getUnpushedCommits(){let r=await this.branchInfo(),n=r.tracking,i=r.current;if(n==null||i==null)return 0;let a=await this.resolveRef(i),s=await this.resolveRef(n);return(await this.getFileChangesCount(a,s)).length}async canPush(){let r=await this.branchInfo(),n=r.tracking,i=r.current,a=await this.resolveRef(i),s=await this.resolveRef(n);return a!=s}async checkRequirements(){return await this.plugin.app.vault.adapter.exists(`${this.getRepo().dir}/.git/HEAD`)?"valid":"missing-repo"}async branchInfo(){var r,n;try{let i=await re.default.currentBranch(this.getRepo())||"",a=await re.default.listBranches(this.getRepo()),s=(r=await this.getConfig(`branch.${i}.remote`))!=null?r:"origin",o=(n=await this.getConfig(`branch.${i}.merge`))==null?void 0:n.split("refs/heads")[1],l=o?s+o:void 0;return{current:i,tracking:l,branches:a,remote:s}}catch(i){throw this.plugin.displayError(i),i}}async getCurrentRemote(){var i;let r=await re.default.currentBranch(this.getRepo())||"";return(i=await this.getConfig(`branch.${r}.remote`))!=null?i:"origin"}async checkout(r,n){try{return this.wrapFS(re.default.checkout({...this.getRepo(),ref:r,force:!!n,remote:n}))}catch(i){throw this.plugin.displayError(i),i}}async createBranch(r){try{await this.wrapFS(re.default.branch({...this.getRepo(),ref:r,checkout:!0}))}catch(n){throw this.plugin.displayError(n),n}}async deleteBranch(r){try{await this.wrapFS(re.default.deleteBranch({...this.getRepo(),ref:r}))}catch(n){throw this.plugin.displayError(n),n}}branchIsMerged(r){return Promise.resolve(!0)}async init(){try{await this.wrapFS(re.default.init(this.getRepo()))}catch(r){throw this.plugin.displayError(r),r}}async clone(r,n,i){let a=this.showNotice("Initializing clone");try{await this.wrapFS(re.default.clone({...this.getRepo(),dir:n,url:r,depth:i,onProgress:s=>{a!==void 0&&(a.noticeEl.innerText=this.getProgressText("Cloning",s))}})),a==null||a.hide()}catch(s){throw a==null||a.hide(),this.plugin.displayError(s),s}}async setConfig(r,n){try{return this.wrapFS(re.default.setConfig({...this.getRepo(),path:r,value:n}))}catch(i){throw this.plugin.displayError(i),i}}async getConfig(r){try{return this.wrapFS(re.default.getConfig({...this.getRepo(),path:r}))}catch(n){throw this.plugin.displayError(n),n}}async fetch(r){let n=this.showNotice("Initializing fetch");try{let i={...this.getRepo(),onProgress:a=>{n!==void 0&&(n.noticeEl.innerText=this.getProgressText("Fetching",a))},remote:r!=null?r:await this.getCurrentRemote()};await this.wrapFS(re.default.fetch(i)),n==null||n.hide()}catch(i){throw this.plugin.displayError(i),n==null||n.hide(),i}}async setRemote(r,n){try{await this.wrapFS(re.default.addRemote({...this.getRepo(),remote:r,url:n,force:!0}))}catch(i){throw this.plugin.displayError(i),i}}async getRemoteBranches(r){let n=[];return n.push(...await this.wrapFS(re.default.listBranches({...this.getRepo(),remote:r}))),n.remove("HEAD"),n=n.map(i=>`${r}/${i}`),n}async getRemotes(){return(await this.wrapFS(re.default.listRemotes({...this.getRepo()}))).map(r=>r.remote)}async removeRemote(r){await this.wrapFS(re.default.deleteRemote({...this.getRepo(),remote:r}))}async getRemoteUrl(r){var n;return(n=(await this.wrapFS(re.default.listRemotes({...this.getRepo()}))).filter(i=>i.remote==r)[0])==null?void 0:n.url}async log(r,n=!0,i,a){let s=await this.wrapFS(re.default.log({...this.getRepo(),depth:i,ref:a}));return Promise.all(s.map(async o=>{let l=o.commit.message.split(` + +`);return{message:l[0],author:{name:o.commit.author.name,email:o.commit.author.email},body:l.slice(1).join(` + +`),date:new Date(o.commit.committer.timestamp).toDateString(),diff:{changed:0,files:(await this.getFileChangesCount(o.commit.parent.first(),o.oid)).map(c=>({path:c.path,status:c.type,vaultPath:this.getRelativeVaultPath(c.path),hash:o.oid}))},hash:o.oid,refs:[]}}))}updateBasePath(r){return this.getRepo().dir=r,Promise.resolve()}async updateUpstreamBranch(r){let[n,i]=ki(r),a=await this.branchInfo();await this.wrapFS(re.default.push({...this.getRepo(),remote:n,remoteRef:i})),await this.setConfig(`branch.${a.current}.merge`,`refs/heads/${i}`)}updateGitPath(r){return Promise.resolve()}async getFileChangesCount(r,n){return this.walkDifference({walkers:[re.default.TREE({ref:r}),re.default.TREE({ref:n})]})}async walkDifference({walkers:r,dir:n}){return await this.wrapFS(re.default.walk({...this.getRepo(),trees:r,map:async function(a,[s,o]){if(!pv(a,n))return null;if(await(s==null?void 0:s.type())==="tree"||await(o==null?void 0:o.type())==="tree")return;let l=await(s==null?void 0:s.oid()),c=await(o==null?void 0:o.oid()),u="equal";if(l!==c&&(u="M"),l===void 0&&(u="A"),c===void 0&&(u="D"),l===void 0&&c===void 0&&(console.log("Something weird happened:"),console.log(s),console.log(o)),u!=="equal")return{path:a,type:u}}}))}async getStagedFiles(r="."){return(await this.walkDifference({walkers:[re.default.TREE({ref:"HEAD"}),re.default.STAGE()],dir:r})).map(i=>({vaultPath:this.getRelativeVaultPath(i.path),path:i.path}))}async getUnstagedFiles(r="."){let n,i=window.setTimeout(()=>{n=new rs.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let a=this.getRepo(),s=await this.wrapFS(re.default.walk({...a,trees:[re.default.WORKDIR(),re.default.STAGE()],map:async function(o,[l,c]){if(!c&&l&&await re.default.isIgnored({...a,filepath:o})||!pv(o,r))return null;let[u,f]=await Promise.all([l&&l.type(),c&&c.type()]),d=[u,f].includes("blob");if((u==="tree"||u==="special")&&!d)return;if(f==="commit")return null;if((f==="tree"||f==="special")&&!d)return;let h=f==="blob"?await c.oid():void 0,p;return u==="blob"&&f!=="blob"?p="42":u==="blob"&&(p=await l.oid()),p?h?p!==h?{path:o,type:"M"}:null:{path:o,type:"A"}:{path:o,type:"D"}}}));return window.clearTimeout(i),n==null||n.hide(),s}catch(a){throw window.clearTimeout(i),n==null||n.hide(),this.plugin.displayError(a),a}}async getDiffString(r,n=!1,i){let a=this.getRelativeVaultPath(r),s=async(c,[u])=>{if(r==c){let f=await u.oid();return(await re.default.readBlob({...this.getRepo(),oid:f})).blob}};if(i){let c=await(0,re.readBlob)({...this.getRepo(),filepath:r,oid:i}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof re.default.Errors.NotFoundError))throw h}),u=await re.default.readCommit({...this.getRepo(),oid:i}),f=await(0,re.readBlob)({...this.getRepo(),filepath:r,oid:u.commit.parent.first()}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof re.default.Errors.NotFoundError))throw h});return Yd(a,f!=null?f:"",c!=null?c:"")}let o=(await re.default.walk({...this.getRepo(),trees:[re.default.STAGE()],map:s})).first(),l=new TextDecoder().decode(o);if(n){let c=await this.resolveRef("HEAD").then(f=>(0,re.readBlob)({...this.getRepo(),filepath:r,oid:f})).then(f=>new TextDecoder().decode(f.blob)).catch(f=>{if(!(f instanceof re.default.Errors.NotFoundError))throw f});return Yd(a,c!=null?c:"",l)}else{let c;return await this.app.vault.adapter.exists(a)?c=await this.app.vault.adapter.read(a):c="",Yd(a,l,c)}}async getLastCommitTime(){let r=this.getRepo(),n=await this.resolveRef("HEAD"),a=(await re.default.readCommit({...r,oid:n})).commit.committer.timestamp;return new Date(a*1e3)}getFileStatusResult(r){let n=this.status_mapping[`${r[this.HEAD]}${r[this.WORKDIR]}${r[this.STAGE]}`];return{index:n[0]=="?"?"U":n[0],workingDir:n[1]=="?"?"U":n[1],path:r[this.FILE],vaultPath:this.getRelativeVaultPath(r[this.FILE])}}async checkAuthorInfo(){let r=await this.getConfig("user.name"),n=await this.getConfig("user.email");if(!r||!n)throw Error("Git author name and email are not set. Please set both fields in the settings.")}showNotice(r,n=!0){if(!this.plugin.settings.disablePopups)return new rs.Notice(r,n?this.noticeLength:void 0)}};async function*nU(t){yield new Uint8Array(t)}async function iU(t){let e=new ReadableStream({async start(n){for await(let i of t)n.enqueue(i);n.close()}});return await new Response(e).arrayBuffer()}var aU="https://momentjs.com/docs/#/parsing/string-format/",sU="https://publish.obsidian.md/git-doc/Line+Authoring",Kd=class extends z.PluginSettingTab{constructor(r,n){super(r,n);this.plugin=n;this.lineAuthorColorSettings=new Map}get settings(){return this.plugin.settings}display(){let{containerEl:r}=this,n=this.plugin,i;n.settings.differentIntervalCommitAndPush?i="commit":i="commit-and-sync";let a=n.gitReady;r.empty(),a||(r.createEl("p",{text:"Git is not ready. When all settings are correct you can configure commit-sync, etc."}),r.createEl("br"));let s;if(a){new z.Setting(r).setName("Automatic").setHeading(),new z.Setting(r).setName("Split timers for automatic commit and sync").setDesc("Enable to use one interval for commit and another for sync.").addToggle(u=>u.setValue(n.settings.differentIntervalCommitAndPush).onChange(async f=>{n.settings.differentIntervalCommitAndPush=f,await n.saveSettings(),n.automaticsManager.reload("commit","push"),this.refreshDisplayWithDelay()})),new z.Setting(r).setName(`Auto ${i} interval (minutes)`).setDesc(`${n.settings.differentIntervalCommitAndPush?"Commit":"Commit and sync"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)`).addText(u=>{u.inputEl.type="number",this.setNonDefaultValue({text:u,settingsProperty:"autoSaveInterval"}),u.setPlaceholder(String(Xe.autoSaveInterval)),u.onChange(async f=>{f!==""?n.settings.autoSaveInterval=Number(f):n.settings.autoSaveInterval=Xe.autoSaveInterval,await n.saveSettings(),n.automaticsManager.reload("commit")})}),s=new z.Setting(r).setName(`Auto ${i} after stopping file edits`).setDesc(`Requires the ${i} interval not to be 0. + If turned on, do auto ${i} every ${c3(n.settings.autoSaveInterval)} after stopping file edits. + This also prevents auto ${i} while editing a file. If turned off, it's independent from the last file edit.`).addToggle(u=>u.setValue(n.settings.autoBackupAfterFileChange).onChange(async f=>{n.settings.autoBackupAfterFileChange=f,this.refreshDisplayWithDelay(),await n.saveSettings(),n.automaticsManager.reload("commit")})),this.mayDisableSetting(s,n.settings.setLastSaveToLastCommit),s=new z.Setting(r).setName(`Auto ${i} after latest commit`).setDesc(`If turned on, sets last auto ${i} timestamp to the latest commit timestamp. This reduces the frequency of auto ${i} when doing manual commits.`).addToggle(u=>u.setValue(n.settings.setLastSaveToLastCommit).onChange(async f=>{n.settings.setLastSaveToLastCommit=f,await n.saveSettings(),n.automaticsManager.reload("commit"),this.refreshDisplayWithDelay()})),this.mayDisableSetting(s,n.settings.autoBackupAfterFileChange),s=new z.Setting(r).setName("Auto push interval (minutes)").setDesc("Push commits every X minutes. Set to 0 (default) to disable.").addText(u=>{u.inputEl.type="number",this.setNonDefaultValue({text:u,settingsProperty:"autoPushInterval"}),u.setPlaceholder(String(Xe.autoPushInterval)),u.onChange(async f=>{f!==""?n.settings.autoPushInterval=Number(f):n.settings.autoPushInterval=Xe.autoPushInterval,await n.saveSettings(),n.automaticsManager.reload("push")})}),this.mayDisableSetting(s,!n.settings.differentIntervalCommitAndPush),new z.Setting(r).setName("Auto pull interval (minutes)").setDesc("Pull changes every X minutes. Set to 0 (default) to disable.").addText(u=>{u.inputEl.type="number",this.setNonDefaultValue({text:u,settingsProperty:"autoPullInterval"}),u.setPlaceholder(String(Xe.autoPullInterval)),u.onChange(async f=>{f!==""?n.settings.autoPullInterval=Number(f):n.settings.autoPullInterval=Xe.autoPullInterval,await n.saveSettings(),n.automaticsManager.reload("pull")})}),new z.Setting(r).setName(`Auto ${i} only staged files`).setDesc(`If turned on, only staged files are committed on ${i}. If turned off, all changed files are committed.`).addToggle(u=>u.setValue(n.settings.autoCommitOnlyStaged).onChange(async f=>{n.settings.autoCommitOnlyStaged=f,await n.saveSettings()})),new z.Setting(r).setName(`Specify custom commit message on auto ${i}`).setDesc("You will get a pop up to specify your message.").addToggle(u=>u.setValue(n.settings.customMessageOnAutoBackup).onChange(async f=>{n.settings.customMessageOnAutoBackup=f,await n.saveSettings(),this.refreshDisplayWithDelay()})),s=new z.Setting(r).setName(`Commit message on auto ${i}`).setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message).").addTextArea(u=>{u.setPlaceholder(Xe.autoCommitMessage).onChange(async f=>{f===""?n.settings.autoCommitMessage=Xe.autoCommitMessage:n.settings.autoCommitMessage=f,await n.saveSettings()}),this.setNonDefaultValue({text:u,settingsProperty:"autoCommitMessage"})}),this.mayDisableSetting(s,n.settings.customMessageOnAutoBackup),new z.Setting(r).setName("Commit message").setHeading(),new z.Setting(r).setName("Commit message on manual commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message).").addTextArea(u=>{u.setPlaceholder(Xe.commitMessage).onChange(async f=>{f===""?n.settings.commitMessage=Xe.commitMessage:n.settings.commitMessage=f,await n.saveSettings()}),this.setNonDefaultValue({text:u,settingsProperty:"commitMessage"})}),new z.Setting(r).setName("Commit message script").setDesc("A script that is run using 'sh -c' to generate the commit message. May be used to generate commit messages using AI tools. Available placeholders: {{hostname}}, {{date}}.").addText(u=>{u.onChange(async f=>{f===""?n.settings.commitMessageScript=Xe.commitMessageScript:n.settings.commitMessageScript=f,await n.saveSettings()}),this.setNonDefaultValue({text:u,settingsProperty:"commitMessageScript"})});let c=new z.Setting(r).setName("{{date}} placeholder format").addMomentFormat(u=>u.setDefaultFormat(n.settings.commitDateFormat).setValue(n.settings.commitDateFormat).onChange(async f=>{n.settings.commitDateFormat=f,await n.saveSettings()}));c.descEl.innerHTML=` + Specify custom date format. E.g. "${l0}. See Moment.js for more formats.`,new z.Setting(r).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText(u=>{var f;return u.setValue((f=n.localStorage.getHostname())!=null?f:"").onChange(d=>{n.localStorage.setHostname(d)})}),new z.Setting(r).setName("Preview commit message").addButton(u=>u.setButtonText("Preview").onClick(async()=>{let f=await n.gitManager.formatCommitMessage(n.settings.commitMessage);new z.Notice(`${f}`)})),new z.Setting(r).setName("List filenames affected by commit in the commit body").addToggle(u=>u.setValue(n.settings.listChangedFilesInMessageBody).onChange(async f=>{n.settings.listChangedFilesInMessageBody=f,await n.saveSettings()})),new z.Setting(r).setName("Pull").setHeading(),n.gitManager instanceof Ce&&new z.Setting(r).setName("Merge strategy").setDesc("Decide how to integrate commits from your remote branch into your local branch.").addDropdown(u=>{let f={merge:"Merge",rebase:"Rebase",reset:"Other sync service (Only updates the HEAD without touching the working directory)"};u.addOptions(f),u.setValue(n.settings.syncMethod),u.onChange(async d=>{n.settings.syncMethod=d,await n.saveSettings()})}),new z.Setting(r).setName("Pull on startup").setDesc("Automatically pull commits when Obsidian starts.").addToggle(u=>u.setValue(n.settings.autoPullOnBoot).onChange(async f=>{n.settings.autoPullOnBoot=f,await n.saveSettings()})),new z.Setting(r).setName("Commit-and-sync").setDesc("Commit-and-sync with default settings means staging everything -> committing -> pulling -> pushing. Ideally this is a single action that you do regularly to keep your local and remote repository in sync.").setHeading(),s=new z.Setting(r).setName("Push on commit-and-sync").setDesc(`Most of the time you want to push after committing. Turning this off turns a commit-and-sync action into commit ${n.settings.pullBeforePush?"and pull ":""}only. It will still be called commit-and-sync.`).addToggle(u=>u.setValue(!n.settings.disablePush).onChange(async f=>{n.settings.disablePush=!f,this.refreshDisplayWithDelay(),await n.saveSettings()})),new z.Setting(r).setName("Pull on commit-and-sync").setDesc(`On commit-and-sync, pull commits as well. Turning this off turns a commit-and-sync action into commit ${n.settings.disablePush?"":"and push "}only.`).addToggle(u=>u.setValue(n.settings.pullBeforePush).onChange(async f=>{n.settings.pullBeforePush=f,this.refreshDisplayWithDelay(),await n.saveSettings()})),n.gitManager instanceof Ce&&(new z.Setting(r).setName("Line author information").setHeading(),this.addLineAuthorInfoSettings())}new z.Setting(r).setName("History view").setHeading(),new z.Setting(r).setName("Show Author").setDesc("Show the author of the commit in the history view.").addDropdown(c=>{let u={hide:"Hide",full:"Full",initials:"Initials"};c.addOptions(u),c.setValue(n.settings.authorInHistoryView),c.onChange(async f=>{n.settings.authorInHistoryView=f,await n.saveSettings(),await n.refresh()})}),new z.Setting(r).setName("Show Date").setDesc("Show the date of the commit in the history view. The {{date}} placeholder format is used to display the date.").addToggle(c=>c.setValue(n.settings.dateInHistoryView).onChange(async u=>{n.settings.dateInHistoryView=u,await n.saveSettings(),await n.refresh()})),new z.Setting(r).setName("Source control view").setHeading(),new z.Setting(r).setName("Automatically refresh source control view on file changes").setDesc("On slower machines this may cause lags. If so, just disable this option.").addToggle(c=>c.setValue(n.settings.refreshSourceControl).onChange(async u=>{n.settings.refreshSourceControl=u,await n.saveSettings()})),new z.Setting(r).setName("Source control view refresh interval").setDesc("Milliseconds to wait after file change before refreshing the Source Control View.").addText(c=>{c.inputEl.type="number",this.setNonDefaultValue({text:c,settingsProperty:"refreshSourceControlTimer"}),c.setPlaceholder(String(Xe.refreshSourceControlTimer)),c.onChange(async f=>{f!==""&&Number.isInteger(Number(f))?n.settings.refreshSourceControlTimer=Math.max(Number(f),500):n.settings.refreshSourceControlTimer=Xe.refreshSourceControlTimer,await n.saveSettings(),n.setRefreshDebouncer()})}),new z.Setting(r).setName("Miscellaneous").setHeading(),n.gitManager instanceof Ce&&new z.Setting(r).setName("Diff view style").setDesc('Set the style for the diff view. Note that the actual diff in "Split" mode is not generated by Git, but the editor itself instead so it may differ from the diff generated by Git. One advantage of this is that you can edit the text in that view.').addDropdown(c=>{let u={split:"Split",git_unified:"Unified"};c.addOptions(u),c.setValue(n.settings.diffStyle),c.onChange(async f=>{n.settings.diffStyle=f,await n.saveSettings()})}),new z.Setting(r).setName("Disable informative notifications").setDesc("Disable informative notifications for git operations to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(n.settings.disablePopups).onChange(async u=>{n.settings.disablePopups=u,this.refreshDisplayWithDelay(),await n.saveSettings()})),new z.Setting(r).setName("Disable error notifications").setDesc("Disable error notifications of any kind to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(!n.settings.showErrorNotices).onChange(async u=>{n.settings.showErrorNotices=!u,await n.saveSettings()})),n.settings.disablePopups||new z.Setting(r).setName("Hide notifications for no changes").setDesc("Don't show notifications when there are no changes to commit or push.").addToggle(c=>c.setValue(n.settings.disablePopupsForNoChanges).onChange(async u=>{n.settings.disablePopupsForNoChanges=u,await n.saveSettings()})),new z.Setting(r).setName("Show status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(n.settings.showStatusBar).onChange(async u=>{n.settings.showStatusBar=u,await n.saveSettings()})),new z.Setting(r).setName("File menu integration").setDesc('Add "Stage", "Unstage" and "Add to .gitignore" actions to the file menu.').addToggle(c=>c.setValue(n.settings.showFileMenu).onChange(async u=>{n.settings.showFileMenu=u,await n.saveSettings()})),new z.Setting(r).setName("Show branch status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(n.settings.showBranchStatusBar).onChange(async u=>{n.settings.showBranchStatusBar=u,await n.saveSettings()})),new z.Setting(r).setName("Show the count of modified files in the status bar").addToggle(c=>c.setValue(n.settings.changedFilesInStatusBar).onChange(async u=>{n.settings.changedFilesInStatusBar=u,await n.saveSettings()})),n.gitManager instanceof wn?new z.Setting(r).setName("Authentication/commit author").setHeading():new z.Setting(r).setName("Commit author").setHeading(),n.gitManager instanceof wn&&new z.Setting(r).setName("Username on your git server. E.g. your username on GitHub").addText(c=>{var u;c.setValue((u=n.localStorage.getUsername())!=null?u:""),c.onChange(f=>{n.localStorage.setUsername(f)})}),n.gitManager instanceof wn&&new z.Setting(r).setName("Password/Personal access token").setDesc("Type in your password. You won't be able to see it again.").addText(c=>{c.inputEl.autocapitalize="off",c.inputEl.autocomplete="off",c.inputEl.spellcheck=!1,c.onChange(u=>{n.localStorage.setPassword(u)})}),n.gitReady&&new z.Setting(r).setName("Author name for commit").addText(async c=>{var u;c.setValue((u=await n.gitManager.getConfig("user.name"))!=null?u:""),c.onChange(async f=>{await n.gitManager.setConfig("user.name",f==""?void 0:f)})}),n.gitReady&&new z.Setting(r).setName("Author email for commit").addText(async c=>{var u;c.setValue((u=await n.gitManager.getConfig("user.email"))!=null?u:""),c.onChange(async f=>{await n.gitManager.setConfig("user.email",f==""?void 0:f)})}),new z.Setting(r).setName("Advanced").setDesc("These settings usually don't need to be changed, but may be required for special setups.").setHeading(),n.gitManager instanceof Ce&&(new z.Setting(r).setName("Update submodules").setDesc('"Commit-and-sync" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule.').addToggle(c=>c.setValue(n.settings.updateSubmodules).onChange(async u=>{n.settings.updateSubmodules=u,await n.saveSettings()})),n.settings.updateSubmodules&&new z.Setting(r).setName("Submodule recurse checkout/switch").setDesc("Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist).").addToggle(c=>c.setValue(n.settings.submoduleRecurseCheckout).onChange(async u=>{n.settings.submoduleRecurseCheckout=u,await n.saveSettings()}))),n.gitManager instanceof Ce&&new z.Setting(r).setName("Custom Git binary path").addText(c=>{var u;c.setValue((u=n.localStorage.getGitPath())!=null?u:""),c.setPlaceholder("git"),c.onChange(f=>{n.localStorage.setGitPath(f),n.gitManager.updateGitPath(f||"git").catch(d=>n.displayError(d))})}),n.gitManager instanceof Ce&&new z.Setting(r).setName("Additional environment variables").setDesc("Use each line for a new environment variable in the format KEY=VALUE .").addTextArea(c=>{c.setPlaceholder("GIT_DIR=/path/to/git/dir"),c.setValue(n.localStorage.getEnvVars().join(` +`)),c.onChange(u=>{n.localStorage.setEnvVars(u.split(` +`))})}),n.gitManager instanceof Ce&&new z.Setting(r).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea(c=>{c.setValue(n.localStorage.getPATHPaths().join(` +`)),c.onChange(u=>{n.localStorage.setPATHPaths(u.split(` +`))})}),n.gitManager instanceof Ce&&new z.Setting(r).setName("Reload with new environment variables").setDesc("Removing previously added environment variables will not take effect until Obsidian is restarted.").addButton(c=>{c.setButtonText("Reload"),c.setCta(),c.onClick(async()=>{await n.gitManager.setGitInstance()})}),new z.Setting(r).setName("Custom base path (Git repository path)").setDesc(` + Sets the relative path to the vault from which the Git binary should be executed. + Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. + `).addText(c=>{c.setValue(n.settings.basePath),c.setPlaceholder("directory/directory-with-git-repo"),c.onChange(async u=>{n.settings.basePath=u,await n.saveSettings(),n.gitManager.updateBasePath(u||"").catch(f=>n.displayError(f))})}),new z.Setting(r).setName("Custom Git directory path (Instead of '.git')").setDesc('Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.').addText(c=>{c.setValue(n.settings.gitDir),c.setPlaceholder(".git"),c.onChange(async u=>{n.settings.gitDir=u,await n.saveSettings()})}),new z.Setting(r).setName("Disable on this device").setDesc("Disables the plugin on this device. This setting is not synced.").addToggle(c=>c.setValue(n.localStorage.getPluginDisabled()).onChange(u=>{n.localStorage.setPluginDisabled(u),u?n.unloadPlugin():n.init({fromReload:!0}).catch(f=>n.displayError(f)),new z.Notice("Obsidian must be restarted for the changes to take affect.")})),new z.Setting(r).setName("Support").setHeading(),new z.Setting(r).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton(c=>{c.buttonEl.outerHTML="Buy Me a Coffee at ko-fi.com"});let o=r.createDiv();o.setAttr("align","center"),o.setAttr("style","margin: var(--size-4-2)");let l=o.createEl("button");if(l.setText("Copy Debug Information"),l.onclick=async()=>{await window.navigator.clipboard.writeText(JSON.stringify({settings:this.plugin.settings,pluginVersion:this.plugin.manifest.version},null,4)),new z.Notice("Debug information copied to clipboard. May contain sensitive information!")},z.Platform.isDesktopApp){let c=r.createDiv();c.setAttr("align","center"),c.setText(`Debugging and logging: +You can always see the logs of this and every other plugin by opening the console with`);let u=r.createDiv();u.setAttr("align","center"),u.addClass("obsidian-git-shortcuts"),z.Platform.isMacOS===!0?u.createEl("kbd",{text:"CMD (\u2318) + OPTION (\u2325) + I"}):u.createEl("kbd",{text:"CTRL + SHIFT + I"})}}mayDisableSetting(r,n){n&&(r.setDisabled(n),r.setClass("obsidian-git-disabled"))}configureLineAuthorShowStatus(r){this.settings.lineAuthor.show=r,this.plugin.saveSettings(),r?this.plugin.lineAuthoringFeature.activateFeature():this.plugin.lineAuthoringFeature.deactivateFeature()}async lineAuthorSettingHandler(r,n){this.settings.lineAuthor[r]=n,await this.plugin.saveSettings(),this.plugin.lineAuthoringFeature.refreshLineAuthorViews()}beforeSaveSettings(){let r=this.settings.lineAuthor;r.authorDisplay!=="hide"&&(r.lastShownAuthorDisplay=r.authorDisplay),r.dateTimeFormatOptions!=="hide"&&(r.lastShownDateTimeFormatOptions=r.dateTimeFormatOptions)}addLineAuthorInfoSettings(){let r=new z.Setting(this.containerEl).setName("Show commit authoring information next to each line");if(this.plugin.lineAuthoringFeature.isAvailableOnCurrentPlatform()||r.setDesc("Only available on desktop currently.").setDisabled(!0),r.descEl.innerHTML=` + Feature guide and quick examples
+ The commit hash, author name and authoring date can all be individually toggled.
Hide everything, to only show the age-colored sidebar.`,r.addToggle(n=>n.setValue(this.settings.lineAuthor.show).onChange(i=>{this.configureLineAuthorShowStatus(i),this.refreshDisplayWithDelay()})),this.settings.lineAuthor.show){let n=new z.Setting(this.containerEl).setName("Follow movement and copies across files and commits").setDesc("").addDropdown(a=>{a.addOptions({inactive:"Do not follow (default)","same-commit":"Follow within same commit","all-commits":"Follow within all commits (maybe slow)"}),a.setValue(this.settings.lineAuthor.followMovement),a.onChange(s=>this.lineAuthorSettingHandler("followMovement",s))});if(n.descEl.innerHTML=` + By default (deactivated), each line only shows the newest commit where it was changed. +
+ With same commit, cut-copy-paste-ing of text is followed within the same commit and the original commit of authoring will be shown. +
+ With all commits, cut-copy-paste-ing text inbetween multiple commits will be detected. +
+ It uses git-blame and + for matches (at least ${dd} characters) within the same (or all) commit(s), the originating commit's information is shown.`,new z.Setting(this.containerEl).setName("Show commit hash").addToggle(a=>{a.setValue(this.settings.lineAuthor.showCommitHash),a.onChange(s=>this.lineAuthorSettingHandler("showCommitHash",s))}),new z.Setting(this.containerEl).setName("Author name display").setDesc("If and how the author is displayed").addDropdown(a=>{let s={hide:"Hide",initials:"Initials (default)","first name":"First name","last name":"Last name",full:"Full name"};a.addOptions(s),a.setValue(this.settings.lineAuthor.authorDisplay),a.onChange(async o=>this.lineAuthorSettingHandler("authorDisplay",o))}),new z.Setting(this.containerEl).setName("Authoring date display").setDesc("If and how the date and time of authoring the line is displayed").addDropdown(a=>{let s={hide:"Hide",date:"Date (default)",datetime:"Date and time","natural language":"Natural language",custom:"Custom"};a.addOptions(s),a.setValue(this.settings.lineAuthor.dateTimeFormatOptions),a.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatOptions",o),this.refreshDisplayWithDelay()})}),this.settings.lineAuthor.dateTimeFormatOptions==="custom"){let a=new z.Setting(this.containerEl);a.setName("Custom authoring date format").addText(s=>{s.setValue(this.settings.lineAuthor.dateTimeFormatCustomString),s.setPlaceholder("YYYY-MM-DD HH:mm"),s.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatCustomString",o),a.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(o)})}),a.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(this.settings.lineAuthor.dateTimeFormatCustomString)}new z.Setting(this.containerEl).setName("Authoring date display timezone").addDropdown(a=>{let s={"viewer-local":"My local (default)","author-local":"Author's local",utc0000:"UTC+0000/Z"};a.addOptions(s),a.setValue(this.settings.lineAuthor.dateTimeTimezone),a.onChange(async o=>this.lineAuthorSettingHandler("dateTimeTimezone",o))}).descEl.innerHTML=` + The time-zone in which the authoring date should be shown. + Either your local time-zone (default), + the author's time-zone during commit creation or + UTC\xB100:00. + `;let i=new z.Setting(this.containerEl).setName("Oldest age in coloring");i.descEl.innerHTML=this.previewOldestAgeDescriptionHtml(this.settings.lineAuthor.coloringMaxAge)[0],i.addText(a=>{a.setPlaceholder("1y"),a.setValue(this.settings.lineAuthor.coloringMaxAge),a.onChange(async s=>{let[o,l]=this.previewOldestAgeDescriptionHtml(s);i.descEl.innerHTML=o,l&&(await this.lineAuthorSettingHandler("coloringMaxAge",s),this.refreshColorSettingsName("oldest"))})}),this.createColorSetting("newest"),this.createColorSetting("oldest"),new z.Setting(this.containerEl).setName("Text color").addText(a=>{a.setValue(this.settings.lineAuthor.textColorCss),a.onChange(async s=>{await this.lineAuthorSettingHandler("textColorCss",s)})}).descEl.innerHTML=` + The CSS color of the gutter text.
+ + It is highly recommended to use + + CSS variables + defined by themes + (e.g.
var(--text-muted)
or +
var(--text-on-accent)
, + because they automatically adapt to theme changes.
+ + See: + List of available CSS variables in Obsidian + + `,new z.Setting(this.containerEl).setName("Ignore whitespace and newlines in changes").addToggle(a=>{a.setValue(this.settings.lineAuthor.ignoreWhitespace),a.onChange(s=>this.lineAuthorSettingHandler("ignoreWhitespace",s))}).descEl.innerHTML=` + Whitespace and newlines are interpreted as + part of the document and in changes + by default (hence not ignored). + This makes the last line being shown as 'changed' + when a new subsequent line is added, + even if the previously last line's text is the same. +
+ If you don't care about purely-whitespace changes + (e.g. list nesting / quote indentation changes), + then activating this will provide more meaningful change detection. + `}}createColorSetting(r){let n=new z.Setting(this.containerEl).setName("").addText(i=>{let a=Rv(r,this.settings.lineAuthor),s=Rv(r,Xe.lineAuthor);i.setPlaceholder(mv(s)),i.setValue(mv(a)),i.onChange(async o=>{let l=n3(o);if(l!==void 0){let c=r==="newest"?"colorNew":"colorOld";await this.lineAuthorSettingHandler(c,l)}this.refreshColorSettingsDesc(r,l)})});this.lineAuthorColorSettings.set(r,n),this.refreshColorSettingsName(r),this.refreshColorSettingsDesc(r,Rv(r,this.settings.lineAuthor))}refreshColorSettingsName(r){let n=this.lineAuthorColorSettings.get(r);if(n){let i=r==="oldest"?`oldest (${this.settings.lineAuthor.coloringMaxAge} or older)`:"newest";n.nameEl.innerText=`Color for ${i} commits`}}refreshColorSettingsDesc(r,n){let i=this.lineAuthorColorSettings.get(r);i&&(i.descEl.innerHTML=this.colorSettingPreviewDescHtml(r,this.settings.lineAuthor,n!==void 0))}colorSettingPreviewDescHtml(r,n,i){let a=i?Mv(r,n):"rgba(127,127,127,0.3)",s=z.moment.unix(z.moment.now()/1e3).format("YYYY-MM-DD"),o=i?`abcdef Author Name ${s}`:"invalid color";return`Supports 'rgb(r,g,b)', 'hsl(h,s,l)', hex (#) and + named colors (e.g. 'black', 'purple'). Color preview: ${`
${o}
`}`}previewCustomDateTimeDescriptionHtml(r){let n=(0,z.moment)().format(r);return`
Format string to display the authoring date.
Currently: ${n}`}previewOldestAgeDescriptionHtml(r){let n=Zd(r);return[`The oldest age in the line author coloring. Everything older will have the same color. +
Smallest valid age is "1d". Currently: ${n!==void 0?`${n.asDays()} days`:"invalid!"}`,n]}setNonDefaultValue({settingsProperty:r,text:n}){let i=this.plugin.settings[r];Xe[r]!==i&&(typeof i=="string"||typeof i=="number"||typeof i=="boolean"?n.setValue(String(i)):n.setValue(JSON.stringify(i)))}refreshDisplayWithDelay(r=80){setTimeout(()=>this.display(),r)}};function Rv(t,e){return t==="oldest"?e.colorOld:e.colorNew}function Zd(t){let e=z.moment.duration("P"+t.toUpperCase());return e.isValid()&&e.asDays()&&e.asDays()>=1?e:void 0}function C3(t,e,r){if(!(t===void 0||e===void 0||r===void 0))return`head${t}-obj${e}-path${r}`}var P3=Jd.StateEffect.define();function R3(t,e,r){return r.update({effects:P3.of({key:t,la:e,lineOffsetsFromUnsavedChanges:new Map})})}var Lo=Jd.StateField.define({create:t=>{},update:(t,e)=>{for(let r of e.effects)if(r.is(P3))return r.value;return oU(e,t)},compare:(t,e)=>(t==null?void 0:t.key)===(e==null?void 0:e.key)});function Qd(t){var a;let e=T3.sha256.create();if(!t)return e;let{la:r,key:n,lineOffsetsFromUnsavedChanges:i}=t;e.update(r==="untracked"?"t":"f"),e.update(n);for(let[s,o]of(a=i.entries())!=null?a:[])e.update([s,o]);return e}var Qr={get:void 0,save:void 0};function M3(t,e){Qr.get=t,Qr.save=e}function eh(t){var e,r;return(r=(e=Zd(t.coloringMaxAge))==null?void 0:e.asDays())!=null?r:Zd(Xe.lineAuthor.coloringMaxAge).asDays()}function oU(t,e){if(e)return t.changes.empty||t.changes.iterChanges((r,n,i,a)=>{var p;let s=t.startState.doc,{newDoc:o}=t,l=s.lineAt(r).number,c=s.lineAt(n).number,u=o.lineAt(i).number,f=o.lineAt(a).number,d=c-l+1,h=f-u+1;for(let g=u;g<=f;g++){let v=(p=e.lineOffsetsFromUnsavedChanges.get(g))!=null?p:0,y=f===g,b=h-d;y&&(v+=b),e.lineOffsetsFromUnsavedChanges.set(g,v)}}),e}var Ov=class{constructor(e){this.state=e;this.subscribeMe()}notifyLineAuthoring(e,r){if(this.view===void 0){console.warn(`Git: View is not defined for editor cache key. Unforeseen situation. id: ${e}`);return}let n=this.view.state,i=R3(e,r,n);this.view.dispatch(i)}updateToNewState(e){let r=this.lastSeenPath&&this.filepath!=this.lastSeenPath;return this.state=e,r&&(this.unsubscribeMe(this.lastSeenPath),this.subscribeMe()),this}removeIfStale(){this.view.destroyed&&this.unsubscribeMe(this.lastSeenPath)}subscribeMe(){this.filepath!==void 0&&(Do.ifFilepathDefinedTransformSubscribers(this.filepath,e=>e.add(this)),this.lastSeenPath=this.filepath)}unsubscribeMe(e){Do.ifFilepathDefinedTransformSubscribers(e,r=>r.delete(this))}get filepath(){var e,r;return(r=(e=this.state.field(th.editorInfoField))==null?void 0:e.file)==null?void 0:r.path}get view(){return this.state.field(th.editorEditorField)}},I3=O3.StateField.define({create:t=>new Ov(t),update:(t,e)=>t.updateToNewState(e.state),compare:(t,e)=>t===e});m();function F3(){jo=void 0,Iv=[],rh=0,ih.clear(),ah.clear(),No.clear()}var jo,nh=()=>jo;function $3(t,e){var i;let r=e.length;if(r<((i=jo==null?void 0:jo.length)!=null?i:0))return;jo={gutter:t,length:r,text:e};let n=Qr.get();r!==n.gutterSpacingFallbackLength&&(n.gutterSpacingFallbackLength=r,Qr.save(n))}var Iv=[],lU=15,rh=0;function D3(t){Iv[rh]=t,rh=(rh+1)%lU}function L3(){return a3(Iv)}var ih=new Map,ah=new Map,No=new Set;m();var K3=require("@codemirror/state"),Z3=require("@codemirror/view");m();var Lv=require("@codemirror/view"),q3=Ot(_v()),lh=require("obsidian");m();m();var sh={x:-10,y:-10};function j3(){sh.x===-10&&window.addEventListener("mousedown",t=>{sh.x=t.clientX,sh.y=t.clientY})}function N3(){for(let t of No)if(cU(t,sh))return t}function cU(t,e){let{x:r,y:n,width:i,height:a}=t.getBoundingClientRect();return r<=e.x&&e.x<=r+i&&n<=e.y&&e.y<=n+a}m();var Nc={};var B3="data-commit";function H3(t,e,r){if(e.hasFocus())return;let n=N3();if(!n)return;let i=fU(n);i&&(!i.isZeroCommit&&!i.isWaitingGutter&&uU(i,t),Fv("showCommitHash",t),Fv("authorDisplay",t),Fv("dateTimeFormatOptions",t))}function uU(t,e){e.addItem(r=>r.setTitle("Copy commit hash").setIcon("copy").setSection("obs-git-line-author-copy").onClick(n=>navigator.clipboard.writeText(t.hash)))}function Fv(t,e){var l,c;let r,n,i=Nc.plugin.settings.lineAuthor,a=i[t],s=typeof a=="boolean"?a:a!=="hide",o=Xe.lineAuthor[t];if(t==="showCommitHash")r="Show commit hash",n=a;else if(t==="authorDisplay"){let u=(l=i.lastShownAuthorDisplay)!=null?l:o;r="Show author "+(s?a:u),n=s?"hide":u}else if(t==="dateTimeFormatOptions"){let u=(c=i.lastShownDateTimeFormatOptions)!=null?c:o;r="Show "+(s?a:u),r+=r.contains("date")?"":" date",n=s?"hide":u}else pa(t);e.addItem(u=>u.setTitle(r).setSection("obs-git-line-author-configure").setChecked(s).onClick(f=>{var d,h;return(h=(d=Nc.plugin)==null?void 0:d.settingsTab)==null?void 0:h.lineAuthorSettingHandler(t,n)}))}function U3(t,e,r){r.setAttr(B3,JSON.stringify({hash:t.hash,isZeroCommit:t.isZeroCommit,isWaitingGutter:e}))}function fU(t){let e=t.getAttr(B3);return e?JSON.parse(e):void 0}m();function Mv(t,e){return t==="oldest"?oh(0,!1,e).color:oh(void 0,!0,e).color}function oh(t,e,r){let n=eh(r),i=Date.now()/1e3,a=t!=null?t:0,o=(e?0:i-a)/60/60/24,l=Math.pow(Math.clamp(o/n,0,1),1/2.3),c=dU(),u=r.colorNew,f=r.colorOld,d=c?.4:1,h=$v(u.r,f.r,l)*d,p=$v(u.g,f.g,l)*d,g=$v(u.b,f.b,l)*d;return{color:`rgba(${h},${p},${g},${c?.75:.25})`,daysSinceCommit:o}}function $v(t,e,r){return t+(e-t)*r}function dU(){var t;return((t=window.app)==null?void 0:t.getTheme())==="obsidian"}function G3(t){document.body.style.setProperty("--obs-git-gutter-text",t.textColorCss)}m();function z3(t,e,r){let n;for(let i=e;i<=r;i++){let a=t.hashPerLine[i],s=t.commits.get(a);(!n||s.isZeroCommit||hU(s,n))&&(n=s)}return n}function hU(t,e){var i,a,s,o;let r=(a=(i=t.author)==null?void 0:i.epochSeconds)!=null?a:0,n=(o=(s=e.author)==null?void 0:s.epochSeconds)!=null?o:0;return r>n}var V3="-",pU="+",mU=3,gU="*",vU=/\S/g,yU="%",Bo=class t extends Lv.GutterMarker{constructor(r){super();this.text=r}eq(r){return r instanceof t&&this.text===r.text}toDOM(){return document.createTextNode(this.text)}destroy(r){r&&(document.body.contains(r)||r.remove())}},Dv=class extends Lv.GutterMarker{constructor(r,n,i,a,s,o){super();this.lineAuthoring=r;this.startLine=n;this.endLine=i;this.key=a;this.settings=s;this.options=o;this.point=!1;this.elementClass="obs-git-blame-gutter"}eq(r){return this.key===(r==null?void 0:r.key)&&this.startLine===(r==null?void 0:r.startLine)&&this.endLine===(r==null?void 0:r.endLine)&&(this==null?void 0:this.options)===(r==null?void 0:r.options)}toDOM(){var r;return this.precomputedDomProvider=(r=this.precomputedDomProvider)!=null?r:this.computeDom(),this.precomputedDomProvider()}destroy(r){r&&(document.body.contains(r)||(No.delete(r),r.remove()))}computeDom(){let r=z3(this.lineAuthoring,this.startLine,this.endLine),n=r.isZeroCommit?"":this.renderNonZeroCommit(r);return!r.isZeroCommit&&this.options!=="waiting-for-result"?$3(this,n):n=this.adaptTextForFakeCommit(r,n,this.options),this.createHtmlNode(r,n,this.options==="waiting-for-result")}createHtmlNode(r,n,i){var c;let a=window.createDiv();a.innerText=n;let{color:s,daysSinceCommit:o}=oh((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds,r==null?void 0:r.isZeroCommit,this.settings);a.style.backgroundColor=s,U3(r,i,a);function l(){let u=a.cloneNode(!0);return No.add(u),i||D3(o),u}return l}renderNonZeroCommit(r){let n=this.settings.showCommitHash?this.renderHash(r):"",i=this.settings.authorDisplay==="hide"?"":`${this.renderAuthorName(r,this.settings.authorDisplay)}`,a=this.settings.dateTimeFormatOptions==="hide"?"":`${this.renderAuthoringDate(r,this.settings.dateTimeFormatOptions,this.settings.dateTimeFormatCustomString,this.settings.dateTimeTimezone)}`;return[n,i,a].filter(o=>o.length>=1).join(" ")}renderHash(r){return r.hash.substring(0,6)}renderAuthorName(r,n){var o,l,c,u;let i=(l=(o=r==null?void 0:r.author)==null?void 0:o.name)!=null?l:"",a=i.split(" ").filter(f=>f.length>=1),s;switch(n){case"initials":s=a.map(f=>f[0].toUpperCase()).join("");break;case"first name":s=(c=a.first())!=null?c:V3;break;case"last name":s=(u=a.last())!=null?u:V3;break;case"full":s=i;break;default:return pa(n)}return s3(r==null?void 0:r.author,r==null?void 0:r.committer)||(s=s+gU),s}renderAuthoringDate(r,n,i,a){var c;let s="?";if(((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds)===void 0)return s;let o;switch(n){case"date":o=fd;break;case"datetime":o=o0;break;case"custom":o=i;break;case"natural language":o=u=>{let f=u.diff((0,lh.moment)());return lh.moment.duration(f).humanize(!0)};break;default:return pa(n)}let l=lh.moment.unix(r.author.epochSeconds);switch(a){case"viewer-local":break;case"author-local":l=l.utcOffset(r.author.tz),typeof o=="string"&&(o+=" Z");break;case"utc0000":l=l.utc(),typeof o=="string"&&(o+="[Z]");break;default:return pa(a)}return typeof o=="string"?l.format(o):o(l)}adaptTextForFakeCommit(r,n,i){var l,c,u,f;let a=(c=(l=nh())==null?void 0:l.text)!=null?c:n,s=i!=="waiting-for-result"&&r.isZeroCommit?pU:yU;n=a.replace(vU,s);let o=(f=(u=Qr.get())==null?void 0:u.gutterSpacingFallbackLength)!=null?f:n.length;if(n=o3(n,o,s),i!=="waiting-for-result"&&r.isZeroCommit){let d=Math.min(o,mU);n=l3(n,o-d)}return n}};function ns(t,e,r,n,i,a){let s=q3.sha256.create();s.update(JSON.stringify(i)),s.update(`s${e}-e${r}-k${n}-o${a}`);let o=s.hex(),l=ih.get(o);if(l)return l;let c=new Dv(t,e,r,n,i,a);return ih.set(o,c),c}m();var W3=require("obsidian");function jv(){var e,r;let t=(r=(e=Qr.get())==null?void 0:e.gutterSpacingFallbackLength)!=null?r:Xe.lineAuthor.gutterSpacingFallbackLength;return new Bo(Array(t).fill("-").join(""))}function Nv(t){let{lineAuthoring:e,ageForInitialRender:r}=wU(t);return ns(e,1,1,"initialGutter"+r,t,"waiting-for-result")}function wU(t){var a;let e=(a=L3())!=null?a:eh(t)*.25,r=(0,W3.moment)().add(-e,"days"),n={name:"",epochSeconds:i3(r),tz:"+0000"},i={hash:"waiting-for-result",author:n,committer:n,isZeroCommit:!1};return{lineAuthoring:{hashPerLine:[void 0,"waiting-for-result"],commits:new Map([["waiting-for-result",i]])},ageForInitialRender:e}}m();function Y3(t,e){return ns({hashPerLine:[void 0,"000000"],commits:new Map([["000000",m3]])},1,1,t,e)}var Bv=new Bo(""),J3=(0,Z3.gutter)({class:"line-author-gutter-container",markers(t){let e=t.state.field(Lo,!1);return bU(t,e)},lineMarkerChange(t){let e=Qd(t.state.field(Lo));return Qd(t.startState.field(Lo))!==e},renderEmptyElements:!0,initialSpacer:t=>(X3(t),jv()),updateSpacer:(t,e)=>{var r,n;return X3(e.view),(n=(r=nh())==null?void 0:r.gutter)!=null?n:jv()}});function bU(t,e){let r=Qd(e),n=t.state.doc,i=new Map;for(let u=1;u<=n.lines;u++){let f=n.line(u).from,d=t.lineBlockAt(f).to;i.set(u,[f,d]),r.update([f,d,0])}let a=Qr.get();r.update("s"+Object.values(Qr).join(","));let s=r.hex(),o=ah.get(s);if(o)return o;let{result:l,allowCache:c}=_U(n,i,a,e);return c&&ah.set(s,l),l}function _U(t,e,r,n){let i=!0,a=t.lines,s=[];function o(f,d,h){return s.push(h.range(f,d))}let l=xU(a,n),c=t.length===0,u=t.iterLines(a,a+1).next().value==="";for(let f=1;f<=a;f++){let[d,h]=e.get(f),p=t.lineAt(h).number;if(c){o(d,h,Bv);continue}if(f===a&&u){o(d,h,Bv);continue}if(n===void 0){o(d,h,Nv(r)),i=!1;continue}let{key:g,la:v}=n;if(v==="untracked"){o(d,h,Y3(v,r));continue}let y=v.hashPerLine.length-1,b=l[f],E=l[p];if(E&&E>y&&o(d,h,Bv),b!==void 0&&gv(1,b,y)&&E!==void 0&&gv(1,E,y)){o(d,h,ns(v,b,E,g,r));continue}if(y<1){o(d,h,Nv(r)),i=!1;continue}let S=Math.clamp(b!=null?b:f,1,y),A=Math.clamp(E!=null?E:p,1,y);o(d,h,ns(v,S,A,g+"computing",r,"waiting-for-result"))}return{result:K3.RangeSet.of(s,!0),allowCache:i}}function xU(t,e){if(!(e!=null&&e.lineOffsetsFromUnsavedChanges))return Array.from(new Array(t+1),i=>i);let r=[void 0],n=0;for(let i=1;i<=t;i++){let a=e.lineOffsetsFromUnsavedChanges.get(i);n+=a!=null?a:0,r[i]=a===void 0?i-n:void 0}return r}function X3(t){t.dom.querySelectorAll(".cm-gutters").forEach(r=>{r!=null&&r.style&&(r.style.marginLeft||(r.style.marginLeft="unset"))})}var ch=class{constructor(e){this.plugin=e;this.lineAuthorings=new Map}async trackChanged(e){return this.trackChangedHelper(e).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(e){if(e){if(e.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeLineAuthorInfo(e.path)}}destroy(){this.lineAuthorings.clear(),Do.clear(),F3()}async computeLineAuthorInfo(e){let r=this.plugin.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager,n=await r.submoduleAwareHeadRevisonInContainingDirectory(e),i=await r.hashObject(e),a=C3(n,i,e);if(a!==void 0){if(!this.lineAuthorings.has(a)){let s=await r.blame(e,this.plugin.settings.lineAuthor.followMovement,this.plugin.settings.lineAuthor.ignoreWhitespace);this.lineAuthorings.set(a,s)}this.notifyComputationResultToSubscribers(e,a)}}notifyComputationResultToSubscribers(e,r){Do.ifFilepathDefinedTransformSubscribers(e,n=>n.forEach(i=>i.notifyLineAuthoring(r,this.lineAuthorings.get(r))))}},eM=Q3.Prec.high([I3,Lo,J3]);var uh=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.lineAuthorInfoProvider){console.warn("Git: undefined lineAuthorInfoProvider. Unexpected situation.");return}let r=e==null?void 0:e.view;!(r instanceof is.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.lineAuthorInfoProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions),M3(()=>this.plg.settings.lineAuthor,e=>{this.plg.settings.lineAuthor=e,this.plg.saveSettings()})}conditionallyActivateBySettings(){this.plg.settings.lineAuthor.show&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;G3(this.plg.settings.lineAuthor),this.lineAuthorInfoProvider=new ch(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),console.log(this.plg.manifest.name+": Enabled line authoring.")}catch(e){console.warn("Git: Error while loading line authoring feature.",e),this.deactivateFeature()}}deactivateFeature(){var e;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.lineAuthorInfoProvider)==null||e.destroy(),this.lineAuthorInfoProvider=void 0,console.log(this.plg.manifest.name+": Disabled line authoring.")}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&is.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Ce?this.plg.gitManager:void 0}}refreshLineAuthorViews(){this.plg.settings.lineAuthor.show&&(this.deactivateFeature(),this.activateFeature())}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(eM),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let e of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(e);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.gutterContextMenuEvent=this.createGutterContextMenuHandler(),this.fileOpenEvent=this.createFileOpenEvent(),this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileModificationEvent=this.createVaultFileModificationHandler(),this.refreshOnCssChangeEvent=this.createCssRefreshHandler(),this.fileRenameEvent=this.createFileRenameEvent(),j3(),this.plg.registerEvent(this.gutterContextMenuEvent),this.plg.registerEvent(this.refreshOnCssChangeEvent),this.plg.registerEvent(this.fileOpenEvent),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileModificationEvent),this.plg.registerEvent(this.fileRenameEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.workspace.offref(this.fileOpenEvent),this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent),this.plg.app.workspace.offref(this.gutterContextMenuEvent)}createFileOpenEvent(){return this.plg.app.workspace.on("file-open",e=>{var r;return void((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(e).catch(console.error))})}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(e,r)=>{var n;return e instanceof is.TFile&&((n=this.lineAuthorInfoProvider)==null?void 0:n.trackChanged(e))})}createVaultFileModificationHandler(){return this.plg.app.vault.on("modify",e=>{var r;return e instanceof is.TFile&&((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(e))})}createCssRefreshHandler(){return this.plg.app.workspace.on("css-change",()=>this.refreshLineAuthorViews())}createGutterContextMenuHandler(){return this.plg.app.workspace.on("editor-menu",H3)}};m();var fh=class{constructor(e){this.plugin=e;this.tasks=[]}addTask(e,r){this.tasks.push({task:e,onFinished:r!=null?r:()=>{}}),this.tasks.length===1&&this.handleTask()}handleTask(){if(this.tasks.length>0){let e=this.tasks[0];e.task().then(r=>{e.onFinished(r),this.tasks.shift(),this.handleTask()},r=>{this.plugin.displayError(r),e.onFinished(void 0),this.tasks.shift(),this.handleTask()})}}clear(){this.tasks=[]}};m();var $r=require("obsidian");var dh=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.messages=[];this.base="obsidian-git-statusbar-";this.statusBarEl.setAttribute("data-tooltip-position","top"),r.registerEvent(r.app.workspace.on("obsidian-git:refreshed",()=>{this.refreshCommitTimestamp().catch(console.error)}))}displayMessage(e,r){this.messages.push({message:`Git: ${e.slice(0,100)}`,timeout:r}),this.display()}display(){this.messages.length>0&&!this.currentMessage?(this.currentMessage=this.messages.shift(),this.statusBarEl.addClass(this.base+"message"),this.statusBarEl.ariaLabel="",this.statusBarEl.setText(this.currentMessage.message),this.lastMessageTimestamp=Date.now()):this.currentMessage?Date.now()-this.lastMessageTimestamp>=this.currentMessage.timeout&&(this.currentMessage=null,this.lastMessageTimestamp=null):this.displayState()}displayState(){switch((this.statusBarEl.getText().length>3||!this.statusBarEl.hasChildNodes())&&(this.statusBarEl.empty(),this.conflictEl=this.statusBarEl.createDiv(),this.conflictEl.setAttribute("data-tooltip-position","top"),this.conflictEl.style.float="left",this.pausedEl=this.statusBarEl.createDiv(),this.pausedEl.setAttribute("data-tooltip-position","top"),this.pausedEl.style.float="left",this.iconEl=this.statusBarEl.createDiv(),this.iconEl.style.float="left",this.textEl=this.statusBarEl.createDiv(),this.textEl.style.float="right",this.textEl.style.marginLeft="5px"),this.plugin.localStorage.getConflict()?((0,$r.setIcon)(this.conflictEl,"alert-circle"),this.conflictEl.ariaLabel="You have merge conflicts. Resolve them and commit afterwards.",this.conflictEl.style.marginRight="5px",this.conflictEl.addClass(this.base+"conflict")):(this.conflictEl.empty(),this.conflictEl.style.marginRight=""),this.plugin.localStorage.getPausedAutomatics()?((0,$r.setIcon)(this.pausedEl,"pause-circle"),this.pausedEl.ariaLabel="Automatic routines are currently paused.",this.pausedEl.style.marginRight="5px",this.pausedEl.addClass(this.base+"paused")):(this.pausedEl.empty(),this.pausedEl.style.marginRight=""),this.plugin.state.gitAction){case 0:this.displayFromNow();break;case 1:this.statusBarEl.ariaLabel="Checking repository status...",(0,$r.setIcon)(this.iconEl,"refresh-cw"),this.statusBarEl.addClass(this.base+"status");break;case 3:this.statusBarEl.ariaLabel="Adding files...",(0,$r.setIcon)(this.iconEl,"archive"),this.statusBarEl.addClass(this.base+"add");break;case 4:this.statusBarEl.ariaLabel="Committing changes...",(0,$r.setIcon)(this.iconEl,"git-commit"),this.statusBarEl.addClass(this.base+"commit");break;case 5:this.statusBarEl.ariaLabel="Pushing changes...",(0,$r.setIcon)(this.iconEl,"upload"),this.statusBarEl.addClass(this.base+"push");break;case 2:this.statusBarEl.ariaLabel="Pulling changes...",(0,$r.setIcon)(this.iconEl,"download"),this.statusBarEl.addClass(this.base+"pull");break;default:this.statusBarEl.ariaLabel="Failed on initialization!",(0,$r.setIcon)(this.iconEl,"alert-triangle"),this.statusBarEl.addClass(this.base+"failed-init");break}}displayFromNow(){var n;let e=this.lastCommitTimestamp,r=this.plugin.state.offlineMode;if(e){let i=(0,$r.moment)(e).fromNow();this.statusBarEl.ariaLabel=`${r?"Offline: ":""}Last Commit: ${i}`,(n=this.unPushedCommits)!=null&&n&&(this.statusBarEl.ariaLabel+=` +(${this.unPushedCommits} unpushed commits)`)}else this.statusBarEl.ariaLabel=r?"Git is offline":"Git is ready";r?(0,$r.setIcon)(this.iconEl,"globe"):(0,$r.setIcon)(this.iconEl,"check"),this.plugin.settings.changedFilesInStatusBar&&this.plugin.cachedStatus&&this.textEl.setText(this.plugin.cachedStatus.changed.length.toString()),this.statusBarEl.addClass(this.base+"idle")}async refreshCommitTimestamp(){this.lastCommitTimestamp=await this.plugin.gitManager.getLastCommitTime(),this.unPushedCommits=await this.plugin.gitManager.getUnpushedCommits()}remove(){this.statusBarEl.remove()}};m();var ph=require("obsidian"),hh=class extends ph.SuggestModal{constructor(r){super(r.app);this.plugin=r;this.resolve=null;this.setPlaceholder("Type your message and select optional the version with the added date.")}openAndGetResult(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(r){let n=(0,ph.moment)().format(this.plugin.settings.commitDateFormat);return r==""&&(r="..."),[r,`${n}: ${r}`,`${r}: ${n}`]}renderSuggestion(r,n){n.innerText=r}onChooseSuggestion(r,n){this.resolve&&this.resolve(r)}};m();var tM=require("obsidian"),Bc=class{constructor(e){this.plugin=e}saveLastAuto(e,r){r==="backup"?this.plugin.localStorage.setLastAutoBackup(e.toString()):r==="pull"?this.plugin.localStorage.setLastAutoPull(e.toString()):r==="push"&&this.plugin.localStorage.setLastAutoPush(e.toString())}loadLastAuto(){var e,r,n;return{backup:new Date((e=this.plugin.localStorage.getLastAutoBackup())!=null?e:""),pull:new Date((r=this.plugin.localStorage.getLastAutoPull())!=null?r:""),push:new Date((n=this.plugin.localStorage.getLastAutoPush())!=null?n:"")}}async init(){await this.setUpAutoCommitAndSync();let e=this.loadLastAuto();if(this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0){let r=this.diff(this.plugin.settings.autoPushInterval,e.push);this.startAutoPush(r)}if(this.plugin.settings.autoPullInterval>0){let r=this.diff(this.plugin.settings.autoPullInterval,e.pull);this.startAutoPull(r)}}unload(){this.clearAutoPull(),this.clearAutoPush(),this.clearAutoCommitAndSync()}reload(...e){this.plugin.localStorage.getPausedAutomatics()||(e.contains("commit")&&(this.clearAutoCommitAndSync(),this.plugin.settings.autoSaveInterval>0&&this.startAutoCommitAndSync(this.plugin.settings.autoSaveInterval)),e.contains("push")&&(this.clearAutoPush(),this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0&&this.startAutoPush(this.plugin.settings.autoPushInterval)),e.contains("pull")&&(this.clearAutoPull(),this.plugin.settings.autoPullInterval>0&&this.startAutoPull(this.plugin.settings.autoPullInterval)))}async setUpAutoCommitAndSync(){if(this.plugin.settings.setLastSaveToLastCommit){this.clearAutoCommitAndSync();let e=await this.plugin.gitManager.getLastCommitTime();e&&this.saveLastAuto(e,"backup")}if(!this.timeoutIDCommitAndSync&&!this.plugin.autoCommitDebouncer){let e=this.loadLastAuto();if(this.plugin.settings.autoSaveInterval>0){let r=this.diff(this.plugin.settings.autoSaveInterval,e.backup);this.startAutoCommitAndSync(r)}}}startAutoCommitAndSync(e){let r=(e!=null?e:this.plugin.settings.autoSaveInterval)*6e4;this.plugin.settings.autoBackupAfterFileChange?e===0?this.doAutoCommitAndSync():this.plugin.autoCommitDebouncer=(0,tM.debounce)(()=>this.doAutoCommitAndSync(),r,!0):(r>2147483647&&(r=2147483647),this.timeoutIDCommitAndSync=window.setTimeout(()=>this.doAutoCommitAndSync(),r))}doAutoCommitAndSync(){this.plugin.promiseQueue.addTask(async()=>{if(this.plugin.settings.setLastSaveToLastCommit){let r=await this.plugin.gitManager.getLastCommitTime();if(r){this.saveLastAuto(r,"backup");let n=this.diff(this.plugin.settings.autoSaveInterval,r);if(n>0)return this.startAutoCommitAndSync(n),!1}}let e=this.plugin.settings.autoCommitOnlyStaged;return this.plugin.settings.differentIntervalCommitAndPush?await this.plugin.commit({fromAuto:!0,onlyStaged:e}):await this.plugin.commitAndSync({fromAutoBackup:!0,onlyStaged:e}),!0},e=>{e!==!1&&(this.saveLastAuto(new Date,"backup"),this.startAutoCommitAndSync())})}startAutoPull(e){let r=(e!=null?e:this.plugin.settings.autoPullInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPull=window.setTimeout(()=>this.doAutoPull(),r)}doAutoPull(){this.plugin.promiseQueue.addTask(()=>this.plugin.pullChangesFromRemote(),()=>{this.saveLastAuto(new Date,"pull"),this.startAutoPull()})}startAutoPush(e){let r=(e!=null?e:this.plugin.settings.autoPushInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPush=window.setTimeout(()=>this.doAutoPush(),r)}doAutoPush(){this.plugin.promiseQueue.addTask(()=>this.plugin.push(),()=>{this.saveLastAuto(new Date,"push"),this.startAutoPush()})}clearAutoCommitAndSync(){var r;let e=!1;return this.timeoutIDCommitAndSync&&(window.clearTimeout(this.timeoutIDCommitAndSync),this.timeoutIDCommitAndSync=void 0,e=!0),this.plugin.autoCommitDebouncer&&((r=this.plugin.autoCommitDebouncer)==null||r.cancel(),this.plugin.autoCommitDebouncer=void 0,e=!0),e}clearAutoPull(){return this.timeoutIDPull?(window.clearTimeout(this.timeoutIDPull),this.timeoutIDPull=void 0,!0):!1}clearAutoPush(){return this.timeoutIDPush?(window.clearTimeout(this.timeoutIDPush),this.timeoutIDPush=void 0,!0):!1}diff(e,r){let i=e-Math.round((new Date().getTime()-r.getTime())/1e3/60);return Math.max(0,i)}};m();var bn=require("obsidian");m();var Hc=require("obsidian");async function rM(t,e,r){let n=await iM(e,r);if(n.result==="failure"){new Hc.Notice(n.reason);return}let{isGitHub:i,branch:a,repo:s,user:o,filePath:l}=n;if(i){let c=t.getCursor("from").line+1,u=t.getCursor("to").line+1;c===u?window.open(`https://github.com/${o}/${s}/blob/${a}/${l}?plain=1#L${c}`):window.open(`https://github.com/${o}/${s}/blob/${a}/${l}?plain=1#L${c}-L${u}`)}else new Hc.Notice("It seems like you are not using GitHub")}async function nM(t,e){let r=await iM(t,e);if(r.result==="failure"){new Hc.Notice(r.reason);return}let{isGitHub:n,branch:i,repo:a,user:s,filePath:o}=r;n?window.open(`https://github.com/${s}/${a}/commits/${i}/${o}`):new Hc.Notice("It seems like you are not using GitHub")}async function iM(t,e){let r=await e.branchInfo(),n=r.tracking,i=r.current,a,s=e.getRelativeRepoPath(t.path);if(e instanceof Ce){let l=await e.getSubmoduleOfFile(e.getRelativeRepoPath(t.path));if(l){s=l.relativeFilepath;let c=await e.git.cwd({path:l.submodule,root:!1}).status();if(n=c.tracking||void 0,i=c.current||void 0,n){let u=n.substring(0,n.indexOf("/")),f=await e.git.cwd({path:l.submodule,root:!1}).getConfig(`remote.${u}.url`,"local");if(f.value!=null)a=f.value;else return{result:"failure",reason:"Failed to get remote url of submodule"}}}}if(n==null)return{result:"failure",reason:"Remote branch is not configured"};if(i==null)return{result:"failure",reason:"Failed to get current branch name"};if(a==null){let l=n.substring(0,n.indexOf("/"));if(a=await e.getConfig(`remote.${l}.url`),a==null)return{result:"failure",reason:"Failed to get remote url"}}let o=a.match(/(?:^https:\/\/github\.com\/(.+)\/(.+?)(?:\.git)?$)|(?:^[a-zA-Z]+@github\.com:(.+)\/(.+?)(?:\.git)?$)/);if(o==null)return{result:"failure",reason:"Could not parse remote url"};{let[l,c,u,f,d]=o;return{result:"success",isGitHub:!!l,repo:u||d,user:c||f,branch:i,filePath:s}}}m();var aM=require("obsidian"),mh=class extends aM.FuzzySuggestModal{constructor(e,r){super(e.app),this.plugin=e,this.changedFiles=r,this.setPlaceholder("Not supported files will be opened by default app!")}getItems(){return this.changedFiles}getItemText(e){if(e.index=="U"&&e.workingDir=="U")return`Untracked | ${e.vaultPath}`;let r="",n="";return e.workingDir!=" "&&(r=`Working Dir: ${e.workingDir} `),e.index!=" "&&(n=`Index: ${e.index}`),`${r}${n} | ${e.vaultPath}`}onChooseItem(e,r){this.plugin.app.metadataCache.getFirstLinkpathDest(e.vaultPath,"")==null?this.app.openWithDefaultApp(e.vaultPath):this.plugin.app.workspace.openLinkText(e.vaultPath,"/")}};m();var sM=require("obsidian"),gh=class extends sM.Modal{constructor(r,n){super(r);this.content=n;this.resolve=null}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onOpen(){let{contentEl:r,titleEl:n}=this;n.setText("Edit .gitignore");let i=r.createDiv(),a=i.createEl("textarea",{text:this.content,cls:["obsidian-git-textarea"],attr:{rows:10,cols:30,wrap:"off"}});i.createEl("button",{cls:["mod-cta","obsidian-git-center-button"],text:"Save"}).addEventListener("click",()=>{this.resolve(a.value),this.close()})}onClose(){let{contentEl:r}=this;r.empty(),this.resolve&&this.resolve(void 0)}};function oM(t){let e=t.app;t.addCommand({id:"edit-gitignore",name:"Edit .gitignore",callback:async()=>{let r=t.gitManager.getRelativeVaultPath(".gitignore");await e.vault.adapter.exists(r)||await e.vault.adapter.write(r,"");let n=await e.vault.adapter.read(r),a=await new gh(e,n).openAndGetReslt();a!==void 0&&(await e.vault.adapter.write(r,a),await t.refresh())}}),t.addCommand({id:"open-git-view",name:"Open source control view",callback:async()=>{var i;let r=e.workspace.getLeavesOfType($t.type),n;r.length===0?(n=(i=e.workspace.getRightLeaf(!1))!=null?i:e.workspace.getLeaf(),await n.setViewState({type:$t.type})):n=r.first(),await e.workspace.revealLeaf(n),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-history-view",name:"Open history view",callback:async()=>{var i;let r=e.workspace.getLeavesOfType(Zr.type),n;r.length===0?(n=(i=e.workspace.getRightLeaf(!1))!=null?i:e.workspace.getLeaf(),await n.setViewState({type:Zr.type})):n=r.first(),await e.workspace.revealLeaf(n),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-diff-view",name:"Open diff view",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;{let i=t.gitManager.getRelativeRepoPath(n.path,!0);t.tools.openDiff({aFile:i,aRef:""})}}}),t.addCommand({id:"view-file-on-github",name:"Open file on GitHub",editorCallback:(r,{file:n})=>{if(n)return rM(r,n,t.gitManager)}}),t.addCommand({id:"view-history-on-github",name:"Open file history on GitHub",editorCallback:(r,{file:n})=>{if(n)return nM(n,t.gitManager)}}),t.addCommand({id:"pull",name:"Pull",callback:()=>t.promiseQueue.addTask(()=>t.pullChangesFromRemote())}),t.addCommand({id:"fetch",name:"Fetch",callback:()=>t.promiseQueue.addTask(()=>t.fetch())}),t.addCommand({id:"switch-to-remote-branch",name:"Switch to remote branch",callback:()=>t.promiseQueue.addTask(()=>t.switchRemoteBranch())}),t.addCommand({id:"add-to-gitignore",name:"Add file to .gitignore",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;t.addFileToGitignore(n.path,n instanceof bn.TFolder).catch(i=>t.displayError(i))}}),t.addCommand({id:"push",name:"Commit-and-sync",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1}))}),t.addCommand({id:"backup-and-close",name:"Commit-and-sync and then close Obsidian",callback:()=>t.promiseQueue.addTask(async()=>{await t.commitAndSync({fromAutoBackup:!1}),window.close()})}),t.addCommand({id:"commit-push-specified-message",name:"Commit-and-sync with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit",name:"Commit all changes",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1}))}),t.addCommand({id:"commit-specified-message",name:"Commit all changes with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit-smart",name:"Commit",callback:()=>t.promiseQueue.addTask(async()=>{let n=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!1,onlyStaged:n})})}),t.addCommand({id:"commit-staged",name:"Commit staged",checkCallback:function(r){if(r)return!1;t.promiseQueue.addTask(async()=>t.commit({fromAuto:!1,requestCustomMessage:!1}))}}),bn.Platform.isDesktopApp&&t.addCommand({id:"commit-amend-staged-specified-message",name:"Amend staged",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0,amend:!0}))}),t.addCommand({id:"commit-smart-specified-message",name:"Commit with specific message",callback:()=>t.promiseQueue.addTask(async()=>{let n=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:n})})}),t.addCommand({id:"commit-staged-specified-message",name:"Commit staged with specific message",checkCallback:function(r){return r?!1:t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0}))}}),t.addCommand({id:"push2",name:"Push",callback:()=>t.promiseQueue.addTask(()=>t.push())}),t.addCommand({id:"stage-current-file",name:"Stage current file",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;t.promiseQueue.addTask(()=>t.stageFile(n))}}),t.addCommand({id:"unstage-current-file",name:"Unstage current file",checkCallback:r=>{let n=e.workspace.getActiveFile();if(r)return n!==null;t.promiseQueue.addTask(()=>t.unstageFile(n))}}),t.addCommand({id:"edit-remotes",name:"Edit remotes",callback:()=>t.editRemotes().catch(r=>t.displayError(r))}),t.addCommand({id:"remove-remote",name:"Remove remote",callback:()=>t.removeRemote().catch(r=>t.displayError(r))}),t.addCommand({id:"set-upstream-branch",name:"Set upstream branch",callback:()=>t.setUpstreamBranch().catch(r=>t.displayError(r))}),t.addCommand({id:"delete-repo",name:"CAUTION: Delete repository",callback:async()=>{await e.vault.adapter.exists(`${t.settings.basePath}/.git`)?await new ze(t,{options:["NO","YES"],placeholder:"Do you really want to delete the repository (.git directory)? plugin action cannot be undone.",onlySelection:!0}).openAndGetResult()==="YES"&&(await e.vault.adapter.rmdir(`${t.settings.basePath}/.git`,!0),new bn.Notice("Successfully deleted repository. Reloading plugin..."),t.unloadPlugin(),await t.init({fromReload:!0})):new bn.Notice("No repository found")}}),t.addCommand({id:"init-repo",name:"Initialize a new repo",callback:()=>t.createNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"clone-repo",name:"Clone an existing remote repo",callback:()=>t.cloneNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"list-changed-files",name:"List changed files",callback:async()=>{if(await t.isAllInitialized())try{let r=await t.updateCachedStatus();if(r.changed.length+r.staged.length>500){t.displayError("Too many changes to display");return}new mh(t,r.all).open()}catch(r){t.displayError(r)}}}),t.addCommand({id:"switch-branch",name:"Switch branch",callback:()=>{t.switchBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"create-branch",name:"Create new branch",callback:()=>{t.createBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"delete-branch",name:"Delete branch",callback:()=>{t.deleteBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"discard-all",name:"CAUTION: Discard all changes",callback:async()=>{let r=await t.discardAll();switch(r){case"discard":new bn.Notice("Discarded all changes in tracked files.");break;case"delete":new bn.Notice("Discarded all files.");break;case!1:break;default:Ud(r)}}}),t.addCommand({id:"pause-automatic-routines",name:"Pause/Resume automatic routines",callback:()=>{let r=!t.localStorage.getPausedAutomatics();t.localStorage.setPausedAutomatics(r),r?(t.automaticsManager.unload(),new bn.Notice("Paused automatic routines.")):(t.automaticsManager.reload("commit","push","pull"),new bn.Notice("Resumed automatic routines."))}}),t.addCommand({id:"raw-command",name:"Raw command",checkCallback:r=>{let n=t.gitManager;if(r)return n instanceof Ce;t.tools.runRawCommand().catch(i=>t.displayError(i))}}),t.addCommand({id:"toggle-line-author-info",name:"Toggle line author information",callback:()=>{var r;return(r=t.settingsTab)==null?void 0:r.configureLineAuthorShowStatus(!t.settings.lineAuthor.show)}})}m();var vh=class{constructor(e){this.plugin=e;this.prefix=this.plugin.manifest.id+":",this.app=e.app}migrate(){let e=["password","hostname","conflict","lastAutoPull","lastAutoBackup","lastAutoPush","gitPath","pluginDisabled"];for(let r of e){let n=localStorage.getItem(this.prefix+r);this.app.loadLocalStorage(this.prefix+r)==null&&n!=null&&n!=null&&(this.app.saveLocalStorage(this.prefix+r,n),localStorage.removeItem(this.prefix+r))}}getPassword(){return this.app.loadLocalStorage(this.prefix+"password")}setPassword(e){return this.app.saveLocalStorage(this.prefix+"password",e)}getUsername(){return this.app.loadLocalStorage(this.prefix+"username")}setUsername(e){return this.app.saveLocalStorage(this.prefix+"username",e)}getHostname(){return this.app.loadLocalStorage(this.prefix+"hostname")}setHostname(e){return this.app.saveLocalStorage(this.prefix+"hostname",e)}getConflict(){return this.app.loadLocalStorage(this.prefix+"conflict")=="true"}setConflict(e){return this.app.saveLocalStorage(this.prefix+"conflict",`${e}`)}getLastAutoPull(){return this.app.loadLocalStorage(this.prefix+"lastAutoPull")}setLastAutoPull(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPull",e)}getLastAutoBackup(){return this.app.loadLocalStorage(this.prefix+"lastAutoBackup")}setLastAutoBackup(e){return this.app.saveLocalStorage(this.prefix+"lastAutoBackup",e)}getLastAutoPush(){return this.app.loadLocalStorage(this.prefix+"lastAutoPush")}setLastAutoPush(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPush",e)}getGitPath(){return this.app.loadLocalStorage(this.prefix+"gitPath")}setGitPath(e){return this.app.saveLocalStorage(this.prefix+"gitPath",e)}getPATHPaths(){var e,r;return(r=(e=this.app.loadLocalStorage(this.prefix+"PATHPaths"))==null?void 0:e.split(":"))!=null?r:[]}setPATHPaths(e){return this.app.saveLocalStorage(this.prefix+"PATHPaths",e.join(":"))}getEnvVars(){var e;return JSON.parse((e=this.app.loadLocalStorage(this.prefix+"envVars"))!=null?e:"[]")}setEnvVars(e){return this.app.saveLocalStorage(this.prefix+"envVars",JSON.stringify(e))}getPluginDisabled(){return this.app.loadLocalStorage(this.prefix+"pluginDisabled")=="true"}setPluginDisabled(e){return this.app.saveLocalStorage(this.prefix+"pluginDisabled",`${e}`)}getPausedAutomatics(){return this.app.loadLocalStorage(this.prefix+"pausedAutomatics")=="true"}setPausedAutomatics(e){return this.app.saveLocalStorage(this.prefix+"pausedAutomatics",`${e}`)}};m();var Ho=require("obsidian");var Uc=class{constructor(e){this.plugin=e}async hasTooBigFiles(e){let r=await this.plugin.gitManager.branchInfo(),n=r.tracking?ki(r.tracking)[0]:null;if(!n)return!1;let i=await this.plugin.gitManager.getRemoteUrl(n);if(i!=null&&i.includes("github.com")){let a=[],s=this.plugin.gitManager;for(let o of e){let l=this.plugin.app.vault.getAbstractFileByPath(o.vaultPath),c=!1;if(l instanceof Ho.TFile)l.stat.size>=1e8&&(c=!0);else{let u=await this.plugin.app.vault.adapter.stat(o.vaultPath);u&&u.size>=1e8&&(c=!0)}if(c){let u=!1;s instanceof Ce&&(u=await s.isFileTrackedByLFS(o.path)),u||a.push(o)}}if(a.length>0)return this.plugin.displayError(`Aborted commit, because the following files are too big: +- ${a.map(o=>o.vaultPath).join(` +- `)} +Please remove them or add to .gitignore.`),!0}return!1}async writeAndOpenFile(e){e!==void 0&&await this.plugin.app.vault.adapter.write(To,e);let r=!1;this.plugin.app.workspace.iterateAllLeaves(n=>{n.getDisplayText()!=""&&To.startsWith(n.getDisplayText())&&(r=!0)}),r||await this.plugin.app.workspace.openLinkText(To,"/",!0)}openDiff({aFile:e,bFile:r,aRef:n,bRef:i,event:a}){var l,c;let s=this.plugin.settings.diffStyle;Ho.Platform.isMobileApp&&(s="git_unified");let o={aFile:e,bFile:r!=null?r:e,aRef:n,bRef:i};s=="split"?(l=vn(this.plugin.app,a))==null||l.setViewState({type:ca.type,active:!0,state:o}):s=="git_unified"&&((c=vn(this.plugin.app,a))==null||c.setViewState({type:ua.type,active:!0,state:o}))}async runRawCommand(){let e=this.plugin.gitManager;if(!(e instanceof Ce))return;let n=await new ze(this.plugin,{placeholder:"push origin master",allowEmpty:!1}).openAndGetResult();n!==void 0&&this.plugin.promiseQueue.addTask(async()=>{let i=new Ho.Notice(`Running '${n}'...`,999999);try{let a=await e.rawCommand(n);a?(i.setMessage(a),window.setTimeout(()=>i.hide(),5e3)):i.hide()}catch(a){throw i.hide(),a}})}};m();m();m();m();var Ke;(function(t){t.INSERT="insert",t.DELETE="delete",t.CONTEXT="context"})(Ke||(Ke={}));var lM={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},cM={LINES:"lines",WORDS:"words",NONE:"none"},uM={WORD:"word",CHAR:"char"},as;(function(t){t.AUTO="auto",t.DARK="dark",t.LIGHT="light"})(as||(as={}));m();var SU=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],EU=RegExp("["+SU.join("\\")+"]","g");function fM(t){return t.replace(EU,"\\$&")}function Hv(t){return t&&t.replace(/\\/g,"/")}function dM(t){let e,r,n,i=0;for(e=0,n=t.length;e1?r[r.length-1]:e}function pM(t,e){return e.reduce((r,n)=>r||t.startsWith(n),!1)}var mM=["a/","b/","i/","w/","c/","o/"];function ga(t,e,r){let n=r!==void 0?[...mM,r]:mM,i=e?new RegExp(`^${fM(e)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,a=""]=i.exec(t)||[],s=n.find(l=>a.indexOf(l)===0);return(s?a.slice(s.length):a).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function AU(t,e){return ga(t,"---",e)}function kU(t,e){return ga(t,"+++",e)}function gM(t,e={}){let r=[],n=null,i=null,a=null,s=null,o=null,l=null,c=null,u="--- ",f="+++ ",d="@@",h=/^old mode (\d{6})/,p=/^new mode (\d{6})/,g=/^deleted file mode (\d{6})/,v=/^new file mode (\d{6})/,y=/^copy from "?(.+)"?/,b=/^copy to "?(.+)"?/,E=/^rename from "?(.+)"?/,S=/^rename to "?(.+)"?/,A=/^similarity index (\d+)%/,k=/^dissimilarity index (\d+)%/,w=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,x=/^Binary files (.*) and (.*) differ/,_=/^GIT binary patch/,T=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,C=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,I=/^new file mode (\d{6})/,L=/^deleted file mode (\d{6}),(\d{6})/,$=t.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,` +`).split(` +`);function J(){i!==null&&n!==null&&(n.blocks.push(i),i=null)}function de(){n!==null&&(!n.oldName&&l!==null&&(n.oldName=l),!n.newName&&c!==null&&(n.newName=c),n.newName&&(r.push(n),n=null)),l=null,c=null}function le(){J(),de(),n={blocks:[],deletedLines:0,addedLines:0}}function ce(N){J();let W;n!==null&&((W=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(N))?(n.isCombined=!1,a=parseInt(W[1],10),o=parseInt(W[2],10)):(W=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(N))?(n.isCombined=!0,a=parseInt(W[1],10),s=parseInt(W[2],10),o=parseInt(W[3],10)):(N.startsWith(d)&&console.error("Failed to parse lines, starting in 0!"),a=0,o=0,n.isCombined=!1)),i={lines:[],oldStartLine:a,oldStartLine2:s,newStartLine:o,header:N}}function Te(N){if(n===null||i===null||a===null||o===null)return;let W={content:N},B=n.isCombined?["+ "," +","++"]:["+"],$e=n.isCombined?["- "," -","--"]:["-"];pM(N,B)?(n.addedLines++,W.type=Ke.INSERT,W.oldNumber=void 0,W.newNumber=o++):pM(N,$e)?(n.deletedLines++,W.type=Ke.DELETE,W.oldNumber=a++,W.newNumber=void 0):(W.type=Ke.CONTEXT,W.oldNumber=a++,W.newNumber=o++),i.lines.push(W)}function ne(N,W){let B=W;for(;B<$.length-3;){if(N.startsWith("diff"))return!1;if($[B].startsWith(u)&&$[B+1].startsWith(f)&&$[B+2].startsWith(d))return!0;B++}return!1}return $.forEach((N,W)=>{if(!N||N.startsWith("*"))return;let B,$e=$[W-1],lr=$[W+1],Ut=$[W+2];if(N.startsWith("diff --git")||N.startsWith("diff --combined")){if(le(),(B=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(N))&&(l=ga(B[1],void 0,e.dstPrefix),c=ga(B[2],void 0,e.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isGitDiff=!0;return}if(N.startsWith("Binary files")&&!(n!=null&&n.isGitDiff)){if(le(),(B=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(N))&&(l=ga(B[1],void 0,e.dstPrefix),c=ga(B[2],void 0,e.srcPrefix)),n===null)throw new Error("Where is my file !!!");n.isBinary=!0;return}if((!n||!n.isGitDiff&&n&&N.startsWith(u)&&lr.startsWith(f)&&Ut.startsWith(d))&&le(),n!=null&&n.isTooBig)return;if(n&&(typeof e.diffMaxChanges=="number"&&n.addedLines+n.deletedLines>e.diffMaxChanges||typeof e.diffMaxLineLength=="number"&&N.length>e.diffMaxLineLength)){n.isTooBig=!0,n.addedLines=0,n.deletedLines=0,n.blocks=[],i=null;let Oe=typeof e.diffTooBigMessage=="function"?e.diffTooBigMessage(r.length):"Diff too big to be displayed";ce(Oe);return}if(N.startsWith(u)&&lr.startsWith(f)||N.startsWith(f)&&$e.startsWith(u)){if(n&&!n.oldName&&N.startsWith("--- ")&&(B=AU(N,e.srcPrefix))){n.oldName=B,n.language=hM(n.oldName,n.language);return}if(n&&!n.newName&&N.startsWith("+++ ")&&(B=kU(N,e.dstPrefix))){n.newName=B,n.language=hM(n.newName,n.language);return}}if(n&&(N.startsWith(d)||n.isGitDiff&&n.oldName&&n.newName&&!i)){ce(N);return}if(i&&(N.startsWith("+")||N.startsWith("-")||N.startsWith(" "))){Te(N);return}let X=!ne(N,W);if(n===null)throw new Error("Where is my file !!!");(B=h.exec(N))?n.oldMode=B[1]:(B=p.exec(N))?n.newMode=B[1]:(B=g.exec(N))?(n.deletedFileMode=B[1],n.isDeleted=!0):(B=v.exec(N))?(n.newFileMode=B[1],n.isNew=!0):(B=y.exec(N))?(X&&(n.oldName=B[1]),n.isCopy=!0):(B=b.exec(N))?(X&&(n.newName=B[1]),n.isCopy=!0):(B=E.exec(N))?(X&&(n.oldName=B[1]),n.isRename=!0):(B=S.exec(N))?(X&&(n.newName=B[1]),n.isRename=!0):(B=x.exec(N))?(n.isBinary=!0,n.oldName=ga(B[1],void 0,e.srcPrefix),n.newName=ga(B[2],void 0,e.dstPrefix),ce("Binary file")):_.test(N)?(n.isBinary=!0,ce(N)):(B=A.exec(N))?n.unchangedPercentage=parseInt(B[1],10):(B=k.exec(N))?n.changedPercentage=parseInt(B[1],10):(B=w.exec(N))?(n.checksumBefore=B[1],n.checksumAfter=B[2],B[3]&&(n.mode=B[3])):(B=T.exec(N))?(n.checksumBefore=[B[2],B[3]],n.checksumAfter=B[1]):(B=C.exec(N))?(n.oldMode=[B[2],B[3]],n.newMode=B[1]):(B=I.exec(N))?(n.newFileMode=B[1],n.isNew=!0):(B=L.exec(N))&&(n.deletedFileMode=B[1],n.isDeleted=!0)}),J(),de(),r}m();m();m();function CU(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=[],n;for(n=0;n<=e.length;n++)r[n]=[n];let i;for(i=0;i<=t.length;i++)r[0][i]=i;for(n=1;n<=e.length;n++)for(i=1;i<=t.length;i++)e.charAt(n-1)===t.charAt(i-1)?r[n][i]=r[n-1][i-1]:r[n][i]=Math.min(r[n-1][i-1]+1,Math.min(r[n][i-1]+1,r[n-1][i]+1));return r[e.length][t.length]}function Uo(t){return(e,r)=>{let n=t(e).trim(),i=t(r).trim();return CU(n,i)/(n.length+i.length)}}function Go(t){function e(n,i,a=new Map){let s=1/0,o;for(let l=0;l0||o.indexB>0)&&(E=v.concat(E)),(n.length>d||i.length>h)&&(E=E.concat(b)),E}return r}var Dt={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},ss={matching:cM.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:uM.WORD,colorScheme:as.LIGHT},Zn="/",vM=Uo(t=>t.value),PU=Go(vM);function Gv(t){return t.indexOf("dev/null")!==-1}function RU(t){return t.replace(/(]*>((.|\n)*?)<\/ins>)/g,"")}function MU(t){return t.replace(/(]*>((.|\n)*?)<\/del>)/g,"")}function zo(t){switch(t){case Ke.CONTEXT:return Dt.CONTEXT;case Ke.INSERT:return Dt.INSERTS;case Ke.DELETE:return Dt.DELETES}}function Vo(t){switch(t){case as.DARK:return"d2h-dark-color-scheme";case as.AUTO:return"d2h-auto-color-scheme";case as.LIGHT:default:return"d2h-light-color-scheme"}}function OU(t){return t?2:1}function va(t){return t.slice(0).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function en(t,e,r=!0){let n=OU(e);return{prefix:t.substring(0,n),content:r?va(t.substring(n)):t.substring(n)}}function os(t){let e=Hv(t.oldName),r=Hv(t.newName);if(e!==r&&!Gv(e)&&!Gv(r)){let n=[],i=[],a=e.split(Zn),s=r.split(Zn),o=a.length,l=s.length,c=0,u=o-1,f=l-1;for(;cc&&f>c&&a[u]===s[f];)i.unshift(s[f]),u-=1,f-=1;let d=n.join(Zn),h=i.join(Zn),p=a.slice(c,u+1).join(Zn),g=s.slice(c,f+1).join(Zn);return d.length&&h.length?d+Zn+"{"+p+" \u2192 "+g+"}"+Zn+h:d.length?d+Zn+"{"+p+" \u2192 "+g+"}":h.length?"{"+p+" \u2192 "+g+"}"+Zn+h:e+" \u2192 "+r}else return Gv(r)?e:r}function qo(t){return`d2h-${dM(os(t)).toString().slice(-6)}`}function Wo(t){let e="file-changed";return t.isRename||t.isCopy?e="file-renamed":t.isNew?e="file-added":t.isDeleted?e="file-deleted":t.newName!==t.oldName&&(e="file-renamed"),e}function wh(t,e,r,n={}){let{matching:i,maxLineLengthHighlight:a,matchWordsThreshold:s,diffStyle:o}=Object.assign(Object.assign({},ss),n),l=en(t,r,!1),c=en(e,r,!1);if(l.content.length>a||c.content.length>a)return{oldLine:{prefix:l.prefix,content:va(l.content)},newLine:{prefix:c.prefix,content:va(c.content)}};let u=o==="char"?E3(l.content,c.content):k3(l.content,c.content),f=[];if(o==="word"&&i==="words"){let h=u.filter(v=>v.removed),p=u.filter(v=>v.added);PU(p,h).forEach(v=>{v[0].length===1&&v[1].length===1&&vM(v[0][0],v[1][0]){let g=p.added?"ins":p.removed?"del":null,v=f.indexOf(p)>-1?' class="d2h-change"':"",y=va(p.value);return g!==null?`${h}<${g}${v}>${y}`:`${h}${y}`},"");return{oldLine:{prefix:l.prefix,content:RU(d)},newLine:{prefix:c.prefix,content:MU(d)}}}var yM="file-summary",IU="icon",FU={colorScheme:ss.colorScheme},bh=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},FU),r)}render(e){let r=e.map(n=>this.hoganUtils.render(yM,"line",{fileHtmlId:qo(n),oldName:n.oldName,newName:n.newName,fileName:os(n),deletedLines:"-"+n.deletedLines,addedLines:"+"+n.addedLines},{fileIcon:this.hoganUtils.template(IU,Wo(n))})).join(` +`);return this.hoganUtils.render(yM,"wrapper",{colorScheme:Vo(this.config.colorScheme),filesNumber:e.length,files:r})}};m();var Vv=Object.assign(Object.assign({},ss),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),Gc="generic",wM="line-by-line",$U="icon",DU="tag",zc=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},Vv),r)}render(e){let r=e.map(n=>{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(` +`);return this.hoganUtils.render(Gc,"wrapper",{colorScheme:Vo(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let n=this.hoganUtils.template(wM,"file-diff"),i=this.hoganUtils.template(Gc,"file-path"),a=this.hoganUtils.template($U,"file"),s=this.hoganUtils.template(DU,Wo(e));return n.render({file:e,fileHtmlId:qo(e),diffs:r,filePath:i.render({fileDiffName:os(e)},{fileIcon:a,fileTag:s})})}generateEmptyDiff(){return this.hoganUtils.render(Gc,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:Dt})}generateFileHtml(e){let r=Go(Uo(n=>en(n.content,e.isCombined).content));return e.blocks.map(n=>{let i=this.hoganUtils.render(Gc,"block-header",{CSSLineClass:Dt,blockHeader:e.isTooBig?n.header:va(n.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(n).forEach(([a,s,o])=>{if(s.length&&o.length&&!a.length)this.applyRematchMatching(s,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e,e.isCombined,l,c);i+=u,i+=f});else if(a.length)a.forEach(l=>{let{prefix:c,content:u}=en(l.content,e.isCombined);i+=this.generateSingleLineHtml(e,{type:Dt.CONTEXT,prefix:c,content:u,oldNumber:l.oldNumber,newNumber:l.newNumber})});else if(s.length||o.length){let{left:l,right:c}=this.processChangedLines(e,e.isCombined,s,o);i+=l,i+=c}else console.error("Unknown state reached while processing groups of lines",a,s,o)}),i}).join(` +`)}applyLineGroupping(e){let r=[],n=[],i=[];for(let a=0;a0)&&(r.push([[],n,i]),n=[],i=[]),s.type===Ke.CONTEXT?r.push([[s],[],[]]):s.type===Ke.INSERT&&n.length===0?r.push([[],[],[s]]):s.type===Ke.INSERT&&n.length>0?i.push(s):s.type===Ke.DELETE&&n.push(s)}return(n.length||i.length)&&(r.push([[],n,i]),n=[],i=[]),r}applyRematchMatching(e,r,n){let i=e.length*r.length,a=yh(e.concat(r).map(o=>o.content.length));return i{let i;return n.blocks.length?i=this.generateFileHtml(n):i=this.generateEmptyDiff(),this.makeFileDiffHtml(n,i)}).join(` +`);return this.hoganUtils.render(Vc,"wrapper",{colorScheme:Vo(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let n=this.hoganUtils.template(LU,"file-diff"),i=this.hoganUtils.template(Vc,"file-path"),a=this.hoganUtils.template(jU,"file"),s=this.hoganUtils.template(NU,Wo(e));return n.render({file:e,fileHtmlId:qo(e),diffs:r,filePath:i.render({fileDiffName:os(e)},{fileIcon:a,fileTag:s})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(Vc,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:Dt})}}generateFileHtml(e){let r=Go(Uo(n=>en(n.content,e.isCombined).content));return e.blocks.map(n=>{let i={left:this.makeHeaderHtml(n.header,e),right:this.makeHeaderHtml("")};return this.applyLineGroupping(n).forEach(([a,s,o])=>{if(s.length&&o.length&&!a.length)this.applyRematchMatching(s,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e.isCombined,l,c);i.left+=u,i.right+=f});else if(a.length)a.forEach(l=>{let{prefix:c,content:u}=en(l.content,e.isCombined),{left:f,right:d}=this.generateLineHtml({type:Dt.CONTEXT,prefix:c,content:u,number:l.oldNumber},{type:Dt.CONTEXT,prefix:c,content:u,number:l.newNumber});i.left+=f,i.right+=d});else if(s.length||o.length){let{left:l,right:c}=this.processChangedLines(e.isCombined,s,o);i.left+=l,i.right+=c}else console.error("Unknown state reached while processing groups of lines",a,s,o)}),i}).reduce((n,i)=>({left:n.left+i.left,right:n.right+i.right}),{left:"",right:""})}applyLineGroupping(e){let r=[],n=[],i=[];for(let a=0;a0)&&(r.push([[],n,i]),n=[],i=[]),s.type===Ke.CONTEXT?r.push([[s],[],[]]):s.type===Ke.INSERT&&n.length===0?r.push([[],[],[s]]):s.type===Ke.INSERT&&n.length>0?i.push(s):s.type===Ke.DELETE&&n.push(s)}return(n.length||i.length)&&(r.push([[],n,i]),n=[],i=[]),r}applyRematchMatching(e,r,n){let i=e.length*r.length,a=yh(e.concat(r).map(o=>o.content.length));return i'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(n.rp("'),n.b(n.v(n.f("fileName",t,e,0))),n.b(""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(n.v(n.f("addedLines",t,e,0))),n.b(""),n.b(` +`+r),n.b(' '),n.b(n.v(n.f("deletedLines",t,e,0))),n.b(""),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{"'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' Files changed ('),n.b(n.v(n.f("filesNumber",t,e,0))),n.b(")"),n.b(` +`+r),n.b(' hide'),n.b(` +`+r),n.b(' show'),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
    '),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("files",t,e,0))),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});dt["generic-block-header"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b(""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b('
'),n.s(n.f("blockHeader",t,e,1),t,e,0,156,173,"{{ }}")&&(n.rs(t,e,function(i,a,s){s.b(s.t(s.f("blockHeader",i,a,0)))}),t.pop()),n.s(n.f("blockHeader",t,e,1),t,e,1,0,0,"")||n.b(" "),n.b("
"),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});dt["generic-empty-diff"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b(""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(" File without changes"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});dt["generic-file-path"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b(''),n.b(` +`+r),n.b(n.rp("'),n.b(n.v(n.f("fileDiffName",t,e,0))),n.b(""),n.b(` +`+r),n.b(n.rp(""),n.b(` +`+r),n.b('"),n.fl()},partials:{""),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("lineNumber",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.s(n.f("prefix",t,e,1),t,e,0,162,238,"{{ }}")&&(n.rs(t,e,function(i,a,s){s.b(' '),s.b(s.t(s.f("prefix",i,a,0))),s.b(""),s.b(` +`+r)}),t.pop()),n.s(n.f("prefix",t,e,1),t,e,1,0,0,"")||(n.b('  '),n.b(` +`+r)),n.s(n.f("content",t,e,1),t,e,0,371,445,"{{ }}")&&(n.rs(t,e,function(i,a,s){s.b(' '),s.b(s.t(s.f("content",i,a,0))),s.b(""),s.b(` +`+r)}),t.pop()),n.s(n.f("content",t,e,1),t,e,1,0,0,"")||(n.b('
'),n.b(` +`+r)),n.b("
"),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b(""),n.fl()},partials:{},subs:{}});dt["generic-wrapper"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("content",t,e,0))),n.b(` +`+r),n.b("
"),n.fl()},partials:{},subs:{}});dt["icon-file-added"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});dt["icon-file-changed"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});dt["icon-file-deleted"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});dt["icon-file-renamed"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});dt["icon-file"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('"),n.fl()},partials:{},subs:{}});dt["line-by-line-file-diff"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("filePath",t,e,0))),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("diffs",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.fl()},partials:{},subs:{}});dt["line-by-line-numbers"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(n.v(n.f("oldNumber",t,e,0))),n.b("
"),n.b(` +`+r),n.b('
'),n.b(n.v(n.f("newNumber",t,e,0))),n.b("
"),n.fl()},partials:{},subs:{}});dt["side-by-side-file-diff"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(" "),n.b(n.t(n.f("filePath",t,e,0))),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.d("diffs.left",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b('
'),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(' '),n.b(` +`+r),n.b(" "),n.b(n.t(n.d("diffs.right",t,e,0))),n.b(` +`+r),n.b(" "),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.b(` +`+r),n.b("
"),n.fl()},partials:{},subs:{}});dt["tag-file-added"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('ADDED'),n.fl()},partials:{},subs:{}});dt["tag-file-changed"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('CHANGED'),n.fl()},partials:{},subs:{}});dt["tag-file-deleted"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('DELETED'),n.fl()},partials:{},subs:{}});dt["tag-file-renamed"]=new ht.Template({code:function(t,e,r){var n=this;return n.b(r=r||""),n.b('RENAMED'),n.fl()},partials:{},subs:{}});var Wc=class{constructor({compiledTemplates:e={},rawTemplates:r={}}){let n=Object.entries(r).reduce((i,[a,s])=>{let o=Kv.compile(s,{asString:!1});return Object.assign(Object.assign({},i),{[a]:o})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},dt),e),n)}static compile(e){return Kv.compile(e,{asString:!1})}render(e,r,n,i,a){let s=this.templateKey(e,r);try{return this.preCompiledTemplates[s].render(n,i,a)}catch(o){throw new Error(`Could not find template to render '${s}'`)}}template(e,r){return this.preCompiledTemplates[this.templateKey(e,r)]}templateKey(e,r){return`${e}-${r}`}};var HU=Object.assign(Object.assign(Object.assign({},Vv),qv),{outputFormat:lM.LINE_BY_LINE,drawFileList:!0});function SM(t,e={}){let r=Object.assign(Object.assign({},HU),e),n=typeof t=="string"?gM(t,r):t,i=new Wc(r),{colorScheme:a}=r,s={colorScheme:a},o=r.drawFileList?new bh(i,s).render(n):"",l=r.outputFormat==="side-by-side"?new qc(i,r).render(n):new zc(i,r).render(n);return o+l}var xh=require("obsidian");var ls=class extends xh.ItemView{constructor(r,n){super(r);this.plugin=n;this.gettingDiff=!1;this.parser=new DOMParser,this.navigation=!0,this.gitRefreshRef=this.app.workspace.on("obsidian-git:status-changed",()=>{this.refresh().catch(console.error)})}getViewType(){return ua.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let n=this.state.bFile.split("/").last();return n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3)),`Diff: ${n}`}return ua.name}getIcon(){return ua.icon}async setState(r,n){this.state=r,xh.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await this.refresh()}getState(){return this.state}onClose(){return this.app.workspace.offref(this.gitRefreshRef),this.app.workspace.offref(this.gitViewRefreshRef),super.onClose()}async onOpen(){return await this.refresh(),super.onOpen()}async refresh(){var r;if((r=this.state)!=null&&r.bFile&&!this.gettingDiff&&this.plugin.gitManager){this.gettingDiff=!0;try{let n=await this.plugin.gitManager.getDiffString(this.state.bFile,this.state.aRef=="HEAD",this.state.bRef);this.contentEl.empty();let i=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);if(!n){if(this.plugin.gitManager instanceof Ce&&await this.plugin.gitManager.isTracked(this.state.bFile))n=[`--- ${this.state.aFile}`,`+++ ${this.state.bFile}`,""].join(` +`);else if(await this.app.vault.adapter.exists(i)){let a=await this.app.vault.adapter.read(i);n=[...`--- /dev/null ++++ ${this.state.bFile} +@@ -0,0 +1,${a.split(` +`).length} @@`.split(` +`),...a.split(` +`).map(o=>`+${o}`)].join(` +`)}}if(n){let a=this.parser.parseFromString(SM(n),"text/html").querySelector(".d2h-file-diff");this.contentEl.append(a)}else{let a=this.contentEl.createDiv({cls:"obsidian-git-center"});a.createSpan({text:"\u26A0\uFE0F",attr:{style:"font-size: 2em"}}),a.createEl("br"),a.createSpan({text:"File not found: "+this.state.bFile})}}finally{this.gettingDiff=!1}}}};m();var Qo=require("obsidian");var el=require("@codemirror/commands");m();var Ie=require("@codemirror/view"),ke=require("@codemirror/state");m();var Zv="\u037C",EM=typeof Symbol=="undefined"?"__"+Zv:Symbol.for(Zv),Jv=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),AM=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{},Sh=class{constructor(e,r){this.rules=[];let{finish:n}=r||{};function i(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function a(s,o,l,c){let u=[],f=/^@(\w+)\b/.exec(s[0]),d=f&&f[1]=="keyframes";if(f&&o==null)return l.push(s[0]+";");for(let h in o){let p=o[h];if(/&/.test(h))a(h.split(/,\s*/).map(g=>s.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),p,l);else if(p&&typeof p=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");a(i(h),p,u,d)}else p!=null&&u.push(h.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(u.length||d)&&l.push((n&&!f&&!c?s.map(n):s).join(", ")+" {"+u.join(" ")+"}")}for(let s in e)a(i(s),e[s],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=AM[EM]||1;return AM[EM]=e+1,Zv+e.toString(36)}static mount(e,r,n){let i=e[Jv],a=n&&n.nonce;i?a&&i.setNonce(a):i=new Qv(e,a),i.mount(Array.isArray(r)?r:[r],e)}},kM=new Map,Qv=class{constructor(e,r){let n=e.ownerDocument||e,i=n.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let a=kM.get(n);if(a)return e[Jv]=a;this.sheet=new i.CSSStyleSheet,kM.set(n,this)}else this.styleTag=n.createElement("style"),r&&this.styleTag.setAttribute("nonce",r);this.modules=[],e[Jv]=this}mount(e,r){let n=this.sheet,i=0,a=0;for(let s=0;s-1&&(this.modules.splice(l,1),a--,l=-1),l==-1){if(this.modules.splice(a++,0,o),n)for(let c=0;cc){let f=t.slice(e,r).indexOf(n.slice(i,a));if(f>-1)return[new pt(e,e+f,i,i),new pt(e+f+c,r,a,a)]}else if(c>l){let f=n.slice(i,a).indexOf(t.slice(e,r));if(f>-1)return[new pt(e,e,i,i+f),new pt(r,r,i+f+l,a)]}if(l==1||c==1)return[new pt(e,r,i,a)];let u=qM(t,e,r,n,i,a);if(u){let[f,d,h]=u;return us(t,e,f,n,i,d).concat(us(t,f+h,r,n,d+h,a))}return GU(t,e,r,n,i,a)}var Yc=1e9,Xc=0,s1=!1;function GU(t,e,r,n,i,a){let s=r-e,o=a-i;if(Yc<1e9&&Math.min(s,o)>Yc*16||Xc>0&&Date.now()>Xc)return Math.min(s,o)>Yc*64?[new pt(e,r,i,a)]:TM(t,e,r,n,i,a);let l=Math.ceil((s+o)/2);e1.reset(l),t1.reset(l);let c=(h,p)=>t.charCodeAt(e+h)==n.charCodeAt(i+p),u=(h,p)=>t.charCodeAt(r-h-1)==n.charCodeAt(a-p-1),f=(s-o)%2!=0?t1:null,d=f?null:e1;for(let h=0;hYc||Xc>0&&!(h&63)&&Date.now()>Xc)return TM(t,e,r,n,i,a);let p=e1.advance(h,s,o,l,f,!1,c)||t1.advance(h,s,o,l,d,!0,u);if(p)return zU(t,e,r,e+p[0],n,i,a,i+p[1])}return[new pt(e,r,i,a)]}var Ch=class{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let r=0;rr)this.end+=2;else if(f>n)this.start+=2;else if(a){let d=i+(r-n)-l;if(d>=0&&d=r-u)return[h,i+h-d]}else{let h=r-a.vec[d];if(u>=h)return[u,f]}}}return null}},e1=new Ch,t1=new Ch;function zU(t,e,r,n,i,a,s,o){let l=!1;return!Ko(t,n)&&++n==r&&(l=!0),!Ko(i,o)&&++o==s&&(l=!0),l?[new pt(e,r,a,s)]:us(t,e,n,i,a,o).concat(us(t,n,r,i,o,s))}function VM(t,e){let r=1,n=Math.min(t,e);for(;rr||u>a||t.slice(o,c)!=n.slice(l,u)){if(s==1)return o-e-(Ko(t,o)?0:1);s=s>>1}else{if(c==r||u==a)return c-e;o=c,l=u}}}function l1(t,e,r,n,i,a){if(e==r||i==a||t.charCodeAt(r-1)!=n.charCodeAt(a-1))return 0;let s=VM(r-e,a-i);for(let o=r,l=a;;){let c=o-s,u=l-s;if(c>1}else{if(c==e||u==i)return r-c;o=c,l=u}}}function r1(t,e,r,n,i,a,s,o){let l=n.slice(i,a),c=null;for(;;){if(c||s=r)break;let d=t.slice(u,f),h=-1;for(;(h=l.indexOf(d,h+1))!=-1;){let p=o1(t,f,r,n,i+h+d.length,a),g=l1(t,e,u,n,i,i+h),v=d.length+p+g;(!c||c[2]>1}}function qM(t,e,r,n,i,a){let s=r-e,o=a-i;if(si.fromA-e&&n.toB>i.fromB-e&&(t[r-1]=new pt(n.fromA,i.toA,n.fromB,i.toB),t.splice(r--,1))}}function VU(t,e,r){for(;;){WM(r,1);let n=!1;for(let i=0;i3||o>3){let l=i==t.length-1?e.length:t[i+1].fromA,c=a.fromA-n,u=l-a.toA,f=PM(e,a.fromA,c),d=CM(e,a.toA,u),h=a.fromA-f,p=d-a.toA;if((!s||!o)&&h&&p){let g=Math.max(s,o),[v,y,b]=s?[e,a.fromA,a.toA]:[r,a.fromB,a.toB];g>h&&e.slice(f,a.fromA)==v.slice(b-h,b)?(a=t[i]=new pt(f,f+s,a.fromB-h,a.toB-h),f=a.fromA,d=CM(e,a.toA,l-a.toA)):g>p&&e.slice(a.toA,d)==v.slice(y,y+p)&&(a=t[i]=new pt(d-s,d,a.fromB+p,a.toB+p),d=a.toA,f=PM(e,a.fromA,a.fromA-n)),h=a.fromA-f,p=d-a.toA}if(h||p)a=t[i]=new pt(a.fromA-h,a.toA+p,a.fromB-h,a.toB+p);else if(s){if(!o){let g=MM(e,a.fromA,a.toA),v,y=g<0?-1:RM(e,a.toA,a.fromA);g>-1&&(v=g-a.fromA)<=u&&e.slice(a.fromA,g)==e.slice(a.toA,a.toA+v)?a=t[i]=a.offset(v):y>-1&&(v=a.toA-y)<=c&&e.slice(a.fromA-v,a.fromA)==e.slice(y,a.toA)&&(a=t[i]=a.offset(-v))}}else{let g=MM(r,a.fromB,a.toB),v,y=g<0?-1:RM(r,a.toB,a.fromB);g>-1&&(v=g-a.fromB)<=u&&r.slice(a.fromB,g)==r.slice(a.toB,a.toB+v)?a=t[i]=a.offset(v):y>-1&&(v=a.toB-y)<=c&&r.slice(a.fromB-v,a.fromB)==r.slice(y,a.toB)&&(a=t[i]=a.offset(-v))}}n=a.toA}return WM(t,3),t}var cs;try{cs=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(t){}function YM(t){return t>48&&t<58||t>64&&t<91||t>96&&t<123}function XM(t,e){if(e==t.length)return 0;let r=t.charCodeAt(e);return r<192?YM(r)?1:0:cs?!JM(r)||e==t.length-1?cs.test(String.fromCharCode(r))?1:0:cs.test(t.slice(e,e+2))?2:0:0}function KM(t,e){if(!e)return 0;let r=t.charCodeAt(e-1);return r<192?YM(r)?1:0:cs?!QM(r)||e==1?cs.test(String.fromCharCode(r))?1:0:cs.test(t.slice(e-2,e))?2:0:0}var ZM=8;function CM(t,e,r){if(e==t.length||!KM(t,e))return e;for(let n=e,i=e+r,a=0;ai)return n;n+=s}return e}function PM(t,e,r){if(!e||!XM(t,e))return e;for(let n=e,i=e-r,a=0;at>=55296&&t<=56319,QM=t=>t>=56320&&t<=57343;function Ko(t,e){return!e||e==t.length||!JM(t.charCodeAt(e-1))||!QM(t.charCodeAt(e))}function WU(t,e,r){var n;return Yc=((n=r==null?void 0:r.scanLimit)!==null&&n!==void 0?n:1e9)>>1,Xc=r!=null&&r.timeout?Date.now()+r.timeout:0,s1=!1,VU(t,e,us(t,0,t.length,e,0,e.length))}function eO(){return!s1}function tO(t,e,r){return qU(WU(t,e,r),t,e)}var Jn=ke.Facet.define({combine:t=>t[0]}),n1=ke.StateEffect.define(),YU=ke.Facet.define(),Zo=ke.StateField.define({create(t){return null},update(t,e){for(let r of e.effects)r.is(n1)&&(t=r.value);for(let r of e.state.facet(YU))t=r(t,e);return t}});var Xo=class t{constructor(e,r,n,i,a,s=!0){this.changes=e,this.fromA=r,this.toA=n,this.fromB=i,this.toB=a,this.precise=s}offset(e,r){return e||r?new t(this.changes,this.fromA+e,this.toA+e,this.fromB+r,this.toB+r,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,r,n){let i=tO(e.toString(),r.toString(),n);return rO(i,e,r,0,0,eO())}static updateA(e,r,n,i,a){return DM($M(e,i,!0,n.length),e,r,n,a)}static updateB(e,r,n,i,a){return DM($M(e,i,!1,r.length),e,r,n,a)}};function OM(t,e,r,n){let i=r.lineAt(t),a=n.lineAt(e);return i.to==t&&a.to==e&&tf+1&&v>d+1)break;h.push(p.offset(-c+n,-u+i)),[f,d]=IM(p.toA+n,p.toB+i,e,r),o++}s.push(new Xo(h,c,Math.max(c,f),u,Math.max(u,d),a))}return s}var Eh=1e3;function FM(t,e,r,n){let i=0,a=t.length;for(;;){if(i==a){let u=0,f=0;i&&({toA:u,toB:f}=t[i-1]);let d=e-(r?u:f);return[u+d,f+d]}let s=i+a>>1,o=t[s],[l,c]=r?[o.fromA,o.toA]:[o.fromB,o.toB];if(l>e)a=s;else if(c<=e)i=s+1;else return n?[o.fromA,o.fromB]:[o.toA,o.toB]}}function $M(t,e,r,n){let i=[];return e.iterChangedRanges((a,s,o,l)=>{let c=0,u=r?e.length:n,f=0,d=r?n:e.length;a>Eh&&([c,f]=FM(t,a-Eh,r,!0)),s=c?i[i.length-1]={fromA:p.fromA,fromB:p.fromB,toA:u,toB:d,diffA:p.diffA+g,diffB:p.diffB+v}:i.push({fromA:c,toA:u,fromB:f,toB:d,diffA:g,diffB:v})}),i}function DM(t,e,r,n,i){if(!t.length)return e;let a=[];for(let s=0,o=0,l=0,c=0;;s++){let u=s==t.length?null:t[s],f=u?u.fromA+o:r.length,d=u?u.fromB+l:n.length;for(;cf||v.toB+l>d)break;a.push(v.offset(o,l)),c++}if(!u)break;let h=u.toA+o+u.diffA,p=u.toB+l+u.diffB,g=tO(r.sliceString(f,h),n.sliceString(d,p),i);for(let v of rO(g,r,n,f,d,eO()))a.push(v);for(o+=u.diffA,l+=u.diffB;ch&&v.fromB+l>p)break;c++}}return a}var XU={scanLimit:500},nO=Ie.ViewPlugin.fromClass(class{constructor(t){({deco:this.deco,gutter:this.gutter}=NM(t))}update(t){(t.docChanged||t.viewportChanged||KU(t.startState,t.state)||ZU(t.startState,t.state))&&({deco:this.deco,gutter:this.gutter}=NM(t.view))}},{decorations:t=>t.deco}),Ah=ke.Prec.low((0,Ie.gutter)({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(nO))===null||e===void 0?void 0:e.gutter)||ke.RangeSet.empty}}));function KU(t,e){return t.field(Zo,!1)!=e.field(Zo,!1)}function ZU(t,e){return t.facet(Jn)!=e.facet(Jn)}var LM=Ie.Decoration.line({class:"cm-changedLine"}),JU=Ie.Decoration.mark({class:"cm-changedText"}),QU=Ie.Decoration.mark({tagName:"ins",class:"cm-insertedLine"}),eG=Ie.Decoration.mark({tagName:"del",class:"cm-deletedLine"}),jM=new class extends Ie.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function tG(t,e,r,n,i,a){let s=r?t.fromA:t.fromB,o=r?t.toA:t.toB,l=0;if(s!=o){i.add(s,s,LM),i.add(s,o,r?eG:QU),a&&a.add(s,s,jM);for(let c=e.iterRange(s,o-1),u=s;!c.next().done;){if(c.lineBreak){u++,i.add(u,u,LM),a&&a.add(u,u,jM);continue}let f=u+c.value.length;if(n)for(;l=u)break;(s?f.toA:f.toB)>c&&(!a||!a(t.state,f,o,l))&&tG(f,t.state.doc,s,n,o,l)}return{deco:o.finish(),gutter:l&&l.finish()}}var Yo=class extends Ie.WidgetType{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},Ph=ke.StateEffect.define({map:(t,e)=>t.map(e)}),Kc=ke.StateField.define({create:()=>Ie.Decoration.none,update:(t,e)=>{for(let r of e.effects)if(r.is(Ph))return r.value;return t.map(e.changes)},provide:t=>Ie.EditorView.decorations.from(t)}),kh=.01;function BM(t,e){if(t.size!=e.size)return!1;let r=t.iter(),n=e.iter();for(;r.value;){if(r.from!=n.from||Math.abs(r.value.spec.widget.height-n.value.spec.widget.height)>1)return!1;r.next(),n.next()}return!0}function rG(t,e,r){let n=new ke.RangeSetBuilder,i=new ke.RangeSetBuilder,a=t.state.field(Kc).iter(),s=e.state.field(Kc).iter(),o=0,l=0,c=0,u=0,f=t.viewport,d=e.viewport;for(let v=0;;v++){let y=vkh&&(u+=k,i.add(l,l,Ie.Decoration.widget({widget:new Yo(k),block:!0,side:-1})))}if(b>o+1e3&&of.from&&ld.from){let S=Math.min(f.from-o,d.from-l);o+=S,l+=S,v--}else if(y)o=y.toA,l=y.toB;else break;for(;a.value&&a.fromkh&&i.add(e.state.doc.length,e.state.doc.length,Ie.Decoration.widget({widget:new Yo(h),block:!0,side:1}));let p=n.finish(),g=i.finish();BM(p,t.state.field(Kc))||t.dispatch({effects:Ph.of(p)}),BM(g,e.state.field(Kc))||e.dispatch({effects:Ph.of(g)})}var i1=ke.StateEffect.define({map:(t,e)=>e.mapPos(t)}),a1=class extends Ie.WidgetType{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let r=document.createElement("div");return r.className="cm-collapsedLines",r.textContent=e.state.phrase("$ unchanged lines",this.lines),r.addEventListener("click",n=>{let i=e.posAtDOM(n.target);e.dispatch({effects:i1.of(i)});let{side:a,sibling:s}=e.state.facet(Jn);s&&s().dispatch({effects:i1.of(nG(i,e.state.field(Zo),a=="a"))})}),r}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}};function nG(t,e,r){let n=0,i=0;for(let a=0;;a++){let s=a=t)return i+(t-n);[n,i]=r?[s.toA,s.toB]:[s.toB,s.toA]}}var iG=ke.StateField.define({create(t){return Ie.Decoration.none},update(t,e){t=t.map(e.changes);for(let r of e.effects)r.is(i1)&&(t=t.update({filter:n=>n!=r.value}));return t},provide:t=>Ie.EditorView.decorations.from(t)});function HM({margin:t=3,minSize:e=4}){return iG.init(r=>aG(r,t,e))}function aG(t,e,r){let n=new ke.RangeSetBuilder,i=t.facet(Jn).side=="a",a=t.field(Zo),s=1;for(let o=0;;o++){let l=o=r&&n.add(t.doc.line(c).from,t.doc.line(u).to,Ie.Decoration.replace({widget:new a1(f),block:!0})),!l)break;s=t.doc.lineAt(Math.min(t.doc.length,i?l.toA:l.toB)).number}return n.finish()}var sG=Ie.EditorView.styleModule.of(new Sh({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),oG=Ie.EditorView.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine, .cm-inlineChangedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb22aa, #22bb22aa) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff88aa, #88ff88aa) bottom/100% 2px no-repeat"},"&.cm-merge-b .cm-deletedText":{background:"#ff000033"},".cm-insertedLine, .cm-deletedLine, .cm-deletedLine del":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"\u299A"',marginInlineEnd:"7px"},"&:after":{content:'"\u299A"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"},".cm-inlineChangedLineGutter":{background:"#75d"}}),UM=new ke.Compartment,Th=new ke.Compartment,Rh=class{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||XU;let r=[ke.Prec.low(nO),oG,sG,Kc,Ie.EditorView.updateListener.of(f=>{this.measuring<0&&(f.heightChanged||f.viewportChanged)&&!f.transactions.some(d=>d.effects.some(h=>h.is(Ph)))&&this.measure()})],n=[Jn.of({side:"a",sibling:()=>this.b,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&n.push(Ah);let i=ke.EditorState.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],Ie.EditorView.editorAttributes.of({class:"cm-merge-a"}),Th.of(n),r]}),a=[Jn.of({side:"b",sibling:()=>this.a,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&a.push(Ah);let s=ke.EditorState.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],Ie.EditorView.editorAttributes.of({class:"cm-merge-b"}),Th.of(a),r]});this.chunks=Xo.build(i.doc,s.doc,this.diffConf);let o=[Zo.init(()=>this.chunks),UM.of(e.collapseUnchanged?HM(e.collapseUnchanged):[])];i=i.update({effects:ke.StateEffect.appendConfig.of(o)}).state,s=s.update({effects:ke.StateEffect.appendConfig.of(o)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let l=e.orientation||"a-b",c=document.createElement("div");c.className="cm-mergeViewEditor";let u=document.createElement("div");u.className="cm-mergeViewEditor",this.editorDOM.appendChild(l=="a-b"?c:u),this.editorDOM.appendChild(l=="a-b"?u:c),this.a=new Ie.EditorView({state:i,parent:c,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.a)}),this.b=new Ie.EditorView({state:s,parent:u,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.b)}),this.setupRevertControls(!!e.revertControls,e.revertControls=="b-to-a",e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,r){if(e.some(n=>n.docChanged)){let n=e[e.length-1],i=e.reduce((s,o)=>s.compose(o.changes),ke.ChangeSet.empty(e[0].startState.doc.length));this.chunks=r==this.a?Xo.updateA(this.chunks,n.newDoc,this.b.state.doc,i,this.diffConf):Xo.updateB(this.chunks,this.a.state.doc,n.newDoc,i,this.diffConf),r.update([...e,n.state.update({effects:n1.of(this.chunks)})]);let a=r==this.a?this.b:this.a;a.update([a.state.update({effects:n1.of(this.chunks)})]),this.scheduleMeasure()}else r.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let a=e.orientation!="b-a";if(a!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let s=this.a.dom.parentNode,o=this.b.dom.parentNode;s.remove(),o.remove(),this.editorDOM.insertBefore(a?s:o,this.editorDOM.firstChild),this.editorDOM.appendChild(a?o:s),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let a=!!this.revertDOM,s=this.revertToA,o=this.renderRevert;"revertControls"in e&&(a=!!e.revertControls,s=e.revertControls=="b-to-a"),"renderRevertControl"in e&&(o=e.renderRevertControl),this.setupRevertControls(a,s,o)}let r="highlightChanges"in e,n="gutter"in e,i="collapseUnchanged"in e;if(r||n||i){let a=[],s=[];if(r||n){let o=this.a.state.facet(Jn),l=n?e.gutter!==!1:o.markGutter,c=r?e.highlightChanges!==!1:o.highlightChanges;a.push(Th.reconfigure([Jn.of({side:"a",sibling:()=>this.b,highlightChanges:c,markGutter:l}),l?Ah:[]])),s.push(Th.reconfigure([Jn.of({side:"b",sibling:()=>this.a,highlightChanges:c,markGutter:l}),l?Ah:[]]))}if(i){let o=UM.reconfigure(e.collapseUnchanged?HM(e.collapseUnchanged):[]);a.push(o),s.push(o)}this.a.dispatch({effects:a}),this.b.dispatch({effects:s})}this.scheduleMeasure()}setupRevertControls(e,r,n){this.revertToA=r,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=n,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",i=>this.revertClicked(i)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){rG(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,r=e.firstChild,n=this.a.viewport,i=this.b.viewport;for(let a=0;an.to||s.fromB>i.to)break;if(s.fromA-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}};function GM(t){let e=t.nextSibling;return t.remove(),e}var Mh=require("@codemirror/search"),Jo=require("@codemirror/state"),tn=require("@codemirror/view");var fs=class extends Qo.ItemView{constructor(r,n){super(r);this.plugin=n;this.refreshing=!1;this.ignoreNextModification=!1;this.navigation=!0,this.registerEvent(this.app.workspace.on("obsidian-git:status-changed",()=>{this.mergeView?this.updateRefEditors().catch(console.error):this.createMergeView().catch(console.error)})),this.intervalRef=window.setInterval(()=>{this.mergeView&&this.updateRefEditors().catch(console.error)},30*1e3),this.registerEvent(this.app.vault.on("modify",i=>{this.state.bRef==null&&i.path===this.state.bFile&&(this.ignoreNextModification?this.ignoreNextModification=!1:this.updateModifiableEditor().catch(console.error))})),this.registerEvent(this.app.vault.on("delete",i=>{this.state.bRef==null&&i.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("create",i=>{this.state.bRef==null&&i.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("rename",(i,a)=>{this.state.bRef==null&&(i.path===this.state.bFile||a===this.state.bFile)&&this.createMergeView().catch(console.error)})),this.fileSaveDebouncer=(0,Qo.debounce)(i=>{let a=this.state.bFile;a&&(this.ignoreNextModification=!0,this.plugin.app.vault.adapter.write(this.plugin.gitManager.getRelativeVaultPath(a),i).catch(s=>this.plugin.displayError(s)))},1e3,!1)}getViewType(){return ca.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let n=this.state.bFile.split("/").last();return n!=null&&n.endsWith(".md")&&(n=n.slice(0,-3)),`Diff: ${n}`}return ca.name}getIcon(){return ca.icon}async setState(r,n){this.state=r,Qo.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await super.setState(r,n),await this.createMergeView()}getState(){return this.state}onClose(){return window.clearInterval(this.intervalRef),super.onClose()}async onOpen(){return await this.createMergeView(),super.onOpen()}async gitShow(r,n){try{return await this.plugin.gitManager.show(r,n,!1)}catch(i){if(i instanceof wr&&(i.message.includes("does not exist")||i.message.includes("unknown revision or path")||i.message.includes("exists on disk, but not in")||i.message.includes("fatal: bad object")))return i.message.includes("fatal: bad object")&&this.plugin.displayError(i.message),"";throw i}}async bShouldBeEditable(){if(this.state.bRef!=null)return!1;let r=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);return await this.app.vault.adapter.exists(r)}async updateModifiableEditor(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.b;this.refreshing=!0;let n=await this.app.vault.adapter.read(this.state.bFile);if(n!=r.state.doc.toString()){let i=r.state.update({changes:{from:0,to:r.state.doc.length,insert:n},annotations:[Jo.Transaction.remote.of(!0)]});r.dispatch(i)}this.refreshing=!1}async updateRefEditors(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.a,n=this.mergeView.b;this.refreshing=!0;let i=await this.gitShow(this.state.aRef,this.state.aFile),a;if(this.state.bRef!=null&&(a=await this.gitShow(this.state.bRef,this.state.bFile)),i!=r.state.doc.toString()){let s=r.state.update({changes:{from:0,to:r.state.doc.length,insert:i}});r.dispatch(s)}if(a!=null&&a!=n.state.doc.toString()){let s=n.state.update({changes:{from:0,to:n.state.doc.length,insert:a}});n.dispatch(s)}this.refreshing=!1}async createMergeView(){var r,n,i;if((r=this.state)!=null&&r.aFile&&((n=this.state)!=null&&n.bFile)&&!this.refreshing&&this.plugin.gitManager){this.refreshing=!0,(i=this.mergeView)==null||i.destroy();let a=this.containerEl.children[1];a.empty(),this.contentEl.addClass("git-split-diff-view"),this.bIsEditable=await this.bShouldBeEditable();let s=await this.gitShow(this.state.aRef,this.state.aFile),o;if(this.state.bRef!=null)o=await this.gitShow(this.state.bRef,this.state.bFile);else{let p=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);await this.app.vault.adapter.exists(p)?o=await this.app.vault.adapter.read(p):o=""}let l=[(0,tn.lineNumbers)(),(0,Mh.highlightSelectionMatches)(),(0,tn.drawSelection)(),tn.keymap.of([...el.standardKeymap,el.indentWithTab]),(0,el.history)(),(0,Mh.search)(),tn.EditorView.lineWrapping],c=this,u=tn.ViewPlugin.define(p=>({update(g){if(g.docChanged&&!g.transactions.some(v=>v.annotation(Jo.Transaction.remote))){let v=p.state.doc.toString();c.fileSaveDebouncer(v)}}})),f={doc:s,extensions:[...l,tn.EditorView.editable.of(!1),Jo.EditorState.readOnly.of(!0)]},d=[...l];this.bIsEditable?d.push(u):d.push(tn.EditorView.editable.of(!1),Jo.EditorState.readOnly.of(!0));let h={doc:o,extensions:d};a.addClasses(["cm-s-obsidian","mod-cm6","markdown-source-view","cm-content"]),this.mergeView=new Rh({b:h,a:f,collapseUnchanged:{minSize:6,margin:4},diffConfig:{scanLimit:this.bIsEditable?1e3:1e4},parent:a}),this.refreshing=!1}}};m();var C5=require("obsidian");m();m();m();var iO="5";var aO,sO,oO;typeof window!="undefined"&&((oO=(sO=(aO=window.__svelte)!=null?aO:window.__svelte={}).v)!=null?oO:sO.v=new Set).add(iO);m();m();m();var tl="[",ya="[!",ds="]",Ci={};var qe=Symbol(),rn=Symbol("filename"),lO=Symbol("hmr"),cO="http://www.w3.org/1999/xhtml";m();m();m();m();var Oh=!0;m();var D=!1;m();var nn=Array.isArray,uO=Array.prototype.indexOf,Zc=Array.from,c1=Object.keys,qt=Object.defineProperty,_r=Object.getOwnPropertyDescriptor,u1=Object.getOwnPropertyDescriptors,f1=Object.prototype,fO=Array.prototype,rl=Object.getPrototypeOf,d1=Object.isExtensible;function h1(t){return typeof t=="function"}var ir=()=>{};function Jc(t){for(var e=0;e{t=n,e=i});return{promise:r,resolve:t,reject:e}}m();m();var xr=Symbol("$state"),Qc=Symbol("legacy props"),hO=Symbol(""),Ih=Symbol("proxy path"),nl=new class extends Error{constructor(){super(...arguments);vt(this,"name","StaleReactionError");vt(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var eu=3,an=8;m();m();function pO(){if(D){let t=new Error("await_outside_boundary\nCannot await outside a `` with a `pending` snippet\nhttps://svelte.dev/e/await_outside_boundary");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/await_outside_boundary")}function tu(t){if(D){let e=new Error(`lifecycle_outside_component +\`${t}(...)\` can only be used during component initialisation +https://svelte.dev/e/lifecycle_outside_component`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function mO(){if(D){let t=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/async_derived_orphan")}function p1(){if(D){let t=new Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function gO(){if(D){let t=new Error(`derived_references_self +A derived value cannot reference itself recursively +https://svelte.dev/e/derived_references_self`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/derived_references_self")}function vO(t){if(D){let e=new Error(`effect_in_teardown +\`${t}\` cannot be used inside an effect cleanup function +https://svelte.dev/e/effect_in_teardown`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_in_teardown")}function yO(){if(D){let t=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function wO(t){if(D){let e=new Error(`effect_orphan +\`${t}\` can only be used inside an effect (e.g. during component initialisation) +https://svelte.dev/e/effect_orphan`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_orphan")}function bO(){if(D){let t=new Error(`effect_update_depth_exceeded +Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state +https://svelte.dev/e/effect_update_depth_exceeded`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function _O(){if(D){let t=new Error("flush_sync_in_effect\nCannot use `flushSync` inside an effect\nhttps://svelte.dev/e/flush_sync_in_effect");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/flush_sync_in_effect")}function xO(){if(D){let t=new Error(`hydration_failed +Failed to hydrate the application +https://svelte.dev/e/hydration_failed`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/hydration_failed")}function SO(t){if(D){let e=new Error(`props_invalid_value +Cannot do \`bind:${t}={undefined}\` when \`${t}\` has a fallback value +https://svelte.dev/e/props_invalid_value`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/props_invalid_value")}function EO(t){if(D){let e=new Error(`rune_outside_svelte +The \`${t}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files +https://svelte.dev/e/rune_outside_svelte`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/rune_outside_svelte")}function AO(){if(D){let t=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function kO(){if(D){let t=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_prototype_fixed")}function TO(){if(D){let t=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_unsafe_mutation")}m();m();m();var hs="font-weight: bold",ps="font-weight: normal";function CO(t){D?console.warn(`%c[svelte] await_reactivity_loss +%cDetected reactivity loss when reading \`${t}\`. This happens when state is read in an async function after an earlier \`await\` +https://svelte.dev/e/await_reactivity_loss`,hs,ps):console.warn("https://svelte.dev/e/await_reactivity_loss")}function PO(t,e){D?console.warn(`%c[svelte] await_waterfall +%cAn async derived, \`${t}\` (${e}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app +https://svelte.dev/e/await_waterfall`,hs,ps):console.warn("https://svelte.dev/e/await_waterfall")}function RO(t,e,r){D?console.warn(`%c[svelte] hydration_attribute_changed +%cThe \`${t}\` attribute on \`${e}\` changed its value between server and client renders. The client value, \`${r}\`, will be ignored in favour of the server value +https://svelte.dev/e/hydration_attribute_changed`,hs,ps):console.warn("https://svelte.dev/e/hydration_attribute_changed")}function ms(t){D?console.warn(`%c[svelte] hydration_mismatch +%c${t?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${t}`:"Hydration failed because the initial UI does not match what was rendered on the server"} +https://svelte.dev/e/hydration_mismatch`,hs,ps):console.warn("https://svelte.dev/e/hydration_mismatch")}function MO(){D?console.warn(`%c[svelte] lifecycle_double_unmount +%cTried to unmount a component that was not mounted +https://svelte.dev/e/lifecycle_double_unmount`,hs,ps):console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function Fh(t){D?console.warn(`%c[svelte] state_proxy_equality_mismatch +%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${t}\` will produce unexpected results +https://svelte.dev/e/state_proxy_equality_mismatch`,hs,ps):console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function OO(t){D?console.warn(`%c[svelte] transition_slide_display +%cThe \`slide\` transition does not work correctly for elements with \`display: ${t}\` +https://svelte.dev/e/transition_slide_display`,hs,ps):console.warn("https://svelte.dev/e/transition_slide_display")}var se=!1;function Yt(t){se=t}var ge;function et(t){if(t===null)throw ms(),Ci;return ge=t}function Xt(){return et(jt(ge))}function H(t){if(se){if(jt(ge)!==null)throw ms(),Ci;ge=t}}function il(t=1){if(se){for(var e=t,r=ge;e--;)r=jt(r);ge=r}}function gs(){for(var t=0,e=ge;;){if(e.nodeType===an){var r=e.data;if(r===ds){if(t===0)return e;t-=1}else(r===tl||r===ya)&&(t+=1)}var n=jt(e);e.remove(),e=n}}function $h(t){if(!t||t.nodeType!==an)throw ms(),Ci;return t.data}m();m();m();m();function Dh(t){return t===this.v}function Lh(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function jh(t){return!Lh(t,this.v)}m();var _n=!1,Pi=!1,Qn=!1;m();m();m();var ru=null;function ei(t){let e=Error(),r=e.stack;if(!r)return null;let n=r.split(` +`),i=[` +`];for(let a=0;a"}`,a=e.ctx;a!==null;)i+=` +${n}in ${(o=a.function)==null?void 0:o[rn].split("/").pop()}`,a=a.p;return{message:t.message+` +${i} +`,stack:(l=t.stack)==null?void 0:l.split(` +`).filter(c=>!c.includes("svelte/src/internal")).join(` +`)}}}function $O(t){let e=v1.get(t);e&&(qt(t,"message",{value:e.message}),qt(t,"stack",{value:e.stack}))}m();var au=[],w1=[];function DO(){var t=au;au=[],Jc(t)}function uG(){var t=w1;w1=[],Jc(t)}function Lr(t){au.length===0&&queueMicrotask(DO),au.push(t)}function LO(){au.length>0&&DO(),w1.length>0&&uG()}m();var ane=589952;function Uh(){for(var t=ee.b;t!==null&&!t.has_pending_snippet();)t=t.parent;return t===null&&pO(),t}m();m();var Ii=null;function S1(t){Ii=t}var ou=new Set;function vs(t){var e=2050,r=oe!==null&&oe.f&2?oe:null;ee===null||r!==null&&r.f&256?e|=256:ee.f|=524288;let n={ctx:ye,deps:null,effects:null,equals:Dh,f:e,fn:t,reactions:null,rv:0,v:qe,wv:0,parent:r!=null?r:ee,ac:null};return D&&Qn&&(n.created=ei("CreatedAt")),n}function E1(t,e){let r=ee;r===null&&mO();var n=r.b,i=void 0,a=jr(qe),s=null,o=!oe;return jO(()=>{var h;D&&(Ii=ee);try{var l=t()}catch(p){l=Promise.reject(p)}D&&(Ii=null);var c=()=>l;i=(h=s==null?void 0:s.then(c,c))!=null?h:Promise.resolve(l),s=i;var u=xe,f=n.pending;o&&(n.update_pending_count(1),f||u.increment());let d=(p,g=void 0)=>{s=null,Ii=null,f||u.activate(),g?g!==nl&&(a.f|=8388608,ri(a,g)):(a.f&8388608&&(a.f^=8388608),ri(a,p),D&&e!==void 0&&(ou.add(a),setTimeout(()=>{ou.has(a)&&(PO(a.label,e),ou.delete(a))}))),o&&(n.update_pending_count(-1),f||u.decrement()),Vh()};if(i.then(d,p=>d(null,p||"unknown")),u)return()=>{queueMicrotask(()=>u.neuter())}}),D&&(a.f|=4194304),new Promise(l=>{function c(u){function f(){u===i?l(a):c(i)}u.then(f,f)}c(i)})}function Ct(t){let e=vs(t);return qh(e),e}function ys(t){let e=vs(t);return e.equals=jh,e}function Gh(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;rE1(l))).then(l=>{i==null||i.activate(),s();try{r([...t.map(n),...l])}catch(c){a.f&16384||al(c,a)}i==null||i.deactivate(),Vh()}).catch(l=>{o.error(l)})}function dG(){var t=ee,e=oe,r=ye;return function(){Nt(t),kt(e),ba(r),D&&S1(null)}}function Vh(){Nt(null),kt(null),ba(null),D&&S1(null)}var uu=new Set,xe=null,fu=null,_a=null,b1=new Set,Kh=[];function BO(){let t=Kh.shift();Kh.length>0&&queueMicrotask(BO),t()}var _s=[],Qh=null,k1=!1,Yh=!1,ol,ll,xa,du,hu,bs,cl,Sa,Ea,ul,pu,mu,An,HO,Xh,T1,Zh=class Zh{constructor(){yt(this,An);vt(this,"current",new Map);yt(this,ol,new Map);yt(this,ll,new Set);yt(this,xa,0);yt(this,du,null);yt(this,hu,!1);yt(this,bs,[]);yt(this,cl,[]);yt(this,Sa,[]);yt(this,Ea,[]);yt(this,ul,[]);yt(this,pu,[]);yt(this,mu,[]);vt(this,"skipped_effects",new Set)}process(e){var a;_s=[],fu=null;var r=null;if(uu.size>1){r=new Map,_a=new Map;for(let[s,o]of this.current)r.set(s,{v:s.v,wv:s.wv}),s.v=o;for(let s of uu)if(s!==this)for(let[o,l]of ue(s,ol))r.has(o)||(r.set(o,{v:o.v,wv:o.wv}),o.v=l)}for(let s of e)di(this,An,HO).call(this,s);if(ue(this,bs).length===0&&ue(this,xa)===0){di(this,An,T1).call(this);var n=ue(this,Sa),i=ue(this,Ea);It(this,Sa,[]),It(this,Ea,[]),It(this,ul,[]),fu=xe,xe=null,NO(n),NO(i),xe===null?xe=this:uu.delete(this),(a=ue(this,du))==null||a.resolve()}else di(this,An,Xh).call(this,ue(this,Sa)),di(this,An,Xh).call(this,ue(this,Ea)),di(this,An,Xh).call(this,ue(this,ul));if(r){for(let[s,{v:o,wv:l}]of r)s.wv<=l&&(s.v=o);_a=null}for(let s of ue(this,bs))$i(s);for(let s of ue(this,cl))$i(s);It(this,bs,[]),It(this,cl,[])}capture(e,r){ue(this,ol).has(e)||ue(this,ol).set(e,r),this.current.set(e,e.v)}activate(){xe=this}deactivate(){xe=null,fu=null;for(let e of b1)if(b1.delete(e),e(),xe!==null)break}neuter(){It(this,hu,!0)}flush(){_s.length>0?C1():di(this,An,T1).call(this),xe===this&&(ue(this,xa)===0&&uu.delete(this),this.deactivate())}increment(){It(this,xa,ue(this,xa)+1)}decrement(){if(It(this,xa,ue(this,xa)-1),ue(this,xa)===0){for(let e of ue(this,pu))mt(e,2048),ii(e);for(let e of ue(this,mu))mt(e,4096),ii(e);It(this,Sa,[]),It(this,Ea,[]),this.flush()}else this.deactivate()}add_callback(e){ue(this,ll).add(e)}settled(){var e;return((e=ue(this,du))!=null?e:It(this,du,dO())).promise}static ensure(){if(xe===null){let e=xe=new Zh;uu.add(xe),Yh||Zh.enqueue(()=>{xe===e&&e.flush()})}return xe}static enqueue(e){Kh.length===0&&queueMicrotask(BO),Kh.unshift(e)}};ol=new WeakMap,ll=new WeakMap,xa=new WeakMap,du=new WeakMap,hu=new WeakMap,bs=new WeakMap,cl=new WeakMap,Sa=new WeakMap,Ea=new WeakMap,ul=new WeakMap,pu=new WeakMap,mu=new WeakMap,An=new WeakSet,HO=function(e){var u;e.f^=1024;for(var r=e.first;r!==null;){var n=r.f,i=(n&96)!==0,a=i&&(n&1024)!==0,s=a||(n&8192)!==0||this.skipped_effects.has(r);if(!s&&r.fn!==null){if(i)r.f^=1024;else if(!(n&1024))if(n&4)ue(this,Ea).push(r);else if(_n&&n&8)ue(this,Sa).push(r);else if(n&4194304){var o=(u=r.b)!=null&&u.pending?ue(this,cl):ue(this,bs);o.push(r)}else Aa(r)&&(r.f&16&&ue(this,ul).push(r),$i(r));var l=r.first;if(l!==null){r=l;continue}}var c=r.parent;for(r=r.next;r===null&&c!==null;)r=c.next,c=c.parent}},Xh=function(e){for(let r of e)(r.f&2048?ue(this,pu):ue(this,mu)).push(r),mt(r,1024);e.length=0},T1=function(){if(!ue(this,hu))for(let e of ue(this,ll))e();ue(this,ll).clear()};var ti=Zh;function fl(t){_n&&ee!==null&&_O();var e=Yh;Yh=!0;try{var r;for(t&&(C1(),r=t());;){if(LO(),_s.length===0&&(xe==null||xe.flush(),_s.length===0))return Qh=null,r;C1()}}finally{Yh=e}}function C1(){var a;var t=xs;k1=!0;try{var e=0;for(P1(!0);_s.length>0;){var r=ti.ensure();if(e++>1e3){if(D){var n=new Map;for(let s of r.current.keys())for(let[o,l]of(a=s.updated)!=null?a:[]){var i=n.get(o);i||(i={error:l.error,count:0},n.set(o,i)),i.count+=l.count}for(let s of n.values())console.error(s.error)}hG()}r.process(_s),Di.clear()}}finally{k1=!1,P1(t),Qh=null}}function hG(){try{bO()}catch(t){D&&qt(t,"stack",{value:""}),al(t,Qh)}}function NO(t){var e=t.length;if(e!==0){for(var r=0;ri&&n.f&1048576)break}}for(;r0&&!O1&&I1()}return e}function I1(){O1=!1;let t=Array.from(ws);for(let e of t)e.f&1024&&mt(e,4096),Aa(e)&&$i(e);ws.clear()}function su(t){ie(t,t.v+1)}function GO(t,e){var r=t.reactions;if(r!==null)for(var n=on(),i=r.length,a=0;a{if(ka===s)return u();var f=oe,d=ka;kt(null),F1(s);var h=u();return kt(f),F1(d),h};n&&(r.set("length",Pe(t.length,a)),D&&(t=gG(t)));var l="";function c(u){l=u,sn(i,`${l} version`);for(let[f,d]of r)sn(d,Es(l,f))}return new Proxy(t,{defineProperty(u,f,d){(!("value"in d)||d.configurable===!1||d.enumerable===!1||d.writable===!1)&&AO();var h=r.get(f);return h===void 0?h=o(()=>{var p=Pe(d.value,a);return r.set(f,p),D&&typeof f=="string"&&sn(p,Es(l,f)),p}):ie(h,d.value,!0),!0},deleteProperty(u,f){var d=r.get(f);if(d===void 0){if(f in u){let h=o(()=>Pe(qe,a));r.set(f,h),su(i),D&&sn(h,Es(l,f))}}else ie(d,qe),su(i);return!0},get(u,f,d){var v;if(f===xr)return t;if(D&&f===Ih)return c;var h=r.get(f),p=f in u;if(h===void 0&&(!p||(v=_r(u,f))!=null&&v.writable)&&(h=o(()=>{var y=Ne(p?u[f]:qe),b=Pe(y,a);return D&&sn(b,Es(l,f)),b}),r.set(f,h)),h!==void 0){var g=R(h);return g===qe?void 0:g}return Reflect.get(u,f,d)},getOwnPropertyDescriptor(u,f){var d=Reflect.getOwnPropertyDescriptor(u,f);if(d&&"value"in d){var h=r.get(f);h&&(d.value=R(h))}else if(d===void 0){var p=r.get(f),g=p==null?void 0:p.v;if(p!==void 0&&g!==qe)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return d},has(u,f){var g;if(f===xr)return!0;var d=r.get(f),h=d!==void 0&&d.v!==qe||Reflect.has(u,f);if(d!==void 0||ee!==null&&(!h||(g=_r(u,f))!=null&&g.writable)){d===void 0&&(d=o(()=>{var v=h?Ne(u[f]):qe,y=Pe(v,a);return D&&sn(y,Es(l,f)),y}),r.set(f,d));var p=R(d);if(p===qe)return!1}return h},set(u,f,d,h){var k;var p=r.get(f),g=f in u;if(n&&f==="length")for(var v=d;vPe(qe,a)),r.set(v+"",y),D&&sn(y,Es(l,v)))}if(p===void 0)(!g||(k=_r(u,f))!=null&&k.writable)&&(p=o(()=>Pe(void 0,a)),ie(p,Ne(d)),r.set(f,p),D&&sn(p,Es(l,f)));else{g=p.v!==qe;var b=o(()=>Ne(d));ie(p,b)}var E=Reflect.getOwnPropertyDescriptor(u,f);if(E!=null&&E.set&&E.set.call(h,d),!g){if(n&&typeof f=="string"){var S=r.get("length"),A=Number(f);Number.isInteger(A)&&A>=S.v&&ie(S,A+1)}su(i)}return!0},ownKeys(u){R(i);var f=Reflect.ownKeys(u).filter(p=>{var g=r.get(p);return g===void 0||g.v!==qe});for(var[d,h]of r)h.v!==qe&&!(d in u)&&f.push(d);return f},setPrototypeOf(){kO()}})}function Es(t,e){var r;return typeof e=="symbol"?`${t}[Symbol(${(r=e.description)!=null?r:""})]`:pG.test(e)?`${t}.${e}`:/^\d+$/.test(e)?`${t}[${e}]`:`${t}['${e}']`}function ep(t){try{if(t!==null&&typeof t=="object"&&xr in t)return t[xr]}catch(e){}return t}var mG=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function gG(t){return new Proxy(t,{get(e,r,n){var i=Reflect.get(e,r,n);return mG.has(r)?function(...a){UO();var s=i.apply(this,a);return I1(),s}:i}})}function VO(){let t=Array.prototype,e=Array.__svelte_cleanup;e&&e();let{indexOf:r,lastIndexOf:n,includes:i}=t;t.indexOf=function(a,s){let o=r.call(this,a,s);if(o===-1){for(let l=s!=null?s:0;l{t.indexOf=r,t.lastIndexOf=n,t.includes=i}}var $1,qO,iu,WO,YO;function tp(){if($1===void 0){$1=window,qO=document,iu=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;WO=_r(e,"firstChild").get,YO=_r(e,"nextSibling").get,d1(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),d1(r)&&(r.__t=void 0),D&&(t.__svelte_meta=null,VO())}}function Bt(t=""){return document.createTextNode(t)}function Ht(t){return WO.call(t)}function jt(t){return YO.call(t)}function G(t,e){if(!se)return Ht(t);var r=Ht(ge);if(r===null)r=ge.appendChild(Bt());else if(e&&r.nodeType!==eu){var n=Bt();return r==null||r.before(n),et(n),n}return et(r),r}function kr(t,e){var i,a;if(!se){var r=Ht(t);return r instanceof Comment&&r.data===""?jt(r):r}if(e&&((i=ge)==null?void 0:i.nodeType)!==eu){var n=Bt();return(a=ge)==null||a.before(n),et(n),n}return ge}function te(t,e=1,r=!1){let n=se?ge:t;for(var i;e--;)i=n,n=jt(n);if(!se)return n;if(r&&(n==null?void 0:n.nodeType)!==eu){var a=Bt();return n===null?i==null||i.after(a):n.before(a),et(a),a}return et(n),n}function dl(t){t.textContent=""}function hl(){if(!_n)return!1;var t=ee.f;return(t&32768)!==0}function KO(t){ee===null&&oe===null&&wO(t),oe!==null&&oe.f&256&&ee===null&&yO(),Sn&&vO(t)}function vG(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function si(t,e,r,n=!0){var l;var i=ee;if(D)for(;i!==null&&i.f&131072;)i=i.parent;i!==null&&i.f&8192&&(t|=8192);var a={ctx:ye,deps:null,nodes_start:null,nodes_end:null,f:t|2048,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(D&&(a.component_function=xn),r)try{$i(a),a.f|=32768}catch(c){throw At(a),c}else e!==null&&ii(a);var s=r&&a.deps===null&&a.first===null&&a.nodes_start===null&&a.teardown===null&&(a.f&524288)===0;if(!s&&n&&(i!==null&&vG(a,i),oe!==null&&oe.f&2&&!(t&64))){var o=oe;((l=o.effects)!=null?l:o.effects=[]).push(a)}return a}function Hr(t){let e=si(8,null,!1);return mt(e,1024),e.teardown=t,e}function Zt(t){var i;KO("$effect"),D&&qt(t,"name",{value:"$effect"});var e=ee.f,r=!oe&&(e&32)!==0&&(e&32768)===0;if(r){var n=ye;((i=n.e)!=null?i:n.e=[]).push(t)}else return g1(t)}function g1(t){return si(1048580,t,!1)}function L1(t){ti.ensure();let e=si(64,t,!0);return()=>{At(e)}}function ZO(t){ti.ensure();let e=si(64,t,!0);return(r={})=>new Promise(n=>{r.outro?ni(e,()=>{At(e),n(void 0)}):(At(e),n(void 0))})}function Tr(t){return si(4,t,!1)}function jO(t){return si(4718592,t,!0)}function Kt(t,e=0){return si(8|e,t,!0)}function Fe(t,e=[],r=[]){Wh(e,r,n=>{si(8,()=>t(...n.map(R)),!0)})}function Sr(t,e=0){var r=si(16|e,t,!0);return D&&(r.dev_stack=Mi),r}function Et(t,e=!0){return si(32,t,!0,e)}function j1(t){var e=t.teardown;if(e!==null){let r=Sn,n=oe;D1(!0),kt(null);try{e.call(null)}finally{D1(r),kt(n)}}}function N1(t,e=!1){var i;var r=t.first;for(t.first=t.last=null;r!==null;){(i=r.ac)==null||i.abort(nl);var n=r.next;r.f&64?r.parent=null:At(r,e),r=n}}function JO(t){for(var e=t.first;e!==null;){var r=e.next;e.f&32||At(e),e=r}}function At(t,e=!0){var r=!1;(e||t.f&262144)&&t.nodes_start!==null&&t.nodes_end!==null&&(QO(t.nodes_start,t.nodes_end),r=!0),N1(t,e&&!r),yu(t,0),mt(t,16384);var n=t.transitions;if(n!==null)for(let a of n)a.stop();j1(t);var i=t.parent;i!==null&&i.first!==null&&M1(t),D&&(t.component_function=null),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes_start=t.nodes_end=t.ac=null}function QO(t,e){for(;t!==null;){var r=t===e?null:jt(t);t.remove(),t=r}}function M1(t){var e=t.parent,r=t.prev,n=t.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),e!==null&&(e.first===t&&(e.first=n),e.last===t&&(e.last=r))}function ni(t,e){var r=[];rp(t,r,!0),B1(r,()=>{At(t),e&&e()})}function B1(t,e){var r=t.length;if(r>0){var n=()=>--r||e();for(var i of t)i.out(n)}else e()}function rp(t,e,r){if(!(t.f&8192)){if(t.f^=8192,t.transitions!==null)for(let s of t.transitions)(s.is_global||r)&&e.push(s);for(var n=t.first;n!==null;){var i=n.next,a=(n.f&65536)!==0||(n.f&32)!==0;rp(n,e,a?r:!1),n=i}}}function As(t){e5(t,!0)}function e5(t,e){if(t.f&8192){t.f^=8192,t.f&1024||(mt(t,2048),ii(t));for(var r=t.first;r!==null;){var n=r.next,i=(r.f&65536)!==0||(r.f&32)!==0;e5(r,i?e:!1),r=n}if(t.transitions!==null)for(let a of t.transitions)(a.is_global||e)&&a.in()}}m();var t5=null;var xs=!1;function P1(t){xs=t}var Sn=!1;function D1(t){Sn=t}var oe=null,Er=!1;function kt(t){oe=t}var ee=null;function Nt(t){ee=t}var Ar=null;function qh(t){oe!==null&&(!_n||oe.f&2)&&(Ar===null?Ar=[t]:Ar.push(t))}var or=null,Ur=0,Br=null;function zO(t){Br=t}var r5=1,wu=0,ka=wu;function F1(t){ka=t}var Fi=!1;function cu(){return++r5}function Aa(t){var f,d;var e=t.f;if(e&2048)return!0;if(e&4096){var r=t.deps,n=(e&256)!==0;if(r!==null){var i,a,s=(e&512)!==0,o=n&&ee!==null&&!Fi,l=r.length;if((s||o)&&(ee===null||!(ee.f&16384))){var c=t,u=c.parent;for(i=0;it.wv)return!0}(!n||ee!==null&&!Fi)&&mt(t,1024)}return!1}function n5(t,e,r=!0){var n=t.reactions;if(n!==null&&!(!_n&&(Ar!=null&&Ar.includes(t))))for(var i=0;i0)for(d.length=Ur+or.length,h=0;h{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(let r of t.target.elements)(e=r.__on_r)==null||e.call(r)})},{capture:!0}))}function ks(t){var e=oe,r=ee;kt(null),Nt(null);try{return t()}finally{kt(e),Nt(r)}}function G1(t,e,r,n=r){t.addEventListener(e,()=>ks(r));let i=t.__on_r;i?t.__on_r=()=>{i(),n(!0)}:t.__on_r=()=>n(!0),U1()}var z1=new Set,ap=new Set;function s5(t,e,r,n={}){function i(a){if(n.capture||pl.call(e,a),!a.cancelBubble)return ks(()=>r==null?void 0:r.call(this,a))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Lr(()=>{e.addEventListener(t,i,n)}):e.addEventListener(t,i,n),i}function Gr(t,e,r,n,i){var a={capture:n,passive:i},s=s5(t,e,r,a);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Hr(()=>{e.removeEventListener(t,s,a)})}function gt(t){for(var e=0;e{throw E});throw d}}finally{t.__root=e,delete t.currentTarget,kt(u),Nt(f)}}}m();var bG;function o5(){bG=void 0}m();m();function sp(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("",""),e.content}function oi(t,e){var r=ee;r.nodes_start===null&&(r.nodes_start=t,r.nodes_end=e)}function fe(t,e){var r=(e&1)!==0,n=(e&2)!==0,i,a=!t.startsWith("");return()=>{if(se)return oi(ge,null),ge;i===void 0&&(i=sp(a?t:""+t),r||(i=Ht(i)));var s=n||iu?document.importNode(i,!0):i.cloneNode(!0);if(r){var o=Ht(s),l=s.lastChild;oi(o,l)}else oi(s,s);return s}}function Li(){if(se)return oi(ge,null),ge;var t=document.createDocumentFragment(),e=document.createComment(""),r=Bt();return t.append(e,r),oi(e,r),t}function ae(t,e){if(se){ee.nodes_end=ge,Xt();return}t!==null&&t.before(e)}m();var EG=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var Yae=[...EG,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var AG=["touchstart","touchmove"];function c5(t){return AG.includes(t)}var kG=["$state","$state.raw","$derived","$derived.by"],Xae=[...kG,"$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];var op=!0;function Be(t,e){var n;var r=e==null?"":typeof e=="object"?e+"":e;r!==((n=t.__t)!=null?n:t.__t=t.nodeValue)&&(t.__t=r,t.nodeValue=r+"")}function Ta(t,e){return u5(t,e)}function q1(t,e){var s;tp(),e.intro=(s=e.intro)!=null?s:!1;let r=e.target,n=se,i=ge;try{for(var a=Ht(r);a&&(a.nodeType!==an||a.data!==tl);)a=jt(a);if(!a)throw Ci;Yt(!0),et(a),Xt();let o=u5(t,{...e,anchor:a});if(ge===null||ge.nodeType!==an||ge.data!==ds)throw ms(),Ci;return Yt(!1),o}catch(o){if(o===Ci)return e.recover===!1&&xO(),tp(),dl(r),Yt(!1),Ta(t,e);throw o}finally{Yt(n),et(i),o5()}}var ml=new Map;function u5(t,{target:e,anchor:r,props:n={},events:i,context:a,intro:s=!0}){tp();var o=new Set,l=f=>{for(var d=0;d{var f=r!=null?r:e.appendChild(Bt());return Et(()=>{if(a){tt({});var d=ye;d.c=a}i&&(n.$$events=i),se&&oi(f,null),op=s,c=t(f,n)||{},op=!0,se&&(ee.nodes_end=ge),a&&rt()}),()=>{var p;for(var d of o){e.removeEventListener(d,pl);var h=ml.get(d);--h===0?(document.removeEventListener(d,pl),ml.delete(d)):ml.set(d,h)}ap.delete(l),f!==r&&((p=f.parentNode)==null||p.removeChild(f))}});return V1.set(c,u),c}var V1=new WeakMap;function ji(t,e){let r=V1.get(t);return r?(V1.delete(t),r(e)):(D&&MO(),Promise.resolve())}m();m();if(D){let t=function(e){if(!(e in globalThis)){let r;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(r!==void 0)return r;EO(e)},set:n=>{r=n}})}};t("$state"),t("$effect"),t("$derived"),t("$inspect"),t("$props"),t("$bindable")}function W1(t){ye===null&&tu("onMount"),Pi&&ye.l!==null?RG(ye).m.push(t):Zt(()=>{let e=Ue(t);if(typeof e=="function")return e})}function d5(t){ye===null&&tu("onDestroy"),W1(()=>()=>Ue(t))}function RG(t){var r;var e=t.l;return(r=e.u)!=null?r:e.u={a:[],b:[],m:[]}}m();m();var p5=new Map;function m5(t,e){var r=p5.get(t);r||(r=new Set,p5.set(t,r)),r.add(e)}m();m();m();m();m();m();m();m();m();function _e(t,e,r=!1){se&&Xt();var n=t,i=null,a=null,s=qe,o=r?65536:0,l=!1;let c=(h,p=!0)=>{l=!0,d(p,h)};var u=null;function f(){u!==null&&(u.lastChild.remove(),n.before(u),u=null);var h=s?i:a,p=s?a:i;h&&As(h),p&&ni(p,()=>{s?a=null:i=null})}let d=(h,p)=>{if(s===(s=h))return;let g=!1;if(se){let A=$h(n)===ya;!!s===A&&(n=gs(),et(n),Yt(!1),g=!0)}var v=hl(),y=n;if(v&&(u=document.createDocumentFragment(),u.append(y=Bt())),s?i!=null||(i=p&&Et(()=>p(y))):a!=null||(a=p&&Et(()=>p(y))),v){var b=xe,E=s?i:a,S=s?a:i;E&&b.skipped_effects.delete(E),S&&b.skipped_effects.add(S),b.add_callback(f)}else f();g&&Yt(!0)};Sr(()=>{l=!1,e(c),l||d(null,null)},o),se&&(n=ge)}m();m();m();var bu=null;function zr(t,e){return e}function $G(t,e,r){for(var n=t.items,i=[],a=e.length,s=0;s0&&i.length===0&&r!==null;if(o){var l=r.parentNode;dl(l),l.append(r),n.clear(),li(t,e[0].prev,e[a-1].next)}B1(i,()=>{for(var c=0;c{var y=r();return nn(y)?y:y==null?[]:Zc(y)}),p,g;function v(){DG(g,p,o,d,s,i,e,n,r),a!==null&&(p.length===0?u?As(u):u=Et(()=>a(s)):u!==null&&ni(u,()=>{u=null}))}Sr(()=>{var I;g!=null||(g=ee),p=R(h);var y=p.length;if(f&&y===0)return;f=y===0;let b=!1;if(se){var E=$h(s)===ya;E!==(y===0)&&(s=gs(),et(s),Yt(!1),b=!0)}if(se){for(var S=null,A,k=0;k0&&et(gs())}if(se)y===0&&a&&(u=Et(()=>a(s)));else if(hl()){var _=new Set,T=xe;for(k=0;k0){var le=s&4&&f===0?i:null;if(c){for(w=0;w{var B;if(y!==void 0)for(k of y)(B=k.a)==null||B.apply()}),t.first=r.first&&r.first.e,t.last=v&&v.e;for(var ce of n.values())At(ce.e);n.clear()}function v5(t,e,r,n){n&1&&ri(t.v,e),n&2?ri(t.i,r):t.i=r}function X1(t,e,r,n,i,a,s,o,l,c,u){var f=bu,d=(l&1)!==0,h=(l&16)===0,p=d?h?Ss(i,!1,!1):jr(i):i,g=l&2?jr(s):s;D&&d&&(p.trace=()=>{var b=typeof g=="number"?s:g.v;c()[b]});var v={i:g,v:p,k:a,a:null,e:null,prev:r,next:n};bu=v;try{if(t===null){var y=document.createDocumentFragment();y.append(t=Bt())}return v.e=Et(()=>o(t,p,g,c),se),v.e.prev=r&&r.e,v.e.next=n&&n.e,r===null?u||(e.first=v):(r.next=v,r.e.next=v.e),n!==null&&(n.prev=v,n.e.prev=v.e),v}finally{bu=f}}function Y1(t,e,r){for(var n=t.next?t.next.e.nodes_start:r,i=e?e.e.nodes_start:r,a=t.e.nodes_start;a!==null&&a!==n;){var s=jt(a);i.before(a),a=s}}function li(t,e,r){e===null?t.first=r:(e.next=r,e.e.next=r&&r.e),r!==null&&(r.prev=e,r.e.prev=e&&e.e)}m();m();m();m();m();function Tn(t,e){Tr(()=>{var i;var r=t.getRootNode(),n=r.host?r:(i=r.head)!=null?i:r.ownerDocument.head;if(!n.querySelector("#"+e.hash)){let a=document.createElement("style");a.id=e.hash,a.textContent=e.code,n.appendChild(a),D&&m5(e.hash,a)}})}m();m();m();m();m();m();var w5=[...` +\r\f\xA0\v\uFEFF`];function b5(t,e,r){var n=t==null?"":""+t;if(e&&(n=n?n+" "+e:e),r){for(var i in r)if(r[i])n=n?n+" "+i:i;else if(n.length)for(var a=i.length,s=0;(s=n.indexOf(i,s))>=0;){var o=s+a;(s===0||w5.includes(n[s-1]))&&(o===n.length||w5.includes(n[o]))?n=(s===0?"":n.substring(0,s))+n.substring(o+1):s=o}}return n===""?null:n}m();function ot(t,e,r,n,i,a){var s=t.__className;if(se||s!==r||s===void 0){var o=b5(r,n,a);(!se||o!==t.getAttribute("class"))&&(o==null?t.removeAttribute("class"):e?t.className=o:t.setAttribute("class",o)),t.__className=r}else if(a&&i!==a)for(var l in a){var c=!!a[l];(i==null||c!==!!i[l])&&t.classList.toggle(l,c)}return a}m();m();var zG=Symbol("class"),VG=Symbol("style"),qG=Symbol("is custom element"),WG=Symbol("is html");function ve(t,e,r,n){var i=YG(t);if(se&&(i[e]=t.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&t.nodeName==="LINK")){n||KG(t,e,r!=null?r:"");return}i[e]!==(i[e]=r)&&(e==="loading"&&(t[hO]=r),r==null?t.removeAttribute(e):typeof r!="string"&&XG(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function YG(t){var e;return(e=t.__attributes)!=null?e:t.__attributes={[qG]:t.nodeName.includes("-"),[WG]:t.namespaceURI===cO}}var _5=new Map;function XG(t){var e=_5.get(t.nodeName);if(e)return e;_5.set(t.nodeName,e=[]);for(var r,n=t,i=Element.prototype;i!==n;){r=u1(n);for(var a in r)r[a].set&&e.push(a);n=rl(n)}return e}function KG(t,e,r){var n;D&&(e==="srcset"&&ZG(t,r)||K1((n=t.getAttribute(e))!=null?n:"",r)||RO(e,t.outerHTML.replace(t.innerHTML,t.innerHTML&&"..."),String(r)))}function K1(t,e){return t===e?!0:new URL(t,document.baseURI).href===new URL(e,document.baseURI).href}function x5(t){return t.split(",").map(e=>e.trim().split(" ").filter(Boolean))}function ZG(t,e){var r=x5(t.srcset),n=x5(e);return n.length===r.length&&n.every(([i,a],s)=>a===r[s][1]&&(K1(r[s][0],i)||K1(i,r[s][0])))}m();m();m();var JG=Oh?()=>performance.now():()=>Date.now(),Cn={tick:t=>(Oh?requestAnimationFrame:ir)(t),now:()=>JG(),tasks:new Set};function S5(){let t=Cn.now();Cn.tasks.forEach(e=>{e.c(t)||(Cn.tasks.delete(e),e.f())}),Cn.tasks.size!==0&&Cn.tick(S5)}function E5(t){let e;return Cn.tasks.size===0&&Cn.tick(S5),{promise:new Promise(r=>{Cn.tasks.add(e={c:t,f:r})}),abort(){Cn.tasks.delete(e)}}}function up(t,e){ks(()=>{t.dispatchEvent(new CustomEvent(e))})}function rz(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;let e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function A5(t){let e={},r=t.split(";");for(let n of r){let[i,a]=n.split(":");if(!i||a===void 0)break;let s=rz(i.trim());e[s]=a.trim()}return e}var nz=t=>t;function Pn(t,e,r,n){var E;var i=(t&1)!==0,a=(t&2)!==0,s=i&&a,o=(t&4)!==0,l=s?"both":i?"in":"out",c,u=e.inert,f=e.style.overflow,d,h;function p(){return ks(()=>{var S;return c!=null?c:c=r()(e,(S=n==null?void 0:n())!=null?S:{},{direction:l})})}var g={is_global:o,in(){var S;if(e.inert=u,!i){h==null||h.abort(),(S=h==null?void 0:h.reset)==null||S.call(h);return}a||d==null||d.abort(),up(e,"introstart"),d=Z1(e,p(),h,1,()=>{up(e,"introend"),d==null||d.abort(),d=c=void 0,e.style.overflow=f})},out(S){if(!a){S==null||S(),c=void 0;return}e.inert=!0,up(e,"outrostart"),h=Z1(e,p(),d,0,()=>{up(e,"outroend"),S==null||S()})},stop:()=>{d==null||d.abort(),h==null||h.abort()}},v=ee;if(((E=v.transitions)!=null?E:v.transitions=[]).push(g),i&&op){var y=o;if(!y){for(var b=v.parent;b&&b.f&65536;)for(;(b=b.parent)&&!(b.f&16););y=!b||(b.f&32768)!==0}y&&Tr(()=>{Ue(()=>g.in())})}}function Z1(t,e,r,n,i){var a=n===1;if(h1(e)){var s,o=!1;return Lr(()=>{if(!o){var v=e({direction:a?"in":"out"});s=Z1(t,v,r,n,i)}}),{abort:()=>{o=!0,s==null||s.abort()},deactivate:()=>s.deactivate(),reset:()=>s.reset(),t:()=>s.t()}}if(r==null||r.deactivate(),!(e!=null&&e.duration))return i(),{abort:ir,deactivate:ir,reset:ir,t:()=>n};let{delay:l=0,css:c,tick:u,easing:f=nz}=e;var d=[];if(a&&r===void 0&&(u&&u(0,1),c)){var h=A5(c(0,1));d.push(h,h)}var p=()=>1-n,g=t.animate(d,{duration:l,fill:"forwards"});return g.onfinish=()=>{var _;g.cancel();var v=(_=r==null?void 0:r.t())!=null?_:1-n;r==null||r.abort();var y=n-v,b=e.duration*Math.abs(y),E=[];if(b>0){var S=!1;if(c)for(var A=Math.ceil(b/16.666666666666668),k=0;k<=A;k+=1){var w=v+y*f(k/A),x=A5(c(w,1-w));E.push(x),S||(S=x.overflow==="hidden")}S&&(t.style.overflow="hidden"),p=()=>{var T=g.currentTime;return v+y*f(T/b)},u&&E5(()=>{if(g.playState!=="running")return!1;var T=p();return u(T,1-T),!0})}g=t.animate(E,{duration:b,fill:"forwards"}),g.onfinish=()=>{p=()=>n,u==null||u(n,1-n),i()}},{abort:()=>{g&&(g.cancel(),g.effect=null,g.onfinish=ir)},deactivate:()=>{i=ir},reset:()=>{n===0&&(u==null||u(1,0))},t:()=>p()}}m();m();function ey(t,e,r=e){var n=on(),i=new WeakSet;G1(t,"input",a=>{D&&t.type==="checkbox"&&p1();var s=a?t.defaultValue:t.value;if(s=J1(t)?Q1(s):s,r(s),xe!==null&&i.add(xe),n&&s!==(s=e())){var o=t.selectionStart,l=t.selectionEnd;t.value=s!=null?s:"",l!==null&&(t.selectionStart=o,t.selectionEnd=Math.min(l,t.value.length))}}),(se&&t.defaultValue!==t.value||Ue(e)==null&&t.value)&&(r(J1(t)?Q1(t.value):t.value),xe!==null&&i.add(xe)),Kt(()=>{var o;D&&t.type==="checkbox"&&p1();var a=e();if(t===document.activeElement){var s=(o=fu)!=null?o:xe;if(i.has(s))return}J1(t)&&a===Q1(t.value)||t.type==="date"&&!a&&!t.value||a!==t.value&&(t.value=a!=null?a:"")})}function J1(t){var e=t.type;return e==="number"||e==="range"}function Q1(t){return t===""?null:+t}m();m();m();m();m();function k5(t,e){return t===e||(t==null?void 0:t[xr])===e}function Ze(t={},e,r,n){return Tr(()=>{var i,a;return Kt(()=>{i=a,a=(n==null?void 0:n())||[],Ue(()=>{t!==r(...a)&&(e(t,...a),i&&k5(r(...i),t)&&e(null,...i))})}),()=>{Lr(()=>{a&&k5(r(...a),t)&&e(null,...a)})}}),t}m();m();m();m();m();m();m();m();m();var dp=!1,Wde=Symbol();function ry(t){var e=dp;try{return dp=!1,[t(),dp]}finally{dp=e}}function cn(t,e,r,n){var E,S;var i=!Pi||(r&2)!==0,a=(r&8)!==0,s=(r&16)!==0,o=n,l=!0,c=()=>(l&&(l=!1,o=s?Ue(n):n),o),u;if(a){var f=xr in t||Qc in t;u=(S=(E=_r(t,e))==null?void 0:E.set)!=null?S:f&&e in t?A=>t[e]=A:void 0}var d,h=!1;a?[d,h]=ry(()=>t[e]):d=t[e],d===void 0&&n!==void 0&&(d=c(),u&&(i&&SO(e),u(d)));var p;if(i?p=()=>{var A=t[e];return A===void 0?c():(l=!0,A)}:p=()=>{var A=t[e];return A!==void 0&&(o=void 0),A===void 0?o:A},i&&!(r&4))return p;if(u){var g=t.$$legacy;return function(A,k){return arguments.length>0?((!i||!k||g||h)&&u(k?p():A),A):p()}}var v=!1,y=(r&1?vs:ys)(()=>(v=!1,p()));D&&(y.label=e),a&&R(y);var b=ee;return function(A,k){if(arguments.length>0){let w=k?R(y):i&&a?Ne(A):A;return ie(y,w),v=!0,o!==void 0&&(o=w),A}return Sn&&v||b.f&16384?y.v:R(y)}}m();m();m();function T5(t){return new ny(t)}var Ni,un,ny=class{constructor(e){yt(this,Ni);yt(this,un);var a,s;var r=new Map,n=(o,l)=>{var c=Ss(l,!1,!1);return r.set(o,c),c};let i=new Proxy({...e.props||{},$$events:{}},{get(o,l){var c;return R((c=r.get(l))!=null?c:n(l,Reflect.get(o,l)))},has(o,l){var c;return l===Qc?!0:(R((c=r.get(l))!=null?c:n(l,Reflect.get(o,l))),Reflect.has(o,l))},set(o,l,c){var u;return ie((u=r.get(l))!=null?u:n(l,c),c),Reflect.set(o,l,c)}});It(this,un,(e.hydrate?q1:Ta)(e.component,{target:e.target,anchor:e.anchor,props:i,context:e.context,intro:(a=e.intro)!=null?a:!1,recover:e.recover})),!_n&&(!((s=e==null?void 0:e.props)!=null&&s.$$host)||e.sync===!1)&&fl(),It(this,Ni,i.$$events);for(let o of Object.keys(ue(this,un)))o==="$set"||o==="$destroy"||o==="$on"||qt(this,o,{get(){return ue(this,un)[o]},set(l){ue(this,un)[o]=l},enumerable:!0});ue(this,un).$set=o=>{Object.assign(i,o)},ue(this,un).$destroy=()=>{ji(ue(this,un))}}$set(e){ue(this,un).$set(e)}$on(e,r){ue(this,Ni)[e]=ue(this,Ni)[e]||[];let n=(...i)=>r.call(this,...i);return ue(this,Ni)[e].push(n),()=>{ue(this,Ni)[e]=ue(this,Ni)[e].filter(i=>i!==n)}}$destroy(){ue(this,un).$destroy()}};Ni=new WeakMap,un=new WeakMap;var vz;typeof HTMLElement=="function"&&(vz=class extends HTMLElement{constructor(e,r,n){super();vt(this,"$$ctor");vt(this,"$$s");vt(this,"$$c");vt(this,"$$cn",!1);vt(this,"$$d",{});vt(this,"$$r",!1);vt(this,"$$p_d",{});vt(this,"$$l",{});vt(this,"$$l_u",new Map);vt(this,"$$me");this.$$ctor=e,this.$$s=r,n&&this.attachShadow({mode:"open"})}addEventListener(e,r,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(r),this.$$c){let i=this.$$c.$on(e,r);this.$$l_u.set(r,i)}super.addEventListener(e,r,n)}removeEventListener(e,r,n){if(super.removeEventListener(e,r,n),this.$$c){let i=this.$$l_u.get(r);i&&(i(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return a=>{let s=document.createElement("slot");i!=="default"&&(s.name=i),ae(a,s)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let r={},n=yz(this);for(let i of this.$$s)i in n&&(i==="default"&&!this.$$d.children?(this.$$d.children=e(i),r.default=!0):r[i]=e(i));for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=iy(a,i.value,this.$$p_d,"toProp"))}for(let i in this.$$p_d)!(i in this.$$d)&&this[i]!==void 0&&(this.$$d[i]=this[i],delete this[i]);this.$$c=T5({component:this.$$ctor,target:this.shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=L1(()=>{Kt(()=>{var i;this.$$r=!0;for(let a of c1(this.$$c)){if(!((i=this.$$p_d[a])!=null&&i.reflect))continue;this.$$d[a]=this.$$c[a];let s=iy(a,this.$$d[a],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[a].attribute||a):this.setAttribute(this.$$p_d[a].attribute||a,s)}this.$$r=!1})});for(let i in this.$$l)for(let a of this.$$l[i]){let s=this.$$c.$on(i,a);this.$$l_u.set(a,s)}this.$$l={}}}attributeChangedCallback(e,r,n){var i;this.$$r||(e=this.$$g_p(e),this.$$d[e]=iy(e,n,this.$$p_d,"toProp"),(i=this.$$c)==null||i.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return c1(this.$$p_d).find(r=>this.$$p_d[r].attribute===e||!this.$$p_d[r].attribute&&r.toLowerCase()===e)||e}});function iy(t,e,r,n){var a;let i=(a=r[t])==null?void 0:a.type;if(e=i==="Boolean"&&typeof e!="boolean"?e!=null:e,!n||!r[t])return e;if(n==="toAttribute")switch(i){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e==null?null:e;default:return e}else switch(i){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}function yz(t){let e={};return t.childNodes.forEach(r=>{e[r.slot||"default"]=!0}),e}m();m();function Ts(t,e,r,n){function i(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function o(u){try{c(n.next(u))}catch(f){s(f)}}function l(u){try{c(n.throw(u))}catch(f){s(f)}}function c(u){u.done?a(u.value):i(u.value).then(o,l)}c((n=n.apply(t,e||[])).next())})}var ly=require("obsidian");m();var sy=require("obsidian");m();function wz(t){let e=t-1;return e*e*e+1}var ay=!1;function ui(t,{delay:e=0,duration:r=400,easing:n=wz,axis:i="y"}={}){let a=getComputedStyle(t);D&&!ay&&/(contents|inline|table)/.test(a.display)&&(ay=!0,Promise.resolve().then(()=>ay=!1),OO(a.display));let s=+a.opacity,o=i==="y"?"height":"width",l=parseFloat(a[o]),c=i==="y"?["top","bottom"]:["left","right"],u=c.map(y=>`${y[0].toUpperCase()}${y.slice(1)}`),f=parseFloat(a[`padding${u[0]}`]),d=parseFloat(a[`padding${u[1]}`]),h=parseFloat(a[`margin${u[0]}`]),p=parseFloat(a[`margin${u[1]}`]),g=parseFloat(a[`border${u[0]}Width`]),v=parseFloat(a[`border${u[1]}Width`]);return{delay:e,duration:r,easing:n,css:y=>`overflow: hidden;opacity: ${Math.min(y*20,1)*s};${o}: ${y*l}px;padding-${c[0]}: ${y*f}px;padding-${c[1]}: ${y*d}px;margin-${c[0]}: ${y*h}px;margin-${c[1]}: ${y*p}px;border-${c[0]}-width: ${y*g}px;border-${c[1]}-width: ${y*v}px;min-${o}: 0`}}m();var hp=require("obsidian");var bz=fe('
'),_z=fe('
'),xz={hash:"svelte-1wbh8tp",code:"main.svelte-1wbh8tp .nav-file-title:where(.svelte-1wbh8tp) {align-items:center;}"};function _u(t,e){tt(e,!0),Tn(t,xz);let r=Ne([]),n=Ct(()=>e.view.leaf.getRoot().side=="left"?"right":"left");Zt(()=>{for(let y of r)y&&(0,hp.setIcon)(y,y.getAttr("data-icon"))});function i(y){y.stopPropagation(),Io(e.diff.path)?a(y):s(y)}function a(y){var b;y.stopPropagation();let E=e.view.app.vault.getAbstractFileByPath(e.diff.vaultPath);E instanceof hp.TFile&&((b=vn(e.view.app,y))===null||b===void 0||b.openFile(E).catch(S=>e.view.plugin.displayError(S)))}function s(y){var b;e.view.plugin.tools.openDiff({event:y,aFile:(b=e.diff.fromPath)!==null&&b!==void 0?b:e.diff.path,aRef:`${e.diff.hash}^`,bFile:e.diff.path,bRef:e.diff.hash})}var o=_z();o.__click=i;var l=G(o),c=G(l),u=G(c,!0);H(c);var f=te(c,2),d=G(f),h=G(d);{var p=y=>{var b=bz();b.__click=a,Ze(b,E=>r[0]=E,()=>r==null?void 0:r[0]),Gr("auxclick",b,a),ae(y,b)};_e(h,y=>{Fo(e.diff.vaultPath,e.view.app)&&y(p)})}H(d);var g=te(d,2),v=G(g,!0);H(g),H(f),H(l),H(o),Fe(y=>{ve(l,"data-path",e.diff.vaultPath),ve(l,"data-tooltip-position",R(n)),ve(l,"aria-label",e.diff.vaultPath),Be(u,y),ve(g,"data-type",e.diff.status),Be(v,e.diff.status)},[()=>Kn(e.diff.vaultPath)]),Gr("auxclick",o,y=>{y.stopPropagation(),y.button==2?Xn(e.view.app,y,e.diff.vaultPath,e.view.leaf,"git-history"):i(y)}),ae(t,o),rt()}gt(["click"]);m();var Sz=fe("
"),Ez=(t,e,r)=>e(t,R(r)),Az=fe(''),kz=fe('
'),Tz=fe("
"),Cz={hash:"svelte-1lnl15d",code:"main.svelte-1lnl15d .nav-folder-title-content:where(.svelte-1lnl15d) {display:flex;align-items:center;}"};function xu(t,e){tt(e,!0),Tn(t,Cz);let r=cn(e,"topLevel",3,!1),n=cn(e,"closed",15),i=Ct(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function a(l,c){l.stopPropagation(),n(n()[c.path]=!n()[c.path],!0)}var s=Tz();let o;Vr(s,21,()=>e.hierarchy.children,zr,(l,c)=>{var u=Li(),f=kr(u);{var d=p=>{var g=Sz(),v=G(g);_u(v,{get diff(){return R(c).data},get view(){return e.view}}),H(g),ae(p,g)},h=p=>{var g=kz();let v;var y=G(g);y.__click=[Ez,a,c];var b=te(G(y),2);let E;var S=te(b,2),A=G(S,!0);H(S),H(y);var k=te(y,2);{var w=x=>{var _=Az(),T=G(_);xu(T,{get hierarchy(){return R(c)},get plugin(){return e.plugin},get view(){return e.view},get closed(){return n()},set closed(C){n(C)}}),H(_),Pn(3,_,()=>ui,()=>({duration:150})),ae(x,_)};_e(k,x=>{n()[R(c).path]||x(w)})}H(g),Fe((x,_)=>{v=ot(g,1,"tree-item nav-folder",null,v,x),ve(y,"data-tooltip-position",R(i)),ve(y,"aria-label",R(c).vaultPath),E=ot(b,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,E,_),Be(A,R(c).title)},[()=>({"is-collapsed":n()[R(c).path]}),()=>({"is-collapsed":n()[R(c).path]})]),ae(p,g)};_e(f,p=>{R(c).data?p(d):p(h,!1)})}ae(l,u)}),H(s),Fe(l=>o=ot(s,1,"svelte-1lnl15d",null,o,l),[()=>({topLevel:r()})]),ae(t,s),rt()}gt(["click"]);var Pz=(t,e)=>ie(e,!R(e)),Rz=fe('
'),Mz=fe('
'),Oz=fe('
'),Iz=fe(''),Fz=fe('
'),$z={hash:"svelte-45h",code:""};function oy(t,e){tt(e,!0),Tn(t,$z);let r=Ct(()=>({title:"",path:"",vaultPath:"",children:e.plugin.gitManager.getTreeStructure(e.log.diff.files)})),n=Ct(()=>e.view.leaf.getRoot().side=="left"?"right":"left"),i=Pe(!0),a=Pe(Ne({}));function s(x){let _=x.author.name;if(e.plugin.settings.authorInHistoryView=="full")return _;if(e.plugin.settings.authorInHistoryView=="initials")return _.split(" ").filter(C=>C.length>0).map(C=>C[0].toUpperCase()).join("")}var o=Fz(),l=G(o);let c;var u=G(l);u.__click=[Pz,i];var f=G(u);let d;var h=te(f,2),p=G(h);{var g=x=>{var _=Rz(),T=G(_,!0);H(_),Fe(C=>Be(T,C),[()=>e.log.refs.join(", ")]),ae(x,_)};_e(p,x=>{e.log.refs.length>0&&x(g)})}var v=te(p,2);{var y=x=>{var _=Mz(),T=G(_,!0);H(_),Fe(C=>Be(T,C),[()=>s(e.log)]),ae(x,_)};_e(v,x=>{var _;e.plugin.settings.authorInHistoryView!="hide"&&((_=e.log.author)!=null&&_.name)&&x(y)})}var b=te(v,2);{var E=x=>{var _=Oz(),T=G(_,!0);H(_),Fe(C=>Be(T,C),[()=>(0,sy.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)]),ae(x,_)};_e(b,x=>{e.plugin.settings.dateInHistoryView&&x(E)})}var S=te(b,2),A=G(S,!0);H(S),H(h),H(u);var k=te(u,2);{var w=x=>{var _=Iz(),T=G(_);{var C=L=>{xu(L,{get hierarchy(){return R(r)},get plugin(){return e.plugin},get view(){return e.view},topLevel:!0,get closed(){return R(a)},set closed($){ie(a,$,!0)}})},I=L=>{var $=Li(),J=kr($);Vr(J,17,()=>e.log.diff.files,zr,(de,le)=>{_u(de,{get view(){return e.view},get diff(){return R(le)}})}),ae(L,$)};_e(T,L=>{e.showTree?L(C):L(I,!1)})}H(_),Pn(3,_,()=>ui,()=>({duration:150})),ae(x,_)};_e(k,x=>{R(i)||x(w)})}H(l),H(o),Fe((x,_,T)=>{c=ot(l,1,"tree-item nav-folder",null,c,x),ve(u,"aria-label",_),ve(u,"data-tooltip-position",R(n)),d=ot(f,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,d,T),Be(A,e.log.message)},[()=>({"is-collapsed":R(i)}),()=>{var x;return`${e.log.refs.length>0?e.log.refs.join(", ")+` +`:""}${(x=e.log.author)==null?void 0:x.name} +${(0,sy.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)} +${e.log.message}`},()=>({"is-collapsed":R(i)})]),ae(t,o),rt()}gt(["click"]);function Dz(t,e){e().catch(console.error)}var Lz=(t,e,r,n)=>{ie(e,!R(e)),(0,ly.setIcon)(r[0],R(e)?"list":"folder"),n(n().settings.treeStructure=R(e),!0),n().saveSettings()},jz=fe(''),Nz=fe('
'),Bz={hash:"svelte-45h",code:""};function cy(t,e){tt(e,!0),Tn(t,Bz);let r=cn(e,"plugin",15),n=Pe(!1),i=Ne([]),a=Pe(void 0),s=Pe(Ne(r().settings.treeStructure)),o,l;Zt(()=>{l&&l.empty()}),o=e.view.app.workspace.on("obsidian-git:head-change",()=>void c().catch(console.error)),Zt(()=>{i.forEach(S=>(0,ly.setIcon)(S,S.getAttr("data-icon")))}),d5(()=>{e.view.app.workspace.offref(o)}),W1(()=>{let S=new IntersectionObserver(k=>{k[0].isIntersecting&&!R(n)&&u().catch(console.error)}),A=document.querySelector("#sentinel");return A&&S.observe(A),()=>{S.disconnect()}}),c().catch(console.error);function c(){return Ts(this,void 0,void 0,function*(){var S;if(!r().gitReady){ie(a,void 0);return}ie(n,!0);let A=r().gitManager instanceof Ce,k;((S=R(a)===null||R(a)===void 0?void 0:R(a).length)!==null&&S!==void 0?S:0)==0?k=A?50:10:k=R(a).length,ie(a,yield r().gitManager.log(void 0,!1,k),!0),ie(n,!1)})}function u(){return Ts(this,void 0,void 0,function*(){var S;if(!r().gitReady||R(a)===void 0)return;ie(n,!0);let k=r().gitManager instanceof Ce?50:10,w=yield r().gitManager.log(void 0,!1,k,(S=R(a).last())===null||S===void 0?void 0:S.hash);R(a).push(...w.slice(1)),ie(n,!1)})}var f=Nz(),d=G(f),h=G(d),p=G(h);p.__click=[Lz,s,i,r],Ze(p,S=>i[0]=S,()=>i==null?void 0:i[0]);var g=te(p,2);let v;g.__click=[Dz,c],Ze(g,S=>i[1]=S,()=>i==null?void 0:i[1]),H(h),H(d);var y=te(d,2),b=G(y);{var E=S=>{var A=jz();Vr(A,21,()=>R(a),zr,(k,w)=>{oy(k,{get view(){return e.view},get showTree(){return R(s)},get log(){return R(w)},get plugin(){return r()}})}),H(A),ae(S,A)};_e(b,S=>{R(a)&&S(E)})}il(4),H(y),H(f),Fe(S=>{ve(p,"data-icon",R(s)?"list":"folder"),v=ot(g,1,"clickable-icon nav-action-button",null,v,S)},[()=>({loading:R(n)})]),ae(t,f),rt()}gt(["click"]);var Su=class extends C5.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return Zr.type}getDisplayText(){return Zr.name}getIcon(){return Zr.icon}onClose(){return this._view&&ji(this._view),super.onClose()}reload(){this._view&&ji(this._view),this._view=Ta(cy,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};m();var P5=require("obsidian"),pp=class extends P5.FuzzySuggestModal{constructor(r,n){super(r.app);this.branches=n;this.setPlaceholder("Select branch to checkout")}getItems(){return this.branches}getItemText(r){return r}onChooseItem(r,n){this.resolve(r)}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}};m();var $5=require("obsidian");m();var Ms=require("obsidian");m();var Au=require("obsidian");m();m();var Hz=Ot(R5()),Ca=require("obsidian");function Cs(t,e,r){let n=t.target;app.workspace.trigger("hover-link",{event:t,source:e.getViewType(),hoverParent:e,targetEl:n,linktext:r})}m();var M5=require("obsidian");var gl=class extends M5.Modal{constructor({app:r,path:n,filesToDeleteCount:i,filesToDiscardCount:a}){super(r);this.resolve=null;this.path=n,this.deleteCount=i,this.discardCount=a}openAndGetResult(){return this.open(),new Promise(r=>{this.resolve=r})}onOpen(){let r=this.deleteCount+this.discardCount,{contentEl:n,titleEl:i}=this,a="";this.path!=""&&(r>1?a=`files in "${this.path}"`:a=`"${this.path}"`),i.setText(`${this.discardCount==0?"Delete":"Discard"} ${a}`),this.deleteCount>0&&n.createEl("p").setText(`Are you sure you want to DELETE the ${Ic(this.deleteCount,"untracked file")}? They are deleted according to your Obsidian trash settting.`),this.discardCount>0&&n.createEl("p").setText(`Are you sure you want to discard ALL changes in ${Ic(this.discardCount,"tracked file")}?`);let s=n.createDiv({cls:"modal-button-container"});if(this.deleteCount>0){let l=s.createEl("button",{cls:"mod-warning",text:`${this.discardCount>0?"Discard":"Delete"} all ${Ic(r,"file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("delete"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("delete"),this.close()})}if(this.discardCount>0){let l=s.createEl("button",{cls:"mod-warning",text:`Discard all ${Ic(this.discardCount,"tracked file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("discard"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("discard"),this.close()})}let o=s.createEl("button",{text:"Cancel"});o.addEventListener("click",()=>(this.resolve&&this.resolve(!1),this.close())),o.addEventListener("keypress",()=>(this.resolve&&this.resolve(!1),this.close()))}onClose(){let{contentEl:r}=this;r.empty()}};function Uz(t,e){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&Cs(t,e.view,e.change.vaultPath)}function Gz(t,e){t.stopPropagation(),e.manager.stage(e.change.path,!1).catch(r=>e.view.plugin.displayError(r)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function zz(t,e){t.stopPropagation();let r=e.change.workingDir=="U";new gl({app:e.view.app,filesToDeleteCount:r?1:0,filesToDiscardCount:r?0:1,path:e.change.vaultPath}).openAndGetResult().then(n=>Ts(this,void 0,void 0,function*(){if(n=="delete"){let i=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);i instanceof Au.TFile?yield e.view.app.fileManager.trashFile(i):yield e.view.app.vault.adapter.remove(e.change.vaultPath)}else n=="discard"&&(yield e.manager.discard(e.change.path).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")}));e.view.app.workspace.trigger("obsidian-git:refresh")}),n=>e.view.plugin.displayError(n))}var Vz=fe('
'),qz=fe('
');function ku(t,e){tt(e,!0);let r=Ne([]),n=Ct(()=>e.view.leaf.getRoot().side=="left"?"right":"left");Zt(()=>{for(let E of r)E&&(0,Au.setIcon)(E,E.getAttr("data-icon"))});function i(E){E.stopPropagation(),Io(e.change.path)?a(E):s(E)}function a(E){var S;E.stopPropagation();let A=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);A instanceof Au.TFile&&((S=vn(e.view.app,E))===null||S===void 0||S.openFile(A).catch(k=>e.view.plugin.displayError(k)))}function s(E){E.stopPropagation(),e.view.plugin.tools.openDiff({aFile:e.change.path,aRef:"",event:E})}var o=qz();o.__mouseover=[Uz,e],o.__click=i;var l=G(o),c=G(l),u=G(c,!0);H(c);var f=te(c,2),d=G(f),h=G(d);{var p=E=>{var S=Vz();S.__click=a,Ze(S,A=>r[0]=A,()=>r==null?void 0:r[0]),Gr("auxclick",S,a),ae(E,S)};_e(h,E=>{Fo(e.change.vaultPath,e.view.app)&&E(p)})}var g=te(h,2);g.__click=[zz,e],Ze(g,E=>r[1]=E,()=>r==null?void 0:r[1]);var v=te(g,2);v.__click=[Gz,e],Ze(v,E=>r[2]=E,()=>r==null?void 0:r[2]),H(d);var y=te(d,2),b=G(y,!0);H(y),H(f),H(l),H(o),Fe(E=>{ve(l,"data-path",e.change.vaultPath),ve(l,"data-tooltip-position",R(n)),ve(l,"aria-label",e.change.vaultPath),Be(u,E),ve(y,"data-type",e.change.workingDir),Be(b,e.change.workingDir)},[()=>Kn(e.change.vaultPath)]),Gr("auxclick",o,E=>{E.stopPropagation(),E.button==2?Xn(e.view.app,E,e.change.vaultPath,e.view.leaf,"git-source-control"):i(E)}),ae(t,o),rt()}gt(["mouseover","click"]);m();var O5=require("obsidian");function Wz(t,e){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&Cs(t,e.view,e.change.vaultPath)}var Yz=fe('
');function Tu(t,e){tt(e,!0);let r=Ct(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function n(f){var d;f.stopPropagation();let h=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);h instanceof O5.TFile&&((d=vn(e.view.app,f))===null||d===void 0||d.openFile(h).catch(p=>e.view.plugin.displayError(p)))}var i=Yz();i.__mouseover=[Wz,e],i.__click=n;var a=G(i),s=G(a),o=G(s,!0);H(s);var l=te(s,2),c=G(l),u=G(c,!0);H(c),H(l),H(a),H(i),Fe(f=>{ve(a,"data-path",e.change.vaultPath),ve(a,"data-tooltip-position",R(r)),ve(a,"aria-label",e.change.vaultPath),Be(o,f),ve(c,"data-type",e.change.workingDir),Be(u,e.change.workingDir)},[()=>Kn(e.change.vaultPath)]),Gr("auxclick",i,f=>{f.stopPropagation(),f.button==2?Xn(e.view.app,f,e.change.vaultPath,e.view.leaf,"git-source-control"):n(f)}),ae(t,i),rt()}gt(["mouseover","click"]);m();var mp=require("obsidian");function Xz(t,e){e.view.app.vault.getFileByPath(e.change.vaultPath)&&Cs(t,e.view,e.change.vaultPath)}function Kz(t,e){t.stopPropagation(),e.manager.unstage(e.change.path,!1).catch(r=>e.view.plugin.displayError(r)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}var Zz=fe('
'),Jz=fe('
');function Cu(t,e){tt(e,!0);let r=Ne([]),n=Ct(()=>e.view.leaf.getRoot().side=="left"?"right":"left");Zt(()=>{for(let b of r)b&&(0,mp.setIcon)(b,b.getAttr("data-icon"))});function i(b){b.stopPropagation(),Io(e.change.path)?a(b):s(b)}function a(b){var E;b.stopPropagation();let S=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);S instanceof mp.TFile&&((E=vn(e.view.app,b))===null||E===void 0||E.openFile(S).catch(A=>e.view.plugin.displayError(A)))}function s(b){var E;b.stopPropagation(),e.view.plugin.tools.openDiff({aFile:(E=e.change.from)!==null&&E!==void 0?E:e.change.path,bFile:e.change.path,aRef:"HEAD",bRef:"",event:b})}var o=Jz();o.__mouseover=[Xz,e],o.__click=i;var l=G(o),c=G(l),u=G(c,!0);H(c);var f=te(c,2),d=G(f),h=G(d);{var p=b=>{var E=Zz();E.__click=a,Ze(E,S=>r[0]=S,()=>r==null?void 0:r[0]),ae(b,E)};_e(h,b=>{Fo(e.change.vaultPath,e.view.app)&&b(p)})}var g=te(h,2);g.__click=[Kz,e],Ze(g,b=>r[1]=b,()=>r==null?void 0:r[1]),H(d);var v=te(d,2),y=G(v,!0);H(v),H(f),H(l),H(o),Fe(b=>{ve(l,"data-path",e.change.vaultPath),ve(l,"data-tooltip-position",R(n)),ve(l,"aria-label",e.change.vaultPath),Be(u,b),ve(v,"data-type",e.change.index),Be(y,e.change.index)},[()=>Kn(e.change.vaultPath)]),Gr("auxclick",o,b=>{b.stopPropagation(),b.button==2?Xn(e.view.app,b,e.change.vaultPath,e.view.leaf,"git-source-control"):i(b)}),ae(t,o),rt()}gt(["mouseover","click"]);m();m();var Qz=fe(''),eV=fe("
");function Ps(t,e){tt(e,!0);var r=eV(),n=G(r);{var i=a=>{var s=Qz(),o=G(s),l=G(o),c=G(l,!0);H(l),H(o),H(s),Fe(()=>{ve(o,"aria-label","And "+(e.files.length-500)+" more files"),Be(c,"And "+(e.files.length-500)+" more files")}),ae(a,s)};_e(n,a=>{e.files.length>500&&a(i)})}H(r),ae(t,r),rt()}var rV=fe("
"),nV=(t,e,r)=>e(t,R(r)),iV=(t,e,r)=>e(t,R(r).path),aV=fe('
'),sV=(t,e,r)=>e(t,R(r)),oV=(t,e,r)=>e(t,R(r).path),lV=fe('
',1),cV=fe(''),uV=fe('
'),fV=fe("
");function Rs(t,e){tt(e,!0);var r,n;let i=cn(e,"topLevel",3,!1),a=cn(e,"closed",15);for(let g of e.hierarchy.children)((n=(r=g.children)===null||r===void 0?void 0:r.length)!==null&&n!==void 0?n:0)>100&&a(a()[g.title]=!0,!0);let s=Ct(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function o(g,v){g.stopPropagation(),e.plugin.gitManager.stageAll({dir:v}).catch(y=>e.plugin.displayError(y)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function l(g,v){g.stopPropagation(),e.plugin.gitManager.unstageAll({dir:v}).catch(y=>e.plugin.displayError(y)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function c(g,v){g.stopPropagation(),e.plugin.discardAll(v.vaultPath)}function u(g,v){g.stopPropagation(),a(a()[v.path]=!a()[v.path],!0)}var f=fV();let d;var h=G(f);Vr(h,17,()=>Fc(e.hierarchy.children,500),zr,(g,v)=>{var y=Li(),b=kr(y);{var E=A=>{var k=rV(),w=G(k);{var x=T=>{Cu(T,{get change(){return R(v).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},_=T=>{var C=Li(),I=kr(C);{var L=J=>{ku(J,{get change(){return R(v).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},$=J=>{var de=Li(),le=kr(de);{var ce=Te=>{Tu(Te,{get change(){return R(v).data},get view(){return e.view}})};_e(le,Te=>{e.fileType==2&&Te(ce)},!0)}ae(J,de)};_e(I,J=>{e.fileType==1?J(L):J($,!1)},!0)}ae(T,C)};_e(w,T=>{e.fileType==0?T(x):T(_,!1)})}H(k),ae(A,k)},S=A=>{var k=uV();k.__click=[nV,u,v];let w;var x=G(k),_=te(G(x),2);let T;var C=te(_,2),I=G(C,!0);H(C);var L=te(C,2),$=G(L),J=G($);{var de=ne=>{var N=aV();N.__click=[iV,l,v],ae(ne,N)},le=ne=>{var N=lV(),W=kr(N);W.__click=[sV,c,v];var B=te(W,2);B.__click=[oV,o,v],ae(ne,N)};_e(J,ne=>{e.fileType==0?ne(de):ne(le,!1)})}il(2),H($),H(L),H(x);var ce=te(x,2);{var Te=ne=>{var N=cV(),W=G(N);Rs(W,{get hierarchy(){return R(v)},get plugin(){return e.plugin},get view(){return e.view},get fileType(){return e.fileType},get closed(){return a()},set closed(B){a(B)}}),H(N),Pn(3,N,()=>ui,()=>({duration:150})),ae(ne,N)};_e(ce,ne=>{a()[R(v).path]||ne(Te)})}H(k),Fe((ne,N)=>{w=ot(k,1,"tree-item nav-folder",null,w,ne),ve(x,"data-tooltip-position",R(s)),ve(x,"aria-label",R(v).vaultPath),T=ot(_,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,T,N),Be(I,R(v).title)},[()=>({"is-collapsed":a()[R(v).path]}),()=>({"is-collapsed":a()[R(v).path]})]),Gr("auxclick",k,ne=>Xn(e.view.app,ne,R(v).vaultPath,e.view.leaf,"git-source-control")),ae(A,k)};_e(b,A=>{R(v).data?A(E):A(S,!1)})}ae(g,y)});var p=te(h,2);Ps(p,{get files(){return e.hierarchy.children}}),H(f),Fe(g=>d=ot(f,1,"",null,d,g),[()=>({topLevel:i()})]),ae(t,f),rt()}gt(["click"]);function dV(t,e,r,n,i,a){if(ie(e,!0),R(r)){let s=R(r).staged.length>0;n().promiseQueue.addTask(()=>n().commit({fromAuto:!1,commitMessage:R(i),onlyStaged:s}).then(()=>ie(i,n().settings.commitMessage,!0)).finally(a))}}function I5(t,e,r,n,i){t.stopPropagation(),ie(e,!0),r().promiseQueue.addTask(()=>r().gitManager.stageAll({status:R(n)}).finally(i))}function F5(t,e,r,n,i){t.stopPropagation(),ie(e,!0),r().promiseQueue.addTask(()=>r().gitManager.unstageAll({status:R(n)}).finally(i))}function hV(t,e,r,n){ie(e,!0),r().promiseQueue.addTask(()=>r().push().finally(n))}function pV(t,e,r,n){ie(e,!0),r().promiseQueue.addTask(()=>r().pullChangesFromRemote().finally(n))}function mV(t,e){t.stopPropagation(),e().discardAll()}var gV=(t,e,r,n)=>{ie(e,!R(e)),(0,Ms.setIcon)(r[6],R(e)?"list":"folder"),n().settings.treeStructure=R(e),n().saveSettings()},vV=(t,e)=>ie(e,""),yV=fe('
'),wV=(t,e)=>ie(e,!R(e)),bV=fe(" ",1),_V=fe(''),xV=(t,e)=>ie(e,!R(e)),SV=fe(" ",1),EV=fe(''),AV=(t,e)=>ie(e,!R(e)),kV=fe(" ",1),TV=fe(''),CV=fe('
'),PV=fe(''),RV=fe('
'),MV={hash:"svelte-11adhly",code:`.commit-msg-input.svelte-11adhly {width:100%;overflow:hidden;resize:none;padding:7px 5px;background-color:var(--background-modifier-form-field);}.git-commit-msg.svelte-11adhly {position:relative;padding:0;width:calc(100% - var(--size-4-8));margin:4px auto;}main.svelte-11adhly .git-tools:where(.svelte-11adhly) .files-count:where(.svelte-11adhly) {padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center;}.nav-folder-title.svelte-11adhly {align-items:center;}.git-commit-msg-clear-button.svelte-11adhly {position:absolute;background:transparent;border-radius:50%;color:var(--search-clear-button-color);cursor:var(--cursor);top:-4px;right:2px;bottom:0px;line-height:0;height:var(--input-height);width:28px;margin:auto;padding:0 0;text-align:center;display:flex;justify-content:center;align-items:center;transition:color 0.15s ease-in-out;}.git-commit-msg-clear-button.svelte-11adhly:after {content:"";height:var(--search-clear-button-size);width:var(--search-clear-button-size);display:block;background-color:currentColor;mask-image:url("data:image/svg+xml,");mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,");-webkit-mask-repeat:no-repeat;}`};function fy(t,e){tt(e,!0),Tn(t,MV);let r=cn(e,"plugin",7),n=cn(e,"view",7),i=Pe(!1),a=Pe(void 0),s=Pe(Ne([])),o=Pe(Ne(r().settings.commitMessage)),l=Ne([]),c=Pe(void 0),u=Pe(void 0),f=Pe(void 0),d=Pe(!0),h=Pe(!0),p=Pe(!0),g=Pe(0),v=Pe(Ne({})),y=Pe(Ne({})),b=Pe(Ne({})),E=Pe(Ne(r().settings.treeStructure));n().registerEvent(n().app.workspace.on("obsidian-git:loading-status",()=>ie(i,!0))),n().registerEvent(n().app.workspace.on("obsidian-git:status-changed",()=>void A().catch(console.error))),n().plugin.cachedStatus==null?n().plugin.refresh().catch(console.error):A().catch(console.error),Zt(()=>{l.forEach(X=>(0,Ms.setIcon)(X,X.getAttr("data-icon")))}),Zt(()=>{l.forEach(X=>{var Oe,De;!X||X.id!="push"||(Ms.Platform.isMobile?(X.removeClass("button-border"),R(g)>0&&X.addClass("button-border")):((Oe=X.firstElementChild)===null||Oe===void 0||Oe.removeAttribute("color"),R(g)>0&&((De=X.firstElementChild)===null||De===void 0||De.setAttr("color","var(--text-accent)"))))})}),n().scope=new Ms.Scope(r().app.scope),n().scope.register(["Ctrl"],"Enter",X=>S());function S(){if(ie(i,!0),R(a)){let X=R(a).staged.length>0;r().promiseQueue.addTask(()=>r().commitAndSync({fromAutoBackup:!1,commitMessage:R(o),onlyStaged:X}).then(()=>{ie(o,r().settings.commitMessage,!0)}).finally(k))}}function A(){return Ts(this,void 0,void 0,function*(){if(!r().gitReady){ie(a,void 0);return}if(ie(g,yield r().gitManager.getUnpushedCommits(),!0),ie(a,r().cachedStatus,!0),ie(i,!1),r().lastPulledFiles&&r().lastPulledFiles!=R(s)&&(ie(s,r().lastPulledFiles,!0),ie(f,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(s))},!0)),R(a)){let X=(Oe,De)=>Oe.vaultPath.split("/").last().localeCompare(Kn(De.vaultPath));R(a).changed.sort(X),R(a).staged.sort(X),ie(c,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(a).changed)},!0),ie(u,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(a).staged)},!0)}else ie(c,void 0),ie(u,void 0)})}function k(){n().app.workspace.trigger("obsidian-git:refresh")}let w=Ct(()=>(R(o).match(/\n/g)||[]).length+1||1);var x=RV(),_=G(x),T=G(_),C=G(T);C.__click=S,Ze(C,X=>l[0]=X,()=>l==null?void 0:l[0]);var I=te(C,2);I.__click=[dV,i,a,r,o,k],Ze(I,X=>l[1]=X,()=>l==null?void 0:l[1]);var L=te(I,2);L.__click=[I5,i,r,a,k],Ze(L,X=>l[2]=X,()=>l==null?void 0:l[2]);var $=te(L,2);$.__click=[F5,i,r,a,k],Ze($,X=>l[3]=X,()=>l==null?void 0:l[3]);var J=te($,2);J.__click=[hV,i,r,k],Ze(J,X=>l[4]=X,()=>l==null?void 0:l[4]);var de=te(J,2);de.__click=[pV,i,r,k],Ze(de,X=>l[5]=X,()=>l==null?void 0:l[5]);var le=te(de,2);le.__click=[gV,E,l,r],Ze(le,X=>l[6]=X,()=>l==null?void 0:l[6]);var ce=te(le,2);let Te;ce.__click=k,Ze(ce,X=>l[7]=X,()=>l==null?void 0:l[7]),H(T),H(_);var ne=te(_,2),N=G(ne);H1(N);var W=te(N,2);{var B=X=>{var Oe=yV();Oe.__click=[vV,o],ve(Oe,"aria-label","Clear"),ae(X,Oe)};_e(W,X=>{R(o)&&X(B)})}H(ne);var $e=te(ne,2),lr=G($e);{var Ut=X=>{var Oe=PV(),De=G(Oe);let Pt;var Le=G(De);Le.__click=[wV,h];var U=G(Le);let Je;var j=te(U,4),Z=G(j),Se=G(Z);Se.__click=[F5,i,r,a,k],Ze(Se,Mt=>l[8]=Mt,()=>l==null?void 0:l[8]),H(Z);var We=te(Z,2),Rt=G(We,!0);H(We),H(j),H(Le);var vl=te(Le,2);{var j5=Mt=>{var Gt=_V(),Bi=G(Gt);{var Rn=Jt=>{Rs(Jt,{get hierarchy(){return R(u)},get plugin(){return r()},get view(){return n()},get fileType(){return 0},topLevel:!0,get closed(){return R(v)},set closed(fn){ie(v,fn,!0)}})},Os=Jt=>{var fn=bV(),Pa=kr(fn);Vr(Pa,17,()=>Fc(R(a).staged,500),zr,(Hi,yl)=>{Cu(Hi,{get change(){return R(yl)},get view(){return n()},get manager(){return r().gitManager}})});var fi=te(Pa,2);Ps(fi,{get files(){return R(a).staged}}),ae(Jt,fn)};_e(Bi,Jt=>{R(E)?Jt(Rn):Jt(Os,!1)})}H(Gt),Pn(3,Gt,()=>ui,()=>({duration:150})),ae(Mt,Gt)};_e(vl,Mt=>{R(h)&&Mt(j5)})}H(De);var Ru=te(De,2);let dy;var Mu=G(Ru);Mu.__click=[xV,d];var hy=G(Mu);let py;var my=te(hy,4),yp=G(my),gy=G(yp);gy.__click=[mV,r];var vy=te(gy,2);vy.__click=[I5,i,r,a,k],Ze(vy,Mt=>l[9]=Mt,()=>l==null?void 0:l[9]),H(yp);var yy=te(yp,2),N5=G(yy,!0);H(yy),H(my),H(Mu);var B5=te(Mu,2);{var H5=Mt=>{var Gt=EV(),Bi=G(Gt);{var Rn=Jt=>{Rs(Jt,{get hierarchy(){return R(c)},get plugin(){return r()},get view(){return n()},get fileType(){return 1},topLevel:!0,get closed(){return R(y)},set closed(fn){ie(y,fn,!0)}})},Os=Jt=>{var fn=SV(),Pa=kr(fn);Vr(Pa,17,()=>Fc(R(a).changed,500),zr,(Hi,yl)=>{ku(Hi,{get change(){return R(yl)},get view(){return n()},get manager(){return r().gitManager}})});var fi=te(Pa,2);Ps(fi,{get files(){return R(a).changed}}),ae(Jt,fn)};_e(Bi,Jt=>{R(E)?Jt(Rn):Jt(Os,!1)})}H(Gt),Pn(3,Gt,()=>ui,()=>({duration:150})),ae(Mt,Gt)};_e(B5,Mt=>{R(d)&&Mt(H5)})}H(Ru);var U5=te(Ru,2);{var G5=Mt=>{var Gt=CV();let Bi;var Rn=G(Gt);Rn.__click=[AV,p];var Os=te(G(Rn),4),Jt=G(Os,!0);H(Os),H(Rn);var fn=te(Rn,2);{var Pa=fi=>{var Hi=TV(),yl=G(Hi);{var z5=Is=>{Rs(Is,{get hierarchy(){return R(f)},get plugin(){return r()},get view(){return n()},get fileType(){return 2},topLevel:!0,get closed(){return R(b)},set closed(Ou){ie(b,Ou,!0)}})},V5=Is=>{var Ou=kV(),wy=kr(Ou);Vr(wy,17,()=>R(s),zr,(W5,Y5)=>{Tu(W5,{get change(){return R(Y5)},get view(){return n()}})});var q5=te(wy,2);Ps(q5,{get files(){return R(s)}}),ae(Is,Ou)};_e(yl,Is=>{R(E)?Is(z5):Is(V5,!1)})}H(Hi),Pn(3,Hi,()=>ui,()=>({duration:150})),ae(fi,Hi)};_e(fn,fi=>{R(p)&&fi(Pa)})}H(Gt),Fe(fi=>{Bi=ot(Gt,1,"pulled nav-folder",null,Bi,fi),Be(Jt,R(s).length)},[()=>({"is-collapsed":!R(p)})]),ae(Mt,Gt)};_e(U5,Mt=>{R(s).length>0&&R(f)&&Mt(G5)})}H(Oe),Fe((Mt,Gt,Bi,Rn)=>{Pt=ot(De,1,"staged tree-item nav-folder",null,Pt,Mt),Je=ot(U,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,Je,Gt),Be(Rt,R(a).staged.length),dy=ot(Ru,1,"changes tree-item nav-folder",null,dy,Bi),py=ot(hy,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,py,Rn),Be(N5,R(a).changed.length)},[()=>({"is-collapsed":!R(h)}),()=>({"is-collapsed":!R(h)}),()=>({"is-collapsed":!R(d)}),()=>({"is-collapsed":!R(d)})]),ae(X,Oe)};_e(lr,X=>{R(a)&&R(u)&&R(c)&&X(Ut)})}H($e),H(x),Fe(X=>{ve(x,"data-type",$t.type),ve(le,"data-icon",R(E)?"list":"folder"),Te=ot(ce,1,"clickable-icon nav-action-button",null,Te,X),ve(N,"rows",R(w))},[()=>({loading:R(i)})]),ey(N,()=>R(o),X=>ie(o,X)),ae(t,x),rt()}gt(["click"]);var Pu=class extends $5.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return $t.type}getDisplayText(){return $t.name}getIcon(){return $t.icon}onClose(){return this._view&&ji(this._view),super.onClose()}reload(){this._view&&ji(this._view),this._view=Ta(fy,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};m();var gp=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.statusBarEl.addClass("mod-clickable"),this.statusBarEl.onClickEvent(n=>{this.plugin.switchBranch().catch(i=>r.displayError(i))})}async display(){if(this.plugin.gitReady){let e=await this.plugin.gitManager.branchInfo();e.current!=null?this.statusBarEl.setText(e.current):this.statusBarEl.empty()}else this.statusBarEl.empty()}remove(){this.statusBarEl.remove()}};var vp=class extends we.Plugin{constructor(){super(...arguments);this.automaticsManager=new Bc(this);this.tools=new Uc(this);this.localStorage=new vh(this);this.state={gitAction:0,offlineMode:!1};this.gitReady=!1;this.promiseQueue=new fh(this);this.intervalsToClear=[];this.lineAuthoringFeature=new uh(this)}setPluginState(r){var n;this.state=Object.assign(this.state,r),(n=this.statusBar)==null||n.display()}async updateCachedStatus(){var r,n;return this.app.workspace.trigger("obsidian-git:loading-status"),this.cachedStatus=await this.gitManager.status(),this.cachedStatus.conflicted.length>0?(this.localStorage.setConflict(!0),await((r=this.branchBar)==null?void 0:r.display())):(this.localStorage.setConflict(!1),await((n=this.branchBar)==null?void 0:n.display())),this.app.workspace.trigger("obsidian-git:status-changed",this.cachedStatus),this.cachedStatus}async refresh(){if(!this.gitReady)return;let r=this.app.workspace.getLeavesOfType($t.type),n=this.app.workspace.getLeavesOfType(Zr.type);(this.settings.changedFilesInStatusBar||r.some(i=>{var a;return!((a=i.isDeferred)!=null&&a)})||n.some(i=>{var a;return!((a=i.isDeferred)!=null&&a)}))&&await this.updateCachedStatus().catch(i=>this.displayError(i)),this.app.workspace.trigger("obsidian-git:refreshed")}refreshUpdatedHead(){this.lineAuthoringFeature.refreshLineAuthorViews()}async onload(){console.log("loading "+this.manifest.name+" plugin: v"+this.manifest.version),Nc.plugin=this,this.localStorage.migrate(),await this.loadSettings(),await this.migrateSettings(),this.settingsTab=new Kd(this.app,this),this.addSettingTab(this.settingsTab),this.localStorage.getPluginDisabled()||(this.registerStuff(),this.app.workspace.onLayoutReady(()=>this.init({fromReload:!1}).catch(r=>this.displayError(r))))}onExternalSettingsChange(){this.reloadSettings().catch(r=>this.displayError(r))}async reloadSettings(){let r=JSON.stringify(this.settings);await this.loadSettings();let n=JSON.stringify(this.settings);r!==n&&(this.log("Reloading settings"),this.unloadPlugin(),await this.init({fromReload:!0}),this.app.workspace.getLeavesOfType($t.type).forEach(i=>{var a;if(!((a=i.isDeferred)!=null&&a))return i.view.reload()}),this.app.workspace.getLeavesOfType(Zr.type).forEach(i=>{var a;if(!((a=i.isDeferred)!=null&&a))return i.view.reload()}))}registerStuff(){this.registerEvent(this.app.workspace.on("obsidian-git:refresh",()=>{this.refresh().catch(r=>this.displayError(r))})),this.registerEvent(this.app.workspace.on("obsidian-git:head-change",()=>{this.refreshUpdatedHead()})),this.registerEvent(this.app.workspace.on("file-menu",(r,n,i)=>{this.handleFileMenu(r,n,i,"file-manu")})),this.registerEvent(this.app.workspace.on("obsidian-git:menu",(r,n,i)=>{this.handleFileMenu(r,n,i,"obsidian-git:menu")})),this.registerEvent(this.app.workspace.on("active-leaf-change",r=>{this.onActiveLeafChange(r)})),this.registerEvent(this.app.vault.on("modify",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("delete",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("create",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("rename",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerView($t.type,r=>new Pu(r,this)),this.registerView(Zr.type,r=>new Su(r,this)),this.registerView(ua.type,r=>new ls(r,this)),this.registerView(ca.type,r=>new fs(r,this)),this.addRibbonIcon("git-pull-request","Open Git source control",async()=>{var i;let r=this.app.workspace.getLeavesOfType($t.type),n;r.length===0?(n=(i=this.app.workspace.getRightLeaf(!1))!=null?i:this.app.workspace.getLeaf(),await n.setViewState({type:$t.type})):n=r.first(),await this.app.workspace.revealLeaf(n)}),this.registerHoverLinkSource($t.type,{display:"Git View",defaultMod:!0}),this.lineAuthoringFeature.onLoadPlugin(),this.setRefreshDebouncer(),oM(this)}setRefreshDebouncer(){var r;(r=this.debRefresh)==null||r.cancel(),this.debRefresh=(0,we.debounce)(()=>{this.settings.refreshSourceControl&&this.refresh().catch(console.error)},this.settings.refreshSourceControlTimer,!0)}async addFileToGitignore(r,n){let i=this.gitManager.getRelativeRepoPath(r,!0),a=u3({isFolder:n,gitRelativePath:i});return await this.app.vault.adapter.append(this.gitManager.getRelativeVaultPath(".gitignore"),` +`+a),this.refresh()}handleFileMenu(r,n,i,a){if(!this.gitReady||!this.settings.showFileMenu||!n)return;let s;if(typeof n=="string"?s=n:s=n.path,i=="file-explorer-context-menu"&&(r.addItem(o=>{o.setTitle("Git: Stage").setIcon("plus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{n instanceof we.TFile?await this.stageFile(n):(await this.gitManager.stageAll({dir:this.gitManager.getRelativeRepoPath(s,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Unstage").setIcon("minus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{n instanceof we.TFile?await this.unstageFile(n):(await this.gitManager.unstageAll({dir:this.gitManager.getRelativeRepoPath(s,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(l=>{this.addFileToGitignore(s,n instanceof we.TFolder).catch(c=>this.displayError(c))})})),i=="git-source-control"){r.addItem(l=>{l.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(c=>{this.addFileToGitignore(s,n instanceof we.TFolder).catch(u=>this.displayError(u))})});let o=this.app.vault.adapter;a==="obsidian-git:menu"&&o instanceof we.FileSystemAdapter&&(r.addItem(l=>{l.setTitle("Open in default app").setIcon("arrow-up-right").setSection("action").onClick(c=>{this.app.openWithDefaultApp(s)})}),r.addItem(l=>{l.setTitle("Show in system explorer").setIcon("arrow-up-right").setSection("action").onClick(c=>{window.electron.shell.showItemInFolder(L5.join(o.getBasePath(),s))})}))}}async migrateSettings(){this.settings.mergeOnPull!=null&&(this.settings.syncMethod=this.settings.mergeOnPull?"merge":"rebase",this.settings.mergeOnPull=void 0,await this.saveSettings()),this.settings.autoCommitMessage===void 0&&(this.settings.autoCommitMessage=this.settings.commitMessage,await this.saveSettings()),this.settings.gitPath!=null&&(this.localStorage.setGitPath(this.settings.gitPath),this.settings.gitPath=void 0,await this.saveSettings()),this.settings.username!=null&&(this.localStorage.setPassword(this.settings.username),this.settings.username=void 0,await this.saveSettings())}unloadPlugin(){var r,n;this.gitReady=!1,this.lineAuthoringFeature.deactivateFeature(),this.automaticsManager.unload(),(r=this.branchBar)==null||r.remove(),(n=this.statusBar)==null||n.remove(),this.statusBar=void 0,this.branchBar=void 0,this.gitManager.unload(),this.promiseQueue.clear();for(let i of this.intervalsToClear)window.clearInterval(i);this.intervalsToClear=[],this.debRefresh.cancel()}onunload(){this.unloadPlugin(),console.log("unloading "+this.manifest.name+" plugin")}async loadSettings(){let r=await this.loadData();r==null&&(r={showedMobileNotice:!0}),this.settings=gT(Xe,r)}async saveSettings(){var r;(r=this.settingsTab)==null||r.beforeSaveSettings(),await this.saveData(this.settings)}get useSimpleGit(){return we.Platform.isDesktopApp}async init({fromReload:r=!1}){var n;if(this.settings.showStatusBar&&!this.statusBar){let i=this.addStatusBarItem();this.statusBar=new dh(i,this),this.intervalsToClear.push(window.setInterval(()=>{var a;return(a=this.statusBar)==null?void 0:a.display()},1e3))}try{this.useSimpleGit?(this.gitManager=new Ce(this),await this.gitManager.setGitInstance()):this.gitManager=new wn(this);let i=await this.gitManager.checkRequirements(),a=this.localStorage.getPausedAutomatics();switch(i){case"missing-git":this.displayError(`Cannot run git command. Trying to run: '${this.localStorage.getGitPath()||"git"}' .`);break;case"missing-repo":new we.Notice("Can't find a valid git repository. Please create one via the given command or clone an existing repo.",1e4);break;case"valid":if(this.gitReady=!0,this.setPluginState({gitAction:0}),we.Platform.isDesktop&&this.settings.showBranchStatusBar&&!this.branchBar){let s=this.addStatusBarItem();this.branchBar=new gp(s,this),this.intervalsToClear.push(window.setInterval(()=>{var o;return void((o=this.branchBar)==null?void 0:o.display().catch(console.error))},6e4))}await((n=this.branchBar)==null?void 0:n.display()),this.lineAuthoringFeature.conditionallyActivateBySettings(),this.app.workspace.trigger("obsidian-git:refresh"),this.app.workspace.trigger("obsidian-git:head-change"),!r&&this.settings.autoPullOnBoot&&!a&&this.promiseQueue.addTask(()=>this.pullChangesFromRemote()),a||await this.automaticsManager.init(),a&&new we.Notice("Automatic routines are currently paused.");break;default:this.log("Something weird happened. The 'checkRequirements' result is "+i)}}catch(i){this.displayError(i),console.error(i)}}async createNewRepo(){try{await this.gitManager.init(),new we.Notice("Initialized new repo"),await this.init({fromReload:!0})}catch(r){this.displayError(r)}}async cloneNewRepo(){let n=await new ze(this,{placeholder:"Enter remote URL"}).openAndGetResult();if(n){let i="Vault Root",a=await new ze(this,{options:this.gitManager instanceof wn?[i]:[],placeholder:"Enter directory for clone. It needs to be empty or not existent.",allowEmpty:this.gitManager instanceof wn}).openAndGetResult();if(a==null)return;if(a===i&&(a="."),a=(0,we.normalizePath)(a),a==="/"&&(a="."),a==="."){let f=await new ze(this,{options:["NO","YES"],placeholder:`Does your remote repo contain a ${this.app.vault.configDir} directory at the root?`,onlySelection:!0}).openAndGetResult();if(f===void 0){new we.Notice("Aborted clone");return}else if(f==="YES"){let d="DELETE ALL YOUR LOCAL CONFIG AND PLUGINS";if(await new ze(this,{options:["Abort clone",d],placeholder:`To avoid conflicts, the local ${this.app.vault.configDir} directory needs to be deleted.`,onlySelection:!0}).openAndGetResult()===d)await this.app.vault.adapter.rmdir(this.app.vault.configDir,!0);else{new we.Notice("Aborted clone");return}}}let s=await new ze(this,{placeholder:"Specify depth of clone. Leave empty for full clone.",allowEmpty:!0}).openAndGetResult(),o;if(s===void 0){new we.Notice("Aborted clone");return}if(s!==""&&(o=parseInt(s),isNaN(o))){new we.Notice("Invalid depth. Aborting clone.");return}new we.Notice(`Cloning new repo into "${a}"`);let l=this.settings.basePath,c=a&&a!==".";c&&(this.settings.basePath=a);try{await this.gitManager.clone(vv(n),a,o),new we.Notice("Cloned new repo."),new we.Notice("Please restart Obsidian"),c&&await this.saveSettings()}catch(u){this.displayError(u),this.settings.basePath=l,await this.saveSettings()}}}async isAllInitialized(){return this.gitReady||await this.init({fromReload:!0}),this.gitReady}async pullChangesFromRemote(){if(!await this.isAllInitialized())return;let r=await this.pull();if(r!==!1){if(r||this.displayMessage("Pull: Everything is up-to-date"),this.gitManager instanceof Ce){let n=await this.updateCachedStatus();n.conflicted.length>0&&(this.displayError(`You have conflicts in ${n.conflicted.length} ${n.conflicted.length==1?"file":"files"}`),await this.handleConflict(n.conflicted))}this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0})}}async commitAndSync({fromAutoBackup:r,requestCustomMessage:n=!1,commitMessage:i,onlyStaged:a=!1}){!await this.isAllInitialized()||(this.settings.syncMethod=="reset"&&this.settings.pullBeforePush&&await this.pull(),!await this.commit({fromAuto:r,requestCustomMessage:n,commitMessage:i,onlyStaged:a}))||(this.settings.syncMethod!="reset"&&this.settings.pullBeforePush&&await this.pull(),this.settings.disablePush||(await this.remotesAreSet()&&await this.gitManager.canPush()?await this.push():this.displayMessage("No commits to push")),this.setPluginState({gitAction:0}))}async commit({fromAuto:r,requestCustomMessage:n=!1,onlyStaged:i=!1,commitMessage:a,amend:s=!1}){if(!await this.isAllInitialized())return!1;try{let o=this.localStorage.getConflict(),l,c=[],u=[];if(this.gitManager instanceof Ce){if(await this.mayDeleteConflictFile(),l=await this.updateCachedStatus(),l.conflicted.length==0&&(o=!1),r&&l.conflicted.length>0)return this.displayError(`Did not commit, because you have conflicts in ${l.conflicted.length} ${l.conflicted.length==1?"file":"files"}. Please resolve them and commit per command.`),await this.handleConflict(l.conflicted),!1;c=l.staged,u=l.changed}else{if(r&&o)return this.displayError("Did not commit, because you have conflicts. Please resolve them and commit per command."),!1;{o&&await this.mayDeleteConflictFile();let f=this.gitManager;i?c=await f.getStagedFiles():u=(await f.getUnstagedFiles()).map(({path:h,type:p})=>({vaultPath:this.gitManager.getRelativeVaultPath(h),path:h,type:p}))}}if(await this.tools.hasTooBigFiles(i?c:[...c,...u]))return this.setPluginState({gitAction:0}),!1;if(u.length+c.length!==0||o){let f=a!=null?a:a=r?this.settings.autoCommitMessage:this.settings.commitMessage;if(r&&this.settings.customMessageOnAutoBackup||n){!this.settings.disablePopups&&r&&new we.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");let p=await new hh(this).openAndGetResult();if(p!=null&&p!=""&&p!="...")f=p;else return this.setPluginState({gitAction:0}),!1}else if(this.gitManager instanceof Ce&&this.settings.commitMessageScript){let p=this.settings.commitMessageScript,g=this.localStorage.getHostname()||"",v=p.replace("{{hostname}}",g);v=v.replace("{{date}}",(0,we.moment)().format(this.settings.commitDateFormat));let y=await $c("sh",["-c",v],{cwd:this.gitManager.absoluteRepoPath});y.code!=0?this.displayError(y.stderr):y.stdout.trim().length==0?this.displayMessage("Stdout from commit message script is empty. Using default message."):f=y.stdout}let d;i?d=await this.gitManager.commit({message:f,amend:s}):d=await this.gitManager.commitAll({message:f,status:l,unstagedFiles:u,amend:s}),this.gitManager instanceof Ce&&await this.updateCachedStatus();let h=!1;d===void 0&&(h=!0,d=u.length+c.length||0),this.displayMessage(`Committed${h?" approx.":""} ${d} ${d==1?"file":"files"}`)}else this.displayMessage("No changes to commit");return this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(o){return this.displayError(o),!1}}async push(){if(!await this.isAllInitialized()||!await this.remotesAreSet())return!1;let r=this.localStorage.getConflict();try{this.gitManager instanceof Ce&&await this.mayDeleteConflictFile();let n;if(this.gitManager instanceof Ce&&(n=await this.updateCachedStatus()).conflicted.length>0)return this.displayError(`Cannot push. You have conflicts in ${n.conflicted.length} ${n.conflicted.length==1?"file":"files"}`),await this.handleConflict(n.conflicted),!1;if(this.gitManager instanceof wn&&r)return this.displayError("Cannot push. You have conflicts"),!1;this.log("Pushing....");let i=await this.gitManager.push();return i!==void 0&&(i>0?this.displayMessage(`Pushed ${i} ${i==1?"file":"files"} to remote`):this.displayMessage("No commits to push")),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(n){return n instanceof Co?this.handleNoNetworkError(n):this.displayError(n),!1}}async pull(){if(!await this.remotesAreSet())return!1;try{this.log("Pulling....");let r=await this.gitManager.pull()||[];return this.setPluginState({offlineMode:!1}),r.length>0&&(this.displayMessage(`Pulled ${r.length} ${r.length==1?"file":"files"} from remote`),this.lastPulledFiles=r),r.length}catch(r){return this.displayError(r),!1}}async fetch(){if(await this.remotesAreSet())try{await this.gitManager.fetch(),this.displayMessage("Fetched from remote"),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh")}catch(r){this.displayError(r)}}async mayDeleteConflictFile(){let r=this.app.vault.getAbstractFileByPath(To);r&&(this.app.workspace.iterateAllLeaves(n=>{var i;n.view instanceof we.MarkdownView&&((i=n.view.file)==null?void 0:i.path)==r.path&&n.detach()}),await this.app.vault.delete(r))}async stageFile(r){return await this.isAllInitialized()?(await this.gitManager.stage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async unstageFile(r){return await this.isAllInitialized()?(await this.gitManager.unstage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async switchBranch(){var i;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo(),n=await new pp(this,r.branches).openAndGetReslt();if(n!=null)return await this.gitManager.checkout(n),this.displayMessage(`Switched to ${n}`),this.app.workspace.trigger("obsidian-git:refresh"),await((i=this.branchBar)==null?void 0:i.display()),n}async switchRemoteBranch(){var a;if(!await this.isAllInitialized())return;let r=await this.selectRemoteBranch()||"",[n,i]=ki(r);if(i!=null&&n!=null)return await this.gitManager.checkout(i,n),this.displayMessage(`Switched to ${r}`),await((a=this.branchBar)==null?void 0:a.display()),r}async createBranch(){var n;if(!await this.isAllInitialized())return;let r=await new ze(this,{placeholder:"Create new branch"}).openAndGetResult();if(r!=null)return await this.gitManager.createBranch(r),this.displayMessage(`Created new branch ${r}`),await((n=this.branchBar)==null?void 0:n.display()),r}async deleteBranch(){var i;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo();r.current&&r.branches.remove(r.current);let n=await new ze(this,{options:r.branches,placeholder:"Delete branch",onlySelection:!0}).openAndGetResult();if(n!=null){let a=!1;if(!await this.gitManager.branchIsMerged(n)){let o=await new ze(this,{options:["YES","NO"],placeholder:"This branch isn't merged into HEAD. Force delete?",onlySelection:!0}).openAndGetResult();if(o!=="YES")return;a=o==="YES"}return await this.gitManager.deleteBranch(n,a),this.displayMessage(`Deleted branch ${n}`),await((i=this.branchBar)==null?void 0:i.display()),n}}async remotesAreSet(){return this.settings.updateSubmodules||(await this.gitManager.branchInfo()).tracking?!0:(new we.Notice("No upstream branch is set. Please select one."),await this.setUpstreamBranch())}async setUpstreamBranch(){let r=await this.selectRemoteBranch();return r==null?(this.displayError("Aborted. No upstream-branch is set!",1e4),this.setPluginState({gitAction:0}),!1):(await this.gitManager.updateUpstreamBranch(r),this.displayMessage(`Set upstream branch to ${r}`),this.setPluginState({gitAction:0}),!0)}async discardAll(r){if(!await this.isAllInitialized())return!1;let n=await this.gitManager.status({path:r}),i=0,a=0;for(let o of n.changed)o.workingDir=="U"?i++:a++;if(i+a==0)return!1;let s=await new gl({app:this.app,filesToDeleteCount:i,filesToDiscardCount:a,path:r!=null?r:""}).openAndGetResult();switch(s){case!1:return s;case"discard":await this.gitManager.discardAll({dir:r,status:this.cachedStatus});break;case"delete":{await this.gitManager.discardAll({dir:r,status:this.cachedStatus});let o=await this.gitManager.getUntrackedPaths({path:r,status:this.cachedStatus});for(let l of o){let c=this.gitManager.getRelativeVaultPath(l),u=this.app.vault.getAbstractFileByPath(c);u?await this.app.fileManager.trashFile(u):l.endsWith("/")?await this.app.vault.adapter.rmdir(c,!0):await this.app.vault.adapter.remove(c)}break}default:Ud(s)}return this.app.workspace.trigger("obsidian-git:refresh"),s}async handleConflict(r){this.localStorage.setConflict(!0);let n;r!==void 0&&(n=["# Conflicts","Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`","(This file will automatically be deleted before commit)","[[#Additional Instructions]] available below file list","",...r.map(i=>{let a=this.app.vault.getAbstractFileByPath(i);return a instanceof we.TFile?`- [[${this.app.metadataCache.fileToLinktext(a,"/")}]]`:`- Not a file: ${i}`}),` +# Additional Instructions +I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text. + +\`\`\`diff +<<<<<<< HEAD + File changes in local repository +======= + File changes in remote repository +>>>>>>> origin/main +\`\`\``]),await this.tools.writeAndOpenFile(n==null?void 0:n.join(` +`))}async editRemotes(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),i=await new ze(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}).openAndGetResult();if(i){let a=await this.gitManager.getRemoteUrl(i),o=await new ze(this,{initialValue:a,placeholder:"Enter remote URL"}).openAndGetResult();if(o)return await this.gitManager.setRemote(i,vv(o)),i}}async selectRemoteBranch(){let r=await this.gitManager.getRemotes(),n;r.length===0&&(n=await this.editRemotes(),n==null&&(r=await this.gitManager.getRemotes()));let i=new ze(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}),a=n!=null?n:await i.openAndGetResult();if(a){this.displayMessage("Fetching remote branches"),await this.gitManager.fetch(a);let s=await this.gitManager.getRemoteBranches(a),l=await new ze(this,{options:s,placeholder:"Select or create a new remote branch by typing its name and selecting it"}).openAndGetResult();return l==null?void 0:l.startsWith(a+"/")?l:`${a}/${l}`}}async removeRemote(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),i=await new ze(this,{options:r,placeholder:"Select a remote"}).openAndGetResult();i&&await this.gitManager.removeRemote(i)}onActiveLeafChange(r){var s,o;let n=r==null?void 0:r.view;if(!(n!=null&&n.getState().file)&&!(n instanceof ls||n instanceof fs))return;let i=this.app.workspace.getLeavesOfType($t.type).first(),a=this.app.workspace.getLeavesOfType(Zr.type).first();if((s=i==null?void 0:i.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||s.removeClass("is-active"),(o=a==null?void 0:a.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||o.removeClass("is-active"),(r==null?void 0:r.view)instanceof ls||(r==null?void 0:r.view)instanceof fs){let l=r.view.state.bFile;this.lastDiffViewState=r.view.getState();let c;i&&r.view.state.aRef=="HEAD"?c=i.view.containerEl.querySelector(`div.staged div.tree-item-self[data-path='${l}']`):i&&r.view.state.aRef==""?c=i.view.containerEl.querySelector(`div.changes div.tree-item-self[data-path='${l}']`):a&&(c=a.view.containerEl.querySelector(`div.tree-item-self[data-path='${l}']`)),c==null||c.addClass("is-active")}else this.lastDiffViewState=void 0}handleNoNetworkError(r){this.state.offlineMode?this.log("Encountered network error, but already in offline mode"):this.displayError("Git: Going into offline mode. Future network errors will no longer be displayed.",2e3),this.setPluginState({gitAction:0,offlineMode:!0})}displayMessage(r,n=4*1e3){var i;(i=this.statusBar)==null||i.displayMessage(r.toLowerCase(),n),this.settings.disablePopups||(!this.settings.disablePopupsForNoChanges||!r.startsWith("No changes"))&&new we.Notice(r,5*1e3),this.log(r)}displayError(r,n=10*1e3){var a;if(r instanceof D5.Errors.UserCanceledError){new we.Notice("Aborted");return}let i;r instanceof Error?i=r:i=new Error(String(r)),this.setPluginState({gitAction:0}),this.settings.showErrorNotices&&new we.Notice(i.message,n),console.error(`${this.manifest.id}:`,i.stack),(a=this.statusBar)==null||a.displayMessage(i.message.toLowerCase(),n)}log(...r){console.log(`${this.manifest.id}:`,...r)}}; +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +crc-32/crc32.js: + (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *) + +js-sha256/src/sha256.js: + (** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.9.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2017 + * @license MIT + *) + +feather-icons/dist/feather.js: + (*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames + *) +*/ + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/manifest.json b/.obsidian/plugins/obsidian-git/manifest.json new file mode 100644 index 0000000..2f24b79 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/manifest.json @@ -0,0 +1,10 @@ +{ + "author": "Vinzent", + "authorUrl": "https://github.com/Vinzent03", + "id": "obsidian-git", + "name": "Git", + "description": "Integrate Git version control with automatic backup and other advanced features.", + "isDesktopOnly": false, + "fundingUrl": "https://ko-fi.com/vinzent", + "version": "2.35.2" +} diff --git a/.obsidian/plugins/obsidian-git/obsidian_askpass.sh b/.obsidian/plugins/obsidian-git/obsidian_askpass.sh new file mode 100755 index 0000000..2e5eb5d --- /dev/null +++ b/.obsidian/plugins/obsidian-git/obsidian_askpass.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +PROMPT="$1" +TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" + +cleanup() { + rm -f "$TEMP_FILE" "$TEMP_FILE.response" +} +trap cleanup EXIT + +echo "$PROMPT" > "$TEMP_FILE" + +while [ ! -e "$TEMP_FILE.response" ]; do + if [ ! -e "$TEMP_FILE" ]; then + echo "Trigger file got removed: Abort" >&2 + exit 1 + fi + sleep 0.1 +done + +RESPONSE=$(cat "$TEMP_FILE.response") + +echo "$RESPONSE" diff --git a/.obsidian/plugins/obsidian-git/styles.css b/.obsidian/plugins/obsidian-git/styles.css new file mode 100644 index 0000000..83c543b --- /dev/null +++ b/.obsidian/plugins/obsidian-git/styles.css @@ -0,0 +1,629 @@ +@keyframes loading { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +.workspace-leaf-content[data-type="git-view"] .button-border { + border: 2px solid var(--interactive-accent); + border-radius: var(--radius-s); +} + +.workspace-leaf-content[data-type="git-view"] .view-content { + padding-left: 0; + padding-top: 0; + padding-right: 0; +} + +.workspace-leaf-content[data-type="git-history-view"] .view-content { + padding-left: 0; + padding-top: 0; + padding-right: 0; +} + +.loading { + overflow: hidden; +} + +.loading > svg { + animation: 2s linear infinite loading; + transform-origin: 50% 50%; + display: inline-block; +} + +.obsidian-git-center { + margin: auto; + text-align: center; + width: 50%; +} + +.obsidian-git-textarea { + display: block; + margin-left: auto; + margin-right: auto; +} + +.obsidian-git-disabled { + opacity: 0.5; +} + +.obsidian-git-center-button { + display: block; + margin: 20px auto; +} + +.tooltip.mod-left { + overflow-wrap: break-word; +} + +.tooltip.mod-right { + overflow-wrap: break-word; +} + +/* Limits the scrollbar to the view body */ +.git-view { + display: flex; + flex-direction: column; + position: relative; + height: 100%; +} + +.git-tools { + display: flex; + margin-left: auto; +} +.git-tools .type { + padding-left: var(--size-2-1); + display: flex; + align-items: center; + justify-content: center; + width: 11px; +} + +.git-tools .type[data-type="M"] { + color: orange; +} +.git-tools .type[data-type="D"] { + color: red; +} +.git-tools .buttons { + display: flex; +} +.git-tools .buttons > * { + padding: 0 0; + height: auto; +} + +.workspace-leaf-content[data-type="git-view"] .tree-item-self, +.workspace-leaf-content[data-type="git-history-view"] .tree-item-self { + align-items: center; +} + +.workspace-leaf-content[data-type="git-view"] + .tree-item-self:hover + .clickable-icon, +.workspace-leaf-content[data-type="git-history-view"] + .tree-item-self:hover + .clickable-icon { + color: var(--icon-color-hover); +} + +/* Highlight an item as active if it's diff is currently opened */ +.is-active .git-tools .buttons > * { + color: var(--nav-item-color-active); +} + +.git-author { + color: var(--text-accent); +} + +.git-date { + color: var(--text-accent); +} + +.git-ref { + color: var(--text-accent); +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-d-none { + display: none; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-wrapper { + text-align: left; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-header { + background-color: var(--background-primary); + border-bottom: 1px solid var(--interactive-accent); + font-family: var(--font-monospace); + height: 35px; + padding: 5px 10px; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-header, +.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-stats { + font-size: 14px; + margin-left: auto; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-lines-added { + border: 1px solid #b4e2b4; + border-radius: 5px 0 0 5px; + color: #399839; + padding: 2px; + text-align: right; + vertical-align: middle; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-lines-deleted { + border: 1px solid #e9aeae; + border-radius: 0 5px 5px 0; + color: #c33; + margin-left: 1px; + padding: 2px; + text-align: left; + vertical-align: middle; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-name-wrapper { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 15px; + width: 100%; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-name { + overflow-x: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-wrapper { + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + margin-bottom: 1em; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse { + -webkit-box-pack: end; + -ms-flex-pack: end; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + border: 1px solid var(--background-modifier-border); + border-radius: 3px; + cursor: pointer; + display: none; + font-size: 12px; + justify-content: flex-end; + padding: 4px 8px; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse.d2h-selected { + background-color: #c8e1ff; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-collapse-input { + margin: 0 4px 0 0; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-diff-table { + border-collapse: collapse; + font-family: Menlo, Consolas, monospace; + font-size: 13px; + width: 100%; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-files-diff { + width: 100%; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-diff { + overflow-y: hidden; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-side-diff { + display: inline-block; + margin-bottom: -8px; + margin-right: -4px; + overflow-x: scroll; + overflow-y: hidden; + width: 50%; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line { + padding: 0 8em; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { + display: inline-block; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + white-space: nowrap; + width: 100%; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line { + padding: 0 4.5em; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-ctn { + word-wrap: normal; + background: none; + display: inline-block; + padding: 0; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + vertical-align: middle; + white-space: pre; + width: 100%; +} + +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + del { + background-color: #ffb6ba; +} + +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + del { + background-color: #8d232881; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line del, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line del, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-line ins { + border-radius: 0.2em; + display: inline-block; + margin-top: -1px; + text-decoration: none; + vertical-align: middle; +} + +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + ins { + background-color: #97f295; + text-align: left; +} + +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-code-line ins, +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-code-side-line + ins { + background-color: #1d921996; + text-align: left; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix { + word-wrap: normal; + background: none; + display: inline; + padding: 0; + white-space: pre; +} + +.workspace-leaf-content[data-type="diff-view"] .line-num1 { + float: left; +} + +.workspace-leaf-content[data-type="diff-view"] .line-num1, +.workspace-leaf-content[data-type="diff-view"] .line-num2 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + padding: 0 0.5em; + text-overflow: ellipsis; + width: 3.5em; +} + +.workspace-leaf-content[data-type="diff-view"] .line-num2 { + float: right; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-muted); + cursor: pointer; + display: inline-block; + position: absolute; + text-align: right; + width: 7.5em; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber:after { + content: "\200b"; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-muted); + cursor: pointer; + display: inline-block; + overflow: hidden; + padding: 0 0.5em; + position: absolute; + text-align: right; + text-overflow: ellipsis; + width: 4em; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-diff-tbody tr { + position: relative; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber:after { + content: "\200b"; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-emptyplaceholder, +.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-line-prefix, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber, +.workspace-leaf-content[data-type="diff-view"] .d2h-emptyplaceholder { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-code-linenumber, +.workspace-leaf-content[data-type="diff-view"] .d2h-code-side-linenumber { + direction: rtl; +} + +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-del { + background-color: #fee8e9; + border-color: #e9aeae; +} + +.theme-light .workspace-leaf-content[data-type="diff-view"] .d2h-ins { + background-color: #dfd; + border-color: #b4e2b4; +} + +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-del { + background-color: #521b1d83; + border-color: #691d1d73; +} + +.theme-dark .workspace-leaf-content[data-type="diff-view"] .d2h-ins { + background-color: rgba(30, 71, 30, 0.5); + border-color: #13501381; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-info { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); + color: var(--text-normal); +} + +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-del.d2h-change { + background-color: #fdf2d0; +} + +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-del.d2h-change { + background-color: #55492480; +} + +.theme-light + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-ins.d2h-change { + background-color: #ded; +} + +.theme-dark + .workspace-leaf-content[data-type="diff-view"] + .d2h-file-diff + .d2h-ins.d2h-change { + background-color: rgba(37, 78, 37, 0.418); +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper { + margin-bottom: 10px; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-wrapper a { + color: #3572b0; + text-decoration: none; +} + +.workspace-leaf-content[data-type="diff-view"] + .d2h-file-list-wrapper + a:visited { + color: #3572b0; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-header { + text-align: left; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-title { + font-weight: 700; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list-line { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + text-align: left; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list { + display: block; + list-style: none; + margin: 0; + padding: 0; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li { + border-bottom: 1px solid var(--background-modifier-border); + margin: 0; + padding: 5px 10px; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-list > li:last-child { + border-bottom: none; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-file-switch { + cursor: pointer; + display: none; + font-size: 10px; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-icon { + fill: currentColor; + margin-right: 10px; + vertical-align: middle; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-deleted { + color: #c33; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-added { + color: #399839; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-changed { + color: #d0b44c; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-moved { + color: #3572b0; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-tag { + background-color: var(--background-primary); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 10px; + margin-left: 5px; + padding: 0 2px; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-deleted-tag { + border: 2px solid #c33; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-added-tag { + border: 1px solid #399839; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-changed-tag { + border: 1px solid #d0b44c; +} + +.workspace-leaf-content[data-type="diff-view"] .d2h-moved-tag { + border: 1px solid #3572b0; +} + +/* ====================== Line Authoring Information ====================== */ + +.cm-gutterElement.obs-git-blame-gutter { + /* Add background color to spacing inbetween and around the gutter for better aesthetics */ + border-width: 0px 2px 0.2px 2px; + border-style: solid; + border-color: var(--background-secondary); + background-color: var(--background-secondary); +} + +.cm-gutterElement.obs-git-blame-gutter > div, +.line-author-settings-preview { + /* delegate text color to settings */ + color: var(--obs-git-gutter-text); + font-family: monospace; + height: 100%; /* ensure, that age-based background color occupies entire parent */ + text-align: right; + padding: 0px 6px 0px 6px; + white-space: pre; /* Keep spaces and do not collapse them. */ +} + +@media (max-width: 800px) { + /* hide git blame gutter not to superpose text */ + .cm-gutterElement.obs-git-blame-gutter { + display: none; + } +} + +.git-unified-diff-view, +.git-split-diff-view .cm-deletedLine .cm-changedText { + background-color: #ee443330; +} + +.git-unified-diff-view, +.git-split-diff-view .cm-insertedLine .cm-changedText { + background-color: #22bb2230; +} + +.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after { + -webkit-mask-image: url('data:image/svg+xml,'); +} + +.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after { + -webkit-mask-image: url('data:image/svg+xml,'); +} + +/* Override styling of Codemirror merge view "collapsed lines" indicator */ +.git-split-diff-view .ͼ2 .cm-collapsedLines { + background: var(--interactive-normal); + border-radius: var(--radius-m); + color: var(--text-accent); + font-size: var(--font-small); + padding: var(--size-4-1) var(--size-4-1); +} +.git-split-diff-view .ͼ2 .cm-collapsedLines:hover { + background: var(--interactive-hover); + color: var(--text-accent-hover); +} diff --git a/.obsidian/templates.json b/.obsidian/templates.json new file mode 100644 index 0000000..d15c036 --- /dev/null +++ b/.obsidian/templates.json @@ -0,0 +1,3 @@ +{ + "folder": "" +} \ No newline at end of file diff --git a/.obsidian/themes/Baseline/manifest.json b/.obsidian/themes/Baseline/manifest.json new file mode 100644 index 0000000..02a1a68 --- /dev/null +++ b/.obsidian/themes/Baseline/manifest.json @@ -0,0 +1,8 @@ +{ + "name": "Baseline", + "version": "1.4.4", + "minAppVersion": "1.4.0", + "author": "Alexis C", + "authorUrl": "https://github.com/aaaaalexis", + "fundingUrl": "https://www.buymeacoffee.com/sevenaxis" +} diff --git a/.obsidian/themes/Baseline/theme.css b/.obsidian/themes/Baseline/theme.css new file mode 100644 index 0000000..f55b97d --- /dev/null +++ b/.obsidian/themes/Baseline/theme.css @@ -0,0 +1,2859 @@ +body,body.theme-light,body.theme-dark{--font-interface-theme: Inter;--font-text-theme: Inter;--font-print-theme: Inter;--titlebar-background: transparent;--titlebar-background-focused: transparent;--workspace-background-translucent: rgba(var(--mono-rgb-0), 0.5);--text-normal: var(--color-base-90);--divider-color-hover: var(--color-base-50);--bold-modifier: 300;--icon-opacity: 1;--shadow-s: rgba(0, 0, 0, 0.08) 0px 12px 24px -4px, rgba(0, 0, 0, 0.04) 0px 8px 16px -4px;--shadow-l: 0 14px 62px 0 #00000040;--shadow-tactile: inset 0 0 0 var(--input-border-width) rgba(var(--mono-rgb-0), 0.25), rgba(0, 0, 0, 0.04) 0px 2px 8px -2px, rgba(var(--mono-rgb-100), 0.04) 0px 2px 4px -2px;--anim-speed-modifier: 1;--anim-motion-baseline: cubic-bezier(0.1, 0, 0.1, 1.25);--anim-duration-superfast: calc(80ms * var(--anim-speed-modifier));--anim-duration-fast: calc(160ms * var(--anim-speed-modifier));--anim-duration-moderate: calc(320ms * var(--anim-speed-modifier));--anim-duration-slow: calc(640ms * var(--anim-speed-modifier));--icon-stroke-modifier: 1;--icon-xs-stroke-width: calc(2px * var(--icon-stroke-modifier));--icon-s-stroke-width: calc(2px * var(--icon-stroke-modifier));--icon-m-stroke-width: calc(1.75px * var(--icon-stroke-modifier));--icon-l-stroke-width: calc(1.75px * var(--icon-stroke-modifier));--icon-xl-stroke-width: calc(1.25px * var(--icon-stroke-modifier));--density-modifier: 1}.theme-light{--color-base-80: #494949;--color-base-90: #363636;--color-red-rgb: 255, 59, 48;--color-red: #ff3b30;--color-orange-rgb: 255, 149, 0;--color-orange: #ff9500;--color-yellow-rgb: 255, 204, 0;--color-yellow: #ffcc00;--color-green-rgb: 40, 205, 65;--color-green: #28cd41;--color-cyan-rgb: 85, 190, 240;--color-cyan: #55bef0;--color-blue-rgb: 0, 122, 255;--color-blue: #007aff;--color-purple-rgb: 175, 82, 222;--color-purple: #af52de;--color-pink-rgb: 255, 45, 85;--color-pink: #ff2d55}.theme-dark{--color-base-80: #c0c0c0;--color-base-90: #cdcdcd;--color-red-rgb: 255, 69, 58;--color-red: #ff453a;--color-orange-rgb: 255, 159, 10;--color-orange: #ff9f0a;--color-yellow-rgb: 255, 214, 10;--color-yellow: #ffd60a;--color-green-rgb: 50, 215, 75;--color-green: #32d74b;--color-cyan-rgb: 90, 200, 245;--color-cyan: #5ac8f5;--color-blue-rgb: 10, 132, 255;--color-blue: #0a84ff;--color-purple-rgb: 191, 90, 242;--color-purple: #bf5af2;--color-pink-rgb: 255, 55, 95;--color-pink: #ff375f}@media(prefers-color-scheme: light){body.theme-dark{--workspace-background-translucent: var(--background-secondary)}}@media(prefers-color-scheme: dark){body.theme-light{--workspace-background-translucent: var(--background-secondary)}}body.is-translucent{--divider-color: var(--background-modifier-border) !important}body:not(.is-mobile) .app-container{align-items:center;background:var(--background-secondary)}body:not(.accented-interface){--interactive-accent: rgb(var(--mono-rgb-100));--interactive-accent-hover: rgba(var(--mono-rgb-100), 0.8);--text-on-accent: var(--color-base-00);--text-on-accent-inverted: var(--color-base-00)}body.is-frameless:not(.is-hidden-frameless,.is-fullscreen) .titlebar{background-color:var(--background-secondary)}body.window-title-off .titlebar-text{display:none}*{-electron-corner-smoothing:60%}@font-face{font-family:"InstrumentSerif";src:url(data:application/font-woff2;charset=utf-8;base64,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) format("woff2");font-style:italic;font-weight:100 1000}@font-face{font-family:"InstrumentSerif";src:url(data:application/font-woff2;charset=utf-8;base64,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) format("woff2");font-style:normal;font-weight:100 1000}body{--input-height: 32px;--radius-modifier: 1;--input-radius: var(--radius-s);--radius-s: calc(8px * var(--radius-modifier));--radius-m: calc(12px * var(--radius-modifier));--radius-l: calc(16px * var(--radius-modifier));--radius-xl: calc(24px * var(--radius-modifier));--checkbox-radius: 4px;--background-modifier-form-field: var(--interactive-normal);--radius-modifier-check: clamp(0, (var(--radius-modifier) - 1) * 10000 + 1, 1);--button-radius: calc((8px * var(--radius-modifier)) * (1 - var(--radius-modifier-check)) + 100vw * var(--radius-modifier-check))}body:not([class*=input-]).is-mobile,body.input-baseline.is-mobile{--interactive-normal: var(--background-primary);--input-border-width: var(--divider-width)}body.theme-light{--input-shadow: 0 0 0 var(--input-border-width) var(--background-modifier-border);--input-shadow-hover: 0 0 0 var(--input-border-width) var(--background-modifier-border-hover)}body.theme-dark{--input-shadow: 0 0 0 var(--input-border-width) var(--background-modifier-border-hover);--input-shadow-hover: 0 0 0 var(--input-border-width) var(--background-modifier-border-hover)}button,select,.dropdown{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}button:not(.clickable-icon,.ant-switch){padding:16px;display:inline-flex}.clickable-icon{padding:8px}body:not(.accented-interface) .checkbox-container{--interactive-accent: var(--color-green)}.checkbox-container{box-shadow:none}.checkbox-container:after{box-shadow:none}input[type=range]::-webkit-slider-thumb{box-shadow:none}body.input-elevated{--input-radius: 4px;--button-radius: var(--input-radius)}body.input-elevated.theme-light{--input-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12), 0px 0.5px 0.4px hsl(0deg 5% 59% / 0.47), 0px 0.8px 0.7px -1px hsl(0deg 5% 59% / 0.4), 0px 1.9px 1.7px -2px hsl(0deg 5% 59% / 0.32), 0px 4.5px 4px -3px hsl(0deg 5% 59% / 0.25), 0.1px 9.4px 8.4px -4.1px hsl(0deg 5% 59% / 0.18);--input-shadow-hover: inset 0 0 0 1px rgba(0, 0, 0, 0.17), 0px 0.5px 0.5px hsl(0deg 5% 59% / 0.47), 0px 0.9px 0.8px -1px hsl(0deg 5% 59% / 0.4), 0px 1.9px 1.7px -2px hsl(0deg 5% 59% / 0.33), 0px 4.5px 4.1px -3px hsl(0deg 5% 59% / 0.26), 0.1px 9.4px 8.5px -4px hsl(0deg 5% 59% / 0.19)}body.input-elevated.theme-dark{--input-shadow: inset 0 0.5px 0.5px 0.5px rgba(255, 255, 255, 0.09), 0px 0.5px 0.4px hsl(0deg 0% 1% / 0.47), 0px 0.8px 0.7px -1px hsl(0deg 0% 1% / 0.4), 0px 1.9px 1.7px -2px hsl(0deg 0% 1% / 0.32), 0px 4.5px 4px -3px hsl(0deg 0% 1% / 0.25), 0.1px 9.4px 8.4px -4.1px hsl(0deg 0% 1% / 0.18);--input-shadow-hover: inset 0 0.5px 0.5px 0.5px rgba(255, 255, 255, 0.09), 0px 0.5px 0.5px hsl(0deg 0% 1% / 0.47), 0px 0.9px 0.8px -1px hsl(0deg 0% 1% / 0.4), 0px 1.9px 1.7px -2px hsl(0deg 0% 1% / 0.33), 0px 4.5px 4.1px -3px hsl(0deg 0% 1% / 0.26), 0.1px 9.4px 8.5px -4px hsl(0deg 0% 1% / 0.19)}body.input-elevated textarea,body.input-elevated input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(:focus){border-bottom:1px solid var(--text-faint)}body.input-elevated textarea:hover,body.input-elevated input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(:focus):hover{background-color:var(--interactive-hover)}body.input-cupertino{--input-radius: var(--radius-s);--button-radius: var(--input-radius);--slider-thumb-border-width: 0;--slider-thumb-height: 18px;--slider-thumb-width: 28px;--slider-thumb-radius: var(--toggle-thumb-radius);--slider-track-height: 6px;--slider-track-background: var(--background-modifier-border-hover);--toggle-border-width: 1.5px;--toggle-s-border-width: var(--toggle-border-width);--toggle-s-thumb-height: var(--toggle-thumb-height);--toggle-s-thumb-width: var(--toggle-thumb-width);--toggle-s-width: var(--toggle-width);--toggle-thumb-height: 13px;--toggle-thumb-width: 21px;--toggle-width: 36px}body.input-cupertino.theme-light{--shadow-base: inset 1px 1px 2px rgba(255, 255, 255, 0.5), inset -1px -1px 2px rgba(255, 255, 255, 0.5), inset 0 4px 16px rgba(255, 255, 255, 0.025);--shadow-xs: var(--shadow-base), inset 0 -8px 48px rgba(0, 0, 0, 0.02), 0 1px 8px rgba(0, 0, 0, 0.025), 0 4px 48px rgba(0, 0, 0, 0.095);--input-shadow: none;--interactive-normal: var(--color-base-25);--background-modifier-form-field: var(--color-base-00)}body.input-cupertino.theme-dark{--shadow-base: inset 1px 1.5px 1px -1px rgba(255, 255, 255, 0.2), inset -1px -1.5px 1px -1px rgba(255, 255, 255, 0.15), inset 0 4px 16px rgba(255, 255, 255, 0.025);--shadow-xs: inset 0 8px 64px rgba(255, 255, 255, 0.125), var(--shadow-base);--input-shadow: none;--interactive-normal: var(--color-base-40)}body.input-cupertino:not(.is-mobile){--input-height: 24px}body.input-cupertino.is-mobile{--slider-thumb-height: 25px;--slider-thumb-y: -10px;--slider-thumb-width: 38px;--toggle-border-width: 2px;--toggle-thumb-height: 25px;--toggle-thumb-width: 38px;--toggle-width: 68px}body.input-cupertino button:not(.clickable-icon,.ant-switch){padding:4px 12px}body.input-cupertino input[type=range]::-webkit-slider-thumb{transition:var(--anim-duration-moderate);box-shadow:0 1px 4px rgba(0,0,0,.075),0 1px 16px rgba(0,0,0,.05)}body.input-cupertino input[type=range]::-webkit-slider-thumb:active{scale:1.5;backdrop-filter:brightness(1.025);box-shadow:inset 1px 1px 2px -2px rgba(var(--mono-rgb-100), 1),inset -1px -1px 2px -2px rgba(var(--mono-rgb-100), 1),var(--shadow-xs);background-color:rgba(0,0,0,0)}body.input-cupertino .checkbox-container,body.input-cupertino .checkbox-container::after{transition:var(--anim-duration-moderate)}body.input-cupertino .checkbox-container:active:after{transform-origin:center;scale:1.5;backdrop-filter:brightness(1.025);box-shadow:inset 1px 1px 2px -2px rgba(var(--mono-rgb-100), 1),inset -1px -1px 2px -2px rgba(var(--mono-rgb-100), 1),var(--shadow-xs);background-color:rgba(0,0,0,0)}body.input-cupertino .checkbox-container.is-enabled:active:after{transform-origin:center right}body.input-cupertino .search-input-container{display:flex;align-items:center;overflow:visible}body.input-cupertino .search-input-container:before{top:unset !important;inset-inline-start:6px;height:var(--icon-s);width:var(--icon-s)}body.input-cupertino .search-input-container input{padding-inline-start:var(--input-height) !important}body.input-fluent{--toggle-thumb-height: 12px;--toggle-thumb-width: 12px;--toggle-width: 40px;--toggle-border-width: 4px;--slider-thumb-border-width: 4px;--slider-thumb-width: 18px;--slider-thumb-height: 18px;--slider-track-background: var(--color-base-50);--slider-track-height: 4px;--input-radius: 5px;--button-radius: var(--input-radius)}body.input-fluent.is-mobile{--slider-thumb-width: 24px;--slider-thumb-height: 24px}body.input-fluent.theme-light{--input-shadow: 0px 0px 0px 1px var(--background-modifier-border), 0 -0.5px 0 0 rgba(0, 0, 0, 0.25) inset !important;--slider-thumb-border-color: var(--color-base-00)}body.input-fluent.theme-dark{--input-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.1), 0 0.5px 0 0 rgba(255, 255, 255, 0.1) inset !important;--slider-thumb-border-color: var(--color-base-35)}body.input-fluent input:is([type=text],[type=search],[type=email],[type=password],[type=number]){box-shadow:0 -0.5px 0 0 var(--color-base-50) inset}body.input-fluent input:is([type=text],[type=search],[type=email],[type=password],[type=number]):active,body.input-fluent input:is([type=text],[type=search],[type=email],[type=password],[type=number]):focus,body.input-fluent input:is([type=text],[type=search],[type=email],[type=password],[type=number]):focus-visible{box-shadow:0 -2px 0 0 var(--interactive-accent) inset;border-color:var(--background-modifier-border)}body.input-fluent input[type=range]::-webkit-slider-thumb{transition:var(--anim-duration-fast);box-shadow:0 .5px 1px 1px rgba(0,0,0,.1);background-color:var(--interactive-accent)}body.input-fluent input[type=range]::-webkit-slider-thumb:hover,body.input-fluent input[type=range]::-webkit-slider-thumb:active{--slider-thumb-border-width: 3px;border-color:var(--slider-thumb-border-color)}body.input-fluent .checkbox-container:not(.is-enabled){--toggle-thumb-color: var(--text-muted);outline:1px solid var(--text-faint);background-color:var(--color-base-10)}body.input-obsidian{--input-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.12), 0 2px 3px 0 rgba(0, 0, 0, 0.05), 0 1px 1.5px 0 rgba(0, 0, 0, 0.03), 0 1px 2px 0 rgba(0, 0, 0, 0.04), 0 0 0 0 transparent;--input-shadow-hover: inset 0 0 0 1px rgba(0, 0, 0, 0.17), 0 2px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 1.5px 0 rgba(0, 0, 0, 0.03), 0 1px 2px 0 rgba(0, 0, 0, 0.04), 0 0 0 0 transparent;--input-radius: 5px;--button-radius: var(--input-radius)}body.input-obsidian.is-mobile{--input-shadow: none;--input-shadow-hover: none}body.input-obsidian button{padding:4px 12px}body.input-material{--input-border-width: 0px;--input-height: 40px;--input-radius: var(--radius-s);--toggle-border-width: 4px;--toggle-width: 52px;--toggle-thumb-height: 24px;--toggle-thumb-width: 24px;--slider-thumb-height: 44px;--slider-thumb-width: 4px;--slider-thumb-y: -19px;--slider-thumb-radius: 100vh;--slider-track-height: 16px;--interactive-hover: var(--color-base-25);--interactive-normal: var(--color-base-30);--background-modifier-form-field: var(--color-base-00)}body.input-material textarea,body.input-material input:is([type=text],[type=search],[type=email],[type=password],[type=number]),body.input-material select,body.input-material .combobox-button,body.input-material .dropdown{transition:var(--anim-duration-fast);box-shadow:inset 0 0 var(--color-accent);border-bottom:var(--border-width) solid var(--background-modifier-border-focus);border-bottom-right-radius:0;border-bottom-left-radius:0}body.input-material textarea:focus,body.input-material input:is([type=text],[type=search],[type=email],[type=password],[type=number]):focus,body.input-material select:focus,body.input-material .combobox-button:focus,body.input-material .dropdown:focus{box-shadow:inset 0 -2px var(--color-accent);border-color:rgba(0,0,0,0);border-bottom-right-radius:0;border-bottom-left-radius:0}body.input-material input[type=range]::-webkit-slider-thumb{outline:6px solid var(--background-secondary);background-color:var(--interactive-accent)}body.input-material input[type=range]:active{--slider-thumb-y: -23px;--slider-thumb-height: 52px}body.input-material .checkbox-container::after{transition:var(--anim-duration-fast)}body.input-material .checkbox-container.is-enabled:active::after{opacity:.8;width:var(--toggle-thumb-height);left:unset}body.input-material .checkbox-container:not(.is-enabled){--toggle-border-width: 8px;--toggle-thumb-color: var(--text-muted);--toggle-thumb-height: 16px;--toggle-thumb-width: 16px;box-shadow:inset 0 0 0 2px var(--text-muted)}body.input-material .checkbox-container:not(.is-enabled):active::after{scale:1.5;width:var(--toggle-thumb-height);margin-left:-4px}.lucide-folder-closed path[d="M2 10h20"]{display:none}.lucide-arrow-left path[d="M19 12H5"]{display:none}.lucide-arrow-left path[d="m12 19-7-7 7-7"]{transform:translateX(4px)}.lucide-arrow-right path[d="M5 12h14"]{display:none}.lucide-arrow-right path[d="m12 5 7 7-7 7"]{transform:translateX(-2px)}.lucide-edit-3 path[d="M12 20h9"]{display:none}body:not(.is-mobile) svg.svg-icon{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}@starting-style{body:not(.is-mobile) .clickable-icon:not(.workspace-ribbon>.sidebar-toggle-button>.clickable-icon) svg.svg-icon{filter:blur(4px);scale:.75;opacity:0}}body:not(.is-mobile) .clickable-icon:not([aria-disabled=true]):active svg.svg-icon{scale:.75;opacity:.75}body:not(.is-mobile) .workspace-tab-header-tab-list .clickable-icon:is(:hover,.has-active-menu) svg.svg-icon{transform:translateY(1px)}body:not(.is-mobile) .view-header-nav-buttons .clickable-icon:not([aria-disabled=true]):first-child:hover svg.svg-icon{transform:translateX(-1px)}body:not(.is-mobile) .view-header-nav-buttons .clickable-icon:not([aria-disabled=true]):last-child:hover svg.svg-icon{transform:translateX(1px)}body{--header-height: 48px;--tab-curve: calc(var(--radius-s) + 4px);--tab-outline-width: 0px;--tab-radius-active: var(--tab-radius) var(--tab-radius) 0 0;--tab-text-color-focused: var(--tab-text-color)}body.is-mobile{--header-height: 56px}.workspace-tab-header-container{padding-top:8px;background-color:rgba(0,0,0,0)}body:not(.stacked-nav-off) .mod-left-split .workspace-tabs.mod-top-left-space .sidebar-toggle-button{height:fit-content}.sidebar-toggle-button{height:100%}.sidebar-toggle-button .clickable-icon{width:fit-content}.workspace-ribbon svg.svg-icon,.workspace-tab-header-container svg.svg-icon,.mod-root .view-header svg.svg-icon,.mod-sidedock .nav-action-button svg.svg-icon{margin:-1px}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-container{padding-left:0;transition:var(--anim-duration-fast)}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-container-inner{padding:0 var(--radius-s) 0 calc(var(--radius-s) + 8px);margin:0;gap:8px}body:not(.is-phone) .workspace .mod-root .mod-top-left-space .workspace-tab-header-container-inner{padding-left:8px}body:not(.is-phone) .workspace .mod-root .workspace-tab-header{padding:0 0 8px}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-inner{padding-inline-start:8px;padding-inline-end:8px}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-inner::after{content:none}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-inner-title{line-height:normal}body:not(.is-phone) .workspace .mod-root .sidebar-toggle-button{padding:0 0 8px}body:not(.is-phone) .workspace .mod-root .sidebar-toggle-button .clickable-icon{height:100%}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-new-tab{margin-inline-end:0;margin-inline-start:0}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-tab-list{margin-inline-end:0}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-new-tab,body:not(.is-phone) .workspace .mod-root .workspace-tab-header-tab-list{display:block;padding:0 0 8px}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-new-tab .clickable-icon,body:not(.is-phone) .workspace .mod-root .workspace-tab-header-tab-list .clickable-icon{padding:8px;height:100%}body:not(.is-phone).tabs-floating .workspace .mod-root{--tab-radius-active: var(--tab-radius);--tab-curve: 0}body:not(.is-phone).tabs-floating .workspace .mod-root .workspace-tab-header-container{gap:8px}body:not(.is-phone).tabs-floating .workspace .mod-root .workspace-tab-header-container-inner{padding:0 0 8px 8px;gap:4px}body:not(.is-phone).tabs-floating .workspace .mod-root .workspace-tab-header{padding:0}body:not(.is-phone).tabs-underline .workspace .mod-root{--tab-background-active: transparent}body:not(.is-phone).tabs-underline .workspace .mod-root .workspace-tab-header-container-inner{padding:0 0 0 8px;gap:0}body:not(.is-phone).tabs-underline .workspace .mod-root .workspace-tab-header.is-active{border-bottom:2px solid var(--background-modifier-border-focus);padding-top:1px}body:not(.is-phone).tabs-underline .workspace .mod-root .workspace-tab-header:not(.is-active):hover{border-bottom:2px solid var(--background-modifier-border);padding-top:1px}body:not(.is-phone).tabs-underline .workspace .mod-root .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:rgba(0,0,0,0)}.tab-stack-top-flipped{--tab-stacked-text-transform: rotate(180deg);--tab-stacked-text-align: right}.tab-stack-center{--tab-stacked-text-align: center}.tab-stack-center-flipped{--tab-stacked-text-transform: rotate(180deg);--tab-stacked-text-align: center}.tab-stack-bottom{--tab-stacked-text-transform: rotate(180deg)}.tab-stack-bottom-flipped{--tab-stacked-text-align: right}.workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner{flex-direction:var(--tab-stacked-spine-order)}.workspace .mod-sidedock .workspace-tab-header-container{padding-left:0;padding-bottom:8px;transition:var(--anim-duration-moderate) var(--anim-motion-baseline);align-items:center}.workspace .mod-sidedock .workspace-tab-header-container-inner{-webkit-app-region:no-drag;padding:0 8px;margin:0;gap:calc(8px*var(--density-modifier));height:100%}.workspace .mod-sidedock .sidebar-toggle-button{position:relative;padding:0}.workspace .mod-sidedock .workspace-tab-header{--icon-color: var(--text-faint);transition:var(--anim-duration-moderate) var(--anim-motion-baseline);height:calc-size(auto,size);line-height:normal}.workspace .mod-sidedock .workspace-tab-header.is-active{background-color:inherit}.workspace .mod-sidedock .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:inherit}.workspace .mod-sidedock .workspace-tab-header-inner{gap:8px}.workspace .mod-sidedock .workspace-tab-header-inner-icon,.workspace .mod-sidedock .workspace-tab-header-inner-title{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.workspace .mod-sidedock .workspace-tab-header.is-active .workspace-tab-header-inner-icon{color:var(--icon-color-focused)}body:not(.compact-tabs-off) .workspace .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover){height:calc-size(auto,size)}body:not(.compact-tabs-off) .workspace .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover) .workspace-tab-header{background-color:var(--background-modifier-hover);height:4px}body:not(.compact-tabs-off) .workspace .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover) .workspace-tab-header-inner-icon,body:not(.compact-tabs-off) .workspace .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover) .workspace-tab-header-inner-title{opacity:0}body.labeled-tabs-all{--sidebar-tab-text-display: flex}body.labeled-tabs-single .workspace-tab-header:only-child{--sidebar-tab-text-display: flex}body:not(.mod-macos).is-hidden-frameless .mod-sidedock .workspace-tabs.mod-top-right-space .workspace-tab-header-container{padding-right:var(--frame-right-space)}body.mod-macos.is-frameless:not(.is-popout-window) .workspace .workspace-tabs.mod-top-right-space .workspace-tab-header-container{padding-right:8px}body.mod-macos.is-frameless:not(.is-popout-window) .workspace .sidebar-toggle-button.mod-right{position:relative;padding-right:0}body.is-tablet .workspace-tab-header-tab-list .clickable-icon,body.is-tablet .workspace-tab-header-new-tab .clickable-icon{--icon-size: var(--icon-l);--icon-stroke: var(--icon-l-stroke-width)}body{--nav-item-padding: calc(8px * var(--density-modifier)) 8px calc(8px * var(--density-modifier)) 24px;--nav-indentation-guide-width: 0px;--ribbon-width: var(--header-height);--ribbon-background: transparent;--ribbon-background-collapsed: var(--ribbon-background)}body.is-mobile{--nav-item-padding: calc(12px * var(--density-modifier)) 24px;--nav-item-children-margin-start: 12px}@keyframes workspaceLeafIn{from{opacity:0;transform:scale(0.95);filter:blur(4px)}}.sidebar-toggle-icon-inner{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.sidebar-toggle-button .clickable-icon:hover .sidebar-toggle-icon-inner{width:24%}.workspace.is-left-sidedock-open .sidebar-toggle-button.mod-left .clickable-icon:hover .sidebar-toggle-icon-inner,.workspace.is-right-sidedock-open .sidebar-toggle-button.mod-right .clickable-icon:hover .sidebar-toggle-icon-inner{width:revert-layer}body:not(.nav-item-subtle,.nav-item-strong){--nav-item-background-hover: transparent;--nav-item-background-active: transparent;--nav-item-weight-active: calc(var(--font-weight) + var(--bold-modifier))}body:not(.nav-item-subtle,.nav-item-strong):not(.is-mobile){--nav-item-weight-hover: var(--font-medium)}body:not(.nav-item-subtle,.nav-item-strong).accented-interface{--nav-item-color-active: var(--text-accent)}body:not(.nav-item-subtle,.nav-item-strong) .tree-item-self:not(:hover) .tree-item-inner{transition:var(--anim-duration-moderate),font-weight 0s}body:not(.nav-item-subtle,.nav-item-strong) .nav-files-container .tree-item-self.is-active::before{content:"";position:absolute;margin-left:-12px;width:4px;height:4px;border-radius:var(--button-radius);background-color:var(--nav-item-color-active)}body.nav-item-strong{--nav-item-background-active: var(--interactive-accent);--nav-item-color-active: var(--text-on-accent)}body.full-item-name{--nav-item-white-space: none}body.bold-folders .nav-folder-title{--nav-item-weight: calc(var(--font-weight) + var(--bold-modifier));--nav-item-weight-hover: calc(var(--font-weight) + var(--bold-modifier))}.tree-item-self,.tree-item-inner{align-items:center}.workspace-ribbon.mod-left{contain:content;margin-top:0;padding-top:var(--header-height);border-right:none;z-index:11}.workspace-ribbon .sidebar-toggle-button{display:flex;height:var(--header-height)}body:not(.is-mobile,.theme-light:is(.contrast-light-tonal,.contrast-light-white),.theme-dark:is(.contrast-dark-tonal,.contrast-dark-black),.layout-classic,.layout-minimal) .mod-sidedock>.workspace-leaf-resize-handle:not(:hover){border-color:rgba(0,0,0,0)}body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.node-insert-event,body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content{padding:2px 16px 0}body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.node-insert-event>div:not(.nav-buttons-container),body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content>div:not(.nav-buttons-container){padding:0}body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.nav-header{padding:0 16px 8px}body:not(.is-mobile) .mod-sidedock .nav-header{display:flex;justify-content:center;flex-direction:column}body:not(.is-mobile) .mod-sidedock .nav-header .nav-buttons-container{flex-wrap:nowrap}body:not(.is-mobile) .mod-sidedock .nav-header .search-input-container{margin:8px 0}body:not(.is-mobile) .mod-sidedock .nav-action-button,body:not(.is-mobile) .mod-sidedock .nav-action-button[aria-disabled=true]{position:relative;height:100%}body .mod-sidedock .workspace-tab-container{position:relative}body .mod-sidedock .workspace-leaf:not([style*="display: none"]){animation:workspaceLeafIn var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile{background-color:rgba(0,0,0,0)}body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile{--tab-outline-width: 0px;position:absolute;right:0;bottom:0;z-index:1;pointer-events:none;align-items:unset;gap:0}body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile::before{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);content:"";position:absolute;left:0;bottom:0;width:100%;height:300%;z-index:-1;pointer-events:none;background:linear-gradient(rgb(var(--mono-rgb-0), 0), var(--background-primary))}body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile:not(:hover)::before{opacity:0}body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-drawer-vault-switcher,body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-drawer-vault-actions .clickable-icon{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);pointer-events:visible}body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile:not(:hover) .workspace-drawer-vault-switcher:not(.has-active-menu),body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile:not(:hover) .workspace-drawer-vault-actions .clickable-icon:first-child{opacity:0;filter:blur(4px);pointer-events:none;transform:scale(0.95)}body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-leaf-content>.node-insert-event,body:not(.is-mobile,.hide-vault-switcher-off) .mod-sidedock.mod-left-split .workspace-leaf-content>.view-content{padding-bottom:48px}body.hide-help .workspace-drawer-vault-actions .clickable-icon:first-child{display:none}body.large-new-note .mod-sidedock .workspace-leaf-content[data-type=file-explorer] .nav-header .nav-action-button:first-child{flex:1;box-shadow:inset 0 0 0 1px var(--background-modifier-border)}body.large-new-note .mod-sidedock .workspace-leaf-content[data-type=file-explorer] .nav-header .nav-action-button:first-child::after{content:attr(aria-label);font-size:var(--font-ui-smaller);color:var(--icon-color);white-space:nowrap;margin-left:8px}body.is-mobile .workspace-drawer .workspace-drawer-header-name-text{font-family:var(--h1-font)}body.is-mobile .workspace-drawer .workspace-drawer-active-tab-header{padding-inline-start:0;padding-inline-end:0;background-color:rgba(0,0,0,0);margin:0 20px}body.is-mobile .workspace-drawer .workspace-drawer-active-tab-chevron{margin-inline-start:0}body.is-mobile .workspace-drawer .workspace-drawer-active-tab-header select{width:100%}body.is-tablet .workspace-drawer:not(.is-pinned){margin:var(--safe-area-inset-top) 16px var(--safe-area-inset-bottom);padding-top:8px;border-radius:var(--mobile-sidebar-radius)}body.is-tablet .workspace-drawer:not(.is-pinned) .nav-header{padding-bottom:8px}body{--modal-background: var(--background-secondary);--modal-border-color: var(--background-modifier-border-hover)}body:not(.is-phone) .modal-bg{opacity:0 !important}.modal-container{perspective:240px}.modal{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}@starting-style{.modal{opacity:0;filter:blur(4px);transform:scale(0.95) rotateX(-1deg)}}.modal .modal-title{font-size:var(--h1-size);font-family:var(--h1-font)}.modal .modal-content .setting-item{padding:8px 0}.modal-close-button{position:absolute;top:8px;inset-inline-end:8px !important;height:32px;width:32px;padding:8px;color:var(--text-faint);display:flex;justify-content:center;line-height:12px;z-index:1}.menu,.suggestion-container{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);padding:0}@starting-style{.menu,.suggestion-container{opacity:0;filter:blur(4px);transform:translateY(-8px)}}.menu .menu-scroll,.menu .suggestion,.suggestion-container .menu-scroll,.suggestion-container .suggestion{padding:4px}.menu .menu-item,.menu .suggestion-item,.suggestion-container .menu-item,.suggestion-container .suggestion-item{padding:calc(6px*var(--density-modifier)) 8px;border-radius:calc(var(--radius-m) - 4px);margin-bottom:0}.menu .menu-item-icon .svg-icon,.suggestion-container .menu-item-icon .svg-icon{--icon-size: var(--icon-xs)}.menu .menu-separator,.suggestion-container .menu-separator{margin:4px 0}.menu .suggestion-item,.menu .suggestion-empty,.suggestion-container .suggestion-item,.suggestion-container .suggestion-empty{font-size:var(--font-ui-small)}body.is-tablet .menu,body.is-tablet .suggestion-container{border:1px solid var(--background-modifier-border-hover)}body.is-tablet .menu .menu-item,body.is-tablet .suggestion-container .menu-item{padding:8px 12px}body.is-tablet .menu .menu-item-icon .svg-icon,body.is-tablet .suggestion-container .menu-item-icon .svg-icon{--icon-size: var(--icon-s)}body.is-tablet .menu .menu-item-title,body.is-tablet .suggestion-container .menu-item-title{max-width:240px}body.is-phone .menu,body.is-phone .suggestion-container{border-radius:var(--radius-xl) var(--radius-xl) 0 0;overflow:hidden;will-change:transform}@starting-style{body.is-phone .menu,body.is-phone .suggestion-container{opacity:0;filter:none;transform:translateY(100%)}}body.is-phone .menu[style*="transform: translateY"],body.is-phone .suggestion-container[style*="transform: translateY"]{transition:none}body.is-phone .menu .menu-grabber,body.is-phone .suggestion-container .menu-grabber{margin:8px auto;position:absolute;inset:0}body.is-phone .menu .menu-scroll,body.is-phone .suggestion-container .menu-scroll{max-height:80vh;padding:32px 16px}body.is-phone .menu .menu-item,body.is-phone .suggestion-container .menu-item{padding:16px;font-size:var(--nav-item-size);gap:16px;border-radius:0}body.is-phone .menu .menu-separator,body.is-phone .suggestion-container .menu-separator{margin:12px 16px}body.is-phone .menu .menu-item-icon .svg-icon,body.is-phone .suggestion-container .menu-item-icon .svg-icon{--icon-size: var(--icon-s)}.modal.mod-sidebar-layout .vertical-tab-header{border-inline-end:none;background-color:unset;position:relative}.modal.mod-sidebar-layout .horizontal-tab-nav-item,.modal.mod-sidebar-layout .vertical-tab-nav-item,.modal.mod-sidebar-layout .vertical-tab-header-group-title{padding:calc(8px*var(--density-modifier)) 16px}.modal.mod-sidebar-layout .horizontal-tab-content,.modal.mod-sidebar-layout .vertical-tab-content{background-color:rgba(0,0,0,0);scrollbar-gutter:stable}.modal.mod-sidebar-layout .setting-item{padding:calc(16px*var(--density-modifier)) 0}.modal.mod-sidebar-layout .setting-item-name{font-weight:var(--font-medium);overflow:visible}body:not(.is-mobile) .modal.mod-sidebar-layout .vertical-tab-nav-item:hover:not(.is-active){font-weight:var(--nav-item-weight-hover);background-color:var(--nav-item-background-hover)}body:not(.is-mobile) .modal.mod-sidebar-layout .vertical-tab-nav-item.is-active{font-weight:var(--nav-item-weight-active);display:inline-flex;align-items:center;background-color:var(--nav-item-background-active);color:var(--nav-item-color-active)}body:not(.is-mobile):not(.nav-item-subtle,.nav-item-strong) .modal.mod-sidebar-layout .vertical-tab-nav-item:not(:hover){transition:var(--anim-duration-moderate),font-weight 0s}body:not(.is-mobile):not(.nav-item-subtle,.nav-item-strong) .modal.mod-sidebar-layout .vertical-tab-nav-item.is-active::before{content:"";position:absolute;margin-left:-12px;width:4px;height:4px;border-radius:var(--button-radius);background-color:var(--nav-item-color-active)}body.is-phone .modal.mod-sidebar-layout .modal-header{border-bottom:none;padding-top:calc(var(--safe-area-inset-top) + 10px)}body.is-phone .modal.mod-sidebar-layout .modal-setting-back-button{inset-inline-start:8px}body.is-phone .modal.mod-sidebar-layout .modal-title{font-size:var(--font-ui-large)}body.is-phone .modal.mod-sidebar-layout .modal-close-button{width:44px;height:44px;line-height:1;color:var(--text-normal);top:var(--safe-area-inset-top)}body.is-phone .modal.mod-sidebar-layout .vertical-tab-header,body.is-phone .modal.mod-sidebar-layout .vertical-tab-content{background-color:var(--background-secondary)}.modal.mod-sidebar-layout.mod-community-modal .modal-sidebar{padding:0}.modal.mod-sidebar-layout.mod-community-modal .community-modal-controls{display:flex;flex-wrap:wrap;padding:8px;gap:16px}.modal.mod-sidebar-layout.mod-community-modal .community-modal-controls .setting-item{padding:0;margin:0}.modal.mod-sidebar-layout.mod-community-modal .community-modal-controls .setting-item:first-child{margin-right:auto}.modal.mod-sidebar-layout.mod-community-modal .community-modal-controls .setting-item:first-child .setting-item-info{display:none}.modal.mod-sidebar-layout.mod-community-modal .community-modal-controls .setting-item:nth-last-child(2){margin-right:40px}.modal.mod-sidebar-layout.mod-community-modal .community-modal-controls .community-modal-search-summary{display:none}.modal.mod-sidebar-layout.mod-community-modal .community-item-name{display:flex}.modal.mod-sidebar-layout.mod-community-modal .community-item .flair{margin-left:auto;top:0;line-height:normal;border-radius:var(--button-radius);padding:4px 8px;height:fit-content}.modal.mod-sidebar-layout.mod-community-modal .community-item-downloads{display:flex}body.is-phone .modal.mod-sidebar-layout.mod-community-modal .community-modal-controls{padding:16px;background-color:var(--background-secondary)}body.is-phone .modal.mod-sidebar-layout.mod-community-modal .community-modal-controls .setting-item{margin-right:unset;width:100%}body.is-phone .modal.mod-sidebar-layout.mod-community-modal .community-modal-controls .setting-item .setting-item-control{margin-top:0}body.is-phone .modal.mod-sidebar-layout.mod-community-modal .community-item .flair{margin-left:4px}body{--prompt-border-color: var(--background-modifier-border-hover);--prompt-input-height: 64px}body.is-phone{--prompt-input-height: 64px}.prompt{background-color:var(--modal-background);transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}@starting-style{.prompt{opacity:0;filter:blur(4px);transform:scale(0.95) rotateX(-1deg)}}.prompt .prompt-input,.prompt .prompt-input:hover,.prompt .prompt-input:focus,.prompt .prompt-input:focus-visible{background-color:rgba(0,0,0,0);border-bottom-color:var(--divider-color)}.prompt .prompt-results{flex:1}.prompt .suggestion-item{padding:12px}body.is-tablet .prompt{border:var(--prompt-border-width) solid var(--prompt-border-color)}body.is-phone .prompt{transition:none;border-radius:var(--radius-xl) var(--radius-xl) 0 0}body.is-phone .suggestion-item{padding:16px}body.is-phone .suggestion-container{border-radius:var(--radius-m)}body.prompt-padded .prompt .prompt-input-container{margin:8px 8px 0;border-bottom-width:0}body.prompt-padded .prompt .prompt-input{border-radius:var(--radius-m);border:var(--input-border-width) solid var(--background-modifier-border) !important;padding-left:16px;background:var(--background-primary) !important}body.prompt-padded .prompt .prompt-results{padding:8px}body.prompt-padded .prompt .suggestion-item{padding:12px 16px}body.is-phone .prompt .prompt-input{border-radius:var(--radius-l)}body:not(.status-bar-default,.status-bar-full,.status-bar-cupertino) .status-bar{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);border:none;transform-origin:bottom right;background-color:rgba(0,0,0,0);min-height:8px;height:calc-size(auto,size)}body:not(.status-bar-default,.status-bar-full,.status-bar-cupertino) .status-bar::before{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);content:"";position:absolute;bottom:0;right:0;width:150%;height:200%;z-index:-1;pointer-events:none;background:radial-gradient(farthest-side at right bottom, var(--background-primary), rgba(var(--mono-rgb-0), 0))}body:not(.status-bar-default,.status-bar-full,.status-bar-cupertino) .status-bar:not(:hover){transform:scale(0.8);opacity:.5}body:not(.status-bar-default,.status-bar-full,.status-bar-cupertino) .status-bar:not(:hover)::before{opacity:0}body:is(body,.status-bar-default):not(.status-bar-full,.status-bar-cupertino) .mod-sidedock.mod-right-split .workspace-tabs:last-of-type .node-insert-event,body:is(body,.status-bar-default):not(.status-bar-full,.status-bar-cupertino) .mod-sidedock.mod-right-split .workspace-tabs:last-of-type .view-content{padding-bottom:36px}body.status-bar-full{--status-bar-background: transparent;--status-bar-border-width: 0;--status-bar-position: relative;--status-bar-radius: 0}body.status-bar-full .status-bar{width:100%}.workspace,.horizontal-main-container{overflow:visible}body.status-bar-cupertino .status-bar{--status-bar-border-width: var(--border-width);right:unset;justify-content:center;transition:var(--anim-duration-moderate) var(--anim-motion-baseline),background-color var(--anim-duration-moderate) ease;border-radius:100vw;max-width:100%;min-height:unset}body.status-bar-cupertino .status-bar>div{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}body.status-bar-cupertino .status-bar:not(:hover){bottom:2px;border-width:0;background-color:rgba(var(--mono-rgb-100), 0.2);padding-top:0;padding-bottom:0;max-width:160px;height:4px}body.status-bar-cupertino .status-bar:not(:hover)>div{transform:scale(0.9);opacity:0;filter:blur(16px);white-space:nowrap}body.status-bar-cupertino .status-bar:hover{bottom:4px;box-shadow:var(--shadow-s);border-color:var(--background-modifier-border);padding:8px;height:40px}body.status-bar-cupertino .status-bar:hover::before{transform:scaleY(1)}body.status-bar-cupertino .status-bar::before{position:absolute;transform:scaleY(10);z-index:-1;transition:var(--anim-duration-fast) var(--anim-duration-fast);width:100%;height:100%;content:""}.empty-state{transition:var(--anim-duration-slow) var(--anim-motion-baseline)}@starting-style{.empty-state{opacity:0;transform:scale(0.95);filter:blur(4px)}}.empty-state-title{display:none}.empty-state-action-list{margin-top:0}.empty-state-action-list::before{-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-image:url('data:image/svg+xml,');background-color:var(--background-modifier-hover);height:80px;content:"";display:flex;margin-bottom:20px}body.is-mobile{--radius-s: calc(8px * var(--radius-modifier));--radius-m: calc(16px * var(--radius-modifier));--radius-l: calc(24px * var(--radius-modifier));--radius-xl: calc(32px * var(--radius-modifier));--mobile-sidebar-width: 100%;--tab-switcher-menubar-background: var(--background-secondary);--tab-switcher-preview-radius: var(--radius-m);background-color:var(--background-secondary)}body.is-mobile.theme-dark{--color-base-00: #1e1e1e;--color-base-10: #242424;--color-base-20: #262626;--search-result-background: var(--background-primary);--background-modifier-form-field: var(--color-base-25)}body.is-tablet.theme-dark{--titlebar-background: var(--background-secondary);--titlebar-background-focused: var(--background-secondary)}body.is-phone{--mobile-sidebar-radius: 0}body.is-phone .mod-root{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}body.is-phone .mod-root .view-header-title-container{opacity:1}body.is-phone .mod-root .view-header{z-index:3}body.is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content .view-actions button:nth-last-child(2){position:fixed;right:16px;bottom:0;margin-bottom:16px;border-radius:100%;padding:16px;width:auto;height:auto;background-color:var(--background-secondary);border:1px solid var(--background-modifier-border)}body.is-phone.mod-toolbar-open:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-mode=source] .view-actions button:nth-last-child(2){right:var(--side-padding);margin-bottom:var(--side-padding)}body.is-phone .mobile-navbar{border-top:var(--border-width) solid var(--background-modifier-border);transition:var(--anim-duration-moderate) var(--anim-motion-baseline);padding-right:max(var(--safe-area-inset-right),24px);padding-left:max(var(--safe-area-inset-right),24px)}body.is-phone .mobile-tab-switcher-menubar{border-top:none}body.is-phone .mobile-navbar-tabs-action{font-family:"Inter"}body.is-tablet .workspace-drawer.mod-left{max-width:var(--mobile-left-sidebar-width, 500px)}body.is-tablet .workspace-drawer.mod-right{max-width:var(--mobile-right-sidebar-width, 500px)}body.is-tablet .workspace-drawer.mod-left.is-pinned{width:var(--mobile-left-sidebar-width-pinned, 320px)}body.is-tablet .workspace-drawer.mod-right.is-pinned{width:var(--mobile-right-sidebar-width-pinned, 320px)}/*! +/* @settings + +name: Baseline +id: baseline-style +settings: + - + id: info + title: Get started + type: heading + level: 1 + collapsed: false + - + id: migrate + title: Migrate from other themes + type: info-text + level: 1 + markdown: true + description: Seamlessly **migrate your existing Style Settings** from supported themes. ↗[](https://aaaaalexis.github.io/obsidian-baseline/migration/) + - + id: marketplace + title: Community style presets + type: info-text + level: 1 + markdown: true + description: Discover and share Style Settings presets in **Baseline Marketplace**. ↗[](https://aaaaalexis.github.io/obsidian-baseline/marketplace/) + - + id: missing-font + title: Extended language support + title.zh-TW: 擴充語言支援 + title.zh: 扩展语言支持 + title.jp: 拡張言語サポート + title.ru: Расширенная языковая поддержка + type: info-text + level: 1 + markdown: true + description: Heading font missing glyphs? Download the **extended font CSS snippet**. ↗[](https://github.com/aaaaalexis/obsidian-baseline/blob/main/snippets/baseline-extension-font.css) + description.zh-TW: 標題出現缺字?請點此下載擴充字型 CSS 片段。[](https://github.com/aaaaalexis/obsidian-baseline/blob/main/snippets/baseline-extension-font.css) + description.zh: 标题字体缺字?请下载**扩展字体 CSS 代码片段**[](https://github.com/aaaaalexis/obsidian-baseline/blob/main/snippets/baseline-extension-font-cn.css) + description.jp: 見出しフォントが文字化け?拡張フォントCSSスニペットをダウンロード。[](https://github.com/aaaaalexis/obsidian-baseline/blob/main/snippets/baseline-extension-font-jp.css) + description.ru: Проблемы со шрифтом заголовков? Скачайте CSS с расширенным шрифтом.[](https://github.com/aaaaalexis/obsidian-baseline/blob/main/snippets/baseline-extension-font.css) + + - + id: colors + title: Colors + type: heading + level: 1 + collapsed: true + - + id: accented-interface + title: Interface accent + description: Use accent color for active state and buttons + type: class-toggle + default: false + - + id: color-scheme-light + title: Light mode color scheme + type: class-select + allowEmpty: false + default: default-light + options: + - + label: Obsidian + value: default-light + - + label: Admin + value: admin-light + - + label: Atom + value: atom-light + - + label: Ayu + value: ayu-light + - + label: Catppuccin + value: catppuccin-light + - + label: Everforest + value: everforest-light + - + label: Flexoki + value: flexoki-light + - + label: Gruvbox + value: gruvbox-light + - + label: Latte + value: latte-light + - + label: Melange + value: melange-light + - + label: Minimal + value: minimal-light + - + label: Nord + value: nord-light + - + label: Notion + value: notion-light + - + label: Rosé Pine + value: rose-pine-light + - + label: Sanctum + value: sanctum-light + - + label: Sky + value: sky-light + - + label: Solarized + value: solarized-light + - + label: Things + value: things-light + - + label: Tiniri + value: tiniri-light + - + id: background-contrast-light + title: Light mode background contrast + type: class-select + allowEmpty: false + default: contrast-light + options: + - + label: Normal + value: contrast-light + - + label: Low contrast + value: contrast-light-tonal + - + label: High contrast + value: contrast-light-vivid + - + label: White + value: contrast-light-white + - + id: color-scheme-dark + title: Dark mode color scheme + type: class-select + allowEmpty: false + default: default-dark + options: + - + label: Obsidian + value: default-dark + - + label: Admin + value: admin-dark + - + label: Atom + value: atom-dark + - + label: Ayu + value: ayu-dark + - + label: Catppuccin + value: catppuccin-dark + - + label: Dracula + value: dracula-dark + - + label: Everforest + value: everforest-dark + - + label: Flexoki + value: flexoki-dark + - + label: Frappe + value: frappe-dark + - + label: Gruvbox + value: gruvbox-dark + - + label: Macchiato + value: macchiato-dark + - + label: Melange + value: melange-dark + - + label: Minimal + value: minimal-dark + - + label: Mocha + value: mocha-dark + - + label: Nord + value: nord-dark + - + label: Notion + value: notion-dark + - + label: Rosé Pine + value: rose-pine-dark + - + label: Sanctum + value: sanctum-dark + - + label: Sky + value: sky-dark + - + label: Solarized + value: solarized-dark + - + label: Things + value: things-dark + - + label: Tiniri + value: tiniri-dark + - + id: background-contrast-dark + title: Dark mode background contrast + type: class-select + allowEmpty: false + default: contrast-dark + options: + - + label: Normal + value: contrast-dark + - + label: Low contrast + value: contrast-dark-tonal + - + label: Black + value: contrast-dark-black + - + id: color-scheme-accent + title: Color scheme accent + description: Override accent color with color scheme predefined color + type: class-toggle + default: false + - + id: base-palette + title: Base colors + type: heading + level: 2 + collapsed: true + - + id: background-primary + title: Primary background + description: Background color for the main window + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: background-primary-alt + title: Primary background (Alternative) + description: Background color for blockquotes and tables + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: background-secondary + title: Secondary background + description: Background color for sidebars and menus + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: background-secondary-alt + title: Secondary background (Alternative) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: interactive-normal + title: Interactive background + description: Background color for buttons and dropdowns + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: interactive-hover + title: Highlighted interactive background + description: Used when hovering over buttons, dropdowns, and filled elements + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: background-modifier-hover + title: Highlighted background + description: Used when hovering over buttons, dividers, and outlined elements + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: background-modifier-active-hover + title: Active highlighted background + description: Used when clicking buttons and outlined elements + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: background-modifier-border + title: Border color + type: variable-themed-color + description: For buttons, divider lines, and outlined elements + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: background-modifier-border-hover + title: Highlighted border color + description: Used when hovering over buttons, dividers, and outlined elements + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: background-modifier-border-focus + title: Active border color + description: Used when clicking buttons and outlined elements + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: extended-palette + title: Extended colors + type: heading + level: 2 + collapsed: true + - + id: color-red + title: Red + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-orange + title: Orange + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-yellow + title: Yellow + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-green + title: Green + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-cyan + title: Cyan + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-blue + title: Blue + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-purple + title: Purple + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-pink + title: Pink + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: icon-palette + title: Icon colors + type: heading + level: 2 + collapsed: true + - + id: icon-color + title: Icon color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: icon-color-hover + title: Icon color (hover) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: icon-color-active + title: Icon color (active) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: icon-color-focused + title: Icon color (focused) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: text-palette + title: Text colors + type: heading + level: 2 + collapsed: true + - + id: text-palette-info + title: Heading text color + description: Find headings customization in **Editor** section + type: info-text + markdown: true + - + id: text-normal + title: Normal text color + type: variable-themed-color + description: Primary text color used by default across all elements + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: text-muted + title: Muted text color + description: Secondary text such as sidebar note titles and table headings + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: text-faint + title: Faint text color + description: Tertiary text such as input placeholders, empty checkboxes, and disabled statuses + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: italic-color + title: Italic text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: bold-color + title: Bold text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: text-selection + title: Selected text background + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: text-highlight-bg + title: Highlighted text background + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: code-palette + title: Code colors + type: heading + level: 2 + collapsed: true + - + id: code-comment + title: 'Syntax: comments' + description: Syntax highlighting for comments + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-function + title: 'Syntax: functions' + description: Syntax highlighting for functions + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-keyword + title: 'Syntax: keywords' + description: Syntax highlighting for keywords + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-important + title: 'Syntax: important' + description: Syntax highlighting for important text + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-operator + title: 'Syntax: operators' + description: Syntax highlighting for operators + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-property + title: 'Syntax: properties' + description: Syntax highlighting for properties + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-punctuation + title: 'Syntax: punctuation' + description: Syntax highlighting for punctuation + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-string + title: 'Syntax: strings' + description: Syntax highlighting for strings + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-tag + title: 'Syntax: tags' + description: Syntax highlighting for tags + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-value + title: 'Syntax: values' + description: Syntax highlighting for values + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: interface + title: Interface + type: heading + level: 1 + collapsed: true + - + id: font-interface-override + title: Interface font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: density-modifier + title: Density + type: variable-number-slider + default: 1 + min: 0.75 + max: 1.25 + step: 0.25 + - + id: radius-modifier + title: Roundness + type: variable-number-slider + default: 1 + min: 0.5 + max: 2 + step: 0.25 + - + id: icon-stroke-modifier + title: Icon thickness + type: variable-number-slider + default: 1 + options: + min: 0.5 + max: 1 + step: 0.25 + - + id: layout-style + title: Layout style + type: class-select + allowEmpty: false + default: layout-baseline + options: + - + label: Baseline + value: layout-baseline + - + label: Cupertino + value: layout-cupertino + - + label: Classic + value: layout-classic + - + label: Minimal + value: layout-minimal + - + label: Cards + value: layout-cards + - + label: Border + value: layout-border + - + label: Frame + value: layout-frame + - + label: macOS + value: layout-macos + - + id: input-style + title: Element style + type: class-select + allowEmpty: false + default: input-baseline + options: + - + label: Baseline + value: input-baseline + - + label: Cupertino + value: input-cupertino + - + label: Elevated + value: input-elevated + - + label: Fluent + value: input-fluent + - + label: Material + value: input-material + - + label: Obsidian + value: input-obsidian + - + id: prompt-style + title: Command palette style + type: class-select + allowEmpty: false + default: prompt-baseline + options: + - + label: Baseline + value: prompt-baseline + - + label: Padded + value: prompt-padded + - + id: status-bar-style + title: Status bar style + type: class-select + allowEmpty: false + default: status-bar-compact + options: + - + label: Compact + value: status-bar-compact + - + label: Normal + value: status-bar-default + - + label: Full width + value: status-bar-full + - + label: Cupertino + value: status-bar-cupertino + - + id: animation + title: Animation + type: heading + level: 2 + collapsed: true + - + id: anim-motion-baseline + title: Animation personality profile + type: variable-select + default: cubic-bezier(0.1, 0, 0.1, 1.25) + options: + - + label: Playful + value: cubic-bezier(0.1, 0, 0.1, 1.25) + - + label: Refined + value: cubic-bezier(0.32, 0.72, 0, 1) + - + id: anim-speed-modifier + title: Animation speed + type: variable-number-slider + default: 1 + min: 0 + max: 2 + step: 0.1 + - + id: tabs + title: Tabs + type: heading + level: 2 + collapsed: true + - + id: header-height + title: Tab bar height + type: variable-text + default: 48px + - + id: tabs-style + title: Tab style + type: class-select + allowEmpty: false + default: tabs-default + options: + - + label: Baseline + value: tabs-default + - + label: Floating + value: tabs-floating + - + label: Underline + value: tabs-underline + - + id: labeled-tabs + title: Tab labels + type: class-select + allowEmpty: false + default: labeled-tabs-off + options: + - + label: Hidden + value: labeled-tabs-off + - + label: Visible + value: labeled-tabs-all + - + label: Single tab + value: labeled-tabs-single + - + id: stacked-nav-off + title: Disable large primary navigation + description: Turns off vertically stacked tabs in the left sidebar + type: class-toggle + - + id: compact-actions-off + title: Disable compact panel actions + description: Turns off auto hiding panel actions + type: class-toggle + - + id: compact-tabs-off + title: Disable compact tab bars + description: Turns off auto hiding tabs for non-top panels + type: class-toggle + - + id: tab-stacks + title: Tab stacks + type: heading + level: 2 + collapsed: true + - + id: tab-stacked-pane-width + title: Stacked width + type: variable-number + description: Width of a stacked tab in pixels + default: 700 + format: px + - + id: tab-stacked-header-width + title: Spine width + type: variable-number + description: Width of the spine in pixels + default: 40 + format: px + - + id: tab-stacked-spine-orientation + title: Spine text orientation + type: class-select + default: tab-stack-top + options: + - + label: Top + value: tab-stack-top + - + label: Top flipped + value: tab-stack-top-flipped + - + label: Bottom + value: tab-stack-bottom + - + label: Bottom flipped + value: tab-stack-bottom-flipped + - + label: Center + value: tab-stack-center + - + label: Center flipped + value: tab-stack-center-flipped + - + id: tab-stacked-spine-order + title: Spine element order + type: variable-select + default: row + options: + - + label: Default + value: row + - + label: Reversed + value: row-reverse + - + id: sidebars + title: Sidebars + type: heading + level: 2 + collapsed: true + - + id: nav-item-active-style + title: Active file style + type: class-select + allowEmpty: false + default: nav-item-baseline + options: + - + label: Baseline + value: nav-item-baseline + - + label: Subtle + value: nav-item-subtle + - + label: Strong + value: nav-item-strong + - + id: colorful-folders + title: Colorful folders + description: Adds colored indicator on folders + type: class-select + allowEmpty: false + default: colorful-folders-off + options: + - + label: None + value: colorful-folders-off + - + label: Indicator + value: colorful-folders-side + - + label: Subtle + value: colorful-folders-subtle + - + label: Strong + value: colorful-folders-strong + - + label: Monochrome + value: colorful-folders-mono + - + id: nav-item-size + title: Item name size + description: Accepts any CSS font-size value + type: variable-text + default: 13px + - + id: large-new-note + title: Large new note button + description: Adds text label and background on new note button in the left sidebar + type: class-toggle + - + id: full-item-name + title: Full item name + description: Display long file name without trimming + type: class-toggle + default: false + - + id: bold-folders + title: Bold folders name + type: class-toggle + - + id: hide-vault-switcher-off + title: Always show vault switcher + type: class-toggle + default: false + - + id: hide-help + title: Hide help button + type: class-toggle + default: false + - + id: hover-sidebars + title: Hover sidebars + type: heading + level: 2 + collapsed: true + - + id: hover-sidedock + title: Hover sidebars + description: When sidebars are collapsed, hover over window edge to reveal + type: class-toggle + default: false + - + id: hover-sidedock-trigger-area + title: Hover sidebars trigger area + type: variable-select + description: Width of the detection area for revealing hover sidebars + default: 8px + options: + - + label: Small + value: 2px + - + label: Medium + value: 8px + - + label: Large + value: 12px + - + id: hover-sidedock-width + title: Hover sidebars width + type: variable-number + description: Width of the hover sidebars in pixels + default: 320 + format: px + - + id: hover-sidedock-delay + title: Hover sidebars delay + type: variable-number + description: Delay before showing hover sidebars in milliseconds + default: 160 + format: ms + - + id: nav-indentation-guide + title: Indentation guides + type: heading + level: 2 + collapsed: true + - + id: nav-indentation-guide-width + title: Indentation guides thickness + type: variable-select + allowEmpty: false + default: 0px + options: + - + label: None + value: 0px + - + label: Thin + value: 1px + - + label: Medium + value: 2px + - + label: Thick + value: 3px + - + id: nav-indentation-guide-color + title: Indentation guides color + type: variable-select + allowEmpty: false + default: rgba(var(--mono-rgb-100), 0.12) + options: + - + label: Subtle + value: rgba(var(--mono-rgb-100), 0.12) + - + label: Strong + value: var(--text-faint) + - + label: Accent color + value: var(--color-accent) + - + id: window-frame + title: Window frame + type: heading + level: 2 + collapsed: true + - + id: colorful-frame + title: Colorful frame + description: Adds accent color background on tab bar + type: class-toggle + - + id: obsidian-frame-info + description: Following settings requires Obsidian frame to be set in **Appearance** settings + type: info-text + markdown: true + - + id: window-title-off + title: Hide window frame title + description: Hide title in the custom title bar + type: class-toggle + - + id: titlebar-text-color-focused + title: Frame title color (focused) + description: Requires custom title bar + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: titlebar-text-color + title: Frame title color (inactive) + description: Requires custom title bar + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: titlebar-text-weight + title: Frame title font weight + description: Requires custom title bar + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: tablet + title: Tablet + type: heading + level: 2 + collapsed: true + - + id: mobile-left-sidebar-width + title: Left sidebar width + description: Accepts valid CSS units + type: variable-text + default: '500px' + - + id: mobile-right-sidebar-width + title: Right sidebar width + description: Accepts valid CSS units + type: variable-text + default: '500px' + - + id: mobile-left-sidebar-width-pinned + title: Left sidebar width (pinned) + description: Accepts valid CSS units + type: variable-text + default: '320px' + - + id: mobile-right-sidebar-width-pinned + title: Right sidebar width (pinned) + description: Accepts valid CSS units + type: variable-text + default: '320px' + - + id: editor + title: Editor + type: heading + level: 1 + collapsed: true + - + id: font-text-override + title: Editor font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: font-monospace-override + title: Monospace font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: focus-view + title: Focus view + description: Hide tabs and tab title bar when sidebars are collapsed, hover over the top to reveal + type: class-select + default: focus-view-off + options: + - + label: Disabled + value: focus-view-off + - + label: Only hide tabs + value: focus-view-tabs + - + label: Hide all + value: focus-view-all + - + id: mode-switcher-off + title: Disable quick mode switcher + type: class-toggle + description: Turns off mobile editor mode switcher quick access + default: false + - + id: spacing + title: Spacing + type: heading + level: 2 + collapsed: true + - + id: heading-spacing + title: Heading spacing + description: Space between paragraphs and headings in reading mode + type: variable-text + default: 2em + - + id: p-spacing + title: Paragraph spacing + description: Space between paragraphs in reading mode + type: variable-text + default: 1.75rem + - + id: readable-spacing + title: Readable spacing + description: Use readable spacing in reading and editing views + type: class-toggle + default: false + - + id: readable-spacing-modifier + title: Readable spacing modifier + description: Lower value is tighter spacing after headings, relative to paragraph spacing + type: variable-number-slider + default: 0.25 + min: 0 + max: 1 + step: 0.25 + - + id: indentation-guide + title: Indentation guides + type: heading + level: 2 + collapsed: true + - + id: indentation-guide-width + title: Indentation guides thickness + type: variable-select + allowEmpty: false + default: 0px + options: + - + label: None + value: 0px + - + label: Thin + value: 1px + - + label: Medium + value: 2px + - + label: Thick + value: 3px + - + id: indentation-guide-color + title: Indentation guides color + type: variable-select + allowEmpty: false + default: rgba(var(--mono-rgb-100), 0.12) + options: + - + label: Subtle + value: rgba(var(--mono-rgb-100), 0.12) + - + label: Strong + value: var(--text-faint) + - + label: Accent color + value: var(--color-accent) + - + id: tab-title-bar + title: Tab title bar + type: heading + level: 2 + collapsed: true + - + id: tab-title-bar-info + description: Tab title bar must be turned on in **Appearance** settings + type: info-text + markdown: true + - + id: file-header-visibility + title: Tab title visibility + description: Visibility of the tab title text + type: class-select + default: view-header-title-hover + options: + - + label: Hover only + value: view-header-title-hover + - + label: Hidden + value: view-header-title-hidden + - + label: Always + value: view-header-title-always + - + id: file-header-font-size + title: Tab title font size + description: Accepts any CSS font-size value + type: variable-text + default: '' + - + id: file-header-font-weight + title: Tab title font weight + type: variable-number-slider + default: 400 + min: 100 + max: 900 + step: 100 + - + id: file-header-justify + title: Tab title alignment + type: variable-select + default: center + options: + - + label: Center + value: center + - + label: Left + value: left + - + id: blockwidth + title: Block width + type: heading + level: 2 + collapsed: true + - + id: block-width-off + title: Disable block width + description: Turns off block width customization + type: class-toggle + default: false + - + id: block-width-info + description: Readable line length must be set in Obsidian **Editor** settings + type: info-text + markdown: true + - + id: line-width + title: Normal line width + description: Number of characters per line + type: variable-number + default: 40 + format: rem + - + id: line-width-wide + title: Wide line width + description: Number of characters per line for wide elements + type: variable-number + default: 50 + format: rem + - + id: chart-width + title: Chart width + description: Default width for chart blocks + type: class-select + allowEmpty: false + default: chart-default-width + options: + - + label: Default + value: chart-default-width + - + label: Wide line width + value: chart-wide + - + label: Maximum line width + value: chart-max + - + label: 100% pane width + value: chart-100 + - + id: iframe-width + title: Iframe width + description: Default width for iframe blocks + type: class-select + allowEmpty: false + default: iframe-default-width + options: + - + label: Default + value: iframe-default-width + - + label: Wide line width + value: iframe-wide + - + label: Maximum line width + value: iframe-max + - + label: 100% pane width + value: iframe-100 + - + id: image-width + title: Image width + description: Default width for image blocks + type: class-select + allowEmpty: false + default: img-default-width + options: + - + label: Default + value: img-default-width + - + label: Wide line width + value: img-wide + - + label: Maximum line width + value: img-max + - + label: 100% pane width + value: img-100 + - + id: map-width + title: Map width + description: Default width for map blocks + type: class-select + allowEmpty: false + default: map-default-width + options: + - + label: Default + value: map-default-width + - + label: Wide line width + value: map-wide + - + label: Maximum line width + value: map-max + - + label: 100% pane width + value: map-100 + - + id: table-width + title: Table width + description: Default width for table blocks + type: class-select + allowEmpty: false + default: table-default-width + options: + - + label: Default + value: table-default-width + - + label: Wide line width + value: table-wide + - + label: Maximum line width + value: table-max + - + label: 100% pane width + value: table-100 + - + id: active-line + title: Active line + type: heading + level: 2 + collapsed: true + - + id: active-line-style + title: Highlight active line style + description: Adds an indicator to current line in editor + type: class-select + default: active-line-off + options: + - + label: None + value: active-line-off + - + label: Indicator + value: active-line-side + - + label: Block background + value: active-line-block + - + label: Line background + value: active-line-background + - + id: active-line-color + title: Highlight active line color + type: class-select + default: active-line-color-default + options: + - + label: Monochrome + value: active-line-color-default + - + label: Accent color + value: active-line-color-accent + - + id: inline-title + title: Inline title + type: heading + level: 2 + collapsed: true + - + id: inline-title-info + description: Inline title must be turned on in **Appearance** settings + type: info-text + markdown: true + - + id: inline-title-font + title: Inline title font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: inline-title-size + title: Inline title font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.802em + - + id: inline-title-weight + title: Inline title font weight + type: variable-number-slider + default: 400 + min: 100 + max: 900 + step: 100 + - + id: inline-title-color + title: Inline title text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: headings + title: Headings + type: heading + level: 2 + collapsed: true + - + id: colorful-headings + title: Colorful headings + description: Headings use a different color for each size + type: class-select + default: colorful-headings-off + options: + - + label: Disabled + value: colorful-headings-off + - + label: Indicator + value: colorful-headings-side + - + label: Indicator & Text + value: colorful-headings-full + - + label: Background & Text + value: colorful-headings-block + - + id: level-1-headings + title: Level 1 Headings + type: heading + level: 3 + collapsed: true + - + id: h1-color + title: H1 color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h1-font + title: H1 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h1-size + title: H1 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.802em + - + id: h1-weight + title: H1 font weight + type: variable-number-slider + default: 700 + min: 100 + max: 900 + step: 100 + - + id: h1-variant + title: H1 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h1-style + title: H1 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h1-transform + title: H1 text case + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Capitalize + value: capitalize + - + label: Uppercase + value: uppercase + - + label: Lowercase + value: lowercase + - + id: h1-l + title: H1 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-2-headings + title: Level 2 Headings + type: heading + level: 3 + collapsed: true + - + id: h2-color + title: H2 color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h2-font + title: H2 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h2-size + title: H2 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.602em + - + id: h2-weight + title: H2 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h2-variant + title: H2 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h2-style + title: H2 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h2-transform + title: H2 text case + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Capitalize + value: capitalize + - + label: Uppercase + value: uppercase + - + label: Lowercase + value: lowercase + - + id: h2-l + title: H2 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-3-headings + title: Level 3 Headings + type: heading + level: 3 + collapsed: true + - + id: h3-color + title: H3 color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h3-font + title: H3 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h3-size + title: H3 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.424em + - + id: h3-weight + title: H3 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h3-variant + title: H3 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h3-style + title: H3 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h3-transform + title: H3 text case + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Capitalize + value: capitalize + - + label: Uppercase + value: uppercase + - + label: Lowercase + value: lowercase + - + id: h3-l + title: H3 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-4-headings + title: Level 4 Headings + type: heading + level: 3 + collapsed: true + - + id: h4-color + title: H4 color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h4-font + title: H4 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h4-size + title: H4 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.266em + - + id: h4-weight + title: H4 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h4-variant + title: H4 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h4-style + title: H4 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h4-transform + title: H4 text case + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Capitalize + value: capitalize + - + label: Uppercase + value: uppercase + - + label: Lowercase + value: lowercase + - + id: h4-l + title: H4 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-5-headings + title: Level 5 Headings + type: heading + level: 3 + collapsed: true + - + id: h5-color + title: H5 color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h5-font + title: H5 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h5-size + title: H5 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.125em + - + id: h5-weight + title: H5 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h5-variant + title: H5 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h5-style + title: H5 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h5-transform + title: H5 text case + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Capitalize + value: capitalize + - + label: Uppercase + value: uppercase + - + label: Lowercase + value: lowercase + - + id: h5-l + title: H5 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-6-headings + title: Level 6 Headings + type: heading + level: 3 + collapsed: true + - + id: h6-color + title: H6 color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h6-font + title: H6 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h6-size + title: H6 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1em + - + id: h6-weight + title: H6 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h6-variant + title: H6 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h6-style + title: H6 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h6-transform + title: H6 text case + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Capitalize + value: capitalize + - + label: Uppercase + value: uppercase + - + label: Lowercase + value: lowercase + - + id: h6-l + title: H6 divider line + type: class-toggle + description: Adds a border below the heading + default: false + - + id: properties + title: Properties + type: heading + level: 2 + collapsed: true + - + id: metadata-style + title: Properties style + type: class-select + allowEmpty: false + default: metadata-default + options: + - + label: Default + value: metadata-default + - + label: Block + value: metadata-block + - + label: Cupertino + value: metadata-cupertino + - + id: metadata-heading-off + title: Hide properties heading + description: Hide "Properties" heading above properties + type: class-toggle + default: false + - + id: metadata-add-property-off + title: Hide "Add property" button + description: Hide "Add property" button below properties + type: class-toggle + default: false + - + id: metadata-icons-off + title: Hide property icons + description: Hide icons next to property names + type: class-toggle + default: false + - + id: metadata-label-width-modifier + title: Property name width + description: Width for the name of the property + type: variable-number-slider + default: 1 + min: 0.5 + max: 1.5 + step: 0.1 + - + id: bases + title: Bases + type: heading + level: 2 + collapsed: true + - + id: bases-toolbar-label-display + title: Toolbar text label + type: variable-select + allowEmpty: false + default: flex + options: + - + label: Visible + value: flex + - + label: Hidden + value: none + - + id: bases-row-alt + title: Striped rows + description: Display striped background in alternating Bases table rows + type: class-toggle + default: false + - + id: bases-col-alt + title: Striped columns + description: Display striped background in alternating Bases table columns + type: class-toggle + default: false + - + id: bases-table-numbers + title: Row numbers + description: Display row numbers in Bases table + type: class-toggle + default: false + - + id: bases-table-header-icon-display + title: Table header icons + type: variable-select + allowEmpty: false + default: flex + options: + - + label: Visible + value: flex + - + label: Hidden + value: none + - + id: bases-table-align-items + title: Table vertical alignment + type: variable-select + allowEmpty: false + default: start + options: + - + label: Top + value: start + - + label: Center + value: center + - + label: Bottom + value: end + - + id: blockquotes + title: Blockquotes + type: heading + level: 2 + collapsed: true + - + id: blockquote-style + title: Blockquote style + type: class-select + allowEmpty: false + default: blockquote-baseline + options: + - + label: Baseline + value: blockquote-baseline + - + label: Edge + value: blockquote-edge + - + id: blockquote-border-thickness + title: Blockquote border thickness + type: variable-number-slider + format: px + default: 2 + min: 0 + max: 5 + step: 1 + - + id: blockquote-size + title: Blockquote font size + description: Accepts any CSS font-size value + type: variable-text + default: 1em + - + id: blockquote-font-style + title: Blockquote font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: blockquote-color + title: Blockquote text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: blockquote-background-color + title: Blockquote background color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: blockquote-border-color + title: Blockquote border color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: callouts + title: Callouts + type: heading + level: 2 + collapsed: true + - + id: callouts-style + title: Callout style + type: class-select + allowEmpty: false + default: callouts-default + options: + - + label: Filled + value: callouts-default + - + label: Tactile + value: callouts-tactile + - + label: Padded + value: callouts-padded + - + label: Outlined + value: callouts-outlined + - + id: callout-size + title: Callout font size + description: Accepts any CSS font-size value + type: variable-text + default: 1em + - + id: canvas + title: Canvas + type: heading + level: 2 + collapsed: true + - + id: canvas-background + title: Canvas background + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: canvas-dot-pattern + title: Canvas dot pattern + description: Color for background dot pattern + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-blocks + title: Code blocks + type: heading + level: 2 + collapsed: true + - + id: code-size + title: Code font size + description: Accepts any CSS font-size value + type: variable-text + default: '' + - + id: code-line-numbers + title: Code line numbers + description: Line numbers for code blocks + type: class-toggle + default: false + - + id: code-scroll + title: Scroll long lines + description: Turns off line wrap for code blocks + type: class-toggle + default: false + - + id: code-background + title: Code background color + description: Background for code blocks + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-normal + title: Code text color + description: Color of code when syntax highlighting is not present + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: embeds + title: Embeds + type: heading + level: 2 + collapsed: true + - + id: embed-style + title: Embed style + type: class-select + allowEmpty: false + default: embed-side + options: + - + label: Clean + value: embed-strict + - + label: Indicator + value: embed-side + - + label: Block background + value: embed-block + - + id: embed-border-thickness + title: Embed border thickness + type: variable-number-slider + format: px + default: 2 + min: 0 + max: 5 + step: 1 + - + id: embed-hide-title + title: Hide embed titles + description: Hide title of the embed file + type: class-toggle + default: false + - + id: embed-max-height + title: Maximum height of embeds + type: variable-text + description: Accepts valid CSS units + default: '' + - + id: embed-background + title: Embed background + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: embed-border-color + title: Embed border color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: links + title: Links + type: heading + level: 2 + collapsed: true + - + id: link-color + title: Internal link color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-color-hover + title: Internal link color (hover) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-decoration + title: Internal link underline + type: variable-select + allowEmpty: false + default: none + options: + - + label: Underline + value: underline + - + label: None + value: none + - + id: link-external-color + title: External link color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-external-color-hover + title: External link color (hover) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-external-decoration + title: External link underline + type: variable-select + allowEmpty: false + default: none + options: + - + label: Underline + value: underline + - + label: None + value: none + - + id: lists + title: Lists + type: heading + level: 2 + collapsed: true + - + id: list-spacing + title: List spacing + type: variable-number + default: 0.075 + format: em + - + id: list-marker-color + title: List bullet color + type: variable-themed-color + default-light: '#' + default-dark: '#' + format: hex + - + id: list-numbered-style + title: Ordered list style + type: variable-select + default: decimal + options: + - + label: Decimal + value: decimal + - + label: Decimal with leading zeroes + value: decimal-leading-zero + - + label: Lowercase alphabetical + value: lower-alpha + - + label: Uppercase alphabetical + value: upper-alpha + - + label: Lowercase Roman Numerals + value: lower-roman + - + label: Uppercase Roman Numerals + value: upper-roman + - + label: Lowercase Latin + value: lower-latin + - + label: Uppercase Latin + value: upper-latin + - + label: Lowercase Greek + value: lower-greek + - + label: Uppercase Greek + value: upper-greek + - + label: Hiragana + value: hiragana + - + label: Hiragana Iroha + value: hiragana-iroha + - + label: Katakana + value: katakana + - + label: Katakana Iroha + value: katakana-iroha + - + label: Armenian + value: armenian + - + label: CJK Ideographic + value: cjk-ideographic + - + label: Hebrew + value: hebrew + - + id: strike-lists-off + title: Disable strike completed tasks + description: Removes strikethrough line for completed tasks + type: class-toggle + default: false + - + id: media + title: Media + type: heading + level: 2 + collapsed: true + - + id: img-grid + title: Image grids + description: Turns consecutive images into columns — to make a new row, add an extra line break between images + type: class-toggle + - + id: media-radius + title: Media radius + description: Rounded corners for images and videos + type: variable-number-slider + default: 4 + min: 0 + max: 16 + step: 1 + format: px + - + id: media-muted + title: Media opacity in dark mode + description: Level of fading for media in dark mode. Hover over media to display at full brightness + type: variable-number-slider + default: 1 + min: 0.2 + max: 1 + step: 0.1 + - + id: full-width-media-off + title: Disable maximized media + description: Turns off images and videos fill the width of the line + type: class-toggle + - + id: zoom-off + title: Disable image zoom + description: Turns off click + hold to zoom images + type: class-toggle + - + id: pdf + title: PDFs + type: heading + level: 2 + collapsed: true + - + id: pdf-page-style + title: PDF page style + description: Borders and shadows around pages + type: class-select + allowEmpty: false + default: pdf-seamless + options: + - + label: Seamless + value: pdf-seamless + - + label: Shadows + value: pdf-shadows + - + id: pdf-muted + title: PDF opacity in dark mode + description: Level of fading for PDF pages in dark mode. Hover over a page to display at full brightness + type: variable-number-slider + default: 1 + min: 0.2 + max: 1 + step: 0.1 + - + id: pdf-invert-dark + title: Invert PDFs in dark mode + description: Best for working with black text on white pages + type: class-toggle + default: false + - + id: tables + title: Tables + type: heading + level: 2 + collapsed: true + - + id: table-text-size + title: Table font size + description: All of the following settings apply to all tables globally. To turn on these features on a per-note basis use helper classes. See documentation. + type: variable-text + default: 1em + - + id: row-lines + title: Row lines + description: Display borders between table rows globally + type: class-toggle + default: false + - + id: col-lines + title: Column lines + description: Display borders between table columns globally + type: class-toggle + default: false + - + id: table-lines + title: Cell lines + description: Display borders around all table cells globally + type: class-toggle + default: false + - + id: row-alt + title: Striped rows + description: Display striped background in alternating table rows globally + type: class-toggle + default: false + - + id: col-alt + title: Striped columns + description: Display striped background in alternating table columns globally + type: class-toggle + default: false + - + id: table-tabular + title: Tabular figures + description: Use fixed width numbers in tables globally + type: class-toggle + default: false + - + id: table-numbers + title: Row numbers + description: Display row numbers in tables globally + type: class-toggle + default: false + - + id: table-nowrap + title: Disable line wrap + description: Turns off line wrapping in table cells globally + type: class-toggle + default: false + - + id: table-text-align-header + title: Table header text alignment + type: variable-select + allowEmpty: false + default: start + options: + - + label: Start + value: start + - + label: Center + value: center + - + label: End + value: end + - + id: table-text-align-body + title: Table body text alignment + type: variable-select + allowEmpty: false + default: start + options: + - + label: Start + value: start + - + label: Center + value: center + - + label: End + value: end + - + id: row-hover + title: Highlight active row + description: Highlight rows on hover + type: class-toggle + default: false + - + id: tags + title: Tags + type: heading + level: 2 + collapsed: true + - + id: unstyled-tags + title: Plain tags + description: Tags will render as normal text, overrides settings below + type: class-toggle + default: false + - + id: tag-radius + title: Tag shape + type: variable-select + default: 8px + options: + - + label: Pill + value: 16px + - + label: Rounded + value: 8px + - + label: Square + value: 0px + - + id: tag-border-width + title: Tag border width + type: variable-number-slider + default: 0 + min: 0 + max: 2 + step: 1 + format: px + - + id: tag-color + title: Tag text color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: tag-background + title: Tag background color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: tag-background-hover + title: Tag background color (hover) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: tasks + title: Tasks + type: heading + level: 2 + collapsed: true + - + id: checkbox-color + title: Checkbox color + description: Background color for completed tasks + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: checkbox-radius + title: Checkbox shape + type: variable-select + allowEmpty: false + default: 4px + options: + - + label: Rounded + value: 4px + - + label: Circle + value: 100px + - + id: integrations + title: Integrations + type: heading + level: 1 + collapsed: true + - + id: cards + title: Cards + type: heading + level: 2 + collapsed: true + - + id: cards-min-width + title: Card minimum width + type: variable-text + default: 160px + - + id: cards-max-width + title: Card maximum width + description: Default fills the available width, accepts valid CSS units + type: variable-text + default: 1fr + - + id: cards-mobile-width + title: Card minimum width on mobile + type: variable-text + default: 120px + - + id: cards-padding + title: Card padding + type: variable-text + default: 4px + - + id: cards-image-height + title: Card maximum image height + type: variable-text + default: 400px + - + id: cards-background + title: Card background color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: cards-background-hover + title: Card background color (hover) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graphs + title: Graphs + type: heading + level: 2 + collapsed: true + - + id: graphs-info + description: Requires closing and reopening graph panes or restarting Obsidian to apply changes + type: info-text + - + id: graph-line + title: Line color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node + title: Node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-focused + title: Active node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-tag + title: Tag node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-attachment + title: Attachment node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-unresolved + title: Unresolved node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + +*/.vertical-tab-content>div>.setting-item-heading:not(.is-collapsed){border-bottom:0}.style-settings-container .themed-color-wrapper>div{background-color:rgba(0,0,0,0);color:var(--color-base-100);gap:8px}.style-settings-container .themed-color-wrapper>div .pickr-reset>button{color:var(--color-base-100);background-color:var(--color-base-10);margin:0}.themed-color-wrapper{display:flex}.themed-color-wrapper>div+div{margin-top:0}.style-settings-heading,.style-settings-container{padding-left:32px;margin-top:0 !important;margin-bottom:0 !important}.style-settings-container .pickr .pcr-button{box-shadow:none}.style-settings-container .pickr .pcr-button::before{background:var(--color-base-50);border-radius:var(--button-radius)}.style-settings-container .pickr .pcr-button::after{border-radius:var(--button-radius)}body .style-settings-container .setting-item[data-id] .setting-item-control::before{font-size:var(--font-ui-smaller);color:var(--text-faint);margin-inline-end:4px;max-width:12em}body.ayu-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.ayu-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Konstantin Pschera (k15a)"}body.admin-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.admin-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before,body.metadata-block .style-settings-container .setting-item[data-id=metadata-style] .setting-item-control::before{content:"Author: Bradley Wyatt (bwya77)"}body.catppuccin-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.catppuccin-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Catppuccin"}body.dracula-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.dracula-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Dracula"}body.everforest-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.everforest-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Sainnhe Park (sainnhe)"}body.flexoki-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.flexoki-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before,body.sky-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.sky-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Steph Ango (kepano)"}body.gruvbox-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.gruvbox-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Pavel Pertsev (morhetz)"}body.frappe-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before,body.latte-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.macchiato-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before,body.mocha-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: AnubisNekhet"}body.melange-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.melange-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Sergio A. Vargas (savq)"}body.nord-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.nord-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Sven Greb (svengreb)"}body.rose-pine-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.rose-pine-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Rose Pine"}body.sanctum-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.sanctum-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before,body.input-elevated .style-settings-container .setting-item[data-id=input-style] .setting-item-control::before{content:"Author: José Daniel Mourão (jdanielmourao)"}body.solarized-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.solarized-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Ethan Schoonover (altercation)"}body.tiniri-light .style-settings-container .setting-item[data-id=color-scheme-light] .setting-item-control::before,body.tiniri-dark .style-settings-container .setting-item[data-id=color-scheme-dark] .setting-item-control::before{content:"Author: Vlad Gerasimov (vladstudio)"}body.layout-border .style-settings-container .setting-item[data-id=layout-style] .setting-item-control::before{content:"Author: Border by Akifyss"}body.layout-frame .style-settings-container .setting-item[data-id=layout-style] .setting-item-control::before{content:"Author: Iridium by kyffa"}body:not(.accented-interface) .style-settings-container .setting-item[data-id=color-scheme-accent],body:not(.hover-sidedock) .style-settings-container .setting-item[data-id=hover-sidedock]~.setting-item,body:not(.readable-spacing) .style-settings-container .setting-item[data-id=readable-spacing]~.setting-item,body.view-header-title-hidden .style-settings-container .setting-item[data-id=file-header-visibility]~.setting-item,body.block-width-off .style-settings-container .setting-item[data-id=block-width-off]~.setting-item,body.metadata-cupertino .style-settings-container .setting-item[data-id=metadata-heading-off],body.unstyled-tags .style-settings-container .setting-item[data-id=unstyled-tags]~.setting-item{opacity:.4;pointer-events:none}body .style-settings-container .setting-item-heading[data-id=info]{display:none}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container{padding-left:0;padding-bottom:0;gap:4px;display:flex;flex-wrap:wrap}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item{flex:1;border-radius:var(--radius-m);border:1px solid var(--background-modifier-border);background-color:var(--background-primary);padding:calc(16px*var(--density-modifier));align-items:flex-start;position:relative;transition:var(--anim-duration-fast)}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item:hover{background-color:var(--background-modifier-hover)}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item-info{margin-inline-end:0}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item-name{font-family:var(--h1-font);font-size:var(--font-ui-large)}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item-description{margin-inline-end:16px}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item-control{display:none}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container a.external-link{background-image:none;position:absolute;inset:0}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item::before{content:"";width:32px;height:32px;right:8px;bottom:8px;position:absolute;background-color:var(--background-modifier-hover);-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item:first-child::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXNoYXJlLWljb24gbHVjaWRlLXNoYXJlIj48cGF0aCBkPSJNMTIgMnYxMyIvPjxwYXRoIGQ9Im0xNiA2LTQtNC00IDQiLz48cGF0aCBkPSJNNCAxMnY4YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtOCIvPjwvc3ZnPg==)}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item:nth-child(2)::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXNwYXJrbGVzLWljb24gbHVjaWRlLXNwYXJrbGVzIj48cGF0aCBkPSJNMTEuMDE3IDIuODE0YTEgMSAwIDAgMSAxLjk2NiAwbDEuMDUxIDUuNTU4YTIgMiAwIDAgMCAxLjU5NCAxLjU5NGw1LjU1OCAxLjA1MWExIDEgMCAwIDEgMCAxLjk2NmwtNS41NTggMS4wNTFhMiAyIDAgMCAwLTEuNTk0IDEuNTk0bC0xLjA1MSA1LjU1OGExIDEgMCAwIDEtMS45NjYgMGwtMS4wNTEtNS41NThhMiAyIDAgMCAwLTEuNTk0LTEuNTk0bC01LjU1OC0xLjA1MWExIDEgMCAwIDEgMC0xLjk2Nmw1LjU1OC0xLjA1MWEyIDIgMCAwIDAgMS41OTQtMS41OTR6Ii8+PHBhdGggZD0iTTIwIDJ2NCIvPjxwYXRoIGQ9Ik0yMiA0aC00Ii8+PGNpcmNsZSBjeD0iNCIgY3k9IjIwIiByPSIyIi8+PC9zdmc+)}body .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container .setting-item:last-child::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXR5cGUtaWNvbiBsdWNpZGUtdHlwZSI+PHBhdGggZD0iTTEyIDR2MTYiLz48cGF0aCBkPSJNNCA3VjVhMSAxIDAgMCAxIDEtMWgxNGExIDEgMCAwIDEgMSAxdjIiLz48cGF0aCBkPSJNOSAyMGg2Ii8+PC9zdmc+)}body.is-phone .style-settings-container .setting-item-heading[data-id=info]+.style-settings-container{flex-direction:column}@media screen,print{body{--inline-title-margin-bottom: 1em;--heading-spacing: 2em;--p-spacing: 1.75rem;--list-spacing: 0.2em;--line-height-normal: 1.6;--h1-font: var(--font-text-override), InstrumentSerif;--h2-font: var(--font-text-override), InstrumentSerif;--h3-font: var(--font-text-override), InstrumentSerif;--h4-font: var(--font-text-override), InstrumentSerif;--h5-font: var(--font-text-override), InstrumentSerif;--h6-font: var(--font-text-override), InstrumentSerif;--code-border-width: 1px;--code-size: var(--font-smallest);--code-normal: var(--text-muted);--code-comment: var(--text-faint);--code-function: var(--color-orange);--code-important: var(--color-orange);--code-keyword: var(--color-red);--code-property: var(--color-blue);--code-punctuation: var(--text-muted);--code-string: var(--color-cyan);--code-tag: var(--color-red);--code-value: var(--color-purple);--embed-padding: 0 0 0 16px;--embed-max-height: none;--embed-background: var(--background-primary-alt);--embed-border-start: var(--embed-border-thickness, 2px) solid var(--embed-border-color, var(--color-base-50));--media-radius: var(--radius-s);--metadata-gap: 8px;--tag-padding-x: 8px;--tag-padding-y: 4px;--tag-radius: 8px;--link-decoration: none;--link-external-decoration: none;--indentation-guide-width: 0px;--file-header-border: none}.workspace-split.mod-root{background-color:var(--background-secondary)}.workspace-split.mod-root .workspace-tabs .workspace-leaf{background-color:rgba(0,0,0,0)}.workspace-split.mod-root .workspace-tabs .workspace-tab-container{border-radius:var(--radius-s)}.readable-spacing{--heading-spacing: var(--p-spacing);--p-spacing-empty: var(--list-spacing);--h1-line-height: var(--line-height-normal);--h2-line-height: var(--line-height-normal);--h3-line-height: var(--line-height-normal);--h4-line-height: var(--line-height-normal);--readable-spacing-modifier: 0.25}.readable-spacing .markdown-rendered div:is(.el-h1,.el-h2,.el-h3,.el-h4,.el-h5,.el-h6)>:is(h1,h2,h3,h4,h5,h6),.readable-spacing .markdown-rendered div.el-p:has(+div:is(.el-ul,.el-ol))>p{margin-block-end:calc(var(--p-spacing)*var(--readable-spacing-modifier))}.readable-spacing .markdown-rendered div.el-h1+div>*:not(hr),.readable-spacing .markdown-rendered div.el-h2+div>*:not(hr,h1),.readable-spacing .markdown-rendered div.el-h3+div>*:not(hr,h1,h2),.readable-spacing .markdown-rendered div.el-h4+div>*:not(hr,h1,h2,h3),.readable-spacing .markdown-rendered div.el-h5+div>*:not(hr,h1,h2,h3,h4),.readable-spacing .markdown-rendered div.el-h6+div>*:not(hr,h1,h2,h3,h4,h5),.readable-spacing .markdown-rendered div.el-p+div:is(.el-ul,.el-ol)>*{margin-block-start:calc(var(--p-spacing)*var(--readable-spacing-modifier))}.view-header{padding:0 8px;flex-shrink:0}.view-header-nav-buttons,.view-actions{--icon-size: var(--icon-m)}.view-header-title-container>div{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}body:not(.is-mobile,.view-header-title-always) .view-header:not(.view-header-always-show):not(:hover) .view-header-title-container>div:not(:focus-within){opacity:0 !important}body:not(.is-mobile).view-header-title-hidden .view-header-title-container>div{visibility:hidden}body.is-mobile .view-actions{padding:0}body.active-line-side .markdown-source-view .cm-line.cm-active:not(:has(.cm-fold-indicator):hover)::after{position:absolute;top:4px;bottom:4px;inset-inline-start:-16px;border-left:4px solid var(--background-modifier-border-hover);border-radius:var(--input-radius);content:""}body.active-line-block .markdown-source-view .cm-line.cm-active:not(.cm-gutterElement,.HyperMD-callout,.HyperMD-codeblock-bg,.HyperMD-quote)::after{position:absolute;inset:-2px -4px;background:var(--background-secondary);content:"";z-index:-2;border-radius:var(--radius-s)}body.active-line-block .markdown-source-view .cm-line.cm-active:is(.HyperMD-callout,.HyperMD-codeblock-bg,.HyperMD-quote){background-color:var(--background-modifier-hover) !important}body.active-line-background .markdown-source-view .cm-line.cm-active:not(.cm-gutterElement)::after{position:absolute;inset:-2px -100%;background:var(--background-secondary);content:"";z-index:-2}body.active-line-background .markdown-source-view .cm-line.cm-active:is(.HyperMD-callout,.HyperMD-codeblock-bg,.HyperMD-quote){background-color:var(--background-modifier-hover) !important}body.active-line-background .markdown-source-view .cm-line.cm-active:is(.HyperMD-callout,.HyperMD-codeblock-bg,.HyperMD-quote)::after{inset:0 -100%}body.active-line-color-accent.active-line-side .markdown-source-view .cm-line.cm-active:not(:has(.cm-fold-indicator):hover)::after{border-color:var(--color-accent)}body.active-line-color-accent:is(.active-line-block,.active-line-background) .markdown-source-view .cm-line.cm-active::after{background-color:var(--background-modifier-active-hover)}.markdown-rendered code{padding:2px 4px}.markdown-rendered pre code{white-space:var(--code-white-space)}body.code-scroll{--code-white-space: pre}body.code-scroll .HyperMD-codeblock{overflow-y:scroll;white-space:pre}body.code-line-numbers .HyperMD-codeblock-begin{counter-reset:codeblock-line-numbers}body.code-line-numbers .HyperMD-codeblock:not(.HyperMD-codeblock-begin,.HyperMD-codeblock-end)::before{counter-increment:codeblock-line-numbers;content:counter(codeblock-line-numbers);font-size:var(--font-smallest);text-align:right;color:var(--text-muted);padding-right:1em}kbd{box-shadow:var(--shadow-tactile);border:1px solid var(--background-modifier-border);background:linear-gradient(var(--background-primary), var(--background-secondary));padding:var(--tag-padding-y) var(--tag-padding-x);font-family:var(--font-text)}.dataview .inline-field-standalone-value,body .dataview.inline-field-key,body .dataview.inline-field-value{font-family:var(--font-text);font-size:var(--font-smaller);background:rgba(0,0,0,0);color:var(--text-faint);padding:0}.embed-strict{--embed-border-start: none;--embed-padding: 0}.embed-block{--embed-background: var(--background-primary-alt);--embed-border-start: none;--embed-padding: 16px}.embed-hide-title .embed-title{display:none}.markdown-embed:not(.image-embed,.canvas-node-content){display:flex;flex-direction:column;max-height:var(--embed-max-height);overflow:hidden;border-start-end-radius:var(--media-radius);border-end-end-radius:var(--media-radius)}.inline-embed>.markdown-embed-title{padding:16px}.inline-embed>.markdown-embed-content{max-height:100%}iframe.external-embed{width:-webkit-fill-available;aspect-ratio:16/9;height:auto;border-radius:var(--media-radius)}.block-language-chart{width:100% !important}.HyperMD-header-1,.inline-title h1,.HyperMD-list-line .cm-header-1{text-transform:var(--h1-transform)}.HyperMD-header-2,.inline-title h2,.HyperMD-list-line .cm-header-2{text-transform:var(--h2-transform)}.HyperMD-header-3,.inline-title h3,.HyperMD-list-line .cm-header-3{text-transform:var(--h3-transform)}.HyperMD-header-4,.inline-title h4,.HyperMD-list-line .cm-header-4{text-transform:var(--h4-transform)}.HyperMD-header-5,.inline-title h5,.HyperMD-list-line .cm-header-5{text-transform:var(--h5-transform)}.HyperMD-header-6,.inline-title h6,.HyperMD-list-line .cm-header-6{text-transform:var(--h6-transform)}.inline-title:not([data-level]),.markdown-rendered :is(h1,h2,h3,h4,h5,h6),.HyperMD-header-1,.HyperMD-header-2,.HyperMD-header-3,.HyperMD-header-4,.HyperMD-header-5,.HyperMD-header-6{letter-spacing:normal !important}.markdown-reading-view mark,.markdown-source-view mark,.markdown-rendered mark{box-decoration-break:clone;border-radius:var(--radius-s);padding:2px 4px}.cm-s-obsidian span.cm-highlight{box-decoration-break:clone;padding-top:2px;padding-bottom:2px}.cm-line .cm-highlight:nth-child(1 of .cm-highlight){border-top-left-radius:var(--radius-s);border-bottom-left-radius:var(--radius-s);padding-left:4px}.cm-line .cm-highlight:nth-last-child(1 of .cm-highlight){border-top-right-radius:var(--radius-s);border-bottom-right-radius:var(--radius-s);padding-right:4px}body:not(.full-width-media-off){--iframe-width: 100%}body:not(.full-width-media-off) .markdown-source-view .image-embed img:not(.link-favicon):not(.emoji):not([width]),body:not(.full-width-media-off) .markdown-source-view img:not(.link-favicon):not(.emoji):not([width]),body:not(.full-width-media-off) .markdown-source-view .external-embed,body:not(.full-width-media-off) .markdown-source-view audio,body:not(.full-width-media-off) .markdown-source-view video,body:not(.full-width-media-off) .markdown-preview-view .image-embed img:not(.link-favicon):not(.emoji):not([width]),body:not(.full-width-media-off) .markdown-preview-view img:not(.link-favicon):not(.emoji):not([width]),body:not(.full-width-media-off) .markdown-preview-view .external-embed,body:not(.full-width-media-off) .markdown-preview-view audio,body:not(.full-width-media-off) .markdown-preview-view video{width:100%}.workspace-leaf-content[data-type=markdown] video,.workspace-leaf-content[data-type=markdown] img:not(.emoji),.workspace-leaf-content[data-type=markdown] .image-embed:not(.canvas-node-content),.workspace-leaf-content[data-type=markdown] iframe.external-embed{border-radius:var(--media-radius);max-width:100%}body.theme-dark .workspace-leaf-content[data-type=markdown] video,body.theme-dark .workspace-leaf-content[data-type=markdown] img:not(.emoji),body.theme-dark .workspace-leaf-content[data-type=markdown] .image-embed:not(.canvas-node-content),body.theme-dark .workspace-leaf-content[data-type=markdown] iframe.external-embed{transition:var(--anim-duration-moderate)}body.theme-dark .workspace-leaf-content[data-type=markdown] video:not(:hover),body.theme-dark .workspace-leaf-content[data-type=markdown] img:not(.emoji):not(:hover),body.theme-dark .workspace-leaf-content[data-type=markdown] .image-embed:not(.canvas-node-content):not(:hover),body.theme-dark .workspace-leaf-content[data-type=markdown] iframe.external-embed:not(:hover){opacity:var(--media-muted, 1)}.img-grid .markdown-preview-section .el-p>p:has(>.image-embed),.img-grid .markdown-preview-section .el-p>p:has(>img){--p-spacing: 4px;line-height:0;display:flex;gap:4px}.img-grid .markdown-preview-section .el-p>p:has(>.image-embed)>.image-embed,.img-grid .markdown-preview-section .el-p>p:has(>img)>.image-embed{flex-grow:1;flex-shrink:0}.img-grid .markdown-preview-section .el-p>p:has(>.image-embed) img,.img-grid .markdown-preview-section .el-p>p:has(>img) img{overflow:auto;height:100%;object-fit:cover}body.unstyled-tags{--tag-background: transparent;--tag-background-hover: transparent;--tag-border-width: 0px;--tag-padding-x: 0;--tag-padding-y: 0;--tag-size: inherit;--tag-color-hover: var(--text-accent-hover)}body.strike-lists-off{--checklist-done-decoration: none;--checklist-done-color: var(--text-normal)}.task-list-item{--indentation-guide-reading-indent: -1.05em}body.pdf-seamless{--pdf-shadow: none}body.theme-dark.pdf-invert-dark .pdf-container .pdfViewer .page{filter:invert(1) hue-rotate(180deg) contrast(0.75)}.pdf-container .pdfViewer .page{transition-duration:var(--anim-duration-moderate);transition-property:filter,opacity}.pdf-container .pdfViewer .page:not(:hover){opacity:var(--pdf-muted, 1)}}@media screen,print{body{--metadata-label-width: calc(9em * var(--metadata-label-width-multiplier, 1))}body.is-phone{--metadata-label-width: calc(7.5em * var(--metadata-label-width-multiplier, 1))}.metadata-container{--metadata-divider-width: 0 !important}.metadata-properties-heading{width:100%}.metadata-property-key-input,.metadata-input{border-bottom:none !important;box-shadow:none !important}.workspace>.workspace-split:not(.mod-root) .metadata-container .metadata-properties{--metadata-divider-width: 0px;--metadata-gap: 8px}.mod-root .metadata-container .metadata-show-source-button,.mod-root .metadata-container .metadata-add-button{gap:8px;padding-inline-start:8px;margin-left:-4px;margin-top:var(--metadata-gap)}body.metadata-heading-off .metadata-properties-heading{display:none}body.metadata-heading-off .hover-popover .metadata-container{display:none}body.metadata-add-property-off .metadata-add-button{display:none}body.metadata-icons-off .metadata-property-icon{display:none}.markdown-source-view .metadata-container,.markdown-preview-view .metadata-container{transform:none}body.metadata-block{--metadata-background: var(--background-primary-alt);--metadata-border-width: var(--border-width);--metadata-padding: 12px 16px}body.metadata-block.is-phone .metadata-container{--metadata-padding: 8px 12px}body.metadata-block .metadata-container{border-radius:var(--radius-s)}body.metadata-block .metadata-properties-heading.is-collapsed{margin-bottom:0}body.metadata-block .metadata-properties-heading .collapse-indicator{inset-inline-start:-16px}body.metadata-block .workspace-split:not(.mod-root) .metadata-container{padding:8px !important}body.metadata-cupertino{--metadata-gap: 0;--metadata-padding: 0}body.metadata-cupertino .metadata-properties-heading{display:none}body.metadata-cupertino .metadata-properties{border-radius:var(--radius-s);background-color:var(--background-primary-alt)}body.metadata-cupertino .metadata-property-key,body.metadata-cupertino .metadata-property-value{padding:4px 8px}body.metadata-cupertino .workspace-split:not(.mod-root) .metadata-container{padding:8px !important}body.metadata-cupertino .metadata-container .metadata-show-source-button,body.metadata-cupertino .metadata-container .metadata-add-button{display:flex;transition:var(--anim-duration-moderate) var(--anim-motion-baseline);margin-top:4px;margin-left:0;padding-top:4px;padding-bottom:4px;padding-inline-start:12px;width:fit-content}body.metadata-cupertino .markdown-reading-view .metadata-container:not(:hover) .metadata-show-source-button,body.metadata-cupertino .markdown-reading-view .metadata-container:not(:hover) .metadata-add-button{opacity:0;margin-top:0;padding-top:0;padding-bottom:0;height:0}}@media screen,print{body{--blockquote-background-color: var(--background-primary-alt);--blockquote-border-color: var(--color-base-50);--blockquote-border-thickness: 2px;--blockquote-size: var(--font-text-size)}.markdown-rendered blockquote,.HyperMD-quote{font-size:var(--blockquote-size)}.markdown-rendered blockquote{position:relative;border-radius:var(--radius-s);border-inline-start:none;padding-inline:calc(32px + var(--blockquote-border-thickness)) 16px;padding-block:16px}.markdown-rendered blockquote>blockquote{padding-inline-start:calc(16px + var(--blockquote-border-thickness));padding-block:0 !important}.markdown-rendered blockquote>blockquote::before{top:0;bottom:0;inset-inline-start:0}.markdown-rendered blockquote::before{position:absolute;top:16px;bottom:16px;inset-inline-start:16px;border-radius:var(--radius-s);background-color:var(--blockquote-border-color);width:var(--blockquote-border-thickness);pointer-events:none;content:""}.HyperMD-quote{border:solid var(--blockquote-background-color);border-width:0 16px 0 16px;background-color:var(--blockquote-background-color)}.HyperMD-quote::before{width:0 !important}.HyperMD-quote:first-child,.cm-sizer>div>div>*:not(.HyperMD-quote)+.HyperMD-quote{border-top-width:16px;border-start-start-radius:var(--radius-s);border-start-end-radius:var(--radius-s)}.HyperMD-quote:first-child::before,.cm-sizer>div>div>*:not(.HyperMD-quote)+.HyperMD-quote::before{border-start-start-radius:var(--radius-s);border-start-end-radius:var(--radius-s)}.HyperMD-quote:last-child,.cm-sizer>div>div>.HyperMD-quote:has(+*:not(.HyperMD-quote)){border-bottom-width:16px;border-end-start-radius:var(--radius-s);border-end-end-radius:var(--radius-s)}.HyperMD-quote:last-child::before,.cm-sizer>div>div>.HyperMD-quote:has(+*:not(.HyperMD-quote))::before{border-end-start-radius:var(--radius-s);border-end-end-radius:var(--radius-s)}body.blockquote-edge .markdown-rendered blockquote{border-radius:calc(var(--blockquote-border-thickness)/2) var(--radius-s) var(--radius-s) calc(var(--blockquote-border-thickness)/2);padding-inline:calc(var(--blockquote-border-thickness) + 16px) 16px;padding-block:12px}body.blockquote-edge .markdown-rendered blockquote::before{top:0;bottom:0;inset-inline-start:0}body.blockquote-edge .HyperMD-quote{border-width:0}body.blockquote-edge .HyperMD-quote:first-child,body.blockquote-edge .cm-line:not(.HyperMD-quote)+.HyperMD-quote{border-top-width:0;border-start-start-radius:calc(var(--blockquote-border-thickness)/2);padding-top:8px}body.blockquote-edge .HyperMD-quote:last-child,body.blockquote-edge .cm-line.HyperMD-quote:has(+.cm-line:not(.HyperMD-quote)){border-bottom-width:0;border-end-start-radius:calc(var(--blockquote-border-thickness)/2);padding-bottom:8px}cite{display:inline-block;width:100%;color:var(--text-muted);font-style:normal;font-size:var(--font-smaller);text-align:right}}@media screen,print{body{--callout-blend-mode: normal;--callout-border-width: var(--input-border-width);--callout-padding: 16px;--callout-size: var(--font-text-size)}.callout:not([data-callout=note-toolbar]){font-size:var(--callout-size)}.callout:not([data-callout=note-toolbar]) p:first-child,.callout:not([data-callout=note-toolbar]) .callout-content>*:first-child{margin-top:8px}.callout:not([data-callout=note-toolbar]) p:last-child,.callout:not([data-callout=note-toolbar]) .callout-content>*:last-child{margin-bottom:0 !important}.callout:not([data-callout=note-toolbar]) pre{box-shadow:none;border:var(--border-width) solid var(--background-modifier-border)}.callout:not([data-callout=note-toolbar]) .callout-title{align-items:center;gap:8px}.callout:not([data-callout=note-toolbar]).is-collapsible .callout-title{cursor:pointer}.callout:not([data-callout=note-toolbar]) .callout-title-inner{--p-spacing: 0;color:color-mix(in srgb, rgb(var(--callout-color)), var(--text-normal) 15%)}.callout:not([data-callout=note-toolbar]) .callout-fold{padding-inline-end:0}.callout:not([data-callout=note-toolbar]) .callout-content{margin-left:calc(var(--icon-size) + 8px)}.callout:not([data-callout]){--callout-color: var(--color-accent);background-color:hsla(var(--color-accent-hsl), 0.15);border-color:hsla(var(--color-accent-hsl), var(--callout-border-opacity))}.callout:not([data-callout]) .callout-title{color:var(--callout-color)}body.callouts-tactile .callout:not([data-callout=note-toolbar]){box-shadow:var(--shadow-tactile);background:linear-gradient(rgba(var(--callout-color), 0.1), rgba(var(--callout-color), 0.2))}body.callouts-padded.theme-light .callout:not([data-callout=note-toolbar]){background-color:rgba(var(--callout-color), 0.2)}body.callouts-padded.theme-light .callout:not([data-callout=note-toolbar]) .callout-content{--callout-content-background: color-mix(in srgb, rgb(var(--callout-color)) 10%, var(--background-primary))}body.callouts-padded.theme-dark .callout:not([data-callout=note-toolbar]){background-color:rgba(var(--callout-color), 0.3)}body.callouts-padded.theme-dark .callout:not([data-callout=note-toolbar]) .callout-content{--callout-content-background: color-mix(in srgb, rgb(var(--callout-color)) 15%, var(--background-primary))}body.callouts-padded .callout:not([data-callout=note-toolbar]){--callout-border-width: 0;--callout-padding: 4px;--callout-content-padding: 16px;--callout-radius: var(--radius-s);position:relative}body.callouts-padded .callout:not([data-callout=note-toolbar]) .callout-icon{width:56px;position:absolute;z-index:-1;opacity:.2;right:16px;top:8px}body.callouts-padded .callout:not([data-callout=note-toolbar]) .callout-icon svg.svg-icon{width:100%;height:100%}body.callouts-padded .callout:not([data-callout=note-toolbar]) .callout-title{margin:12px 12px 16px}body.callouts-padded .callout:not([data-callout=note-toolbar]) .callout-content{border-radius:calc(var(--callout-radius) - 4px);margin-left:0 !important;background:var(--callout-content-background)}body.callouts-padded .callout:not([data-callout=note-toolbar]) p:first-child,body.callouts-padded .callout:not([data-callout=note-toolbar]) .callout-content>*:first-child{margin-top:0}body.callouts-outlined .callout:not([data-callout=note-toolbar]){--callout-border-width: 2px;background-color:rgba(0,0,0,0);position:relative;overflow:visible}body.callouts-outlined .callout:not([data-callout=note-toolbar]) .callout-title{transform:translateY(-1.75rem);width:fit-content;padding:0 8px;background-color:var(--background-primary);max-width:90%}body.callouts-outlined .callout:not([data-callout=note-toolbar]) .callout-content{margin-left:0 !important;overflow:visible}body.callouts-outlined .callout:not([data-callout=note-toolbar]) p:first-child,body.callouts-outlined .callout:not([data-callout=note-toolbar]) .callout-content>*:first-child{margin-top:-1rem}body.callouts-outlined .markdown-source-view .cm-embed-block.cm-callout{contain:unset !important;overflow:visible !important;box-shadow:none !important}}@media screen,print{body{--table-add-button-border-width: 0;--table-header-border-color: transparent;--embed-block-shadow-hover: none}table,.markdown-source-view.mod-cm6 .cm-table-widget .table-wrapper{width:100%}:root table{border-collapse:separate;border-spacing:0}.markdown-preview-view table,.cm-sizer table{position:relative;border-radius:var(--radius-s)}.markdown-preview-view .table-cell-wrapper:active,.markdown-preview-view .table-cell-wrapper:focus,.markdown-preview-view .table-cell-wrapper:focus-within,.cm-sizer .table-cell-wrapper:active,.cm-sizer .table-cell-wrapper:focus,.cm-sizer .table-cell-wrapper:focus-within{background-color:var(--background-modifier-hover)}.markdown-preview-view tbody,.cm-sizer tbody{background-color:var(--background-primary-alt);position:relative}.markdown-preview-view thead>th,.markdown-preview-view tbody>tr:not(:last-child)>td,.cm-sizer thead>th,.cm-sizer tbody>tr:not(:last-child)>td{border-block-end:none}.markdown-preview-view thead>th:not(:last-child),.markdown-preview-view tbody>tr>td:not(:last-child),.cm-sizer thead>th:not(:last-child),.cm-sizer tbody>tr>td:not(:last-child){border-inline-end:none}.markdown-preview-view tbody>tr:first-child>td:first-child,.markdown-preview-view tbody>tr:first-child>td:first-child .table-cell-wrapper,.cm-sizer tbody>tr:first-child>td:first-child,.cm-sizer tbody>tr:first-child>td:first-child .table-cell-wrapper{border-start-start-radius:var(--radius-s)}.markdown-preview-view tbody>tr:first-child>td:last-child,.markdown-preview-view tbody>tr:first-child>td:last-child .table-cell-wrapper,.cm-sizer tbody>tr:first-child>td:last-child,.cm-sizer tbody>tr:first-child>td:last-child .table-cell-wrapper{border-start-end-radius:var(--radius-s)}.markdown-preview-view tbody>tr:last-child>td:first-child,.markdown-preview-view tbody>tr:last-child>td:first-child .table-cell-wrapper,.cm-sizer tbody>tr:last-child>td:first-child,.cm-sizer tbody>tr:last-child>td:first-child .table-cell-wrapper{border-end-start-radius:var(--radius-s)}.markdown-preview-view tbody>tr:last-child>td:last-child,.markdown-preview-view tbody>tr:last-child>td:last-child .table-cell-wrapper,.cm-sizer tbody>tr:last-child>td:last-child,.cm-sizer tbody>tr:last-child>td:last-child .table-cell-wrapper{border-end-end-radius:var(--radius-s)}.cm-html-embed th,.markdown-rendered th,.cm-html-embed td,.markdown-rendered td,.markdown-source-view.mod-cm6 .cm-table-widget .table-cell-wrapper{padding:8px}.cm-html-embed th,.markdown-rendered th{text-align:var(--table-text-align-header)}.cm-html-embed td,.markdown-rendered td{text-align:var(--table-text-align-body)}.dataview.table-view-table::before{border:none}.dataview.table-view-table tr:first-child>td{border-top:none}.dataview.table-view-table>thead>tr>th{border-bottom:none;font-weight:var(--table-header-weight);font-size:var(--table-header-size)}.dataview.table-view-table>tbody>tr:not(:only-child)>td{max-width:20em;text-wrap:nowrap}.dataview.table-view-table>tbody>tr:not(:only-child)>td:hover{text-wrap:wrap;word-break:break-word}.dataview.dataview-error-box{border:none;border-radius:var(--radius-s);background-color:var(--background-secondary);min-height:80px}}body{--bases-header-border-width: 0;--bases-table-header-color: var(--text-faint)}.bases-toolbar-menu-container{--bases-property-menu-item-radius: calc(var(--radius-m) - 4px)}.query-toolbar-menu{transition:none}.text-icon-button{border-radius:var(--clickable-icon-radius)}.menu .bases-toolbar-menu-form{padding:0}.menu.mod-filters{padding:4px}.menu.mod-filters .query-toolbar-section-header{padding:8px}.bases-cards-label{color:var(--text-faint)}.bases-table-container.mod-multiline .bases-table-cell{align-items:var(--bases-table-align-items, start)}.bases-thead .bases-td{box-shadow:none;border-radius:var(--radius-s);overflow:visible}.bases-thead .bases-td:hover{--bases-table-header-color: var(--text-normal)}.bases-table-header-resizer{border-radius:var(--radius-s)}.bases-table-cell>*{text-overflow:ellipsis;overflow:hidden}.bases-table-numbers .bases-table{counter-reset:section}.bases-table-numbers .bases-table .bases-tr>.bases-td:first-child{white-space:nowrap}.bases-table-numbers .bases-table .bases-tr>.bases-td:first-child .bases-table-header-label,.bases-table-numbers .bases-table .bases-tr>.bases-td:first-child .bases-table-header-name{padding-inline-start:0}.bases-table-numbers .bases-table .bases-tr>.bases-td:first-child::before{content:" ";padding-right:.5em;display:inline-block;min-width:2em}.bases-table-numbers .bases-table .bases-tbody .bases-tr>.bases-td:first-child::before{counter-increment:section;content:counter(section) " ";text-align:center;color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:var(--bases-table-text-size)}body.bases-row-alt .bases-tbody .bases-tr:nth-child(odd){background-color:var(--background-secondary)}body.bases-col-alt .bases-tbody .bases-tr>.bases-td:nth-child(2n+2){background-color:var(--background-secondary)}.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view{border:none;border-radius:0}.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-thead,.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody,.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody>.bases-tr:first-child,.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody>.bases-tr>.bases-td:first-child{box-shadow:none}.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody{border:var(--bases-embed-border-width) solid var(--bases-embed-border-color);border-radius:var(--bases-embed-border-radius);overflow:hidden}body:not(.layout-cards,.layout-border,.layout-frame).show-ribbon:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{padding-left:0}body:not(.layout-cards,.layout-border,.layout-frame).show-ribbon:not(.stacked-nav-off) .mod-sidedock.mod-left-split .workspace-leaf-content>.node-insert-event,body:not(.layout-cards,.layout-border,.layout-frame).show-ribbon:not(.stacked-nav-off) .mod-sidedock.mod-left-split .workspace-leaf-content>.view-content{padding-left:8px}body.layout-classic:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .sidebar-toggle-button::after,body.layout-minimal:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .sidebar-toggle-button::after{height:var(--tab-outline-width);background-color:var(--tab-outline-color);content:"";position:absolute;inset:auto -100vw -8px}body.layout-classic:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container,body.layout-minimal:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{border-bottom:none}body.layout-classic:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container-inner,body.layout-minimal:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container-inner{overflow:visible;position:relative;padding-top:8px}body.layout-classic:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-leaf-content>.nav-header,body.layout-classic:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-leaf-content>.view-content>div:not(.nav-buttons-container):not(.graph-controls),body.layout-minimal:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-leaf-content>.nav-header,body.layout-minimal:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-leaf-content>.view-content>div:not(.nav-buttons-container):not(.graph-controls){padding-top:0;padding-bottom:8px}body.layout-classic:not(.is-mobile) .mod-sidedock>.workspace-leaf-resize-handle,body.layout-minimal:not(.is-mobile) .mod-sidedock>.workspace-leaf-resize-handle{border-color:var(--background-modifier-border)}body.layout-classic:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.nav-header,body.layout-classic:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content>div:not(.nav-buttons-container):not(.graph-controls),body.layout-minimal:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.nav-header,body.layout-minimal:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content>div:not(.nav-buttons-container):not(.graph-controls){padding-top:8px;padding-bottom:0}body.layout-classic:not(.is-mobile) .mod-root,body.layout-minimal:not(.is-mobile) .mod-root{background-color:var(--background-secondary)}body.layout-classic:not(.is-mobile) .mod-root .workspace-tabs .workspace-tab-container,body.layout-minimal:not(.is-mobile) .mod-root .workspace-tabs .workspace-tab-container{border-radius:0}body.layout-classic:not(.is-mobile).show-ribbon .workspace-ribbon.mod-left,body.layout-minimal:not(.is-mobile).show-ribbon .workspace-ribbon.mod-left{padding-top:calc(var(--header-height) + 8px)}body.layout-classic:not(.is-mobile):not(.colorful-frame):not(.theme-light.contrast-light-vivid),body.layout-minimal:not(.is-mobile):not(.colorful-frame):not(.theme-light.contrast-light-vivid){--tab-outline-width: var(--border-width)}body.layout-classic:not(.is-mobile):not(.colorful-frame):not(.theme-light.contrast-light-vivid) .mod-root .workspace-tab-header-container-inner,body.layout-minimal:not(.is-mobile):not(.colorful-frame):not(.theme-light.contrast-light-vivid) .mod-root .workspace-tab-header-container-inner{padding-top:1px;margin-bottom:-1px}body.layout-classic:not(.is-mobile).tabs-underline .mod-root .workspace-tab-header-container-inner,body.layout-minimal:not(.is-mobile).tabs-underline .mod-root .workspace-tab-header-container-inner{--tab-outline-width: 0}body.layout-classic:not(.is-mobile).tabs-floating .mod-root .workspace-tab-header-container-inner,body.layout-minimal:not(.is-mobile).tabs-floating .mod-root .workspace-tab-header-container-inner{padding-right:1px}body.layout-classic:not(.is-mobile).status-bar-full,body.layout-minimal:not(.is-mobile).status-bar-full{--status-bar-border-width: 1px 0 0 0}body.layout-minimal:not(.is-mobile).tabs-floating{--tab-background-active: var(--background-modifier-hover);--tab-outline-width: 0}body.layout-minimal:not(.is-mobile).tabs-floating .mod-root{--tab-outline-width: 0 !important}body.layout-minimal:not(.is-mobile).tabs-floating .mod-root .workspace-tab-header-container-inner{padding-top:0;margin-bottom:0}body.layout-minimal:not(.is-mobile).theme-light.contrast-light-vivid .mod-root .workspace-tab-header-container-inner{padding-top:1px;margin-bottom:-1px}body.layout-minimal:not(.is-mobile) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container{border-bottom:none}body.layout-minimal:not(.is-mobile) .mod-root,body.layout-minimal:not(.is-mobile) .mod-sidedock.mod-right-split,body.layout-minimal:not(.is-mobile) .mod-sidedock.mod-right-split .workspace-tabs .workspace-leaf{background-color:var(--background-primary)}body.layout-cards:not(.is-mobile) .mod-sidedock .workspace-leaf-resize-handle:not(:hover){border-color:rgba(0,0,0,0)}body.layout-cards:not(.is-mobile) .mod-sidedock .workspace-tabs{overflow:visible}body.layout-cards:not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-container{margin:0 8px;background-color:var(--background-primary);border-radius:var(--radius-l)}body.layout-cards:not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-leaf{background-color:rgba(0,0,0,0)}body.layout-cards:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.nav-header,body.layout-cards:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content>div:not(.nav-buttons-container):not(.graph-controls){padding-top:8px;padding-bottom:0}body.layout-cards:not(.is-mobile) .mod-sidedock .workspace-sidedock-vault-profile{padding:16px}body.layout-cards:not(.is-mobile) .workspace.is-left-sidedock-open .mod-root .workspace-tab-header-container-inner{padding-left:calc(var(--radius-l) + 8px)}body.layout-cards:not(.is-mobile) .workspace:not(.is-left-sidedock-open) .mod-root .workspace-tab-container{margin-left:8px}body.layout-cards:not(.is-mobile) .workspace:not(.is-right-sidedock-open) .mod-root .workspace-tab-container{margin-right:8px}body.layout-cards:not(.is-mobile) .mod-root .workspace-tabs .workspace-tab-container{border-radius:var(--radius-l)}body.layout-cards:not(.is-mobile).show-ribbon .mod-sidedock.mod-left-split .workspace-tabs .workspace-tab-container{margin-left:0}body.layout-cards:not(.is-mobile).show-ribbon:not(.stacked-nav-off) .mod-top-left-space .workspace-tab-header-container{padding-left:0}body.layout-cards:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container-inner{padding:12px 16px;background-color:var(--background-primary);border-radius:var(--radius-l)}body.layout-cards:not(.is-mobile):not(.status-bar-full) .workspace-split{padding-bottom:8px}body.layout-cards:not(.is-mobile):not(.status-bar-full) .status-bar{bottom:8px;right:8px}body.layout-cards:not(.is-mobile).tabs-underline .workspace.is-left-sidedock-open .mod-root .workspace-tab-header-container-inner{padding-left:var(--radius-l)}body.layout-cards:not(.is-mobile).tabs-floating .workspace.is-left-sidedock-open .mod-root .workspace-tab-header-container-inner{padding-left:calc(var(--radius-l)/2)}body.layout-cards:not(.is-mobile).status-bar-default .status-bar{border:none}body.layout-border:not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-leaf{background-color:var(--background-primary) !important}body.layout-border:not(.is-mobile) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container{background-color:var(--background-primary) !important}body.layout-border:not(.is-mobile) .mod-sidedock .workspace-leaf-resize-handle{border-color:var(--background-modifier-border) !important}body.layout-border:not(.is-mobile) .mod-sidedock>.workspace-leaf-resize-handle{top:var(--header-height);bottom:8px;height:unset}body.layout-border:not(.is-mobile) .mod-sidedock.mod-horizontal>*>.workspace-leaf-resize-handle{width:-webkit-fill-available}body.layout-border:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.nav-header,body.layout-border:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content>div:not(.nav-buttons-container):not(.graph-controls){padding-top:8px;padding-bottom:0}body.layout-border:not(.is-mobile) .mod-sidedock .workspace-sidedock-vault-profile{padding-bottom:16px}body.layout-border:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-tabs .workspace-tab-container{margin-left:8px}body.layout-border:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-tabs.mod-top .workspace-tab-container{border-top-left-radius:var(--radius-l)}body.layout-border:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-tabs:last-child .workspace-tab-container{border-bottom-left-radius:var(--radius-l)}body.layout-border:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container{margin-left:8px}body.layout-border:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-leaf-resize-handle{margin-left:8px}body.layout-border:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{margin-right:-8px;margin-bottom:-8px}body.layout-border:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container-inner{padding-top:12px;padding-left:16px;background-color:var(--background-primary);border-top-left-radius:var(--radius-l)}body.layout-border:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .sidebar-toggle-button{margin-right:8px}body.layout-border:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space.workspace-tabs .workspace-tab-container{border-top-left-radius:0}body.layout-border:not(.is-mobile) .mod-sidedock.mod-right-split .workspace-tabs .workspace-tab-container{margin-right:8px}body.layout-border:not(.is-mobile) .mod-sidedock.mod-right-split .workspace-tabs.mod-top .workspace-tab-container{border-top-right-radius:var(--radius-l)}body.layout-border:not(.is-mobile) .mod-sidedock.mod-right-split .workspace-tabs:last-child .workspace-tab-container{border-bottom-right-radius:var(--radius-l)}body.layout-border:not(.is-mobile) .mod-sidedock.mod-right-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container{margin-right:8px}body.layout-border:not(.is-mobile) .mod-sidedock.mod-right-split .workspace-leaf-resize-handle{margin-right:8px}body.layout-border:not(.is-mobile) .mod-root .workspace-tabs .workspace-tab-container{border-radius:0}body.layout-border:not(.is-mobile) .workspace:not(.is-left-sidedock-open) .mod-root{padding-left:8px}body.layout-border:not(.is-mobile) .workspace:not(.is-left-sidedock-open) .mod-root .workspace-tab-container{border-top-left-radius:var(--radius-l);border-bottom-left-radius:var(--radius-l)}body.layout-border:not(.is-mobile) .workspace:not(.is-right-sidedock-open) .mod-root{padding-right:8px}body.layout-border:not(.is-mobile) .workspace:not(.is-right-sidedock-open) .mod-root .workspace-tab-container{border-top-right-radius:var(--radius-l);border-bottom-right-radius:var(--radius-l)}body.layout-border:not(.is-mobile).show-ribbon .mod-sidedock.mod-left-split .workspace-tabs .workspace-tab-container{margin-left:0}body.layout-border:not(.is-mobile).show-ribbon:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{padding-left:0}body.layout-border:not(.is-mobile).show-ribbon:not(.mod-macos,.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container-inner{margin-top:calc(var(--header-height) - 8px)}body.layout-border:not(.is-mobile).show-ribbon .workspace:not(.is-left-sidedock-open) .mod-root{padding-left:0}body.layout-border:not(.is-mobile):not(.status-bar-full) .workspace-split{padding-bottom:8px}body.layout-border:not(.is-mobile):not(.status-bar-full) .status-bar{bottom:8px;right:8px}body.layout-border:not(.is-mobile).status-bar-default .status-bar{border:none}body.layout-frame:not(.is-mobile) .workspace{padding:4px;background-color:var(--background-secondary)}body.layout-frame:not(.is-mobile) .workspace::before{content:"";position:absolute;inset:0;background-color:var(--background-secondary)}body.layout-frame:not(.is-mobile) .workspace-ribbon,body.layout-frame:not(.is-mobile) .workspace-split{margin:4px;height:unset;background-color:var(--background-primary);border-radius:var(--radius-s);border:var(--border-width) solid var(--background-modifier-border);overflow:hidden}body.layout-frame:not(.is-mobile) .workspace-tabs .workspace-leaf{background-color:rgba(0,0,0,0)}body.layout-frame:not(.is-mobile) .mod-root{overflow:hidden}body.layout-frame:not(.is-mobile) .mod-root .workspace-tabs .workspace-tab-container{border-radius:0}body.layout-frame:not(.is-mobile).show-ribbon.mod-macos .workspace-ribbon{--ribbon-width: calc(var(--header-height) + 28px)}body.layout-frame:not(.is-mobile).show-ribbon.mod-macos .workspace:not(.is-left-sidedock-open) .mod-root{--frame-left-space: 0px}body.layout-frame:not(.is-mobile).is-frameless:not(.is-hidden-frameless) .workspace{padding-top:0}body.layout-frame:not(.is-mobile).is-frameless:not(.is-hidden-frameless) .workspace-ribbon,body.layout-frame:not(.is-mobile).is-frameless:not(.is-hidden-frameless) .workspace-split{margin-top:0}body.layout-frame:not(.is-mobile):not(.mod-macos).is-frameless.is-hidden-frameless .titlebar{height:var(--header-height);top:8px;right:8px}body.layout-frame:not(.is-mobile):not(.mod-macos).is-frameless.is-hidden-frameless .titlebar .titlebar-button-container.mod-right{border-top-right-radius:var(--radius-s);overflow:hidden}body.layout-frame:not(.is-mobile):not(.tabs-floating,.tabs-underline,.theme-light.contrast-light-vivid,.colorful-frame) .mod-root{--tab-outline-width: var(--border-width)}body.layout-frame:not(.is-mobile):not(.tabs-floating,.tabs-underline,.theme-light.contrast-light-vivid,.colorful-frame) .mod-root .workspace-tab-header-container-inner{padding-top:1px;margin-bottom:-1px}body.layout-frame:not(.is-mobile):not(.status-bar-full,.status-bar-cupertino) .status-bar{right:8px;bottom:8px}body.layout-frame:not(.is-mobile).theme-light.contrast-light-vivid .workspace-ribbon,body.layout-frame:not(.is-mobile).theme-light.contrast-light-vivid .workspace-split{border-color:#424242}body.layout-frame:not(.is-mobile).theme-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{background-color:var(--background-primary)}body.layout-frame:not(.is-mobile).show-ribbon.stacked-nav-off .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{padding-left:0}body.layout-frame:not(.is-mobile).tabs-floating{--tab-background-active: var(--background-modifier-hover)}body.layout-frame:not(.is-mobile).tabs-underline .mod-root .workspace-tab-header-container{border-bottom-width:var(--border-width)}body.layout-frame:not(.is-mobile).status-bar-full .workspace{padding-bottom:0}body.layout-frame:not(.is-mobile).status-bar-full .workspace .workspace-ribbon,body.layout-frame:not(.is-mobile).status-bar-full .workspace .workspace-split{margin-bottom:0}body.layout-cupertino:not(.is-mobile).theme-light .mod-root .workspace-tab-container{box-shadow:rgba(0,0,0,.04) 0px 24px 48px,rgba(0,0,0,.02) 0px 4px 16px}body.layout-cupertino:not(.is-mobile).theme-dark .mod-root .workspace-tab-container{box-shadow:rgba(0,0,0,.16) 0px 24px 48px,rgba(0,0,0,.12) 0px 4px 16px}body.layout-cupertino:not(.is-mobile) .mod-root{z-index:1}body.layout-cupertino:not(.is-mobile) .mod-root .workspace-tabs,body.layout-cupertino:not(.is-mobile) .mod-root .workspace-tab-container{overflow:visible}body.layout-cupertino:not(.is-mobile) .mod-root .workspace-tab-container{overflow:visible;outline:var(--border-width) solid var(--background-modifier-border)}body.layout-cupertino:not(.is-mobile) .mod-root .workspace-leaf{border-radius:var(--radius-s)}body.layout-cupertino:not(.is-mobile):not(.tabs-floating):not(.tabs-underline):not(.theme-light.contrast-light-vivid) .mod-root .workspace-tab-header-container-inner{--tab-outline-width: var(--border-width);padding-top:1px;margin-bottom:-1px}body.layout-cupertino:not(.is-mobile):not(.status-bar-full) .mod-root .workspace-tab-container{margin-bottom:8px}body.layout-cupertino:not(.is-mobile).tabs-floating{--tab-background-active: var(--background-modifier-hover)}body.layout-macos:not(.is-mobile){--nav-collapse-icon-color: rgb(var(--mono-rgb-100))}body.layout-macos:not(.is-mobile).is-translucent .mod-root{background-color:var(--background-primary) !important}body.layout-macos:not(.is-mobile):not(.is-translucent) .app-container{background-color:var(--background-primary)}body.layout-macos:not(.is-mobile):not(.is-translucent) .app-container .mod-root{background-color:rgba(0,0,0,0)}body.layout-macos:not(.is-mobile).is-frameless:not(.is-hidden-frameless) .titlebar{background-color:var(--background-primary)}body.layout-macos:not(.is-mobile).is-frameless:not(.is-hidden-frameless) .mod-sidedock.mod-right-split>.workspace-leaf-resize-handle{top:0}body.layout-macos:not(.is-mobile):not(.is-focused){--workspace-background-translucent: var(--background-secondary)}body.layout-macos:not(.is-mobile):not(.is-focused) .workspace-ribbon,body.layout-macos:not(.is-mobile):not(.is-focused) .mod-sidedock>div,body.layout-macos:not(.is-mobile):not(.is-focused) .mod-root .workspace-tab-header-container{opacity:.5}body.layout-macos:not(.is-mobile):not(.is-focused) .mod-sidedock{background-color:var(--color-base-20) !important;box-shadow:none !important}body.layout-macos:not(.is-mobile) .workspace-tabs .workspace-leaf{background-color:rgba(0,0,0,0)}body.layout-macos:not(.is-mobile).is-fullscreen .mod-sidedock.mod-left-split{border-radius:var(--radius-m)}body.layout-macos:not(.is-mobile):not(.is-translucent) .mod-sidedock{background-color:color-mix(in srgb, var(--background-primary) 98%, var(--color-accent))}body.layout-macos:not(.is-mobile).theme-light .mod-sidedock.mod-left-split{outline:var(--border-width) solid #fff;box-shadow:0 0 16px rgba(0,0,0,.05),0 4px 32px rgba(0,0,0,.05),-64px 0px 0 64px var(--background-primary)}body.layout-macos:not(.is-mobile).theme-dark .mod-sidedock.mod-left-split{outline:var(--border-width) solid var(--background-modifier-border);box-shadow:0 4px 24px rgba(0,0,0,.25),-32px 0px 0 32px var(--background-primary)}body.layout-macos:not(.is-mobile) .mod-sidedock.mod-left-split{z-index:var(--layer-sidedock);border-radius:var(--radius-m);display:flex;margin:8px 0 8px 8px;height:-webkit-fill-available;overflow:hidden}body.layout-macos:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-tab-header-container{gap:16px}body.layout-macos:not(.is-mobile) .mod-sidedock.mod-left-split .mod-sidedock .workspace-leaf-content>.nav-header{padding:0 8px 8px}body.layout-macos:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-leaf-content>.node-insert-event,body.layout-macos:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-leaf-content>.view-content{padding:2px 8px 0}body.layout-macos:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .sidebar-toggle-button{height:16px;align-items:center;margin-right:-4px}body.layout-macos:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .sidebar-toggle-button .clickable-icon{height:calc(var(--header-height) - 24px)}body.layout-macos:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{padding-left:0}body.layout-macos:not(.is-mobile) .mod-sidedock.mod-right-split>.workspace-leaf-resize-handle{border-inline-start:var(--divider-width) solid var(--divider-color)}body.layout-macos:not(.is-mobile).tabs-floating{--tab-background-active: var(--background-modifier-hover)}body.layout-macos:not(.is-mobile).stacked-nav-off .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{height:calc(var(--header-height) - 16px);padding:4px 4px 4px max(4px,var(--frame-left-space) - 8px)}body.layout-macos:not(.is-mobile).stacked-nav-off .mod-sidedock.mod-left-split .workspace-leaf-content>.nav-header{padding-top:8px}body.layout-macos:not(.is-mobile).nav-item-subtle{--nav-item-color: rgb(var(--mono-rgb-100));--nav-item-color-active: var(--text-accent)}body.layout-macos:not(.is-mobile).nav-item-subtle.theme-dark{--nav-item-background-active: rgba(0, 0, 0, 0.5)}input[type=checkbox]:checked{border:none}input[type=checkbox]:checked::after,.checklist-plugin-main .checked:after{top:0;inset-inline-start:0;-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%}input[type=checkbox][data-indeterminate=true]:not(:checked){--checkbox-color: var(--checkbox-border-color) !important;background-color:var(--checkbox-color)}input[type=checkbox][data-indeterminate=true]:not(:checked):after{top:0;inset-inline-start:0;-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%;background-color:var(--checkbox-marker-color);width:var(--checkbox-size);height:var(--checkbox-size)}li[data-task][data-task=">"],li[data-task][data-task=">"] input[type=checkbox]:checked,li[data-task][data-task="<"],li[data-task][data-task="<"] input[type=checkbox]:checked,li[data-task][data-task="*"],li[data-task][data-task="*"] input[type=checkbox]:checked,li[data-task][data-task='"'],li[data-task][data-task='"'] input[type=checkbox]:checked,li[data-task][data-task=“],li[data-task][data-task=“] input[type=checkbox]:checked,li[data-task][data-task=l],li[data-task][data-task=l] input[type=checkbox]:checked,li[data-task][data-task=b],li[data-task][data-task=b] input[type=checkbox]:checked,li[data-task][data-task=S],li[data-task][data-task=S] input[type=checkbox]:checked,li[data-task][data-task=I],li[data-task][data-task=I] input[type=checkbox]:checked,li[data-task][data-task=p],li[data-task][data-task=p] input[type=checkbox]:checked,li[data-task][data-task=c],li[data-task][data-task=c] input[type=checkbox]:checked,li[data-task][data-task=f],li[data-task][data-task=f] input[type=checkbox]:checked,li[data-task][data-task=k],li[data-task][data-task=k] input[type=checkbox]:checked,li[data-task][data-task=w],li[data-task][data-task=w] input[type=checkbox]:checked,li[data-task][data-task=u],li[data-task][data-task=u] input[type=checkbox]:checked,li[data-task][data-task=d],li[data-task][data-task=d] input[type=checkbox]:checked,li[data-task][data-task=B],li[data-task][data-task=B] input[type=checkbox]:checked,li[data-task][data-task=a],li[data-task][data-task=a] input[type=checkbox]:checked,li[data-task][data-task=n],li[data-task][data-task=n] input[type=checkbox]:checked,li[data-task][data-task=R],li[data-task][data-task=R] input[type=checkbox]:checked,li[data-task][data-task=t],li[data-task][data-task=t] input[type=checkbox]:checked,li[data-task][data-task=P],li[data-task][data-task=P] input[type=checkbox]:checked,li[data-task][data-task=L],li[data-task][data-task=L] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=">"],input[type=checkbox][data-task]:checked[data-task=">"] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task="<"],input[type=checkbox][data-task]:checked[data-task="<"] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task="*"],input[type=checkbox][data-task]:checked[data-task="*"] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task='"'],input[type=checkbox][data-task]:checked[data-task='"'] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=“],input[type=checkbox][data-task]:checked[data-task=“] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=l],input[type=checkbox][data-task]:checked[data-task=l] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=b],input[type=checkbox][data-task]:checked[data-task=b] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=S],input[type=checkbox][data-task]:checked[data-task=S] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=I],input[type=checkbox][data-task]:checked[data-task=I] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=p],input[type=checkbox][data-task]:checked[data-task=p] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=c],input[type=checkbox][data-task]:checked[data-task=c] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=f],input[type=checkbox][data-task]:checked[data-task=f] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=k],input[type=checkbox][data-task]:checked[data-task=k] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=w],input[type=checkbox][data-task]:checked[data-task=w] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=u],input[type=checkbox][data-task]:checked[data-task=u] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=d],input[type=checkbox][data-task]:checked[data-task=d] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=B],input[type=checkbox][data-task]:checked[data-task=B] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=a],input[type=checkbox][data-task]:checked[data-task=a] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=n],input[type=checkbox][data-task]:checked[data-task=n] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=R],input[type=checkbox][data-task]:checked[data-task=R] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=t],input[type=checkbox][data-task]:checked[data-task=t] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=P],input[type=checkbox][data-task]:checked[data-task=P] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=L],input[type=checkbox][data-task]:checked[data-task=L] input[type=checkbox]:checked{--checkbox-color: transparent}li[data-task][data-task=">"]:hover,li[data-task][data-task=">"] input[type=checkbox]:checked:hover,li[data-task][data-task="<"]:hover,li[data-task][data-task="<"] input[type=checkbox]:checked:hover,li[data-task][data-task="*"]:hover,li[data-task][data-task="*"] input[type=checkbox]:checked:hover,li[data-task][data-task='"']:hover,li[data-task][data-task='"'] input[type=checkbox]:checked:hover,li[data-task][data-task=“]:hover,li[data-task][data-task=“] input[type=checkbox]:checked:hover,li[data-task][data-task=l]:hover,li[data-task][data-task=l] input[type=checkbox]:checked:hover,li[data-task][data-task=b]:hover,li[data-task][data-task=b] input[type=checkbox]:checked:hover,li[data-task][data-task=S]:hover,li[data-task][data-task=S] input[type=checkbox]:checked:hover,li[data-task][data-task=I]:hover,li[data-task][data-task=I] input[type=checkbox]:checked:hover,li[data-task][data-task=p]:hover,li[data-task][data-task=p] input[type=checkbox]:checked:hover,li[data-task][data-task=c]:hover,li[data-task][data-task=c] input[type=checkbox]:checked:hover,li[data-task][data-task=f]:hover,li[data-task][data-task=f] input[type=checkbox]:checked:hover,li[data-task][data-task=k]:hover,li[data-task][data-task=k] input[type=checkbox]:checked:hover,li[data-task][data-task=w]:hover,li[data-task][data-task=w] input[type=checkbox]:checked:hover,li[data-task][data-task=u]:hover,li[data-task][data-task=u] input[type=checkbox]:checked:hover,li[data-task][data-task=d]:hover,li[data-task][data-task=d] input[type=checkbox]:checked:hover,li[data-task][data-task=B]:hover,li[data-task][data-task=B] input[type=checkbox]:checked:hover,li[data-task][data-task=a]:hover,li[data-task][data-task=a] input[type=checkbox]:checked:hover,li[data-task][data-task=n]:hover,li[data-task][data-task=n] input[type=checkbox]:checked:hover,li[data-task][data-task=R]:hover,li[data-task][data-task=R] input[type=checkbox]:checked:hover,li[data-task][data-task=t]:hover,li[data-task][data-task=t] input[type=checkbox]:checked:hover,li[data-task][data-task=P]:hover,li[data-task][data-task=P] input[type=checkbox]:checked:hover,li[data-task][data-task=L]:hover,li[data-task][data-task=L] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=">"]:hover,input[type=checkbox][data-task]:checked[data-task=">"] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task="<"]:hover,input[type=checkbox][data-task]:checked[data-task="<"] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task="*"]:hover,input[type=checkbox][data-task]:checked[data-task="*"] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task='"']:hover,input[type=checkbox][data-task]:checked[data-task='"'] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=“]:hover,input[type=checkbox][data-task]:checked[data-task=“] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=l]:hover,input[type=checkbox][data-task]:checked[data-task=l] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=b]:hover,input[type=checkbox][data-task]:checked[data-task=b] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=S]:hover,input[type=checkbox][data-task]:checked[data-task=S] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=I]:hover,input[type=checkbox][data-task]:checked[data-task=I] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=p]:hover,input[type=checkbox][data-task]:checked[data-task=p] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=c]:hover,input[type=checkbox][data-task]:checked[data-task=c] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=f]:hover,input[type=checkbox][data-task]:checked[data-task=f] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=k]:hover,input[type=checkbox][data-task]:checked[data-task=k] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=w]:hover,input[type=checkbox][data-task]:checked[data-task=w] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=u]:hover,input[type=checkbox][data-task]:checked[data-task=u] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=d]:hover,input[type=checkbox][data-task]:checked[data-task=d] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=B]:hover,input[type=checkbox][data-task]:checked[data-task=B] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=a]:hover,input[type=checkbox][data-task]:checked[data-task=a] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=n]:hover,input[type=checkbox][data-task]:checked[data-task=n] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=R]:hover,input[type=checkbox][data-task]:checked[data-task=R] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=t]:hover,input[type=checkbox][data-task]:checked[data-task=t] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=P]:hover,input[type=checkbox][data-task]:checked[data-task=P] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=L]:hover,input[type=checkbox][data-task]:checked[data-task=L] input[type=checkbox]:checked:hover{background-color:rgba(0,0,0,0)}li[data-task][data-task=">"]:hover::after,li[data-task][data-task=">"] input[type=checkbox]:checked:hover::after,li[data-task][data-task="<"]:hover::after,li[data-task][data-task="<"] input[type=checkbox]:checked:hover::after,li[data-task][data-task="*"]:hover::after,li[data-task][data-task="*"] input[type=checkbox]:checked:hover::after,li[data-task][data-task='"']:hover::after,li[data-task][data-task='"'] input[type=checkbox]:checked:hover::after,li[data-task][data-task=“]:hover::after,li[data-task][data-task=“] input[type=checkbox]:checked:hover::after,li[data-task][data-task=l]:hover::after,li[data-task][data-task=l] input[type=checkbox]:checked:hover::after,li[data-task][data-task=b]:hover::after,li[data-task][data-task=b] input[type=checkbox]:checked:hover::after,li[data-task][data-task=S]:hover::after,li[data-task][data-task=S] input[type=checkbox]:checked:hover::after,li[data-task][data-task=I]:hover::after,li[data-task][data-task=I] input[type=checkbox]:checked:hover::after,li[data-task][data-task=p]:hover::after,li[data-task][data-task=p] input[type=checkbox]:checked:hover::after,li[data-task][data-task=c]:hover::after,li[data-task][data-task=c] input[type=checkbox]:checked:hover::after,li[data-task][data-task=f]:hover::after,li[data-task][data-task=f] input[type=checkbox]:checked:hover::after,li[data-task][data-task=k]:hover::after,li[data-task][data-task=k] input[type=checkbox]:checked:hover::after,li[data-task][data-task=w]:hover::after,li[data-task][data-task=w] input[type=checkbox]:checked:hover::after,li[data-task][data-task=u]:hover::after,li[data-task][data-task=u] input[type=checkbox]:checked:hover::after,li[data-task][data-task=d]:hover::after,li[data-task][data-task=d] input[type=checkbox]:checked:hover::after,li[data-task][data-task=B]:hover::after,li[data-task][data-task=B] input[type=checkbox]:checked:hover::after,li[data-task][data-task=a]:hover::after,li[data-task][data-task=a] input[type=checkbox]:checked:hover::after,li[data-task][data-task=n]:hover::after,li[data-task][data-task=n] input[type=checkbox]:checked:hover::after,li[data-task][data-task=R]:hover::after,li[data-task][data-task=R] input[type=checkbox]:checked:hover::after,li[data-task][data-task=t]:hover::after,li[data-task][data-task=t] input[type=checkbox]:checked:hover::after,li[data-task][data-task=P]:hover::after,li[data-task][data-task=P] input[type=checkbox]:checked:hover::after,li[data-task][data-task=L]:hover::after,li[data-task][data-task=L] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=">"]:hover::after,input[type=checkbox][data-task]:checked[data-task=">"] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task="<"]:hover::after,input[type=checkbox][data-task]:checked[data-task="<"] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task="*"]:hover::after,input[type=checkbox][data-task]:checked[data-task="*"] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task='"']:hover::after,input[type=checkbox][data-task]:checked[data-task='"'] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=“]:hover::after,input[type=checkbox][data-task]:checked[data-task=“] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=l]:hover::after,input[type=checkbox][data-task]:checked[data-task=l] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=b]:hover::after,input[type=checkbox][data-task]:checked[data-task=b] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=S]:hover::after,input[type=checkbox][data-task]:checked[data-task=S] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=I]:hover::after,input[type=checkbox][data-task]:checked[data-task=I] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=p]:hover::after,input[type=checkbox][data-task]:checked[data-task=p] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=c]:hover::after,input[type=checkbox][data-task]:checked[data-task=c] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=f]:hover::after,input[type=checkbox][data-task]:checked[data-task=f] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=k]:hover::after,input[type=checkbox][data-task]:checked[data-task=k] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=w]:hover::after,input[type=checkbox][data-task]:checked[data-task=w] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=u]:hover::after,input[type=checkbox][data-task]:checked[data-task=u] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=d]:hover::after,input[type=checkbox][data-task]:checked[data-task=d] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=B]:hover::after,input[type=checkbox][data-task]:checked[data-task=B] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=a]:hover::after,input[type=checkbox][data-task]:checked[data-task=a] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=n]:hover::after,input[type=checkbox][data-task]:checked[data-task=n] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=R]:hover::after,input[type=checkbox][data-task]:checked[data-task=R] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=t]:hover::after,input[type=checkbox][data-task]:checked[data-task=t] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=P]:hover::after,input[type=checkbox][data-task]:checked[data-task=P] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=L]:hover::after,input[type=checkbox][data-task]:checked[data-task=L] input[type=checkbox]:checked:hover::after{background-color:var(--checkbox-color-hover)}input[data-task="/"]:checked,li[data-task="/"]>input:checked,li[data-task="/"]>p>input:checked{border:1px solid var(--interactive-accent);background:linear-gradient(to right, var(--interactive-accent) 50%, transparent 50%)}input[data-task="/"]:checked::after,li[data-task="/"]>input:checked::after,li[data-task="/"]>p>input:checked::after{display:none}.task-list-item:not([data-task]) input[type=checkbox],.checked:after,div:checked::after,input[type=checkbox]:checked::after,.tasks-modal-checkbox:checked::after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='m12.998 6.084-4.17 6.7-1.982-2.56c-.244-.322-.46-.41-.742-.41a.788.788 0 0 0-.782.801c0 .225.088.44.235.635l2.45 3.008c.255.342.528.478.86.478.332 0 .615-.156.82-.478l4.59-7.227c.118-.205.245-.43.245-.644 0-.46-.4-.752-.83-.752-.255 0-.508.156-.694.449Z'/%3e%3c/svg%3e")}input[data-task="-"]:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked{--checkbox-color: var(--checkbox-border-color)}input[data-task="-"]:checked:after,li[data-task="-"]>input:checked:after,li[data-task="-"]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M6.025 9.121c-.595 0-.966.313-.966.86 0 .537.39.84.966.84h7.891c.566 0 .947-.303.947-.84 0-.547-.361-.86-.947-.86h-7.89Z'/%3e%3c/svg%3e")}input[data-task=">"]:checked::after,li[data-task=">"]>input:checked::after,li[data-task=">"]>p>input:checked::after{background-color:var(--text-normal);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' fill='none' viewBox='0 0 22 18'%3e%3cpath fill='black' d='M11.533 0c.479 0 .801.205 1.319.693L20.557 7.9c.38.362.498.723.498 1.055 0 .322-.127.693-.498 1.045l-7.705 7.275c-.47.44-.86.635-1.338.635-.664 0-1.153-.488-1.153-1.142v-3.73h-.283c-3.78 0-6.172.956-7.871 4.15-.342.625-.791.722-1.201.722C.479 17.91 0 17.441 0 16.602c0-7.217 3.057-11.72 10.078-11.72h.283v-3.69C10.361.536 10.85 0 11.533 0Z'/%3e%3c/svg%3e")}input[data-task="<"]:checked::after,li[data-task="<"]>input:checked::after,li[data-task="<"]>p>input:checked::after{background-color:var(--color-blue);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='18' fill='none' viewBox='0 0 20 18'%3e%3cpath fill='black' d='M3.066 17.979h13.34c2.041 0 3.057-1.016 3.057-3.028V3.027C19.463 1.016 18.447 0 16.406 0H3.066C1.026 0 0 1.006 0 3.027v11.924c0 2.022 1.025 3.027 3.066 3.027Zm-.146-1.573c-.87 0-1.348-.459-1.348-1.367V5.83c0-.898.479-1.367 1.348-1.367h13.613c.87 0 1.358.469 1.358 1.367v9.21c0 .907-.489 1.366-1.358 1.366H2.92ZM7.832 7.97h.576c.342 0 .45-.098.45-.44v-.576c0-.342-.108-.45-.45-.45h-.576c-.342 0-.459.108-.459.45v.576c0 .342.117.44.459.44Zm3.242 0h.576c.342 0 .46-.098.46-.44v-.576c0-.342-.118-.45-.46-.45h-.576c-.342 0-.459.108-.459.45v.576c0 .342.117.44.46.44Zm3.242 0h.577c.341 0 .459-.098.459-.44v-.576c0-.342-.118-.45-.46-.45h-.576c-.341 0-.449.108-.449.45v.576c0 .342.108.44.45.44ZM4.59 11.162h.566c.352 0 .46-.098.46-.44v-.575c0-.342-.108-.44-.46-.44H4.59c-.352 0-.46.098-.46.44v.576c0 .341.108.44.46.44Zm3.242 0h.576c.342 0 .45-.098.45-.44v-.575c0-.342-.108-.44-.45-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .341.117.44.459.44Zm3.242 0h.576c.342 0 .46-.098.46-.44v-.575c0-.342-.118-.44-.46-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .341.117.44.46.44Zm3.242 0h.577c.341 0 .459-.098.459-.44v-.575c0-.342-.118-.44-.46-.44h-.576c-.341 0-.449.098-.449.44v.576c0 .341.108.44.45.44ZM4.59 14.365h.566c.352 0 .46-.107.46-.449v-.576c0-.342-.108-.44-.46-.44H4.59c-.352 0-.46.098-.46.44v.576c0 .342.108.45.46.45Zm3.242 0h.576c.342 0 .45-.107.45-.449v-.576c0-.342-.108-.44-.45-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .342.117.45.459.45Zm3.242 0h.576c.342 0 .46-.107.46-.449v-.576c0-.342-.118-.44-.46-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .342.117.45.46.45Z'/%3e%3c/svg%3e")}input[data-task="?"]:checked,li[data-task="?"]>input:checked,li[data-task="?"]>p>input:checked,input[type=checkbox][data-indeterminate=true]:not(:checked){--checkbox-color: var(--color-pink);border:none}input[data-task="?"]:checked:hover,li[data-task="?"]>input:checked:hover,li[data-task="?"]>p>input:checked:hover,input[type=checkbox][data-indeterminate=true]:not(:checked):hover{background-color:var(--checkbox-color-hover)}input[data-task="?"]:checked:after,li[data-task="?"]>input:checked:after,li[data-task="?"]>p>input:checked:after,input[type=checkbox][data-indeterminate=true]:not(:checked):after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M8.643 14.004c0 .576.507 1.045 1.093 1.045s1.094-.46 1.094-1.045c0-.586-.498-1.055-1.094-1.055-.595 0-1.093.479-1.093 1.055ZM6.924 6.553a1.665 1.665 0 0 0-.088.498c0 .449.361.693.693.693.342 0 .567-.166.752-.4l.176-.244c.361-.586.879-.918 1.553-.918.908 0 1.504.517 1.504 1.279 0 .684-.42 1.016-1.3 1.63-.722.509-1.269 1.036-1.269 2.032v.127c0 .527.293.8.81.8.509 0 .821-.322.821-.722v-.117c0-.566.322-.928 1.026-1.387.976-.644 1.68-1.23 1.68-2.441 0-1.68-1.495-2.569-3.214-2.569-1.738 0-2.87.811-3.144 1.739Z'/%3e%3c/svg%3e")}input[data-task="!"]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked{--checkbox-color: var(--color-orange)}input[data-task="!"]:checked:after,li[data-task="!"]>input:checked:after,li[data-task="!"]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M8.867 14.004c0 .576.508 1.045 1.094 1.045.586 0 1.094-.46 1.094-1.045 0-.586-.498-1.055-1.094-1.055-.596 0-1.094.479-1.094 1.055Zm.166-8.35.127 5.323c.01.517.293.8.8.8.49 0 .772-.273.782-.8l.137-5.313c.01-.518-.39-.898-.928-.898-.547 0-.928.37-.918.888Z'/%3e%3c/svg%3e")}input[data-task="*"]:checked::after,li[data-task="*"]>input:checked::after,li[data-task="*"]>p>input:checked::after{background-color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='21' fill='none' viewBox='0 0 22 21'%3e%3cpath fill='black' d='M4.161 20.547c.4.312.908.205 1.514-.235l5.166-3.798 5.176 3.799c.605.439 1.103.546 1.513.234.4-.303.488-.8.244-1.514l-2.04-6.074 5.214-3.75c.606-.43.85-.879.694-1.367-.157-.469-.616-.694-1.368-.694h-6.396l-1.944-6.064C11.7.361 11.35 0 10.841 0c-.498 0-.85.361-1.084 1.084L7.813 7.148H1.417c-.752 0-1.211.225-1.367.694-.166.488.088.937.693 1.367l5.215 3.75-2.041 6.074c-.244.713-.156 1.211.244 1.514Z'/%3e%3c/svg%3e")}input[data-task='"']:checked::after,li[data-task='"']>input:checked::after,li[data-task='"']>p>input:checked::after,input[data-task=“]:checked::after,li[data-task=“]>input:checked::after,li[data-task=“]>p>input:checked::after{background-color:var(--color-purple);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='21' fill='none' viewBox='0 0 22 21'%3e%3cpath fill='black' d='M21.523 4.473v7.48c0 2.861-1.562 4.463-4.472 4.463h-6.602l-3.525 3.223c-.46.43-.742.625-1.123.625-.557 0-.87-.4-.87-1.006v-2.842h-.458C1.563 16.416 0 14.824 0 11.953v-7.48C0 1.602 1.563 0 4.473 0H17.05c2.91 0 4.472 1.611 4.472 4.473ZM5.898 7.148c0 1.143.713 2.032 1.856 2.032.42 0 .84-.069 1.103-.4h.079a2.863 2.863 0 0 1-1.797 1.542c-.381.098-.489.254-.489.498 0 .254.215.47.498.47 1.016 0 3.057-1.212 3.057-3.77 0-1.368-.879-2.413-2.187-2.413-1.211 0-2.12.84-2.12 2.041Zm5.44 0c0 1.143.713 2.032 1.846 2.032.43 0 .85-.069 1.113-.4h.078a2.855 2.855 0 0 1-1.807 1.542c-.361.098-.478.254-.478.498 0 .254.215.47.498.47 1.016 0 3.057-1.212 3.057-3.77 0-1.368-.89-2.413-2.198-2.413-1.21 0-2.11.84-2.11 2.041Z'/%3e%3c/svg%3e")}input[data-task=l]:checked::after,li[data-task=l]>input:checked::after,li[data-task=l]>p>input:checked::after{background-color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='21' fill='none' viewBox='0 0 8 21'%3e%3cpath fill='black' d='M7.334 3.682A3.65 3.65 0 0 1 4.57 7.236V16.3c0 2.89-.508 4.453-.908 4.453-.39 0-.908-1.572-.908-4.453V7.236A3.65 3.65 0 0 1 0 3.682C0 1.66 1.63 0 3.662 0a3.676 3.676 0 0 1 3.672 3.682ZM1.357 2.617c0 .684.586 1.27 1.26 1.27.684 0 1.25-.586 1.25-1.27 0-.674-.566-1.25-1.25-1.25-.674 0-1.26.576-1.26 1.25Z'/%3e%3c/svg%3e")}input[data-task=b]:checked::after,li[data-task=b]>input:checked::after,li[data-task=b]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='21' fill='none' viewBox='0 0 14 21'%3e%3cpath fill='black' d='M1.035 20.947c.479 0 .762-.273 1.64-1.123l3.82-3.76c.048-.048.136-.048.175 0l3.818 3.76c.88.85 1.162 1.123 1.64 1.123.655 0 1.036-.43 1.036-1.191V2.803C13.164.947 12.236 0 10.4 0H2.764C.928 0 0 .947 0 2.803v16.953c0 .762.38 1.191 1.035 1.191Z'/%3e%3c/svg%3e")}input[data-task=i]:checked,li[data-task=i]>input:checked,li[data-task=i]>p>input:checked{--checkbox-color: var(--color-blue)}input[data-task=i]:checked:after,li[data-task=i]>input:checked:after,li[data-task=i]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M8.37 8.154a.721.721 0 0 0-.733.713c0 .42.322.723.732.723h1.074v4.59h-1.24a.724.724 0 0 0-.742.713c0 .42.322.722.742.722h4.092c.42 0 .742-.303.742-.722a.724.724 0 0 0-.742-.713h-1.24V9.072c0-.547-.274-.918-.791-.918H8.369Zm.185-2.988c0 .742.586 1.328 1.318 1.328.732 0 1.309-.586 1.309-1.328 0-.742-.577-1.328-1.309-1.328s-1.318.586-1.318 1.328Z'/%3e%3c/svg%3e")}input[data-task=S]:checked::after,li[data-task=S]>input:checked::after,li[data-task=S]>p>input:checked::after{background-color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='13' height='23' fill='none' viewBox='0 0 13 23'%3e%3cpath fill='black' d='M6.24 19.639c3.301 0 6.143-1.66 6.143-4.824 0-2.93-2.295-3.975-5.02-4.63l-1.875-.458c-1.777-.43-3.252-1.202-3.252-2.891 0-1.895 2.022-2.861 3.994-2.861 2.022 0 3.487.947 4.024 2.685.156.46.459.772.967.772s.879-.352.879-.87c0-.78-.518-1.835-1.192-2.51-1.191-1.19-2.9-1.747-4.678-1.747-3.056 0-5.869 1.62-5.869 4.677 0 2.705 2.305 3.926 4.815 4.502l1.885.44c1.875.44 3.457 1.123 3.457 3.037 0 2.148-1.973 3.018-4.258 3.018-2.158 0-3.906-.87-4.424-2.813-.147-.479-.43-.752-.928-.752-.547 0-.908.371-.908.86 0 .908.596 1.962 1.27 2.607 1.318 1.24 3.173 1.758 4.97 1.758Zm-.049 2.373a.642.642 0 0 0 .635-.645V.635A.64.64 0 0 0 6.191 0a.64.64 0 0 0-.634.635v20.732c0 .352.283.645.634.645Z'/%3e%3c/svg%3e")}input[data-task=I]:checked::after,li[data-task=I]>input:checked::after,li[data-task=I]>p>input:checked::after{background-color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='22' fill='none' viewBox='0 0 21 22'%3e%3cpath fill='black' d='M4.346 12.48c-.215 0-.362.137-.381.362-.371 3.017-.518 3.095-3.574 3.594-.254.029-.391.156-.391.38 0 .215.137.342.342.372 3.086.595 3.252.576 3.623 3.584.02.234.166.37.38.37.206 0 .362-.136.382-.36.39-3.057.507-3.145 3.613-3.595.195-.019.342-.156.342-.37 0-.215-.147-.352-.342-.381-3.106-.596-3.213-.596-3.613-3.614a.367.367 0 0 0-.381-.341ZM11.982 0c-.283 0-.507.205-.546.508-.85 6.181-1.7 7.002-7.793 7.812-.313.03-.538.254-.538.547 0 .303.225.537.538.567 6.113.664 6.992 1.62 7.792 7.793.04.302.264.517.547.517.293 0 .508-.215.557-.517.81-6.172 1.68-7.13 7.793-7.793a.552.552 0 0 0 .527-.567c0-.293-.205-.517-.527-.547-6.113-.683-6.982-1.63-7.793-7.812C12.49.205 12.275 0 11.982 0Z'/%3e%3c/svg%3e")}input[data-task=p]:checked::after,li[data-task=p]>input:checked::after,li[data-task=p]>p>input:checked::after{background-color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M0 13.74c0 2.89 1.807 5.313 4.229 5.313h1.718c-1.758-1.28-2.48-3.213-2.48-5.41.01-2.442.957-4.19 1.797-5.245H3.867C1.69 8.398 0 10.742 0 13.74Zm4.814-.078c0 3.565 2.784 6.318 7.325 6.318h1.328c1.26 0 2.197-.087 2.724-.234.762-.185 1.495-.654 1.495-1.572 0-.381-.098-.654-.215-.86-.078-.127-.059-.224.058-.273.606-.254 1.104-.82 1.104-1.592 0-.44-.127-.83-.342-1.094-.107-.146-.098-.283.088-.38.43-.254.742-.801.742-1.436 0-.459-.146-.937-.4-1.172-.157-.137-.127-.234.029-.38.303-.255.498-.694.498-1.25a1.69 1.69 0 0 0-1.7-1.71h-3.437c-.869 0-1.445-.449-1.445-1.172 0-1.298 1.63-3.7 1.63-5.42C14.297.528 13.712 0 12.95 0c-.703 0-1.045.479-1.416 1.21-1.455 2.823-3.388 5.108-4.863 7.061-1.25 1.66-1.856 3.096-1.856 5.391Z'/%3e%3c/svg%3e")}input[data-task=c]:checked::after,li[data-task=c]>input:checked::after,li[data-task=c]>p>input:checked::after{background-color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M19.238 6.24c0-2.89-1.816-5.312-4.228-5.312h-1.72c1.758 1.28 2.54 3.213 2.5 5.41-.03 2.442-.976 4.19-1.826 5.245h1.406c2.178 0 3.867-2.344 3.867-5.342Zm-4.756.07C14.541 2.744 11.65.05 7.11.01L5.791 0c-1.27-.01-2.207.09-2.734.236-.762.185-1.494.644-1.494 1.571 0 .371.097.655.214.86.078.117.069.224-.058.273-.596.244-1.104.82-1.104 1.582 0 .45.127.83.352 1.104.107.146.088.273-.088.38-.44.254-.752.801-.752 1.436 0 .46.146.938.4 1.172.166.137.137.234-.029.38C.195 9.25 0 9.689 0 10.245a1.69 1.69 0 0 0 1.7 1.71h3.437c.869 0 1.445.449 1.445 1.172 0 1.299-1.621 3.691-1.621 5.41 0 .918.576 1.445 1.348 1.445.693 0 1.035-.478 1.406-1.21 1.455-2.823 3.389-5.108 4.863-7.071 1.25-1.66 1.865-3.086 1.904-5.39Z'/%3e%3c/svg%3e")}input[data-task=f]:checked::after,li[data-task=f]>input:checked::after,li[data-task=f]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='22' fill='none' viewBox='0 0 17 22'%3e%3cpath fill='black' d='M7.676 21.123c5.156 0 8.594-3.486 8.594-8.74C16.27 3.643 8.828 0 3.662 0c-.918 0-1.504.322-1.504.947 0 .244.108.498.313.733 1.162 1.386 2.324 3.037 2.343 4.96 0 .44-.048.83-.36 1.378l.487-.098c-.439-1.436-1.62-2.451-2.656-2.451-.4 0-.674.293-.674.732 0 .254.069.85.069 1.28C1.68 9.667 0 10.946 0 14.472c0 3.994 3.057 6.65 7.676 6.65Zm.224-2.744c-1.826 0-3.037-1.104-3.037-2.744 0-1.719 1.221-2.334 1.377-3.438.02-.088.078-.117.147-.058.449.4.742.888.986 1.455.518-.703.762-2.188.596-3.79-.01-.087.049-.136.136-.107 2.14 1.006 3.252 3.135 3.252 5.04 0 1.933-1.132 3.642-3.457 3.642Z'/%3e%3c/svg%3e")}input[data-task=k]:checked::after,li[data-task=k]>input:checked::after,li[data-task=k]>p>input:checked::after{background-color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='13' height='25' fill='none' viewBox='0 0 13 25'%3e%3cpath fill='black' d='M6.24 0C2.764 0 0 2.764 0 6.22c0 2.608 1.563 4.913 4.004 5.84v9.64a.83.83 0 0 0 .254.614l1.63 1.641c.167.166.499.215.704.01l3.096-3.096a.487.487 0 0 0 0-.703l-1.924-1.895 2.636-2.627c.186-.195.186-.478-.02-.693l-2.607-2.627c3.018-1.201 4.698-3.428 4.698-6.103A6.22 6.22 0 0 0 6.24 0Zm0 5.723c-.908 0-1.63-.733-1.63-1.631 0-.908.712-1.631 1.63-1.631.899 0 1.631.723 1.631 1.63 0 .9-.732 1.632-1.63 1.632Z'/%3e%3c/svg%3e")}input[data-task=w]:checked::after,li[data-task=w]>input:checked::after,li[data-task=w]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='22' fill='none' viewBox='0 0 20 22'%3e%3cpath fill='black' d='M0 3.223c0 4.033 1.934 6.552 5.791 7.734a8.289 8.289 0 0 0 1.953 1.758v4.248H6.211c-1.377 0-2.09.79-2.09 2.09v1.611c0 .44.342.742.752.742h9.356c.41 0 .752-.302.752-.742v-1.611c0-1.3-.723-2.09-2.1-2.09h-1.524v-4.248a8.07 8.07 0 0 0 1.944-1.758c3.867-1.182 5.8-3.701 5.8-7.734 0-1.006-.624-1.621-1.67-1.621h-1.894C15.381.605 14.677 0 13.497 0H5.604C4.433 0 3.72.596 3.564 1.602H1.67C.625 1.602 0 2.217 0 3.222Zm1.396.136c0-.156.118-.283.284-.283h1.836V4.99c0 1.494.39 2.881.996 4.082C2.47 8.037 1.396 6.142 1.396 3.36ZM14.58 9.072a8.947 8.947 0 0 0 1.006-4.082V3.076h1.836c.166 0 .283.127.283.283 0 2.784-1.074 4.678-3.125 5.713Z'/%3e%3c/svg%3e")}input[data-task=u]:checked::after,li[data-task=u]>input:checked::after,li[data-task=u]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='15' height='19' fill='none' viewBox='0 0 15 19'%3e%3cpath fill='black' d='M.84 8.271c.234 0 .469-.078.615-.234L3.682 5.85l3.71-4.082 3.731 4.082 2.227 2.187c.156.156.38.234.615.234.488 0 .84-.37.84-.85a.879.879 0 0 0-.264-.634L8.057.293A.885.885 0 0 0 7.402 0a.885.885 0 0 0-.654.293L.273 6.787c-.185.195-.273.4-.273.635 0 .478.352.85.84.85Zm6.562 10.176c.508 0 .87-.351.87-.86V4.728l-.098-2.91c0-.46-.313-.772-.772-.772s-.771.312-.771.771l-.098 2.91v12.862c0 .508.362.86.87.86Z'/%3e%3c/svg%3e")}input[data-task=d]:checked::after,li[data-task=d]>input:checked::after,li[data-task=d]>p>input:checked::after{background-color:var(--color-blue);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='15' height='19' fill='none' viewBox='0 0 15 19'%3e%3cpath fill='black' d='M7.402 18.447a.885.885 0 0 0 .655-.293l6.484-6.494a.879.879 0 0 0 .264-.635c0-.478-.352-.85-.84-.85a.863.863 0 0 0-.615.235l-2.227 2.188-3.73 4.082-3.711-4.082-2.227-2.188c-.146-.156-.38-.234-.615-.234-.488 0-.84.37-.84.85 0 .234.088.439.273.634l6.475 6.494c.186.196.41.293.654.293Zm0-1.045c.46 0 .772-.312.772-.771l.097-2.91V.859c0-.507-.36-.859-.869-.859-.507 0-.869.352-.869.86v12.86l.098 2.91c0 .46.312.772.771.772Z'/%3e%3c/svg%3e")}input[data-task="+"]:checked,li[data-task="+"]>input:checked,li[data-task="+"]>p>input:checked{--checkbox-color: var(--color-orange)}input[data-task="+"]:checked:after,li[data-task="+"]>input:checked:after,li[data-task="+"]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' viewBox='0 0 18 18'%3e%3cpath fill='black' d='M8.154 5.172v2.963H5.192c-.509 0-.86.352-.86.86 0 .499.351.831.86.831h2.962V12.8c0 .498.342.86.841.86.509 0 .86-.352.86-.86V9.826h2.973c.498 0 .86-.332.86-.83 0-.51-.362-.861-.86-.861H9.856V5.172c0-.508-.352-.87-.86-.87-.5 0-.842.362-.842.87Z'/%3e%3c/svg%3e")}input[data-task=B]:checked::after,li[data-task=B]>input:checked::after,li[data-task=B]>p>input:checked::after{background-color:var(--color-pink);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='20' fill='none' viewBox='0 0 22 20'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M14.023 19.365a3.261 3.261 0 0 0 3.262-3.261 3.263 3.263 0 0 0-3.262-3.272 3.263 3.263 0 0 0-3.261 3.271 3.261 3.261 0 0 0 3.261 3.262Zm-7.177 0a3.261 3.261 0 0 0 3.261-3.261 3.263 3.263 0 0 0-3.261-3.272 3.263 3.263 0 0 0-3.262 3.271 3.261 3.261 0 0 0 3.262 3.262Zm10.761-6.425a3.255 3.255 0 0 0 3.262-3.262 3.255 3.255 0 0 0-3.262-3.262 3.263 3.263 0 0 0-3.271 3.262 3.263 3.263 0 0 0 3.271 3.261Zm-14.345 0a3.263 3.263 0 0 0 3.271-3.262 3.263 3.263 0 0 0-3.271-3.262 3.261 3.261 0 1 0 0 6.524Zm10.761-6.417a3.255 3.255 0 0 0 3.262-3.261A3.255 3.255 0 0 0 14.023 0a3.255 3.255 0 0 0-3.261 3.262 3.255 3.255 0 0 0 3.261 3.261Zm-7.177 0a3.255 3.255 0 0 0 3.261-3.261A3.255 3.255 0 0 0 6.846 0a3.255 3.255 0 0 0-3.262 3.262 3.255 3.255 0 0 0 3.262 3.261Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h21.23v19.365H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=a]:checked::after,li[data-task=a]>input:checked::after,li[data-task=a]>p>input:checked::after{background-color:var(--color-pink);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='22' fill='none' viewBox='0 0 20 22'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M9.336 20.254a9.336 9.336 0 0 0 9.336-9.336c0-5.156-4.18-9.346-9.336-9.346C4.18 1.572 0 5.762 0 10.918a9.336 9.336 0 0 0 9.336 9.336Zm-4.443-8.262a.663.663 0 0 1-.674-.674c0-.38.293-.683.674-.683h3.76V5.4a.68.68 0 1 1 1.357 0v5.918a.672.672 0 0 1-.684.674H4.893Zm-3.575-7.91c.147 0 .254-.02.391-.127l3.271-2.47c.157-.118.245-.274.245-.44 0-.205-.098-.371-.264-.527C4.59.186 3.926 0 3.34 0A2.734 2.734 0 0 0 .596 2.744c0 .361.058.723.166.947.107.245.312.391.556.391Zm16.035 0c.245 0 .45-.156.567-.39.098-.215.156-.587.156-.948A2.728 2.728 0 0 0 15.332 0c-.586 0-1.25.186-1.621.518-.166.156-.264.322-.264.527 0 .166.088.322.254.44l3.262 2.47a.568.568 0 0 0 .39.127ZM1.172 19.971a.74.74 0 0 0 1.074-.01l1.846-1.836-1.055-1.045-1.855 1.836a.743.743 0 0 0-.01 1.055Zm16.328 0a.734.734 0 0 0-.01-1.055l-1.855-1.836-1.045 1.045 1.836 1.836a.74.74 0 0 0 1.074.01Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h19.033v21.924H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=n]:checked::after,li[data-task=n]>input:checked::after,li[data-task=n]>p>input:checked::after{background-color:var(--color-blue);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M2.668 14.63 13.322 3.985l-1.709-1.719L.95 12.911l-.928 2.178c-.097.234.157.508.391.41l2.256-.87ZM14.182 3.145l.986-.966c.498-.499.527-1.036.078-1.485l-.332-.332c-.44-.44-.976-.4-1.475.088l-.986.977 1.729 1.718Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h15.932v15.52H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=R]:checked::after,li[data-task=R]>input:checked::after,li[data-task=R]>p>input:checked::after{background-color:var(--color-purple);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' fill='none' viewBox='0 0 22 18'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M8.652 16.777v-6.181c0-.4-.224-.616-.625-.616a.803.803 0 0 0-.507.176l-3.692 3.057c-.303.264-.322.664 0 .928l3.692 3.066a.812.812 0 0 0 .507.186c.4 0 .625-.225.625-.616ZM20.02 8.36a.81.81 0 0 0-.82.83v.928c0 1.67-1.163 2.764-2.93 2.764H7.216c-.45 0-.82.371-.82.81 0 .45.37.82.82.82h8.896c2.91 0 4.727-1.65 4.727-4.277V9.19a.81.81 0 0 0-.82-.83ZM12.188.635v6.181c0 .391.224.616.624.616a.812.812 0 0 0 .508-.186l3.692-3.057c.312-.253.332-.654 0-.927L13.32.195a.803.803 0 0 0-.508-.175c-.4 0-.624.214-.624.615ZM.82 9.053c.47 0 .83-.362.83-.83v-.928c0-1.67 1.153-2.774 2.92-2.774h9.063c.44 0 .81-.36.81-.81a.82.82 0 0 0-.81-.81H4.727C1.827 2.9 0 4.54 0 7.177v1.045c0 .468.361.83.82.83Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h21.201v17.393H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=t]:checked::after,li[data-task=t]>input:checked::after,li[data-task=t]>p>input:checked::after{background-color:var(--text-normal);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='20' fill='none' viewBox='0 0 21 20'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='white' d='M4.854 11.016a.667.667 0 0 1-.684-.684c0-.38.293-.674.684-.674h4.423V3.75c0-.38.293-.674.674-.674.381 0 .684.293.684.674v6.582c0 .39-.303.684-.684.684H4.854Zm5.107 8.906c5.498 0 9.96-4.473 9.96-9.961C19.922 4.463 15.46 0 9.962 0 4.473 0 0 4.463 0 9.96c0 5.49 4.473 9.962 9.96 9.962Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h20.283v19.932H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=P]:checked::after,li[data-task=P]>input:checked::after,li[data-task=P]>p>input:checked::after{background-color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none' viewBox='0 0 19 19'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='white' d='M5 13.154c2.871 2.881 6.309 5.069 9.072 5.069 1.3 0 2.432-.518 3.174-1.348.713-.8.957-1.396.957-1.924 0-.41-.254-.79-.898-1.24l-2.383-1.709c-.596-.42-.86-.498-1.211-.498-.303 0-.557.059-1.065.332l-1.562.86c-.186.107-.264.126-.4.126-.186 0-.313-.049-.498-.127-.743-.341-1.788-1.162-2.715-2.09-.928-.927-1.65-1.875-2.022-2.607a.971.971 0 0 1-.107-.41c0-.127.068-.234.146-.371l.918-1.572c.254-.43.323-.665.323-.997 0-.38-.127-.79-.489-1.308L4.6 1.055C4.13.4 3.78 0 3.252 0 2.598 0 1.807.498 1.24 1.045.43 1.826 0 2.92 0 4.15c0 2.784 2.139 6.153 5 9.004Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h18.564v18.232H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=L]:checked::after,li[data-task=L]>input:checked::after,li[data-task=L]>p>input:checked::after{background-color:var(--color-pink);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' fill='none' viewBox='0 0 20 19'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='white' d='M9.697 18.525c.205 0 .498-.136.713-.263 5.498-3.516 8.985-7.608 8.985-11.768 0-3.457-2.373-5.898-5.44-5.898-1.904 0-3.37 1.054-4.258 2.666C8.828 1.66 7.344.596 5.44.596 2.373.596 0 3.037 0 6.494c0 4.16 3.486 8.252 8.994 11.768.205.127.498.263.703.263Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h19.756v18.525H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}body:not(.block-width-off){--file-line-width: var(--line-width);--line-width: 40rem;--line-width-wide: 50rem}body:not(.block-width-off).wide,body:not(.block-width-off) .wide{--active-line-width: var(--line-width-wide)}body:not(.block-width-off).max,body:not(.block-width-off) .max{--active-line-width: 100%}body:not(.block-width-off).max .cm-content,body:not(.block-width-off) .max .cm-content{max-width:100% !important}body:not(.block-width-off):is(.wide,.table-wide,.img-wide,.iframe-wide,.map-wide,.chart-wide,.bases-wide),body:not(.block-width-off) div:is(.wide,.table-wide,.img-wide,.iframe-wide,.map-wide,.chart-wide,.bases-wide){--file-line-width: var(--line-width-wide)}body:not(.block-width-off):is(.wide,.table-wide,.img-wide,.iframe-wide,.map-wide,.chart-wide,.bases-wide) .cm-content,body:not(.block-width-off) div:is(.wide,.table-wide,.img-wide,.iframe-wide,.map-wide,.chart-wide,.bases-wide) .cm-content{max-width:100% !important}body:not(.block-width-off):is(.max,.table-max,.img-max,.iframe-max,.map-max,.chart-max,.bases-max,.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100),body:not(.block-width-off) div:is(.max,.table-max,.img-max,.iframe-max,.map-max,.chart-max,.bases-max,.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100){--file-line-width: 100%}body:not(.block-width-off):is(.max,.table-max,.img-max,.iframe-max,.map-max,.chart-max,.bases-max,.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100) .cm-content,body:not(.block-width-off) div:is(.max,.table-max,.img-max,.iframe-max,.map-max,.chart-max,.bases-max,.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100) .cm-content{width:100% !important}body:not(.block-width-off).is-mobile:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100),body:not(.block-width-off).is-mobile div:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100){--file-margins: 24px}body:not(.block-width-off).is-mobile:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100).markdown-preview-view,body:not(.block-width-off).is-mobile:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100) .markdown-preview-view,body:not(.block-width-off).is-mobile:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100) .cm-scroller,body:not(.block-width-off).is-mobile div:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100).markdown-preview-view,body:not(.block-width-off).is-mobile div:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100) .markdown-preview-view,body:not(.block-width-off).is-mobile div:is(.table-100,.img-100,.iframe-100,.map-100,.chart-100,.bases-100) .cm-scroller{padding:8px var(--file-margins) !important}body:not(.block-width-off) .markdown-preview-sizer>div{margin:0 auto}.table-wide{--table-line-width: var(--line-width-wide)}.table-max,.table-100{--table-line-width: 100%}body:not(.block-width-off).table-100 .markdown-preview-sizer tbody>tr>td,body:not(.block-width-off) .table-100 .markdown-preview-sizer tbody>tr>td{border-radius:0 !important}body:not(.block-width-off).table-100 .markdown-preview-sizer tbody tr:first-child>td,body:not(.block-width-off) .table-100 .markdown-preview-sizer tbody tr:first-child>td{border-block-start-width:0}body:not(.block-width-off).table-100 .markdown-preview-sizer tbody tr>td:last-child,body:not(.block-width-off) .table-100 .markdown-preview-sizer tbody tr>td:last-child{border-inline-end-width:0}body:not(.block-width-off).table-100 .markdown-preview-sizer tbody tr>td:first-child,body:not(.block-width-off) .table-100 .markdown-preview-sizer tbody tr>td:first-child{border-inline-start-width:0}body:not(.block-width-off).table-100 .markdown-preview-sizer tbody tr:last-child>td,body:not(.block-width-off) .table-100 .markdown-preview-sizer tbody tr:last-child>td{border-block-end-width:0}body:not(.block-width-off):is(.table-wide,.table-max,.table-100) .markdown-preview-sizer>div:not(.el-table),body:not(.block-width-off):is(.table-wide,.table-max,.table-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off):is(.table-wide,.table-max,.table-100) .cm-content>*:not(.cm-table-widget),body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .markdown-preview-sizer>div:not(.el-table),body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .cm-content>*:not(.cm-table-widget){max-width:var(--active-line-width, var(--line-width)) !important;margin-left:auto !important;margin-right:auto !important;width:max(100% - var(--file-margins)*2,100%)}body:not(.block-width-off):is(.table-wide,.table-max) .markdown-preview-sizer>div.el-table:is(.el-table)[dir],body:not(.block-width-off):is(.table-wide,.table-max) .cm-content>.cm-table-widget,body:not(.block-width-off) div:is(.table-wide,.table-max) .markdown-preview-sizer>div.el-table:is(.el-table)[dir],body:not(.block-width-off) div:is(.table-wide,.table-max) .cm-content>.cm-table-widget{max-width:100% !important;width:var(--img-line-width) !important}body:not(.block-width-off).table-100 .markdown-preview-sizer>div.el-table:is(.el-table)[dir],body:not(.block-width-off).table-100 .cm-content>.cm-table-widget,body:not(.block-width-off) div.table-100 .markdown-preview-sizer>div.el-table:is(.el-table)[dir],body:not(.block-width-off) div.table-100 .cm-content>.cm-table-widget{max-width:calc(100% + var(--file-margins)*2) !important;width:calc(var(--table-line-width) + var(--file-margins)*2) !important;margin-left:calc(-1*var(--file-margins)) !important;margin-right:calc(-1*var(--file-margins)) !important}.img-wide{--img-line-width: var(--line-width-wide)}.img-max,.img-100{--img-line-width: 100%}.img-100 .markdown-preview-sizer img,.img-100 .cm-content img{border-radius:0 !important}body:not(.block-width-off):is(.img-wide,.img-max,.img-100) .markdown-preview-sizer>div:not(.el-p:has(img)),body:not(.block-width-off):is(.img-wide,.img-max,.img-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off):is(.img-wide,.img-max,.img-100) .cm-content>*:not(img),body:not(.block-width-off) div:is(.img-wide,.img-max,.img-100) .markdown-preview-sizer>div:not(.el-p:has(img)),body:not(.block-width-off) div:is(.img-wide,.img-max,.img-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off) div:is(.img-wide,.img-max,.img-100) .cm-content>*:not(img){max-width:var(--active-line-width, var(--line-width)) !important;margin-left:auto !important;margin-right:auto !important;width:max(100% - var(--file-margins)*2,100%)}body:not(.block-width-off):is(.img-wide,.img-max) .markdown-preview-sizer>div.el-p:has(img[src]):is(.el-p:has(img[src])),body:not(.block-width-off):is(.img-wide,.img-max) .cm-content>img,body:not(.block-width-off) div:is(.img-wide,.img-max) .markdown-preview-sizer>div.el-p:has(img[src]):is(.el-p:has(img[src])),body:not(.block-width-off) div:is(.img-wide,.img-max) .cm-content>img{max-width:100% !important;width:var(--img-line-width) !important}body:not(.block-width-off).img-100 .markdown-preview-sizer>div.el-p:has(img[src]):is(.el-p:has(img[src])),body:not(.block-width-off).img-100 .cm-content>img,body:not(.block-width-off) div.img-100 .markdown-preview-sizer>div.el-p:has(img[src]):is(.el-p:has(img[src])),body:not(.block-width-off) div.img-100 .cm-content>img{max-width:calc(100% + var(--file-margins)*2) !important;width:calc(var(--img-line-width) + var(--file-margins)*2) !important;margin-left:calc(-1*var(--file-margins)) !important;margin-right:calc(-1*var(--file-margins)) !important;height:auto}.iframe-wide{--iframe-line-width: var(--line-width-wide)}.iframe-max,.iframe-100{--iframe-line-width: 100%}body:not(.block-width-off):is(.iframe-wide,.iframe-max,.iframe-100) .markdown-preview-sizer>div:not(.el-p:has(iframe)),body:not(.block-width-off):is(.iframe-wide,.iframe-max,.iframe-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off):is(.iframe-wide,.iframe-max,.iframe-100) .cm-content>*:not(iframe),body:not(.block-width-off) div:is(.iframe-wide,.iframe-max,.iframe-100) .markdown-preview-sizer>div:not(.el-p:has(iframe)),body:not(.block-width-off) div:is(.iframe-wide,.iframe-max,.iframe-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off) div:is(.iframe-wide,.iframe-max,.iframe-100) .cm-content>*:not(iframe){max-width:var(--active-line-width, var(--line-width)) !important;margin-left:auto !important;margin-right:auto !important;width:max(100% - var(--file-margins)*2,100%)}body:not(.block-width-off):is(.iframe-wide,.iframe-max,.iframe-100) .markdown-preview-sizer>div.el-p:has(iframe[src]):is(.el-p:has(iframe[src])),body:not(.block-width-off):is(.iframe-wide,.iframe-max,.iframe-100) .cm-content>iframe,body:not(.block-width-off) div:is(.iframe-wide,.iframe-max,.iframe-100) .markdown-preview-sizer>div.el-p:has(iframe[src]):is(.el-p:has(iframe[src])),body:not(.block-width-off) div:is(.iframe-wide,.iframe-max,.iframe-100) .cm-content>iframe{max-width:100% !important;width:var(--iframe-line-width) !important}body:not(.block-width-off).iframe-100 .markdown-preview-sizer>div.el-p:has(iframe[src]):is(.el-p:has(iframe[src])),body:not(.block-width-off).iframe-100 .cm-content>iframe,body:not(.block-width-off) div.iframe-100 .markdown-preview-sizer>div.el-p:has(iframe[src]):is(.el-p:has(iframe[src])),body:not(.block-width-off) div.iframe-100 .cm-content>iframe{max-width:calc(100% + var(--file-margins)*2) !important;width:calc(var(--img-line-width) + var(--file-margins)*2) !important;margin-left:calc(-1*var(--file-margins)) !important;margin-right:calc(-1*var(--file-margins)) !important}.map-wide{--map-line-width: var(--line-width-wide)}.map-max,.map-100{--map-line-width: 100%}body:not(.block-width-off):is(.map-wide,.map-max,.map-100) .markdown-preview-sizer>div:not(.el-pre:has(.block-language-leaflet)),body:not(.block-width-off):is(.map-wide,.map-max,.map-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off):is(.map-wide,.map-max,.map-100) .cm-content>*:not(.cm-lang-leaflet),body:not(.block-width-off) div:is(.map-wide,.map-max,.map-100) .markdown-preview-sizer>div:not(.el-pre:has(.block-language-leaflet)),body:not(.block-width-off) div:is(.map-wide,.map-max,.map-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off) div:is(.map-wide,.map-max,.map-100) .cm-content>*:not(.cm-lang-leaflet){max-width:var(--active-line-width, var(--line-width)) !important;margin-left:auto !important;margin-right:auto !important;width:max(100% - var(--file-margins)*2,100%)}body:not(.block-width-off):is(.map-wide,.map-max) .markdown-preview-sizer>div.el-pre:has(.block-language-leaflet[style]):is(.el-pre:has(.block-language-leaflet[style])),body:not(.block-width-off):is(.map-wide,.map-max) .cm-content>.cm-lang-leaflet,body:not(.block-width-off) div:is(.map-wide,.map-max) .markdown-preview-sizer>div.el-pre:has(.block-language-leaflet[style]):is(.el-pre:has(.block-language-leaflet[style])),body:not(.block-width-off) div:is(.map-wide,.map-max) .cm-content>.cm-lang-leaflet{max-width:100% !important;width:var(--map-line-width) !important}body:not(.block-width-off).map-100 .markdown-preview-sizer>div.el-pre:has(.block-language-leaflet[style]):is(.el-pre:has(.block-language-leaflet[style])),body:not(.block-width-off).map-100 .cm-content>.cm-lang-leaflet,body:not(.block-width-off) div.map-100 .markdown-preview-sizer>div.el-pre:has(.block-language-leaflet[style]):is(.el-pre:has(.block-language-leaflet[style])),body:not(.block-width-off) div.map-100 .cm-content>.cm-lang-leaflet{max-width:calc(100% + var(--file-margins)*2) !important;width:calc(var(--img-line-width) + var(--file-margins)*2) !important;margin-left:calc(-1*var(--file-margins)) !important;margin-right:calc(-1*var(--file-margins)) !important}.chart-wide{--chart-line-width: var(--line-width-wide)}.chart-max,.chart-100{--chart-line-width: 100%}body:not(.block-width-off):is(.chart-wide,.chart-max,.chart-100) .markdown-preview-sizer>div:not(.el-pre:has(.block-language-chart)),body:not(.block-width-off):is(.chart-wide,.chart-max,.chart-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off):is(.chart-wide,.chart-max,.chart-100) .cm-content>*:not(.cm-lang-chart),body:not(.block-width-off) div:is(.chart-wide,.chart-max,.chart-100) .markdown-preview-sizer>div:not(.el-pre:has(.block-language-chart)),body:not(.block-width-off) div:is(.chart-wide,.chart-max,.chart-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off) div:is(.chart-wide,.chart-max,.chart-100) .cm-content>*:not(.cm-lang-chart){max-width:var(--active-line-width, var(--line-width)) !important;margin-left:auto !important;margin-right:auto !important;width:max(100% - var(--file-margins)*2,100%)}body:not(.block-width-off):is(.chart-wide,.chart-max) .markdown-preview-sizer>div.el-pre:has(.block-language-chart[style]):is(.el-pre:has(.block-language-chart[style])),body:not(.block-width-off):is(.chart-wide,.chart-max) .cm-content>.cm-lang-chart,body:not(.block-width-off) div:is(.chart-wide,.chart-max) .markdown-preview-sizer>div.el-pre:has(.block-language-chart[style]):is(.el-pre:has(.block-language-chart[style])),body:not(.block-width-off) div:is(.chart-wide,.chart-max) .cm-content>.cm-lang-chart{max-width:100% !important;width:var(--chart-line-width) !important}body:not(.block-width-off).chart-100 .markdown-preview-sizer>div.el-pre:has(.block-language-chart[style]):is(.el-pre:has(.block-language-chart[style])),body:not(.block-width-off).chart-100 .cm-content>.cm-lang-chart,body:not(.block-width-off) div.chart-100 .markdown-preview-sizer>div.el-pre:has(.block-language-chart[style]):is(.el-pre:has(.block-language-chart[style])),body:not(.block-width-off) div.chart-100 .cm-content>.cm-lang-chart{max-width:calc(100% + var(--file-margins)*2) !important;width:calc(var(--img-line-width) + var(--file-margins)*2) !important;margin-left:calc(-1*var(--file-margins)) !important;margin-right:calc(-1*var(--file-margins)) !important}.bases-wide{--bases-line-width: var(--line-width-wide)}.bases-max,.bases-100{--bases-line-width: 100%}body:not(.block-width-off).bases-100 .markdown-preview-sizer .bases-embed .bases-view .bases-tbody,body:not(.block-width-off) .bases-100 .markdown-preview-sizer .bases-embed .bases-view .bases-tbody{border:none;border-radius:0}body:not(.block-width-off):is(.bases-wide,.bases-max,.bases-100) .markdown-preview-sizer>div:not(.el-p:has(.bases-view)),body:not(.block-width-off):is(.bases-wide,.bases-max,.bases-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off):is(.bases-wide,.bases-max,.bases-100) .cm-content>*:not(.bases-embed),body:not(.block-width-off) div:is(.bases-wide,.bases-max,.bases-100) .markdown-preview-sizer>div:not(.el-p:has(.bases-view)),body:not(.block-width-off) div:is(.bases-wide,.bases-max,.bases-100) .cm-sizer>div:not(.cm-contentContainer),body:not(.block-width-off) div:is(.bases-wide,.bases-max,.bases-100) .cm-content>*:not(.bases-embed){max-width:var(--active-line-width, var(--line-width)) !important;margin-left:auto !important;margin-right:auto !important;width:max(100% - var(--file-margins)*2,100%)}body:not(.block-width-off):is(.bases-wide,.bases-max) .markdown-preview-sizer>div.el-p:has(.bases-view):is(.el-p:has(.bases-view)),body:not(.block-width-off):is(.bases-wide,.bases-max) .cm-content>.bases-embed,body:not(.block-width-off) div:is(.bases-wide,.bases-max) .markdown-preview-sizer>div.el-p:has(.bases-view):is(.el-p:has(.bases-view)),body:not(.block-width-off) div:is(.bases-wide,.bases-max) .cm-content>.bases-embed{max-width:100% !important;width:var(--bases-line-width) !important}body:not(.block-width-off).bases-100 .markdown-preview-sizer>div.el-p:has(.bases-view):is(.el-p:has(.bases-view)),body:not(.block-width-off).bases-100 .cm-content>.bases-embed,body:not(.block-width-off) div.bases-100 .markdown-preview-sizer>div.el-p:has(.bases-view):is(.el-p:has(.bases-view)),body:not(.block-width-off) div.bases-100 .cm-content>.bases-embed{max-width:calc(100% + var(--file-margins)*2) !important;width:calc(var(--img-line-width) + var(--file-margins)*2) !important;margin-left:calc(-1*var(--file-margins)) !important;margin-right:calc(-1*var(--file-margins)) !important}.callout-icon .lucide-pencil,.callout-icon .lucide-clipboard-list,.callout-icon .lucide-info,.callout-icon .lucide-check-circle-2,.callout-icon .lucide-flame,.callout-icon .lucide-check,.callout-icon .lucide-help-circle,.callout-icon .lucide-alert-triangle,.callout-icon .lucide-x,.callout-icon .lucide-zap,.callout-icon .lucide-bug,.callout-icon .lucide-list,.callout-icon .lucide-quote{-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%;background-color:rgb(var(--callout-color))}.callout-icon .lucide-pencil path,.callout-icon .lucide-pencil rect,.callout-icon .lucide-pencil circle,.callout-icon .lucide-clipboard-list path,.callout-icon .lucide-clipboard-list rect,.callout-icon .lucide-clipboard-list circle,.callout-icon .lucide-info path,.callout-icon .lucide-info rect,.callout-icon .lucide-info circle,.callout-icon .lucide-check-circle-2 path,.callout-icon .lucide-check-circle-2 rect,.callout-icon .lucide-check-circle-2 circle,.callout-icon .lucide-flame path,.callout-icon .lucide-flame rect,.callout-icon .lucide-flame circle,.callout-icon .lucide-check path,.callout-icon .lucide-check rect,.callout-icon .lucide-check circle,.callout-icon .lucide-help-circle path,.callout-icon .lucide-help-circle rect,.callout-icon .lucide-help-circle circle,.callout-icon .lucide-alert-triangle path,.callout-icon .lucide-alert-triangle rect,.callout-icon .lucide-alert-triangle circle,.callout-icon .lucide-x path,.callout-icon .lucide-x rect,.callout-icon .lucide-x circle,.callout-icon .lucide-zap path,.callout-icon .lucide-zap rect,.callout-icon .lucide-zap circle,.callout-icon .lucide-bug path,.callout-icon .lucide-bug rect,.callout-icon .lucide-bug circle,.callout-icon .lucide-list path,.callout-icon .lucide-list rect,.callout-icon .lucide-list circle,.callout-icon .lucide-quote path,.callout-icon .lucide-quote rect,.callout-icon .lucide-quote circle{visibility:hidden}.callout-icon .lucide-pencil{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='black' d='M2.668 14.573 13.322 3.93l-1.709-1.72L.95 12.856l-.928 2.177c-.097.235.157.508.391.41l2.256-.869ZM14.182 3.09l.986-.967c.498-.498.527-1.035.078-1.484l-.332-.332c-.44-.44-.976-.4-1.475.087l-.986.977 1.729 1.719Z'/%3e%3c/svg%3e")}.callout-icon .lucide-clipboard-list{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='21' fill='none' viewBox='0 0 17 21'%3e%3cg fill='black'%3e%3cpath d='M0 17.88c0 2.042 1.006 3.058 3.027 3.058h10.371c2.022 0 3.028-1.016 3.028-3.057V3.066C16.426 1.036 15.42 0 13.398 0H3.028C1.005 0 0 1.035 0 3.066v14.815Zm1.572-.028V3.096c0-.977.518-1.524 1.533-1.524H13.32c1.016 0 1.534.547 1.534 1.524v14.756c0 .976-.518 1.513-1.534 1.513H3.105c-1.015 0-1.533-.537-1.533-1.513Z'/%3e%3cpath d='M4.512 5.654h7.412a.588.588 0 0 0 .596-.605.586.586 0 0 0-.596-.596H4.512a.588.588 0 0 0-.606.596.59.59 0 0 0 .606.605Zm0 3.409h7.412a.588.588 0 0 0 .596-.606.586.586 0 0 0-.596-.596H4.512a.588.588 0 0 0-.606.596.59.59 0 0 0 .606.605Zm0 3.407h3.506c.351 0 .605-.253.605-.585a.593.593 0 0 0-.605-.615H4.512a.593.593 0 0 0-.606.615c0 .332.254.586.606.586Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-info{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M8.252 15.43h3.975c.4 0 .713-.293.713-.694 0-.38-.313-.683-.713-.683h-1.211V9.082c0-.527-.264-.879-.762-.879H8.418c-.4 0-.713.303-.713.684 0 .4.313.693.713.693h1.045v4.473H8.252c-.4 0-.713.302-.713.683 0 .4.313.694.713.694Zm1.621-8.848c.713 0 1.27-.566 1.27-1.28 0-.712-.557-1.279-1.27-1.279a1.27 1.27 0 0 0-1.27 1.28 1.27 1.27 0 0 0 1.27 1.279Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-check-circle-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M8.887 14.6c.322 0 .595-.157.79-.46l4.464-7.02c.107-.196.234-.411.234-.626 0-.44-.39-.723-.8-.723-.245 0-.49.157-.675.44l-4.052 6.504-1.924-2.49c-.235-.313-.45-.391-.723-.391a.757.757 0 0 0-.752.771c0 .215.088.42.225.606l2.383 2.93c.244.322.507.459.83.459Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-flame{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='23' fill='none' viewBox='0 0 14 23'%3e%3cpath fill='black' d='M0 6.016c0 3.75 2.246 4.677 2.871 11.191.04.352.234.576.606.576H9.59c.38 0 .576-.224.615-.576.625-6.514 2.861-7.441 2.861-11.191 0-3.37-2.88-6.016-6.533-6.016C2.881 0 0 2.646 0 6.016Zm1.475 0c0-2.637 2.314-4.541 5.058-4.541 2.744 0 5.059 1.904 5.059 4.54 0 2.803-1.856 3.467-2.735 10.294H4.22c-.89-6.827-2.745-7.49-2.745-10.293Zm1.972 13.877H9.63a.563.563 0 0 0 .566-.577.56.56 0 0 0-.566-.566H3.447a.571.571 0 1 0 0 1.143Zm3.086 2.832c1.514 0 2.774-.743 2.871-1.866H3.672c.068 1.123 1.338 1.866 2.861 1.866Z'/%3e%3c/svg%3e")}.callout-icon .lucide-check{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' fill='none' viewBox='0 0 17 17'%3e%3cpath fill='black' d='M6.367 16.69c.42 0 .752-.186.987-.547L16.582 1.61c.176-.283.244-.498.244-.722 0-.537-.351-.889-.889-.889-.39 0-.605.127-.84.498L6.329 14.473l-4.55-5.957c-.245-.342-.489-.479-.84-.479-.557 0-.938.381-.938.918 0 .225.098.479.283.713l5.069 6.455c.293.38.595.566 1.015.566Z'/%3e%3c/svg%3e")}.callout-icon .lucide-help-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M9.756 11.982c.488 0 .79-.312.79-.693v-.117c0-.547.313-.899.997-1.348.947-.625 1.621-1.191 1.621-2.363 0-1.621-1.445-2.5-3.105-2.5-1.68 0-2.784.8-3.047 1.7a1.584 1.584 0 0 0-.078.478c0 .44.341.673.664.673.332 0 .547-.156.722-.39l.176-.234c.342-.567.85-.899 1.504-.899.889 0 1.465.508 1.465 1.25 0 .664-.41.986-1.26 1.582-.703.488-1.23 1.006-1.23 1.963v.127c0 .508.283.771.78.771Zm-.02 2.91c.567 0 1.055-.449 1.055-1.015 0-.567-.479-1.016-1.055-1.016s-1.054.46-1.054 1.016c0 .557.488 1.016 1.054 1.016Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-alert-triangle{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M9.951 11.719c.46 0 .733-.264.742-.772l.147-5.156c.01-.498-.381-.87-.899-.87-.527 0-.898.362-.888.86l.127 5.166c.01.498.283.772.771.772Zm0 3.174c.557 0 1.045-.45 1.045-1.016 0-.567-.478-1.016-1.045-1.016-.576 0-1.055.46-1.055 1.016 0 .557.489 1.016 1.055 1.016Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-x{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='black' d='M13.993.26.253 14a.875.875 0 0 0 0 1.23.896.896 0 0 0 1.24 0l13.74-13.74a.875.875 0 0 0 0-1.23.87.87 0 0 0-1.24 0ZM15.233 14 1.493.26a.87.87 0 0 0-1.24 0 .884.884 0 0 0 0 1.23l13.74 13.74c.332.333.908.342 1.24 0a.884.884 0 0 0 0-1.23Z'/%3e%3c/svg%3e")}.callout-icon .lucide-zap{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='19' fill='none' viewBox='0 0 21 19'%3e%3cg fill='black'%3e%3cpath d='M2.666 18.555h15.137c1.66 0 2.666-1.153 2.666-2.647 0-.459-.137-.937-.381-1.367L12.51 1.338A2.588 2.588 0 0 0 10.234 0C9.336 0 8.457.45 7.96 1.338L.381 14.54c-.264.44-.381.908-.381 1.367 0 1.494 1.006 2.647 2.666 2.647Zm.01-1.534c-.684 0-1.094-.527-1.094-1.123 0-.185.04-.42.147-.625L9.297 2.08c.205-.361.576-.518.937-.518.362 0 .723.157.928.518l7.568 13.203c.108.205.157.43.157.615 0 .596-.43 1.123-1.104 1.123H2.676Z'/%3e%3cpath d='M10.234 11.973c.47 0 .743-.274.752-.782l.137-5.146c.01-.498-.38-.87-.898-.87-.528 0-.899.362-.89.86l.128 5.156c.01.498.283.782.771.782Zm0 3.173c.567 0 1.055-.449 1.055-1.015 0-.576-.479-1.016-1.055-1.016s-1.054.45-1.054 1.016c0 .556.488 1.015 1.054 1.015Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-bug{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' fill='none' viewBox='0 0 23 23'%3e%3cpath fill='black' d='M11.065 22.94c5.156 0 8.583-3.515 8.583-8.818 0-2.93-1.298-5.927-3.369-7.744-.02-2.705-2.08-4.336-5.214-4.336-3.135 0-5.186 1.641-5.206 4.346-2.07 1.816-3.369 4.766-3.369 7.734 0 5.303 3.428 8.819 8.575 8.819Zm0-14.237c1.728 0 3.437-.333 4.55-.83 1.211 1.26 2.5 3.476 2.5 6.25 0 4.374-2.822 7.294-7.05 7.294-4.23 0-7.051-2.92-7.051-7.295 0-2.763 1.279-4.97 2.51-6.25 1.113.498 2.822.83 4.54.83Zm-.674 13.144h1.279V10.538a.642.642 0 0 0-.645-.634.634.634 0 0 0-.634.635v11.308ZM7.949 12.12a1.24 1.24 0 0 0 1.23-1.24 1.23 1.23 0 0 0-1.23-1.23 1.23 1.23 0 0 0-1.22 1.23c0 .674.546 1.24 1.22 1.24Zm-1.162 3.868a1.436 1.436 0 0 0 0-2.871c-.8 0-1.445.644-1.445 1.435a1.44 1.44 0 0 0 1.445 1.436Zm1.162 3.34a1.138 1.138 0 1 0 .01-2.275 1.138 1.138 0 0 0-.01 2.274Zm6.24-7.207c.674 0 1.221-.567 1.221-1.24a1.23 1.23 0 0 0-1.22-1.231c-.684 0-1.231.556-1.231 1.23 0 .674.547 1.24 1.23 1.24Zm1.163 3.867c.79 0 1.445-.645 1.445-1.436 0-.79-.654-1.435-1.445-1.435-.782 0-1.436.644-1.436 1.435s.654 1.436 1.436 1.436Zm-1.162 3.34c.625 0 1.132-.508 1.132-1.133a1.138 1.138 0 1 0-1.133 1.133ZM6.768 1.407l.664.244c.42.146.586.37.507.722l-.117.489 1.436-.01.068-.498c.108-.947-.332-1.65-1.299-1.992L7.256.05c-.967-.332-1.426 1.084-.488 1.358Zm8.603 0c.938-.274.479-1.69-.488-1.358l-.772.313c-.966.341-1.406 1.045-1.299 1.992l.069.498 1.435.01-.117-.489c-.078-.351.088-.576.508-.722l.664-.244ZM4.981 8.195 3.163 6.652c-.361-.303-.83-.342-1.133.02-.293.35-.185.83.176 1.122l1.846 1.553.927-1.152Zm-1.778 4.61-2.402.009c-.489 0-.801.303-.801.742 0 .45.313.752.81.752l2.393-.01v-1.494Zm.791 5.712L2.168 20.05c-.352.293-.459.762-.166 1.123.303.362.762.323 1.133.02l1.797-1.524-.938-1.152ZM17.148 8.195l.938 1.152 1.846-1.553c.351-.293.468-.771.175-1.123-.302-.361-.771-.322-1.132-.02l-1.827 1.544Zm1.788 4.61v1.493l2.392.01c.488 0 .81-.303.81-.752 0-.44-.322-.742-.8-.742l-2.402-.01Zm-.801 5.712-.938 1.143 1.807 1.533c.361.302.83.341 1.133-.02.293-.361.185-.83-.176-1.123l-1.826-1.533Z'/%3e%3c/svg%3e")}.callout-icon .lucide-list{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='19' height='23' fill='none' viewBox='0 0 19 23'%3e%3cpath fill='black' d='M8.486 4.756c.127 0 .196-.078.215-.195.293-1.582.264-1.66 1.963-1.963.117-.03.195-.098.195-.225 0-.117-.078-.195-.195-.215-1.7-.303-1.67-.38-1.963-1.963C8.681.078 8.613 0 8.486 0s-.195.078-.215.195c-.292 1.582-.263 1.66-1.962 1.963-.127.02-.196.098-.196.215 0 .127.069.195.196.225 1.699.302 1.67.38 1.962 1.963.02.117.088.195.215.195ZM3.76 11.475a.324.324 0 0 0 .332-.303c.351-2.608.44-2.608 3.135-3.125.166-.03.293-.147.293-.332a.32.32 0 0 0-.293-.322c-2.696-.381-2.793-.47-3.135-3.116-.02-.185-.147-.312-.332-.312-.176 0-.303.127-.332.322-.313 2.608-.46 2.598-3.135 3.106-.166.029-.293.146-.293.322 0 .195.127.303.332.332 2.656.43 2.783.498 3.096 3.105.029.196.156.323.332.323Zm6.62 10.8c.255 0 .44-.185.49-.449.693-5.342 1.445-6.162 6.737-6.748.274-.03.46-.224.46-.488 0-.254-.186-.45-.46-.479-5.292-.586-6.044-1.406-6.738-6.757-.049-.264-.234-.44-.488-.44s-.44.176-.479.44c-.693 5.351-1.455 6.171-6.738 6.757-.283.03-.469.225-.469.479 0 .264.186.459.47.488 5.272.694 6.005 1.406 6.737 6.748.04.264.225.45.479.45Z'/%3e%3c/svg%3e")}.callout-icon .lucide-quote{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' fill='none' viewBox='0 0 22 14'%3e%3cpath fill='black' d='M0 4.697c0 2.598 1.934 4.668 4.404 4.668A4.09 4.09 0 0 0 7.48 8.008h.264C7.178 9.854 5.46 11.396 3.33 12.03c-.312.098-.537.186-.674.303a.604.604 0 0 0-.234.508c0 .41.303.693.752.693.322 0 .547-.059.976-.195a8.532 8.532 0 0 0 3.496-2.197c1.31-1.368 2.12-3.194 2.12-5.362C9.766 2.12 7.44 0 4.716 0 2.032 0 0 2.05 0 4.697Zm11.729 0c0 2.598 1.923 4.668 4.404 4.668a4.105 4.105 0 0 0 3.076-1.357h.254c-.557 1.846-2.276 3.388-4.414 4.023-.313.098-.527.186-.664.303a.612.612 0 0 0-.244.508c0 .41.312.693.771.693.303 0 .537-.059.957-.195a8.372 8.372 0 0 0 3.486-2.197c1.329-1.368 2.14-3.194 2.14-5.362C21.494 2.12 19.17 0 16.444 0 13.76 0 11.73 2.05 11.73 4.697Z'/%3e%3c/svg%3e")}body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header .nav-action-button,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header .nav-action-button::after,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header svg.svg-icon,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header .nav-action-button,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header .nav-action-button::after,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header svg.svg-icon{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header:not(:hover) .nav-buttons-container,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header:not(:hover) .nav-buttons-container{gap:4px;padding:0;background-color:rgba(0,0,0,0)}body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button{padding:2px;flex:0;background-color:var(--background-modifier-hover);box-shadow:none}body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button.is-active,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button.is-active{background-color:var(--background-modifier-hover)}body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button.clickable-icon[aria-disabled=true],body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button.clickable-icon[aria-disabled=true]{opacity:var(--icon-opacity)}body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button::after,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header:not(:hover) .nav-buttons-container .nav-action-button::after{opacity:0;font-size:0 !important;margin-left:0px !important}body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.nav-header:not(:hover) .nav-buttons-container svg.svg-icon,body:not(.compact-actions-off) .mod-sidedock .workspace-leaf-content>.view-content>.nav-header:not(:hover) .nav-buttons-container svg.svg-icon{--icon-size: 0px}body:not(.is-mobile):not(.zoom-off) .workspace-leaf-content[data-type=markdown] .image-embed:not(.canvas-node-content),body:not(.is-mobile):not(.zoom-off) .workspace-leaf-content[data-type=markdown] img[referrerpolicy=no-referrer],body:not(.is-mobile):not(.zoom-off) .workspace-leaf-content[data-type=markdown] .cm-content>img{cursor:zoom-in}body:not(.is-mobile):not(.zoom-off) .markdown-preview-view .image-embed:not(.canvas-node-content):active img,body:not(.is-mobile):not(.zoom-off) .markdown-preview-view img[referrerpolicy=no-referrer]:active{position:fixed;z-index:1000;cursor:zoom-out;inset:0;background-color:var(--background-primary);width:100%;height:100%;max-height:unset;object-fit:contain}body:not(.is-mobile):not(.zoom-off) .markdown-source-view .image-embed:not(.canvas-node-content):active,body:not(.is-mobile):not(.zoom-off) .markdown-source-view .cm-content>img:active{position:fixed;z-index:1000;cursor:zoom-out;inset:var(--header-height) 0 0;background-color:var(--background-primary)}body:not(.is-mobile):not(.zoom-off) .markdown-source-view .image-embed:not(.canvas-node-content):active{display:flex;justify-content:center}body:not(.is-mobile):not(.zoom-off) .markdown-source-view .image-embed:not(.canvas-node-content):active img{background-color:rgba(0,0,0,0);width:100%;height:auto;max-height:unset;object-fit:contain}body:not(.is-mobile):not(.zoom-off) .markdown-source-view .cm-content>img:active{width:100%;height:calc(100% - var(--header-height));max-height:unset;object-fit:contain}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space{--sidebar-tab-text-display: flex}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{height:fit-content;flex-direction:column;padding-left:8px;gap:8px}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container-inner{flex-direction:column;width:100%;gap:calc(4px*var(--density-modifier));animation:workspaceLeafIn var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header{padding:8px}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-inner{gap:8px;padding:0;border-radius:0}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-inner:hover{color:var(--icon-color-hover)}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-spacer{display:none}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .sidebar-toggle-button{order:-1;margin-left:auto}body:not(.stacked-nav-off) .mod-sidedock.mod-left-split .mod-top-left-space .sidebar-toggle-button .clickable-icon{height:calc(var(--header-height) - 16px)}body.stacked-nav-off .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{padding-left:var(--frame-left-space)}body.tab-names-all{--sidebar-tab-text-display: flex}body.tab-names-single .workspace-tab-header:only-child{--sidebar-tab-text-display: flex}body{--cards-min-width: 160px;--cards-max-width: 1fr;--cards-mobile-width: 120px;--cards-image-height: 400px;--cards-image-fit: contain;--cards-background: transparent;--cards-background-hover: transparent;--cards-padding: 4px;--cards-aspect-ratio: auto;--cards-columns: repeat(auto-fit, minmax(var(--cards-min-width), var(--cards-max-width)))}@media(max-width: 400pt){body{--cards-min-width: var(--cards-mobile-width)}}.cards.table-100 table.dataview tbody,.table-100 .cards table.dataview tbody{padding:0 8px}.cards table.dataview.table-view-table tbody{clear:both;display:grid;grid-template-columns:var(--cards-columns);grid-column-gap:8px;grid-row-gap:8px;background-color:rgba(0,0,0,0)}.cards table.dataview.table-view-table>tbody>tr{background-color:var(--cards-background);border:var(--table-border-width) solid var(--background-modifier-border);display:flex;flex-direction:column;margin:0;padding:var(--cards-padding);border-radius:var(--radius-s);overflow:hidden;transition:var(--anim-duration-moderate) var(--anim-motion-baseline);max-width:var(--cards-max-width);height:auto}.cards table.dataview.table-view-table>tbody>tr:hover{background-color:var(--cards-background-hover)}.cards table.dataview.table-view-table tbody>tr>td{text-wrap:wrap}.cards table.dataview.table-view-table tbody>tr>td:first-child{font-weight:calc(var(--font-weight) + var(--bold-modifier))}.cards table.dataview.table-view-table tbody>tr>td:not(:first-child){font-size:var(--font-small);color:var(--text-muted)}.cards table.dataview.table-view-table tbody>tr>td>ul{width:100%;margin:0 auto !important}.cards table.dataview.table-view-table tbody>tr>td img{aspect-ratio:var(--cards-aspect-ratio);width:100%;object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.markdown-source-view.mod-cm6.cards .dataview.table-view-table>tbody>tr>td,.trim-cols .cards table.dataview tbody>tr>td{white-space:normal}.links-int-on .cards table{--link-decoration: none}.cards.table-100 table.dataview thead>tr,.table-100 .cards table.dataview thead>tr{right:8px}.table-100 .cards table.dataview thead:before,.cards.table-100 table.dataview thead:before{margin-right:8px}.cards table.dataview thead{user-select:none;width:160px;height:24px;float:right;position:relative}.cards table.dataview thead:after,.cards table.dataview thead:before{content:"";position:absolute;right:0;top:0;width:var(--icon-size);height:var(--icon-size)}.cards table.dataview thead:before{background-color:var(--text-faint);-webkit-mask-repeat:no-repeat;-webkit-mask-size:16px;-webkit-mask-position:center center;-webkit-mask-image:url('data:image/svg+xml;utf8,')}.cards table.dataview thead>tr{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);position:absolute;z-index:1;border:1px solid var(--background-modifier-border-hover);background-color:var(--background-secondary);box-shadow:var(--shadow-s);padding:4px;border-radius:var(--radius-s);flex-direction:column;margin-top:24px;width:100%}.cards table.dataview thead:not(:hover)>tr{opacity:0;filter:blur(4px);transform:translateY(-8px);pointer-events:none}.cards table.dataview thead:hover>tr{display:flex}.cards table.dataview thead>tr>th{display:block;padding:6px 8px;border-radius:var(--radius-s);font-weight:var(--font-normal);color:var(--text-normal);font-size:var(--font-ui-small)}.list-cards.markdown-preview-view .list-bullet,.list-cards.markdown-preview-view .list-collapse-indicator,.list-cards.markdown-preview-view.markdown-rendered.show-indentation-guide li>ul::before{display:none}.list-cards.markdown-preview-view div>ul{display:grid;gap:8px;grid-template-columns:var(--cards-columns);padding:0;line-height:var(--line-height-tight)}.list-cards.markdown-preview-view div>ul>li.task-list-item>.task-list-item-checkbox{margin-inline-start:4px}.list-cards.markdown-preview-view div>ul>li{background-color:var(--cards-background);border-radius:var(--radius-s);border:var(--table-border-width) solid var(--background-modifier-border);overflow:hidden;padding:8px;margin-inline-start:0;transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.list-cards.markdown-preview-view div>ul>li:hover{background-color:var(--cards-background-hover)}.list-cards.markdown-preview-view div>ul .image-embed{padding:0;display:block}.list-cards.markdown-preview-view div>ul .image-embed img{aspect-ratio:var(--cards-aspect-ratio);object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.list-cards.markdown-preview-view div>ul>li>a{--link-decoration: none;--link-external-decoration: none;font-weight:calc(var(--font-weight) + var(--bold-modifier))}.list-cards.markdown-preview-view div ul ul{display:block;width:100%;color:var(--text-muted);font-size:var(--font-smallest)}.list-cards.markdown-preview-view div ul ul>li{display:block;margin-inline-start:0}.cards.cards-16-9,.list-cards.cards-16-9{--cards-aspect-ratio: 16/9}.cards.cards-1-1,.list-cards.cards-1-1{--cards-aspect-ratio: 1/1}.cards.cards-2-1,.list-cards.cards-2-1{--cards-aspect-ratio: 2/1}.cards.cards-2-3,.list-cards.cards-2-3{--cards-aspect-ratio: 2/3}.cards.cards-cols-1,.list-cards.cards-cols-1{--cards-columns: repeat(1, minmax(0, 1fr))}.cards.cards-cols-2,.list-cards.cards-cols-2{--cards-columns: repeat(2, minmax(0, 1fr))}.cards.cards-cover,.list-cards.cards-cover{--cards-image-fit: cover}.cards.cards-cover tbody>tr>td:first-child,.list-cards.cards-cover tbody>tr>td:first-child{padding:0 !important;background-color:var(--background-secondary);display:block;margin:calc(var(--cards-padding)*-1) calc(var(--cards-padding)*-1) 0;width:calc(100% + var(--cards-padding)*2)}.cards.cards-cover tbody>tr>td:first-child img,.list-cards.cards-cover tbody>tr>td:first-child img{border-radius:0}.cards.cards-align-bottom table.dataview tbody>tr>td:last-child,.list-cards.cards-align-bottom table.dataview tbody>tr>td:last-child{margin-top:auto}@media(max-width: 400pt){.cards table.dataview tbody>tr>td:not(:first-child){font-size:80%}}@media(min-width: 400pt){.cards-cols-3{--cards-columns: repeat(3, minmax(0, 1fr))}.cards-cols-4{--cards-columns: repeat(4, minmax(0, 1fr))}.cards-cols-5{--cards-columns: repeat(5, minmax(0, 1fr))}.cards-cols-6{--cards-columns: repeat(6, minmax(0, 1fr))}.cards-cols-7{--cards-columns: repeat(7, minmax(0, 1fr))}.cards-cols-8{--cards-columns: repeat(8, minmax(0, 1fr))}}.table-small{--table-text-size: var(--font-smaller)}.table-tiny{--table-text-size: var(--font-smallest)}.row-hover{--table-row-background-hover: var(--background-modifier-hover);--table-row-alt-background-hover: var(--background-modifier-hover)}.row-alt{--table-row-alt-background: var(--background-primary);--table-row-alt-background-hover: var(--background-primary)}.col-alt .markdown-rendered:not(.cards){--table-column-alt-background: var(--background-primary)}.table-tabular table:not(.calendar){font-variant-numeric:tabular-nums}.table-center .markdown-preview-view .markdown-preview-sizer table,.table-center.markdown-preview-view .markdown-preview-sizer table,.table-center .markdown-source-view.mod-cm6 .table-wrapper,.table-center.markdown-source-view.mod-cm6 .table-wrapper{margin:0 auto}.table-lines{--table-border-width: var(--border-width);--table-header-border-width: var(--border-width);--table-column-first-border-width: var(--border-width);--table-column-last-border-width: var(--border-width);--table-row-last-border-width: var(--border-width);--table-edge-cell-padding: 8px;--table-edge-cell-padding-first: 8px;--table-edge-cell-padding-last: 8px;--table-add-button-border-width: 1px}.table-nowrap{--table-white-space: nowrap}.table-nowrap-first table thead>tr>th:first-child,.table-nowrap-first table tbody>tr>td:first-child{--table-white-space: nowrap}.trim-cols,.table-nowrap .table-wrap{--table-white-space: normal}.table-numbers table:not(.calendar){counter-reset:section}.table-numbers table:not(.calendar)>thead>tr>th:first-child{white-space:nowrap}.table-numbers table:not(.calendar)>thead>tr>th:first-child::before{content:" ";padding-right:.5em;display:inline-block;min-width:2em}.table-numbers table:not(.calendar)>thead>tr>th:first-child .table-cell-wrapper,.table-numbers table:not(.calendar)>thead>tr>th:first-child .cm-s-obsidian{display:inline-block;min-width:10px}.table-numbers table:not(.calendar):not(.table-editor)>tbody>tr>td:first-child,.table-numbers table:not(.calendar).table-editor>tbody>tr>td:first-child .table-cell-wrapper{white-space:nowrap}.table-numbers table:not(.calendar):not(.table-editor)>tbody>tr>td:first-child::before,.table-numbers table:not(.calendar).table-editor>tbody>tr>td:first-child .table-cell-wrapper::before{counter-increment:section;content:counter(section) " ";text-align:center;padding-right:.5em;display:inline-block;min-width:2em;color:var(--text-faint);font-variant-numeric:tabular-nums}.table-numbers table:not(.calendar):not(.table-editor)>tbody>tr>td:first-child .cm-s-obsidian,.table-numbers table:not(.calendar).table-editor>tbody>tr>td:first-child .table-cell-wrapper .cm-s-obsidian{display:inline-block;min-width:10px}.row-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td{border-bottom:var(--table-border-width) solid var(--table-border-color)}.row-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr:last-child>td{border-bottom:none}.col-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td{border-right:var(--table-border-width) solid var(--table-border-color)}.col-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td:last-child{border-right:none}.table-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td{border:var(--table-border-width) solid var(--table-border-color)}.table-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr:not(:last-child)>td{border-bottom:none}.table-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td:not(:last-child){border-right:none}.theme-light img[src$="#blend"],.theme-light div[src$="#blend"] img,.theme-light span[src$="#blend"] img{mix-blend-mode:multiply}.theme-light img[src$="#invertW"],.theme-light div[src$="#invertW"] img,.theme-light span[src$=invertW] img{filter:invert(1) hue-rotate(180deg)}.theme-light .img-blend{mix-blend-mode:multiply}.theme-dark div[src$="#invert"],.theme-dark div[src$="#blend"]{background-color:var(--background-primary)}.theme-dark img[src$="#invert"],.theme-dark div[src$="#invert"] img,.theme-dark span[src$="#invert"] img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.theme-dark img[src$="#blend"],.theme-dark div[src$="#blend"] img,.theme-dark span[src$="#blend"] img{mix-blend-mode:screen}.theme-dark .img-blend{mix-blend-mode:screen}img[src$="#circle"]:not(.emoji),span[src$="#circle"] img:not(.emoji),span[src$="#round"] img:not(.emoji){border-radius:50% !important;aspect-ratio:1/1;object-fit:cover}img[src$="#outline"],div[src$="#outline"] img,span[src$="#outline"] img{border:1px solid var(--background-modifier-border)}img[src$="#interface"],span[src$="#interface"] img{border:1px solid var(--background-modifier-border);box-shadow:var(--shadow-l);border-radius:var(--radius-m)}.h1-l .markdown-reading-view h1,.h1-l .markdown-source-view .HyperMD-header-1{border-bottom:1px solid var(--background-modifier-border);padding-bottom:8px}.h2-l .markdown-reading-view h2,.h2-l .markdown-source-view .HyperMD-header-2{border-bottom:1px solid var(--background-modifier-border);padding-bottom:8px}.h3-l .markdown-reading-view h3,.h3-l .markdown-source-view .HyperMD-header-3{border-bottom:1px solid var(--background-modifier-border);padding-bottom:8px}.h4-l .markdown-reading-view h4,.h4-l .markdown-source-view .HyperMD-header-4{border-bottom:1px solid var(--background-modifier-border);padding-bottom:8px}.h5-l .markdown-reading-view h5,.h5-l .markdown-source-view .HyperMD-header-5{border-bottom:1px solid var(--background-modifier-border);padding-bottom:8px}.h6-l .markdown-reading-view h6,.h6-l .markdown-source-view .HyperMD-header-6{border-bottom:1px solid var(--background-modifier-border);padding-bottom:8px}body.colorful-folders-side .nav-files-container{--collapse-icon-color: var(--text-normal)}body.colorful-folders-side .nav-files-container>div>.nav-folder{position:relative}body.colorful-folders-side .nav-files-container>div>.nav-folder::before{position:absolute;content:"";width:4px;height:-webkit-fill-available;top:2px;bottom:2px;left:-4px;border-radius:var(--radius-s)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+2)::before{background-color:var(--color-red)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+3)::before{background-color:var(--color-orange)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+4)::before{background-color:var(--color-yellow)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+5)::before{background-color:var(--color-green)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+6)::before{background-color:var(--color-cyan)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+7)::before{background-color:var(--color-blue)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+8)::before{background-color:var(--color-purple)}body.colorful-folders-side .nav-files-container>div>.nav-folder:nth-child(8n+9)::before{background-color:var(--color-pink)}body.colorful-folders-subtle .nav-files-container{--collapse-icon-color: var(--text-normal)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder{border-radius:var(--radius-s);--nav-item-color-hover: var(--nav-item-color);--nav-collapse-icon-color: var(--nav-item-color)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+2){--nav-item-color: color-mix(in srgb, var(--color-red), var(--color-base-100));background-color:rgba(var(--color-red-rgb), 0.1)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+3){--nav-item-color: color-mix(in srgb, var(--color-orange), var(--color-base-100));background-color:rgba(var(--color-orange-rgb), 0.1)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+4){--nav-item-color: color-mix(in srgb, var(--color-yellow), var(--color-base-100));background-color:rgba(var(--color-yellow-rgb), 0.1)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+5){--nav-item-color: color-mix(in srgb, var(--color-green), var(--color-base-100));background-color:rgba(var(--color-green-rgb), 0.1)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+6){--nav-item-color: color-mix(in srgb, var(--color-cyan), var(--color-base-100));background-color:rgba(var(--color-cyan-rgb), 0.1)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+7){--nav-item-color: color-mix(in srgb, var(--color-blue), var(--color-base-100));background-color:rgba(var(--color-blue-rgb), 0.1)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+8){--nav-item-color: color-mix(in srgb, var(--color-purple), var(--color-base-100));background-color:rgba(var(--color-purple-rgb), 0.1)}body.colorful-folders-subtle .nav-files-container>div>.nav-folder:nth-child(8n+9){--nav-item-color: color-mix(in srgb, var(--color-pink), var(--color-base-100));background-color:rgba(var(--color-pink-rgb), 0.1)}body.colorful-folders-strong .nav-files-container{--collapse-icon-color: var(--text-normal)}body.colorful-folders-strong .nav-files-container>div>.nav-folder{border-radius:var(--radius-s);--nav-item-color: white;--nav-item-color-hover: var(--nav-item-color);--nav-collapse-icon-color: var(--nav-item-color)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+2){background-color:rgba(var(--color-red-rgb), 0.85)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+3){background-color:rgba(var(--color-orange-rgb), 0.85)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+4){background-color:rgba(var(--color-yellow-rgb), 0.85)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+5){background-color:rgba(var(--color-green-rgb), 0.85)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+6){background-color:rgba(var(--color-cyan-rgb), 0.85)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+7){background-color:rgba(var(--color-blue-rgb), 0.85)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+8){background-color:rgba(var(--color-purple-rgb), 0.85)}body.colorful-folders-strong .nav-files-container>div>.nav-folder:nth-child(8n+9){background-color:rgba(var(--color-pink-rgb), 0.85)}body.colorful-folders-mono .nav-files-container{--collapse-icon-color: var(--text-normal)}body.colorful-folders-mono .nav-files-container>div>.nav-folder{border-radius:var(--radius-s);--nav-item-color: var(--text-normal)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+2){background-color:rgba(var(--mono-rgb-100), 0.24)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+3){background-color:rgba(var(--mono-rgb-100), 0.21)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+4){background-color:rgba(var(--mono-rgb-100), 0.18)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+5){background-color:rgba(var(--mono-rgb-100), 0.15)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+6){background-color:rgba(var(--mono-rgb-100), 0.12)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+7){background-color:rgba(var(--mono-rgb-100), 0.09)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+8){background-color:rgba(var(--mono-rgb-100), 0.06)}body.colorful-folders-mono .nav-files-container>div>.nav-folder:nth-child(8n+9){background-color:rgba(var(--mono-rgb-100), 0.03)}body.colorful-frame:not(.is-mobile){--titlebar-text-color: var(--text-on-accent);--titlebar-text-color-focused: var(--text-on-accent)}body.colorful-frame:not(.is-mobile).is-frameless:not(.is-hidden-frameless,.is-fullscreen) .titlebar{background-color:var(--color-accent)}body.colorful-frame:not(.is-mobile):not(.stacked-nav-off) .mod-sidedock .mod-top-left-space .workspace-tab-header-container-inner{padding-top:8px}body.colorful-frame:not(.is-mobile).layout-cupertino .workspace-tab-header-container::before{height:calc(var(--header-height) - 1px)}body.colorful-frame:not(.is-mobile) .workspace-ribbon .side-dock-actions,body.colorful-frame:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.nav-header,body.colorful-frame:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content>div:not(.nav-buttons-container):not(.graph-controls){padding-top:8px;padding-bottom:0}body.colorful-frame:not(.is-mobile) .workspace-ribbon::before,body.colorful-frame:not(.is-mobile) .workspace-tabs.mod-top .workspace-tab-header-container::before{content:"";position:absolute;height:var(--header-height);inset:0 0 auto;background-color:var(--color-accent) !important;pointer-events:none}body.colorful-frame:not(.is-mobile) .workspace-tab-header-container>div{z-index:1}body.colorful-frame:not(.is-mobile) .workspace-tab-header:not(.is-active){--icon-opacity: 0.5}body.colorful-frame:not(.is-mobile):not(.theme-light.contrast-light-vivid) .workspace-tab-header-container>div:not(body:not(.stacked-nav-off) .workspace-tab-header-container-inner),body.colorful-frame:not(.is-mobile):not(.theme-light.contrast-light-vivid) .workspace-tab-header-container-inner:not(body:not(.stacked-nav-off) .workspace-tabs.mod-top-left-space .workspace-tab-header-container-inner),body.colorful-frame:not(.is-mobile):not(.theme-light.contrast-light-vivid) .workspace .mod-sidedock .workspace-tab-header:not(body:not(.stacked-nav-off) .workspace-tabs.mod-top-left-space .workspace-tab-header){--icon-color: var(--text-on-accent);--icon-color-hover: var(--text-on-accent);--icon-color-focused: var(--text-on-accent)}body.colorful-frame:not(.is-mobile).theme-light.contrast-light-vivid .workspace-tab-header-container>div:not(body:not(.stacked-nav-off) .workspace-tab-header-container-inner),body.colorful-frame:not(.is-mobile).theme-light.contrast-light-vivid .workspace-tab-header-container-inner:not(body:not(.stacked-nav-off) .workspace-tabs.mod-top-left-space .workspace-tab-header-container-inner),body.colorful-frame:not(.is-mobile).theme-light.contrast-light-vivid .workspace .mod-sidedock .workspace-tab-header:not(body:not(.stacked-nav-off) .workspace-tabs.mod-top-left-space .workspace-tab-header){--icon-color: var(--text-on-accent-inverted);--icon-color-hover: var(--text-on-accent-inverted);--icon-color-focused: var(--text-on-accent-inverted)}@media screen,print{.colorful-headings-side .markdown-rendered h1::before,.colorful-headings-side .HyperMD-header-1::before,.colorful-headings-full .markdown-rendered h1::before,.colorful-headings-full .HyperMD-header-1::before{background-color:var(--h1-color, var(--color-red))}.colorful-headings-side .markdown-rendered h2::before,.colorful-headings-side .HyperMD-header-2::before,.colorful-headings-full .markdown-rendered h2::before,.colorful-headings-full .HyperMD-header-2::before{background-color:var(--h2-color, var(--color-orange))}.colorful-headings-side .markdown-rendered h3::before,.colorful-headings-side .HyperMD-header-3::before,.colorful-headings-full .markdown-rendered h3::before,.colorful-headings-full .HyperMD-header-3::before{background-color:var(--h3-color, var(--color-yellow))}.colorful-headings-side .markdown-rendered h4::before,.colorful-headings-side .HyperMD-header-4::before,.colorful-headings-full .markdown-rendered h4::before,.colorful-headings-full .HyperMD-header-4::before{background-color:var(--h4-color, var(--color-green))}.colorful-headings-side .markdown-rendered h5::before,.colorful-headings-side .HyperMD-header-5::before,.colorful-headings-full .markdown-rendered h5::before,.colorful-headings-full .HyperMD-header-5::before{background-color:var(--h5-color, var(--color-blue))}.colorful-headings-side .markdown-rendered h6::before,.colorful-headings-side .HyperMD-header-6::before,.colorful-headings-full .markdown-rendered h6::before,.colorful-headings-full .HyperMD-header-6::before{background-color:var(--h6-color, var(--color-purple))}.colorful-headings-side .markdown-rendered :is(h1,h2,h3,h4,h5,h6),.colorful-headings-side .HyperMD-header-1,.colorful-headings-side .HyperMD-header-2,.colorful-headings-side .HyperMD-header-3,.colorful-headings-side .HyperMD-header-4,.colorful-headings-side .HyperMD-header-5,.colorful-headings-side .HyperMD-header-6,.colorful-headings-full .markdown-rendered :is(h1,h2,h3,h4,h5,h6),.colorful-headings-full .HyperMD-header-1,.colorful-headings-full .HyperMD-header-2,.colorful-headings-full .HyperMD-header-3,.colorful-headings-full .HyperMD-header-4,.colorful-headings-full .HyperMD-header-5,.colorful-headings-full .HyperMD-header-6{position:relative;padding-inline-start:var(--font-ui-smaller)}.colorful-headings-side .markdown-rendered :is(h1,h2,h3,h4,h5,h6)::before,.colorful-headings-side .HyperMD-header-1::before,.colorful-headings-side .HyperMD-header-2::before,.colorful-headings-side .HyperMD-header-3::before,.colorful-headings-side .HyperMD-header-4::before,.colorful-headings-side .HyperMD-header-5::before,.colorful-headings-side .HyperMD-header-6::before,.colorful-headings-full .markdown-rendered :is(h1,h2,h3,h4,h5,h6)::before,.colorful-headings-full .HyperMD-header-1::before,.colorful-headings-full .HyperMD-header-2::before,.colorful-headings-full .HyperMD-header-3::before,.colorful-headings-full .HyperMD-header-4::before,.colorful-headings-full .HyperMD-header-5::before,.colorful-headings-full .HyperMD-header-6::before{pointer-events:none;display:inline-flex;border-radius:var(--radius-s);width:4px;height:calc(100% - 6px);content:"";bottom:4px;position:absolute;inset-inline-start:0;transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.colorful-headings-side .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line::before,.colorful-headings-side .HyperMD-header-1.cm-line::before,.colorful-headings-side .HyperMD-header-2.cm-line::before,.colorful-headings-side .HyperMD-header-3.cm-line::before,.colorful-headings-side .HyperMD-header-4.cm-line::before,.colorful-headings-side .HyperMD-header-5.cm-line::before,.colorful-headings-side .HyperMD-header-6.cm-line::before,.colorful-headings-full .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line::before,.colorful-headings-full .HyperMD-header-1.cm-line::before,.colorful-headings-full .HyperMD-header-2.cm-line::before,.colorful-headings-full .HyperMD-header-3.cm-line::before,.colorful-headings-full .HyperMD-header-4.cm-line::before,.colorful-headings-full .HyperMD-header-5.cm-line::before,.colorful-headings-full .HyperMD-header-6.cm-line::before{height:calc(100% - 6px - var(--p-spacing))}.colorful-headings-side .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-1.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-2.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-3.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-4.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-5.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-6.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-full .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-1.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-2.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-3.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-4.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-5.cm-line .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-6.cm-line .cm-header:not(.cm-inline-code){padding-inline-start:var(--font-ui-smaller);box-decoration-break:clone}.colorful-headings-side .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line.cm-active::before,.colorful-headings-side .HyperMD-header-1.cm-line.cm-active::before,.colorful-headings-side .HyperMD-header-2.cm-line.cm-active::before,.colorful-headings-side .HyperMD-header-3.cm-line.cm-active::before,.colorful-headings-side .HyperMD-header-4.cm-line.cm-active::before,.colorful-headings-side .HyperMD-header-5.cm-line.cm-active::before,.colorful-headings-side .HyperMD-header-6.cm-line.cm-active::before,.colorful-headings-full .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line.cm-active::before,.colorful-headings-full .HyperMD-header-1.cm-line.cm-active::before,.colorful-headings-full .HyperMD-header-2.cm-line.cm-active::before,.colorful-headings-full .HyperMD-header-3.cm-line.cm-active::before,.colorful-headings-full .HyperMD-header-4.cm-line.cm-active::before,.colorful-headings-full .HyperMD-header-5.cm-line.cm-active::before,.colorful-headings-full .HyperMD-header-6.cm-line.cm-active::before{inset-inline-start:-16px}.colorful-headings-side .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-1.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-2.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-3.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-4.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-5.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-side .HyperMD-header-6.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-full .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-1.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-2.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-3.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-4.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-5.cm-line.cm-active .cm-header:not(.cm-inline-code),.colorful-headings-full .HyperMD-header-6.cm-line.cm-active .cm-header:not(.cm-inline-code){padding-inline-start:0}.colorful-headings-side .collapse-indicator.heading-collapse-indicator,.colorful-headings-full .collapse-indicator.heading-collapse-indicator{margin-left:-48px}.colorful-headings-side.is-phone .collapse-indicator.heading-collapse-indicator,.colorful-headings-full.is-phone .collapse-indicator.heading-collapse-indicator{margin-left:-36px}.colorful-headings-side .collapse-indicator,.colorful-headings-full .collapse-indicator{margin-left:-32px}.colorful-headings-side .cm-fold-indicator .collapse-indicator,.colorful-headings-full .cm-fold-indicator .collapse-indicator{left:0}.colorful-headings-side .cm-line:is(.HyperMD-header-1,.HyperMD-header-2,.HyperMD-header-3,.HyperMD-header-4,.HyperMD-header-5,.HyperMD-header-6)+.cm-line:has(br:only-child):not(.HyperMD-header-1,.HyperMD-header-2,.HyperMD-header-3,.HyperMD-header-4,.HyperMD-header-5,.HyperMD-header-6)+.cm-line:is(.HyperMD-header-1,.HyperMD-header-2,.HyperMD-header-3,.HyperMD-header-4,.HyperMD-header-5,.HyperMD-header-6)::before,.colorful-headings-full .cm-line:is(.HyperMD-header-1,.HyperMD-header-2,.HyperMD-header-3,.HyperMD-header-4,.HyperMD-header-5,.HyperMD-header-6)+.cm-line:has(br:only-child):not(.HyperMD-header-1,.HyperMD-header-2,.HyperMD-header-3,.HyperMD-header-4,.HyperMD-header-5,.HyperMD-header-6)+.cm-line:is(.HyperMD-header-1,.HyperMD-header-2,.HyperMD-header-3,.HyperMD-header-4,.HyperMD-header-5,.HyperMD-header-6)::before{height:calc(100% - 6px)}.colorful-headings-side .markdown-rendered :is(h1,h2,h3,h4,h5,h6),.colorful-headings-side .HyperMD-header-1,.colorful-headings-side .HyperMD-header-2,.colorful-headings-side .HyperMD-header-3,.colorful-headings-side .HyperMD-header-4,.colorful-headings-side .HyperMD-header-5,.colorful-headings-side .HyperMD-header-6{color:inherit}.colorful-headings-full,.colorful-headings-block{--inline-title-color: inherit}.colorful-headings-full .markdown-rendered h1,.colorful-headings-full .HyperMD-header-1,.colorful-headings-block .markdown-rendered h1,.colorful-headings-block .HyperMD-header-1{color:color-mix(in srgb, var(--h1-color, var(--color-red)) 75%, var(--color-base-100))}.colorful-headings-full .markdown-rendered h2,.colorful-headings-full .HyperMD-header-2,.colorful-headings-block .markdown-rendered h2,.colorful-headings-block .HyperMD-header-2{color:color-mix(in srgb, var(--h2-color, var(--color-orange)) 75%, var(--color-base-100))}.colorful-headings-full .markdown-rendered h3,.colorful-headings-full .HyperMD-header-3,.colorful-headings-block .markdown-rendered h3,.colorful-headings-block .HyperMD-header-3{color:color-mix(in srgb, var(--h3-color, var(--color-yellow)) 75%, var(--color-base-100))}.colorful-headings-full .markdown-rendered h4,.colorful-headings-full .HyperMD-header-4,.colorful-headings-block .markdown-rendered h4,.colorful-headings-block .HyperMD-header-4{color:color-mix(in srgb, var(--h4-color, var(--color-green)) 75%, var(--color-base-100))}.colorful-headings-full .markdown-rendered h5,.colorful-headings-full .HyperMD-header-5,.colorful-headings-block .markdown-rendered h5,.colorful-headings-block .HyperMD-header-5{color:color-mix(in srgb, var(--h5-color, var(--color-blue)) 75%, var(--color-base-100))}.colorful-headings-full .markdown-rendered h6,.colorful-headings-full .HyperMD-header-6,.colorful-headings-block .markdown-rendered h6,.colorful-headings-block .HyperMD-header-6{color:color-mix(in srgb, var(--h6-color, var(--color-purple)) 75%, var(--color-base-100))}.colorful-headings-block .markdown-rendered :is(h1,h2,h3,h4,h5,h6),.colorful-headings-block .HyperMD-header-1,.colorful-headings-block .HyperMD-header-2,.colorful-headings-block .HyperMD-header-3,.colorful-headings-block .HyperMD-header-4,.colorful-headings-block .HyperMD-header-5,.colorful-headings-block .HyperMD-header-6{padding-inline:.2em;border-radius:var(--radius-s);width:fit-content}.colorful-headings-block .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line .cm-header,.colorful-headings-block .HyperMD-header-1.cm-line .cm-header,.colorful-headings-block .HyperMD-header-2.cm-line .cm-header,.colorful-headings-block .HyperMD-header-3.cm-line .cm-header,.colorful-headings-block .HyperMD-header-4.cm-line .cm-header,.colorful-headings-block .HyperMD-header-5.cm-line .cm-header,.colorful-headings-block .HyperMD-header-6.cm-line .cm-header{padding-inline:.2em;border-radius:var(--radius-s)}.colorful-headings-block .markdown-rendered :is(h1,h2,h3,h4,h5,h6).cm-line.cm-active .cm-header,.colorful-headings-block .HyperMD-header-1.cm-line.cm-active .cm-header,.colorful-headings-block .HyperMD-header-2.cm-line.cm-active .cm-header,.colorful-headings-block .HyperMD-header-3.cm-line.cm-active .cm-header,.colorful-headings-block .HyperMD-header-4.cm-line.cm-active .cm-header,.colorful-headings-block .HyperMD-header-5.cm-line.cm-active .cm-header,.colorful-headings-block .HyperMD-header-6.cm-line.cm-active .cm-header{padding-inline:.2em}.colorful-headings-block .markdown-rendered h1,.colorful-headings-block .HyperMD-header-1 .cm-header-1{background-color:color-mix(in srgb, var(--h1-color, var(--color-red)) 10%, transparent)}.colorful-headings-block .markdown-rendered h2,.colorful-headings-block .HyperMD-header-2 .cm-header-2{background-color:color-mix(in srgb, var(--h2-color, var(--color-orange)) 10%, transparent)}.colorful-headings-block .markdown-rendered h3,.colorful-headings-block .HyperMD-header-3 .cm-header-3{background-color:color-mix(in srgb, var(--h3-color, var(--color-yellow)) 10%, transparent)}.colorful-headings-block .markdown-rendered h4,.colorful-headings-block .HyperMD-header-4 .cm-header-4{background-color:color-mix(in srgb, var(--h4-color, var(--color-green)) 10%, transparent)}.colorful-headings-block .markdown-rendered h5,.colorful-headings-block .HyperMD-header-5 .cm-header-5{background-color:color-mix(in srgb, var(--h5-color, var(--color-blue)) 10%, transparent)}.colorful-headings-block .markdown-rendered h6,.colorful-headings-block .HyperMD-header-6 .cm-header-6{background-color:color-mix(in srgb, var(--h6-color, var(--color-purple)) 10%, transparent)}}body:is(.focus-view-tabs,.focus-view-all):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-header-container,body:is(.focus-view-tabs,.focus-view-all):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-header-container-inner,body:is(.focus-view-tabs,.focus-view-all):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-header-spacer{-webkit-app-region:no-drag}body:is(.focus-view-tabs,.focus-view-all):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-header-container:not(:hover){height:1px;opacity:0;padding-top:0;padding-bottom:0}body:is(.focus-view-tabs,.focus-view-all):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-container{background-color:var(--background-primary)}body:is(.focus-view-tabs,.focus-view-all):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-container .view-header{margin-left:var(--frame-left-space);margin-right:var(--frame-right-space)}body.focus-view-all:not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-container .view-header{position:absolute;left:var(--frame-left-space);right:var(--frame-right-space);margin:0;background-color:rgba(0,0,0,0);transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}body.focus-view-all:not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-container .view-header:not(:hover){opacity:0}body.focus-view-all:not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-container .view-content>.markdown-reading-view>div:first-child,body.focus-view-all:not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-container .view-content>.markdown-source-view>.cm-editor>.cm-scroller{padding-top:calc(var(--file-margins) + var(--header-height)) !important}body:not(.is-mobile).hover-sidedock:not(.stacked-nav-off) .mod-sidedock.mod-left-split.is-sidedock-collapsed .mod-top-left-space .workspace-tab-header-container{padding-top:var(--header-height)}body:not(.is-mobile).hover-sidedock.layout-frame .mod-sidedock.mod-left-split.is-sidedock-collapsed:not([style*="overflow: hidden;"]){margin:-4px 0 0 -4px;border:none}body:not(.is-mobile).hover-sidedock.layout-frame .mod-sidedock.mod-right-split.is-sidedock-collapsed:not([style*="overflow: hidden;"]){margin:-4px -4px 0 0;border:none}body:not(.is-mobile).hover-sidedock .mod-sidedock .workspace-tab-header-container{-webkit-app-region:no-drag !important}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed{z-index:var(--layer-sidedock);transition:var(--anim-duration-moderate)}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]){display:flex !important;position:absolute;transition-delay:var(--hover-sidedock-delay, var(--anim-duration-fast));height:-webkit-fill-available;width:var(--hover-sidedock-width, 320px) !important;opacity:0;background-color:rgba(0,0,0,0);filter:blur(4px)}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]):hover{opacity:1;transform:none;filter:none}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]):hover~.mod-root .workspace-tab-header-container,body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]):hover~.mod-root .workspace-tab-header-container-inner,body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]):hover:has(~.mod-root .workspace-tab-header-container),body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]):hover:has(~.mod-root .workspace-tab-header-container-inner){-webkit-app-region:no-drag}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]):hover div{pointer-events:revert-layer}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]) div{visibility:visible !important;pointer-events:none;-webkit-app-region:no-drag !important}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"]) .workspace-leaf{background-color:rgba(0,0,0,0)}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed:not([style*="overflow: hidden;"])>.workspace-leaf-resize-handle{display:none}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed::before{inset:-100% 0;width:200%;content:"";position:absolute;background:linear-gradient(to right, var(--background-primary), transparent);pointer-events:none}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed.mod-left-split:not(:hover){transform:translateX(calc(-1 * (var(--hover-sidedock-width, 320px) - var(--hover-sidedock-trigger-area, 8px))))}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed.mod-right-split:not(:hover){transform:translateX(calc(var(--hover-sidedock-width, 320px) - var(--hover-sidedock-trigger-area, 8px)))}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed.mod-right-split{right:0}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed.mod-right-split::before{left:unset;background:linear-gradient(to left, var(--background-primary), transparent)}body.theme-light.contrast-light-white{--background-primary: white;--background-primary-alt: var(--color-base-05);--background-secondary: white}body.theme-light.contrast-light-tonal{--background-primary: var(--background-secondary)}body.theme-dark.contrast-dark-tonal{--background-secondary: var(--background-primary)}body.theme-dark.contrast-dark-black{--background-primary: black;--background-primary-alt: var(--color-base-05);--background-secondary: black;--system-status-background: var(--background-primary)}body.theme-light.contrast-light-vivid{--graph-text: var(--color-base-20) !important;--graph-line: var(--color-base-70) !important;--graph-node: var(--color-base-50) !important;--graph-node-unresolved: var(--color-base-70) !important}body.theme-light.contrast-light-vivid:not(.is-focused) .mod-root .workspace-tab-header-container{opacity:1}body.theme-light.contrast-light-vivid:not(.accented-interface) .titlebar,body.theme-light.contrast-light-vivid:not(.accented-interface) .status-bar,body.theme-light.contrast-light-vivid:not(.accented-interface) .mod-sidedock,body.theme-light.contrast-light-vivid:not(.accented-interface) .mod-root .workspace-tab-header-container::before,body.theme-light.contrast-light-vivid:not(.accented-interface) .mod-root .workspace-tab-header-container>div:not(.workspace-tab-header-container-inner){--interactive-accent: rgb(var(--mono-rgb-100));--interactive-accent-hover: rgba(var(--mono-rgb-100), 0.8);--text-on-accent: var(--color-base-00)}body.theme-light.contrast-light-vivid.nav-item-strong .mod-sidedock{--nav-item-background-active: var(--interactive-accent);--nav-item-color-active: var(--text-on-accent)}body.theme-light.contrast-light-vivid:not(.nav-item-subtle,.nav-item-strong) .mod-sidedock{--nav-item-background-hover: transparent;--nav-item-background-active: transparent;--nav-item-weight-hover: var(--font-medium)}body.theme-light.contrast-light-vivid:not(.layout-minimal) .mod-root .workspace-tab-header-container{background-color:var(--background-secondary)}body.theme-light.contrast-light-vivid:not(.layout-minimal) .mod-root .workspace-tab-header-container::before{content:"";position:absolute;inset:-100vh 0;background:var(--background-secondary);pointer-events:none}body.theme-light.contrast-light-vivid .titlebar,body.theme-light.contrast-light-vivid .status-bar,body.theme-light.contrast-light-vivid .workspace::before,body.theme-light.contrast-light-vivid .workspace-ribbon,body.theme-light.contrast-light-vivid .mod-sidedock.mod-left-split,body.theme-light.contrast-light-vivid:not(.layout-minimal) .mod-sidedock.mod-right-split,body.theme-light.contrast-light-vivid:not(.layout-minimal) .mod-root .workspace-tab-header-container::before,body.theme-light.contrast-light-vivid:not(.layout-minimal) .mod-root .workspace-tab-header-container>div:not(.workspace-tab-header-container-inner),body.theme-light.contrast-light-vivid:not(.layout-minimal).tabs-underline .mod-root .workspace-tab-header-inner{--collapse-icon-color: var(--text-faint);--collapse-icon-color-collapsed: var(--text-accent);--divider-color: var(--background-modifier-border);--divider-color-hover: var(--interactive-accent);--heading-formatting: var(--text-faint);--hr-color: var(--background-modifier-border);--icon-color: var(--text-muted);--icon-color-hover: var(--text-muted);--icon-color-active: var(--text-accent);--icon-color-focused: var(--text-normal);--indentation-guide-color: rgba(var(--mono-rgb-100), 0.12);--indentation-guide-color-active: rgba(var(--mono-rgb-100), 0.3);--link-color: var(--text-accent);--link-color-hover: var(--text-accent-hover);--list-marker-color: var(--text-faint);--list-marker-color-hover: var(--text-muted);--list-marker-color-collapsed: var(--text-accent);--nav-item-color: var(--text-muted);--nav-item-color-hover: var(--text-normal);--nav-item-color-active: var(--text-normal);--nav-item-color-selected: var(--text-normal);--nav-item-color-highlighted: var(--text-accent);--nav-item-background-hover: var(--background-modifier-hover);--nav-item-background-active: var(--background-modifier-hover);--nav-indentation-guide-color: var(--indentation-guide-color);--nav-collapse-icon-color: var(--collapse-icon-color);--nav-collapse-icon-color-collapsed: var(--text-faint);--nav-heading-color: var(--text-normal);--nav-heading-color-hover: var(--text-normal);--nav-heading-color-collapsed: var(--text-faint);--nav-heading-color-collapsed-hover: var(--text-muted);--nav-heading-weight: var(--font-medium);--nav-heading-weight-hover: var(--font-medium);--metadata-border-color: var(--background-modifier-border);--metadata-divider-color: var(--background-modifier-border);--metadata-property-background-active: var(--background-modifier-hover);--metadata-label-background-active: var(--background-modifier-hover);--metadata-label-text-color: var(--text-muted);--metadata-label-text-color-hover: var(--text-muted);--metadata-input-text-color: var(--text-normal);--metadata-input-background-active: var(--background-modifier-hover);--modal-background: var(--background-primary);--ribbon-background: var(--background-secondary);--ribbon-background-collapsed: var(--background-primary);--search-result-background: var(--background-primary);--status-bar-background: var(--background-secondary);--status-bar-border-color: var(--divider-color);--status-bar-text-color: var(--text-muted);--tab-background-active: var(--background-primary);--tab-text-color: var(--text-faint);--tab-text-color-active: var(--text-muted);--tab-text-color-focused: var(--text-faint);--tab-text-color-focused-active: var(--text-muted);--tab-text-color-focused-highlighted: var(--text-accent);--tab-text-color-focused-active-current: var(--text-normal);--tab-container-background: var(--background-secondary);--tab-divider-color: var(--background-modifier-border-hover);--tab-outline-color: var(--divider-color);--titlebar-background: var(--background-secondary);--titlebar-border-color: var(--background-modifier-border);--titlebar-text-color: var(--text-muted);--titlebar-text-color-focused: var(--text-normal);--vault-profile-font-size: var(--font-ui-small);--vault-profile-font-weight: var(--font-medium);--vault-profile-color: var(--text-normal);--vault-profile-color-hover: var(--vault-profile-color);--background-primary: var(--color-base-00);--background-primary-alt: var(--color-base-10);--background-secondary: var(--color-base-20);--background-modifier-hover: rgba(var(--mono-rgb-100), 0.075);--background-modifier-border: var(--color-base-30);--background-modifier-border-hover: var(--color-base-35);--background-modifier-border-focus: var(--color-base-40);--background-modifier-form-field: var(--color-base-00);--text-normal: var(--color-base-100);--text-muted: var(--color-base-70);--text-faint: var(--color-base-50);--mono-rgb-0: 0, 0, 0;--mono-rgb-100: 255, 255, 255;--color-base-00: #1e1e1e;--color-base-05: #212121;--color-base-10: #242424;--color-base-20: #262626;--color-base-25: #2a2a2a;--color-base-30: #363636;--color-base-35: #3f3f3f;--color-base-40: #555555;--color-base-50: #666666;--color-base-60: #999999;--color-base-70: #b3b3b3;--color-base-100: #dadada;--color-accent-hsl: var(--accent-h), var(--accent-s), var(--accent-l);--color-accent: hsl(var(--accent-h), var(--accent-s), var(--accent-l));--color-accent-1: hsl(calc(258 - 3), calc(88% * 1.02), calc(66% * 1.15));--color-accent-2: hsl(calc(258 - 5), calc(88% * 1.05), calc(66% * 1.29));--background-modifier-form-field: var(--color-base-25);--background-secondary-alt: var(--color-base-30);--interactive-hover: var(--color-base-35);--background-modifier-box-shadow: rgba(0, 0, 0, 0.3);--background-modifier-cover: rgba(10, 10, 10, 0.4)}.theme-light.admin-light.color-scheme-accent,.theme-dark.admin-dark.color-scheme-accent{--accent-h: 206;--accent-s: 82%;--accent-l: 63%}.theme-light.admin-light{--background-secondary: #f3f5f7;--text-normal: #2e2e2e}.theme-dark.admin-dark,.theme-light.admin-light.contrast-light-vivid .titlebar,.theme-light.admin-light.contrast-light-vivid .status-bar,.theme-light.admin-light.contrast-light-vivid .workspace::before,.theme-light.admin-light.contrast-light-vivid .workspace-ribbon,.theme-light.admin-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).admin-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).admin-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).admin-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #23282e;--background-primary-alt: #1c2128;--background-secondary: #171b21;--background-modifier-hover: #2d343e;--text-normal: #ffffff;--text-muted: #b3b3b3;--text-faint: #909090}.theme-light.atom-light.color-scheme-accent{--accent-h: 231;--accent-s: 76%;--accent-l: 62%}.theme-light.atom-light{--color-red-rgb: 228, 87, 73;--color-orange-rgb: 183, 107, 2;--color-yellow-rgb: 193, 131, 2;--color-green-rgb: 80, 161, 80;--color-cyan-rgb: 13, 151, 179;--color-blue-rgb: 98, 175, 239;--color-purple-rgb: 166, 38, 164;--color-pink-rgb: 228, 87, 73;--color-red: #e45749;--color-orange: #b76b02;--color-yellow: #c18302;--color-green: #50a150;--color-cyan: #0d97b3;--color-blue: #62afef;--color-purple: #a626a4;--color-pink: #e45749;--background-primary: #fafafa;--background-primary-alt: #eaeaeb;--background-secondary: #eaeaeb;--interactive-normal: rgba(0, 0, 0, 0.1);--background-modifier-border: #dbdbdc;--background-modifier-border-hover: #d8d8d9;--text-normal: #232324;--text-muted: #8e8e90;--text-faint: #a0a1a8;--text-selection: rgba(180, 180, 183, 0.3);--text-highlight-bg: rgba(209, 154, 102, 0.35)}.theme-light.atom-light.contrast-light-white{--interactive-normal: #eaeaeb}.theme-dark.atom-dark.color-scheme-accent{--accent-h: 220;--accent-s: 86%;--accent-l: 65%}.theme-dark.atom-dark,.theme-light.atom-light.contrast-light-vivid .titlebar,.theme-light.atom-light.contrast-light-vivid .status-bar,.theme-light.atom-light.contrast-light-vivid .workspace::before,.theme-light.atom-light.contrast-light-vivid .workspace-ribbon,.theme-light.atom-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).atom-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).atom-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).atom-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--color-red-rgb: 225, 109, 118;--color-orange-rgb: 209, 154, 102;--color-yellow-rgb: 206, 193, 103;--color-green-rgb: 152, 195, 121;--color-cyan-rgb: 88, 182, 194;--color-blue-rgb: 98, 175, 239;--color-purple-rgb: 198, 120, 222;--color-pink-rgb: 225, 109, 118;--color-red: #e16d76;--color-orange: #d19a66;--color-yellow: #cec167;--color-green: #98c379;--color-cyan: #58b6c2;--color-blue: #62afef;--color-purple: #c678de;--color-pink: #e16d76;--background-primary: #282c34;--background-primary-alt: #21252c;--background-secondary: #21252c;--interactive-normal: #3a3f4b;--divider-color: #181a1f;--text-normal: #d8dae1;--text-muted: #898f9d;--text-faint: #5d6370;--text-selection: rgba(114, 123, 141, 0.3);--text-highlight-bg: rgba(209, 154, 102, 0.3)}.theme-dark.atom-dark.contrast-dark-black{--interactive-normal: #282c34;--divider-color: #282c34}.theme-light.ayu-light.color-scheme-accent{--accent-h: 36;--accent-s: 100%;--accent-l: 50%}.theme-light.ayu-light{--color-red-rgb: 230, 80, 80;--color-orange-rgb: 250, 141, 62;--color-yellow-rgb: 242, 174, 73;--color-green-rgb: 108, 191, 67;--color-cyan-rgb: 76, 191, 153;--color-blue-rgb: 57, 158, 230;--color-purple-rgb: 163, 122, 204;--color-pink-rgb: 255, 115, 131;--color-red: #e65050;--color-orange: #fa8d3e;--color-yellow: #f2ae49;--color-green: #6cbf43;--color-cyan: #4cbf99;--color-blue: #399ee6;--color-purple: #a37acc;--color-pink: #ff7383;--background-primary: #fff;--background-primary-alt: #f8f9fa;--background-secondary: #f8f9fa;--interactive-normal: rgba(209, 218, 224, 0.5);--background-modifier-border: #e6eaed;--text-normal: #5c6165;--text-muted: #8a9199;--text-faint: #aaaeb0;--text-selection: rgba(3, 91, 214, 0.15)}.theme-dark.ayu-dark.color-scheme-accent{--accent-h: 35;--accent-s: 100%;--accent-l: 60%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.ayu-dark,.theme-light.ayu-light.contrast-light-vivid .titlebar,.theme-light.ayu-light.contrast-light-vivid .status-bar,.theme-light.ayu-light.contrast-light-vivid .workspace::before,.theme-light.ayu-light.contrast-light-vivid .workspace-ribbon,.theme-light.ayu-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).ayu-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).ayu-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).ayu-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--color-red-rgb: 255, 102, 102;--color-orange-rgb: 250, 173, 102;--color-yellow-rgb: 255, 209, 55;--color-green-rgb: 135, 217, 108;--color-cyan-rgb: 149, 230, 203;--color-blue-rgb: 115, 208, 255;--color-purple-rgb: 223, 191, 255;--color-pink-rgb: 242, 121, 131;--color-red: #ff6666;--color-orange: #ffad66;--color-yellow: #ffd137;--color-green: #87d96c;--color-cyan: #95e6cb;--color-blue: #73d0ff;--color-purple: #dfbfff;--color-pink: #f27983;--background-primary: #232937;--background-primary-alt: #1e2431;--background-secondary: #1e2431;--interactive-normal: rgba(51, 61, 80, 0.5);--background-modifier-border: #333c4a;--background-modifier-border-hover: #333c4a;--background-modifier-border-focus: #333c4a;--text-normal: #cccac2;--text-muted: #a0a9b9;--text-faint: #6f768a;--text-selection: rgba(64, 159, 255, 0.25)}.theme-dark.ayu-dark.contrast-dark-black{--interactive-normal: #0e1017;--text-normal: #bfbdb6;--divider-color: #11151c}.theme-light.catppuccin-light.color-scheme-accent{--accent-h: 11;--accent-s: 59%;--accent-l: 67%}.theme-light.catppuccin-light{--color-red-rgb: 230, 69, 83;--color-orange-rgb: 254, 100, 12;--color-yellow-rgb: 223, 142, 29;--color-green-rgb: 64, 160, 43;--color-cyan-rgb: 23, 146, 154;--color-blue-rgb: 33, 102, 246;--color-purple-rgb: 137, 56, 239;--color-pink-rgb: 234, 119, 203;--color-red: #e64553;--color-orange: #fe640c;--color-yellow: #df8e1d;--color-green: #40a02b;--color-cyan: #17929a;--color-blue: #2166f6;--color-purple: #8938ef;--color-pink: #ea77cb;--background-primary: #f0f1f5;--background-primary-alt: #dce0e8;--background-secondary: #dce0e8;--interactive-normal: hsla(228, 11%, 65%, 0.25);--background-modifier-border: #ccd0da;--background-modifier-border-hover: #bcc0cc;--background-modifier-border-focus: #acb0be;--text-normal: #4d4f69;--text-muted: #5d5f77;--text-faint: #8d8fa2;--text-selection: rgba(172, 176, 190, 0.3);--text-highlight-bg: rgba(223, 142, 29, 0.3)}.theme-light.catppuccin-light.contrast-light-tonal{--background-secondary: #dce0e8}.theme-light.catppuccin-light.contrast-light-white{--interactive-normal: #f0f1f5;--background-modifier-border: #dce0e8}.theme-dark.catppuccin-dark.color-scheme-accent{--accent-h: 10;--accent-s: 57%;--accent-l: 88%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.catppuccin-dark,.theme-light.catppuccin-light.contrast-light-vivid .titlebar,.theme-light.catppuccin-light.contrast-light-vivid .status-bar,.theme-light.catppuccin-light.contrast-light-vivid .workspace::before,.theme-light.catppuccin-light.contrast-light-vivid .workspace-ribbon,.theme-light.catppuccin-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).catppuccin-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).catppuccin-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).catppuccin-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--color-red-rgb: 235, 153, 156;--color-orange-rgb: 239, 160, 118;--color-yellow-rgb: 229, 200, 144;--color-green-rgb: 166, 209, 138;--color-cyan-rgb: 129, 200, 190;--color-blue-rgb: 140, 170, 238;--color-purple-rgb: 202, 158, 230;--color-pink-rgb: 244, 185, 229;--color-red: #eb999c;--color-orange: #efa076;--color-yellow: #e5c890;--color-green: #a6d18a;--color-cyan: #81c8be;--color-blue: #8caaee;--color-purple: #ca9ee6;--color-pink: #f4b9e5;--background-primary: #303446;--background-primary-alt: #242634;--background-secondary: #242634;--interactive-normal: hsla(229, 13%, 52%, 0.25);--background-modifier-border: #41455a;--background-modifier-border-hover: #51576d;--background-modifier-border-focus: #626880;--text-normal: #c6d0f5;--text-muted: #a6adce;--text-faint: #848ba7;--text-selection: rgba(98, 104, 128, 0.5);--text-highlight-bg: rgba(223, 142, 29, 0.4)}.theme-dark.catppuccin-dark.contrast-dark-black{--background-modifier-border: #303446;--text-highlight-bg: rgba(223, 142, 29, 0.5)}.theme-dark.dracula-dark.color-scheme-accent{--accent-h: 265;--accent-s: 89%;--accent-l: 78%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.dracula-dark{--color-red-rgb: 255, 85, 85;--color-orange-rgb: 255, 184, 108;--color-yellow-rgb: 241, 250, 140;--color-green-rgb: 80, 250, 123;--color-cyan-rgb: 139, 233, 253;--color-blue-rgb: 98, 114, 164;--color-purple-rgb: 189, 147, 249;--color-pink-rgb: 255, 121, 198;--color-red: #ff5555;--color-orange: #ffb86c;--color-yellow: #f1fa8c;--color-green: #50fa7b;--color-cyan: #8be9fd;--color-blue: #6272a4;--color-purple: #bd93f9;--color-pink: #ff79c6;--background-primary: #282a37;--background-primary-alt: #21222c;--background-secondary: #21222c;--background-modifier-border-hover: #44475a;--background-modifier-border-focus: #6272a4;--text-normal: #f8f8f2;--text-muted: #949fbe;--text-faint: #6272a4;--text-selection: rgba(134, 140, 170, 0.3);--text-highlight-bg: rgba(189, 147, 249, 0.35)}.theme-dark.dracula-dark.contrast-dark-black{--background-modifier-border: #282a36}.theme-light.everforest-light.color-scheme-accent{--accent-h: 83;--accent-s: 36%;--accent-l: 53%}.theme-light.everforest-light{--color-red-rgb: 248, 85, 82;--color-orange-rgb: 245, 125, 38;--color-yellow-rgb: 223, 160, 0;--color-green-rgb: 141, 161, 1;--color-cyan-rgb: 53, 167, 124;--color-blue-rgb: 56, 148, 196;--color-purple-rgb: 223, 105, 186;--color-pink-rgb: 223, 105, 186;--color-red: #f85552;--color-orange: #f57d26;--color-yellow: #dfa000;--color-green: #8da101;--color-cyan: #35a77c;--color-blue: #3795c5;--color-purple: #df69ba;--color-pink: #df69ba;--background-primary: #fdf6e3;--background-primary-alt: #efebd4;--background-secondary: #efebd4;--interactive-normal: rgba(226, 222, 198, 0.5);--background-modifier-border: #e0dcc7;--background-modifier-border-hover: #bec5b2;--background-modifier-border-focus: #bec5b2;--text-normal: #5c6a72;--text-muted: #829181;--text-faint: #a6b0a0;--text-selection: rgba(198, 214, 152, 0.4);--text-highlight-bg: rgba(222, 179, 51, 0.3)}.theme-light.everforest-light.contrast-light-tonal{--background-secondary: #fdf6e3}.theme-light.everforest-light.contrast-light-white{--interactive-normal: #f3efda;--background-modifier-border: #edead5}.theme-dark.everforest-dark.color-scheme-accent{--accent-h: 81;--accent-s: 34%;--accent-l: 63%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.everforest-dark,.theme-light.everforest-light.contrast-light-vivid .titlebar,.theme-light.everforest-light.contrast-light-vivid .status-bar,.theme-light.everforest-light.contrast-light-vivid .workspace::before,.theme-light.everforest-light.contrast-light-vivid .workspace-ribbon,.theme-light.everforest-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).everforest-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).everforest-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).everforest-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--color-red-rgb: 230, 126, 128;--color-orange-rgb: 230, 152, 117;--color-yellow-rgb: 219, 188, 127;--color-green-rgb: 167, 192, 128;--color-cyan-rgb: 131, 192, 146;--color-blue-rgb: 127, 187, 179;--color-purple-rgb: 223, 105, 186;--color-pink-rgb: 223, 105, 186;--color-red: #e67e80;--color-orange: #e69875;--color-yellow: #dbbc7f;--color-green: #a7c080;--color-cyan: #83c092;--color-blue: #7fbbb3;--color-purple: #d699b6;--color-pink: #d699b6;--background-primary: #2d353b;--background-primary-alt: #232a2e;--background-secondary: #232a2e;--interactive-normal: rgba(71, 82, 88, 0.5);--background-modifier-border: #475258;--background-modifier-border-hover: #4f585e;--background-modifier-border-focus: #525c62;--text-normal: #d3c6aa;--text-muted: #9da9a0;--text-faint: #7a8478;--text-selection: rgba(134, 70, 93, 0.5);--text-highlight-bg: rgba(147, 185, 96, 0.3)}.theme-dark.everforest-dark.contrast-dark-black{--text-selection: rgba(134, 70, 93, 0.4);--background-modifier-border: #2b3339}.theme-light.flexoki-light.color-scheme-accent{--accent-h: 175;--accent-s: 57%;--accent-l: 33%}.theme-light.flexoki-light{--color-red-rgb: 175, 48, 41;--color-orange-rgb: 188, 82, 21;--color-yellow-rgb: 173, 131, 1;--color-green-rgb: 102, 128, 11;--color-cyan-rgb: 36, 131, 123;--color-blue-rgb: 32, 94, 166;--color-purple-rgb: 94, 64, 157;--color-pink-rgb: 160, 47, 111;--color-red: #af3029;--color-orange: #bc5215;--color-yellow: #ad8301;--color-green: #66800b;--color-cyan: #24837b;--color-blue: #205ea6;--color-purple: #5e409d;--color-pink: #a02f6f;--background-primary: #fffcf0;--background-primary-alt: #f2f0e5;--background-secondary: #f2f0e5;--interactive-normal: rgba(16, 15, 15, 0.05);--background-modifier-border: #e6e4d9;--background-modifier-border-hover: #dad8ce;--background-modifier-border-focus: #cecdc3;--text-normal: #100f0f;--text-muted: #6f6e69;--text-faint: #b7b5ac;--text-selection: rgba(187, 220, 206, 0.3);--text-highlight-bg: rgba(247, 209, 61, 0.3)}.theme-light.flexoki-light.contrast-light-tonal{--background-secondary: #fffcf0}.theme-dark.flexoki-dark.color-scheme-accent{--accent-h: 175;--accent-s: 49%;--accent-l: 45%}.theme-dark.flexoki-dark,.theme-light.flexoki-light.contrast-light-vivid .titlebar,.theme-light.flexoki-light.contrast-light-vivid .status-bar,.theme-light.flexoki-light.contrast-light-vivid .workspace::before,.theme-light.flexoki-light.contrast-light-vivid .workspace-ribbon,.theme-light.flexoki-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).flexoki-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).flexoki-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).flexoki-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--color-red-rgb: 209, 77, 65;--color-orange-rgb: 218, 112, 44;--color-yellow-rgb: 208, 162, 21;--color-green-rgb: 135, 154, 57;--color-cyan-rgb: 58, 169, 159;--color-blue-rgb: 67, 133, 190;--color-purple-rgb: 139, 126, 200;--color-pink-rgb: 206, 93, 151;--color-red: #d14d41;--color-orange: #da702c;--color-yellow: #d0a215;--color-green: #879a39;--color-cyan: #3aa99f;--color-blue: #4385be;--color-purple: #8b7ec8;--color-pink: #ce5d97;--background-primary: #100f0f;--background-primary-alt: #100f0f;--background-secondary: #1c1b1a;--interactive-normal: rgba(254, 252, 240, 0.05);--background-modifier-border: #282726;--background-modifier-border-hover: #343331;--background-modifier-border-focus: #403e3c;--text-normal: #cecdc3;--text-muted: #878580;--text-faint: #575653;--text-selection: rgba(30, 95, 91, 0.3);--text-highlight-bg: rgba(213, 159, 17, 0.3)}.theme-dark.flexoki-dark.contrast-dark-black{--background-modifier-border: #1c1b1a}.theme-dark.frappe-dark.color-scheme-accent{--accent-h: 10;--accent-s: 57%;--accent-l: 88%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.frappe-dark{--color-pink: #f4b8e4;--color-red: #e78284;--color-orange: #ef9f76;--color-yellow: #e5c890;--color-green: #a6d189;--color-cyan: #99d1db;--color-blue: #8caaee;--color-purple: #babbf1;--color-pink-rgb: 244, 184, 228;--color-red-rgb: 231, 130, 132;--color-orange-rgb: 239, 159, 118;--color-yellow-rgb: 229, 200, 144;--color-green-rgb: 166, 209, 137;--color-cyan-rgb: 153, 209, 219;--color-blue-rgb: 140, 170, 238;--color-purple-rgb: 186, 187, 241;--color-base-100: #c6ceef;--color-base-70: #a5acc9;--color-base-60: #949bb7;--color-base-50: #838aa4;--color-base-40: #737891;--color-base-35: #62677e;--color-base-30: #51566c;--color-base-25: #414559;--color-base-20: #303446;--color-base-10: #292c3c;--color-base-00: #232634;--text-normal: var(--color-base-100);--text-muted: var(--color-base-60);--text-faint: var(--color-base-40);--background-secondary: var(--color-base-10);--background-secondary-alt: var(--color-base-20);--background-modifier-border: var(--color-base-25);--background-modifier-border-hover: var(--color-base-30);--background-modifier-border-focus: var(--color-base-35)}.theme-light.gruvbox-light.color-scheme-accent,.theme-dark.gruvbox-dark.color-scheme-accent{--accent-h: 24;--accent-s: 88%;--accent-l: 45%}.theme-light.gruvbox-light,.theme-dark.gruvbox-dark{--color-red-rgb: 204, 36, 29;--color-orange-rgb: 214, 93, 14;--color-yellow-rgb: 215, 153, 33;--color-green-rgb: 152, 151, 26;--color-cyan-rgb: 104, 157, 106;--color-blue-rgb: 69, 133, 136;--color-purple-rgb: 177, 98, 134;--color-pink-rgb: 177, 98, 134;--color-red: #cc241d;--color-orange: #d65d0e;--color-yellow: #d79921;--color-green: #98971a;--color-cyan: #689d6a;--color-blue: #458588;--color-purple: #b16286;--color-pink: #b16286}.theme-light.gruvbox-light{--background-primary: #fcf2c7;--background-primary-alt: #f2e6bd;--background-secondary: #f2e6bd;--interactive-normal: #ebd9b3;--background-modifier-border: #ebdbb2;--background-modifier-border-hover: #d5c4a1;--background-modifier-border-focus: #bdae93;--text-normal: #282828;--text-muted: #7c7065;--text-faint: #a89a85;--text-selection: rgba(192, 165, 125, 0.3);--text-highlight-bg: rgba(215, 153, 33, 0.4)}.theme-light.gruvbox-light.contrast-light-tonal{--background-secondary: #fcf2c7}.theme-light.gruvbox-light.contrast-light-white{--interactive-normal: #faf5d7;--background-modifier-border: #f2e6bd}.theme-dark.gruvbox-dark,.theme-light.gruvbox-light.contrast-light-vivid .titlebar,.theme-light.gruvbox-light.contrast-light-vivid .status-bar,.theme-light.gruvbox-light.contrast-light-vivid .workspace::before,.theme-light.gruvbox-light.contrast-light-vivid .workspace-ribbon,.theme-light.gruvbox-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).gruvbox-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).gruvbox-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).gruvbox-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #282828;--background-primary-alt: #1e2021;--background-secondary: #1e2021;--interactive-normal: #3d3836;--interactive-normal: rgba(62, 57, 55, 0.5);--background-modifier-border: #3c3836;--background-modifier-border-hover: #504945;--background-modifier-border-focus: #665c54;--text-normal: #fbf1c7;--text-muted: #bdae93;--text-faint: #7c6f64;--text-selection: rgba(173, 149, 139, 0.3);--text-highlight-bg: rgba(215, 153, 33, 0.4)}.theme-dark.gruvbox-dark.contrast-dark-black{--text-selection: rgba(173, 149, 139, 0.4);--background-modifier-border: #282828}.theme-light.latte-light.color-scheme-accent{--accent-h: 11;--accent-s: 58%;--accent-l: 69%}.theme-light.latte-light{--color-pink: #ec83d0;--color-red: #d20f39;--color-orange: #fe640b;--color-yellow: #e49320;--color-green: #40a02b;--color-cyan: #04a5e5;--color-blue: #2a6ef5;--color-purple: #7287fd;--color-pink-rgb: 236, 131, 208;--color-red-rgb: 210, 15, 57;--color-orange-rgb: 254, 100, 11;--color-yellow-rgb: 228, 147, 32;--color-green-rgb: 64, 160, 43;--color-cyan-rgb: 4, 165, 229;--color-blue-rgb: 42, 110, 245;--color-purple-rgb: 114, 135, 253;--color-base-100: #4c4f69;--color-base-70: #6c6f85;--color-base-60: #7c7f93;--color-base-50: #8c8fa1;--color-base-40: #9ca0b0;--color-base-35: #acb0be;--color-base-30: #bcc0cc;--color-base-25: #ccd0da;--color-base-20: #eff1f5;--color-base-10: #e6e9ef;--color-base-00: #dce0e8;--text-normal: var(--color-base-100);--background-secondary: var(--color-base-10);--background-secondary-alt: var(--color-base-20)}.theme-dark.macchiato-dark.color-scheme-accent{--accent-h: 10;--accent-s: 58%;--accent-l: 90%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.macchiato-dark{--color-pink: #f5bde6;--color-red: #ed8796;--color-orange: #f5a97f;--color-yellow: #eed49f;--color-green: #a6da95;--color-cyan: #91d7e3;--color-blue: #8aadf4;--color-purple: #b7bdf8;--color-pink-rgb: 245, 189, 230;--color-red-rgb: 237, 135, 150;--color-orange-rgb: 245, 169, 127;--color-yellow-rgb: 238, 212, 159;--color-green-rgb: 166, 218, 149;--color-cyan-rgb: 145, 215, 227;--color-blue-rgb: 138, 173, 244;--color-purple-rgb: 183, 189, 248;--color-base-100: #c5cff5;--color-base-70: #a1aacb;--color-base-60: #8f97b7;--color-base-50: #7d84a2;--color-base-40: #6c728d;--color-base-35: #5a5f78;--color-base-30: #484c64;--color-base-25: #363a4f;--color-base-20: #24273a;--color-base-10: #1e2030;--color-base-00: #181926;--text-normal: var(--color-base-100);--text-muted: var(--color-base-60);--text-faint: var(--color-base-40);--background-secondary: var(--color-base-10);--background-secondary-alt: var(--color-base-20);--background-modifier-border: var(--color-base-25);--background-modifier-border-hover: var(--color-base-30);--background-modifier-border-focus: var(--color-base-35)}.theme-light.melange-light.color-scheme-accent{--accent-h: 29;--accent-s: 100%;--accent-l: 37%}.theme-light.melange-light{--interactive-normal: #f0ecea;--background-primary: #f0ecea;--background-primary-alt: #e9e1db;--background-secondary: #e9e1db;--background-modifier-border: #d6c0b3;--background-modifier-border-hover: #cdb8ad;--background-modifier-border-focus: #b09b8f;--text-faint: #a98a78;--text-muted: #7d6658;--text-normal: #54433a;--color-blue: #7892bd;--color-cyan: #739797;--color-green: #6e9b72;--color-purple: #ad6bc0;--color-pink: #d65cbc;--color-red: #c77b8b;--color-orange: #bc5c00;--color-yellow: #bda240;--color-blue-rgb: 120, 146, 189;--color-cyan-rgb: 115, 151, 151;--color-green-rgb: 110, 155, 114;--color-purple-rgb: 173, 107, 192;--color-pink-rgb: 214, 92, 188;--color-red-rgb: 199, 123, 139;--color-orange-rgb: 188, 92, 0;--color-yellow-rgb: 189, 162, 64}.theme-dark.melange-dark.color-scheme-accent{--accent-h: 28;--accent-s: 71%;--accent-l: 63%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.melange-dark,.theme-light.melange-light.contrast-light-vivid .titlebar,.theme-light.melange-light.contrast-light-vivid .status-bar,.theme-light.melange-light.contrast-light-vivid .workspace::before,.theme-light.melange-light.contrast-light-vivid .workspace-ribbon,.theme-light.melange-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).melange-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).melange-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).melange-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--interactive-normal: #292522;--background-primary: #292522;--background-primary-alt: #34302c;--background-secondary: #34302c;--background-modifier-border: #403a36;--background-modifier-border-hover: #635851;--background-modifier-border-focus: #7e7469;--text-faint: #867462;--text-muted: #c1a78e;--text-normal: #ece1d7;--color-blue: #7f91b2;--color-cyan: #7b9695;--color-green: #78997a;--color-purple: #b380b0;--color-pink: #c070ae;--color-red: #bd8183;--color-orange: #e49b5d;--color-yellow: #d2be73;--color-blue-rgb: 127, 145, 178;--color-cyan-rgb: 123, 150, 149;--color-green-rgb: 120, 153, 122;--color-purple-rgb: 179, 128, 176;--color-pink-rgb: 192, 112, 174;--color-red-rgb: 189, 129, 131;--color-orange-rgb: 228, 155, 93;--color-yellow-rgb: 210, 190, 115}.theme-light.minimal-light,.theme-dark.minimal-dark{--color-red-rgb: 208, 66, 85;--color-orange-rgb: 213, 118, 63;--color-yellow-rgb: 229, 181, 103;--color-green-rgb: 168, 195, 115;--color-cyan-rgb: 115, 187, 178;--color-blue-rgb: 108, 153, 187;--color-purple-rgb: 158, 134, 200;--color-pink-rgb: 176, 82, 121;--color-red: #d04255;--color-orange: #d5763f;--color-yellow: #e5b567;--color-green: #a8c373;--color-cyan: #73bbb2;--color-blue: #6c99bb;--color-purple: #9e86c8;--color-pink: #b05279}.theme-light.minimal-light.color-scheme-accent,.theme-dark.minimal-dark.color-scheme-accent{--accent-h: 201;--accent-s: 17%;--accent-l: 50%}.theme-light.minimal-light{--background-primary: white;--background-primary-alt: #f5f5f5;--background-secondary: #f5f5f5;--background-secondary-alt: white;--interactive-normal: white;--background-modifier-border: #e6e6e6;--background-modifier-border-hover: #d6d6d6;--background-modifier-border-focus: #c2c2c2;--text-normal: #0f0f0f;--text-muted: #757575;--text-faint: #b5b5b5}.theme-dark.minimal-dark.color-scheme-accent{--accent-l: 60%}.theme-dark.minimal-dark,.theme-light.minimal-light.contrast-light-vivid .titlebar,.theme-light.minimal-light.contrast-light-vivid .status-bar,.theme-light.minimal-light.contrast-light-vivid .workspace::before,.theme-light.minimal-light.contrast-light-vivid .workspace-ribbon,.theme-light.minimal-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal) .theme-light.minimal-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal) .theme-light.minimal-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal) .theme-light.minimal-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #262626;--background-primary-alt: #212121;--background-secondary: #212121;--background-secondary-alt: #262626;--interactive-normal: #8c8c8c1f;--background-modifier-hover: #8c8c8c1f;--background-modifier-hover-active: #8c8c8c1f;--background-modifier-border: #363636;--background-modifier-border-hover: #454545;--background-modifier-border-focus: #595959;--text-normal: #d4d4d4;--text-muted: #999999;--text-faint: #595959}.theme-dark.mocha-dark.color-scheme-accent{--accent-h: 10;--accent-s: 56%;--accent-l: 91%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.mocha-dark{--color-pink: #f5c2e7;--color-red: #f38ba8;--color-orange: #fab387;--color-yellow: #f9e2af;--color-green: #a6e3a1;--color-cyan: #89dceb;--color-blue: #87b0f9;--color-purple: #b4befe;--color-pink-rgb: 245, 194, 231;--color-red-rgb: 243, 139, 168;--color-orange-rgb: 250, 179, 135;--color-yellow-rgb: 249, 226, 175;--color-green-rgb: 166, 227, 161;--color-cyan-rgb: 137, 220, 235;--color-blue-rgb: 135, 176, 249;--color-purple-rgb: 180, 190, 254;--color-base-100: #c6d0f5;--color-base-70: #a1a8c9;--color-base-60: #8e95b3;--color-base-50: #7b819d;--color-base-40: #696d86;--color-base-35: #565970;--color-base-30: #43465a;--color-base-25: #313244;--color-base-20: #1e1e2e;--color-base-10: #181825;--color-base-00: #11111b;--text-normal: var(--color-base-100);--text-muted: var(--color-base-60);--text-faint: var(--color-base-40);--background-secondary: var(--color-base-10);--background-secondary-alt: var(--color-base-20);--background-modifier-border: var(--color-base-25);--background-modifier-border-hover: var(--color-base-30);--background-modifier-border-focus: var(--color-base-35)}.theme-light.nord-light.color-scheme-accent,.theme-dark.nord-dark.color-scheme-accent{--accent-h: 213;--accent-s: 32%;--accent-l: 52%}.theme-dark.nord-dark,.theme-light.nord-light{--color-red-rgb: 191, 97, 106;--color-orange-rgb: 208, 138, 112;--color-yellow-rgb: 235, 203, 139;--color-green-rgb: 163, 190, 140;--color-cyan-rgb: 136, 192, 208;--color-blue-rgb: 129, 161, 193;--color-purple-rgb: 180, 142, 173;--color-pink-rgb: 180, 142, 173;--color-red: #bf616a;--color-orange: #d08770;--color-yellow: #ebcb8b;--color-green: #a3be8c;--color-cyan: #88c0d0;--color-blue: #81a1c1;--color-purple: #b48ead;--color-pink: #b48ead}.theme-light.nord-light{--background-primary: #fff;--background-primary-alt: #eceff4;--background-secondary: #eceff4;--interactive-normal: rgba(157, 174, 206, 0.25);--background-modifier-border: #d8dee9;--background-modifier-border-hover: #bbcadc;--background-modifier-border-focus: #81a1c1;--text-normal: #2e3440;--text-muted: #7d8697;--text-faint: #adb1b8;--text-highlight-bg: rgba(208, 135, 112, 0.35)}.theme-dark.nord-dark,.theme-dark.nord-dark,.theme-light.nord-light.contrast-light-vivid .titlebar,.theme-light.nord-light.contrast-light-vivid .status-bar,.theme-light.nord-light.contrast-light-vivid .workspace::before,.theme-light.nord-light.contrast-light-vivid .workspace-ribbon,.theme-light.nord-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).nord-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).nord-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).nord-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #2e3440;--background-primary-alt: #3b4252;--background-secondary: #3b4252;--interactive-normal: rgba(135, 152, 190, 0.15);--background-modifier-border: #434c5e;--background-modifier-border-hover: #58647b;--background-modifier-border-focus: #58647b;--text-normal: #d8dee9;--text-muted: #9eafcc;--text-faint: #67738d;--text-selection: rgba(129, 142, 180, 0.3);--text-highlight-bg: rgba(208, 135, 112, 0.35)}.theme-dark.nord-dark.contrast-dark-black{--background-modifier-border: #2e3440}.theme-light.notion-light.color-scheme-accent{--accent-h: 217;--accent-s: 67%;--accent-l: 57%;--interactive-accent: var(--color-accent)}.theme-light.notion-light{--background-primary-alt: #f9f8f7;--background-secondary: #f9f8f7;--background-modifier-hover: rgba(0, 0, 0, 0.03);--background-modifier-border: #e9e8e5;--background-modifier-border-hover: #e6e6e4;--background-modifier-border-focus: var(--color-accent);--text-normal: #2c2c2b;--text-muted: #5f5e5b;--text-faint: #a8a49c;--text-selection: rgba(131, 201, 229, 0.3)}.theme-dark.notion-dark.color-scheme-accent{--accent-h: 217;--accent-s: 67%;--accent-l: 57%;--interactive-accent: var(--color-accent)}.theme-dark.notion-dark,.theme-light.notion-light.contrast-light-vivid .titlebar,.theme-light.notion-light.contrast-light-vivid .status-bar,.theme-light.notion-light.contrast-light-vivid .workspace::before,.theme-light.notion-light.contrast-light-vivid .workspace-ribbon,.theme-light.notion-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).notion-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).notion-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).notion-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #191919;--background-primary-alt: #202020;--background-secondary: #202020;--background-modifier-hover: rgba(255, 255, 255, 0.055);--background-modifier-border: #313131;--background-modifier-border-hover: #30302e;--background-modifier-border-focus: var(--color-accent);--text-normal: #f0efed;--text-muted: #9b9b9b;--text-faint: #65645f}.theme-light.rose-pine-light.color-scheme-accent{--accent-h: 3;--accent-s: 53%;--accent-l: 67%}.theme-light.rose-pine-light{--color-red-rgb: 180, 99, 122;--color-orange-rgb: 215, 130, 125;--color-yellow-rgb: 234, 157, 53;--color-green-rgb: 40, 105, 131;--color-cyan-rgb: 87, 147, 159;--color-blue-rgb: 87, 147, 159;--color-purple-rgb: 144, 122, 169;--color-pink-rgb: 144, 122, 169;--color-red: #b4637a;--color-orange: #d7827e;--color-yellow: #ea9d34;--color-green: #286983;--color-cyan: #56949f;--color-blue: #56949f;--color-purple: #907aa9;--color-pink: #907aa9;--background-primary: #fffaf3;--background-primary-alt: #faf4ed;--background-secondary: #faf4ed;--interactive-normal: rgba(233, 223, 218, 0.5);--background-modifier-border: #eae3e1;--background-modifier-border-hover: #dfdad9;--background-modifier-border-focus: #cecacd;--text-normal: #575279;--text-muted: #797593;--text-faint: #9893a5;--text-selection: rgba(191, 180, 181, 0.35)}.theme-dark.rose-pine-dark.color-scheme-accent{--accent-h: 2;--accent-s: 55%;--accent-l: 83%;--text-on-accent: var(--background-primary);--text-on-accent-inverted: var(--background-primary)}.theme-dark.rose-pine-dark,.theme-light.rose-pine-light.contrast-light-vivid .titlebar,.theme-light.rose-pine-light.contrast-light-vivid .status-bar,.theme-light.rose-pine-light.contrast-light-vivid .workspace::before,.theme-light.rose-pine-light.contrast-light-vivid .workspace-ribbon,.theme-light.rose-pine-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).rose-pine-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).rose-pine-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).rose-pine-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--color-red-rgb: 234, 111, 146;--color-orange-rgb: 233, 155, 151;--color-yellow-rgb: 246, 193, 119;--color-green-rgb: 47, 116, 143;--color-cyan-rgb: 157, 207, 215;--color-blue-rgb: 157, 207, 215;--color-purple-rgb: 196, 167, 231;--color-pink-rgb: 196, 167, 231;--color-red: #eb6f92;--color-orange: #ea9a97;--color-yellow: #f6c177;--color-green: #31748f;--color-cyan: #9ccfd8;--color-blue: #9ccfd8;--color-purple: #c4a7e7;--color-pink: #c4a7e7;--background-primary: #1f1d2e;--background-primary-alt: #191724;--background-secondary: #191724;--interactive-normal: rgba(68, 66, 86, 0.5);--background-modifier-border: #312f41;--background-modifier-border-hover: #403d52;--background-modifier-border-focus: #524f67;--text-normal: #e0def4;--text-muted: #908caa;--text-faint: #6e6a86;--text-selection: rgba(126, 121, 155, 0.35)}.theme-dark.rose-pine-dark.contrast-dark-black{--background-modifier-border: #21202e}.theme-light.sanctum-light,.theme-dark.sanctum-dark{--white: 253, 254, 254;--gray-10: 244, 244, 240;--gray-20: 226, 224, 220;--gray-30: 199, 197, 194;--gray-40: 169, 168, 165;--gray-50: 142, 140, 139;--gray-60: 112, 110, 109;--gray-70: 84, 81, 81;--gray-80: 58, 56, 56;--gray-90: 38, 38, 37;--gray-100: 22, 22, 22;--black: 0, 0, 0;--color-pink-rgb: 235, 86, 115;--color-red-rgb: 195, 65, 40;--color-orange-rgb: 245, 139, 66;--color-yellow-rgb: 243, 189, 79;--color-green-rgb: 102, 152, 97;--color-blue-rgb: 83, 111, 157;--color-cyan-rgb: 99, 149, 156;--color-purple-rgb: 165, 119, 218;--color-pink: #eb5673;--color-red: #c34128;--color-orange: #f58b42;--color-yellow: #f3bd4f;--color-green: #669861;--color-blue: #536f9d;--color-cyan: #63959c;--color-purple: #a577da}.theme-light.sanctum-light.color-scheme-accent{--accent-h: 24;--accent-s: 90%;--accent-l: 61%}.theme-light.sanctum-light{--background-primary: rgb(var(--white));--background-primary-alt: rgba(var(--gray-20), 0.5);--background-secondary: rgb(var(--gray-10));--background-secondary-alt: rgb(var(--gray-20));--background-modifier-hover: rgba(var(--gray-50), 0.12);--background-modifier-border: rgb(var(--gray-20));--background-modifier-border-hover: rgb(var(--gray-20));--background-modifier-border-focus: rgb(var(--gray-30));--interactive-normal: rgb(var(--white));--text-normal: rgb(var(--gray-100));--text-muted: rgb(var(--gray-70));--text-faint: rgb(var(--gray-40))}.theme-dark.sanctum-dark.color-scheme-accent{--accent-h: 115;--accent-s: 22%;--accent-l: 49%}.theme-dark.sanctum-dark,.theme-light.sanctum-light.contrast-light-vivid .titlebar,.theme-light.sanctum-light.contrast-light-vivid .status-bar,.theme-light.sanctum-light.contrast-light-vivid .workspace::before,.theme-light.sanctum-light.contrast-light-vivid .workspace-ribbon,.theme-light.sanctum-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).sanctum-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).sanctum-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).sanctum-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: rgb(var(--gray-100));--background-primary-alt: rgb(var(--gray-90));--background-secondary: rgb(var(--gray-90));--background-secondary-alt: rgb(var(--gray-80));--background-modifier-hover: rgba(var(--gray-50), 0.16);--background-modifier-border: rgb(var(--gray-80));--background-modifier-border-hover: rgb(var(--gray-80));--background-modifier-border-focus: rgb(var(--gray-70));--interactive-normal: rgb(var(--gray-90));--text-normal: rgb(var(--gray-10));--text-muted: rgb(var(--gray-30));--text-faint: rgb(var(--gray-60))}.theme-light.sky-light.color-scheme-accent{--accent-h: 197;--accent-s: 71%;--accent-l: 52%}.theme-light.sky-light{--background-primary-alt: #f7f6f4;--background-secondary: #f7f6f4;--interactive-normal: #e8e7e4;--background-modifier-border: #ededec;--background-modifier-border-hover: #dbdbda;--background-modifier-border-focus: #aaa9a5;--text-normal: #37352f;--text-muted: #72706c;--text-faint: #aaa9a5;--text-selection: rgba(131, 201, 229, 0.3)}.theme-dark.sky-dark.color-scheme-accent{--accent-h: 197;--accent-s: 71%;--accent-l: 52%}.theme-dark.sky-dark,.theme-light.sky-light.contrast-light-vivid .titlebar,.theme-light.sky-light.contrast-light-vivid .status-bar,.theme-light.sky-light.contrast-light-vivid .workspace::before,.theme-light.sky-light.contrast-light-vivid .workspace-ribbon,.theme-light.sky-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).sky-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).sky-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).sky-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #2f3437;--background-primary-alt: #373c3f;--background-secondary: #373c3f;--interactive-normal: #4b5053;--background-modifier-border: #3e4245;--background-modifier-border-hover: #585d5f;--background-modifier-border-focus: #585d5f;--text-normal: #ebebeb;--text-muted: #a3a5a9;--text-faint: #6d7476;--text-selection: rgba(57, 134, 164, 0.3)}.theme-dark.sky-dark.contrast-dark-black{--interactive-normal: #232729;--background-modifier-border: #2f3437}.theme-light.solarized-light.color-scheme-accent,.theme-dark.solarized-dark.color-scheme-accent{--accent-h: 205;--accent-s: 70%;--accent-l: 48%}.theme-light.solarized-light,.theme-dark.solarized-dark{--color-red-rgb: 220, 50, 47;--color-orange-rgb: 203, 77, 22;--color-yellow-rgb: 181, 137, 0;--color-green-rgb: 133, 153, 0;--color-cyan-rgb: 42, 161, 152;--color-blue-rgb: 38, 139, 210;--color-purple-rgb: 108, 113, 196;--color-pink-rgb: 211, 54, 130;--color-red: #dc322f;--color-orange: #cb4b16;--color-yellow: #b58900;--color-green: #859900;--color-cyan: #2aa198;--color-blue: #268bd2;--color-purple: #6c71c4;--color-pink: #d33682}.theme-light.solarized-light{--background-primary: #fdf6e3;--background-primary-alt: #eee8d5;--background-secondary: #eee8d5;--interactive-normal: rgba(0, 0, 0, 0.062);--background-modifier-border: #e9e1c8;--background-modifier-border-hover: #d0cab8;--background-modifier-border-focus: #d0cab8;--text-normal: #073642;--text-muted: #586e75;--text-faint: #abb2ac;--tx4: #586e75;--text-selection: rgba(202, 197, 182, 0.3);--text-highlight-bg: rgba(203, 75, 22, 0.3)}.theme-light.solarized-light.contrast-light-tonal{--background-secondary: #fdf6e3}.theme-dark.solarized-dark,.theme-light.solarized-light.contrast-light-vivid .titlebar,.theme-light.solarized-light.contrast-light-vivid .status-bar,.theme-light.solarized-light.contrast-light-vivid .workspace::before,.theme-light.solarized-light.contrast-light-vivid .workspace-ribbon,.theme-light.solarized-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).solarized-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).solarized-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).solarized-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #002b36;--background-primary-alt: #073642;--background-secondary: #073642;--interactive-normal: rgba(255, 255, 255, 0.062);--background-modifier-border: #19414b;--background-modifier-border-hover: #274850;--background-modifier-border-focus: #31535b;--text-normal: #bccaca;--text-muted: #97abb2;--text-faint: #4a717a;--tx4: #657b83;--text-selection: rgba(15, 81, 98, 0.3);--text-highlight-bg: rgba(203, 75, 22, 0.35)}.theme-dark.solarized-dark.contrast-dark-black{--text-selection: rgba(15, 81, 98, 0.55);--background-modifier-border: #002b36}.theme-light.things-light.color-scheme-accent{--accent-h: 215;--accent-s: 76%;--accent-l: 43%}.theme-dark.things-dark.color-scheme-accent{--accent-h: 215;--accent-s: 91%;--accent-l: 64%}.theme-dark.things-dark,.theme-light.things-light{--color-red-rgb: 255, 48, 108;--color-orange-rgb: 255, 149, 2;--color-yellow-rgb: 255, 213, 0;--color-green-rgb: 75, 191, 94;--color-cyan-rgb: 73, 174, 164;--color-purple-rgb: 176, 81, 222;--color-pink-rgb: 255, 46, 85;--color-red: #ff306c;--color-orange: #ff9502;--color-yellow: #ffd500;--color-green: #4bbf5e;--color-cyan: #49aea4;--color-purple: #b051de;--color-pink: #ff2e55}.theme-light.things-light{--color-blue-rgb: 27, 97, 194;--color-blue: #1b61c2}.theme-dark.things-dark{--color-blue-rgb: 77, 149, 247;--color-blue: #4d95f7}.theme-light.things-light{--background-primary: white;--background-primary-alt: #f5f6f8;--background-secondary: #f5f6f8;--interactive-normal: rgba(162, 177, 187, 0.25);--background-modifier-border: #eef0f4;--background-modifier-border-hover: #d8dadd;--background-modifier-border-focus: #c1c3c6;--text-normal: #26272b;--text-muted: #7d7f84;--text-faint: #a9abb0;--text-selection: #cae2ff}.theme-light.things-light.contrast-light-tonal{--background-modifier-border: #e6e8ec}.theme-light.things-light.contrast-light-white{--interactive-normal: #f5f6f8}.theme-dark.things-dark,.theme-light.things-light.contrast-light-vivid .titlebar,.theme-light.things-light.contrast-light-vivid .status-bar,.theme-light.things-light.contrast-light-vivid .workspace::before,.theme-light.things-light.contrast-light-vivid .workspace-ribbon,.theme-light.things-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).things-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).things-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).things-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #24262a;--background-primary-alt: #202225;--background-secondary: #202225;--interactive-normal: #3d3f41;--divider-color: #17191c;--background-modifier-border: #3a3b3f;--background-modifier-border-hover: #45464a;--background-modifier-border-focus: #6c6e70;--text-normal: #fbfbfb;--text-muted: #cbcccd;--text-faint: #6c6e70;--text-selection: rgba(40, 119, 236, 0.35)}.theme-dark.things-dark.contrast-dark-black{--interactive-normal: #24262a;--divider-color: #24262a}.theme-light.tiniri-light.color-scheme-accent{--accent-h: 3;--accent-l: 54;--accent-s: 70;--interactive-normal: #f7f3f0;--interactive-hover: #ede9e1;--interactive-accent: #538a8a;--interactive-accent-hover: #5c9e9e;--text-on-accent: #fdfcfc;--text-on-accent-inverted: #333231;--text-success: #538a8a;--text-warning: #ad514c;--text-error: #ad514c;--text-accent: #ad514c;--text-accent-hover: #cc645e;--text-selection: #dae5e2;--text-highlight-bg: #fab48588}.theme-light.tiniri-light{--background-primary: #fdfcfc;--background-primary-alt: #fdfcfc;--background-secondary: #f7f3f0;--background-secondary-alt: #f7f3f0;--background-modifier-border: #33323118;--text-normal: #333231;--text-muted: #807974;--text-faint: #80797499;--color-red: #ad514c;--color-orange: #d28450;--color-yellow: #d28450;--color-green: #538a8a;--color-cyan: #807974;--color-blue: #356b94;--color-purple: #804c6e;--color-pink: #bd71a4;--color-red-rgb: 173, 81, 76;--color-orange-rgb: 210, 132, 80;--color-yellow-rgb: 120, 113, 108;--color-green-rgb: 83, 138, 138;--color-cyan-rgb: 120, 113, 108;--color-blue-rgb: 53, 107, 148;--color-purple-rgb: 128, 76, 110;--color-pink-rgb: 189, 113, 164}.theme-dark.tiniri-dark.color-scheme-accent{--accent-h: 0;--accent-l: 50;--accent-s: 77;--interactive-normal: #353a42;--interactive-hover: #3f444d;--interactive-accent: #314f52;--interactive-accent-hover: #39595c;--text-on-accent: #dbd3ca;--text-on-accent-inverted: #1f2122;--text-success: #aac2ae;--text-warning: #f5a571;--text-error: #f5a571;--text-accent: #ad514c;--text-accent-hover: #e07575;--text-selection: #353a42;--text-highlight-bg: #ad514c44}.theme-dark.tiniri-dark,.theme-light.tiniri-light.contrast-light-vivid .titlebar,.theme-light.tiniri-light.contrast-light-vivid .status-bar,.theme-light.tiniri-light.contrast-light-vivid .workspace::before,.theme-light.tiniri-light.contrast-light-vivid .workspace-ribbon,.theme-light.tiniri-light.contrast-light-vivid .mod-sidedock.mod-left-split,.theme-light:not(.layout-minimal).tiniri-light.contrast-light-vivid .mod-sidedock.mod-right-split,.theme-light:not(.layout-minimal).tiniri-light.contrast-light-vivid .mod-root .workspace-tab-header-container,.theme-light:not(.layout-minimal).tiniri-light.contrast-light-vivid .mod-root .workspace-tab-header-container::before{--background-primary: #1f2122;--background-primary-alt: #1f2122;--background-secondary: #1b1d1e;--background-secondary-alt: #1b1d1e;--background-modifier-border: #0003;--text-normal: #dbd3ca;--text-muted: #938a80;--text-faint: #938a8099;--color-red: #ad514c;--color-orange: #f5a571;--color-yellow: #f5a571;--color-green: #f5a571;--color-cyan: #938a80;--color-blue: #5ba9b9;--color-purple: #d67c7f;--color-pink: #d67c7f;--color-red-rgb: 198, 107, 103;--color-orange-rgb: 235, 147, 80;--color-yellow-rgb: 235, 147, 80;--color-green-rgb: 173, 131, 1;--color-cyan-rgb: 120, 113, 108;--color-blue-rgb: 104, 160, 160;--color-purple-rgb: 168, 144, 128;--color-pink-rgb: 168, 144, 128}body:not(.is-mobile) .backlink-pane .search-result-file-match:not(:hover) .search-result-file-match-replace-button{display:none}body:not(.is-mobile) .backlink-pane .search-result-file-match-replace-button{padding:4px 8px}.workspace-leaf-content[data-type=webviewer] .view-header{gap:0}.workspace-leaf-content[data-type=webviewer] .view-header-left,.workspace-leaf-content[data-type=webviewer] .view-actions{flex:0}.workspace-leaf-content[data-type=webviewer] .webviewer-content{border-top:none}@media only screen and (max-width: 600px){.omnisearch-input-container__buttons{padding:0 8px}}@media only screen and (min-width: 600px){.omnisearch-input-container__buttons{margin-inline-end:4px}}.omnisearch-input-field{width:100%}.omnisearch-input-container__buttons button{box-shadow:none;border:var(--input-border-width) solid var(--background-modifier-border)}body:not(.is-mobile) .omnisearch-input-container__buttons{display:none}@media only screen and (max-width: 600px){body.prompt-padded .omnisearch-input-container__buttons{padding:0}}@media only screen and (min-width: 600px){body.prompt-padded .omnisearch-input-container__buttons{margin-inline-end:0}body.prompt-padded .omnisearch-input-container__buttons button{height:var(--prompt-input-height)}}body.prompt-padded .omnisearch-input-container{margin:8px 8px 0;border-bottom-width:0}body:not(.is-mobile) .view-content.notebook-navigator{background-color:var(--background-secondary);padding:0 !important}body:not(.is-mobile) .view-content.notebook-navigator .nn-list-pane{margin-right:8px;border-radius:var(--radius-s)}body:not(.is-mobile) .view-content.notebook-navigator .nn-nav-spacer{height:64px !important}body:not(.is-mobile) .view-content.notebook-navigator .nn-virtual-container{margin-bottom:48px}.hider-sidebar-buttons.mod-macos{--frame-left-space: calc(80px - var(--ribbon-width))}.hider-sidebar-buttons .sidebar-toggle-button.mod-right,.hider-sidebar-buttons .sidebar-toggle-button.mod-left{display:flex;visibility:hidden;width:0;opacity:0} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json new file mode 100644 index 0000000..02c81b2 --- /dev/null +++ b/.obsidian/workspace.json @@ -0,0 +1,216 @@ +{ + "main": { + "id": "b14a0528a74fcdc8", + "type": "split", + "children": [ + { + "id": "e7222d313f145290", + "type": "tabs", + "children": [ + { + "id": "83e6778c89b8e015", + "type": "leaf", + "state": { + "type": "empty", + "state": {}, + "icon": "lucide-file", + "title": "New tab" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "ec0803f7e6eb5d51", + "type": "split", + "children": [ + { + "id": "cd9a010b7b3188c2", + "type": "tabs", + "children": [ + { + "id": "b3dd54f45dda4bac", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false + }, + "icon": "lucide-folder-closed", + "title": "Files" + } + }, + { + "id": "f17e6b95cd92d534", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "Search" + } + }, + { + "id": "f7fddeec5243238a", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "Bookmarks" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "e5a7735d3e8aac84", + "type": "split", + "children": [ + { + "id": "20dda13332e1f3db", + "type": "tabs", + "children": [ + { + "id": "c6e0bfe16165bb0d", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "file": "美洽AI/Prompt/sql.md", + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "Backlinks for sql" + } + }, + { + "id": "9defebf6715e7702", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "file": "业务开发/人机协作.md", + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "Outgoing links from 人机协作" + } + }, + { + "id": "e7521ab6e8ff630c", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true + }, + "icon": "lucide-tags", + "title": "Tags" + } + }, + { + "id": "d3e2b315e2f5cd73", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "业务开发/人机协作.md" + }, + "icon": "lucide-list", + "title": "Outline of 人机协作" + } + }, + { + "id": "da09af401fa301a8", + "type": "leaf", + "state": { + "type": "git-view", + "state": {}, + "icon": "git-pull-request", + "title": "Source Control" + } + } + ], + "currentTab": 4 + } + ], + "direction": "horizontal", + "width": 300 + }, + "left-ribbon": { + "hiddenItems": { + "bases:Create new base": false, + "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "daily-notes:Open today's daily note": false, + "templates:Insert template": false, + "command-palette:Open command palette": false, + "remotely-save:Remotely Save": false, + "obsidian-git:Open Git source control": false + } + }, + "active": "b3dd54f45dda4bac", + "lastOpenFiles": [ + "Untitled.md", + "Untitled.base", + "2025-12-29.md", + "日报/2025-12-27.md", + "日报/2025-12-26.md", + "周报/2025-12-W4.md", + "周报", + "美洽AI/Prompt/tool/场景识别.md", + "美洽AI/Prompt/tool/线索收集.md", + "美洽AI/小洽效果调优反馈SOP.md", + "美洽AI/小洽AI 迭代过程.md", + "日报/2025-12-25.md", + "日报/2025-12-24.md", + "日报/2025-12-23.md", + "随笔/Untitled.md", + "美洽AI/Prompt/sql.md", + "日报", + "111.md", + "10001089.md", + "google.md", + "2025-10-31.md", + "随笔/网络冲浪中的隐私保护.md", + "美洽AI/日报 20251027.md", + "美洽AI/Prompt/router", + "美洽AI/Prompt/tool", + "美洽AI/Prompt", + "美洽AI/Untitled.md", + "src/定制模板(千人千面).png", + "src/Pasted image 20250514170546.png", + "sql.md", + "小洽配置.md", + "周报.md", + "数据仓库/数据资产/现有数据资产清点.md", + "src/~$试用期考核-吴宝永.xlsx", + "美洽AI/需求分析", + "美洽AI", + "美洽AI性能分析/DB", + "src/试用期考核.jpeg" + ] +} \ No newline at end of file diff --git a/2025-12-29.md b/2025-12-29.md new file mode 100644 index 0000000..e69de29 diff --git a/src/Pasted image 20250514170546.png b/src/Pasted image 20250514170546.png new file mode 100644 index 0000000..7c0784d Binary files /dev/null and b/src/Pasted image 20250514170546.png differ diff --git a/src/定制模板(千人千面).png b/src/定制模板(千人千面).png new file mode 100644 index 0000000..525b329 Binary files /dev/null and b/src/定制模板(千人千面).png differ diff --git a/src/试用期考核-吴宝永.xlsx b/src/试用期考核-吴宝永.xlsx new file mode 100644 index 0000000..39db655 Binary files /dev/null and b/src/试用期考核-吴宝永.xlsx differ diff --git a/src/试用期考核.jpeg b/src/试用期考核.jpeg new file mode 100644 index 0000000..8b13364 Binary files /dev/null and b/src/试用期考核.jpeg differ diff --git a/周报/2025-12-W4.md b/周报/2025-12-W4.md new file mode 100644 index 0000000..3643fb5 --- /dev/null +++ b/周报/2025-12-W4.md @@ -0,0 +1,20 @@ +## 本周工作总结 + +- 客户支撑: + - 支持了10000414、10001089、10000549、10000203、10000241、10000774、10000627等客户,响应并解决日常问题。 + +- Bug修复: + 1. 修复筛选器多选异常问题,提升筛选精度。 + 2. 修复回复提示未弹出bug,改进用户提示体验。 + +- 产品迭代: + 1. 留资直达新功能已开发并上线,接口开发全部完成。 + 2. 技能专属知识库开发并正式上线,增强知识库管理。 + 3. 顾客中心筛选器模块重构并完成提测,计划下周上线。 + 4. 顾客中心导出功能新增广告素材-抖加视频,提升导出数据能力。 + 5. 新增支持抖音抖+广告场景,拓展系统适用范围。 + 6. 场景回复功能开发中,预计下周完成。 + +- 技术优化: + 1. 完成筛选器代码优化,提高系统运行效率。 + 2. 顾客中心筛选器结构重构,优化代码模块化与可维护性。 \ No newline at end of file diff --git a/数据仓库/.DS_Store b/数据仓库/.DS_Store new file mode 100644 index 0000000..a080051 Binary files /dev/null and b/数据仓库/.DS_Store differ diff --git a/数据仓库/DBA/.DS_Store b/数据仓库/DBA/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/数据仓库/DBA/.DS_Store differ diff --git a/数据仓库/DBA/数仓几种表.md b/数据仓库/DBA/数仓几种表.md new file mode 100644 index 0000000..029f6fd --- /dev/null +++ b/数据仓库/DBA/数仓几种表.md @@ -0,0 +1,8 @@ +### 全量表 +有无变化都要上报,只有一个分区或者没有分区,每次往全量表里面写数据都会覆盖之前的数据,不能记录数据的历史变化,只能截止到当前最新、全量的数据 +### 增量表 +每天新增的数据和改变的数据都会存储在当日的分区中;增量表记录每次增加的量,只报变化量,无变化的不用报 +### 快照表 +因为全量表无法反映历史的变化,这时快照表就可以使用了,快照表记录截止数据日期的全量数据(每个分区都是记录截止当前分区日期的全量数据),但是在数据量大的情况下,每个分区存储的都是全量数据,数据冗余和浪费存储空间 +### 拉链表 +记录了数据的增删改操作,并按照时间顺序存储。拉链表通常用于日志数据仓库或实时数据仓库,可以记录数据的完整操作历史 diff --git a/数据仓库/业务数据表.md b/数据仓库/业务数据表.md new file mode 100644 index 0000000..4195a65 --- /dev/null +++ b/数据仓库/业务数据表.md @@ -0,0 +1,9 @@ +### 业务数据表基础信息描述 +#### 元信息 + +| 表名 | 行数 | Hive(DataWorks)中大小 | 记录日期 | +| ------------------------- | ------- | ------------------ | ---------- | +| meiqia.knowledge_question | 1053290 | 19.36 MB | 2024-05-29 | +| meiqia.knowledge_category | 31274 | 582.07KB | 2024-05-29 | +| meiqia.enterprise | 304141 | 12.88 MB | 2024-05-29 | +| meiqia.agent | 701454 | 65.90 MB | 2024-05-29 | diff --git a/数据仓库/数仓分层.md b/数据仓库/数仓分层.md new file mode 100644 index 0000000..b8974ad --- /dev/null +++ b/数据仓库/数仓分层.md @@ -0,0 +1,84 @@ +### 数仓分层目的 +分层的主要原因是在管理数据的时候,能对数据有一个更加清晰的掌控,详细来讲,主要有下面几个原因: +• 清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。 +• 方便数据血缘追踪:简单来说,最终给业务呈现的是一个能直接使用业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。 +• 减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。 +• 把复杂问题简单化:将一个复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。 +• 屏蔽原始数据的异常:屏蔽业务的影响,不必改一次业务就需要重新接入数据 + +### STAGE-数据接入层 +业务源系统数据映射到此层,此层数据不做任何加工,通常用来将不同数据源建Hive外部表,方便使用Hive SQL进行ETL处理。 +主要有以下外部表: +• HBase:从kafka消费的数据,以准实时的方式写入HBase,后续以更新时间做增量的方式导入到ODS表 +• Elasticsearch +• MongoDB +• HDFS + +### ODS-数据准备层 +Operational Data Store,操作数据层。 +在结构上与业务系统的增量或者全量数据基本保持 一致。 +它相当于一个数据准备区,同时又承担着基础数据的记录以及历史变化。其主要作用是把基础数据以增量、全量、实时的方式引入到数仓,为DWD层提供基础原始数据,可减少与业务系统的耦合,避免互相影响。 +建模方式及原则: +从业务系统增量(全量、实时)抽取、保留时间由业务需求决定、可分表进行周期存储、数据不做清洗转换与业务系统数据模型保持一致、按主题(业务系统)逻辑划分。 +ODS层数据源: +• 业务数据库 +经常会使用sqoop来抽取MySQL数据,比如每天定时抽取一次。 +在实时方面, 用canal监听MySQL的binlog,实时接入即可。 +• 埋点日志 +线上系统会打入各种日志,这些日志一般以文件的形式保存,可以选择用flume(filebeat)定时抽取,再用Spark Streaming或者Flink来实时接入,当然,需要kafka承担消息管道的职责。 +• 消息队列 +来自ActiveMQ、Kafka的数据等。 + +### DW-数据仓库 +Data Warehouse,数据仓库。 +从ODS层中获得的数据按照主题建立各种数据模型。DW数据分层,由下到上为 DWD,DWB,DWS +在DW主要关注四个概念: +• 维度(Dimension) +• 事实(Fact) +• 指标(Index) +• 粒度( Granularity) + +### DWD-明细数据层 +Data Warehouse Detail,明细数据层。 +是业务层与数据仓库的隔离层,为DW层提供来源明细数据,提供业务系统细节数据的长期沉淀,为未来分析类需求的扩展提供历史数据支撑。 +建模方式及原则: +数据模型与ODS层一致,不做清洗转换处理、为支持数据重跑可额外增加数据业务日期字段、可按年月日进行分表、用增量ODS层数据和前一天DWD相关表进行merge处理 + +### DWB-基础数据层 +Data Warehouse Base,基础数据层。 +存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。 +DWB是根据DWD明细数据进行转换,如维度转代理键、身份证清洗、会员注册来源清晰、字段合并、空值处理、脏数据处理、IP清晰转换、账号余额清洗、资金来源清洗等。 +建模方式及原则: +• 聚合、汇总增加派生(衍生)事实 +• 关联其它主题的事实表,DW层可能会跨主题域 +• DWB保持低粒度汇总加工数据,DWS保持高粒度汇总数据 +• 数据模型可能采用反范式设计,合并信息等 + +### DWS-汇总数据层 +Data Warehouse Summary,汇总数据层。 +基于DWB上的基础数据,整合汇总成分析某一个主题域的服务数据,一般是宽表。 +DWS是根据DWB层数据按各个维度ID进行高粒度汇总聚合,如按交易来源,交易类型进行汇合。 +建模方式及原则:同DWB + +### ADS-应用数据层 +Application Data Service,应用数据层。 +根据DW层经过聚合汇总统计后的粗粒度事实表。 +该层主要是提供数据产品和数据分析使用的数据,面向用户应用和分析需求,包括前端报表、分析图表、KPI、仪表盘、OLAP、ROLAP、MOLAP、专题等分析,面向最终结果用户。 +一般会存放在ES、MySQL、HBase、MongoDB等系统中供线上系统使用,也可能会存在Hive或者Druid中供数据分析和数据挖掘使用。 +例如:报表数据,或者说那种大宽表,一般就放在这里。 +建模方式及原则: +• 保持数据量小 +• 维度建模,星形模型 +• 各维度代理键+度量 +• 增加数据业务日期字段,支持数据重跑 +• 不分表存储 + +### DM-数据集市 +Data Market,数据集市层。 +可以是一些宽表,是根据DW层数据按照各种维度或多种维度组合把需要查询的一些事实字段进行汇总统计并作为单独的列进行存储。 +满足一些特定查询、数据挖掘应用。 +应用集市数据存储。 +建模方式及原则: +• 尽量减少数据访问时计算(优化检索) +• 维度建模,星型模型 +• 分表存储 \ No newline at end of file diff --git a/数据仓库/数据开发相关概念/数据分析基建:从数据库到湖仓一体.md b/数据仓库/数据开发相关概念/数据分析基建:从数据库到湖仓一体.md new file mode 100644 index 0000000..7ce2994 --- /dev/null +++ b/数据仓库/数据开发相关概念/数据分析基建:从数据库到湖仓一体.md @@ -0,0 +1,17 @@ +## 数据库 + + +## 数据仓库 + + +### 离线数仓 + + +### 实时数仓 + + +## 数据湖 + + +## 湖仓一体 + diff --git a/日报/2025-12-23.md b/日报/2025-12-23.md new file mode 100644 index 0000000..2dd3a60 --- /dev/null +++ b/日报/2025-12-23.md @@ -0,0 +1,8 @@ +已完成: +1. 客户支持:10000414、10001089、10000549、10000203、10000241 +2. 修复未回复提示的bug +3. 修复筛选器多选的bug +4. 留资直达上线 + +进行中: +1. 技能专属知识库 \ No newline at end of file diff --git a/日报/2025-12-24.md b/日报/2025-12-24.md new file mode 100644 index 0000000..037da47 --- /dev/null +++ b/日报/2025-12-24.md @@ -0,0 +1,7 @@ +已完成: +1. 客户支持:10000774、10000627 +2. 支持抖音抖+广告 +3. 上线技能专属知识库 + +进行中: +1. prisma代码优化 \ No newline at end of file diff --git a/日报/2025-12-25.md b/日报/2025-12-25.md new file mode 100644 index 0000000..f84c594 --- /dev/null +++ b/日报/2025-12-25.md @@ -0,0 +1,5 @@ +已完成: +1. 客户支持:10000774、10000549 + +进行中: +1. 顾客中心筛选器重构 \ No newline at end of file diff --git a/日报/2025-12-26.md b/日报/2025-12-26.md new file mode 100644 index 0000000..3242866 --- /dev/null +++ b/日报/2025-12-26.md @@ -0,0 +1,7 @@ +已完成: +1. 客户支持:10000774 +2. 顾客中心筛选器重构 提测 +3. 顾客中心导出增加 广告素材-抖加视频 + +进行中: +1. 场景回复 \ No newline at end of file diff --git a/日报/2025-12-27.md b/日报/2025-12-27.md new file mode 100644 index 0000000..811cd9f --- /dev/null +++ b/日报/2025-12-27.md @@ -0,0 +1,7 @@ +已完成: +1. 客户支持:10000381、 +2. 对话筛选器全量 +3. 聚合消息增加知识库查询 + +进行中: +1. \ No newline at end of file diff --git a/美洽AI/.DS_Store b/美洽AI/.DS_Store new file mode 100644 index 0000000..2e6aaf7 Binary files /dev/null and b/美洽AI/.DS_Store differ diff --git a/美洽AI/Prompt/.DS_Store b/美洽AI/Prompt/.DS_Store new file mode 100644 index 0000000..cf48eaf Binary files /dev/null and b/美洽AI/Prompt/.DS_Store differ diff --git a/美洽AI/Prompt/sql.md b/美洽AI/Prompt/sql.md new file mode 100644 index 0000000..a1bf5c0 --- /dev/null +++ b/美洽AI/Prompt/sql.md @@ -0,0 +1,9 @@ +### DDL 创建 +```sql + +``` +### DDL修改 +```sql +alter table ai_material + add is_summarized bool default true null comment '是否已总结'; +``` \ No newline at end of file diff --git a/美洽AI/Prompt/tool/场景识别.md b/美洽AI/Prompt/tool/场景识别.md new file mode 100644 index 0000000..e2b7d73 --- /dev/null +++ b/美洽AI/Prompt/tool/场景识别.md @@ -0,0 +1,20 @@ +``` +# 角色 +你是一个售前对话场景识别器,负责根据访客与客服的对话内容,识别访客当前的意图场景。 + +## 任务 +分析对话内容,以**用户最新一条消息**为核心依据,结合上下文判断当前所属的意图场景。 + +## 意图列表 +以下是可识别的意图: +{{intent_list}} + +## 对话内容 +{{user_context}} + +## 输出要求 +- 仅输出 JSON,禁止包含任何其他文字或代码块标记 +- 如果无法匹配任何意图,使用 intent_id: "0", intent_name: "无法识别" +- 输出格式: +{"intent_id": "意图ID", "reason": "简要判断依据"} +``` diff --git a/美洽AI/Prompt/tool/线索收集.md b/美洽AI/Prompt/tool/线索收集.md new file mode 100644 index 0000000..fde2eb5 --- /dev/null +++ b/美洽AI/Prompt/tool/线索收集.md @@ -0,0 +1,132 @@ +```markdown +# AI 客服助手 +作为AI客服助手,你需要在对话中完成信息收集目标,按照对话策略进行服务。 + +## 核心原则 +1. **知识库优先**:当用户问题在知识库中有对应内容时,严格按照知识库的固定话术回复 +2. **自然对话收集**:在对话过程中自然地收集用户信息,避免机械式询问 +3. **专业严谨**:保持医疗咨询的专业性,不使用语气词和符号 + +## 信息收集目标 +需要在自然对话中收集以下信息(按优先级排序): +{{collect_items}} + +## 背景信息 + +{{company_profile}} + +{{products}} + +## 服务对象筛选 + +{{service_target}} + +{{non_service_target}} + +### 非服务对象拒绝话术 +"很抱歉,您的需求目前不在我们的服务范围内。如有相关服务更新,我们会第一时间通知您。" + +{{knowledge_content}} + +## 对话策略 + +### 执行流程 + +1. **判断服务资格** → 非服务对象直接使用拒绝话术 +2. **检查知识库** → 有匹配内容则使用知识库内容进行回复,优先使用匹配上的话术内容 +3. **评估信息收集时机** → 在对话自然流程中顺势询问 +4. **应对用户拒绝** → 使用缓冲话术,间隔 2 轮后再尝试 + +### 缓冲话术池(用户表示不方便时) +- "明白哈,有需要再找我就行" +- "理解呢,后续随时想了解都可以联系我" +- "您先用用看,有问题随时找我呀" + +### 回复规范 +1. **格式要求**: + - 纯文本输出,禁止使用 Markdown/JSON 格式 + - {{response_rule}} + - 不使用语气词(呢、啊、哦)和符号(~) +2. **语言风格**: + - 专业严谨,直接针对问题核心 + - 避免反问或冗余信息 + - 不主动推荐产品或服务 +3. **推荐表达**: + - 确认类:收到/好的/明白了 + - 共情类:这样啊/原来如此/确实/有道理 + - 避免机械重复用户的话 + +### 话术红线 +{{constrains}} + +{{reception_style}} + +``` + +```json +[ + { + "param": "collect_items", + "param_name": "收集目标", + "required": false, + "description": "", + "param_replacement": "" + }, + { + "param": "company_profile", + "param_name": "公司介绍", + "required": true, + "description": "公司介绍", + "param_replacement": "### 公司介绍\n" + }, + { + "param": "products", + "param_name": "产品介绍", + "required": false, + "description": "公司产品介绍", + "param_replacement": "### 产品介紹\n" + }, + { + "param": "service_target", + "param_name": "服务对象", + "required": false, + "description": "服务对象", + "param_replacement": "### 服务对象\n" + }, + { + "param": "non_service_target", + "param_name": "非服务对象", + "required": false, + "description": "非服务对象", + "param_replacement": "### 非服务对象\n" + }, + { + "param": "knowledge_content", + "param_name": "知识库内容", + "required": false, + "description": "知识库内容", + "param_replacement": "## 知识库内容(最高优先级)\n" + }, + { + "param": "response_rule", + "param_name": "回复规范", + "required": false, + "description": "回复规范", + "param_replacement": "" + }, + { + "param": "constrains", + "param_name": "话术红线", + "required": false, + "description": "话术红线", + "param_replacement": "### 话术红线\n" + }, + { + "param": "reception_style", + "param_name": "接待风格", + "required": false, + "description": "接待风格", + "param_replacement": "### 接待风格\n" + } +] +``` \ No newline at end of file diff --git a/美洽AI/小洽AI 迭代过程.md b/美洽AI/小洽AI 迭代过程.md new file mode 100644 index 0000000..565b0a1 --- /dev/null +++ b/美洽AI/小洽AI 迭代过程.md @@ -0,0 +1,7 @@ +## ALL in One 模式 +### 基础对话部分 +在第一代的小洽AI中,使用单个大prompt对AI对话进行接管。而为了满足不同场景的用户,通常会进行模板的定制化。 +![[定制模板(千人千面).png]] +通用的模板并不区分售前和服务模式,完全依赖于提示词注入的访客信息,交由大模型进行判断,对于大模型本身的推理能力有较高的要求。 +### 三方渠道卡片发送部分 +三方渠道卡片的发送依赖于告诉大模型套电与输出`card_id`等价,只有大模型输出`card_id`才进行发卡,逻辑和使用提示词进行tool-calling类似,这样做的缺点就在于这段文本对于大模型来说没有什么意义,card_id输出也不一定稳定,同时也不能固定`card_id`输出的位置。 \ No newline at end of file diff --git a/美洽AI/小洽效果调优反馈SOP.md b/美洽AI/小洽效果调优反馈SOP.md new file mode 100644 index 0000000..d936c17 --- /dev/null +++ b/美洽AI/小洽效果调优反馈SOP.md @@ -0,0 +1,32 @@ +#### **一、调优触发条件** +- 用户投诉AI回复不准确或无帮助 +- 质检发现话术与业务规则不符 +- 知识库更新后需验证是否生效 +#### **二、调优操作流程** +##### **阶段1:问题复现与根因分析** + +| 步骤 | 操作说明 | 工具 | +| --- | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------- | +| 1.1 | **定位请求**
• 通过用户会话ID、时间戳或关键词在 Langfuse 中检索
• 从日志中检索知识库命中内容(client_id + buildReference + 用户语句) | • Langfuse/火山云日志监控 | +| 1.2 | **分析Prompt与知识命中情况**
• 查看该请求使用的 Prompt 版本及完整内容
• 重点验证:
– 是否包含应命中的知识片段(对照知识库最新版)
– 指定话术是否被正确触发
– 系统提示词是否存在互斥内容 | • Langfuse/火山云日志监控
• 知识库快照(纯文本或Excel) | + +##### **阶段2:方案调整** + +| 步骤 | 操作说明 | +| --- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 2.1 | **更新知识库(最好使用excel)**
• 支持以下任一格式:
– **纯文本**:按段落或FAQ形式维护
– **Excel**:按列结构化维护(建议包含字段:问题关键词、标准答案、适用场景)
• 补充缺失知识或修正错误内容
• 明确标注知识适用场景与检索关键词 | +| 2.2 | **优化Prompt逻辑**
• 在接待风格中与知识库内容进行联动
• 强化约束条件等 | + +#### **三、研发介入** + +| 步骤 | 操作说明 | 操作人员 | +| --- | -------------------------------- | -------- | +| 3.1 | 将问题描述和已处理的调整建任务卡 | 运营 /技术支持 | +| 3.2 | 复现问题并尝试通过配置手段解决 | 测试人员 | +| 3.3 | 由测试人员将完整问题包(含日志、预期行为、复现路径)转交研发介入 | 研发 | + +#### 备注 +火山云日志地址: +https://console.volcengine.com/tls/region:tls+cn-beijing/v2/aggr/project/26983197-ad99-4770-9092-58e851b52c2b/search/64f86f2e-e05b-439f-865e-5d7e62fc5f4d +langfuse地址: +https://llmfuse.meiqia.com/ diff --git a/美洽AI/日报 20251027.md b/美洽AI/日报 20251027.md new file mode 100644 index 0000000..6e9d98e --- /dev/null +++ b/美洽AI/日报 20251027.md @@ -0,0 +1,25 @@ +客户支持: + - 10000381 +功能迭代: + - 智能应答开发(90%) + - 修复消息聚合的bug + - 排查三方渠道不使用partition key的问题 + +```sql +CREATE TABLE `ai_intelligence_reply` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '素材ID', + `ent_id` int(11) NOT NULL DEFAULT '0' COMMENT '企业ID', + `name` varchar(255) NOT NULL DEFAULT '' COMMENT '参考知识名称', + `match_source` json not null comment '匹配渠道列表', + `content_item` json NOT NULL COMMENT '内容列表', + `description` text NOT NULL COMMENT '描述', + `match_type` varchar(255) NOT NULL COMMENT '匹配类型', + `match_content` varchar(255) NOT NULL COMMENT '匹配内容', + `advice_reply` varchar(255) NOT NULL COMMENT '补充回复', + `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + PRIMARY KEY (`id`), + KEY `idx_ent_id` (`ent_id`) COMMENT '企业ID索引' +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='AI智能应答' +; +``` \ No newline at end of file diff --git a/职级/职级晋升申请.md b/职级/职级晋升申请.md new file mode 100644 index 0000000..c38ab80 --- /dev/null +++ b/职级/职级晋升申请.md @@ -0,0 +1,69 @@ +尊敬的各位领导: + +您好! + +本人吴宝永,现任后端开发工程师,目前职级为P4+。当前负责的美洽AI的产品开发,现申请从P4+晋升至P5职级。 + +2025年上半年度的工作表现如下: + + + +## 工作表现 + +### 美洽产品线 + +- 知识库RAG能力升级、人机协作功能开发 + +- 营销追分、客服组相关功能开发 + +- 三方渠道适配(抖音、小红书) + +- 大模型防御能力开发和语音转文本功能 + +- 万信私有化支持及日常维护 + + + +### 美洽AI产品线 + +- AI员工、知识库、人机协作等核心AI能力开发 + +- 小洽AIPrompt调优 + +- AI响应防御能力建设和 + +- 其他日常功能需求迭代 + + + +### 美洽风控相关内容 + +- 北京公安预警信息推送开发上线 + +- 五局十五处数据推送开发上线 + +- 国家反诈中心数据推送开发 + +- 四川网安总队数据推送 + +- 北京IP访问限制功能开发 + +- 日常风控数据查询导出 + + + +### 其他公共事物处理 + +- Agent-Builder后端开发 + +- MCP代理服务(已在来鼓上线使用) + +- 来鼓openai sdk改造开发 + +- omni-touch 数据数仓备份 + +- 日常数据分析需求 + + + +在2025年上半年度的工作中,我积极投入AI工具的学习和实际开发应用,持续关注主流AI技术及工具(如大模型、RAG、Prompt工程、MCP等),并将其高效应用于美洽AI各项产品开发和优化。通过使用cursor等AI IDE工具,个人开发效率显著提升。在产品线开发中,我主导了人机协作、AI员工等关键AI能力的开发,并开发了Context-Mesh(MCP代理服务)和Agent-Craft(Agent-Builder后端)等组件,为多条产线提供了可复用的高效AI技术工具。在风控方面,由大白对接及主导,我主要负责接入不同单位的风控系统,为公司的业务合规提供支持。 \ No newline at end of file diff --git a/职级/试用期考核.md b/职级/试用期考核.md new file mode 100644 index 0000000..54dbfc7 --- /dev/null +++ b/职级/试用期考核.md @@ -0,0 +1,2 @@ +![[试用期考核-吴宝永.xlsx]] +![[试用期考核.jpeg]] \ No newline at end of file diff --git a/随笔/Untitled.md b/随笔/Untitled.md new file mode 100644 index 0000000..e30c6d6 --- /dev/null +++ b/随笔/Untitled.md @@ -0,0 +1,7 @@ +https://x.com/Crypto_QianXun/status/2000824222298595627?s=20 + + +PrivateKey: aDimi0YKf6l9S-tfu1Vpncrach9DxR5th3DppwbexFo +Password: CWNO5lIeiJM7cRXvrXVyR8053GKMdGhjDc-HO9MVvEU +Hash32: L8jSjxhDWlpHAcV30OGI4G3S__jqEnWQJv2opKp4BKs +6e48eb91-d3ef-421d-b676-3a115b30e3fe \ No newline at end of file diff --git a/随笔/网络冲浪中的隐私保护.md b/随笔/网络冲浪中的隐私保护.md new file mode 100644 index 0000000..d27d1fc --- /dev/null +++ b/随笔/网络冲浪中的隐私保护.md @@ -0,0 +1,65 @@ +# 冲浪第一步 - 隐藏IP +隐藏 IP 地址基本上有两种方法可选。一种是使用代理服务器,另一种是使用虚拟专用网。 +## 代理服务器 +代理服务器(Proxy Server)是一种位于客户端和目标服务器之间的中间服务器,其主要功能是转发客户端请求并代表客户端与目标服务器通信。一般来说代理服务器分为两种,HTTP/HTTPS代理(下面简称HTTP代理)和SOCKET代理(本文以socks5举例,下面称SOCKS 代理)。HTTP代理工作在应用层,只为HTTP和HTTPS提供代理;SOCKS 代理工作在传输层,可以转发TCP和UDP代理。 + +下面是两种代理的区别 + +| 特性 | HTTP 代理 | SOCKS 代理 | +| ---- | ---------------------------- | --------------------------- | +| 工作层次 | 应用层 (HTTP/HTTPS) | 传输层/会话层 (TCP/UDP) | +| 协议支持 | HTTP, HTTPS | 所有 TCP 和 UDP 协议 | +| 透明度 | 可以修改 HTTP 响应 | 通常不修改应用层数据 | +| 安全性 | 取决于配置,HTTPS 更好 | SOCKS5 支持认证和加密 | +| 缓存 | 可缓存 | 不可缓存 | +| 应用 | Web 浏览器, 访问 HTTP/HTTPS 网站的应用 | 任何需要连接 Internet 的应用,尤其是其他协议 | +⚠️ICMP协议不能使用代理服务器,ICMP 消息直接由 IP 协议承载,**没有 TCP 或 UDP 头部**。 换句话说,ICMP 本身不是建立在 TCP 或 UDP 之上的,所以不能使用以上两种代理服务器。 +### 代理服务器的设置 +#### Windows +对于Windows来说,在设置中搜索"代理",即可设置代理服务器。 +#### Linux +对于gnome和kde桌面,都可以和Windows一样在设置中设置代理,如果要单独对终端设置代理,可以参考以下命令 +```bash +export http_proxy=http://PROXYHOST:PROXYPORT +export https_proxy=http://PROXYHOST:PROXYPORT +export socks_proxy=socks5://PROXYHOST:PROXYPORT +export all_proxy=socks5://PROXYHOST:PROXYPORT +export http_proxy=http://USERNAME:PASSWORD@PROXYHOST:PROXYPORT +# 使用 socks proxy (使用本地 DNS) +export http_proxy=socks5://PROXYHOST:PROXYPORT +# 使用 socks proxy (使用远程 DNS) +export http_proxy=socks5h://PROXYHOST:PROXYPORT +``` +http_proxy等变量大小写不敏感,偷懒可以只设置all_proxy +#### MacOS +macOS可以在对应的网络连接中设置代理,终端代理的设置参考Linux +#### 一些常用软件的设置 +某些软件会提供代理服务器的设置,不需要在系统中设置也可以对流量进行代理,例如Firefox。 +![[Pasted image 20250514170546.png]] +## 虚拟专用网 +虚拟专用网 (VPN) 是另一种隐藏 IP 地址并保护在线活动的方法。与代理服务器不同,VPN 在您的设备和 VPN 服务器之间创建了一个安全的、加密的隧道,所有通过该隧道传输的数据都会被加密。 +### VPN 的工作原理 +一般来说VPN软件会虚拟化出一张网卡,将指定的流量转发到这张网卡上,这张网卡上的流量由VPN软件加密并传输到VPN服务器上,并从VPN服务器流出到公网。 +⚠️VPN的方式下,ICMP报文可以被代理。 +### VPN 协议 +VPN 使用不同的协议来建立和维护安全连接。常见的 VPN 协议包括: +- **OpenVPN:** 一种开源协议,被广泛认为是最安全和可靠的 VPN 协议之一。 +- **IPsec/IKEv2:** 一种快速且安全的协议,通常用于移动设备。 +- **WireGuard:** 一种新兴的 VPN 协议,建立在UDP上,以其高性能和简单性而闻名。 +- **L2TP/IPsec:** 一种较旧的协议,安全性不如 OpenVPN 或 IKEv2。 +- **PPTP:** 一种非常过时的协议,安全性极低,应避免使用。 +# 冲浪第二步 - 谨防DNS泄露 +DNS 泄漏可能发生在隐藏IP之后,由于DNS请求没有被转发到代理/VPN服务器(下面简称远程服务器),导致流量在远程服务器仍然发送到本地DNS解析的IP上。例如现在某个全球服务A,远程服务器B处于国家C,你所在地域在国家D,本地解析A的IP处于国家D,当你通过远程服务器访问A时,你的流量从B发出,最终到达国家D,这会让服务A感知到服务器B的IP存在异常流量,因为在设计上服务器B的流量应该发送到国家C所处的IP。 +## 防止DNS +### 使用代理服务器 +在使用代理服务器的情况下,只有SOCKS代理可以代理dns请求,只要设置为`socks5h://PROXYHOST:PROXYPORT`即可。 +### 使用VPN +在使用VPN的情况下,需要指定系统的DNS服务器,并设置其路由转发到对应的网络中。 +# 冲浪第三步 - 屏蔽WebRTC +WebRTC (Web Real-Time Communication) 是一种**开源项目和技术标准**,它允许浏览器和移动应用程序通过简单的 API 实现**实时音视频通信和数据传输**,无需安装任何插件或第三方软件。WebRTC对隐私浏览的影响主要体现在P2P连接上, WebRTC 尽可能地建立设备之间的直接 P2P 连接,减少通信延迟,提高效率,**同时会让远程服务器获取到你的真正IP**。 +## 屏蔽WEbRTC +以Firefox为例,使用[Disable WebRTC](https://addons.mozilla.org/en-US/firefox/addon/happy-bonobo-disable-webrtc/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search)插件禁止浏览器的WebRTC连接。 +# 冲浪第四步 - 修改浏览器UserAgent +对于HTTP类型的服务,服务器可以在网关处轻易的获取到流量中的UserAgent,一般其中会包含当前浏览器的语言和操作系统的语言等信息,这些信息很容易让前面三步的工作前功尽弃。例如某网站拒绝对某个区域C提供服务,区域C使用语言C,当浏览器访问此网站时,网站可以根据UserAgent中的浏览器语言和操作系统语言拒绝并标记这个IP的访问流量。 +## 修改UserAgent +以Firefox为例,可以使用[# User-Agent Switcher and Manager](https://addons.mozilla.org/en-US/firefox/addon/user-agent-string-switcher/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search)插件修改UserAgent。 \ No newline at end of file