tiddlywiki
Version:
a non-linear personal web notebook
3 lines (2 loc) • 18.7 kB
JavaScript
// Built for tiddlywiki (rollup esbuild target set to es2017, terser index.cjs --compress ecma=2017 --toplevel --mangle --safari10)
;var t=Object.defineProperty,n=Object.getOwnPropertySymbols,e=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,r=(n,e,s)=>e in n?t(n,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[e]=s,l=(t,l)=>{for(var i in l||(l={}))e.call(l,i)&&r(t,i,l[i]);if(n)for(var i of n(l))s.call(l,i)&&r(t,i,l[i]);return t};const i=Object.freeze({diffTimeout:1,diffEditCost:4,matchThreshold:.5,matchDistance:1e3,patchDeleteThreshold:.5,patchMargin:4,matchMaxBits:32});function h(t){if(null==t?void 0:t.__resolved)return t;const n=l(l({},i),t);return Object.defineProperty(n,"__resolved",{value:!0,enumerable:!1}),n}const g=-1;function o(t,n){return[t,n]}function f(t,n,e,s=!0,r){const l=h(e);void 0===r&&(r=l.diffTimeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*l.diffTimeout);const i=r;if(null==t||null==n)throw new Error("Null input. (diff_main)");if(t===n)return t?[o(0,t)]:[];const d=s;let x=p(t,n);const M=t.substring(0,x);x=b(t=t.substring(x),n=n.substring(x));const w=t.substring(t.length-x),y=function(t,n,e,s,r){let l;if(!t)return[o(1,n)];if(!n)return[o(g,t)];const i=t.length>n.length?t:n,h=t.length>n.length?n:t,d=i.indexOf(h);if(-1!==d)return l=[o(1,i.substring(0,d)),o(0,h),o(1,i.substring(d+h.length))],t.length>n.length&&(l[0][0]=l[2][0]=g),l;if(1===h.length)return[o(g,t),o(1,n)];const x=function(t,n,e){if(e.diffTimeout<=0)return null;const s=t.length>n.length?t:n,r=t.length>n.length?n:t;if(s.length<4||2*r.length<s.length)return null;function l(t,n,e){const s=t.substring(e,e+Math.floor(t.length/4));let r,l,i,h,g=-1,o="";for(;-1!==(g=n.indexOf(s,g+1));){const s=p(t.substring(e),n.substring(g)),f=b(t.substring(0,e),n.substring(0,g));o.length<f+s&&(o=n.substring(g-f,g)+n.substring(g,g+s),r=t.substring(0,e-f),l=t.substring(e+s),i=n.substring(0,g-f),h=n.substring(g+s))}return 2*o.length>=t.length?[r,l,i,h,o]:null}const i=l(s,r,Math.ceil(s.length/4)),h=l(s,r,Math.ceil(s.length/2));let g,o,f,a,c;if(!i&&!h)return null;g=h?i&&i[4].length>h[4].length?i:h:i;t.length>n.length?(o=g[0],f=g[1],a=g[2],c=g[3]):(a=g[0],c=g[1],o=g[2],f=g[3]);const u=g[4];return[o,f,a,c,u]}(t,n,e);if(x){const t=x[0],n=x[1],l=x[2],i=x[3],h=x[4],g=f(t,l,e,s,r),a=f(n,i,e,s,r);return g.concat([o(0,h)],a)}return s&&t.length>100&&n.length>100?function(t,n,e,s){const r=c(t,n);t=r.chars1,n=r.chars2;const l=r.lineArray,i=f(t,n,e,!1,s);u(i,l),m(i),i.push(o(0,""));let h=0,a=0,p=0,b="",d="";for(;h<i.length;){switch(i[h][0]){case 1:p++,d+=i[h][1];break;case g:a++,b+=i[h][1];break;case 0:if(a>=1&&p>=1){i.splice(h-a-p,a+p),h=h-a-p;const t=f(b,d,e,!1,s);for(let n=t.length-1;n>=0;n--)i.splice(h,0,t[n]);h+=t.length}p=0,a=0,b="",d=""}h++}return i.pop(),i}(t,n,e,r):function(t,n,e,s){const r=t.length,l=n.length,i=Math.ceil((r+l)/2),h=i,f=2*i,c=new Array(f),u=new Array(f);for(let g=0;g<f;g++)c[g]=-1,u[g]=-1;c[h+1]=0,u[h+1]=0;const p=r-l,b=p%2!=0;let d=0,m=0,x=0,M=0;for(let g=0;g<i&&!((new Date).getTime()>s);g++){for(let i=-g+d;i<=g-m;i+=2){const o=h+i;let x;x=i===-g||i!==g&&c[o-1]<c[o+1]?c[o+1]:c[o-1]+1;let M=x-i;for(;x<r&&M<l&&t.charAt(x)===n.charAt(M);)x++,M++;if(c[o]=x,x>r)m+=2;else if(M>l)d+=2;else if(b){const l=h+p-i;if(l>=0&&l<f&&-1!==u[l]){if(x>=r-u[l])return a(t,n,e,x,M,s)}}}for(let i=-g+x;i<=g-M;i+=2){const o=h+i;let d;d=i===-g||i!==g&&u[o-1]<u[o+1]?u[o+1]:u[o-1]+1;let m=d-i;for(;d<r&&m<l&&t.charAt(r-d-1)===n.charAt(l-m-1);)d++,m++;if(u[o]=d,d>r)M+=2;else if(m>l)x+=2;else if(!b){const l=h+p-i;if(l>=0&&l<f&&-1!==c[l]){const i=c[l];if(d=r-d,i>=d)return a(t,n,e,i,h+i-l,s)}}}}return[o(g,t),o(1,n)]}(t,n,e,r)}(t=t.substring(0,t.length-x),n=n.substring(0,n.length-x),l,d,i);return M&&y.unshift(o(0,M)),w&&y.push(o(0,w)),k(y),y}function a(t,n,e,s,r,l){const i=t.substring(0,s),h=n.substring(0,r),g=t.substring(s),o=n.substring(r),a=f(i,h,e,!1,l),c=f(g,o,e,!1,l);return a.concat(c)}function c(t,n){const e=[],s={};let r=4e4;function l(t){let n="",l=0,i=-1,h=e.length;for(;i<t.length-1;){i=t.indexOf("\n",l),-1===i&&(i=t.length-1);let g=t.substring(l,i+1);(s.hasOwnProperty?Object.prototype.hasOwnProperty.call(s,g):void 0!==s[g])?n+=String.fromCharCode(s[g]):(h===r&&(g=t.substring(l),i=t.length),n+=String.fromCharCode(h),s[g]=h,e[h++]=g),l=i+1}return n}e[0]="";const i=l(t);r=65535;return{chars1:i,chars2:l(n),lineArray:e}}function u(t,n){for(let e=0;e<t.length;e++){const s=t[e][1],r=[];for(let t=0;t<s.length;t++)r[t]=n[s.charCodeAt(t)];t[e][1]=r.join("")}}function p(t,n){if(!t||!n||t.charAt(0)!==n.charAt(0))return 0;let e=0,s=Math.min(t.length,n.length),r=s,l=0;for(;e<r;)t.substring(l,r)===n.substring(l,r)?(e=r,l=e):s=r,r=Math.floor((s-e)/2+e);return r}function b(t,n){if(!t||!n||t.charAt(t.length-1)!==n.charAt(n.length-1))return 0;let e=0,s=Math.min(t.length,n.length),r=s,l=0;for(;e<r;)t.substring(t.length-r,t.length-l)===n.substring(n.length-r,n.length-l)?(e=r,l=e):s=r,r=Math.floor((s-e)/2+e);return r}function d(t,n){const e=t.length,s=n.length;if(0===e||0===s)return 0;e>s?t=t.substring(e-s):e<s&&(n=n.substring(0,e));const r=Math.min(e,s);if(t===n)return r;let l=0,i=1;for(;;){const e=t.substring(r-i),s=n.indexOf(e);if(-1===s)return l;i+=s,0!==s&&t.substring(r-i)!==n.substring(0,i)||(l=i,i++)}}function m(t){let n=!1;const e=[];let s=0,r=null,l=0,i=0,h=0,f=0,a=0;for(;l<t.length;)0===t[l][0]?(e[s++]=l,i=f,h=a,f=0,a=0,r=t[l][1]):(1===t[l][0]?f+=t[l][1].length:a+=t[l][1].length,r&&r.length<=Math.max(i,h)&&r.length<=Math.max(f,a)&&(t.splice(e[s-1],0,o(g,r)),t[e[s-1]+1][0]=1,s--,s--,l=s>0?e[s-1]:-1,i=0,h=0,f=0,a=0,r=null,n=!0)),l++;for(n&&k(t),O(t),l=1;l<t.length;){if(t[l-1][0]===g&&1===t[l][0]){const n=t[l-1][1],e=t[l][1],s=d(n,e),r=d(e,n);s>=r?(s>=n.length/2||s>=e.length/2)&&(t.splice(l,0,o(0,e.substring(0,s))),t[l-1][1]=n.substring(0,n.length-s),t[l+1][1]=e.substring(s),l++):(r>=n.length/2||r>=e.length/2)&&(t.splice(l,0,o(0,n.substring(0,r))),t[l-1][0]=1,t[l-1][1]=e.substring(0,e.length-r),t[l+1][0]=g,t[l+1][1]=n.substring(r),l++),l++}l++}}const x=/[^a-z0-9]/i,M=/\s/,w=/[\r\n]/,y=/\n\r?\n$/,A=/^\r?\n\r?\n/;function O(t){function n(t,n){if(!t||!n)return 6;const e=t.charAt(t.length-1),s=n.charAt(0),r=e.match(x),l=s.match(x),i=r&&e.match(M),h=l&&s.match(M),g=i&&e.match(w),o=h&&s.match(w),f=g&&t.match(y),a=o&&n.match(A);return f||a?5:g||o?4:r&&!i&&h?3:i||h?2:r||l?1:0}let e=1;for(;e<t.length-1;){if(0===t[e-1][0]&&0===t[e+1][0]){let s=t[e-1][1],r=t[e][1],l=t[e+1][1];const i=b(s,r);if(i){const t=r.substring(r.length-i);s=s.substring(0,s.length-i),r=t+r.substring(0,r.length-i),l=t+l}let h=s,g=r,o=l,f=n(s,r)+n(r,l);for(;r.charAt(0)===l.charAt(0);){s+=r.charAt(0),r=r.substring(1)+l.charAt(0),l=l.substring(1);const t=n(s,r)+n(r,l);t>=f&&(f=t,h=s,g=r,o=l)}t[e-1][1]!==h&&(h?t[e-1][1]=h:(t.splice(e-1,1),e--),t[e][1]=g,o?t[e+1][1]=o:(t.splice(e+1,1),e--))}e++}}function $(t,n={}){const{diffEditCost:e=i.diffEditCost}=n;let s=!1;const r=[];let l=0,h=null,f=0,a=!1,c=!1,u=!1,p=!1;for(;f<t.length;){if(0===t[f][0])t[f][1].length<e&&(u||p)?(r[l++]=f,a=u,c=p,h=t[f][1]):(l=0,h=null),u=p=!1;else{let n=function(...t){return t.filter(Boolean).length};t[f][0]===g?p=!0:u=!0,h&&(a&&c&&u&&p||h.length<e/2&&3===n(a,c,u,p))&&(t.splice(r[l-1],0,o(g,h)),t[r[l-1]+1][0]=1,l--,h=null,a&&c?(u=p=!0,l=0):(l--,f=l>0?r[l-1]:-1,u=p=!1),s=!0)}f++}s&&k(t)}function k(t){t.push(o(0,""));let n,e=0,s=0,r=0,l="",i="";for(;e<t.length;)switch(t[e][0]){case 1:r++,i+=t[e][1],e++;break;case g:s++,l+=t[e][1],e++;break;case 0:s+r>1?(0!==s&&0!==r&&(n=p(i,l),0!==n&&(e-s-r>0&&0===t[e-s-r-1][0]?t[e-s-r-1][1]+=i.substring(0,n):(t.splice(0,0,o(0,i.substring(0,n))),e++),i=i.substring(n),l=l.substring(n)),n=b(i,l),0!==n&&(t[e][1]=i.substring(i.length-n)+t[e][1],i=i.substring(0,i.length-n),l=l.substring(0,l.length-n))),e-=s+r,t.splice(e,s+r),l.length&&(t.splice(e,0,o(g,l)),e++),i.length&&(t.splice(e,0,o(1,i)),e++),e++):0!==e&&0===t[e-1][0]?(t[e-1][1]+=t[e][1],t.splice(e,1)):e++,r=0,s=0,l="",i=""}""===t[t.length-1][1]&&t.pop();let h=!1;for(e=1;e<t.length-1;)0===t[e-1][0]&&0===t[e+1][0]&&(t[e][1].substring(t[e][1].length-t[e-1][1].length)===t[e-1][1]?(t[e][1]=t[e-1][1]+t[e][1].substring(0,t[e][1].length-t[e-1][1].length),t[e+1][1]=t[e-1][1]+t[e+1][1],t.splice(e-1,1),h=!0):t[e][1].substring(0,t[e+1][1].length)===t[e+1][1]&&(t[e-1][1]+=t[e+1][1],t[e][1]=t[e][1].substring(t[e+1][1].length)+t[e+1][1],t.splice(e+1,1),h=!0)),e++;h&&k(t)}function v(t,n){let e,s=0,r=0,l=0,i=0;for(e=0;e<t.length&&(1!==t[e][0]&&(s+=t[e][1].length),t[e][0]!==g&&(r+=t[e][1].length),!(s>n));e++)l=s,i=r;return t.length!==e&&t[e][0]===g?i:i+(n-l)}function E(t){const n=[];for(let e=0;e<t.length;e++)1!==t[e][0]&&(n[e]=t[e][1]);return n.join("")}function I(t){const n=[];for(let e=0;e<t.length;e++)t[e][0]!==g&&(n[e]=t[e][1]);return n.join("")}function j(t){let n=0,e=0,s=0;for(let r=0;r<t.length;r++){const l=t[r][0],i=t[r][1];switch(l){case 1:e+=i.length;break;case g:s+=i.length;break;case 0:n+=Math.max(e,s),e=0,s=0}}return n+=Math.max(e,s),n}function T(t,n,e,s){if(null==t||null==n||null==e)throw new Error("Null input. (match_main)");return e=Math.max(0,Math.min(e,t.length)),t===n?0:t.length?t.substring(e,e+n.length)===n?e:C(t,n,e,s):-1}function C(t,n,e,s){const r=h(s);if(n.length>r.matchMaxBits)throw new Error("Pattern too long for this browser.");const l=D(n);function i(t,s){const l=t/n.length,i=Math.abs(e-s);return r.matchDistance?l+i/r.matchDistance:i?1:l}let g=r.matchThreshold,o=t.indexOf(n,e);-1!==o&&(g=Math.min(i(0,o),g),o=t.lastIndexOf(n,e+n.length),-1!==o&&(g=Math.min(i(0,o),g)));const f=1<<n.length-1;let a,c;o=-1;let u=n.length+t.length,p=[];for(let h=0;h<n.length;h++){for(a=0,c=u;a<c;)i(h,e+c)<=g?a=c:u=c,c=Math.floor((u-a)/2+a);u=c;let s=Math.max(1,e-c+1);const r=Math.min(e+c,t.length)+n.length,b=new Array(r+2);b[r+1]=(1<<h)-1;for(let n=r;n>=s;n--){const r=l[t.charAt(n-1)];if(b[n]=0===h?(b[n+1]<<1|1)&r:(b[n+1]<<1|1)&r|(p[n+1]|p[n])<<1|1|p[n+1],b[n]&f){const t=i(h,n-1);if(t<=g){if(g=t,o=n-1,!(o>e))break;s=Math.max(1,2*e-o)}}}if(i(h+1,e)>g)break;p=b}return o}function D(t){const n={};for(let e=0;e<t.length;e++)n[t.charAt(e)]=0;for(let e=0;e<t.length;e++)n[t.charAt(e)]|=1<<t.length-e-1;return n}var B=Object.defineProperty,_=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,S=(t,n,e)=>n in t?B(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,F=(t,n)=>{for(var e in n||(n={}))P.call(n,e)&&S(t,e,n[e]);if(_)for(var e of _(n))N.call(n,e)&&S(t,e,n[e]);return t};function L(t,n,e){if(0===n.length)return;if(null===t.start2)throw new Error("patch not initialized");const{matchMaxBits:s=i.matchMaxBits,patchMargin:r=i.patchMargin}=e;let l=n.substring(t.start2,t.start2+t.length1),h=0;for(;n.indexOf(l)!==n.lastIndexOf(l)&&l.length<s-r-r;)h+=r,l=n.substring(t.start2-h,t.start2+t.length1+h);h+=r;const g=n.substring(t.start2-h,t.start2);g&&t.diffs.unshift(o(0,g));const f=n.substring(t.start2+t.length1,t.start2+t.length1+h);f&&t.diffs.push(o(0,f)),t.start1-=g.length,t.start2-=g.length,t.length1+=g.length+f.length,t.length2+=g.length+f.length}function U(t,n,e,s={}){const r=F(F({},i),s);let l,h;if("string"==typeof t&&"string"==typeof n&&void 0===e)l=t,h=f(l,n,r,!0),h.length>2&&(m(h),$(h));else if(t&&"object"==typeof t&&void 0===n&&void 0===e)h=t,l=E(h);else if("string"==typeof t&&n&&"object"==typeof n&&void 0===e)l=t,h=n;else{if("string"!=typeof t||"string"!=typeof n||!e||"object"!=typeof e)throw new Error("Unknown call format to patch_make.");l=t,h=e}if(0===h.length)return[];const o=[];let a=q(),c=0,u=0,p=0,b=l,d=l;for(let i=0;i<h.length;i++){const t=h[i][0],n=h[i][1];switch(c||0===t||(a.start1=u,a.start2=p),t){case 1:a.diffs[c++]=h[i],a.length2+=n.length,d=d.substring(0,p)+n+d.substring(p);break;case g:a.length1+=n.length,a.diffs[c++]=h[i],d=d.substring(0,p)+d.substring(p+n.length);break;case 0:n.length<=2*r.patchMargin&&c&&h.length!==i+1?(a.diffs[c++]=h[i],a.length1+=n.length,a.length2+=n.length):n.length>=2*r.patchMargin&&c&&(L(a,b,r),o.push(a),a=q(),c=0,b=d,u=p)}1!==t&&(u+=n.length),t!==g&&(p+=n.length)}return c&&(L(a,b,r),o.push(a)),o}function R(t){const n=[];for(let e=0;e<t.length;e++){const s=t[e],r=q();r.diffs=[];for(let t=0;t<s.diffs.length;t++)r.diffs[t]=o(s.diffs[t][0],s.diffs[t][1]);r.start1=s.start1,r.start2=s.start2,r.length1=s.length1,r.length2=s.length2,n[e]=r}return n}function z(t,n={}){const{patchMargin:e=i.patchMargin}=n;let s="";for(let i=1;i<=e;i++)s+=String.fromCharCode(i);for(let i=0;i<t.length;i++)t[i].start1+=e,t[i].start2+=e;let r=t[0],l=r.diffs;if(0===l.length||0!==l[0][0])l.unshift(o(0,s)),r.start1-=e,r.start2-=e,r.length1+=e,r.length2+=e;else if(e>l[0][1].length){const t=e-l[0][1].length;l[0][1]=s.substring(l[0][1].length)+l[0][1],r.start1-=t,r.start2-=t,r.length1+=t,r.length2+=t}if(r=t[t.length-1],l=r.diffs,0===l.length||0!==l[l.length-1][0])l.push(o(0,s)),r.length1+=e,r.length2+=e;else if(e>l[l.length-1][1].length){const t=e-l[l.length-1][1].length;l[l.length-1][1]+=s.substring(0,t),r.length1+=t,r.length2+=t}return s}function X(t,n){const e=h(n);for(let s=0;s<t.length;s++){if(t[s].length1<=e.matchMaxBits)continue;const n=t[s];t.splice(s--,1);let r=n.start1,l=n.start2,i="";for(;0!==n.diffs.length;){const h=q();let f=!0;for(h.start1=r-i.length,h.start2=l-i.length,""!==i&&(h.length1=h.length2=i.length,h.diffs.push(o(0,i)));0!==n.diffs.length&&h.length1<e.matchMaxBits-e.patchMargin;){const t=n.diffs[0][0];let s=n.diffs[0][1];1===t?(h.length2+=s.length,l+=s.length,h.diffs.push(n.diffs.shift()),f=!1):t===g&&1===h.diffs.length&&0===h.diffs[0][0]&&s.length>2*e.matchMaxBits?(h.length1+=s.length,r+=s.length,f=!1,h.diffs.push(o(t,s)),n.diffs.shift()):(s=s.substring(0,e.matchMaxBits-h.length1-e.patchMargin),h.length1+=s.length,r+=s.length,0===t?(h.length2+=s.length,l+=s.length):f=!1,h.diffs.push(o(t,s)),s===n.diffs[0][1]?n.diffs.shift():n.diffs[0][1]=n.diffs[0][1].substring(s.length))}i=I(h.diffs),i=i.substring(i.length-e.patchMargin);const a=E(n.diffs).substring(0,e.patchMargin);""!==a&&(h.length1+=a.length,h.length2+=a.length,0!==h.diffs.length&&0===h.diffs[h.diffs.length-1][0]?h.diffs[h.diffs.length-1][1]+=a:h.diffs.push(o(0,a))),f||t.splice(++s,0,h)}}}function q(){const t={diffs:[],start1:null,start2:null,length1:0,length2:0,toString:function(){let t,n;t=0===this.length1?`${this.start1},0`:1===this.length1?this.start1+1:`${this.start1+1},${this.length1}`,n=0===this.length2?`${this.start2},0`:1===this.length2?this.start2+1:`${this.start2+1},${this.length2}`;const e=[`@@ -${t} +${n} @@\n`];let s;for(let r=0;r<this.diffs.length;r++){switch(this.diffs[r][0]){case 1:s="+";break;case g:s="-";break;case 0:s=" "}e[r+1]=`${s+encodeURI(this.diffs[r][1])}\n`}return e.join("").replace(/%20/g," ")}};return t}exports.DIFF_DELETE=g,exports.DIFF_EQUAL=0,exports.DIFF_INSERT=1,exports.defaultOptions=i,exports.diff=f,exports.diffCharsToLines=u,exports.diffCleanupEfficiency=$,exports.diffCleanupMerge=k,exports.diffCleanupSemantic=m,exports.diffCleanupSemanticLossless=O,exports.diffCommonPrefix=p,exports.diffCommonSuffix=b,exports.diffFromDelta=function(t,n){const e=[];let s=0,r=0;const l=n.split(/\t/g);for(let h=0;h<l.length;h++){const n=l[h].substring(1);switch(l[h].charAt(0)){case"+":try{e[s++]=o(1,decodeURI(n))}catch(i){throw new Error(`Illegal escape in diff_fromDelta: ${n}`)}break;case"-":case"=":{const i=Number.parseInt(n,10);if(Number.isNaN(i)||i<0)throw new Error(`Invalid number in diff_fromDelta: ${n}`);const f=t.substring(r,r+=i);"="===l[h].charAt(0)?e[s++]=o(0,f):e[s++]=o(g,f);break}default:if(l[h])throw new Error(`Invalid diff operation in diff_fromDelta: ${l[h]}`)}}if(r!==t.length)throw new Error(`Delta length (${r}) does not equal source text length (${t.length}).`);return e},exports.diffLevenshtein=j,exports.diffLinesToChars=c,exports.diffMain=f,exports.diffPrettyHtml=function(t){const n=[],e=/&/g,s=/</g,r=/>/g,l=/\n/g;for(let i=0;i<t.length;i++){const h=t[i][0],o=t[i][1].replace(e,"&").replace(s,"<").replace(r,">").replace(l,"¶<br>");switch(h){case 1:n[i]=`<ins style="background:#e6ffe6;">${o}</ins>`;break;case g:n[i]=`<del style="background:#ffe6e6;">${o}</del>`;break;case 0:n[i]=`<span>${o}</span>`}}return n.join("")},exports.diffText1=E,exports.diffText2=I,exports.diffToDelta=function(t){const n=[];for(let e=0;e<t.length;e++)switch(t[e][0]){case 1:n[e]=`+${encodeURI(t[e][1])}`;break;case g:n[e]=`-${t[e][1].length}`;break;case 0:n[e]=`=${t[e][1].length}`}return n.join("\t").replace(/%20/g," ")},exports.diffXIndex=v,exports.match=T,exports.matchAlphabet=D,exports.matchBitap=C,exports.matchMain=T,exports.patch=U,exports.patchAddPadding=z,exports.patchApply=function(t,n,e){if(0===t.length)return[n,[]];t=R(t);const s=h(e),r=z(t,s);n=r+n+r,X(t,s);let l=0;const i=[];for(let h=0;h<t.length;h++){const r=t[h].start2+l,o=E(t[h].diffs);let a,c=-1;if(o.length>s.matchMaxBits?(a=T(n,o.substring(0,s.matchMaxBits),r,e),-1!==a&&(c=T(n,o.substring(o.length-s.matchMaxBits),r+o.length-s.matchMaxBits,e),(-1===c||a>=c)&&(a=-1))):a=T(n,o,r,e),-1===a)i[h]=!1,l-=t[h].length2-t[h].length1;else{let u;if(i[h]=!0,l=a-r,u=-1===c?n.substring(a,a+o.length):n.substring(a,c+s.matchMaxBits),o===u)n=n.substring(0,a)+I(t[h].diffs)+n.substring(a+o.length);else{const r=f(o,u,e,!1);if(o.length>s.matchMaxBits&&j(r)/o.length>s.patchDeleteThreshold)i[h]=!1;else{O(r);let e=0,s=0;for(let l=0;l<t[h].diffs.length;l++){const i=t[h].diffs[l];0!==i[0]&&(s=v(r,e)),1===i[0]?n=n.substring(0,a+s)+i[1]+n.substring(a+s):i[0]===g&&(n=n.substring(0,a+s)+n.substring(a+v(r,e+i[1].length))),i[0]!==g&&(e+=i[1].length)}}}}}return[n=n.substring(r.length,n.length-r.length),i]},exports.patchDeepCopy=R,exports.patchFromText=function(t){const n=[];if(!t)return n;const e=t.split("\n");let s=0;const r=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;for(;s<e.length;){const t=e[s].match(r);if(!t)throw new Error(`Invalid patch string: ${e[s]}`);const i=q();for(n.push(i),i.start1=Number.parseInt(t[1],10),""===t[2]?(i.start1--,i.length1=1):"0"===t[2]?i.length1=0:(i.start1--,i.length1=Number.parseInt(t[2],10)),i.start2=Number.parseInt(t[3],10),""===t[4]?(i.start2--,i.length2=1):"0"===t[4]?i.length2=0:(i.start2--,i.length2=Number.parseInt(t[4],10)),s++;s<e.length;){const t=e[s].charAt(0);let n="";try{n=decodeURI(e[s].substring(1))}catch(l){throw new Error(`Illegal escape in patch_fromText: ${n}`)}if("-"===t)i.diffs.push(o(g,n));else if("+"===t)i.diffs.push(o(1,n));else if(" "===t)i.diffs.push(o(0,n));else{if("@"===t)break;if(""!==t)throw new Error(`Invalid patch mode "${t}" in: ${n}`)}s++}}return n},exports.patchMake=U,exports.patchSplitMax=X,exports.patchToText=function(t){const n=[];for(let e=0;e<t.length;e++)n[e]=t[e];return n.join("")},exports.resolveOptions=h;