diff --git a/frameworks/non-keyed/vode/index.html b/frameworks/non-keyed/vode/index.html
index feec7cfea..aa56f4e61 100644
--- a/frameworks/non-keyed/vode/index.html
+++ b/frameworks/non-keyed/vode/index.html
@@ -7,6 +7,7 @@
+
diff --git a/frameworks/non-keyed/vode/main.mjs b/frameworks/non-keyed/vode/main.mjs
index 6d4862e4d..a566a842f 100644
--- a/frameworks/non-keyed/vode/main.mjs
+++ b/frameworks/non-keyed/vode/main.mjs
@@ -1 +1 @@
-(()=>{function V(e,o,r,...a){if(!e)throw new Error("container must be a valid HTMLElement");if(!o||typeof o!="object")throw new Error("given state must be an object");if(typeof r!="function")throw new Error("dom must be a function that returns a vode");let t={};t.stats={lastRenderTime:0,renderCount:0,liveEffectCount:0,patchCount:0,renderPatchCount:0},Object.defineProperty(o,"patch",{enumerable:!1,configurable:!0,writable:!1,value:async c=>{if(!(!c||typeof c!="function"&&typeof c!="object"))if(t.stats.patchCount++,c?.next){let d=c;t.stats.liveEffectCount++;try{let i=await d.next();for(;i.done===!1;){t.stats.liveEffectCount++;try{t.patch(i.value),i=await d.next()}finally{t.stats.liveEffectCount--}}t.patch(i.value)}finally{t.stats.liveEffectCount--}}else if(c.then){t.stats.liveEffectCount++;try{let d=await c;t.patch(d)}finally{t.stats.liveEffectCount--}}else Array.isArray(c)?typeof c[0]=="function"?c.length>1?t.patch(c[0](t.state,...c.slice(1))):t.patch(c[0](t.state)):t.stats.patchCount--:typeof c=="function"?t.patch(c(t.state)):(t.stats.renderPatchCount++,t.q=m(t.q||{},c,!1),t.isRendering||t.render())}}),Object.defineProperty(t,"render",{enumerable:!1,configurable:!0,writable:!1,value:()=>requestAnimationFrame(()=>{if(t.isRendering||!t.q)return;t.isRendering=!0;let c=Date.now();try{t.state=m(t.state,t.q,!0),t.q=null,t.vode=C(t.state,t.patch,e,0,t.vode,r(t.state))}finally{t.isRendering=!1,t.stats.renderCount++,t.stats.lastRenderTime=Date.now()-c,t.q&&t.render()}})}),t.patch=o.patch,t.state=o,t.q=null;let n=e;n._vode=t;let s=r(o);t.vode=s,t.vode=C(o,t.patch,e,0,void 0,s);for(let c of a)t.patch(c);return t.patch}function G(e,o){return o.__memo=e,o}function y(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function O(e){let o=w(e);return o>0?e.slice(o):null}function w(e){return y(e)?2:1}function m(e,o,r){if(!o)return e;for(let a in o){let t=o[a];if(t&&typeof t=="object"){let n=e[a];n?Array.isArray(t)?e[a]=[...t]:t instanceof Date&&n!==t?e[a]=new Date(t):Array.isArray(n)?e[a]=m({},t,r):typeof n=="object"?m(e[a],t,r):e[a]=m({},t,r):Array.isArray(t)?e[a]=[...t]:t instanceof Date?e[a]=new Date(t):e[a]=m({},t,r)}else t===void 0&&r?delete e[a]:e[a]=t}return e}function C(e,o,r,a,t,n,s){n=R(e,n,t);let c=!n||typeof n=="number"||typeof n=="boolean";if(n===t||!t&&c)return t;let d=t?.nodeType===Node.TEXT_NODE,i=d?t:t?.node;if(c){i?.onUnmount&&o(i.onUnmount(i)),i?.remove();return}let A=!c&&J(n),b=!c&&W(n),N=!!n&&typeof n!="string"&&!!(n?.node||n?.nodeType===Node.TEXT_NODE);if(!A&&!b&&!N&&!t)throw new Error("Invalid vode: "+typeof n+" "+JSON.stringify(n));if(N&&A?n=n.wholeText:N&&b&&(n=[...n]),d&&A)return i.nodeValue!==n&&(i.nodeValue=n),t;if(A&&(!i||!d)){let l=document.createTextNode(n);return i?(i.onUnmount&&o(i.onUnmount(i)),i.replaceWith(l)):r.childNodes[a]?r.insertBefore(l,r.childNodes[a]):r.appendChild(l),l}if(b&&(!i||d||t[0]!==n[0])){s=s||n[0]==="svg";let l=s?document.createElementNS("http://www.w3.org/2000/svg",n[0]):document.createElement(n[0]);n.node=l;let E=n;1 in E&&(E[1]=R(e,E[1],void 0));let g=y(n);D(o,l,void 0,g,s),i?(i.onUnmount&&o(i.onUnmount(i)),i.replaceWith(l)):r.childNodes[a]?r.insertBefore(l,r.childNodes[a]):r.appendChild(l);let u=O(n);if(u)for(let T=0;T0&&typeof e[0]=="string"}function J(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function R(e,o,r){if(typeof o!="function")return o;let a=o?.__memo,t=r?.__memo;if(Array.isArray(a)&&Array.isArray(t)&&a.length===t.length){let s=!0;for(let c=0;ce([c,d])}else if(Array.isArray(t)){let c=t,d=t[0];c.length>1?s=()=>e([d,...c.slice(1)]):s=i=>e([d,i])}else typeof t=="object"&&(s=()=>e(t));o[r]=s}else o[r]=null;else t!=null&&t!==!1?o.setAttribute(r,t):o.removeAttribute(r);return t}function L(e){return typeof e=="string"?e:Array.isArray(e)?e.map(L).join(" "):typeof e=="object"?Object.keys(e).filter(o=>e[o]).join(" "):""}var v="a";var S="button";var f="div";var U="h1";var I="span";var j="table",B="tbody",h="td";var _="tr";var z=1,K=["pretty","large","big","small","tall","short","long","handsome","plain","quaint","clean","elegant","easy","angry","crazy","helpful","mushy","odd","unsightly","adorable","important","inexpensive","cheap","expensive","fancy"],X=["red","yellow","blue","green","pink","brown","purple","brown","white","black","orange"],q=["table","chair","house","bbq","desk","car","pony","cookie","sandwich","burger","pizza","mouse","keyboard"];function k(e){return Math.round(Math.random()*1e3)%e}function M(e){let o=new Array(e);for(let r=0;r[f,{class:"container",id:"main"},[f,{class:"jumbotron"},[f,{class:"row"},[f,{class:"col-md-6"},[U,`[V,{},d,e] ${$.dependencies["@ryupold/vode"]} (non-keyed)`]],[f,{class:"col-md-6"},[f,{class:"row"},[f,{class:"col-sm-6 smallpad"},[S,{id:"run",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e3),selected:null})},"Create 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"runlots",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e4),selected:null})},"Create 10,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"add",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.concat(M(1e3))})},"Append 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"update",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.map((o,r)=>r%10===0?{id:o.id,label:o.label+" !!!"}:o)})},"Update every 10th row"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"clear",type:"button",class:"btn btn-primary btn-block",onclick:{data:[],selected:null}},"Clear"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"swaprows",type:"button",class:"btn btn-primary btn-block",onclick:()=>{if(e.data.length>998){let o=e.data[998];e.data[998]=e.data[1],e.data[1]=o}return{}}},"Swap Rows"]]]]]],[j,{class:"table table-hover table-striped test-data"},[B,...e.data.map(o=>G([o.id,o.label,e.selected===o.id],r=>[_,{class:{danger:r.selected===o.id}},[h,{class:"col-md-1"},o.id],[h,{class:"col-md-4"},[v,{onclick:{selected:o.id}},o.label]],[h,{class:"col-md-1"},[v,{onclick:()=>({data:r.data.filter(a=>a.id!==o.id),selected:r.selected===o.id?null:r.selected})},[I,{class:"glyphicon glyphicon-remove","aria-hidden":"true"}]]],[h,{class:"col-md-6"}]]))]],[I,{class:"preloadicon glyphicon glyphicon-remove","aria-hidden":"true"}]]);})();
+(()=>{function F(e,s,a,...n){if(!e?.parentElement)throw new Error("first argument to app() must be a valid HTMLElement inside the document");if(!s||typeof s!="object")throw new Error("second argument to app() must be a state object");if(typeof a!="function")throw new Error("third argument to app() must be a function that returns a vode");let t={};t.stats={lastRenderTime:0,renderCount:0,liveEffectCount:0,patchCount:0,renderPatchCount:0},Object.defineProperty(s,"patch",{enumerable:!1,configurable:!0,writable:!1,value:async r=>{if(!(!r||typeof r!="function"&&typeof r!="object"))if(t.stats.patchCount++,r?.next){let i=r;t.stats.liveEffectCount++;try{let u=await i.next();for(;u.done===!1;){t.stats.liveEffectCount++;try{t.patch(u.value),u=await i.next()}finally{t.stats.liveEffectCount--}}t.patch(u.value)}finally{t.stats.liveEffectCount--}}else if(r.then){t.stats.liveEffectCount++;try{let i=await r;t.patch(i)}finally{t.stats.liveEffectCount--}}else Array.isArray(r)?typeof r[0]=="function"?r.length>1?t.patch(r[0](t.state,...r.slice(1))):t.patch(r[0](t.state)):t.stats.patchCount--:typeof r=="function"?t.patch(r(t.state)):(t.stats.renderPatchCount++,t.q=m(t.q||{},r,!1),t.isRendering||t.render())}}),Object.defineProperty(t,"render",{enumerable:!1,configurable:!0,writable:!1,value:()=>requestAnimationFrame(()=>{if(t.isRendering||!t.q)return;t.isRendering=!0;let r=Date.now();try{t.state=m(t.state,t.q,!0),t.q=null;let i=a(t.state);t.vode=C(t.state,t.patch,e.parentElement,0,t.vode,i),e.tagName.toUpperCase()!==i[0].toUpperCase()&&(e=t.vode.node,e._vode=t)}finally{t.isRendering=!1,t.stats.renderCount++,t.stats.lastRenderTime=Date.now()-r,t.q&&t.render()}})}),t.patch=s.patch,t.state=s,t.q=null;let o=e;o._vode=t,t.vode=C(s,t.patch,e.parentElement,Array.from(e.parentElement.children).indexOf(e),H(e,!0),a(s));for(let r of n)t.patch(r);return t.patch}function H(e,s){if(e?.nodeType===Node.TEXT_NODE)return e.nodeValue?.trim()!==""?s?e:e.nodeValue:void 0;if(e.nodeType===Node.COMMENT_NODE)return;if(e.nodeType===Node.ELEMENT_NODE){let n=[e.tagName.toLowerCase()];if(s&&(n.node=e),e?.hasAttributes()){let t={},o=e.attributes;for(let r of o)t[r.name]=r.value;n.push(t)}if(e.hasChildNodes()){let t=[];for(let o of e.childNodes){let r=o&&H(o,s);r?n.push(r):o&&s&&t.push(o)}for(let o of t)o.remove()}return n}else return}function U(e,s){if(!e||!Array.isArray(e))throw new Error("first argument to memo() must be an array of values to compare");if(typeof s!="function")throw new Error("second argument to memo() must be a function that returns a vode or props object");return s.__memo=e,s}function V(e){if(!e||typeof e!="object")throw new Error("createState() must be called with a state object");return e}function x(e){if(Array.isArray(e)&&e.length>1&&e[1]&&!Array.isArray(e[1])&&typeof e[1]=="object"&&e[1].nodeType!==Node.TEXT_NODE)return e[1]}function O(e){let s=J(e);return s>0?e.slice(s):null}function J(e){return x(e)?2:1}function m(e,s,a){if(!s)return e;for(let n in s){let t=s[n];if(t&&typeof t=="object"){let o=e[n];o?Array.isArray(t)?e[n]=[...t]:t instanceof Date&&o!==t?e[n]=new Date(t):Array.isArray(o)?e[n]=m({},t,a):typeof o=="object"?m(e[n],t,a):e[n]=m({},t,a):Array.isArray(t)?e[n]=[...t]:t instanceof Date?e[n]=new Date(t):e[n]=m({},t,a)}else t===void 0&&a?delete e[n]:e[n]=t}return e}function C(e,s,a,n,t,o,r){o=R(e,o,t);let i=!o||typeof o=="number"||typeof o=="boolean";if(o===t||!t&&i)return t;let u=t?.nodeType===Node.TEXT_NODE,p=u?t:t?.node;if(i){p?.onUnmount&&s(p.onUnmount(p)),p?.remove();return}let A=!i&&Q(o),b=!i&&z(o),N=!!o&&typeof o!="string"&&!!(o?.node||o?.nodeType===Node.TEXT_NODE);if(!A&&!b&&!N&&!t)throw new Error("Invalid vode: "+typeof o+" "+JSON.stringify(o));if(N&&A?o=o.wholeText:N&&b&&(o=[...o]),u&&A)return p.nodeValue!==o&&(p.nodeValue=o),t;if(A&&(!p||!u)){let T=document.createTextNode(o);return p?(p.onUnmount&&s(p.onUnmount(p)),p.replaceWith(T)):a.childNodes[n]?a.insertBefore(T,a.childNodes[n]):a.appendChild(T),T}if(b&&(!p||u||t[0]!==o[0])){let T=o;1 in T&&(T[1]=R(e,T[1],void 0));let E=x(o);r=E?.xmlns||r;let d=r?document.createElementNS(r,o[0]):document.createElement(o[0]);o.node=d,v(s,d,void 0,E),p?(p.onUnmount&&s(p.onUnmount(p)),p.replaceWith(d)):a.childNodes[n]?a.insertBefore(d,a.childNodes[n]):a.appendChild(d);let g=O(o);if(g)for(let l=0;l0&&typeof e[0]=="string"}function Q(e){return typeof e=="string"||e?.nodeType===Node.TEXT_NODE}function R(e,s,a){if(typeof s!="function")return s;let n=s?.__memo,t=a?.__memo;if(Array.isArray(n)&&Array.isArray(t)&&n.length===t.length){let r=!0;for(let i=0;ie([r,i])}else if(Array.isArray(t)){let r=t,i=t[0];r.length>1?o=()=>e([i,...r.slice(1)]):o=u=>e([i,u])}else typeof t=="object"&&(o=()=>e(t));s[a]=o}else s[a]=null;else t!=null&&t!==!1?s.setAttribute(a,t):s.removeAttribute(a);return t}function j(e){return typeof e=="string"?e:Array.isArray(e)?e.map(j).join(" "):typeof e=="object"?Object.keys(e).filter(s=>e[s]).join(" "):""}var D="a";var S="button";var f="div";var B="h1";var L="span";var _="table",K="tbody",h="td";var X="tr";var Z=1,q=["pretty","large","big","small","tall","short","long","handsome","plain","quaint","clean","elegant","easy","angry","crazy","helpful","mushy","odd","unsightly","adorable","important","inexpensive","cheap","expensive","fancy"],w=["red","yellow","blue","green","pink","brown","purple","brown","white","black","orange"],$=["table","chair","house","bbq","desk","car","pony","cookie","sandwich","burger","pizza","mouse","keyboard"];function I(e){return Math.round(Math.random()*1e3)%e}function M(e){let s=new Array(e);for(let a=0;a[f,{class:"container",id:"main"},[f,{class:"jumbotron"},[f,{class:"row"},[f,{class:"col-md-6"},[B,`[V,{},d,e] ${Y.dependencies["@ryupold/vode"]} (non-keyed)`]],[f,{class:"col-md-6"},[f,{class:"row"},[f,{class:"col-sm-6 smallpad"},[S,{id:"run",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e3),selected:null})},"Create 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"runlots",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:M(1e4),selected:null})},"Create 10,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"add",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.concat(M(1e3))})},"Append 1,000 rows"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"update",type:"button",class:"btn btn-primary btn-block",onclick:()=>({data:e.data.map((s,a)=>a%10===0?{id:s.id,label:s.label+" !!!"}:s)})},"Update every 10th row"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"clear",type:"button",class:"btn btn-primary btn-block",onclick:{data:[],selected:null}},"Clear"]],[f,{class:"col-sm-6 smallpad"},[S,{id:"swaprows",type:"button",class:"btn btn-primary btn-block",onclick:()=>{if(e.data.length>998){let s=e.data[998];e.data[998]=e.data[1],e.data[1]=s}return{}}},"Swap Rows"]]]]]],[_,{class:"table table-hover table-striped test-data"},[K,...e.data.map(s=>U([s.id,s.label,e.selected===s.id],a=>[X,{class:{danger:a.selected===s.id}},[h,{class:"col-md-1"},s.id],[h,{class:"col-md-4"},[D,{onclick:{selected:s.id}},s.label]],[h,{class:"col-md-1"},[D,{onclick:()=>({data:a.data.filter(n=>n.id!==s.id),selected:a.selected===s.id?null:a.selected})},[L,{class:"glyphicon glyphicon-remove","aria-hidden":"true"}]]],[h,{class:"col-md-6"}]]))]],[L,{class:"preloadicon glyphicon glyphicon-remove","aria-hidden":"true"}]]);})();
diff --git a/frameworks/non-keyed/vode/package-lock.json b/frameworks/non-keyed/vode/package-lock.json
index 141c20a04..b88d344e0 100644
--- a/frameworks/non-keyed/vode/package-lock.json
+++ b/frameworks/non-keyed/vode/package-lock.json
@@ -1,24 +1,24 @@
{
"name": "js-framework-benchmark-vode",
- "version": "1.0.1",
+ "version": "1.2.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "js-framework-benchmark-vode",
- "version": "1.0.1",
+ "version": "1.2.0",
"license": "MIT",
"dependencies": {
- "@ryupold/vode": "1.0.2"
+ "@ryupold/vode": "1.2.0"
},
"devDependencies": {
- "esbuild": "0.25.9"
+ "esbuild": "0.25.10"
}
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz",
- "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz",
+ "integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==",
"cpu": [
"ppc64"
],
@@ -33,9 +33,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz",
- "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz",
+ "integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==",
"cpu": [
"arm"
],
@@ -50,9 +50,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz",
- "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz",
+ "integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==",
"cpu": [
"arm64"
],
@@ -67,9 +67,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz",
- "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz",
+ "integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==",
"cpu": [
"x64"
],
@@ -84,9 +84,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz",
- "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz",
+ "integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==",
"cpu": [
"arm64"
],
@@ -101,9 +101,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz",
- "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz",
+ "integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==",
"cpu": [
"x64"
],
@@ -118,9 +118,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz",
- "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz",
+ "integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==",
"cpu": [
"arm64"
],
@@ -135,9 +135,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz",
- "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz",
+ "integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==",
"cpu": [
"x64"
],
@@ -152,9 +152,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz",
- "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz",
+ "integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==",
"cpu": [
"arm"
],
@@ -169,9 +169,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz",
- "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz",
+ "integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==",
"cpu": [
"arm64"
],
@@ -186,9 +186,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz",
- "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz",
+ "integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==",
"cpu": [
"ia32"
],
@@ -203,9 +203,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz",
- "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz",
+ "integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==",
"cpu": [
"loong64"
],
@@ -220,9 +220,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz",
- "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz",
+ "integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==",
"cpu": [
"mips64el"
],
@@ -237,9 +237,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz",
- "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz",
+ "integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==",
"cpu": [
"ppc64"
],
@@ -254,9 +254,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz",
- "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz",
+ "integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==",
"cpu": [
"riscv64"
],
@@ -271,9 +271,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz",
- "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz",
+ "integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==",
"cpu": [
"s390x"
],
@@ -288,9 +288,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz",
- "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz",
+ "integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==",
"cpu": [
"x64"
],
@@ -305,9 +305,9 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz",
- "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz",
+ "integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==",
"cpu": [
"arm64"
],
@@ -322,9 +322,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz",
- "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz",
+ "integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==",
"cpu": [
"x64"
],
@@ -339,9 +339,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz",
- "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz",
+ "integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==",
"cpu": [
"arm64"
],
@@ -356,9 +356,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz",
- "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz",
+ "integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==",
"cpu": [
"x64"
],
@@ -373,9 +373,9 @@
}
},
"node_modules/@esbuild/openharmony-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz",
- "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz",
+ "integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==",
"cpu": [
"arm64"
],
@@ -390,9 +390,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz",
- "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz",
+ "integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==",
"cpu": [
"x64"
],
@@ -407,9 +407,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz",
- "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz",
+ "integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==",
"cpu": [
"arm64"
],
@@ -424,9 +424,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz",
- "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz",
+ "integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==",
"cpu": [
"ia32"
],
@@ -441,9 +441,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz",
- "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz",
+ "integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==",
"cpu": [
"x64"
],
@@ -458,15 +458,15 @@
}
},
"node_modules/@ryupold/vode": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@ryupold/vode/-/vode-1.0.2.tgz",
- "integrity": "sha512-2P005pPnfHNSsMh+W1Wp6DLRDFBVJE1Iaco3duMdF5Ncu52BC41equlULk+zGkhgrjxVPzP8xqotQA6rpmsE0w==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ryupold/vode/-/vode-1.2.0.tgz",
+ "integrity": "sha512-3i5Jniy82dHJWgN0l6LAMDoVuBlsRHK5gLb9CfApkhrZE0lRmjFPVFK6mXv1iwSzPqujriTIKSPnYvs2bC1zZQ==",
"license": "MIT"
},
"node_modules/esbuild": {
- "version": "0.25.9",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz",
- "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==",
+ "version": "0.25.10",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz",
+ "integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -477,32 +477,32 @@
"node": ">=18"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.25.9",
- "@esbuild/android-arm": "0.25.9",
- "@esbuild/android-arm64": "0.25.9",
- "@esbuild/android-x64": "0.25.9",
- "@esbuild/darwin-arm64": "0.25.9",
- "@esbuild/darwin-x64": "0.25.9",
- "@esbuild/freebsd-arm64": "0.25.9",
- "@esbuild/freebsd-x64": "0.25.9",
- "@esbuild/linux-arm": "0.25.9",
- "@esbuild/linux-arm64": "0.25.9",
- "@esbuild/linux-ia32": "0.25.9",
- "@esbuild/linux-loong64": "0.25.9",
- "@esbuild/linux-mips64el": "0.25.9",
- "@esbuild/linux-ppc64": "0.25.9",
- "@esbuild/linux-riscv64": "0.25.9",
- "@esbuild/linux-s390x": "0.25.9",
- "@esbuild/linux-x64": "0.25.9",
- "@esbuild/netbsd-arm64": "0.25.9",
- "@esbuild/netbsd-x64": "0.25.9",
- "@esbuild/openbsd-arm64": "0.25.9",
- "@esbuild/openbsd-x64": "0.25.9",
- "@esbuild/openharmony-arm64": "0.25.9",
- "@esbuild/sunos-x64": "0.25.9",
- "@esbuild/win32-arm64": "0.25.9",
- "@esbuild/win32-ia32": "0.25.9",
- "@esbuild/win32-x64": "0.25.9"
+ "@esbuild/aix-ppc64": "0.25.10",
+ "@esbuild/android-arm": "0.25.10",
+ "@esbuild/android-arm64": "0.25.10",
+ "@esbuild/android-x64": "0.25.10",
+ "@esbuild/darwin-arm64": "0.25.10",
+ "@esbuild/darwin-x64": "0.25.10",
+ "@esbuild/freebsd-arm64": "0.25.10",
+ "@esbuild/freebsd-x64": "0.25.10",
+ "@esbuild/linux-arm": "0.25.10",
+ "@esbuild/linux-arm64": "0.25.10",
+ "@esbuild/linux-ia32": "0.25.10",
+ "@esbuild/linux-loong64": "0.25.10",
+ "@esbuild/linux-mips64el": "0.25.10",
+ "@esbuild/linux-ppc64": "0.25.10",
+ "@esbuild/linux-riscv64": "0.25.10",
+ "@esbuild/linux-s390x": "0.25.10",
+ "@esbuild/linux-x64": "0.25.10",
+ "@esbuild/netbsd-arm64": "0.25.10",
+ "@esbuild/netbsd-x64": "0.25.10",
+ "@esbuild/openbsd-arm64": "0.25.10",
+ "@esbuild/openbsd-x64": "0.25.10",
+ "@esbuild/openharmony-arm64": "0.25.10",
+ "@esbuild/sunos-x64": "0.25.10",
+ "@esbuild/win32-arm64": "0.25.10",
+ "@esbuild/win32-ia32": "0.25.10",
+ "@esbuild/win32-x64": "0.25.10"
}
}
}
diff --git a/frameworks/non-keyed/vode/package.json b/frameworks/non-keyed/vode/package.json
index 5453fcc78..8a190bde1 100644
--- a/frameworks/non-keyed/vode/package.json
+++ b/frameworks/non-keyed/vode/package.json
@@ -1,6 +1,6 @@
{
"name": "js-framework-benchmark-vode",
- "version": "1.0.1",
+ "version": "1.2.0",
"description": "vode framework benchmark",
"main": "main.mjs",
"js-framework-benchmark": {
@@ -8,10 +8,10 @@
"frameworkHomeURL": "https://github.com/ryupold/vode"
},
"dependencies": {
- "@ryupold/vode": "1.0.2"
+ "@ryupold/vode": "1.2.0"
},
"devDependencies": {
- "esbuild": "0.25.9"
+ "esbuild": "0.25.10"
},
"scripts": {
"build-prod": "npm run bundle",
diff --git a/frameworks/non-keyed/vode/src/main.ts b/frameworks/non-keyed/vode/src/main.ts
index 50f5c9227..d1f3bccab 100644
--- a/frameworks/non-keyed/vode/src/main.ts
+++ b/frameworks/non-keyed/vode/src/main.ts
@@ -9,7 +9,7 @@ const s = createState({
type State = typeof s;
-app(document.body, s, (s: State) => [DIV, { class: "container", id: 'main' },
+app(document.getElementById("app")!, s, (s: State) => [DIV, { class: "container", id: 'main' },
[DIV, { class: "jumbotron" },
[DIV, { class: "row" },
[DIV, { class: "col-md-6" },