This commit is contained in:
github-actions[bot]
2024-07-28 08:32:42 +00:00
parent 4a8b1f5fc1
commit cdd4c661da
103 changed files with 141 additions and 141 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[160],{5680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>y});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),m=a,y=d["".concat(c,".").concat(m)]||d[m]||u[m]||i;return n?r.createElement(y,o(o({ref:t},p),{},{components:n})):r.createElement(y,o({ref:t},p))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[d]="string"==typeof e?e:a,o[1]=s;for(var l=2;l<i;l++)o[l]=n[l];return r.createElement.apply(null,o)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},8187:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>l});var r=n(8168),a=(n(6540),n(5680));n(1873);const i={},o="ZKContainer",s={unversionedId:"ZKContainers",id:"ZKContainers",title:"ZKContainer",description:"We found that developing ZK provers with ICICLE gives developers the ability to scale ZK provers across many machines and many GPUs. To make this possible we developed the ZKContainer.",source:"@site/docs/ZKContainers.md",sourceDirName:".",slug:"/ZKContainers",permalink:"/ZKContainers",editUrl:"https://github.com/ingonyama-zk/icicle/tree/main/docs/ZKContainers.md",tags:[],version:"current",lastUpdatedBy:"ChickenLover",lastUpdatedAt:1722155488,formattedLastUpdatedAt:"7/28/2024",frontMatter:{},sidebar:"GettingStartedSidebar",previous:{title:"ICICLE integrated provers",permalink:"/icicle/integrations"},next:{title:"Ingonyama Grant programs",permalink:"/grants"}},c={},l=[{value:"What is a ZKContainer?",id:"what-is-a-zkcontainer",level:2}],p={toc:l},d="wrapper";function u(e){let{components:t,...i}=e;return(0,a.yg)(d,(0,r.A)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("h1",{id:"zkcontainer"},"ZKContainer"),(0,a.yg)("p",null,"We found that developing ZK provers with ICICLE gives developers the ability to scale ZK provers across many machines and many GPUs. To make this possible we developed the ZKContainer."),(0,a.yg)("h2",{id:"what-is-a-zkcontainer"},"What is a ZKContainer?"),(0,a.yg)("p",null,"A ZKContainer is a standardized, optimized and secure docker container that we configured with ICICLE applications in mind. A developer using our ZKContainer can deploy an ICICLE application on a single machine or on a thousand GPU machines in a data center with minimal concerns regarding compatibility."),(0,a.yg)("p",null,"ZKContainer has been used by Ingonyama clients to achieve scalability across large data centers.\nWe suggest you read our ",(0,a.yg)("a",{parentName:"p",href:"https://medium.com/@ingonyama/product-announcement-zk-containers-0e2a1f2d0a2b"},"article")," regarding ZKContainer to understand the benefits of using them."),(0,a.yg)("p",null,(0,a.yg)("img",{alt:"ZKContainer inside a ZK data center",src:n(500).A,width:"1400",height:"875"})))}u.isMDXComponent=!0},500:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/architecture-zkcontainer-2bf99eb4700d652c0e85f8938a75f1ea.png"},1873:(e,t,n)=>{n(6540)}}]);

View File

