virtual-react-json-diff 1.0.11 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/demo/src/types/index.d.ts +1 -0
- package/dist/cjs/types/demo/vite.config.d.ts +2 -0
- package/dist/cjs/types/src/components/DiffViewer/components/SearchboxHolder.d.ts +9 -0
- package/dist/cjs/types/src/components/DiffViewer/components/VirtualDiffGrid.d.ts +25 -0
- package/dist/cjs/types/src/components/DiffViewer/components/VirtualDiffTable.d.ts +19 -0
- package/dist/cjs/types/src/components/DiffViewer/types/index.d.ts +1 -0
- package/dist/cjs/types/src/components/DiffViewer/utils/constants.d.ts +4 -0
- package/dist/cjs/types/src/components/DiffViewer/utils/json-diff/get-inline-diff.d.ts +6 -0
- package/dist/cjs/types/src/components/DiffViewer/utils/json-diff/get-inline-syntax-highlight.d.ts +7 -0
- package/dist/cjs/types/src/components/DiffViewer/utils/json-diff/get-segments.d.ts +5 -0
- package/dist/cjs/types/src/components/DiffViewer/utils/json-diff/row-renderer-grid.d.ts +10 -0
- package/dist/cjs/types/src/components/DiffViewer/utils/json-diff/row-renderer.d.ts +10 -0
- package/dist/cjs/types/src/components/DiffViewer/utils/json-diff/segment-util.d.ts +11 -0
- package/dist/index.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/types/src/components/DiffViewer/Diff.stories.d.ts +0 -18
- package/dist/cjs/types/src/components/DiffViewer/hooks/useDiffSegments.d.ts +0 -8
package/README.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
[![NPM version][npm-image]][npm-url]
|
|
4
4
|
[![Downloads][download-badge]][npm-url]
|
|
5
5
|