@@ -1 +0,0 @@
"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[160],{5680:(e,t,n)=>{n.d(t,{xA:()=>p,yg:()=>y});var r=n(6540);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?o(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var c=r.createContext({}),l=function(e){var t=r.useContext(c),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=l(e.components);return r.createElement(c.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=l(n),m=a,y=d["".concat(c,".").concat(m)]||d[m]||u[m]||o;return n?r.createElement(y,i(i({ref:t},p),{},{components:n})):r.createElement(y,i({ref:t},p))}));function y(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[d]="string"==typeof e?e:a,i[1]=s;for(var l=2;l<o;l++)i[l]=n[l];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},8187:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>s,toc:()=>l});var r=n(8168),a=(n(6540),n(5680));n(1873);const o={},i="ZKContainer",s={unversionedId:"ZKContainers",id:"ZKContainers",title:"ZKContainer",description:"We found that developing ZK provers with ICICLE gives developers the ability to scale ZK provers across many machines and many GPUs. To make this possible we developed the ZKContainer.",source:"@site/docs/ZKContainers.md",sourceDirName:".",slug:"/ZKContainers",permalink:"/ZKContainers",editUrl:"https://github.com/ingonyama-zk/icicle/tree/main/docs/ZKContainers.md",tags:[],version:"current",lastUpdatedBy:"omahs",lastUpdatedAt:1721293084,formattedLastUpdatedAt:"7/18/2024",frontMatter:{},sidebar:"GettingStartedSidebar",previous:{title:"ICICLE integrated provers",permalink:"/icicle/integrations"},next:{title:"Ingonyama Grant programs",permalink:"/grants"}},c={},l=[{value:"What is a ZKContainer?",id:"what-is-a-zkcontainer",level:2}],p={toc:l},d="wrapper";function u(e){let{components:t,...o}=e;return(0,a.yg)(d,(0,r.A)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,a.yg)("h1",{id:"zkcontainer"},"ZKContainer"),(0,a.yg)("p",null,"We found that developing ZK provers with ICICLE gives developers the ability to scale ZK provers across many machines and many GPUs. To make this possible we developed the ZKContainer."),(0,a.yg)("h2",{id:"what-is-a-zkcontainer"},"What is a ZKContainer?"),(0,a.yg)("p",null,"A ZKContainer is a standardized, optimized and secure docker container that we configured with ICICLE applications in mind. A developer using our ZKContainer can deploy an ICICLE application on a single machine or on a thousand GPU machines in a data center with minimal concerns regarding compatibility."),(0,a.yg)("p",null,"ZKContainer has been used by Ingonyama clients to achieve scalability across large data centers.\nWe suggest you read our ",(0,a.yg)("a",{parentName:"p",href:"https://medium.com/@ingonyama/product-announcement-zk-containers-0e2a1f2d0a2b"},"article")," regarding ZKContainer to understand the benefits of using them."),(0,a.yg)("p",null,(0,a.yg)("img",{alt:"ZKContainer inside a ZK data center",src:n(500).A,width:"1400",height:"875"})))}u.isMDXComponent=!0},500:(e,t,n)=>{n.d(t,{A:()=>r});const r=n.p+"assets/images/architecture-zkcontainer-2bf99eb4700d652c0e85f8938a75f1ea.png"},1873:(e,t,n)=>{n(6540)}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1 +1 @@
"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[846],{5680:(e,t,i)=>{i.d(t,{xA:()=>p,yg:()=>v});var r=i(6540);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?a(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function c(e,t){if(null==e)return{};var i,r,n=function(e,t){if(null==e)return{};var i,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=r.createContext({}),s=function(e){var t=r.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(i),d=n,v=u["".concat(l,".").concat(d)]||u[d]||m[d]||a;return i?r.createElement(v,o(o({ref:t},p),{},{components:i})):r.createElement(v,o({ref:t},p))}));function v(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,o=new Array(a);o[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[u]="string"==typeof e?e:n,o[1]=c;for(var s=2;s<a;s++)o[s]=i[s];return r.createElement.apply(null,o)}return r.createElement.apply(null,i)}d.displayName="MDXCreateElement"},1296:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=i(8168),n=(i(6540),i(5680));i(1873);const a={},o="ICICLE Primitives",c={unversionedId:"icicle/primitives/overview",id:"icicle/primitives/overview",title:"ICICLE Primitives",description:"This section of the documentation is dedicated to the ICICLE primitives, we will cover the usage and internal details of our primitives such as hashing algorithms, MSM and NTT.",source:"@site/docs/icicle/primitives/overview.md",sourceDirName:"icicle/primitives",slug:"/icicle/primitives/overview",permalink:"/icicle/primitives/overview",editUrl:"https://github.com/ingonyama-zk/icicle/tree/main/docs/icicle/primitives/overview.md",tags:[],version:"current",lastUpdatedBy:"omahs",lastUpdatedAt:1721293084,formattedLastUpdatedAt:"7/18/2024",frontMatter:{},sidebar:"GettingStartedSidebar",previous:{title:"ICICLE Core",permalink:"/icicle/core"},next:{title:"MSM - Multi scalar multiplication",permalink:"/icicle/primitives/msm"}},l={},s=[{value:"Supported primitives",id:"supported-primitives",level:2}],p={toc:s},u="wrapper";function m(e){let{components:t,...i}=e;return(0,n.yg)(u,(0,r.A)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("h1",{id:"icicle-primitives"},"ICICLE Primitives"),(0,n.yg)("p",null,"This section of the documentation is dedicated to the ICICLE primitives, we will cover the usage and internal details of our primitives such as hashing algorithms, MSM and NTT."),(0,n.yg)("h2",{id:"supported-primitives"},"Supported primitives"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/msm"},"MSM")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/ntt"},"NTT")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/keccak"},"Keccak Hash")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/poseidon"},"Poseidon Hash"))))}m.isMDXComponent=!0},1873:(e,t,i)=>{i(6540)}}]);
"use strict";(self.webpackChunkdocusaurus=self.webpackChunkdocusaurus||[]).push([[846],{5680:(e,t,i)=>{i.d(t,{xA:()=>p,yg:()=>d});var r=i(6540);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function a(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function o(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?a(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):a(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function c(e,t){if(null==e)return{};var i,r,n=function(e,t){if(null==e)return{};var i,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)i=a[r],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var l=r.createContext({}),s=function(e){var t=r.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):o(o({},t),e)),i},p=function(e){var t=s(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},v=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,a=e.originalType,l=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),u=s(i),v=n,d=u["".concat(l,".").concat(v)]||u[v]||m[v]||a;return i?r.createElement(d,o(o({ref:t},p),{},{components:i})):r.createElement(d,o({ref:t},p))}));function d(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=i.length,o=new Array(a);o[0]=v;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[u]="string"==typeof e?e:n,o[1]=c;for(var s=2;s<a;s++)o[s]=i[s];return r.createElement.apply(null,o)}return r.createElement.apply(null,i)}v.displayName="MDXCreateElement"},1296:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>m,frontMatter:()=>a,metadata:()=>c,toc:()=>s});var r=i(8168),n=(i(6540),i(5680));i(1873);const a={},o="ICICLE Primitives",c={unversionedId:"icicle/primitives/overview",id:"icicle/primitives/overview",title:"ICICLE Primitives",description:"This section of the documentation is dedicated to the ICICLE primitives, we will cover the usage and internal details of our primitives such as hashing algorithms, MSM and NTT.",source:"@site/docs/icicle/primitives/overview.md",sourceDirName:"icicle/primitives",slug:"/icicle/primitives/overview",permalink:"/icicle/primitives/overview",editUrl:"https://github.com/ingonyama-zk/icicle/tree/main/docs/icicle/primitives/overview.md",tags:[],version:"current",lastUpdatedBy:"ChickenLover",lastUpdatedAt:1722155488,formattedLastUpdatedAt:"7/28/2024",frontMatter:{},sidebar:"GettingStartedSidebar",previous:{title:"ICICLE Core",permalink:"/icicle/core"},next:{title:"MSM - Multi scalar multiplication",permalink:"/icicle/primitives/msm"}},l={},s=[{value:"Supported primitives",id:"supported-primitives",level:2}],p={toc:s},u="wrapper";function m(e){let{components:t,...i}=e;return(0,n.yg)(u,(0,r.A)({},p,i,{components:t,mdxType:"MDXLayout"}),(0,n.yg)("h1",{id:"icicle-primitives"},"ICICLE Primitives"),(0,n.yg)("p",null,"This section of the documentation is dedicated to the ICICLE primitives, we will cover the usage and internal details of our primitives such as hashing algorithms, MSM and NTT."),(0,n.yg)("h2",{id:"supported-primitives"},"Supported primitives"),(0,n.yg)("ul",null,(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/msm"},"MSM")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/ntt"},"NTT")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/keccak"},"Keccak Hash")),(0,n.yg)("li",{parentName:"ul"},(0,n.yg)("a",{parentName:"li",href:"/icicle/primitives/poseidon"},"Poseidon Hash"))))}m.isMDXComponent=!0},1873:(e,t,i)=>{i(6540)}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More