|
|
6
|
+
[](https://www.buymeacoffee.com/utkuakyuz)
|
|
6
7
|
|
|
7
8
|
👉 [Try it now](https://virtual-react-json-diff.netlify.app) (See the New Demo Page Including AceEditor)
|
|
8
9
|
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{createElement as r,PureComponent as o,useState as i,useCallback as a,useLayoutEffect as s,useRef as l,useEffect as c,useMemo as u}from"react";const f=e=>{if(null==e||"bigint"==typeof e||Number.isNaN(e)||e===1/0||e===-1/0)return;if(["string","number","boolean"].includes(typeof e))return e;if(Array.isArray(e))return e.map(f).filter((e=>void 0!==e));const t={};for(const[n,r]of Object.entries(e)){const e=f(r);void 0!==e&&(t[n]=e)}return t},h=(e,t,n=!1)=>{if(!Array.isArray(e)||!Array.isArray(t))throw new Error("Both arguments should be arrays.");const r=e.length,o=t.length,i=new Array(r+o);if(n){for(let e=0;e<o;e++)i[e]=t[o-e-1];for(let t=0;t<r;t++)i[t+o]=e[t];return i}for(let t=0;t<r;t++)i[t]=e[t];for(let e=0;e<o;e++)i[e+r]=t[e];return i},d=(e,t=new Map)=>{if("object"!=typeof e||null===e)return!1;if(t.has(e))return!0;if(t.set(e,!0),Array.isArray(e)){for(let n=0;n<e.length;n++)if(d(e[n],t))return!0;return!1}for(const n in e)if(d(e[n],t))return!0;return!1},p=(e,t,n,r=1/0,o)=>{if(!e||"object"!=typeof e){let r;if(Number.isNaN(e)||e===1/0||e===-1/0||"bigint"==typeof e||(r=JSON.stringify(e,t,n)),void 0===r)switch(o){case Lr.throw:throw new Error(`Value is not valid in JSON, got ${String(e)}`);case Lr.stringify:return v(e);default:throw new Error("Should not reach here, please report this bug.")}return r}const i=r<1?'"..."':Array.isArray(e)?`[${e.map((e=>p(e,t,n,r-1,o))).join(",")}]`:`{${Object.keys(e).map((i=>`"${i}": ${p(e[i],t,n,r-1,o)}`)).join(", ")}}`;return JSON.stringify(JSON.parse(i),t,n)},v=e=>void 0===e?"undefined":e===1/0?"Infinity":e===-1/0?"-Infinity":Number.isNaN(e)?"NaN":"bigint"==typeof e?`${e}n`:String(e),m=(e,t=1/0,n=!1,r=Lr.stringify)=>null===e?"null":Array.isArray(e)||"object"==typeof e?p(e,void 0,n?1:void 0,t,r):p(e,void 0,void 0,void 0,r),y=e=>"boolean"==typeof e?0:"number"==typeof e?1:"string"==typeof e?2:null===e?3:Array.isArray(e)?4:"object"==typeof e?5:"symbol"==typeof e?6:"function"==typeof e?7:"bigint"==typeof e?8:-1,g=(e,t,n)=>{const r=n.keyOrdersMap?.get(e),o=n.keyOrdersMap?.get(t);if(void 0!==r&&void 0!==o)return r-o;const i=y(e),a=y(t);if(i!==a)return i-a;if(null===e&&null===t||Array.isArray(e)&&Array.isArray(t)||5===i&&5===a)return 0;switch(typeof e){case"number":return Number.isNaN(e)&&Number.isNaN(t)||e===1/0&&t===1/0||e===-1/0&&t===-1/0?0:e-t;case"string":return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e<t?-1:e>t?1:0;case"boolean":return+e-+t;case"symbol":case"function":return String(e).localeCompare(String(t))}if("bigint"==typeof e&&"bigint"==typeof t){const n=BigInt(e)-BigInt(t);return n<0?-1:n>0?1:0}return String(e).localeCompare(String(t))},b=e=>Array.isArray(e)?"array":null===e?"null":typeof e,x=(e,t,n,r,o,i,a,s)=>{const l={ignoreCase:s.ignoreCase},c=m(o,s.maxDepth,!0,s.undefinedBehavior).split("\n"),u=m(i,s.maxDepth,!0,s.undefinedBehavior).split("\n");if(0!==g(o,i,l))if(s.showModifications){const o=Math.max(c.length,u.length);for(let e=c.length;e<o;e++)c.push("");for(let e=u.length;e<o;e++)u.push("");e.push({level:a,type:"modify",text:n?`"${n}": ${c[0]}`:c[0]});for(let t=1;t<c.length;t++)e.push({level:a+(c[t].match(/^\s+/)?.[0]?.length||0),type:"modify",text:c[t].replace(/^\s+/,"").replace(/,$/g,"")});for(let t=c.length;t<o;t++)e.push({level:a,type:"equal",text:""});t.push({level:a,type:"modify",text:r?`"${r}": ${u[0]}`:u[0]});for(let e=1;e<u.length;e++)t.push({level:a+(u[e].match(/^\s+/)?.[0]?.length||0),type:"modify",text:u[e].replace(/^\s+/,"").replace(/,$/g,"")});for(let e=u.length;e<o;e++)t.push({level:a,type:"equal",text:""})}else{e.push({level:a,type:"remove",text:n?`"${n}": ${c[0]}`:c[0]});for(let t=1;t<c.length;t++)e.push({level:a+(c[t].match(/^\s+/)?.[0]?.length||0),type:"remove",text:c[t].replace(/^\s+/,"").replace(/,$/g,"")});for(let t=0;t<u.length;t++)e.push({level:a,type:"equal",text:""});for(let e=0;e<c.length;e++)t.push({level:a,type:"equal",text:""});t.push({level:a,type:"add",text:r?`"${r}": ${u[0]}`:u[0]});for(let e=1;e<u.length;e++)t.push({level:a+(u[e].match(/^\s+/)?.[0]?.length||0),type:"add",text:u[e].replace(/^\s+/,"").replace(/,$/g,"")})}else{const o=Math.max(c.length,u.length);for(let e=c.length;e<o;e++)c.push("");for(let e=u.length;e<o;e++)u.push("");e.push({level:a,type:"equal",text:n?`"${n}": ${c[0]}`:c[0]});for(let t=1;t<c.length;t++)e.push({level:a+(c[t].match(/^\s+/)?.[0]?.length||0),type:"equal",text:c[t].replace(/^\s+/,"").replace(/,$/g,"")});t.push({level:a,type:"equal",text:r?`"${r}": ${u[0]}`:u[0]});for(let e=1;e<u.length;e++)t.push({level:a+(u[e].match(/^\s+/)?.[0]?.length||0),type:"equal",text:u[e].replace(/^\s+/,"").replace(/,$/g,"")})}},w=(e,t)=>e.sort(((e,n)=>g(e,n,{ignoreCase:t.ignoreCaseForKey}))),j=(e,t,n=1,r,o)=>{if(n>(r.maxDepth||1/0))return[[{level:n,type:"equal",text:"..."}],[{level:n,type:"equal",text:"..."}]];let i=[],a=[];if(null===e&&null===t||void 0===e&&void 0===t)return[i,a];if(null==e){const e=p(t,void 0,1,void 0,r.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++)i.push({level:n,type:"equal",text:""}),a.push({level:n+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:e[t].replace(/^\s+/,"").replace(/,$/g,"")});return[i,a]}if(null==t){const t=p(e,void 0,1,void 0,r.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++)i.push({level:n+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:t[e].replace(/^\s+/,"").replace(/,$/g,"")}),a.push({level:n,type:"equal",text:""});return[i,a]}const s=Object.keys(e),l=Object.keys(t),c=new Map;if(r.preserveKeyOrder){if("before"===r.preserveKeyOrder){for(let e=0;e<s.length;e++)c.set(s[e],e);for(let e=0;e<l.length;e++)c.has(l[e])||c.set(l[e],s.length+e);l.sort(((e,t)=>c.get(e)-c.get(t)))}else if("after"===r.preserveKeyOrder){for(let e=0;e<l.length;e++)c.set(l[e],e);for(let e=0;e<s.length;e++)c.has(s[e])||c.set(s[e],l.length+e);s.sort(((e,t)=>c.get(e)-c.get(t)))}}else w(s,r),w(l,r);const u={ignoreCase:r.ignoreCaseForKey,keyOrdersMap:c};for(;s.length||l.length;){const c=s[0],f=l[0],d=g(c,f,u);if(0===d)if(b(e[c])!==b(t[f]))x(i,a,c,f,e[c],t[f],n,r);else if(Array.isArray(e[c])){const s=[...e[c]],l=[...t[f]],[u,d]=o(s,l,c,f,n,r,[],[]);i=h(i,u),a=h(a,d)}else if(null===e[c])i.push({level:n,type:"equal",text:`"${c}": null`}),a.push({level:n,type:"equal",text:`"${f}": null`});else if("object"==typeof e[c]){const s=j(e[c],t[f],n+1,r,o);i.push({level:n,type:"equal",text:`"${c}": {`}),i=h(i,s[0]),i.push({level:n,type:"equal",text:"}"}),a.push({level:n,type:"equal",text:`"${f}": {`}),a=h(a,s[1]),a.push({level:n,type:"equal",text:"}"})}else x(i,a,c,f,e[c],t[f],n,r);else if(s.length&&l.length)if(d<0){const t=p(e[c],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++){const r=t[e].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:e?r:`"${c}": ${r}`}),a.push({level:n,type:"equal",text:""})}}else{const e=p(t[f],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++){const r=e[t].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n,type:"equal",text:""}),a.push({level:n+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:t?r:`"${f}": ${r}`})}}else if(s.length){const t=p(e[c],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++){const r=t[e].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:e?r:`"${c}": ${r}`}),a.push({level:n,type:"equal",text:""})}}else if(l.length){const e=p(t[f],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++){const r=e[t].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n,type:"equal",text:""}),a.push({level:n+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:t?r:`"${f}": ${r}`})}}c?f?0===d?(s.shift(),l.shift()):d<0?s.shift():l.shift():s.shift():l.shift()}if(i.length!==a.length)throw new Error("Diff error: length not match for left & right, please report a bug with your data.");return[i,a]};var _=function(){this.__data__=[],this.size=0};var S=function(e,t){return e===t||e!=e&&t!=t},E=S;var k=function(e,t){for(var n=e.length;n--;)if(E(e[n][0],t))return n;return-1},M=k,A=Array.prototype.splice;var O=k;var q=k;var N=k;var I=_,C=function(e){var t=this.__data__,n=M(t,e);return!(n<0)&&(n==t.length-1?t.pop():A.call(t,n,1),--this.size,!0)},D=function(e){var t=this.__data__,n=O(t,e);return n<0?void 0:t[n][1]},R=function(e){return q(this.__data__,e)>-1},$=function(e,t){var n=this.__data__,r=N(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function B(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}B.prototype.clear=I,B.prototype.delete=C,B.prototype.get=D,B.prototype.has=R,B.prototype.set=$;var L=B,z=L;var T=function(){this.__data__=new z,this.size=0};var P=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};var W=function(e){return this.__data__.get(e)};var F=function(e){return this.__data__.has(e)},H="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},U="object"==typeof H&&H&&H.Object===Object&&H,K=U,V="object"==typeof self&&self&&self.Object===Object&&self,G=K||V||Function("return this")(),J=G.Symbol,Y=J,Z=Object.prototype,Q=Z.hasOwnProperty,X=Z.toString,ee=Y?Y.toStringTag:void 0;var te=function(e){var t=Q.call(e,ee),n=e[ee];try{e[ee]=void 0;var r=!0}catch(e){}var o=X.call(e);return r&&(t?e[ee]=n:delete e[ee]),o},ne=Object.prototype.toString;var re=te,oe=function(e){return ne.call(e)},ie=J?J.toStringTag:void 0;var ae=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ie&&ie in Object(e)?re(e):oe(e)};var se=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},le=ae,ce=se;var ue,fe=function(e){if(!ce(e))return!1;var t=le(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},he=G["__core-js_shared__"],de=(ue=/[^.]+$/.exec(he&&he.keys&&he.keys.IE_PROTO||""))?"Symbol(src)_1."+ue:"";var pe=function(e){return!!de&&de in e},ve=Function.prototype.toString;var me=function(e){if(null!=e){try{return ve.call(e)}catch(e){}try{return e+""}catch(e){}}return""},ye=fe,ge=pe,be=se,xe=me,we=/^\[object .+?Constructor\]$/,je=Function.prototype,_e=Object.prototype,Se=je.toString,Ee=_e.hasOwnProperty,ke=RegExp("^"+Se.call(Ee).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var Me=function(e){return!(!be(e)||ge(e))&&(ye(e)?ke:we).test(xe(e))},Ae=function(e,t){return null==e?void 0:e[t]};var Oe=function(e,t){var n=Ae(e,t);return Me(n)?n:void 0},qe=Oe(G,"Map"),Ne=Oe(Object,"create"),Ie=Ne;var Ce=function(){this.__data__=Ie?Ie(null):{},this.size=0};var De=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Re=Ne,$e=Object.prototype.hasOwnProperty;var Be=function(e){var t=this.__data__;if(Re){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return $e.call(t,e)?t[e]:void 0},Le=Ne,ze=Object.prototype.hasOwnProperty;var Te=Ne;var Pe=Ce,We=De,Fe=Be,He=function(e){var t=this.__data__;return Le?void 0!==t[e]:ze.call(t,e)},Ue=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Te&&void 0===t?"__lodash_hash_undefined__":t,this};function Ke(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Ke.prototype.clear=Pe,Ke.prototype.delete=We,Ke.prototype.get=Fe,Ke.prototype.has=He,Ke.prototype.set=Ue;var Ve=Ke,Ge=L,Je=qe;var Ye=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Ze=function(e,t){var n=e.__data__;return Ye(t)?n["string"==typeof t?"string":"hash"]:n.map},Qe=Ze;var Xe=Ze;var et=Ze;var tt=Ze;var nt=function(e,t){var n=tt(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},rt=function(){this.size=0,this.__data__={hash:new Ve,map:new(Je||Ge),string:new Ve}},ot=function(e){var t=Qe(this,e).delete(e);return this.size-=t?1:0,t},it=function(e){return Xe(this,e).get(e)},at=function(e){return et(this,e).has(e)},st=nt;function lt(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}lt.prototype.clear=rt,lt.prototype.delete=ot,lt.prototype.get=it,lt.prototype.has=at,lt.prototype.set=st;var ct=lt,ut=L,ft=qe,ht=ct;var dt=L,pt=T,vt=P,mt=W,yt=F,gt=function(e,t){var n=this.__data__;if(n instanceof ut){var r=n.__data__;if(!ft||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new ht(r)}return n.set(e,t),this.size=n.size,this};function bt(e){var t=this.__data__=new dt(e);this.size=t.size}bt.prototype.clear=pt,bt.prototype.delete=vt,bt.prototype.get=mt,bt.prototype.has=yt,bt.prototype.set=gt;var xt=bt;var wt=ct,jt=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},_t=function(e){return this.__data__.has(e)};function St(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new wt;++t<n;)this.add(e[t])}St.prototype.add=St.prototype.push=jt,St.prototype.has=_t;var Et=St,kt=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1},Mt=function(e,t){return e.has(t)};var At=function(e,t,n,r,o,i){var a=1&n,s=e.length,l=t.length;if(s!=l&&!(a&&l>s))return!1;var c=i.get(e),u=i.get(t);if(c&&u)return c==t&&u==e;var f=-1,h=!0,d=2&n?new Et:void 0;for(i.set(e,t),i.set(t,e);++f<s;){var p=e[f],v=t[f];if(r)var m=a?r(v,p,f,t,e,i):r(p,v,f,e,t,i);if(void 0!==m){if(m)continue;h=!1;break}if(d){if(!kt(t,(function(e,t){if(!Mt(d,t)&&(p===e||o(p,e,n,r,i)))return d.push(t)}))){h=!1;break}}else if(p!==v&&!o(p,v,n,r,i)){h=!1;break}}return i.delete(e),i.delete(t),h};var Ot=G.Uint8Array,qt=S,Nt=At,It=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n},Ct=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n},Dt=J?J.prototype:void 0,Rt=Dt?Dt.valueOf:void 0;var $t=function(e,t,n,r,o,i,a){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!i(new Ot(e),new Ot(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return qt(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var s=It;case"[object Set]":var l=1&r;if(s||(s=Ct),e.size!=t.size&&!l)return!1;var c=a.get(e);if(c)return c==t;r|=2,a.set(e,t);var u=Nt(s(e),s(t),r,o,i,a);return a.delete(e),u;case"[object Symbol]":if(Rt)return Rt.call(e)==Rt.call(t)}return!1};var Bt=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e},Lt=Array.isArray,zt=Bt,Tt=Lt;var Pt=function(e,t,n){var r=t(e);return Tt(e)?r:zt(r,n(e))};var Wt=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i},Ft=function(){return[]},Ht=Object.prototype.propertyIsEnumerable,Ut=Object.getOwnPropertySymbols,Kt=Ut?function(e){return null==e?[]:(e=Object(e),Wt(Ut(e),(function(t){return Ht.call(e,t)})))}:Ft;var Vt=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};var Gt=function(e){return null!=e&&"object"==typeof e},Jt=ae,Yt=Gt;var Zt=function(e){return Yt(e)&&"[object Arguments]"==Jt(e)},Qt=Gt,Xt=Object.prototype,en=Xt.hasOwnProperty,tn=Xt.propertyIsEnumerable,nn=Zt(function(){return arguments}())?Zt:function(e){return Qt(e)&&en.call(e,"callee")&&!tn.call(e,"callee")},rn={exports:{}};var on=function(){return!1};!function(e,t){var n=G,r=on,o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,a=i&&i.exports===o?n.Buffer:void 0,s=(a?a.isBuffer:void 0)||r;e.exports=s}(rn,rn.exports);var an=/^(?:0|[1-9]\d*)$/;var sn=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&an.test(e))&&e>-1&&e%1==0&&e<t};var ln=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},cn=ae,un=ln,fn=Gt,hn={};hn["[object Float32Array]"]=hn["[object Float64Array]"]=hn["[object Int8Array]"]=hn["[object Int16Array]"]=hn["[object Int32Array]"]=hn["[object Uint8Array]"]=hn["[object Uint8ClampedArray]"]=hn["[object Uint16Array]"]=hn["[object Uint32Array]"]=!0,hn["[object Arguments]"]=hn["[object Array]"]=hn["[object ArrayBuffer]"]=hn["[object Boolean]"]=hn["[object DataView]"]=hn["[object Date]"]=hn["[object Error]"]=hn["[object Function]"]=hn["[object Map]"]=hn["[object Number]"]=hn["[object Object]"]=hn["[object RegExp]"]=hn["[object Set]"]=hn["[object String]"]=hn["[object WeakMap]"]=!1;var dn=function(e){return fn(e)&&un(e.length)&&!!hn[cn(e)]};var pn=function(e){return function(t){return e(t)}},vn={exports:{}};!function(e,t){var n=U,r=t&&!t.nodeType&&t,o=r&&e&&!e.nodeType&&e,i=o&&o.exports===r&&n.process,a=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=a}(vn,vn.exports);var mn=dn,yn=pn,gn=vn.exports,bn=gn&&gn.isTypedArray,xn=bn?yn(bn):mn,wn=Vt,jn=nn,_n=Lt,Sn=rn.exports,En=sn,kn=xn,Mn=Object.prototype.hasOwnProperty;var An=function(e,t){var n=_n(e),r=!n&&jn(e),o=!n&&!r&&Sn(e),i=!n&&!r&&!o&&kn(e),a=n||r||o||i,s=a?wn(e.length,String):[],l=s.length;for(var c in e)!t&&!Mn.call(e,c)||a&&("length"==c||o&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||En(c,l))||s.push(c);return s},On=Object.prototype;var qn=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||On)};var Nn=function(e,t){return function(n){return e(t(n))}}(Object.keys,Object),In=qn,Cn=Nn,Dn=Object.prototype.hasOwnProperty;var Rn=fe,$n=ln;var Bn=An,Ln=function(e){if(!In(e))return Cn(e);var t=[];for(var n in Object(e))Dn.call(e,n)&&"constructor"!=n&&t.push(n);return t},zn=function(e){return null!=e&&$n(e.length)&&!Rn(e)};var Tn=Pt,Pn=Kt,Wn=function(e){return zn(e)?Bn(e):Ln(e)};var Fn=function(e){return Tn(e,Wn,Pn)},Hn=Object.prototype.hasOwnProperty;var Un=function(e,t,n,r,o,i){var a=1&n,s=Fn(e),l=s.length;if(l!=Fn(t).length&&!a)return!1;for(var c=l;c--;){var u=s[c];if(!(a?u in t:Hn.call(t,u)))return!1}var f=i.get(e),h=i.get(t);if(f&&h)return f==t&&h==e;var d=!0;i.set(e,t),i.set(t,e);for(var p=a;++c<l;){var v=e[u=s[c]],m=t[u];if(r)var y=a?r(m,v,u,t,e,i):r(v,m,u,e,t,i);if(!(void 0===y?v===m||o(v,m,n,r,i):y)){d=!1;break}p||(p="constructor"==u)}if(d&&!p){var g=e.constructor,b=t.constructor;g==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof b&&b instanceof b||(d=!1)}return i.delete(e),i.delete(t),d},Kn=Oe(G,"DataView"),Vn=qe,Gn=Oe(G,"Promise"),Jn=Oe(G,"Set"),Yn=Oe(G,"WeakMap"),Zn=ae,Qn=me,Xn="[object Map]",er="[object Promise]",tr="[object Set]",nr="[object WeakMap]",rr="[object DataView]",or=Qn(Kn),ir=Qn(Vn),ar=Qn(Gn),sr=Qn(Jn),lr=Qn(Yn),cr=Zn;(Kn&&cr(new Kn(new ArrayBuffer(1)))!=rr||Vn&&cr(new Vn)!=Xn||Gn&&cr(Gn.resolve())!=er||Jn&&cr(new Jn)!=tr||Yn&&cr(new Yn)!=nr)&&(cr=function(e){var t=Zn(e),n="[object Object]"==t?e.constructor:void 0,r=n?Qn(n):"";if(r)switch(r){case or:return rr;case ir:return Xn;case ar:return er;case sr:return tr;case lr:return nr}return t});var ur=xt,fr=At,hr=$t,dr=Un,pr=cr,vr=Lt,mr=rn.exports,yr=xn,gr="[object Arguments]",br="[object Array]",xr="[object Object]",wr=Object.prototype.hasOwnProperty;var jr=function(e,t,n,r,o,i){var a=vr(e),s=vr(t),l=a?br:pr(e),c=s?br:pr(t),u=(l=l==gr?xr:l)==xr,f=(c=c==gr?xr:c)==xr,h=l==c;if(h&&mr(e)){if(!mr(t))return!1;a=!0,u=!1}if(h&&!u)return i||(i=new ur),a||yr(e)?fr(e,t,n,r,o,i):hr(e,t,l,n,r,o,i);if(!(1&n)){var d=u&&wr.call(e,"__wrapped__"),p=f&&wr.call(t,"__wrapped__");if(d||p){var v=d?e.value():e,m=p?t.value():t;return i||(i=new ur),o(v,m,n,r,i)}}return!!h&&(i||(i=new ur),dr(e,t,n,r,o,i))},_r=Gt;var Sr=function e(t,n,r,o,i){return t===n||(null==t||null==n||!_r(t)&&!_r(n)?t!=t&&n!=n:jr(t,n,r,o,e,i))},Er=Sr;var kr=function(e,t,n){var r=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===r?Er(e,t,void 0,n):!!r};const Mr=(e,t,n)=>n.ignoreCase?"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase():"symbol"==typeof e&&"symbol"==typeof t?e.toString()===t.toString():n.recursiveEqual?kr(e,t,((e,t)=>n.ignoreCase&&"string"==typeof e&&"string"==typeof t?e.toLowerCase()===t.toLowerCase():void 0)):e===t,Ar=(e,t)=>{if(e===t)return 1;if(null===e||null===t)return 0;if("object"!=typeof e||"object"!=typeof t)return 0;let n=0;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&Object.prototype.hasOwnProperty.call(t,r)&&e[r]===t[r]&&n++;return Math.max(n/Object.keys(e).length,n/Object.keys(t).length)},Or=(e,t,n,r,o)=>{n&&r?(e.push({level:o,type:"equal",text:`"${n}": [`}),t.push({level:o,type:"equal",text:`"${r}": [`})):(e.push({level:o,type:"equal",text:"["}),t.push({level:o,type:"equal",text:"["}))},qr=(e,t,n)=>{e.push({level:n,type:"equal",text:"]"}),t.push({level:n,type:"equal",text:"]"})},Nr=(e,t,n)=>{e.push({level:n+1,type:"equal",text:"..."}),t.push({level:n+1,type:"equal",text:"..."})},Ir=(e,t,n,r,o,i,a=[],s=[])=>{if(Or(a,s,n,r,o),o>=(i.maxDepth||1/0))Nr(a,s,o);else{const[l,c]=((e,t,n,r,o,i)=>{const a=Array(e.length+1).fill(0).map((()=>Array(t.length+1).fill(0))),s=Array(e.length+1).fill(0).map((()=>Array(t.length+1).fill(0)));for(let t=1;t<=e.length;t++)s[t][0]="up";for(let e=1;e<=t.length;e++)s[0][e]="left";for(let n=1;n<=e.length;n++)for(let r=1;r<=t.length;r++){const o=b(e[n-1]);o!==b(t[r-1])||"array"!==o&&"object"!==o?Mr(e[n-1],t[r-1],i)?(a[n][r]=a[n-1][r-1]+1,s[n][r]="diag"):a[n-1][r]>=a[n][r-1]?(a[n][r]=a[n-1][r],s[n][r]="up"):(a[n][r]=a[n][r-1],s[n][r]="left"):i.recursiveEqual?Mr(e[n-1],t[r-1],i)||Ar(e[n-1],t[r-1])>.5?(a[n][r]=a[n-1][r-1]+1,s[n][r]="diag"):a[n-1][r]>=a[n][r-1]?(a[n][r]=a[n-1][r],s[n][r]="up"):(a[n][r]=a[n][r-1],s[n][r]="left"):(a[n][r]=a[n-1][r-1]+1,s[n][r]="diag")}let l=e.length,c=t.length,u=[],f=[];for(;l>0||c>0;)if("diag"===s[l][c]){const a=b(e[l-1]);if(i.recursiveEqual&&("array"===a||"object"===a)&&Mr(e[l-1],t[c-1],i)){const n=[],r=[];x(n,r,"","",e[l-1],t[c-1],o+1,i),u=h(u,n.reverse(),!0),f=h(f,r.reverse(),!0)}else if("array"===a){const[a,s]=Ir(e[l-1],t[c-1],n,r,o+1,i);u=h(u,a.reverse(),!0),f=h(f,s.reverse(),!0)}else if("object"===a){const[n,r]=j(e[l-1],t[c-1],o+2,i,Ir);u.unshift({level:o+1,type:"equal",text:"}"}),f.unshift({level:o+1,type:"equal",text:"}"}),u=h(u,n.reverse(),!0),f=h(f,r.reverse(),!0),u.unshift({level:o+1,type:"equal",text:"{"}),f.unshift({level:o+1,type:"equal",text:"{"})}else{const n=[],r=[];x(n,r,"","",e[l-1],t[c-1],o+1,i),u=h(u,n.reverse(),!0),f=h(f,r.reverse(),!0)}l--,c--}else if("up"===s[l][c])if(i.showModifications&&l>1&&"left"===s[l-1][c]){const a=b(e[l-1]);if(a===b(t[c-1]))if("array"===a){const[a,s]=Ir(e[l-1],t[c-1],n,r,o+1,i);u=h(u,a.reverse(),!0),f=h(f,s.reverse(),!0)}else if("object"===a){const[n,r]=j(e[l-1],t[c-1],o+2,i,Ir);u.unshift({level:o+1,type:"equal",text:"}"}),f.unshift({level:o+1,type:"equal",text:"}"}),u=h(u,n.reverse(),!0),f=h(f,r.reverse(),!0),u.unshift({level:o+1,type:"equal",text:"{"}),f.unshift({level:o+1,type:"equal",text:"{"})}else u.unshift({level:o+1,type:"modify",text:m(e[l-1],void 0,void 0,i.undefinedBehavior)}),f.unshift({level:o+1,type:"modify",text:m(t[c-1],void 0,void 0,i.undefinedBehavior)});else{const n=[],r=[];x(n,r,"","",e[l-1],t[c-1],o+1,i),u=h(u,n.reverse(),!0),f=h(f,r.reverse(),!0)}l--,c--}else{const t=p(e[l-1],void 0,1,void 0,i.undefinedBehavior).split("\n");for(let e=t.length-1;e>=0;e--)u.unshift({level:o+1+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:t[e].replace(/^\s+/,"").replace(/,$/g,"")}),f.unshift({level:o+1,type:"equal",text:""});l--}else{const e=p(t[c-1],void 0,1,void 0,i.undefinedBehavior).split("\n");for(let t=e.length-1;t>=0;t--)u.unshift({level:o+1,type:"equal",text:""}),f.unshift({level:o+1+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:e[t].replace(/^\s+/,"").replace(/,$/g,"")});c--}return[u,f]})(e,t,n,r,o,i);a=h(a,l),s=h(s,c)}return qr(a,s,o),[a,s]};function Cr(e,t){for(const n of e){if("object"===b(n)){if(!(t in n))return!1;for(const e of Object.values(n))if(Array.isArray(e)&&!Cr(e,t))return!1}else if(Array.isArray(n)&&!Cr(n,t))return!1}return!0}const Dr=function e(t,n,r,o,i,a,s=[],l=[]){if(!a.compareKey)return $r(t,n,r,o,i,a,s,l);const c=e=>e.every((e=>"object"===b(e)));if(!(c(t)&&c(n)&&Cr(t,a.compareKey)&&Cr(n,a.compareKey)))return $r(t,n,r,o,i,a,s,l);if(Or(s,l,r,o,i),i>=(a.maxDepth||1/0))Nr(s,l,i);else{const r=new Set,o=new Set;for(let c=0;c<t.length;c++){const u=t[c];if(r.has(c))continue;if("object"!==b(u)||!(a.compareKey in u))continue;const f=u[a.compareKey];let d=-1;for(let e=0;e<n.length;e++){if(o.has(e))continue;const t=n[e];if("object"!==b(t)||!(a.compareKey in t))continue;const r=t[a.compareKey];if(Mr(f,r,a)){d=e;break}}if(-1!==d){const t=n[d],f=b(u);if(f!==b(t))x(s,l,"","",u,t,i+1,a);else if("object"===f){s.push({level:i+1,type:"equal",text:"{"}),l.push({level:i+1,type:"equal",text:"{"});const n=Array.from(new Set([...Object.keys(u),...Object.keys(t)]));for(const r of n){const n=u[r],o=t[r];if(Array.isArray(n)&&Array.isArray(o)){const[t,r]=e(n,o,"","",i+2,a,[],[]);s=h(s,t),l=h(l,r)}else if(Array.isArray(n)||Array.isArray(o))x(s,l,r,r,n,o,i+2,a);else{const[t,c]=j({[r]:n},{[r]:o},i+2,a,e);s=h(s,t),l=h(l,c)}}s.push({level:i+1,type:"equal",text:"}"}),l.push({level:i+1,type:"equal",text:"}"})}else if("array"===f){const[n,r]=e(u,t,"","",i+1,a,[],[]);s=h(s,n),l=h(l,r)}else Mr(u,t,a)?(s.push({level:i+1,type:"equal",text:m(u,void 0,void 0,a.undefinedBehavior)}),l.push({level:i+1,type:"equal",text:m(t,void 0,void 0,a.undefinedBehavior)})):a.showModifications?(s.push({level:i+1,type:"modify",text:m(u,void 0,void 0,a.undefinedBehavior)}),l.push({level:i+1,type:"modify",text:m(t,void 0,void 0,a.undefinedBehavior)})):(s.push({level:i+1,type:"remove",text:m(u,void 0,void 0,a.undefinedBehavior)}),s.push({level:i+1,type:"equal",text:""}),l.push({level:i+1,type:"equal",text:""}),l.push({level:i+1,type:"add",text:m(t,void 0,void 0,a.undefinedBehavior)}));r.add(c),o.add(d)}}for(let e=0;e<t.length;e++){if(r.has(e))continue;const n=t[e],o=p(n,void 0,1,void 0,a.undefinedBehavior).split("\n");for(let e=0;e<o.length;e++)s.push({level:i+1+(o[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:o[e].replace(/^\s+/,"").replace(/,$/g,"")}),l.push({level:i+1,type:"equal",text:""})}for(let e=0;e<n.length;e++){if(o.has(e))continue;const t=n[e],r=p(t,void 0,1,void 0,a.undefinedBehavior).split("\n");for(let e=0;e<r.length;e++)s.push({level:i+1,type:"equal",text:""}),l.push({level:i+1+(r[e].match(/^\s+/)?.[0]?.length||0),type:"add",text:r[e].replace(/^\s+/,"").replace(/,$/g,"")})}}return qr(s,l,i),[s,l]};function Rr(e,t,n,r,o,i,a){let s=[],l=[];const c=Array.from(new Set([...Object.keys(e||{}),...Object.keys(t||{})]));for(const u of c){const c=e?e[u]:void 0,f=t?t[u]:void 0;if(Array.isArray(c)&&Array.isArray(f)&&r.compareKey&&a(c,r.compareKey)&&a(f,r.compareKey)){const[e,t]=i(c,f,"","",n+2,r,[],[]);s=h(s,e),l=h(l,t)}else if(Array.isArray(c)&&Array.isArray(f)){const[e,t]=o(c,f,"","",n+2,r,[],[]);s=h(s,e),l=h(l,t)}else if(Array.isArray(c)||Array.isArray(f))x(s,l,u,u,c,f,n+2,r);else{const[e,t]=j({[u]:c},{[u]:f},n+2,r,o);s=h(s,e),l=h(l,t)}}return[s,l]}const $r=(e,t,n,r,o,i,a=[],s=[])=>{if(e=[...e],t=[...t],Or(a,s,n,r,o),o>=(i.maxDepth||1/0))Nr(a,s,o);else for(;e.length||t.length;){const n=e[0],r=t[0],l=b(n),c=b(r);if(e.length&&t.length){if(l!==c)x(a,s,"","",n,r,o+1,i);else if(i.recursiveEqual&&["object","array"].includes(l)&&Mr(n,r,i))x(a,s,"","",n,r,o+1,i);else if("object"===l){let e,t;a.push({level:o+1,type:"equal",text:"{"}),s.push({level:o+1,type:"equal",text:"{"}),"compare-key"===i.arrayDiffMethod?[e,t]=Rr(n,r,o,i,$r,Dr,Cr):[e,t]=j(n,r,o+2,i,$r),a=h(a,e),s=h(s,t),a.push({level:o+1,type:"equal",text:"}"}),s.push({level:o+1,type:"equal",text:"}"})}else if("array"===l)if(i.compareKey&&Cr(n,i.compareKey)&&Cr(r,i.compareKey)){const[e,t]=Dr(n,r,"","",o+1,i,[],[]);a=h(a,e),s=h(s,t)}else{const[e,t]=$r(n,r,"","",o+1,i,[],[]);a=h(a,e),s=h(s,t)}else 0===g(n,r,{ignoreCase:i.ignoreCase})?(a.push({level:o+1,type:"equal",text:m(n,void 0,void 0,i.undefinedBehavior)}),s.push({level:o+1,type:"equal",text:m(r,void 0,void 0,i.undefinedBehavior)})):i.showModifications?(a.push({level:o+1,type:"modify",text:m(n,void 0,void 0,i.undefinedBehavior)}),s.push({level:o+1,type:"modify",text:m(r,void 0,void 0,i.undefinedBehavior)})):(a.push({level:o+1,type:"remove",text:m(n,void 0,void 0,i.undefinedBehavior)}),a.push({level:o+1,type:"equal",text:""}),s.push({level:o+1,type:"equal",text:""}),s.push({level:o+1,type:"add",text:m(r,void 0,void 0,i.undefinedBehavior)}));e.shift(),t.shift()}else if(e.length){const t=m(n,void 0,!0,i.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++)a.push({level:o+1+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:t[e].replace(/^\s+/,"").replace(/,$/g,"")}),s.push({level:o+1,type:"equal",text:""});e.shift()}else if(t.length){const e=m(r,void 0,!0,i.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++)a.push({level:o+1,type:"equal",text:""}),s.push({level:o+1+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:e[t].replace(/^\s+/,"").replace(/,$/g,"")});t.shift()}}return qr(a,s,o),[a,s]},Br=(e,t)=>{if(!e||"object"!=typeof e)return e;if(Array.isArray(e)){const n=[...e];return n.sort(((e,n)=>g(e,n,{ignoreCase:t?.ignoreCase}))),n.map((e=>Br(e,t)))}const n={...e};for(const e in n)n[e]=Br(n[e],t);return n};var Lr=function(e){return e.stringify="stringify",e.ignore="ignore",e.throw="throw",e}({});const zr={level:0,type:"equal",text:""},Tr={level:0,type:"equal",text:"{"},Pr={level:0,type:"equal",text:"}"};let Wr=class{detectCircular(e){if(this.options.detectCircular&&d(e))throw new Error(`Circular reference detected in object (with keys ${Object.keys(e).map((e=>`"${e}"`)).join(", ")})`)}sortResultLines(e,t){for(let n=0;n<e.length;n++){let n=!1;for(let r=1;r<e.length;r++)if("remove"===e[r].type&&"equal"===e[r-1].type&&"equal"===t[r].type&&"add"===t[r-1].type){const o=e[r-1];e[r-1]=e[r],e[r]=o;const i=t[r-1];t[r-1]=t[r],t[r]=i,n=!0}if(!n)break}}calculateLineNumbers(e){let t=0;for(const n of e)n.text&&(n.lineNumber=++t)}calculateCommas(e){const t=Array(e.length).fill(0);for(let n=e.length-1;n>0;n--)e[n].text?t[n-1]=n:t[n-1]=t[n];for(let n=0;n<e.length;n++)!e[n].text.endsWith("{")&&!e[n].text.endsWith("[")&&e[n].text&&t[n]&&e[n].level<=e[t[n]].level&&(e[n].comma=!0)}diff(e,t){this.detectCircular(e),this.detectCircular(t),"unorder-normal"!==this.options.arrayDiffMethod&&"unorder-lcs"!==this.options.arrayDiffMethod||(e=Br(e,this.options),t=Br(t,this.options)),"ignore"===this.options.undefinedBehavior&&(e=f(e)??null,t=f(t)??null);let n=[],r=[];const o=b(e);if(o!==b(t)){n=p(e,void 0,1,this.options.maxDepth,this.options.undefinedBehavior).split("\n").map((e=>({level:e.match(/^\s+/)?.[0]?.length||0,type:"remove",text:e.replace(/^\s+/,"").replace(/,$/g,""),comma:e.endsWith(",")})));r=p(t,void 0,1,this.options.maxDepth,this.options.undefinedBehavior).split("\n").map((e=>({level:e.match(/^\s+/)?.[0]?.length||0,type:"add",text:e.replace(/^\s+/,"").replace(/,$/g,""),comma:e.endsWith(",")})));const o=n.length,i=r.length;n=h(n,Array(i).fill(0).map((()=>({...zr})))),r=h(r,Array(o).fill(0).map((()=>({...zr}))),!0)}else"object"===o?([n,r]=j(e,t,1,this.options,this.arrayDiffFunc),n.unshift({...Tr}),n.push({...Pr}),r.unshift({...Tr}),r.push({...Pr})):"array"===o?[n,r]=this.arrayDiffFunc(e,t,"","",0,this.options):e!==t?this.options.ignoreCase?"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase()&&(n=[{level:0,type:"equal",text:e}],r=[{level:0,type:"equal",text:t}]):this.options.showModifications?(n=[{level:0,type:"modify",text:p(e,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}],r=[{level:0,type:"modify",text:p(t,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}]):(n=[{level:0,type:"remove",text:p(e,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)},{...zr}],r=[{...zr},{level:0,type:"add",text:p(t,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}]):(n=[{level:0,type:"equal",text:p(e,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}],r=[{level:0,type:"equal",text:p(t,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}]);return this.sortResultLines(n,r),this.calculateLineNumbers(n),this.calculateLineNumbers(r),this.calculateCommas(n),this.calculateCommas(r),[n,r]}constructor({detectCircular:e=!0,maxDepth:t=1/0,showModifications:n=!0,arrayDiffMethod:r="normal",ignoreCase:o=!1,ignoreCaseForKey:i=!1,recursiveEqual:a=!1,preserveKeyOrder:s,compareKey:l,undefinedBehavior:c="stringify"}={}){this.options={detectCircular:e,maxDepth:t,showModifications:n,arrayDiffMethod:r,ignoreCase:o,ignoreCaseForKey:i,recursiveEqual:a,preserveKeyOrder:s,compareKey:l,undefinedBehavior:c},this.arrayDiffFunc="compare-key"===r?Dr:"lcs"===r||"unorder-lcs"===r?Ir:$r}};const Fr=e=>"hasLinesBefore"in e||"hasLinesAfter"in e,Hr=(e,t,n)=>Fr(e)?n:t*(e.end-e.start+1),Ur=(e,t)=>{const n=[];let r,o;if(e.length&&t.length)for(e=[...e],t=[...t],r={...e.shift()},o={...t.shift()};;){if(r.start===o.start){const e=Math.min(r.end,o.end);n.push({...r,...o,end:e}),r.start=o.start=e}else if(r.start<o.start){const e=Math.min(r.end,o.start);n.push({...o,...r,end:e}),r.start=e}else{const e=Math.min(r.start,o.end);n.push({...r,...o,end:e}),o.start=e}if(!e.length||!t.length)break;r.start===r.end&&(r={...e.shift()}),o.start===o.end&&(o={...t.shift()})}return e.length||n.push(...t.map((e=>({...e,token:r.token||"plain"})))),t.length||n.push(...e),n};var Kr={};Object.defineProperty(Kr,"__esModule",{value:!0}),Kr.applyPatch=Kr.calcPatch=Zr=Kr.lcs=Kr.diff=Kr.diff_core=void 0;let Vr=class{[Symbol.iterator](){return this}next(){const{state:e,result:t}=this;if(this.c>1)return t.done=!0,t.value=void 0,t;const n=function(e,t){const{b:n,eq:r,stack_base:o}=e;let{i:i,N:a,j:s,M:l,Z:c,stack_top:u}=e;for(;;)switch(t){case 0:e:for(;a>0&&l>0;){n.fill(0,0,2*c);const e=a-l,t=a+l,f=1&t,h=i+a-1,d=s+l-1,p=(t+f)/2;let v;t:for(let t=0;t<=p;t++){const p=2*Math.max(0,t-l)-t,m=t-2*Math.max(0,t-a);for(let h=p;h<=m;h+=2){const d=n[h-1-c*Math.floor((h-1)/c)],p=n[h+1-c*Math.floor((h+1)/c)],m=h===-t||h!==t&&d<p?p:d+1,y=m-h;let g=m,b=y;for(;g<a&&b<l&&r(i+g,s+b);)g++,b++;if(n[h-c*Math.floor(h/c)]=g,1===f&&(v=e-h)>=1-t&&v<t&&g+n[c+v-c*Math.floor(v/c)]>=a){if(t>1||g!==m){o[u++]=i+g,o[u++]=a-g,o[u++]=s+b,o[u++]=l-b,a=m,l=y,c=2*(Math.min(a,l)+1);continue e}break t}}for(let y=p;y<=m;y+=2){const p=n[c+y-1-c*Math.floor((y-1)/c)],m=n[c+y+1-c*Math.floor((y+1)/c)],g=y===-t||y!==t&&p<m?m:p+1,b=g-y;let x=g,w=b;for(;x<a&&w<l&&r(h-x,d-w);)x++,w++;if(n[c+y-c*Math.floor(y/c)]=x,0===f&&(v=e-y)>=-t&&v<=t&&x+n[v-c*Math.floor(v/c)]>=a){if(t>0||x!==g){o[u++]=i+a-g,o[u++]=g,o[u++]=s+l-b,o[u++]=b,a-=x,l-=w,c=2*(Math.min(a,l)+1);continue e}break t}}}if(a!==l){l>a?(i+=a,s+=a,l-=a,a=0):(i+=l,s+=l,a-=l,l=0);break}}if(a+l!==0)if(e.pxe===i||e.pye===s)e.pxe=i+a,e.pye=s+l;else{const t=e.pxs;if(e.oxs=e.pxs,e.oxe=e.pxe,e.oys=e.pys,e.oye=e.pye,e.pxs=i,e.pxe=i+a,e.pys=s,e.pye=s+l,t>=0)return e.i=i,e.N=a,e.j=s,e.M=l,e.Z=c,e.stack_top=u,1}case 1:if(0===u)return 2;l=o[--u],s=o[--u],a=o[--u],i=o[--u],c=2*(Math.min(a,l)+1),t=0}}(e,this.c);return this.c=n,1===n?(t.value=[e.oxs,e.oxe,e.oys,e.oye],t):e.pxs>=0?(t.value=[e.pxs,e.pxe,e.pys,e.pye],t):(t.done=!0,t.value=void 0,t)}constructor(e){this.state=e,this.c=0,this.result={value:null,done:!1}}};function Gr(e,t,n,r,o){const i=2*(Math.min(t,r)+1),a=t+r,s=new(a<256?Uint8Array:a<65536?Uint16Array:Uint32Array)(2*i);return new Vr({i:e,N:t,j:n,M:r,Z:i,b:s,eq:o,pxs:-1,pxe:-1,pys:-1,pye:-1,oxs:-1,oxe:-1,oys:-1,oye:-1,stack_top:0,stack_base:[]})}function Jr(e,t){let[n,r,o]=[0,e.length,t.length];for(;n<r&&n<o&&e[n]===t[n];)n++;if(n===r&&n===o)return[][Symbol.iterator]();for(;e[--r]===t[--o]&&r>n&&o>n;);return Gr(n,r+1-n,n,o+1-n,((n,r)=>e[n]===t[r]))}Kr.diff_core=Gr,Kr.diff=Jr;let Yr=class{[Symbol.iterator](){return this}next(){const e=this.diff.next();if(e.done){const{i:t,j:n,N:r}=this;return t<r&&(e.done=!1,e.value=[t,n,r-t],this.i=r),e}const t=e.value,n=t[0],r=t[1],o=t[3],{i:i,j:a}=this;return i!==n&&(t.length--,t[0]=i,t[1]=a,t[2]=n-i),this.i=r,this.j=o,e}constructor(e,t){this.diff=e,this.N=t,this.i=0,this.j=0}};var Zr=Kr.lcs=function(e,t){return new Yr(Jr(e,t),e.length)};Kr.calcPatch=function*(e,t){const n=ArrayBuffer.isView(e)?Uint8Array.prototype.subarray:e.slice;for(const r of Jr(e,t))r[2]=n.call(t,r[2],r[3]),yield r},Kr.applyPatch=function*(e,t){let n=0;const r=ArrayBuffer.isView(e)?Uint8Array.prototype.subarray:e.slice;for(const[o,i,a]of t)n<o&&(yield r.call(e,n,o)),a.length>0&&(yield a),n=i;n<e.length&&(yield r.call(e,n))};const Qr=(e,t)=>{const n=[];let r=0;for(const o of e)n.push(r),r+=o.length+t;return n.push(r-t),n},Xr=e=>e.filter((e=>e.end>e.start)),eo=(e,t,n)=>{if(!e)return[{token:"plain",start:n,end:t.length+n}];if("undefined"===t||"Infinity"===t||"-Infinity"===t||"NaN"===t||/^\d+n$/i.test(t)||t.startsWith("Symbol(")||t.startsWith("function")||t.startsWith("("))return[{token:"invalid",start:n,end:t.length+n}];if(!Number.isNaN(Number(t)))return[{token:"number",start:n,end:t.length+n}];if("true"===t||"false"===t)return[{token:"boolean",start:n,end:t.length+n}];if("null"===t)return[{token:"null",start:n,end:t.length+n}];if(t.startsWith('"')){if(t.endsWith(": [")||t.endsWith(": {"))return[{token:"key",start:n,end:t.length-3+n},{token:"punctuation",start:t.length-3,end:t.length-2+n},{token:"plain",start:t.length-2,end:t.length-1+n},{token:"punctuation",start:t.length-1,end:t.length+n}];let r=1;for(;r<t.length&&'"'!==t[r];)"\\"===t[r]&&++r,++r;return r===t.length-1?[{token:"string",start:n,end:t.length+n}]:[{token:"key",start:n,end:r+1+n},{token:"punctuation",start:r+1,end:r+2+n},{token:"plain",start:r+2,end:r+3+n},...eo(e,t.substring(r+3),n+r+3)]}return"{"===t||"}"===t||"["===t||"]"===t?[{token:"punctuation",start:n,end:t.length+n}]:[{token:"plain",start:n,end:t.length+n}]},to={threshold:8,margin:3},no=(e,t,n,r)=>{if(!n||r)return[{start:0,end:e.length,isEqual:!1}];const o=[];for(let n=0;n<e.length;n++)"equal"===e[n].type&&"equal"===t[n].type?o.length&&o[o.length-1].isEqual?o[o.length-1].end++:o.push({start:n,end:n+1,isEqual:!0}):o.length&&!o[o.length-1].isEqual?o[o.length-1].end++:o.push({start:n,end:n+1,isEqual:!1});const i=!0===n?to:{...to,...n},{threshold:a,margin:s}=i;a<2*s+1&&console.warn(`Threshold (${a}) is no more than 2 margins + 1 "expand" line (${s} * 2 + 1), it's not necessary to hide unchanged areas which have less than ${2*s+1} lines.`);const l=[];for(let t=0;t<o.length;t++){const n=o[t];!n.isEqual||n.end-n.start<a||n.end-n.start<=2*s+1?l.push(n):t?t===o.length-1?(l.push({start:n.start,end:n.start+s,isEqual:!0}),l.push({hasLinesBefore:!1,hasLinesAfter:!0,start:n.start+s,end:e.length,isEqual:!0})):(l.push({start:n.start,end:n.start+s,isEqual:!0}),l.push({hasLinesBefore:!0,hasLinesAfter:!0,start:n.start+s,end:n.end-s,isEqual:!0}),l.push({start:n.end-s,end:n.end,isEqual:!0})):(l.push({hasLinesBefore:!0,hasLinesAfter:!1,start:0,end:n.end-s,isEqual:!0}),l.push({start:n.end-s,end:n.end,isEqual:!0}))}return l},ro={noChangeDetected:"No change detected",showLinesBefore:"⭡ Show %d lines before",showLinesAfter:"⭣ Show %d lines after",showAll:"⭥ Show all unchanged lines"},oo=e=>{const[t,r]=e.diff,o=n.useMemo((()=>t.length===r.length&&t.every((e=>"equal"===e.type))&&r.every((e=>"equal"===e.type))),[t,r]),i={...ro,...e.texts},a=e.lineNumbers?`calc(${String(t.length).length}ch + 16px)`:0,s=e.indent??2,l="tab"===s?"\t":" ",c="tab"===s?1:s,u={mode:e.inlineDiffOptions?.mode||"char",wordSeparator:e.inlineDiffOptions?.wordSeparator||""},f=e.hideUnchangedLines??!1,{scrollContainer:h="body",itemHeight:d=18,expandLineHeight:p=26}=e.virtual&&!0!==e.virtual?e.virtual:{},v="body"===h?document.body:document.querySelector(h),m=n.useRef(t),y=n.useRef(r),g=n.useRef(no(t,r,f,o)),b=n.useRef([]),x=n.useRef(0),w=n.useRef(null),[,j]=n.useState({}),_=()=>{if(b.current=[],e.virtual){let e=0;for(const t of g.current)Fr(t)?(b.current.push(e),e+=p):(b.current.push(e),e+=d*(t.end-t.start));x.current=g.current.reduce(((e,t)=>Fr(t)?e+p:e+(t.end-t.start)*d),0)}j({})};n.useEffect((()=>{m.current=t,y.current=r,g.current=no(t,r,f,o),_()}),[f,t,r]),n.useEffect((()=>{if(!e.virtual||!v)return;const t=()=>j({});return v.addEventListener("scroll",t),()=>{v.removeEventListener("scroll",t)}}),[e.virtual,v]);const S=e=>t=>{const n=[...g.current],r=n[e];n[e]={...r,end:Math.max(r.end-t,r.start)},e+1<g.current.length-1&&(n[e+1]={...n[e+1],start:Math.max(r.end-t,r.start)}),g.current=n,_()},E=e=>t=>{const n=[...g.current],r=n[e];n[e]={...r,start:Math.min(r.start+t,r.end)},e>1&&(n[e-1]={...n[e-1],end:Math.min(r.start+t,r.end)}),g.current=n,_()},k=e=>()=>{const t=[...g.current],n=t[e];t[e]={...n,start:n.start,end:n.start},e+1<g.current.length-1?t[e+1]={...t[e+1],start:n.start}:t[e-1]={...t[e-1],end:n.end},g.current=t,_()},M=(e,t=[],r=!1,o=!1)=>n.createElement(n.Fragment,null,t.map(((t,r)=>{const o=e.slice(t.start,t.end);if(!t.type&&!t.token)return o;const i=[t.type?`inline-diff-${t.type}`:"",t.token?`token ${t.token}`:""].filter(Boolean).join(" ");return n.createElement("span",{key:`${r}-${t.type}-${o}`,className:i},o)})),r&&(o?n.createElement("span",{className:"token punctuation"},","):",")),A=(t,r)=>{const o=m.current[t],i=y.current[t],[a,s]=e.highlightInlineDiff&&"modify"===o.type&&"modify"===i.type?((e,t,n)=>{let r=[],o=[],i=0,a=0;if("word"===n.mode){const s=n.wordSeparator||" ",l=e.split(s),c=t.split(s),u=[...Zr(l,c)],f=s.length,h=Qr(l,f),d=Qr(c,f);for(const[e,t,n]of u)e>i&&r.push({type:"remove",start:h[i],end:h[e]}),t>a&&o.push({type:"add",start:d[a],end:d[t]}),i=e+n,a=t+n,r.push({start:h[e],end:h[i]}),o.push({start:d[t],end:d[a]});return e.length>i&&r.push({type:"remove",start:h[i],end:e.length}),t.length>a&&o.push({type:"add",start:d[a],end:t.length}),r=Xr(r),o=Xr(o),[r,o]}const s=Zr(e,t);for(const[e,t,n]of s)e>i&&r.push({type:"remove",start:i,end:e}),t>a&&o.push({type:"add",start:a,end:t}),i=e+n,a=t+n,r.push({start:e,end:i}),o.push({start:t,end:a});return e.length>i&&r.push({type:"remove",start:i,end:e.length}),t.length>a&&o.push({type:"add",start:a,end:t.length}),r=Xr(r),o=Xr(o),[r,o]})(o.text,i.text,u):[[],[]],f=eo(r,o.text,0),h=eo(r,i.text,0),d=Ur(f,a),p=Ur(h,s),v="equal"!==o.type?e.bgColour?.[o.type]??"":"",g="equal"!==i.type?e.bgColour?.[i.type]??"":"";return n.createElement("tr",{key:t},e.lineNumbers&&n.createElement("td",{className:`line-${o.type} line-number`,style:{backgroundColor:v}},o.lineNumber),n.createElement("td",{className:`line-${o.type}`,style:{backgroundColor:v}},n.createElement("pre",null,o.text&&l.repeat(o.level*c),M(o.text,d,o.comma,r))),e.lineNumbers&&n.createElement("td",{className:`line-${i.type} line-number`,style:{backgroundColor:g}},i.lineNumber),n.createElement("td",{className:`line-${i.type}`,style:{backgroundColor:g}},n.createElement("pre",null,i.text&&l.repeat(i.level*c),M(i.text,p,i.comma,r))))},O=(e,t,r,o)=>n.createElement(n.Fragment,null,e&&n.createElement("button",{onClick:()=>S(o)(r)},i.showLinesBefore.replaceAll("%d",String(r))),n.createElement("button",{onClick:()=>k(o)()},i.showAll),t&&n.createElement("button",{onClick:()=>E(o)(r)},i.showLinesAfter.replaceAll("%d",String(r)))),q=(e,t,r,o,i)=>{let{start:a,end:s}=e;if(a=Math.max(a,r),s=Math.min(s,o),a===s)return null;if(!Fr(e))return Array(s-a).fill(0).map(((e,t)=>A(a+t,i)));const{hasLinesBefore:l,hasLinesAfter:c}=e,u="boolean"==typeof f?20:f.expandMoreLinesLimit||20;return[n.createElement("tr",{key:`expand-line-${t}`,className:"expand-line"},n.createElement("td",{colSpan:4,className:`${l?"has-lines-before":""} ${c?"has-lines-after":""}`},"boolean"!=typeof f&&f.expandLineRenderer?f.expandLineRenderer({hasLinesBefore:l,hasLinesAfter:c,onExpandBefore:S(t),onExpandAfter:E(t),onExpandAll:k(t)}):O(l,c,u,t)))]},N=["json-diff-viewer",e.virtual&&"json-diff-viewer-virtual",e.syntaxHighlight&&`json-diff-viewer-theme-${e.syntaxHighlight.theme||"monokai"}`,e.className].filter(Boolean).join(" "),I=!!e.syntaxHighlight;return n.createElement("table",{className:N,style:e.style},n.createElement("colgroup",{className:"measure-line"},e.lineNumbers&&n.createElement("col",{style:{width:a}}),n.createElement("col",null),e.lineNumbers&&n.createElement("col",{style:{width:a}}),n.createElement("col",null)),n.createElement("tbody",{ref:w},(t=>{if(o&&f)return n.createElement("tr",{key:"message-line",className:"message-line"},n.createElement("td",{colSpan:4},i.noChangeDetected));if(!e.virtual)return g.current.map(((e,n)=>q(e,n,0,m.current.length,t)));const r=v?.clientHeight??0,a=v?.scrollTop??0,s=a+r;let l=w.current,c=l?.offsetTop??0;for(;l?.offsetParent&&l?.offsetParent!==v;)l=l.offsetParent,c+=l.offsetTop;if(c>s||c+x.current<a)return n.createElement("tr",null,n.createElement("td",{colSpan:4,style:{height:`${x.current}px`}}));const u=a-c,h=s-c,[y,j,_,S]=((e,t,n,r,o,i)=>{if(!t.length)return[0,0,0,0];let a=0,s=0,l=0,c=0,u=0,f=e.length-1;for(;;){const r=Math.floor((u+f)/2);if(t[r]+Hr(e[r],o,i)<=n?u=r+1:f=r,u===f){a=u;break}}const h=e[a];for(l=Fr(h)?h.start:h.start+Math.floor((n-t[a])/o),u=0,f=e.length-1;;){const e=Math.floor((u+f+1)/2);if(t[e]>=r?f=e-1:u=e,u===f){s=u;break}}const d=e[s];return c=Fr(d)?d.end:d.start+Math.ceil((r-t[s])/o),[a,l,s,c]})(g.current,b.current,u,h,d,p),[E,k]=((e,t,n,r,o,i,a,s,l)=>{if(!t.length)return[0,0];let c=0,u=0;const f=e[n];c=Fr(f)?t[n]:t[n]+(r-f.start)*a;const h=e[o];return u=Fr(h)?l-t[o]-s:l-t[o]-(i-h.start)*a,[c,u]})(g.current,b.current,y,j,_,S,d,p,x.current),M=g.current.slice(y,_+1);return M.length?n.createElement(n.Fragment,null,n.createElement("tr",null,n.createElement("td",{colSpan:4,style:{height:E,padding:0}})),M.map(((e,n)=>q(e,n,j,S,t))),n.createElement("tr",null,n.createElement("td",{colSpan:4,style:{height:k,padding:0}}))):n.createElement("tr",null,n.createElement("td",{colSpan:4,style:{height:`${x.current}px`}}))})(I)))};function io(){return io=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},io.apply(null,arguments)}function ao(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function so(e,t){return so=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},so(e,t)}oo.displayName="Viewer";var lo=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function co(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(r=e[n],o=t[n],!(r===o||lo(r)&&lo(o)))return!1;var r,o;return!0}function uo(e,t){var n;void 0===t&&(t=co);var r,o=[],i=!1;return function(){for(var a=[],s=0;s<arguments.length;s++)a[s]=arguments[s];return i&&n===this&&t(a,o)||(r=e.apply(this,a),i=!0,n=this,o=a),r}}var fo="object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:function(){return Date.now()};function ho(e){cancelAnimationFrame(e.id)}var po=-1;function vo(e){if(void 0===e&&(e=!1),-1===po||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",document.body.appendChild(t),po=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return po}var mo=null;function yo(e){if(void 0===e&&(e=!1),null===mo||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),o=r.style;return o.width="100px",o.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?mo="positive-descending":(t.scrollLeft=1,mo=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),mo}return mo}process.env.NODE_ENV;var go=function(e,t){return e},bo=null,xo=null;function wo(e){var t,n=e.getItemOffset,i=e.getEstimatedTotalSize,a=e.getItemSize,s=e.getOffsetForIndexAndAlignment,l=e.getStartIndexForOffset,c=e.getStopIndexForStartIndex,u=e.initInstanceProps,f=e.shouldResetStyleCacheOnItemSizeChange,h=e.validateProps;return t=function(e){var t,o;function d(t){var r;return(r=e.call(this,t)||this)._instanceProps=u(r.props,ao(r)),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:ao(r),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof r.props.initialScrollOffset?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=uo((function(e,t,n,o){return r.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:n,visibleStopIndex:o})})),r._callOnScroll=void 0,r._callOnScroll=uo((function(e,t,n){return r.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:n})})),r._getItemStyle=void 0,r._getItemStyle=function(e){var t,o=r.props,i=o.direction,s=o.itemSize,l=o.layout,c=r._getItemStyleCache(f&&s,f&&l,f&&i);if(c.hasOwnProperty(e))t=c[e];else{var u=n(r.props,e,r._instanceProps),h=a(r.props,e,r._instanceProps),d="horizontal"===i||"horizontal"===l,p="rtl"===i,v=d?u:0;c[e]=t={position:"absolute",left:p?void 0:v,right:p?v:void 0,top:d?0:u,height:d?"100%":h,width:d?h:"100%"}}return t},r._getItemStyleCache=void 0,r._getItemStyleCache=uo((function(e,t,n){return{}})),r._onScrollHorizontal=function(e){var t=e.currentTarget,n=t.clientWidth,o=t.scrollLeft,i=t.scrollWidth;r.setState((function(e){if(e.scrollOffset===o)return null;var t=r.props.direction,a=o;if("rtl"===t)switch(yo()){case"negative":a=-o;break;case"positive-descending":a=i-n-o}return a=Math.max(0,Math.min(a,i-n)),{isScrolling:!0,scrollDirection:e.scrollOffset<a?"forward":"backward",scrollOffset:a,scrollUpdateWasRequested:!1}}),r._resetIsScrollingDebounced)},r._onScrollVertical=function(e){var t=e.currentTarget,n=t.clientHeight,o=t.scrollHeight,i=t.scrollTop;r.setState((function(e){if(e.scrollOffset===i)return null;var t=Math.max(0,Math.min(i,o-n));return{isScrolling:!0,scrollDirection:e.scrollOffset<t?"forward":"backward",scrollOffset:t,scrollUpdateWasRequested:!1}}),r._resetIsScrollingDebounced)},r._outerRefSetter=function(e){var t=r.props.outerRef;r._outerRef=e,"function"==typeof t?t(e):null!=t&&"object"==typeof t&&t.hasOwnProperty("current")&&(t.current=e)},r._resetIsScrollingDebounced=function(){var e,t,n,o;null!==r._resetIsScrollingTimeoutId&&ho(r._resetIsScrollingTimeoutId),r._resetIsScrollingTimeoutId=(e=r._resetIsScrolling,t=150,n=fo(),o={id:requestAnimationFrame((function r(){fo()-n>=t?e.call(null):o.id=requestAnimationFrame(r)}))})},r._resetIsScrolling=function(){r._resetIsScrollingTimeoutId=null,r.setState({isScrolling:!1},(function(){r._getItemStyleCache(-1,null)}))},r}o=e,(t=d).prototype=Object.create(o.prototype),t.prototype.constructor=t,so(t,o),d.getDerivedStateFromProps=function(e,t){return jo(e,t),h(e),null};var p=d.prototype;return p.scrollTo=function(e){e=Math.max(0,e),this.setState((function(t){return t.scrollOffset===e?null:{scrollDirection:t.scrollOffset<e?"forward":"backward",scrollOffset:e,scrollUpdateWasRequested:!0}}),this._resetIsScrollingDebounced)},p.scrollToItem=function(e,t){void 0===t&&(t="auto");var n=this.props,r=n.itemCount,o=n.layout,i=this.state.scrollOffset;e=Math.max(0,Math.min(e,r-1));var a=0;if(this._outerRef){var l=this._outerRef;a="vertical"===o?l.scrollWidth>l.clientWidth?vo():0:l.scrollHeight>l.clientHeight?vo():0}this.scrollTo(s(this.props,e,t,i,this._instanceProps,a))},p.componentDidMount=function(){var e=this.props,t=e.direction,n=e.initialScrollOffset,r=e.layout;if("number"==typeof n&&null!=this._outerRef){var o=this._outerRef;"horizontal"===t||"horizontal"===r?o.scrollLeft=n:o.scrollTop=n}this._callPropsCallbacks()},p.componentDidUpdate=function(){var e=this.props,t=e.direction,n=e.layout,r=this.state,o=r.scrollOffset;if(r.scrollUpdateWasRequested&&null!=this._outerRef){var i=this._outerRef;if("horizontal"===t||"horizontal"===n)if("rtl"===t)switch(yo()){case"negative":i.scrollLeft=-o;break;case"positive-ascending":i.scrollLeft=o;break;default:var a=i.clientWidth,s=i.scrollWidth;i.scrollLeft=s-a-o}else i.scrollLeft=o;else i.scrollTop=o}this._callPropsCallbacks()},p.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&ho(this._resetIsScrollingTimeoutId)},p.render=function(){var e=this.props,t=e.children,n=e.className,o=e.direction,a=e.height,s=e.innerRef,l=e.innerElementType,c=e.innerTagName,u=e.itemCount,f=e.itemData,h=e.itemKey,d=void 0===h?go:h,p=e.layout,v=e.outerElementType,m=e.outerTagName,y=e.style,g=e.useIsScrolling,b=e.width,x=this.state.isScrolling,w="horizontal"===o||"horizontal"===p,j=w?this._onScrollHorizontal:this._onScrollVertical,_=this._getRangeToRender(),S=_[0],E=_[1],k=[];if(u>0)for(var M=S;M<=E;M++)k.push(r(t,{data:f,key:d(M,f),index:M,isScrolling:g?x:void 0,style:this._getItemStyle(M)}));var A=i(this.props,this._instanceProps);return r(v||m||"div",{className:n,onScroll:j,ref:this._outerRefSetter,style:io({position:"relative",height:a,width:b,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},y)},r(l||c||"div",{children:k,ref:s,style:{height:w?"100%":A,pointerEvents:x?"none":void 0,width:w?A:"100%"}}))},p._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var i=this.state,a=i.scrollDirection,s=i.scrollOffset,l=i.scrollUpdateWasRequested;this._callOnScroll(a,s,l)}},p._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,i=r.scrollDirection,a=r.scrollOffset;if(0===t)return[0,0,0,0];var s=l(this.props,a,this._instanceProps),u=c(this.props,s,a,this._instanceProps),f=o&&"backward"!==i?1:Math.max(1,n),h=o&&"forward"!==i?1:Math.max(1,n);return[Math.max(0,s-f),Math.max(0,Math.min(t-1,u+h)),s,u]},d}(o),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&void 0!==window.WeakSet&&(bo=new WeakSet,xo=new WeakSet);var jo=function(e,t){var n=e.children,r=e.direction,o=e.height,i=e.layout,a=e.innerTagName,s=e.outerTagName,l=e.width,c=t.instance;if("production"!==process.env.NODE_ENV){null==a&&null==s||xo&&!xo.has(c)&&(xo.add(c),console.warn("The innerTagName and outerTagName props have been deprecated. Please use the innerElementType and outerElementType props instead."));var u="horizontal"===r||"horizontal"===i;switch(r){case"horizontal":case"vertical":bo&&!bo.has(c)&&(bo.add(c),console.warn('The direction prop should be either "ltr" (default) or "rtl". Please use the layout prop to specify "vertical" (default) or "horizontal" orientation.'));break;case"ltr":case"rtl":break;default:throw Error('An invalid "direction" prop has been specified. Value should be either "ltr" or "rtl". "'+r+'" was specified.')}switch(i){case"horizontal":case"vertical":break;default:throw Error('An invalid "layout" prop has been specified. Value should be either "horizontal" or "vertical". "'+i+'" was specified.')}if(null==n)throw Error('An invalid "children" prop has been specified. Value should be a React component. "'+(null===n?"null":typeof n)+'" was specified.');if(u&&"number"!=typeof l)throw Error('An invalid "width" prop has been specified. Horizontal lists must specify a number for width. "'+(null===l?"null":typeof l)+'" was specified.');if(!u&&"number"!=typeof o)throw Error('An invalid "height" prop has been specified. Vertical lists must specify a number for height. "'+(null===o?"null":typeof o)+'" was specified.')}},_o=function(e,t,n){var r=e.itemSize,o=n.itemMetadataMap,i=n.lastMeasuredIndex;if(t>i){var a=0;if(i>=0){var s=o[i];a=s.offset+s.size}for(var l=i+1;l<=t;l++){var c=r(l);o[l]={offset:a,size:c},a+=c}n.lastMeasuredIndex=t}return o[t]},So=function(e,t,n,r,o){for(;r<=n;){var i=r+Math.floor((n-r)/2),a=_o(e,i,t).offset;if(a===o)return i;a<o?r=i+1:a>o&&(n=i-1)}return r>0?r-1:0},Eo=function(e,t,n,r){for(var o=e.itemCount,i=1;n<o&&_o(e,n,t).offset<r;)n+=i,i*=2;return So(e,t,Math.min(n,o-1),Math.floor(n/2),r)},ko=function(e,t){var n=e.itemCount,r=t.itemMetadataMap,o=t.estimatedItemSize,i=t.lastMeasuredIndex,a=0;if(i>=n&&(i=n-1),i>=0){var s=r[i];a=s.offset+s.size}return a+(n-i-1)*o},Mo=wo({getItemOffset:function(e,t,n){return _o(e,t,n).offset},getItemSize:function(e,t,n){return n.itemMetadataMap[t].size},getEstimatedTotalSize:ko,getOffsetForIndexAndAlignment:function(e,t,n,r,o,i){var a=e.direction,s=e.height,l=e.layout,c=e.width,u="horizontal"===a||"horizontal"===l?c:s,f=_o(e,t,o),h=ko(e,o),d=Math.max(0,Math.min(h-u,f.offset)),p=Math.max(0,f.offset-u+f.size+i);switch("smart"===n&&(n=r>=p-u&&r<=d+u?"auto":"center"),n){case"start":return d;case"end":return p;case"center":return Math.round(p+(d-p)/2);default:return r>=p&&r<=d?r:r<p?p:d}},getStartIndexForOffset:function(e,t,n){return function(e,t,n){var r=t.itemMetadataMap,o=t.lastMeasuredIndex;return(o>0?r[o].offset:0)>=n?So(e,t,o,0,n):Eo(e,t,Math.max(0,o),n)}(e,n,t)},getStopIndexForStartIndex:function(e,t,n,r){for(var o=e.direction,i=e.height,a=e.itemCount,s=e.layout,l=e.width,c="horizontal"===o||"horizontal"===s?l:i,u=_o(e,t,r),f=n+c,h=u.offset+u.size,d=t;d<a-1&&h<f;)d++,h+=_o(e,d,r).size;return d},initInstanceProps:function(e,t){var n={itemMetadataMap:{},estimatedItemSize:e.estimatedItemSize||50,lastMeasuredIndex:-1};return t.resetAfterIndex=function(e,r){void 0===r&&(r=!0),n.lastMeasuredIndex=Math.min(n.lastMeasuredIndex,e-1),t._getItemStyleCache(-1),r&&t.forceUpdate()},n},shouldResetStyleCacheOnItemSizeChange:!1,validateProps:function(e){var t=e.itemSize;if("production"!==process.env.NODE_ENV&&"function"!=typeof t)throw Error('An invalid "itemSize" prop has been specified. Value should be a function. "'+(null===t?"null":typeof t)+'" was specified.')}});function Ao(){return e("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function Oo(e){const t=window.getComputedStyle(e),n=Number.parseFloat(t.lineHeight);let r=n;return Number.isNaN(n)&&(r=1.2*Number.parseFloat(t.fontSize)),Math.round(e.scrollHeight/r)}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(':root {\n --diff-row-height: 20px;\n}\n\n.virtual-json-diff-list-container {\n scrollbar-width: none;\n --sb-track-color: #232e33;\n --sb-thumb-color: #4560f8;\n --sb-size: 6px;\n}\n\n.diff-viewer-container {\n background-color: #282a36;\n font-size: 12px;\n text-align: left;\n padding-bottom: 12px;\n}\n\n.json-diff-viewer-virtual pre {\n overflow-x: auto;\n white-space: pre;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom {\n background: #282a36;\n color: #f8f8f2;\n width: 100%;\n border-spacing: 0;\n font-family:\n -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,\n "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr td {\n max-width: min-content;\n vertical-align: unset;\n padding: 0;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr td.line-number {\n color: #999;\n padding: 2px;\n padding-right: 6px;\n text-align: right;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom table {\n table-layout: fixed;\n width: 100%;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr td:nth-child(1),\n.json-diff-viewer.json-diff-viewer-theme-custom tr td:nth-child(3) {\n width: 30px !important;\n min-width: 30px;\n max-width: 30px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr td:nth-child(2),\n.json-diff-viewer.json-diff-viewer-theme-custom tr td:nth-child(4) {\n width: auto;\n max-width: 300px;\n overflow-wrap: anywhere;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr td pre {\n font-family:\n -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,\n "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n overflow: hidden;\n margin: 0;\n padding-left: 4px;\n margin-right: 29px;\n font-size: 12px;\n min-width: 300px;\n line-height: var(--diff-row-height);\n white-space: pre-wrap;\n word-break: break-all;\n}\n\n/* ADD REMOVE MODIFY COLORS */\n.json-diff-viewer.json-diff-viewer-theme-custom tr .line-add {\n border-left: 1px solid #a5ff99;\n background: rgba(100, 182, 67, 0.08);\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr .line-remove {\n border-left: 1px solid #ffaa99;\n background: rgba(160, 128, 100, 0.08);\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr .line-modify {\n border-left: 1px solid #ecff99;\n background: rgba(182, 180, 67, 0.08);\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr .empty-equal-cell {\n opacity: 0.4;\n background: repeating-linear-gradient(-53deg, rgb(69, 69, 70), rgb(69, 69, 70) 1.5px, #282a36 1.5px, #282a36 4px);\n background-attachment: fixed;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr .line-number {\n background: unset;\n padding: 0 4px;\n border-left: 0;\n border-bottom: none;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr.expand-line td {\n text-align: center;\n}\n\n/* EDITOR COLORS */\n.json-diff-viewer.json-diff-viewer-theme-custom tr td pre span.inline-diff-add {\n background: rgba(0, 0, 0, 0.08);\n text-decoration: underline;\n word-break: break-all;\n}\n.json-diff-viewer.json-diff-viewer-theme-custom tr td pre span.inline-diff-remove {\n background: rgba(0, 0, 0, 0.08);\n text-decoration: line-through;\n word-break: break-all;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr:hover {\n background: #53535f54;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom tr.expand-line button {\n color: #1e616d;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .string {\n color: #e6db74;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .number,\n.json-diff-viewer.json-diff-viewer-theme-custom .boolean,\n.json-diff-viewer.json-diff-viewer-theme-custom .null {\n color: #ae81ff;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .key {\n color: #66d9ef;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .invalid {\n background: #960050;\n color: #fff;\n}\n\n.diff-viewer-container button {\n border-radius: 4px;\n border: 1px solid transparent;\n font-size: 1em;\n font-weight: 500;\n font-family: inherit;\n color: white;\n background-color: #1a1a1a;\n cursor: pointer;\n transition: border-color 0.25s;\n}\n\n.diff-viewer-container button:hover {\n border-color: #649dffab;\n}\n\n.diff-viewer-container button:focus,\n.diff-viewer-container button:focus-visible {\n outline: 4px auto -webkit-focus-ring-color;\n}\n\n.collapsed-button {\n display: flex;\n background-color: #262626;\n justify-content: space-around;\n align-items: center;\n}\n\n.collapsed-button button {\n height: 20px;\n color: rgba(255, 255, 255, 0.7);\n padding: 0px 8px;\n line-height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #26262600;\n border-width: 1px;\n border-color: #434343;\n cursor: pointer;\n}\n\n.hide-all-button {\n text-align: right;\n margin-top: 10px;\n}\n\n.hide-all-button button {\n height: 28px;\n padding: 0 8px;\n line-height: 20px;\n background: #26262600;\n color: white;\n border-width: 1px;\n border-color: #434343;\n cursor: pointer;\n}\n\n/* HEADER */\n.json-diff-header {\n background: #2f323e;\n padding: 10px;\n border-bottom: 1px solid #353846;\n color: #ffffffe5;\n font-family:\n -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,\n "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n\n.json-diff-header .json-diff-title-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n}\n\n.json-diff-header .json-diff-title-container div {\n flex: 0.495;\n}\n\n/* HEADER SEARCH */\n.json-diff-header .search-container {\n margin-bottom: 8px;\n width: 100%;\n}\n\n.json-diff-header .search-input-container {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.json-diff-header .search-input-container svg {\n width: 1em;\n height: 1em;\n}\n\n.json-diff-header .search-input-container input {\n border: 1px solid #434343;\n border-radius: 4px;\n padding: 6px;\n width: 100%;\n background: #2f323e;\n color: white;\n}\n\n.json-diff-header .search-results {\n margin-top: 3px;\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.json-diff-header .search-results button {\n height: 20px;\n padding: 0 8px;\n line-height: 20px;\n background: #26262600;\n border-width: 1px;\n border-color: #434343;\n cursor: pointer;\n color: white;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom.has-search tr td pre span.token.search-match {\n background-color: #ffeb3b;\n color: #000;\n padding: 0 2px;\n border-radius: 2px;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .search-highlight {\n background-color: #ffeb3b;\n padding: 0 2px;\n border-radius: 2px;\n color: #000;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .token .search-highlight {\n background-color: #ffeb3b !important;\n color: #000 !important;\n}\n\n/* WEBKIT SCROLLBAR */\n.json-diff-viewer-virtual pre::-webkit-scrollbar {\n display: none;\n}\n\n.virtual-json-diff-list-container::-webkit-scrollbar {\n width: var(--sb-size);\n display: none;\n}\n\n.virtual-json-diff-list-container::-webkit-scrollbar-track {\n background: var(--sb-track-color);\n display: none;\n border-radius: 3px;\n}\n\n.virtual-json-diff-list-container::-webkit-scrollbar-thumb {\n background: var(--sb-thumb-color);\n border-radius: 3px;\n display: none;\n}\n\n@supports not selector(::-webkit-scrollbar) {\n .virtual-json-diff-list-container {\n scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);\n }\n}\n\n/* MINIMAP IMPROVEMENTS */\n.diff-viewer-container .minimap-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n display: flex;\n pointer-events: none;\n}\n\n.diff-viewer-container .minimap-overlay .half {\n flex: 1;\n display: flex;\n align-items: center;\n}\n\n.diff-viewer-container .minimap-overlay .left-map-holder {\n justify-content: flex-end;\n min-width: 334px;\n}\n\n.diff-viewer-container .minimap-overlay .right-map-holder {\n justify-content: flex-end;\n}\n\n.diff-viewer-container .minimap-overlay .minimap-wrapper {\n opacity: 0.65;\n pointer-events: auto;\n}\n\n.diff-viewer-container .minimap-overlay .minimap-wrapper:hover {\n opacity: 0.85;\n}\n');const qo="json-diff-viewer-theme-custom";function No(){if("undefined"==typeof document)return 20;try{const e=document.documentElement,t=getComputedStyle(e).getPropertyValue("--diff-row-height"),n=Number.parseInt(t,10);return Number.isNaN(n)?20:n}catch{return 20}}function Io(e){return e&&"object"==typeof e&&"type"in e&&"collapsed"===e.type}function Co(e,t="json-diff-viewer-theme-custom"){if(!e){return void document.querySelectorAll(`.${t} span.token.search-match`).forEach((e=>e.classList.remove("search-match")))}const n=e.replaceAll("(","").replaceAll(")",""),r=new RegExp(n,"gi");document.querySelectorAll(`.${t} span.token`).forEach((e=>{const t=e.textContent||"";r.test(t)?e.classList.add("search-match"):e.classList.remove("search-match")}))}function Do(e,t,n){const[r,o]=i({term:t??"",results:[],currentIndex:0}),s=l(),u=a((t=>{o((e=>({...e,term:t}))),s.current&&clearTimeout(s.current),s.current=setTimeout((()=>{const n=function(e,t){if(!e)return[];const n=[],r=new RegExp(e,"gi");return t.forEach(((e,t)=>{"object"==typeof e&&"text"in e&&r.test(e.text)&&n.push(t)})),n}(t,e);o((e=>({...e,results:n,currentIndex:0})))}),300)}),[e]),f=a((e=>{if(0===r.results.length)return;const t="next"===e?(r.currentIndex+1)%r.results.length:(r.currentIndex-1+r.results.length)%r.results.length;o((e=>({...e,currentIndex:t})));const i=r.results[t];return n&&n(i),i}),[r,n]);return c((()=>{Co(r.term,qo);const e=new MutationObserver((()=>Co(r.term,qo))),t=document.querySelector(`.${qo}`);t&&e.observe(t,{childList:!0,subtree:!0});const n=document.querySelector(".virtual-json-diff-list-container");if(n){const t=()=>setTimeout((()=>Co(r.term,qo)),100);return n.addEventListener("scroll",t),()=>{e.disconnect(),n.removeEventListener("scroll",t)}}return()=>e.disconnect()}),[r.term]),c((()=>{void 0!==t&&u(t)}),[t,u]),{searchState:r,handleSearch:u,navigateMatch:f}}function Ro(e){return"equal"===e.type&&""!==e.text}function $o(e,t,n=3){if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError("Both segments and diff must be arrays");const r=[];return e.forEach(((o,i)=>{if(o.isEqual){if(o.end-o.start<=2*n||o.isExpanded)for(let e=o.start;e<o.end;e++)r.push({...t[e],originalIndex:e});else{if(function(e,t,n){return 0===e||t[e-1].end<n.start&&t[e-1].isEqual}(i,e,o))for(let e=o.start;e<Math.min(o.start+n,o.end);e++)r.push({...t[e],originalIndex:e});o.end-(o.start+n)>n&&r.push({type:"collapsed",segmentIndex:i,originalIndex:r.length,level:0,text:""});for(let e=Math.max(o.end-n,o.start+n);e<o.end;e++)r.push({...t[e],originalIndex:e})}}else for(let e=o.start;e<o.end;e++)r.push({...t[e],originalIndex:e})})),r}const Bo="#363743";const Lo=({leftDiff:t,rightDiff:n,height:r,onScroll:o,miniMapWidth:i=20,currentScrollTop:s,searchResults:f=[],currentMatchIndex:h=-1})=>{const d=l(null),p=l(null),v=u((()=>No()),[]),{totalLines:m,viewportHeight:y}=u((()=>{const e=r/v,o=Math.max(t.length,n.length)||e;return{totalLines:o,viewportHeight:r*(1/(o/e))}}),[r,t.length,n.length]),{handleMouseDown:g,isDragging:b}=function({height:e,totalLines:t,viewportHeight:n,ROW_HEIGHT:r,onScroll:o,containerRef:i}){const s=l(!1),u=a((e=>!Number.isNaN(e)&&Number.isFinite(e)),[]),f=a((o=>(o-n/2)/e*t*r),[e,t,n,r]),h=a((()=>{const n=t*r;return Math.max(0,n-e)}),[t,r,e]),d=a(((e,t)=>{const r=e.clientY-t.top,i=h();if(e.clientY+n/2>t.bottom){const e=t.bottom-t.top-n/2,r=f(e);u(r)&&o(Math.min(i,Math.max(0,r)))}else{const e=f(r);u(e)&&o(Math.min(i,Math.max(0,e)))}}),[f,h,u,o,n]),p=a((n=>{if(!s.current||!i.current)return;if(e<=0||t<=0)return;const r=i.current.getBoundingClientRect();d(n,r)}),[i,e,t,d]),v=a((()=>{s.current=!1,window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",v)}),[p]),m=a((e=>{if(s.current=!0,window.addEventListener("mousemove",p),window.addEventListener("mouseup",v),!i.current)return;const t=i.current.getBoundingClientRect();d(e.nativeEvent,t)}),[p,v,i,d]);return c((()=>{const e=()=>{s.current=!1};return window.addEventListener("mouseup",e),()=>window.removeEventListener("mouseup",e)}),[]),{handleMouseDown:m,isDragging:s}}({height:r,totalLines:m,viewportHeight:y,ROW_HEIGHT:v,onScroll:o,containerRef:p}),{drawMinimap:x,drawScrollBox:w}=function({canvasRef:e,containerRef:t,height:n,miniMapWidth:r,leftDiff:o,rightDiff:i,currentScrollTop:s,searchResults:l,currentMatchIndex:f,isDragging:h,totalLines:d,ROW_HEIGHT:p,viewportHeight:v}){const m=a(((e,t,n,r,o)=>{if("collapsed"===t.type)e.fillStyle=Bo;else switch(t.type){case"equal":e.fillStyle=Bo;break;case"add":e.fillStyle="#4CAF50";break;case"remove":e.fillStyle="#F44336";break;case"modify":e.fillStyle="#FFC107"}e.fillRect(r,n,o,p)}),[p]),y=u((()=>{const e=document.createElement("canvas");e.width=r,e.height=n;const t=e.getContext("2d");if(!t)return null;const a=n/d;return o.forEach(((e,n)=>{m(t,e,n*a,0,r/2)})),i.forEach(((e,n)=>{m(t,e,n*a,r/2,r/2)})),l.forEach((e=>{const n=e*a,o=Math.max(1,a);t.fillStyle="#ffd700",t.fillRect(0,n,r,o)})),e}),[o,i,l,n,d,r,m]),g=a(((e,t)=>{if(!y)return;e.clearRect(0,0,r,n),e.drawImage(y,0,0);const o=s/(d*p)*n;if(e.fillStyle=t,e.fillRect(0,o,r,v),f>=0&&void 0!==l[f]){const t=n/d,o=l[f]*t,i=Math.max(1,t);e.fillStyle="#ff4500",e.fillRect(0,o,r,i)}}),[y,s,d,p,n,r,v,f,l]),b=a((()=>{const n=e.current;if(!n)return;const r=n.getContext("2d");r&&(r.clearRect(0,0,n.width,n.height),h.current?(t.current&&(t.current.style.opacity="0.85"),g(r,"#7B7B7Bcc")):(t.current&&(t.current.style.opacity="0.65"),g(r,"#7B7B7B80")))}),[g]);return c((()=>{b()}),[b]),{drawScrollBox:g,drawMinimap:b}}({canvasRef:d,containerRef:p,height:r,miniMapWidth:i,leftDiff:t,rightDiff:n,currentScrollTop:s,searchResults:f,currentMatchIndex:h,isDragging:b,totalLines:m,ROW_HEIGHT:v,viewportHeight:y});c((()=>{x()}),[x]);const j=a((e=>{if(!p.current)return;const t=p.current.getBoundingClientRect(),n=e.clientY-t.top,o=s/(m*v)*r,i=n>o&&n<o+y;x();const a=d.current;if(a){const e=a.getContext("2d");if(!e)return;i&&w(e,"#7B7B7Bcc")}}),[r,m,y,s,x]);return e("div",{ref:p,className:"minimap-wrapper",style:{width:i,height:r,position:"relative",cursor:"pointer"},onMouseDown:g,onMouseMove:j,onMouseLeave:()=>{x()},children:e("canvas",{ref:d,width:i,height:r,style:{width:"100%",height:"100%"}})})};function zo({index:n,style:r,data:o}){const{onExpand:i,searchTerm:a,inlineDiffOptions:s}=o,l=o.leftDiff[n],c=o.rightDiff[n];if(Io(l))return t("div",{className:"collapsed-button",style:r,children:[e("button",{onClick:()=>i(l.segmentIndex),className:"text-blue-500 underline",children:"Show Hidden Lines"}),e("button",{onClick:()=>i(l.segmentIndex),className:"text-blue-500 underline",children:"Show Hidden Lines"})]});const u={...l},f={...c};return e("div",{style:r,children:e(oo,{indent:4,className:`${qo} ${a?"has-search":""}`,lineNumbers:!0,diff:[[u],[f]],highlightInlineDiff:!0,inlineDiffOptions:{mode:"char",...s},syntaxHighlight:{theme:"monokai"}})})}const To=({oldValue:n,newValue:r,height:o,searchTerm:f,leftTitle:h,rightTitle:d,hideSearch:p,showSingleMinimap:v,onSearchMatch:m,differOptions:y,className:g,miniMapWidth:b,inlineDiffOptions:x})=>{const w=l(null),j=l(null),[_,S]=i(0),[E,k]=i([]),M=u((()=>No()),[]),A=u((()=>new Wr({detectCircular:!0,maxDepth:20,showModifications:!0,arrayDiffMethod:"lcs",preserveKeyOrder:"before",...y})),[y]),O=u((()=>n&&r?A.diff(n,r):[[],[]]),[n,r,A]),[q,N]=O,[I,C]=i([]),[D,R]=i([]),$=function(e){const[t,n]=i([]),r=a((()=>{const e=document.querySelectorAll(".json-diff-viewer pre"),t=[];for(let n=0;n<e.length;n+=2){const r=Oo(e[n]),o=Oo(e[n+1]);t.push(Math.max(r,o))}n(t)}),[]);return s((()=>{r()}),[e]),s((()=>(window.addEventListener("resize",r),()=>window.removeEventListener("resize",r))),[r]),t}(I);c((()=>{const e=function(e,t=3){if(!Array.isArray(e))throw new TypeError("Diff input must be an array");const n=[];let r=0;if(r<e.length&&Ro(e[r])){let o=Math.min(r+t,e.length);for(;o<e.length&&Ro(e[o]);)o++;n.push({start:r,end:o,isEqual:!0}),r=o}for(;r<e.length;)if(Ro(e[r])){let t=r;for(;t<e.length&&Ro(e[t]);)t++;n.push({start:r,end:t,isEqual:!0}),r=t}else{const o=Math.max(0,r-t),i=Math.min(e.length,r+1+t);o<r&&(0===n.length||n[n.length-1].end<=o)&&n.push({start:o,end:r,isEqual:!0}),n.push({start:r,end:r+1,isEqual:!1}),r+1<i&&n.push({start:r+1,end:i,isEqual:!0}),r=i}return n}(q);k(e)}),[q]),c((()=>{const e=$o(E,q),t=$o(E,N);C(e),R(t)}),[E,q,N]),c((()=>{j.current?.resetAfterIndex(0)}),[I]);const{searchState:B,handleSearch:L,navigateMatch:z}=Do(I,f,(e=>{j.current?.scrollToItem(e,"center"),m?.(e)})),T=a((e=>{k((t=>{const n=[...t],r=n[e];if(!r||!r.isEqual)return t;const o={...r,isExpanded:!0,originalStart:r.start,originalEnd:r.end,start:r.start,end:r.end};return n[e]=o,n}))}),[]),P=a((()=>{k((e=>e.map((e=>e.isEqual&&e.isExpanded?{...e,isExpanded:!1,start:e.originalStart??e.start,end:e.originalEnd??e.end}:e))))}),[]);c((()=>{j.current?.resetAfterIndex(0,!0)}),[$]);const W=a((e=>Io(I[e])?20:($[e]??1)*M),[I,$]),F=u((()=>E.some((e=>e.isEqual&&e.isExpanded))),[E]),H=u((()=>({leftDiff:I,rightDiff:D,onExpand:T,searchTerm:B.term,inlineDiffOptions:x})),[I,D,T,B.term,x]),U={leftDiff:I,rightDiff:D,height:o,miniMapWidth:b,currentScrollTop:_,searchResults:B.results,currentMatchIndex:B.currentIndex,onScroll:e=>j.current?.scrollTo(e)};return c((()=>{const e=w.current;if(!e)return;const t=new MutationObserver((()=>{const t=e?.querySelectorAll(".json-diff-viewer td.line-equal");t.forEach(((e,t)=>{e.classList.remove("empty-equal-cell");const n=e.querySelectorAll("pre > span");t%2==1&&1===n.length&&""===n[0].textContent?.trim()&&e.classList.add("empty-equal-cell")}))}));return t.observe(e,{childList:!0,subtree:!0}),()=>t.disconnect()}),[]),t("div",{className:"diff-viewer-container"+(g?` ${g}`:""),children:[t("div",{className:"json-diff-header",children:[!p&&t("div",{className:"search-container",children:[t("div",{className:"search-input-container",children:[e("span",{role:"img","aria-label":"search",children:e(Ao,{})}),e("input",{type:"text",placeholder:"Search in JSON...",value:B.term,onChange:e=>L(e.target.value)})]}),B.results.length>0&&t("div",{className:"search-results",children:[t("span",{children:[B.currentIndex+1," ","of"," ",B.results.length," ","matches"]}),e("button",{onClick:()=>z("prev"),children:"Previous"}),e("button",{onClick:()=>z("next"),children:"Next"})]})]}),t("div",{className:"json-diff-title-container",children:[e("div",{children:e("span",{children:h})}),e("div",{children:e("span",{children:d})})]})]}),t("div",{style:{display:"flex",gap:"8px",position:"relative"},children:[e(Mo,{outerRef:w,ref:j,className:"virtual-json-diff-list-container",height:o,itemCount:Math.max(I.length,D.length),itemSize:W,overscanCount:28,width:"100%",itemData:H,onScroll:({scrollOffset:e})=>S(e),children:zo}),t("div",{className:"minimap-overlay",children:[e("div",{className:"half left-map-holder",children:!v&&e(Lo,{...U})}),e("div",{className:"half right-map-holder",children:e(Lo,{...U})})]})]}),F&&e("div",{className:"hide-all-button",children:e("button",{onClick:P,children:"Hide All Expanded Lines"})})]})};export{To as VirtualDiffViewer};
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import{useState as r,useRef as o,useCallback as i,useEffect as l,useMemo as a,createElement as s,PureComponent as c,useLayoutEffect as u}from"react";const f=e=>{if(null==e||"bigint"==typeof e||Number.isNaN(e)||e===1/0||e===-1/0)return;if(["string","number","boolean"].includes(typeof e))return e;if(Array.isArray(e))return e.map(f).filter((e=>void 0!==e));const t={};for(const[n,r]of Object.entries(e)){const e=f(r);void 0!==e&&(t[n]=e)}return t},d=(e,t,n=!1)=>{if(!Array.isArray(e)||!Array.isArray(t))throw new Error("Both arguments should be arrays.");const r=e.length,o=t.length,i=new Array(r+o);if(n){for(let e=0;e<o;e++)i[e]=t[o-e-1];for(let t=0;t<r;t++)i[t+o]=e[t];return i}for(let t=0;t<r;t++)i[t]=e[t];for(let e=0;e<o;e++)i[e+r]=t[e];return i},h=(e,t=new Map)=>{if("object"!=typeof e||null===e)return!1;if(t.has(e))return!0;if(t.set(e,!0),Array.isArray(e)){for(let n=0;n<e.length;n++)if(h(e[n],t))return!0;return!1}for(const n in e)if(h(e[n],t))return!0;return!1},p=(e,t,n,r=1/0,o)=>{if(!e||"object"!=typeof e){let r;if(Number.isNaN(e)||e===1/0||e===-1/0||"bigint"==typeof e||(r=JSON.stringify(e,t,n)),void 0===r)switch(o){case zr.throw:throw new Error(`Value is not valid in JSON, got ${String(e)}`);case zr.stringify:return v(e);default:throw new Error("Should not reach here, please report this bug.")}return r}const i=r<1?'"..."':Array.isArray(e)?`[${e.map((e=>p(e,t,n,r-1,o))).join(",")}]`:`{${Object.keys(e).map((i=>`"${i}": ${p(e[i],t,n,r-1,o)}`)).join(", ")}}`;return JSON.stringify(JSON.parse(i),t,n)},v=e=>void 0===e?"undefined":e===1/0?"Infinity":e===-1/0?"-Infinity":Number.isNaN(e)?"NaN":"bigint"==typeof e?`${e}n`:String(e),y=(e,t=1/0,n=!1,r=zr.stringify)=>null===e?"null":Array.isArray(e)||"object"==typeof e?p(e,void 0,n?1:void 0,t,r):p(e,void 0,void 0,void 0,r),g=e=>"boolean"==typeof e?0:"number"==typeof e?1:"string"==typeof e?2:null===e?3:Array.isArray(e)?4:"object"==typeof e?5:"symbol"==typeof e?6:"function"==typeof e?7:"bigint"==typeof e?8:-1,m=(e,t,n)=>{const r=n.keyOrdersMap?.get(e),o=n.keyOrdersMap?.get(t);if(void 0!==r&&void 0!==o)return r-o;const i=g(e),l=g(t);if(i!==l)return i-l;if(null===e&&null===t||Array.isArray(e)&&Array.isArray(t)||5===i&&5===l)return 0;switch(typeof e){case"number":return Number.isNaN(e)&&Number.isNaN(t)||e===1/0&&t===1/0||e===-1/0&&t===-1/0?0:e-t;case"string":return n.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e<t?-1:e>t?1:0;case"boolean":return+e-+t;case"symbol":case"function":return String(e).localeCompare(String(t))}if("bigint"==typeof e&&"bigint"==typeof t){const n=BigInt(e)-BigInt(t);return n<0?-1:n>0?1:0}return String(e).localeCompare(String(t))},b=e=>Array.isArray(e)?"array":null===e?"null":typeof e,x=(e,t,n,r,o,i,l,a)=>{const s={ignoreCase:a.ignoreCase},c=y(o,a.maxDepth,!0,a.undefinedBehavior).split("\n"),u=y(i,a.maxDepth,!0,a.undefinedBehavior).split("\n");if(0!==m(o,i,s))if(a.showModifications){const o=Math.max(c.length,u.length);for(let e=c.length;e<o;e++)c.push("");for(let e=u.length;e<o;e++)u.push("");e.push({level:l,type:"modify",text:n?`"${n}": ${c[0]}`:c[0]});for(let t=1;t<c.length;t++)e.push({level:l+(c[t].match(/^\s+/)?.[0]?.length||0),type:"modify",text:c[t].replace(/^\s+/,"").replace(/,$/g,"")});for(let t=c.length;t<o;t++)e.push({level:l,type:"equal",text:""});t.push({level:l,type:"modify",text:r?`"${r}": ${u[0]}`:u[0]});for(let e=1;e<u.length;e++)t.push({level:l+(u[e].match(/^\s+/)?.[0]?.length||0),type:"modify",text:u[e].replace(/^\s+/,"").replace(/,$/g,"")});for(let e=u.length;e<o;e++)t.push({level:l,type:"equal",text:""})}else{e.push({level:l,type:"remove",text:n?`"${n}": ${c[0]}`:c[0]});for(let t=1;t<c.length;t++)e.push({level:l+(c[t].match(/^\s+/)?.[0]?.length||0),type:"remove",text:c[t].replace(/^\s+/,"").replace(/,$/g,"")});for(let t=0;t<u.length;t++)e.push({level:l,type:"equal",text:""});for(let e=0;e<c.length;e++)t.push({level:l,type:"equal",text:""});t.push({level:l,type:"add",text:r?`"${r}": ${u[0]}`:u[0]});for(let e=1;e<u.length;e++)t.push({level:l+(u[e].match(/^\s+/)?.[0]?.length||0),type:"add",text:u[e].replace(/^\s+/,"").replace(/,$/g,"")})}else{const o=Math.max(c.length,u.length);for(let e=c.length;e<o;e++)c.push("");for(let e=u.length;e<o;e++)u.push("");e.push({level:l,type:"equal",text:n?`"${n}": ${c[0]}`:c[0]});for(let t=1;t<c.length;t++)e.push({level:l+(c[t].match(/^\s+/)?.[0]?.length||0),type:"equal",text:c[t].replace(/^\s+/,"").replace(/,$/g,"")});t.push({level:l,type:"equal",text:r?`"${r}": ${u[0]}`:u[0]});for(let e=1;e<u.length;e++)t.push({level:l+(u[e].match(/^\s+/)?.[0]?.length||0),type:"equal",text:u[e].replace(/^\s+/,"").replace(/,$/g,"")})}},w=(e,t)=>e.sort(((e,n)=>m(e,n,{ignoreCase:t.ignoreCaseForKey}))),j=(e,t,n=1,r,o)=>{if(n>(r.maxDepth||1/0))return[[{level:n,type:"equal",text:"..."}],[{level:n,type:"equal",text:"..."}]];let i=[],l=[];if(null===e&&null===t||void 0===e&&void 0===t)return[i,l];if(null==e){const e=p(t,void 0,1,void 0,r.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++)i.push({level:n,type:"equal",text:""}),l.push({level:n+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:e[t].replace(/^\s+/,"").replace(/,$/g,"")});return[i,l]}if(null==t){const t=p(e,void 0,1,void 0,r.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++)i.push({level:n+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:t[e].replace(/^\s+/,"").replace(/,$/g,"")}),l.push({level:n,type:"equal",text:""});return[i,l]}const a=Object.keys(e),s=Object.keys(t),c=new Map;if(r.preserveKeyOrder){if("before"===r.preserveKeyOrder){for(let e=0;e<a.length;e++)c.set(a[e],e);for(let e=0;e<s.length;e++)c.has(s[e])||c.set(s[e],a.length+e);s.sort(((e,t)=>c.get(e)-c.get(t)))}else if("after"===r.preserveKeyOrder){for(let e=0;e<s.length;e++)c.set(s[e],e);for(let e=0;e<a.length;e++)c.has(a[e])||c.set(a[e],s.length+e);a.sort(((e,t)=>c.get(e)-c.get(t)))}}else w(a,r),w(s,r);const u={ignoreCase:r.ignoreCaseForKey,keyOrdersMap:c};for(;a.length||s.length;){const c=a[0],f=s[0],h=m(c,f,u);if(0===h)if(b(e[c])!==b(t[f]))x(i,l,c,f,e[c],t[f],n,r);else if(Array.isArray(e[c])){const a=[...e[c]],s=[...t[f]],[u,h]=o(a,s,c,f,n,r,[],[]);i=d(i,u),l=d(l,h)}else if(null===e[c])i.push({level:n,type:"equal",text:`"${c}": null`}),l.push({level:n,type:"equal",text:`"${f}": null`});else if("object"==typeof e[c]){const a=j(e[c],t[f],n+1,r,o);i.push({level:n,type:"equal",text:`"${c}": {`}),i=d(i,a[0]),i.push({level:n,type:"equal",text:"}"}),l.push({level:n,type:"equal",text:`"${f}": {`}),l=d(l,a[1]),l.push({level:n,type:"equal",text:"}"})}else x(i,l,c,f,e[c],t[f],n,r);else if(a.length&&s.length)if(h<0){const t=p(e[c],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++){const r=t[e].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:e?r:`"${c}": ${r}`}),l.push({level:n,type:"equal",text:""})}}else{const e=p(t[f],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++){const r=e[t].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n,type:"equal",text:""}),l.push({level:n+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:t?r:`"${f}": ${r}`})}}else if(a.length){const t=p(e[c],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++){const r=t[e].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:e?r:`"${c}": ${r}`}),l.push({level:n,type:"equal",text:""})}}else if(s.length){const e=p(t[f],void 0,1,void 0,r.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++){const r=e[t].replace(/^\s+/,"").replace(/,$/g,"");i.push({level:n,type:"equal",text:""}),l.push({level:n+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:t?r:`"${f}": ${r}`})}}c?f?0===h?(a.shift(),s.shift()):h<0?a.shift():s.shift():a.shift():s.shift()}if(i.length!==l.length)throw new Error("Diff error: length not match for left & right, please report a bug with your data.");return[i,l]};var _=function(){this.__data__=[],this.size=0};var S=function(e,t){return e===t||e!=e&&t!=t},O=S;var M=function(e,t){for(var n=e.length;n--;)if(O(e[n][0],t))return n;return-1},k=M,A=Array.prototype.splice;var I=M;var N=M;var E=M;var C=_,q=function(e){var t=this.__data__,n=k(t,e);return!(n<0)&&(n==t.length-1?t.pop():A.call(t,n,1),--this.size,!0)},D=function(e){var t=this.__data__,n=I(t,e);return n<0?void 0:t[n][1]},R=function(e){return N(this.__data__,e)>-1},B=function(e,t){var n=this.__data__,r=E(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function $(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}$.prototype.clear=C,$.prototype.delete=q,$.prototype.get=D,$.prototype.has=R,$.prototype.set=B;var z=$,T=z;var L=function(){this.__data__=new T,this.size=0};var P=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n};var W=function(e){return this.__data__.get(e)};var F=function(e){return this.__data__.has(e)},H="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},U="object"==typeof H&&H&&H.Object===Object&&H,K=U,V="object"==typeof self&&self&&self.Object===Object&&self,G=K||V||Function("return this")(),J=G.Symbol,Y=J,Z=Object.prototype,Q=Z.hasOwnProperty,X=Z.toString,ee=Y?Y.toStringTag:void 0;var te=function(e){var t=Q.call(e,ee),n=e[ee];try{e[ee]=void 0;var r=!0}catch(e){}var o=X.call(e);return r&&(t?e[ee]=n:delete e[ee]),o},ne=Object.prototype.toString;var re=te,oe=function(e){return ne.call(e)},ie=J?J.toStringTag:void 0;var le=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ie&&ie in Object(e)?re(e):oe(e)};var ae=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},se=le,ce=ae;var ue,fe=function(e){if(!ce(e))return!1;var t=se(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},de=G["__core-js_shared__"],he=(ue=/[^.]+$/.exec(de&&de.keys&&de.keys.IE_PROTO||""))?"Symbol(src)_1."+ue:"";var pe=function(e){return!!he&&he in e},ve=Function.prototype.toString;var ye=function(e){if(null!=e){try{return ve.call(e)}catch(e){}try{return e+""}catch(e){}}return""},ge=fe,me=pe,be=ae,xe=ye,we=/^\[object .+?Constructor\]$/,je=Function.prototype,_e=Object.prototype,Se=je.toString,Oe=_e.hasOwnProperty,Me=RegExp("^"+Se.call(Oe).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");var ke=function(e){return!(!be(e)||me(e))&&(ge(e)?Me:we).test(xe(e))},Ae=function(e,t){return null==e?void 0:e[t]};var Ie=function(e,t){var n=Ae(e,t);return ke(n)?n:void 0},Ne=Ie(G,"Map"),Ee=Ie(Object,"create"),Ce=Ee;var qe=function(){this.__data__=Ce?Ce(null):{},this.size=0};var De=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Re=Ee,Be=Object.prototype.hasOwnProperty;var $e=function(e){var t=this.__data__;if(Re){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return Be.call(t,e)?t[e]:void 0},ze=Ee,Te=Object.prototype.hasOwnProperty;var Le=Ee;var Pe=qe,We=De,Fe=$e,He=function(e){var t=this.__data__;return ze?void 0!==t[e]:Te.call(t,e)},Ue=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Le&&void 0===t?"__lodash_hash_undefined__":t,this};function Ke(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}Ke.prototype.clear=Pe,Ke.prototype.delete=We,Ke.prototype.get=Fe,Ke.prototype.has=He,Ke.prototype.set=Ue;var Ve=Ke,Ge=z,Je=Ne;var Ye=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e};var Ze=function(e,t){var n=e.__data__;return Ye(t)?n["string"==typeof t?"string":"hash"]:n.map},Qe=Ze;var Xe=Ze;var et=Ze;var tt=Ze;var nt=function(e,t){var n=tt(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},rt=function(){this.size=0,this.__data__={hash:new Ve,map:new(Je||Ge),string:new Ve}},ot=function(e){var t=Qe(this,e).delete(e);return this.size-=t?1:0,t},it=function(e){return Xe(this,e).get(e)},lt=function(e){return et(this,e).has(e)},at=nt;function st(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}st.prototype.clear=rt,st.prototype.delete=ot,st.prototype.get=it,st.prototype.has=lt,st.prototype.set=at;var ct=st,ut=z,ft=Ne,dt=ct;var ht=z,pt=L,vt=P,yt=W,gt=F,mt=function(e,t){var n=this.__data__;if(n instanceof ut){var r=n.__data__;if(!ft||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new dt(r)}return n.set(e,t),this.size=n.size,this};function bt(e){var t=this.__data__=new ht(e);this.size=t.size}bt.prototype.clear=pt,bt.prototype.delete=vt,bt.prototype.get=yt,bt.prototype.has=gt,bt.prototype.set=mt;var xt=bt;var wt=ct,jt=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},_t=function(e){return this.__data__.has(e)};function St(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new wt;++t<n;)this.add(e[t])}St.prototype.add=St.prototype.push=jt,St.prototype.has=_t;var Ot=St,Mt=function(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1},kt=function(e,t){return e.has(t)};var At=function(e,t,n,r,o,i){var l=1&n,a=e.length,s=t.length;if(a!=s&&!(l&&s>a))return!1;var c=i.get(e),u=i.get(t);if(c&&u)return c==t&&u==e;var f=-1,d=!0,h=2&n?new Ot:void 0;for(i.set(e,t),i.set(t,e);++f<a;){var p=e[f],v=t[f];if(r)var y=l?r(v,p,f,t,e,i):r(p,v,f,e,t,i);if(void 0!==y){if(y)continue;d=!1;break}if(h){if(!Mt(t,(function(e,t){if(!kt(h,t)&&(p===e||o(p,e,n,r,i)))return h.push(t)}))){d=!1;break}}else if(p!==v&&!o(p,v,n,r,i)){d=!1;break}}return i.delete(e),i.delete(t),d};var It=G.Uint8Array,Nt=S,Et=At,Ct=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n},qt=function(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n},Dt=J?J.prototype:void 0,Rt=Dt?Dt.valueOf:void 0;var Bt=function(e,t,n,r,o,i,l){switch(n){case"[object DataView]":if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=t.byteLength||!i(new It(e),new It(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Nt(+e,+t);case"[object Error]":return e.name==t.name&&e.message==t.message;case"[object RegExp]":case"[object String]":return e==t+"";case"[object Map]":var a=Ct;case"[object Set]":var s=1&r;if(a||(a=qt),e.size!=t.size&&!s)return!1;var c=l.get(e);if(c)return c==t;r|=2,l.set(e,t);var u=Et(a(e),a(t),r,o,i,l);return l.delete(e),u;case"[object Symbol]":if(Rt)return Rt.call(e)==Rt.call(t)}return!1};var $t=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e},zt=Array.isArray,Tt=$t,Lt=zt;var Pt=function(e,t,n){var r=t(e);return Lt(e)?r:Tt(r,n(e))};var Wt=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var l=e[n];t(l,n,e)&&(i[o++]=l)}return i},Ft=function(){return[]},Ht=Object.prototype.propertyIsEnumerable,Ut=Object.getOwnPropertySymbols,Kt=Ut?function(e){return null==e?[]:(e=Object(e),Wt(Ut(e),(function(t){return Ht.call(e,t)})))}:Ft;var Vt=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r};var Gt=function(e){return null!=e&&"object"==typeof e},Jt=le,Yt=Gt;var Zt=function(e){return Yt(e)&&"[object Arguments]"==Jt(e)},Qt=Gt,Xt=Object.prototype,en=Xt.hasOwnProperty,tn=Xt.propertyIsEnumerable,nn=Zt(function(){return arguments}())?Zt:function(e){return Qt(e)&&en.call(e,"callee")&&!tn.call(e,"callee")},rn={exports:{}};var on=function(){return!1};!function(e,t){var n=G,r=on,o=t&&!t.nodeType&&t,i=o&&e&&!e.nodeType&&e,l=i&&i.exports===o?n.Buffer:void 0,a=(l?l.isBuffer:void 0)||r;e.exports=a}(rn,rn.exports);var ln=/^(?:0|[1-9]\d*)$/;var an=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&ln.test(e))&&e>-1&&e%1==0&&e<t};var sn=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991},cn=le,un=sn,fn=Gt,dn={};dn["[object Float32Array]"]=dn["[object Float64Array]"]=dn["[object Int8Array]"]=dn["[object Int16Array]"]=dn["[object Int32Array]"]=dn["[object Uint8Array]"]=dn["[object Uint8ClampedArray]"]=dn["[object Uint16Array]"]=dn["[object Uint32Array]"]=!0,dn["[object Arguments]"]=dn["[object Array]"]=dn["[object ArrayBuffer]"]=dn["[object Boolean]"]=dn["[object DataView]"]=dn["[object Date]"]=dn["[object Error]"]=dn["[object Function]"]=dn["[object Map]"]=dn["[object Number]"]=dn["[object Object]"]=dn["[object RegExp]"]=dn["[object Set]"]=dn["[object String]"]=dn["[object WeakMap]"]=!1;var hn=function(e){return fn(e)&&un(e.length)&&!!dn[cn(e)]};var pn=function(e){return function(t){return e(t)}},vn={exports:{}};!function(e,t){var n=U,r=t&&!t.nodeType&&t,o=r&&e&&!e.nodeType&&e,i=o&&o.exports===r&&n.process,l=function(){try{var e=o&&o.require&&o.require("util").types;return e||i&&i.binding&&i.binding("util")}catch(e){}}();e.exports=l}(vn,vn.exports);var yn=hn,gn=pn,mn=vn.exports,bn=mn&&mn.isTypedArray,xn=bn?gn(bn):yn,wn=Vt,jn=nn,_n=zt,Sn=rn.exports,On=an,Mn=xn,kn=Object.prototype.hasOwnProperty;var An=function(e,t){var n=_n(e),r=!n&&jn(e),o=!n&&!r&&Sn(e),i=!n&&!r&&!o&&Mn(e),l=n||r||o||i,a=l?wn(e.length,String):[],s=a.length;for(var c in e)!t&&!kn.call(e,c)||l&&("length"==c||o&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||On(c,s))||a.push(c);return a},In=Object.prototype;var Nn=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||In)};var En=function(e,t){return function(n){return e(t(n))}}(Object.keys,Object),Cn=Nn,qn=En,Dn=Object.prototype.hasOwnProperty;var Rn=fe,Bn=sn;var $n=An,zn=function(e){if(!Cn(e))return qn(e);var t=[];for(var n in Object(e))Dn.call(e,n)&&"constructor"!=n&&t.push(n);return t},Tn=function(e){return null!=e&&Bn(e.length)&&!Rn(e)};var Ln=Pt,Pn=Kt,Wn=function(e){return Tn(e)?$n(e):zn(e)};var Fn=function(e){return Ln(e,Wn,Pn)},Hn=Object.prototype.hasOwnProperty;var Un=function(e,t,n,r,o,i){var l=1&n,a=Fn(e),s=a.length;if(s!=Fn(t).length&&!l)return!1;for(var c=s;c--;){var u=a[c];if(!(l?u in t:Hn.call(t,u)))return!1}var f=i.get(e),d=i.get(t);if(f&&d)return f==t&&d==e;var h=!0;i.set(e,t),i.set(t,e);for(var p=l;++c<s;){var v=e[u=a[c]],y=t[u];if(r)var g=l?r(y,v,u,t,e,i):r(v,y,u,e,t,i);if(!(void 0===g?v===y||o(v,y,n,r,i):g)){h=!1;break}p||(p="constructor"==u)}if(h&&!p){var m=e.constructor,b=t.constructor;m==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof m&&m instanceof m&&"function"==typeof b&&b instanceof b||(h=!1)}return i.delete(e),i.delete(t),h},Kn=Ie(G,"DataView"),Vn=Ne,Gn=Ie(G,"Promise"),Jn=Ie(G,"Set"),Yn=Ie(G,"WeakMap"),Zn=le,Qn=ye,Xn="[object Map]",er="[object Promise]",tr="[object Set]",nr="[object WeakMap]",rr="[object DataView]",or=Qn(Kn),ir=Qn(Vn),lr=Qn(Gn),ar=Qn(Jn),sr=Qn(Yn),cr=Zn;(Kn&&cr(new Kn(new ArrayBuffer(1)))!=rr||Vn&&cr(new Vn)!=Xn||Gn&&cr(Gn.resolve())!=er||Jn&&cr(new Jn)!=tr||Yn&&cr(new Yn)!=nr)&&(cr=function(e){var t=Zn(e),n="[object Object]"==t?e.constructor:void 0,r=n?Qn(n):"";if(r)switch(r){case or:return rr;case ir:return Xn;case lr:return er;case ar:return tr;case sr:return nr}return t});var ur=xt,fr=At,dr=Bt,hr=Un,pr=cr,vr=zt,yr=rn.exports,gr=xn,mr="[object Arguments]",br="[object Array]",xr="[object Object]",wr=Object.prototype.hasOwnProperty;var jr=function(e,t,n,r,o,i){var l=vr(e),a=vr(t),s=l?br:pr(e),c=a?br:pr(t),u=(s=s==mr?xr:s)==xr,f=(c=c==mr?xr:c)==xr,d=s==c;if(d&&yr(e)){if(!yr(t))return!1;l=!0,u=!1}if(d&&!u)return i||(i=new ur),l||gr(e)?fr(e,t,n,r,o,i):dr(e,t,s,n,r,o,i);if(!(1&n)){var h=u&&wr.call(e,"__wrapped__"),p=f&&wr.call(t,"__wrapped__");if(h||p){var v=h?e.value():e,y=p?t.value():t;return i||(i=new ur),o(v,y,n,r,i)}}return!!d&&(i||(i=new ur),hr(e,t,n,r,o,i))},_r=Gt;var Sr=function e(t,n,r,o,i){return t===n||(null==t||null==n||!_r(t)&&!_r(n)?t!=t&&n!=n:jr(t,n,r,o,e,i))},Or=Sr;var Mr=function(e,t,n){var r=(n="function"==typeof n?n:void 0)?n(e,t):void 0;return void 0===r?Or(e,t,void 0,n):!!r};const kr=(e,t,n)=>n.ignoreCase?"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase():"symbol"==typeof e&&"symbol"==typeof t?e.toString()===t.toString():n.recursiveEqual?Mr(e,t,((e,t)=>n.ignoreCase&&"string"==typeof e&&"string"==typeof t?e.toLowerCase()===t.toLowerCase():void 0)):e===t,Ar=(e,t)=>{if(e===t)return 1;if(null===e||null===t)return 0;if("object"!=typeof e||"object"!=typeof t)return 0;let n=0;for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&Object.prototype.hasOwnProperty.call(t,r)&&e[r]===t[r]&&n++;return Math.max(n/Object.keys(e).length,n/Object.keys(t).length)},Ir=(e,t,n,r,o)=>{n&&r?(e.push({level:o,type:"equal",text:`"${n}": [`}),t.push({level:o,type:"equal",text:`"${r}": [`})):(e.push({level:o,type:"equal",text:"["}),t.push({level:o,type:"equal",text:"["}))},Nr=(e,t,n)=>{e.push({level:n,type:"equal",text:"]"}),t.push({level:n,type:"equal",text:"]"})},Er=(e,t,n)=>{e.push({level:n+1,type:"equal",text:"..."}),t.push({level:n+1,type:"equal",text:"..."})},Cr=(e,t,n,r,o,i,l=[],a=[])=>{if(Ir(l,a,n,r,o),o>=(i.maxDepth||1/0))Er(l,a,o);else{const[s,c]=((e,t,n,r,o,i)=>{const l=Array(e.length+1).fill(0).map((()=>Array(t.length+1).fill(0))),a=Array(e.length+1).fill(0).map((()=>Array(t.length+1).fill(0)));for(let t=1;t<=e.length;t++)a[t][0]="up";for(let e=1;e<=t.length;e++)a[0][e]="left";for(let n=1;n<=e.length;n++)for(let r=1;r<=t.length;r++){const o=b(e[n-1]);o!==b(t[r-1])||"array"!==o&&"object"!==o?kr(e[n-1],t[r-1],i)?(l[n][r]=l[n-1][r-1]+1,a[n][r]="diag"):l[n-1][r]>=l[n][r-1]?(l[n][r]=l[n-1][r],a[n][r]="up"):(l[n][r]=l[n][r-1],a[n][r]="left"):i.recursiveEqual?kr(e[n-1],t[r-1],i)||Ar(e[n-1],t[r-1])>.5?(l[n][r]=l[n-1][r-1]+1,a[n][r]="diag"):l[n-1][r]>=l[n][r-1]?(l[n][r]=l[n-1][r],a[n][r]="up"):(l[n][r]=l[n][r-1],a[n][r]="left"):(l[n][r]=l[n-1][r-1]+1,a[n][r]="diag")}let s=e.length,c=t.length,u=[],f=[];for(;s>0||c>0;)if("diag"===a[s][c]){const l=b(e[s-1]);if(i.recursiveEqual&&("array"===l||"object"===l)&&kr(e[s-1],t[c-1],i)){const n=[],r=[];x(n,r,"","",e[s-1],t[c-1],o+1,i),u=d(u,n.reverse(),!0),f=d(f,r.reverse(),!0)}else if("array"===l){const[l,a]=Cr(e[s-1],t[c-1],n,r,o+1,i);u=d(u,l.reverse(),!0),f=d(f,a.reverse(),!0)}else if("object"===l){const[n,r]=j(e[s-1],t[c-1],o+2,i,Cr);u.unshift({level:o+1,type:"equal",text:"}"}),f.unshift({level:o+1,type:"equal",text:"}"}),u=d(u,n.reverse(),!0),f=d(f,r.reverse(),!0),u.unshift({level:o+1,type:"equal",text:"{"}),f.unshift({level:o+1,type:"equal",text:"{"})}else{const n=[],r=[];x(n,r,"","",e[s-1],t[c-1],o+1,i),u=d(u,n.reverse(),!0),f=d(f,r.reverse(),!0)}s--,c--}else if("up"===a[s][c])if(i.showModifications&&s>1&&"left"===a[s-1][c]){const l=b(e[s-1]);if(l===b(t[c-1]))if("array"===l){const[l,a]=Cr(e[s-1],t[c-1],n,r,o+1,i);u=d(u,l.reverse(),!0),f=d(f,a.reverse(),!0)}else if("object"===l){const[n,r]=j(e[s-1],t[c-1],o+2,i,Cr);u.unshift({level:o+1,type:"equal",text:"}"}),f.unshift({level:o+1,type:"equal",text:"}"}),u=d(u,n.reverse(),!0),f=d(f,r.reverse(),!0),u.unshift({level:o+1,type:"equal",text:"{"}),f.unshift({level:o+1,type:"equal",text:"{"})}else u.unshift({level:o+1,type:"modify",text:y(e[s-1],void 0,void 0,i.undefinedBehavior)}),f.unshift({level:o+1,type:"modify",text:y(t[c-1],void 0,void 0,i.undefinedBehavior)});else{const n=[],r=[];x(n,r,"","",e[s-1],t[c-1],o+1,i),u=d(u,n.reverse(),!0),f=d(f,r.reverse(),!0)}s--,c--}else{const t=p(e[s-1],void 0,1,void 0,i.undefinedBehavior).split("\n");for(let e=t.length-1;e>=0;e--)u.unshift({level:o+1+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:t[e].replace(/^\s+/,"").replace(/,$/g,"")}),f.unshift({level:o+1,type:"equal",text:""});s--}else{const e=p(t[c-1],void 0,1,void 0,i.undefinedBehavior).split("\n");for(let t=e.length-1;t>=0;t--)u.unshift({level:o+1,type:"equal",text:""}),f.unshift({level:o+1+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:e[t].replace(/^\s+/,"").replace(/,$/g,"")});c--}return[u,f]})(e,t,n,r,o,i);l=d(l,s),a=d(a,c)}return Nr(l,a,o),[l,a]};function qr(e,t){for(const n of e){if("object"===b(n)){if(!(t in n))return!1;for(const e of Object.values(n))if(Array.isArray(e)&&!qr(e,t))return!1}else if(Array.isArray(n)&&!qr(n,t))return!1}return!0}const Dr=function e(t,n,r,o,i,l,a=[],s=[]){if(!l.compareKey)return Br(t,n,r,o,i,l,a,s);const c=e=>e.every((e=>"object"===b(e)));if(!(c(t)&&c(n)&&qr(t,l.compareKey)&&qr(n,l.compareKey)))return Br(t,n,r,o,i,l,a,s);if(Ir(a,s,r,o,i),i>=(l.maxDepth||1/0))Er(a,s,i);else{const r=new Set,o=new Set;for(let c=0;c<t.length;c++){const u=t[c];if(r.has(c))continue;if("object"!==b(u)||!(l.compareKey in u))continue;const f=u[l.compareKey];let h=-1;for(let e=0;e<n.length;e++){if(o.has(e))continue;const t=n[e];if("object"!==b(t)||!(l.compareKey in t))continue;const r=t[l.compareKey];if(kr(f,r,l)){h=e;break}}if(-1!==h){const t=n[h],f=b(u);if(f!==b(t))x(a,s,"","",u,t,i+1,l);else if("object"===f){a.push({level:i+1,type:"equal",text:"{"}),s.push({level:i+1,type:"equal",text:"{"});const n=Array.from(new Set([...Object.keys(u),...Object.keys(t)]));for(const r of n){const n=u[r],o=t[r];if(Array.isArray(n)&&Array.isArray(o)){const[t,r]=e(n,o,"","",i+2,l,[],[]);a=d(a,t),s=d(s,r)}else if(Array.isArray(n)||Array.isArray(o))x(a,s,r,r,n,o,i+2,l);else{const[t,c]=j({[r]:n},{[r]:o},i+2,l,e);a=d(a,t),s=d(s,c)}}a.push({level:i+1,type:"equal",text:"}"}),s.push({level:i+1,type:"equal",text:"}"})}else if("array"===f){const[n,r]=e(u,t,"","",i+1,l,[],[]);a=d(a,n),s=d(s,r)}else kr(u,t,l)?(a.push({level:i+1,type:"equal",text:y(u,void 0,void 0,l.undefinedBehavior)}),s.push({level:i+1,type:"equal",text:y(t,void 0,void 0,l.undefinedBehavior)})):l.showModifications?(a.push({level:i+1,type:"modify",text:y(u,void 0,void 0,l.undefinedBehavior)}),s.push({level:i+1,type:"modify",text:y(t,void 0,void 0,l.undefinedBehavior)})):(a.push({level:i+1,type:"remove",text:y(u,void 0,void 0,l.undefinedBehavior)}),a.push({level:i+1,type:"equal",text:""}),s.push({level:i+1,type:"equal",text:""}),s.push({level:i+1,type:"add",text:y(t,void 0,void 0,l.undefinedBehavior)}));r.add(c),o.add(h)}}for(let e=0;e<t.length;e++){if(r.has(e))continue;const n=t[e],o=p(n,void 0,1,void 0,l.undefinedBehavior).split("\n");for(let e=0;e<o.length;e++)a.push({level:i+1+(o[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:o[e].replace(/^\s+/,"").replace(/,$/g,"")}),s.push({level:i+1,type:"equal",text:""})}for(let e=0;e<n.length;e++){if(o.has(e))continue;const t=n[e],r=p(t,void 0,1,void 0,l.undefinedBehavior).split("\n");for(let e=0;e<r.length;e++)a.push({level:i+1,type:"equal",text:""}),s.push({level:i+1+(r[e].match(/^\s+/)?.[0]?.length||0),type:"add",text:r[e].replace(/^\s+/,"").replace(/,$/g,"")})}}return Nr(a,s,i),[a,s]};function Rr(e,t,n,r,o,i,l){let a=[],s=[];const c=Array.from(new Set([...Object.keys(e||{}),...Object.keys(t||{})]));for(const u of c){const c=e?e[u]:void 0,f=t?t[u]:void 0;if(Array.isArray(c)&&Array.isArray(f)&&r.compareKey&&l(c,r.compareKey)&&l(f,r.compareKey)){const[e,t]=i(c,f,"","",n+2,r,[],[]);a=d(a,e),s=d(s,t)}else if(Array.isArray(c)&&Array.isArray(f)){const[e,t]=o(c,f,"","",n+2,r,[],[]);a=d(a,e),s=d(s,t)}else if(Array.isArray(c)||Array.isArray(f))x(a,s,u,u,c,f,n+2,r);else{const[e,t]=j({[u]:c},{[u]:f},n+2,r,o);a=d(a,e),s=d(s,t)}}return[a,s]}const Br=(e,t,n,r,o,i,l=[],a=[])=>{if(e=[...e],t=[...t],Ir(l,a,n,r,o),o>=(i.maxDepth||1/0))Er(l,a,o);else for(;e.length||t.length;){const n=e[0],r=t[0],s=b(n),c=b(r);if(e.length&&t.length){if(s!==c)x(l,a,"","",n,r,o+1,i);else if(i.recursiveEqual&&["object","array"].includes(s)&&kr(n,r,i))x(l,a,"","",n,r,o+1,i);else if("object"===s){let e,t;l.push({level:o+1,type:"equal",text:"{"}),a.push({level:o+1,type:"equal",text:"{"}),"compare-key"===i.arrayDiffMethod?[e,t]=Rr(n,r,o,i,Br,Dr,qr):[e,t]=j(n,r,o+2,i,Br),l=d(l,e),a=d(a,t),l.push({level:o+1,type:"equal",text:"}"}),a.push({level:o+1,type:"equal",text:"}"})}else if("array"===s)if(i.compareKey&&qr(n,i.compareKey)&&qr(r,i.compareKey)){const[e,t]=Dr(n,r,"","",o+1,i,[],[]);l=d(l,e),a=d(a,t)}else{const[e,t]=Br(n,r,"","",o+1,i,[],[]);l=d(l,e),a=d(a,t)}else 0===m(n,r,{ignoreCase:i.ignoreCase})?(l.push({level:o+1,type:"equal",text:y(n,void 0,void 0,i.undefinedBehavior)}),a.push({level:o+1,type:"equal",text:y(r,void 0,void 0,i.undefinedBehavior)})):i.showModifications?(l.push({level:o+1,type:"modify",text:y(n,void 0,void 0,i.undefinedBehavior)}),a.push({level:o+1,type:"modify",text:y(r,void 0,void 0,i.undefinedBehavior)})):(l.push({level:o+1,type:"remove",text:y(n,void 0,void 0,i.undefinedBehavior)}),l.push({level:o+1,type:"equal",text:""}),a.push({level:o+1,type:"equal",text:""}),a.push({level:o+1,type:"add",text:y(r,void 0,void 0,i.undefinedBehavior)}));e.shift(),t.shift()}else if(e.length){const t=y(n,void 0,!0,i.undefinedBehavior).split("\n");for(let e=0;e<t.length;e++)l.push({level:o+1+(t[e].match(/^\s+/)?.[0]?.length||0),type:"remove",text:t[e].replace(/^\s+/,"").replace(/,$/g,"")}),a.push({level:o+1,type:"equal",text:""});e.shift()}else if(t.length){const e=y(r,void 0,!0,i.undefinedBehavior).split("\n");for(let t=0;t<e.length;t++)l.push({level:o+1,type:"equal",text:""}),a.push({level:o+1+(e[t].match(/^\s+/)?.[0]?.length||0),type:"add",text:e[t].replace(/^\s+/,"").replace(/,$/g,"")});t.shift()}}return Nr(l,a,o),[l,a]},$r=(e,t)=>{if(!e||"object"!=typeof e)return e;if(Array.isArray(e)){const n=[...e];return n.sort(((e,n)=>m(e,n,{ignoreCase:t?.ignoreCase}))),n.map((e=>$r(e,t)))}const n={...e};for(const e in n)n[e]=$r(n[e],t);return n};var zr=function(e){return e.stringify="stringify",e.ignore="ignore",e.throw="throw",e}({});const Tr={level:0,type:"equal",text:""},Lr={level:0,type:"equal",text:"{"},Pr={level:0,type:"equal",text:"}"};let Wr=class{detectCircular(e){if(this.options.detectCircular&&h(e))throw new Error(`Circular reference detected in object (with keys ${Object.keys(e).map((e=>`"${e}"`)).join(", ")})`)}sortResultLines(e,t){for(let n=0;n<e.length;n++){let n=!1;for(let r=1;r<e.length;r++)if("remove"===e[r].type&&"equal"===e[r-1].type&&"equal"===t[r].type&&"add"===t[r-1].type){const o=e[r-1];e[r-1]=e[r],e[r]=o;const i=t[r-1];t[r-1]=t[r],t[r]=i,n=!0}if(!n)break}}calculateLineNumbers(e){let t=0;for(const n of e)n.text&&(n.lineNumber=++t)}calculateCommas(e){const t=Array(e.length).fill(0);for(let n=e.length-1;n>0;n--)e[n].text?t[n-1]=n:t[n-1]=t[n];for(let n=0;n<e.length;n++)!e[n].text.endsWith("{")&&!e[n].text.endsWith("[")&&e[n].text&&t[n]&&e[n].level<=e[t[n]].level&&(e[n].comma=!0)}diff(e,t){this.detectCircular(e),this.detectCircular(t),"unorder-normal"!==this.options.arrayDiffMethod&&"unorder-lcs"!==this.options.arrayDiffMethod||(e=$r(e,this.options),t=$r(t,this.options)),"ignore"===this.options.undefinedBehavior&&(e=f(e)??null,t=f(t)??null);let n=[],r=[];const o=b(e);if(o!==b(t)){n=p(e,void 0,1,this.options.maxDepth,this.options.undefinedBehavior).split("\n").map((e=>({level:e.match(/^\s+/)?.[0]?.length||0,type:"remove",text:e.replace(/^\s+/,"").replace(/,$/g,""),comma:e.endsWith(",")})));r=p(t,void 0,1,this.options.maxDepth,this.options.undefinedBehavior).split("\n").map((e=>({level:e.match(/^\s+/)?.[0]?.length||0,type:"add",text:e.replace(/^\s+/,"").replace(/,$/g,""),comma:e.endsWith(",")})));const o=n.length,i=r.length;n=d(n,Array(i).fill(0).map((()=>({...Tr})))),r=d(r,Array(o).fill(0).map((()=>({...Tr}))),!0)}else"object"===o?([n,r]=j(e,t,1,this.options,this.arrayDiffFunc),n.unshift({...Lr}),n.push({...Pr}),r.unshift({...Lr}),r.push({...Pr})):"array"===o?[n,r]=this.arrayDiffFunc(e,t,"","",0,this.options):e!==t?this.options.ignoreCase?"string"==typeof e&&"string"==typeof t&&e.toLowerCase()===t.toLowerCase()&&(n=[{level:0,type:"equal",text:e}],r=[{level:0,type:"equal",text:t}]):this.options.showModifications?(n=[{level:0,type:"modify",text:p(e,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}],r=[{level:0,type:"modify",text:p(t,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}]):(n=[{level:0,type:"remove",text:p(e,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)},{...Tr}],r=[{...Tr},{level:0,type:"add",text:p(t,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}]):(n=[{level:0,type:"equal",text:p(e,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}],r=[{level:0,type:"equal",text:p(t,void 0,void 0,this.options.maxDepth,this.options.undefinedBehavior)}]);return this.sortResultLines(n,r),this.calculateLineNumbers(n),this.calculateLineNumbers(r),this.calculateCommas(n),this.calculateCommas(r),[n,r]}constructor({detectCircular:e=!0,maxDepth:t=1/0,showModifications:n=!0,arrayDiffMethod:r="normal",ignoreCase:o=!1,ignoreCaseForKey:i=!1,recursiveEqual:l=!1,preserveKeyOrder:a,compareKey:s,undefinedBehavior:c="stringify"}={}){this.options={detectCircular:e,maxDepth:t,showModifications:n,arrayDiffMethod:r,ignoreCase:o,ignoreCaseForKey:i,recursiveEqual:l,preserveKeyOrder:a,compareKey:s,undefinedBehavior:c},this.arrayDiffFunc="compare-key"===r?Dr:"lcs"===r||"unorder-lcs"===r?Cr:Br}};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(':root {\n --diff-row-height: 20px;\n}\n\n.virtual-json-diff-list-container {\n scrollbar-width: none;\n --sb-track-color: #232e33;\n --sb-thumb-color: #4560f8;\n --sb-size: 6px;\n}\n\n.diff-viewer-container {\n background-color: #282a36;\n font-size: 12px;\n text-align: left;\n padding-bottom: 12px;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom {\n background: #282a36;\n color: #f8f8f2;\n width: 100%;\n border-spacing: 0;\n font-family:\n -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,\n "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n\n/* ADD REMOVE MODIFY COLORS */\n.json-diff-viewer.json-diff-viewer-theme-custom .line-add {\n border-left: 1px solid #a5ff99;\n background: rgba(100, 182, 67, 0.08);\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .line-remove {\n border-left: 1px solid #ffaa99;\n background: rgba(160, 128, 100, 0.08);\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .line-modify {\n border-left: 1px solid #ecff99;\n background: rgba(182, 180, 67, 0.08);\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .empty-equal-cell {\n opacity: 0.4;\n background: repeating-linear-gradient(-53deg, rgb(69, 69, 70), rgb(69, 69, 70) 1.5px, #282a36 1.5px, #282a36 4px);\n background-attachment: fixed;\n}\n\n/* EDITOR COLORS */\n.json-diff-viewer.json-diff-viewer-theme-custom .inline-diff-add {\n background: rgba(0, 0, 0, 0.08);\n text-decoration: underline;\n word-break: break-all;\n}\n.json-diff-viewer.json-diff-viewer-theme-custom .inline-diff-remove {\n background: rgba(0, 0, 0, 0.08);\n text-decoration: line-through;\n word-break: break-all;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .string {\n color: #e6db74;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .number,\n.json-diff-viewer.json-diff-viewer-theme-custom .boolean,\n.json-diff-viewer.json-diff-viewer-theme-custom .null {\n color: #ae81ff;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .key {\n color: #66d9ef;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .invalid {\n background: #960050;\n color: #fff;\n}\n\n.diff-viewer-container button {\n border-radius: 4px;\n border: 1px solid transparent;\n font-size: 1em;\n font-weight: 500;\n font-family: inherit;\n color: white;\n background-color: #1a1a1a;\n cursor: pointer;\n transition: border-color 0.25s;\n}\n\n.diff-viewer-container button:hover {\n border-color: #649dffab;\n}\n\n.diff-viewer-container button:focus,\n.diff-viewer-container button:focus-visible {\n outline: 4px auto -webkit-focus-ring-color;\n}\n\n.collapsed-button button {\n height: 20px;\n color: rgba(255, 255, 255, 0.7);\n padding: 0px 8px;\n line-height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #26262600;\n border-width: 1px;\n border-color: #434343;\n cursor: pointer;\n}\n\n.hide-all-button {\n text-align: right;\n margin-top: 10px;\n}\n\n.hide-all-button button {\n height: 28px;\n padding: 0 8px;\n line-height: 20px;\n background: #26262600;\n color: white;\n border-width: 1px;\n border-color: #434343;\n cursor: pointer;\n}\n\n/* HEADER */\n.json-diff-header {\n background: #2f323e;\n padding: 10px;\n border-bottom: 1px solid #353846;\n color: #ffffffe5;\n font-family:\n -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,\n "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n}\n\n.json-diff-header .json-diff-title-container {\n width: 100%;\n display: flex;\n flex-direction: row;\n}\n\n.json-diff-header .json-diff-title-container div {\n flex: 0.495;\n}\n\n/* HEADER SEARCH */\n.json-diff-header .search-container {\n margin-bottom: 8px;\n width: 100%;\n}\n\n.json-diff-header .search-input-container {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n\n.json-diff-header .search-input-container svg {\n width: 1em;\n height: 1em;\n}\n\n.json-diff-header .search-input-container input {\n border: 1px solid #434343;\n border-radius: 4px;\n padding: 6px;\n width: 100%;\n background: #2f323e;\n color: white;\n}\n\n.json-diff-header .search-results {\n margin-top: 3px;\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.json-diff-header .search-results button {\n height: 20px;\n padding: 0 8px;\n line-height: 20px;\n background: #26262600;\n border-width: 1px;\n border-color: #434343;\n cursor: pointer;\n color: white;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .search-match {\n background-color: #ffeb3b;\n padding: 0 2px;\n border-radius: 2px;\n color: #000;\n}\n\n/* WEBKIT SCROLLBAR */\n.json-diff-viewer-virtual pre::-webkit-scrollbar {\n display: none;\n}\n\n.virtual-json-diff-list-container::-webkit-scrollbar {\n width: var(--sb-size);\n display: none;\n}\n\n.virtual-json-diff-list-container::-webkit-scrollbar-track {\n background: var(--sb-track-color);\n display: none;\n border-radius: 3px;\n}\n\n.virtual-json-diff-list-container::-webkit-scrollbar-thumb {\n background: var(--sb-thumb-color);\n border-radius: 3px;\n display: none;\n}\n\n@supports not selector(::-webkit-scrollbar) {\n .virtual-json-diff-list-container {\n scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);\n }\n}\n\n/* MINIMAP IMPROVEMENTS */\n.diff-viewer-container .minimap-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n display: flex;\n pointer-events: none;\n}\n\n.diff-viewer-container .minimap-overlay .half {\n flex: 1;\n display: flex;\n align-items: center;\n}\n\n.diff-viewer-container .minimap-overlay .left-map-holder {\n justify-content: flex-end;\n}\n\n.diff-viewer-container .minimap-overlay .right-map-holder {\n justify-content: flex-end;\n}\n\n.diff-viewer-container .minimap-overlay .minimap-wrapper {\n opacity: 0.65;\n pointer-events: auto;\n}\n\n.diff-viewer-container .minimap-overlay .minimap-wrapper:hover {\n opacity: 0.85;\n}\n\n/* row container */\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row .cell {\n padding: 0;\n vertical-align: unset;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* line-number cell styling (mimic old td.line-number) */\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row .line-number {\n background: unset;\n border-left: 0;\n border-bottom: none;\n color: #999;\n padding: 2px;\n padding-right: 6px;\n text-align: right;\n width: 30px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* content cells (2nd and 4th column) */\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row .cell:nth-child(2),\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row .cell:nth-child(4) {\n width: auto;\n overflow-wrap: anywhere;\n}\n\n/* pre inside the cell */\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row .cell pre {\n font-family:\n -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif,\n "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";\n overflow: hidden;\n margin: 0;\n padding-left: 4px;\n margin-right: 29px;\n font-size: 12px;\n line-height: var(--diff-row-height);\n white-space: pre-wrap;\n word-break: break-all;\n min-width: 0; /* important for flexbox/grid overflow */\n}\n\n/* collapsed button visuals */\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row.collapsed-button {\n background-color: #262626;\n}\n\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row.collapsed-button .expand-button-container {\n display: flex;\n justify-content: center;\n}\n\n/* preserve hover */\n.json-diff-viewer.json-diff-viewer-theme-custom .grid-row:hover {\n background: #53535f54;\n}\n');const Fr="json-diff-viewer-theme-custom";function Hr(){if("undefined"==typeof document)return 20;try{const e=document.documentElement,t=getComputedStyle(e).getPropertyValue("--diff-row-height"),n=Number.parseInt(t,10);return Number.isNaN(n)?20:n}catch{return 20}}function Ur(e){return e&&"object"==typeof e&&"type"in e&&"collapsed"===e.type}function Kr(e){return"equal"===e.type&&""===e.text.trim()?"empty-equal-cell":""}function Vr(e,t="json-diff-viewer-theme-custom"){if(!e){return void document.querySelectorAll(`.${t} span.token.search-match`).forEach((e=>e.classList.remove("search-match")))}const n=e.replaceAll("(","").replaceAll(")",""),r=new RegExp(n,"gi");document.querySelectorAll(`.${t} span.token`).forEach((e=>{const t=e.textContent||"";r.test(t)?e.classList.add("search-match"):e.classList.remove("search-match")}))}function Gr(e,t,n){const[a,s]=r({term:t??"",results:[],currentIndex:0}),c=o(),u=i((t=>{s((e=>({...e,term:t}))),c.current&&clearTimeout(c.current),c.current=setTimeout((()=>{const n=function(e,t){if(!e)return[];const n=[],r=new RegExp(e,"gi");return t.forEach(((e,t)=>{"object"==typeof e&&"text"in e&&r.test(e.text)&&n.push(t)})),n}(t,e);s((e=>({...e,results:n,currentIndex:0})))}),300)}),[e]),f=i((e=>{if(0===a.results.length)return;const t="next"===e?(a.currentIndex+1)%a.results.length:(a.currentIndex-1+a.results.length)%a.results.length;s((e=>({...e,currentIndex:t})));const r=a.results[t];return n&&n(r),r}),[a,n]);return l((()=>{Vr(a.term,Fr);const e=new MutationObserver((()=>Vr(a.term,Fr))),t=document.querySelector(`.${Fr}`);t&&e.observe(t,{childList:!0,subtree:!0});const n=document.querySelector(".virtual-json-diff-list-container");if(n){const t=()=>setTimeout((()=>Vr(a.term,Fr)),100);return n.addEventListener("scroll",t),()=>{e.disconnect(),n.removeEventListener("scroll",t)}}return()=>e.disconnect()}),[a.term]),l((()=>{void 0!==t&&u(t)}),[t,u]),{searchState:a,handleSearch:u,navigateMatch:f}}function Jr(e,t){const n=[];let r,o;if(e.length&&t.length)for(e=[...e],t=[...t],r={...e.shift()},o={...t.shift()};;){if(r.start===o.start){const e=Math.min(r.end,o.end);n.push({...r,...o,end:e}),r.start=o.start=e}else if(r.start<o.start){const e=Math.min(r.end,o.start);n.push({...o,...r,end:e}),r.start=e}else{const e=Math.min(r.start,o.end);n.push({...r,...o,end:e}),o.start=e}if(!e.length||!t.length)break;r.start===r.end&&(r={...e.shift()}),o.start===o.end&&(o={...t.shift()})}return e.length||n.push(...t.map((e=>({...e,token:r.token||"plain"})))),t.length||n.push(...e),n}function Yr(e){return"equal"===e.type&&""!==e.text}function Zr(e,t,n=3){if(!Array.isArray(e)||!Array.isArray(t))throw new TypeError("Both segments and diff must be arrays");const r=[];return e.forEach(((o,i)=>{if(o.isEqual){if(o.end-o.start<=2*n||o.isExpanded)for(let e=o.start;e<o.end;e++)r.push({...t[e],originalIndex:e});else{if(function(e,t,n){return 0===e||t[e-1].end<n.start&&t[e-1].isEqual}(i,e,o))for(let e=o.start;e<Math.min(o.start+n,o.end);e++)r.push({...t[e],originalIndex:e});o.end-(o.start+n)>n&&r.push({type:"collapsed",segmentIndex:i,originalIndex:r.length,level:0,text:""});for(let e=Math.max(o.end-n,o.start+n);e<o.end;e++)r.push({...t[e],originalIndex:e})}}else for(let e=o.start;e<o.end;e++)r.push({...t[e],originalIndex:e})})),r}const Qr="#363743";const Xr=({leftDiff:t,rightDiff:n,height:r,onScroll:s,miniMapWidth:c=20,currentScrollTop:u,searchResults:f=[],currentMatchIndex:d=-1})=>{const h=o(null),p=o(null),v=a((()=>Hr()),[]),{totalLines:y,viewportHeight:g}=a((()=>{const e=r/v,o=Math.max(t.length,n.length)||e;return{totalLines:o,viewportHeight:r*(1/(o/e))}}),[r,t.length,n.length]),{handleMouseDown:m,isDragging:b}=function({height:e,totalLines:t,viewportHeight:n,ROW_HEIGHT:r,onScroll:a,containerRef:s}){const c=o(!1),u=i((e=>!Number.isNaN(e)&&Number.isFinite(e)),[]),f=i((o=>(o-n/2)/e*t*r),[e,t,n,r]),d=i((()=>{const n=t*r;return Math.max(0,n-e)}),[t,r,e]),h=i(((e,t)=>{const r=e.clientY-t.top,o=d();if(e.clientY+n/2>t.bottom){const e=t.bottom-t.top-n/2,r=f(e);u(r)&&a(Math.min(o,Math.max(0,r)))}else{const e=f(r);u(e)&&a(Math.min(o,Math.max(0,e)))}}),[f,d,u,a,n]),p=i((n=>{if(!c.current||!s.current)return;if(e<=0||t<=0)return;const r=s.current.getBoundingClientRect();h(n,r)}),[s,e,t,h]),v=i((()=>{c.current=!1,window.removeEventListener("mousemove",p),window.removeEventListener("mouseup",v)}),[p]),y=i((e=>{if(c.current=!0,window.addEventListener("mousemove",p),window.addEventListener("mouseup",v),!s.current)return;const t=s.current.getBoundingClientRect();h(e.nativeEvent,t)}),[p,v,s,h]);return l((()=>{const e=()=>{c.current=!1};return window.addEventListener("mouseup",e),()=>window.removeEventListener("mouseup",e)}),[]),{handleMouseDown:y,isDragging:c}}({height:r||380,totalLines:y,viewportHeight:g,ROW_HEIGHT:v,onScroll:s,containerRef:p}),{drawMinimap:x,drawScrollBox:w}=function({canvasRef:e,containerRef:t,height:n,miniMapWidth:r,leftDiff:o,rightDiff:s,currentScrollTop:c,searchResults:u,currentMatchIndex:f,isDragging:d,totalLines:h,ROW_HEIGHT:p,viewportHeight:v}){const y=i(((e,t,n,r,o)=>{if("collapsed"===t.type)e.fillStyle=Qr;else switch(t.type){case"equal":e.fillStyle=Qr;break;case"add":e.fillStyle="#4CAF50";break;case"remove":e.fillStyle="#F44336";break;case"modify":e.fillStyle="#FFC107"}e.fillRect(r,n,o,p)}),[p]),g=a((()=>{const e=document.createElement("canvas");e.width=r,e.height=n;const t=e.getContext("2d");if(!t)return null;const i=n/h;return o.forEach(((e,n)=>{y(t,e,n*i,0,r/2)})),s.forEach(((e,n)=>{y(t,e,n*i,r/2,r/2)})),u.forEach((e=>{const n=e*i,o=Math.max(1,i);t.fillStyle="#ffd700",t.fillRect(0,n,r,o)})),e}),[o,s,u,n,h,r,y]),m=i(((e,t)=>{if(!g)return;e.clearRect(0,0,r,n),e.drawImage(g,0,0);const o=c/(h*p)*n;if(e.fillStyle=t,e.fillRect(0,o,r,v),f>=0&&void 0!==u[f]){const t=n/h,o=u[f]*t,i=Math.max(1,t);e.fillStyle="#ff4500",e.fillRect(0,o,r,i)}}),[g,c,h,p,n,r,v,f,u]),b=i((()=>{const n=e.current;if(!n)return;const r=n.getContext("2d");r&&(r.clearRect(0,0,n.width,n.height),d.current?(t.current&&(t.current.style.opacity="0.85"),m(r,"#7B7B7Bcc")):(t.current&&(t.current.style.opacity="0.65"),m(r,"#7B7B7B80")))}),[m]);return l((()=>{b()}),[b]),{drawScrollBox:m,drawMinimap:b}}({canvasRef:h,containerRef:p,height:r||380,miniMapWidth:c||20,leftDiff:t,rightDiff:n,currentScrollTop:u,searchResults:f,currentMatchIndex:d,isDragging:b,totalLines:y,ROW_HEIGHT:v,viewportHeight:g});l((()=>{x()}),[x]);const j=i((e=>{if(!p.current)return;const t=p.current.getBoundingClientRect(),n=e.clientY-t.top,o=u/(y*v)*r,i=n>o&&n<o+g;x();const l=h.current;if(l){const e=l.getContext("2d");if(!e)return;i&&w(e,"#7B7B7Bcc")}}),[r,y,g,u,x]);return e("div",{ref:p,className:"minimap-wrapper",style:{width:c,height:r,position:"relative",cursor:"pointer"},onMouseDown:m,onMouseMove:j,onMouseLeave:()=>{x()},children:e("canvas",{ref:h,width:c,height:r,style:{width:"100%",height:"100%"}})})};function eo(){return e("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:e("path",{d:"M15.7955 15.8111L21 21M18 10.5C18 14.6421 14.6421 18 10.5 18C6.35786 18 3 14.6421 3 10.5C3 6.35786 6.35786 3 10.5 3C14.6421 3 18 6.35786 18 10.5Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})})}function to({searchState:n,handleSearch:r,navigateMatch:o,hideSearch:i}){return i?null:t("div",{className:"search-container",children:[t("div",{className:"search-input-container",children:[e("span",{role:"img","aria-label":"search",children:e(eo,{})}),e("input",{type:"text",placeholder:"Search in JSON...",value:n.term,onChange:e=>r(e.target.value)})]}),n.results.length>0&&t("div",{className:"search-results",children:[t("span",{children:[n.currentIndex+1," ","of"," ",n.results.length," ","matches"]}),e("button",{onClick:()=>o("prev"),children:"Previous"}),e("button",{onClick:()=>o("next"),children:"Next"})]})]})}function no(){return no=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},no.apply(null,arguments)}function ro(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oo(e,t){return oo=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},oo(e,t)}var io=Number.isNaN||function(e){return"number"==typeof e&&e!=e};function lo(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(r=e[n],o=t[n],!(r===o||io(r)&&io(o)))return!1;var r,o;return!0}function ao(e,t){var n;void 0===t&&(t=lo);var r,o=[],i=!1;return function(){for(var l=[],a=0;a<arguments.length;a++)l[a]=arguments[a];return i&&n===this&&t(l,o)||(r=e.apply(this,l),i=!0,n=this,o=l),r}}var so="object"==typeof performance&&"function"==typeof performance.now?function(){return performance.now()}:function(){return Date.now()};function co(e){cancelAnimationFrame(e.id)}var uo=-1;function fo(e){if(void 0===e&&(e=!1),-1===uo||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",document.body.appendChild(t),uo=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return uo}var ho=null;function po(e){if(void 0===e&&(e=!1),null===ho||e){var t=document.createElement("div"),n=t.style;n.width="50px",n.height="50px",n.overflow="scroll",n.direction="rtl";var r=document.createElement("div"),o=r.style;return o.width="100px",o.height="100px",t.appendChild(r),document.body.appendChild(t),t.scrollLeft>0?ho="positive-descending":(t.scrollLeft=1,ho=0===t.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(t),ho}return ho}process.env.NODE_ENV;var vo=function(e,t){return e},yo=null,go=null;function mo(e){var t,n=e.getItemOffset,r=e.getEstimatedTotalSize,o=e.getItemSize,i=e.getOffsetForIndexAndAlignment,l=e.getStartIndexForOffset,a=e.getStopIndexForStartIndex,u=e.initInstanceProps,f=e.shouldResetStyleCacheOnItemSizeChange,d=e.validateProps;return t=function(e){var t,c;function h(t){var r;return(r=e.call(this,t)||this)._instanceProps=u(r.props,ro(r)),r._outerRef=void 0,r._resetIsScrollingTimeoutId=null,r.state={instance:ro(r),isScrolling:!1,scrollDirection:"forward",scrollOffset:"number"==typeof r.props.initialScrollOffset?r.props.initialScrollOffset:0,scrollUpdateWasRequested:!1},r._callOnItemsRendered=void 0,r._callOnItemsRendered=ao((function(e,t,n,o){return r.props.onItemsRendered({overscanStartIndex:e,overscanStopIndex:t,visibleStartIndex:n,visibleStopIndex:o})})),r._callOnScroll=void 0,r._callOnScroll=ao((function(e,t,n){return r.props.onScroll({scrollDirection:e,scrollOffset:t,scrollUpdateWasRequested:n})})),r._getItemStyle=void 0,r._getItemStyle=function(e){var t,i=r.props,l=i.direction,a=i.itemSize,s=i.layout,c=r._getItemStyleCache(f&&a,f&&s,f&&l);if(c.hasOwnProperty(e))t=c[e];else{var u=n(r.props,e,r._instanceProps),d=o(r.props,e,r._instanceProps),h="horizontal"===l||"horizontal"===s,p="rtl"===l,v=h?u:0;c[e]=t={position:"absolute",left:p?void 0:v,right:p?v:void 0,top:h?0:u,height:h?"100%":d,width:h?d:"100%"}}return t},r._getItemStyleCache=void 0,r._getItemStyleCache=ao((function(e,t,n){return{}})),r._onScrollHorizontal=function(e){var t=e.currentTarget,n=t.clientWidth,o=t.scrollLeft,i=t.scrollWidth;r.setState((function(e){if(e.scrollOffset===o)return null;var t=r.props.direction,l=o;if("rtl"===t)switch(po()){case"negative":l=-o;break;case"positive-descending":l=i-n-o}return l=Math.max(0,Math.min(l,i-n)),{isScrolling:!0,scrollDirection:e.scrollOffset<l?"forward":"backward",scrollOffset:l,scrollUpdateWasRequested:!1}}),r._resetIsScrollingDebounced)},r._onScrollVertical=function(e){var t=e.currentTarget,n=t.clientHeight,o=t.scrollHeight,i=t.scrollTop;r.setState((function(e){if(e.scrollOffset===i)return null;var t=Math.max(0,Math.min(i,o-n));return{isScrolling:!0,scrollDirection:e.scrollOffset<t?"forward":"backward",scrollOffset:t,scrollUpdateWasRequested:!1}}),r._resetIsScrollingDebounced)},r._outerRefSetter=function(e){var t=r.props.outerRef;r._outerRef=e,"function"==typeof t?t(e):null!=t&&"object"==typeof t&&t.hasOwnProperty("current")&&(t.current=e)},r._resetIsScrollingDebounced=function(){var e,t,n,o;null!==r._resetIsScrollingTimeoutId&&co(r._resetIsScrollingTimeoutId),r._resetIsScrollingTimeoutId=(e=r._resetIsScrolling,t=150,n=so(),o={id:requestAnimationFrame((function r(){so()-n>=t?e.call(null):o.id=requestAnimationFrame(r)}))})},r._resetIsScrolling=function(){r._resetIsScrollingTimeoutId=null,r.setState({isScrolling:!1},(function(){r._getItemStyleCache(-1,null)}))},r}c=e,(t=h).prototype=Object.create(c.prototype),t.prototype.constructor=t,oo(t,c),h.getDerivedStateFromProps=function(e,t){return bo(e,t),d(e),null};var p=h.prototype;return p.scrollTo=function(e){e=Math.max(0,e),this.setState((function(t){return t.scrollOffset===e?null:{scrollDirection:t.scrollOffset<e?"forward":"backward",scrollOffset:e,scrollUpdateWasRequested:!0}}),this._resetIsScrollingDebounced)},p.scrollToItem=function(e,t){void 0===t&&(t="auto");var n=this.props,r=n.itemCount,o=n.layout,l=this.state.scrollOffset;e=Math.max(0,Math.min(e,r-1));var a=0;if(this._outerRef){var s=this._outerRef;a="vertical"===o?s.scrollWidth>s.clientWidth?fo():0:s.scrollHeight>s.clientHeight?fo():0}this.scrollTo(i(this.props,e,t,l,this._instanceProps,a))},p.componentDidMount=function(){var e=this.props,t=e.direction,n=e.initialScrollOffset,r=e.layout;if("number"==typeof n&&null!=this._outerRef){var o=this._outerRef;"horizontal"===t||"horizontal"===r?o.scrollLeft=n:o.scrollTop=n}this._callPropsCallbacks()},p.componentDidUpdate=function(){var e=this.props,t=e.direction,n=e.layout,r=this.state,o=r.scrollOffset;if(r.scrollUpdateWasRequested&&null!=this._outerRef){var i=this._outerRef;if("horizontal"===t||"horizontal"===n)if("rtl"===t)switch(po()){case"negative":i.scrollLeft=-o;break;case"positive-ascending":i.scrollLeft=o;break;default:var l=i.clientWidth,a=i.scrollWidth;i.scrollLeft=a-l-o}else i.scrollLeft=o;else i.scrollTop=o}this._callPropsCallbacks()},p.componentWillUnmount=function(){null!==this._resetIsScrollingTimeoutId&&co(this._resetIsScrollingTimeoutId)},p.render=function(){var e=this.props,t=e.children,n=e.className,o=e.direction,i=e.height,l=e.innerRef,a=e.innerElementType,c=e.innerTagName,u=e.itemCount,f=e.itemData,d=e.itemKey,h=void 0===d?vo:d,p=e.layout,v=e.outerElementType,y=e.outerTagName,g=e.style,m=e.useIsScrolling,b=e.width,x=this.state.isScrolling,w="horizontal"===o||"horizontal"===p,j=w?this._onScrollHorizontal:this._onScrollVertical,_=this._getRangeToRender(),S=_[0],O=_[1],M=[];if(u>0)for(var k=S;k<=O;k++)M.push(s(t,{data:f,key:h(k,f),index:k,isScrolling:m?x:void 0,style:this._getItemStyle(k)}));var A=r(this.props,this._instanceProps);return s(v||y||"div",{className:n,onScroll:j,ref:this._outerRefSetter,style:no({position:"relative",height:i,width:b,overflow:"auto",WebkitOverflowScrolling:"touch",willChange:"transform",direction:o},g)},s(a||c||"div",{children:M,ref:l,style:{height:w?"100%":A,pointerEvents:x?"none":void 0,width:w?A:"100%"}}))},p._callPropsCallbacks=function(){if("function"==typeof this.props.onItemsRendered&&this.props.itemCount>0){var e=this._getRangeToRender(),t=e[0],n=e[1],r=e[2],o=e[3];this._callOnItemsRendered(t,n,r,o)}if("function"==typeof this.props.onScroll){var i=this.state,l=i.scrollDirection,a=i.scrollOffset,s=i.scrollUpdateWasRequested;this._callOnScroll(l,a,s)}},p._getRangeToRender=function(){var e=this.props,t=e.itemCount,n=e.overscanCount,r=this.state,o=r.isScrolling,i=r.scrollDirection,s=r.scrollOffset;if(0===t)return[0,0,0,0];var c=l(this.props,s,this._instanceProps),u=a(this.props,c,s,this._instanceProps),f=o&&"backward"!==i?1:Math.max(1,n),d=o&&"forward"!==i?1:Math.max(1,n);return[Math.max(0,c-f),Math.max(0,Math.min(t-1,u+d)),c,u]},h}(c),t.defaultProps={direction:"ltr",itemData:void 0,layout:"vertical",overscanCount:2,useIsScrolling:!1},t}"production"!==process.env.NODE_ENV&&"undefined"!=typeof window&&void 0!==window.WeakSet&&(yo=new WeakSet,go=new WeakSet);var bo=function(e,t){var n=e.children,r=e.direction,o=e.height,i=e.layout,l=e.innerTagName,a=e.outerTagName,s=e.width,c=t.instance;if("production"!==process.env.NODE_ENV){null==l&&null==a||go&&!go.has(c)&&(go.add(c),console.warn("The innerTagName and outerTagName props have been deprecated. Please use the innerElementType and outerElementType props instead."));var u="horizontal"===r||"horizontal"===i;switch(r){case"horizontal":case"vertical":yo&&!yo.has(c)&&(yo.add(c),console.warn('The direction prop should be either "ltr" (default) or "rtl". Please use the layout prop to specify "vertical" (default) or "horizontal" orientation.'));break;case"ltr":case"rtl":break;default:throw Error('An invalid "direction" prop has been specified. Value should be either "ltr" or "rtl". "'+r+'" was specified.')}switch(i){case"horizontal":case"vertical":break;default:throw Error('An invalid "layout" prop has been specified. Value should be either "horizontal" or "vertical". "'+i+'" was specified.')}if(null==n)throw Error('An invalid "children" prop has been specified. Value should be a React component. "'+(null===n?"null":typeof n)+'" was specified.');if(u&&"number"!=typeof s)throw Error('An invalid "width" prop has been specified. Horizontal lists must specify a number for width. "'+(null===s?"null":typeof s)+'" was specified.');if(!u&&"number"!=typeof o)throw Error('An invalid "height" prop has been specified. Vertical lists must specify a number for height. "'+(null===o?"null":typeof o)+'" was specified.')}},xo=function(e,t,n){var r=e.itemSize,o=n.itemMetadataMap,i=n.lastMeasuredIndex;if(t>i){var l=0;if(i>=0){var a=o[i];l=a.offset+a.size}for(var s=i+1;s<=t;s++){var c=r(s);o[s]={offset:l,size:c},l+=c}n.lastMeasuredIndex=t}return o[t]},wo=function(e,t,n,r,o){for(;r<=n;){var i=r+Math.floor((n-r)/2),l=xo(e,i,t).offset;if(l===o)return i;l<o?r=i+1:l>o&&(n=i-1)}return r>0?r-1:0},jo=function(e,t,n,r){for(var o=e.itemCount,i=1;n<o&&xo(e,n,t).offset<r;)n+=i,i*=2;return wo(e,t,Math.min(n,o-1),Math.floor(n/2),r)},_o=function(e,t){var n=e.itemCount,r=t.itemMetadataMap,o=t.estimatedItemSize,i=t.lastMeasuredIndex,l=0;if(i>=n&&(i=n-1),i>=0){var a=r[i];l=a.offset+a.size}return l+(n-i-1)*o},So=mo({getItemOffset:function(e,t,n){return xo(e,t,n).offset},getItemSize:function(e,t,n){return n.itemMetadataMap[t].size},getEstimatedTotalSize:_o,getOffsetForIndexAndAlignment:function(e,t,n,r,o,i){var l=e.direction,a=e.height,s=e.layout,c=e.width,u="horizontal"===l||"horizontal"===s?c:a,f=xo(e,t,o),d=_o(e,o),h=Math.max(0,Math.min(d-u,f.offset)),p=Math.max(0,f.offset-u+f.size+i);switch("smart"===n&&(n=r>=p-u&&r<=h+u?"auto":"center"),n){case"start":return h;case"end":return p;case"center":return Math.round(p+(h-p)/2);default:return r>=p&&r<=h?r:r<p?p:h}},getStartIndexForOffset:function(e,t,n){return function(e,t,n){var r=t.itemMetadataMap,o=t.lastMeasuredIndex;return(o>0?r[o].offset:0)>=n?wo(e,t,o,0,n):jo(e,t,Math.max(0,o),n)}(e,n,t)},getStopIndexForStartIndex:function(e,t,n,r){for(var o=e.direction,i=e.height,l=e.itemCount,a=e.layout,s=e.width,c="horizontal"===o||"horizontal"===a?s:i,u=xo(e,t,r),f=n+c,d=u.offset+u.size,h=t;h<l-1&&d<f;)h++,d+=xo(e,h,r).size;return h},initInstanceProps:function(e,t){var n={itemMetadataMap:{},estimatedItemSize:e.estimatedItemSize||50,lastMeasuredIndex:-1};return t.resetAfterIndex=function(e,r){void 0===r&&(r=!0),n.lastMeasuredIndex=Math.min(n.lastMeasuredIndex,e-1),t._getItemStyleCache(-1),r&&t.forceUpdate()},n},shouldResetStyleCacheOnItemSizeChange:!1,validateProps:function(e){var t=e.itemSize;if("production"!==process.env.NODE_ENV&&"function"!=typeof t)throw Error('An invalid "itemSize" prop has been specified. Value should be a function. "'+(null===t?"null":typeof t)+'" was specified.')}});function Oo(e){const t=window.getComputedStyle(e),n=Number.parseFloat(t.lineHeight);let r=n;return Number.isNaN(n)&&(r=1.2*Number.parseFloat(t.fontSize)),Math.round(e.scrollHeight/r)}var Mo={};Object.defineProperty(Mo,"__esModule",{value:!0}),Mo.calcSlices=Mo.applyPatch=Mo.calcPatch=Eo=Mo.lcs=Mo.diff=Mo.diff_core=void 0;class ko{constructor(e){this.state=e,this.c=0,this.result={value:null,done:!1}}[Symbol.iterator](){return this}next(){const{state:e,result:t}=this;if(this.c>1)return t.done=!0,t.value=void 0,t;const n=function(e,t){const{b:n,eq:r,stack_base:o}=e;let{i:i,N:l,j:a,M:s,Z:c,stack_top:u}=e;for(;;)switch(t){case 0:e:for(;l>0&&s>0;){n.fill(0,0,2*c);const e=l-s,t=l+s,f=1&t,d=i+l-1,h=a+s-1,p=(t+f)/2;let v;t:for(let t=0;t<=p;t++){const p=2*Math.max(0,t-s)-t,y=t-2*Math.max(0,t-l);for(let d=p;d<=y;d+=2){const h=n[d-1-c*Math.floor((d-1)/c)],p=n[d+1-c*Math.floor((d+1)/c)],y=d===-t||d!==t&&h<p?p:h+1,g=y-d;let m=y,b=g;for(;m<l&&b<s&&r(i+m,a+b);)m++,b++;if(n[d-c*Math.floor(d/c)]=m,1===f&&(v=e-d)>=1-t&&v<t&&m+n[c+v-c*Math.floor(v/c)]>=l){if(t>1||m!==y){o[u++]=i+m,o[u++]=l-m,o[u++]=a+b,o[u++]=s-b,l=y,s=g,c=2*(Math.min(l,s)+1);continue e}break t}}for(let g=p;g<=y;g+=2){const p=n[c+g-1-c*Math.floor((g-1)/c)],y=n[c+g+1-c*Math.floor((g+1)/c)],m=g===-t||g!==t&&p<y?y:p+1,b=m-g;let x=m,w=b;for(;x<l&&w<s&&r(d-x,h-w);)x++,w++;if(n[c+g-c*Math.floor(g/c)]=x,0===f&&(v=e-g)>=-t&&v<=t&&x+n[v-c*Math.floor(v/c)]>=l){if(t>0||x!==m){o[u++]=i+l-m,o[u++]=m,o[u++]=a+s-b,o[u++]=b,l-=x,s-=w,c=2*(Math.min(l,s)+1);continue e}break t}}}if(l!==s){s>l?(i+=l,a+=l,s-=l,l=0):(i+=s,a+=s,l-=s,s=0);break}}if(l+s!==0)if(e.pxe===i||e.pye===a)e.pxe=i+l,e.pye=a+s;else{const t=e.pxs;if(e.oxs=e.pxs,e.oxe=e.pxe,e.oys=e.pys,e.oye=e.pye,e.pxs=i,e.pxe=i+l,e.pys=a,e.pye=a+s,t>=0)return e.i=i,e.N=l,e.j=a,e.M=s,e.Z=c,e.stack_top=u,1}case 1:if(0===u)return 2;s=o[--u],a=o[--u],l=o[--u],i=o[--u],c=2*(Math.min(l,s)+1),t=0}}(e,this.c);return this.c=n,1===n?(t.value=[e.oxs,e.oxe,e.oys,e.oye],t):e.pxs>=0?(t.value=[e.pxs,e.pxe,e.pys,e.pye],t):(t.done=!0,t.value=void 0,t)}}function Ao(e,t,n,r,o){const i=2*(Math.min(t,r)+1),l=t+r,a=new(l<256?Uint8Array:l<65536?Uint16Array:Uint32Array)(2*i);return new ko({i:e,N:t,j:n,M:r,Z:i,b:a,eq:o,pxs:-1,pxe:-1,pys:-1,pye:-1,oxs:-1,oxe:-1,oys:-1,oye:-1,stack_top:0,stack_base:[]})}function Io(e,t,n){let[r,o,i]=[0,e.length,t.length];if("function"==typeof n){for(;r<o&&r<i&&n(r,r);)r++;if(r===o&&r===i)return[][Symbol.iterator]();for(;n(--o,--i)&&o>r&&i>r;);}else{for(;r<o&&r<i&&e[r]===t[r];)r++;if(r===o&&r===i)return[][Symbol.iterator]();for(;e[--o]===t[--i]&&o>r&&i>r;);n=(n,r)=>e[n]===t[r]}return Ao(r,o+1-r,r,i+1-r,n)}Mo.diff_core=Ao,Mo.diff=Io;class No{constructor(e,t){this.diff=e,this.N=t,this.i=0,this.j=0}[Symbol.iterator](){return this}next(){const e=this.diff.next();if(e.done){const{i:t,j:n,N:r}=this;return t<r&&(e.done=!1,e.value=[t,n,r-t],this.i=r),e}const t=e.value,n=t[0],r=t[1],o=t[3],{i:i,j:l}=this;return i!==n&&(t.length--,t[0]=i,t[1]=l,t[2]=n-i),this.i=r,this.j=o,e}}var Eo=Mo.lcs=function(e,t,n){return new No(Io(e,t,n),e.length)};function Co(e,t){const n=[];let r=0;for(const o of e)n.push(r),r+=o.length+t;return n.push(r-t),n}function qo(e){return e.filter((e=>e.end>e.start))}function Do(e,t,n){if(!e)return[{token:"plain",start:n,end:t.length+n}];if("undefined"===t||"Infinity"===t||"-Infinity"===t||"NaN"===t||/^\d+n$/i.test(t)||t.startsWith("Symbol(")||t.startsWith("function")||t.startsWith("("))return[{token:"invalid",start:n,end:t.length+n}];if(!Number.isNaN(Number(t)))return[{token:"number",start:n,end:t.length+n}];if("true"===t||"false"===t)return[{token:"boolean",start:n,end:t.length+n}];if("null"===t)return[{token:"null",start:n,end:t.length+n}];if(t.startsWith('"')){if(t.endsWith(": [")||t.endsWith(": {"))return[{token:"key",start:n,end:t.length-3+n},{token:"punctuation",start:t.length-3,end:t.length-2+n},{token:"plain",start:t.length-2,end:t.length-1+n},{token:"punctuation",start:t.length-1,end:t.length+n}];let r=1;for(;r<t.length&&'"'!==t[r];)"\\"===t[r]&&++r,++r;return r===t.length-1?[{token:"string",start:n,end:t.length+n}]:[{token:"key",start:n,end:r+1+n},{token:"punctuation",start:r+1,end:r+2+n},{token:"plain",start:r+2,end:r+3+n},...Do(e,t.substring(r+3),n+r+3)]}return"{"===t||"}"===t||"["===t||"]"===t?[{token:"punctuation",start:n,end:t.length+n}]:[{token:"plain",start:n,end:t.length+n}]}function Ro({index:r,style:o,data:l}){const{onExpand:a,inlineDiffOptions:s,leftDiff:c,rightDiff:u}=l,f=c[r],d=u[r];if(Ur(f)||Ur(d)){const n=c[r],l=i((e=>{Ur(e)&&a(e.segmentIndex)}),[a]);return t("div",{className:"grid-row collapsed-button",style:{...o,display:"grid",gridTemplateColumns:"30px 1fr 30px 1fr"},role:"row","data-index":r,children:[e("div",{className:"cell line-number"}),e("div",{className:"cell",children:e("span",{className:"expand-button-container",children:e("button",{onClick:()=>l(n),className:"text-blue-500 underline",children:"Show Hidden Lines"})})}),e("div",{className:"cell line-number"}),e("div",{className:"cell",children:e("span",{className:"expand-button-container",children:e("button",{onClick:()=>l(n),className:"text-blue-500 underline",children:"Show Hidden Lines"})})})]})}const[h,p]="modify"===f.type&&"modify"===d.type?function(e,t,n){let r=[],o=[],i=0,l=0;if("word"===n.mode){const a=n.wordSeparator||" ",s=e.split(a),c=t.split(a),u=[...Eo(s,c)],f=a.length,d=Co(s,f),h=Co(c,f);for(const[e,t,n]of u)e>i&&r.push({type:"remove",start:d[i],end:d[e]}),t>l&&o.push({type:"add",start:h[l],end:h[t]}),i=e+n,l=t+n,r.push({start:d[e],end:d[i]}),o.push({start:h[t],end:h[l]});return e.length>i&&r.push({type:"remove",start:d[i],end:e.length}),t.length>l&&o.push({type:"add",start:h[l],end:t.length}),r=qo(r),o=qo(o),[r,o]}const a=Eo(e,t);for(const[e,t,n]of a)e>i&&r.push({type:"remove",start:i,end:e}),t>l&&o.push({type:"add",start:l,end:t}),i=e+n,l=t+n,r.push({start:e,end:i}),o.push({start:t,end:l});return e.length>i&&r.push({type:"remove",start:i,end:e.length}),t.length>l&&o.push({type:"add",start:l,end:t.length}),r=qo(r),o=qo(o),[r,o]}(f.text,d.text,s??{mode:"char"}):[[],[]],v=Do(!0,f.text,0),y=Do(!0,d.text,0),g=Jr(v,h),m=Jr(y,p),b=(r,o,i)=>t(n,{children:[o.map(((t,n)=>{const o=r.slice(t.start,t.end),i=[t.type?`inline-diff-${t.type}`:"",t.token?`token ${t.token}`:""].filter(Boolean).join(" ");return e("span",{className:i,children:o},`${n}-${t.type}-${o}`)})),i&&e("span",{className:"token punctuation",children:","})]});return t("div",{className:"grid-row",style:{...o,display:"grid",gridTemplateColumns:"30px 1fr 30px 1fr"},role:"row","data-index":r,children:[e("div",{className:`cell line-${f.type} line-number`,role:"cell",children:f.lineNumber}),e("div",{className:`cell line-${f.type} ${Kr(f)}`,role:"cell",children:t("pre",{children:[f.text&&" ".repeat(5*f.level),b(f.text,g,f.comma)]})}),e("div",{className:`cell line-${d.type} line-number`,role:"cell",children:d.lineNumber}),e("div",{className:`cell line-${d.type} ${Kr(d)}`,role:"cell",children:t("pre",{children:[d.text&&" ".repeat(5*d.level),b(d.text,m,d.comma)]})})]})}Mo.calcPatch=function*(e,t,n){const r=ArrayBuffer.isView(e)?Uint8Array.prototype.subarray:e.slice;for(const o of Io(e,t,n))o[2]=r.call(t,o[2],o[3]),yield o},Mo.applyPatch=function*(e,t){let n=0;const r=ArrayBuffer.isView(e)?Uint8Array.prototype.subarray:e.slice;for(const[o,i,l]of t)n<o&&(yield r.call(e,n,o)),l.length>0&&(yield l),n=i;n<e.length&&(yield r.call(e,n))},Mo.calcSlices=function*(e,t,n){let r=0;const o=ArrayBuffer.isView(e)?Uint8Array.prototype.subarray:e.slice;for(const[i,l,a,s]of Io(e,t,n))r<i&&(yield[0,o.call(e,r,i)]),i<l&&(yield[-1,o.call(e,i,l)]),a<s&&(yield[1,o.call(t,a,s)]),r=l;r<e.length&&(yield[0,e.slice(r)])};const Bo=({leftDiff:t,rightDiff:n,outerRef:o,listRef:s,height:c,inlineDiffOptions:f,className:d,setScrollTop:h,onExpand:p,overScanCount:v=10})=>{const y=a((()=>({leftDiff:t,rightDiff:n,onExpand:p,inlineDiffOptions:f})),[t,n,p,f]),g=["json-diff-viewer","json-diff-viewer-theme-custom",d].filter(Boolean).join(" "),m=a((()=>Hr()),[]),b=function(e){const[t,n]=r([]),o=i((()=>{const e=document.querySelectorAll(".json-diff-viewer pre"),t=[];for(let n=0;n<e.length;n+=2){const r=Oo(e[n]),o=Oo(e[n+1]);t.push(Math.max(r,o))}n(t)}),[]);return u((()=>{o()}),[e]),u((()=>(window.addEventListener("resize",o),()=>window.removeEventListener("resize",o))),[o]),t}(t),x=i((e=>Ur(t[e])?20:(b[e]??1)*m),[t,b]);return l((()=>{s.current?.resetAfterIndex(0,!0)}),[b]),e("div",{className:g,children:e(So,{height:c,width:"100%",style:{alignItems:"start"},outerRef:o,ref:s,className:"virtual-json-diff-list-container",itemCount:Math.max(t.length,n.length),itemSize:x,overscanCount:v,itemData:y,onScroll:({scrollOffset:e})=>h(e),children:Ro})})},$o=({oldValue:n,newValue:s,height:c,searchTerm:u,leftTitle:f,rightTitle:d,hideSearch:h,showSingleMinimap:p,onSearchMatch:v,differOptions:y,className:g,miniMapWidth:m,inlineDiffOptions:b,overScanCount:x})=>{const w=o(null),j=o(null),_=a((()=>new Wr({detectCircular:!0,maxDepth:20,showModifications:!0,arrayDiffMethod:"lcs",preserveKeyOrder:"before",...y})),[y]),S=a((()=>n&&s?_.diff(n,s):[[],[]]),[n,s,_]),[O,M]=r(0),[k,A]=r([]),[I,N]=S,[E,C]=r([]),[q,D]=r([]);l((()=>{const e=function(e,t=3){if(!Array.isArray(e))throw new TypeError("Diff input must be an array");const n=[];let r=0;if(r<e.length&&Yr(e[r])){let o=Math.min(r+t,e.length);for(;o<e.length&&Yr(e[o]);)o++;n.push({start:r,end:o,isEqual:!0}),r=o}for(;r<e.length;)if(Yr(e[r])){let t=r;for(;t<e.length&&Yr(e[t]);)t++;n.push({start:r,end:t,isEqual:!0}),r=t}else{const o=Math.max(0,r-t),i=Math.min(e.length,r+1+t);o<r&&(0===n.length||n[n.length-1].end<=o)&&n.push({start:o,end:r,isEqual:!0}),n.push({start:r,end:r+1,isEqual:!1}),r+1<i&&n.push({start:r+1,end:i,isEqual:!0}),r=i}return n}(I);A(e)}),[I]);const{searchState:R,handleSearch:B,navigateMatch:$}=Gr(E,u,(e=>{j.current?.scrollToItem(e,"center"),v?.(e)})),z=i((e=>A((t=>function(e,t){const n=[...e],r=n[t];return r?.isEqual?(n[t]={...r,isExpanded:!0,originalStart:r.start,originalEnd:r.end,start:r.start,end:r.end},n):e}(t,e)))),[]),T=i((()=>A((e=>function(e){return e.map((e=>e.isEqual&&e.isExpanded?{...e,isExpanded:!1,start:e.originalStart??e.start,end:e.originalEnd??e.end}:e))}(e)))),[]),L=a((()=>function(e){return e.some((e=>e.isEqual&&e.isExpanded))}(k)),[k]),P={leftDiff:E,rightDiff:q,height:c,miniMapWidth:m,currentScrollTop:O,searchResults:R.results,currentMatchIndex:R.currentIndex,onScroll:e=>j.current?.scrollTo(e)};return l((()=>{const e=Zr(k,I),t=Zr(k,N);C(e),D(t)}),[k,I,N]),t("div",{className:"diff-viewer-container"+(g?` ${g}`:""),children:[t("div",{className:"json-diff-header",children:[e(to,{handleSearch:B,navigateMatch:$,searchState:R,hideSearch:h}),t("div",{className:"json-diff-title-container",children:[e("div",{children:e("span",{children:f})}),e("div",{children:e("span",{children:d})})]})]}),t("div",{style:{display:"flex",gap:"8px",position:"relative"},children:[e(Bo,{outerRef:w,listRef:j,leftDiff:E,rightDiff:q,height:c,overScanCount:x,setScrollTop:M,onExpand:z,className:"virtual-json-diff-list-container",inlineDiffOptions:b}),t("div",{className:"minimap-overlay",children:[e("div",{className:"half left-map-holder",children:!p&&e(Xr,{...P})}),e("div",{className:"half right-map-holder",children:e(Xr,{...P})})]})]}),L&&e("div",{className:"hide-all-button",children:e("button",{onClick:T,children:"Hide All Expanded Lines"})})]})};export{$o as VirtualDiffViewer};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|