This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch deploy
in repository https://gitbox.apache.org/repos/asf/incubator-fury-site.git


The following commit(s) were added to refs/heads/deploy by this push:
     new 084f72c  deploy: 89047c5d1d337208af386cfa1931a33e8714426a
084f72c is described below

commit 084f72c785480bd661c0a13e70db42da60acf353
Author: PragmaTwice <pragmatw...@users.noreply.github.com>
AuthorDate: Mon Dec 25 14:50:15 2023 +0000

    deploy: 89047c5d1d337208af386cfa1931a33e8714426a
---
 404.html                                           |   2 +-
 blog/fury_0_1_0_release/index.html                 |   2 +-
 blog/fury_0_1_1_release/index.html                 |   2 +-
 blog/fury_0_1_2_release/index.html                 |   2 +-
 blog/fury_0_2_0_release/index.html                 |   2 +-
 blog/fury_0_2_1_release/index.html                 |   2 +-
 blog/fury_0_3_0_release/index.html                 |   2 +-
 blog/fury_0_3_1_release/index.html                 |   2 +-
 blog/fury_0_4_0_release/index.html                 |   2 +-
 blog/fury_0_4_1_release/index.html                 |   2 +-
 .../index.html                                     |   2 +-
 blog/list/index.html                               |   2 +-
 docs__index.md.778c6473.chunk.css                  |   1 +
 docs__index.md.dffeadb3.async.js                   |   1 +
 ...__dumi__theme__ContextWrapper.0bd6f14b.async.js |   2 +-
 guide/development/index.html                       |   2 +-
 guide/graalvm_guide/index.html                     |   2 +-
 guide/java_object_graph_guide/index.html           |   2 +-
 guide/row_format_guide/index.html                  |   2 +-
 guide/scala_guide/index.html                       |   2 +-
 guide/xlang_object_graph_guide/index.html          |   2 +-
 blog/fury_0_2_0_release/index.html => index.html   |   2 +-
 introduction/benchmark/index.html                  |   2 +-
 introduction/features/index.html                   |   2 +-
 introduction/introduction/index.html               |   2 +-
 start/install/index.html                           |   2 +-
 start/usage/index.html                             |   2 +-
 umi.39c9eede.js => umi.8f9af598.js                 | 116 ++++++++++-----------
 zh/blog/fury_0_1_0_release/index.html              |   2 +-
 zh/blog/fury_0_1_1_release/index.html              |   2 +-
 zh/blog/fury_0_1_2_release/index.html              |   2 +-
 zh/blog/fury_0_2_0_release/index.html              |   2 +-
 zh/blog/fury_0_2_1_release/index.html              |   2 +-
 zh/blog/fury_0_3_0_release/index.html              |   2 +-
 zh/blog/fury_0_3_1_release/index.html              |   2 +-
 zh/blog/fury_0_4_0_release/index.html              |   2 +-
 zh/blog/fury_0_4_1_release/index.html              |   2 +-
 .../index.html                                     |   2 +-
 zh/blog/list/index.html                            |   2 +-
 zh/guide/java_object_graph_guide/index.html        |   2 +-
 zh/guide/row_format_guide/index.html               |   2 +-
 zh/guide/xlang_object_graph_guide/index.html       |   2 +-
 zh/introduction/benchmark/index.html               |   2 +-
 zh/introduction/features/index.html                |   2 +-
 zh/introduction/introduction/index.html            |   2 +-
 zh/start/install/index.html                        |   2 +-
 zh/start/usage/index.html                          |   2 +-
 ~demos/:id/index.html                              |   2 +-
 48 files changed, 105 insertions(+), 103 deletions(-)

diff --git a/404.html b/404.html
index f6537e9..a34c132 100644
--- a/404.html
+++ b/404.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_1_0_release/index.html 
b/blog/fury_0_1_0_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_1_0_release/index.html
+++ b/blog/fury_0_1_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_1_1_release/index.html 
b/blog/fury_0_1_1_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_1_1_release/index.html
+++ b/blog/fury_0_1_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_1_2_release/index.html 
b/blog/fury_0_1_2_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_1_2_release/index.html
+++ b/blog/fury_0_1_2_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_2_0_release/index.html 
b/blog/fury_0_2_0_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_2_0_release/index.html
+++ b/blog/fury_0_2_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_2_1_release/index.html 
b/blog/fury_0_2_1_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_2_1_release/index.html
+++ b/blog/fury_0_2_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_3_0_release/index.html 
b/blog/fury_0_3_0_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_3_0_release/index.html
+++ b/blog/fury_0_3_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_3_1_release/index.html 
b/blog/fury_0_3_1_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_3_1_release/index.html
+++ b/blog/fury_0_3_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_4_0_release/index.html 
b/blog/fury_0_4_0_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_4_0_release/index.html
+++ b/blog/fury_0_4_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_4_1_release/index.html 
b/blog/fury_0_4_1_release/index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_4_1_release/index.html
+++ b/blog/fury_0_4_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git 
a/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html 
b/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html
index f6537e9..a34c132 100644
--- 
a/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html
+++ 
b/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/list/index.html b/blog/list/index.html
index f6537e9..a34c132 100644
--- a/blog/list/index.html
+++ b/blog/list/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/docs__index.md.778c6473.chunk.css 
b/docs__index.md.778c6473.chunk.css
new file mode 100644
index 0000000..563c5c9
--- /dev/null
+++ b/docs__index.md.778c6473.chunk.css
@@ -0,0 +1 @@
+.dumi-default-table{margin:24px 0 
32px;transform:translate(0)}.dumi-default-table-content{overflow:auto}.dumi-default-table-content:before,.dumi-default-table-content:after{content:"";display:block;position:fixed;z-index:1;top:0;bottom:0;width:6px;pointer-events:none}.dumi-default-table-content[data-left-folded]:before{left:0;background-image:linear-gradient(to
 right,rgba(0,0,0,.1),rgba(0,0,0,0))}[data-prefers-color=dark] 
.dumi-default-table-content[data-left-folded]:before{background-im [...]
diff --git a/docs__index.md.dffeadb3.async.js b/docs__index.md.dffeadb3.async.js
new file mode 100644
index 0000000..b5972ca
--- /dev/null
+++ b/docs__index.md.dffeadb3.async.js
@@ -0,0 +1 @@
+"use 
strict";(self.webpackChunkfury_site=self.webpackChunkfury_site||[]).push([[935],{36680:function(r,u,_){_.r(u);var
 
o=_(71100),s=_(35532),d=_(37402),a=_(92225),m=_(3972),E=_(67915),f=_(35604),t=_(85956),l=_(62435),e=_(86074);function
 n(){var 
i=(0,t.eL)(),M=i.texts;return(0,e.jsx)(t.dY,{children:(0,e.jsx)(e.Fragment,{})})}u.default=n}}]);
diff --git 
a/dumi__tmp-production__dumi__theme__ContextWrapper.1485af2f.async.js 
b/dumi__tmp-production__dumi__theme__ContextWrapper.0bd6f14b.async.js
similarity index 98%
rename from dumi__tmp-production__dumi__theme__ContextWrapper.1485af2f.async.js
rename to dumi__tmp-production__dumi__theme__ContextWrapper.0bd6f14b.async.js
index 6eeac1f..50cb05d 100644
--- a/dumi__tmp-production__dumi__theme__ContextWrapper.1485af2f.async.js
+++ b/dumi__tmp-production__dumi__theme__ContextWrapper.0bd6f14b.async.js
@@ -1 +1 @@
-"use 
strict";(self.webpackChunkfury_site=self.webpackChunkfury_site||[]).push([[923],{34576:function(z,a,e){e.r(a),e.d(a,{default:function(){return
 _}});var 
l=e(5574),u=e.n(l),t=e(62435),i=e(85956),A=e(64236),o=e(56347),d=e(90482),c=e(86074),h={};function
 _(){var 
m=(0,i.pC)(),g=(0,t.useState)(!1),r=u()(g,2),p=r[0],f=r[1],n=(0,t.useRef)(i.m8.location.pathname);return(0,t.useEffect)(function(){return
 
i.m8.listen(function(s){s.location.pathname!==n.current&&(n.current=s.location.pathname,do
 [...]
+"use 
strict";(self.webpackChunkfury_site=self.webpackChunkfury_site||[]).push([[923],{34576:function(z,a,e){e.r(a),e.d(a,{default:function(){return
 _}});var 
l=e(5574),u=e.n(l),t=e(62435),i=e(85956),A=e(64236),o=e(74067),d=e(90482),c=e(86074),h={};function
 _(){var 
m=(0,i.pC)(),g=(0,t.useState)(!1),r=u()(g,2),p=r[0],f=r[1],n=(0,t.useRef)(i.m8.location.pathname);return(0,t.useEffect)(function(){return
 
i.m8.listen(function(s){s.location.pathname!==n.current&&(n.current=s.location.pathname,do
 [...]
diff --git a/guide/development/index.html b/guide/development/index.html
index f6537e9..a34c132 100644
--- a/guide/development/index.html
+++ b/guide/development/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/guide/graalvm_guide/index.html b/guide/graalvm_guide/index.html
index f6537e9..a34c132 100644
--- a/guide/graalvm_guide/index.html
+++ b/guide/graalvm_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/guide/java_object_graph_guide/index.html 
b/guide/java_object_graph_guide/index.html
index f6537e9..a34c132 100644
--- a/guide/java_object_graph_guide/index.html
+++ b/guide/java_object_graph_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/guide/row_format_guide/index.html 
b/guide/row_format_guide/index.html
index f6537e9..a34c132 100644
--- a/guide/row_format_guide/index.html
+++ b/guide/row_format_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/guide/scala_guide/index.html b/guide/scala_guide/index.html
index f6537e9..a34c132 100644
--- a/guide/scala_guide/index.html
+++ b/guide/scala_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/guide/xlang_object_graph_guide/index.html 
b/guide/xlang_object_graph_guide/index.html
index f6537e9..a34c132 100644
--- a/guide/xlang_object_graph_guide/index.html
+++ b/guide/xlang_object_graph_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/blog/fury_0_2_0_release/index.html b/index.html
similarity index 89%
copy from blog/fury_0_2_0_release/index.html
copy to index.html
index f6537e9..a34c132 100644
--- a/blog/fury_0_2_0_release/index.html
+++ b/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/introduction/benchmark/index.html 
b/introduction/benchmark/index.html
index f6537e9..a34c132 100644
--- a/introduction/benchmark/index.html
+++ b/introduction/benchmark/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/introduction/features/index.html b/introduction/features/index.html
index f6537e9..a34c132 100644
--- a/introduction/features/index.html
+++ b/introduction/features/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/introduction/introduction/index.html 
b/introduction/introduction/index.html
index f6537e9..a34c132 100644
--- a/introduction/introduction/index.html
+++ b/introduction/introduction/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/start/install/index.html b/start/install/index.html
index f6537e9..a34c132 100644
--- a/start/install/index.html
+++ b/start/install/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/start/usage/index.html b/start/usage/index.html
index f6537e9..a34c132 100644
--- a/start/usage/index.html
+++ b/start/usage/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/umi.39c9eede.js b/umi.8f9af598.js
similarity index 80%
rename from umi.39c9eede.js
rename to umi.8f9af598.js
index 0c93292..9e91393 100644
--- a/umi.39c9eede.js
+++ b/umi.8f9af598.js
@@ -1,4 +1,4 @@
-(function(){var __webpack_modules__={25687:function(d,m,e){"use 
strict";e.d(m,{kG:function(){return f}});function n(v){return 
Math.floor(Math.log(v)*Math.LOG10E)}function r(v,I){if(typeof 
v.repeat=="function")return v.repeat(I);for(var g=new 
Array(I),x=0;x<g.length;x++)g[x]=v;return g.join("")}function 
o(v,I,g,x){v.get(I)||v.set(I,Object.create(null));var 
E=v.get(I);E[g]=x}function u(v,I,g){for(var 
x=0,E=Object.keys(g);x<E.length;x++){var k=E[x];o(v,I,k,g[k])}}function 
s(v,I,g){return l( [...]
+(function(){var __webpack_modules__={25687:function(d,m,e){"use 
strict";e.d(m,{kG:function(){return f}});function n(v){return 
Math.floor(Math.log(v)*Math.LOG10E)}function r(v,I){if(typeof 
v.repeat=="function")return v.repeat(I);for(var g=new 
Array(I),x=0;x<g.length;x++)g[x]=v;return g.join("")}function 
o(v,I,g,x){v.get(I)||v.set(I,Object.create(null));var 
E=v.get(I);E[g]=x}function u(v,I,g){for(var 
x=0,E=Object.keys(g);x<E.length;x++){var k=E[x];o(v,I,k,g[k])}}function 
s(v,I,g){return l( [...]
 `).concat(k?`
 `.concat(k.message,`
 `).concat(k.stack):""))||this,E.code=I,typeof 
Error.captureStackTrace=="function"&&Error.captureStackTrace(E,v),E}return 
v}(Error),u=function(f){(0,n.ZT)(v,f);function v(I,g){return 
f.call(this,r.UNSUPPORTED_FORMATTER,I,g)||this}return 
v}(o),s=function(f){(0,n.ZT)(v,f);function v(I,g){return 
f.call(this,r.INVALID_CONFIG,I,g)||this}return 
v}(o),l=function(f){(0,n.ZT)(v,f);function v(I,g){return 
f.call(this,r.MISSING_DATA,I,g)||this}return 
v}(o),c=function(f){(0,n.ZT)(v,f);function v(I,g,x [...]
@@ -7,7 +7,7 @@ Locale: `).concat(g,`
 MessageID: `).concat(x==null?void 0:x.id,`
 Default Message: `).concat(x==null?void 0:x.defaultMessage,`
 Description: `).concat(x==null?void 0:x.description,`
-`),g,E)||this;return k.descriptor=x,k.locale=g,k}return 
v}(c),y=function(f){(0,n.ZT)(v,f);function v(I,g){var 
x=f.call(this,r.MISSING_TRANSLATION,'Missing message: "'.concat(I.id,'" for 
locale "').concat(g,'", using ').concat(I.defaultMessage?"default message 
(".concat(typeof 
I.defaultMessage=="string"?I.defaultMessage:I.defaultMessage.map(function(E){var
 k;return(k=E.value)!==null&&k!==void 
0?k:JSON.stringify(E)}).join(),")"):"id"," as fallback."))||this;return 
x.descriptor=I,x}return v [...]
+`),g,E)||this;return k.descriptor=x,k.locale=g,k}return 
v}(c),y=function(f){(0,n.ZT)(v,f);function v(I,g){var 
x=f.call(this,r.MISSING_TRANSLATION,'Missing message: "'.concat(I.id,'" for 
locale "').concat(g,'", using ').concat(I.defaultMessage?"default message 
(".concat(typeof 
I.defaultMessage=="string"?I.defaultMessage:I.defaultMessage.map(function(E){var
 k;return(k=E.value)!==null&&k!==void 
0?k:JSON.stringify(E)}).join(),")"):"id"," as fallback."))||this;return 
x.descriptor=I,x}return v [...]
 Try polyfilling it using "@formatjs/intl-relativetimeformat"
 `,Tt.jK.MISSING_INTL_API));try{return 
ha(re,_e,Re).format(pe,ie)}catch(We){re.onError(new Me.Qe("Error formatting 
relative time.",re.locale,We))}return String(pe)}var 
$e=["formatMatcher","timeZone","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName","hourCycle","dateStyle","timeStyle","calendar","numberingSystem","fractionalSecondDigits"];function
 Qe(re,_e,pe,ie){var 
Re=re.locale,Te=re.formats,We=re.onError,Ye=re.timeZone;ie===void 
0&&(ie={});var Ot=ie.f [...]
 Try polyfilling it using "@formatjs/intl-pluralrules"
@@ -17,7 +17,7 @@ Try polyfilling it using "@formatjs/intl-listformat"
 Try polyfilling it using "@formatjs/intl-displaynames"
 `,Tt.jK.MISSING_INTL_API));var Ye=(0,b.L6)(ie,pr);try{return 
_e(Re,Ye).of(pe)}catch(Ot){Te(new Me.Qe("Error formatting display 
name.",Re,Ot))}}function sr(re){var _e=re?re[Object.keys(re)[0]]:void 0;return 
typeof _e=="string"}function 
cr(re){re.onWarn&&re.defaultRichTextElements&&sr(re.messages||{})&&re.onWarn(`[@formatjs/intl]
 "defaultRichTextElements" was specified but "message" was not pre-compiled. 
 Please consider using "@formatjs/cli" to pre-compile your messages for 
performance.
-For more details see 
https://formatjs.io/docs/getting-started/message-distribution`)}function 
Za(re,_e){var 
pe=(0,b.ax)(_e),ie=(0,Q.pi)((0,Q.pi)({},b.Z0),re),Re=ie.locale,Te=ie.defaultLocale,We=ie.onError;return
 Re?!Intl.NumberFormat.supportedLocalesOf(Re).length&&We?We(new Me.gb('Missing 
locale data for locale: "'.concat(Re,'" in Intl.NumberFormat. Using default 
locale: "').concat(Te,'" as fallback. See 
https://formatjs.io/docs/react-intl#runtime-requirements for more 
details'))):!Intl. [...]
+For more details see 
https://formatjs.io/docs/getting-started/message-distribution`)}function 
Za(re,_e){var 
pe=(0,b.ax)(_e),ie=(0,Q.pi)((0,Q.pi)({},b.Z0),re),Re=ie.locale,Te=ie.defaultLocale,We=ie.onError;return
 Re?!Intl.NumberFormat.supportedLocalesOf(Re).length&&We?We(new Me.gb('Missing 
locale data for locale: "'.concat(Re,'" in Intl.NumberFormat. Using default 
locale: "').concat(Te,'" as fallback. See 
https://formatjs.io/docs/react-intl#runtime-requirements for more 
details'))):!Intl. [...]
 other distributed systems.
 `,paraId:3,tocIndex:1},{value:`Data transfer between 
processes/languages/nodes, or object persistence, state read/write and
 copy`,paraId:3,tocIndex:1},{value:` all need serialization.
@@ -133,7 +133,7 @@ development and discussion are open-sourced and transparent 
in the community. An
 including but not limited to questions, code contributions, technical 
discussions, etc. We are looking forward to
 receiving your ideas and feedback, participating in the project together, 
pushing the project forward and creating a
 better serialization framework.`,paraId:47,tocIndex:15},{value:`The GitHub 
address of the fury repository is:
-`,paraId:48,tocIndex:15},{value:"https://github.com/alipay/fury",paraId:48,tocIndex:15},{value:"Official
 website: 
",paraId:49,tocIndex:15},{value:"https://furyio.org",paraId:49,tocIndex:15},{value:"All
 issues, PR, and Discussion are 
welcome.",paraId:50,tocIndex:15}],h={},y={title:"Join 
US",toc:"menu",filename:"docs/blog/fury_blazing_fast_multiple_language_serialization_framework.md",lastUpdated:170351429e4,description:"Author:
 chaokunyang"},f=[{id:"fury---a-blazing-fast-multi-language-se [...]
+`,paraId:48,tocIndex:15},{value:"https://github.com/alipay/fury",paraId:48,tocIndex:15},{value:"Official
 website: 
",paraId:49,tocIndex:15},{value:"https://furyio.org",paraId:49,tocIndex:15},{value:"All
 issues, PR, and Discussion are 
welcome.",paraId:50,tocIndex:15}],h={},y={title:"Join 
US",toc:"menu",filename:"docs/blog/fury_blazing_fast_multiple_language_serialization_framework.md",lastUpdated:1703515673e3,description:"Author:
 chaokunyang"},f=[{id:"fury---a-blazing-fast-multi-language-s [...]
 zero-copy`,paraId:1,tocIndex:0},{value:", providing up to 
",paraId:1,tocIndex:0},{value:"170x performance",paraId:1,tocIndex:0},{value:" 
and ultimate ",paraId:1,tocIndex:0},{value:"ease of 
use",paraId:1,tocIndex:0},{value:".",paraId:1,tocIndex:0},{value:"The GitHub 
address of fury repository is: 
",paraId:2,tocIndex:0},{value:"https://github.com/alipay/fury",paraId:2,tocIndex:0},{value:`Serialization
 is a basic component of system communication, and widely used in big data, AI 
framework,  [...]
 other distributed systems.
 `,paraId:3,tocIndex:1},{value:`Data transfer between 
processes/languages/nodes, or object persistence, state read/write and
@@ -250,7 +250,7 @@ development and discussion are open-sourced and transparent 
in the community. An
 including but not limited to questions, code contributions, technical 
discussions, etc. We are looking forward to
 receiving your ideas and feedback, participating in the project together, 
pushing the project forward and creating a
 better serialization framework.`,paraId:47,tocIndex:15},{value:`The GitHub 
address of the fury repository is:
-`,paraId:48,tocIndex:15},{value:"https://github.com/alipay/fury",paraId:48,tocIndex:15},{value:"Official
 website: 
",paraId:49,tocIndex:15},{value:"https://furyio.org",paraId:49,tocIndex:15},{value:"All
 issues, PR, and Discussion are 
welcome.",paraId:50,tocIndex:15}],I={},g={title:"Xlang Object Graph 
Guide",toc:"menu",filename:"docs/guide/xlang_object_graph_guide.zh.md",lastUpdated:170351429e4,order:2,description:"Common
 types can be serialized automatically: primitive numeric types, stri [...]
+`,paraId:48,tocIndex:15},{value:"https://github.com/alipay/fury",paraId:48,tocIndex:15},{value:"Official
 website: 
",paraId:49,tocIndex:15},{value:"https://furyio.org",paraId:49,tocIndex:15},{value:"All
 issues, PR, and Discussion are 
welcome.",paraId:50,tocIndex:15}],I={},g={title:"Xlang Object Graph 
Guide",toc:"menu",filename:"docs/guide/xlang_object_graph_guide.zh.md",lastUpdated:1703515673e3,order:2,description:"Common
 types can be serialized automatically: primitive numeric types, str [...]
 
 import java.util.*;
 
@@ -616,7 +616,7 @@ func main() {
        fmt.Println(newList)
 }
 `,paraId:32,tocIndex:4},{value:"JavaScript",paraId:33,tocIndex:4},{value:`// 
Coming soon
-`,paraId:34,tocIndex:4}],k={},w={title:"Java Object Graph 
Guide",toc:"menu",filename:"docs/guide/java_object_graph_guide.zh.md",lastUpdated:170351429e4,order:0,description:"When
 only java object serialization needed, this mode will have better performance 
compared to cross-language object graph 
serialization."},A=[{id:"java-object-graph-serialization",depth:1,title:"Java 
object graph serialization"},{id:"quick-start",depth:2,title:"Quick 
Start"},{id:"advanced-usage",depth:2,title:"Advanc [...]
+`,paraId:34,tocIndex:4}],k={},w={title:"Java Object Graph 
Guide",toc:"menu",filename:"docs/guide/java_object_graph_guide.zh.md",lastUpdated:1703515673e3,order:0,description:"When
 only java object serialization needed, this mode will have better performance 
compared to cross-language object graph 
serialization."},A=[{id:"java-object-graph-serialization",depth:1,title:"Java 
object graph serialization"},{id:"quick-start",depth:2,title:"Quick 
Start"},{id:"advanced-usage",depth:2,title:"Advan [...]
 import java.util.Arrays;
 import io.fury.*;
 
@@ -745,7 +745,7 @@ Object newObj = fury.execute(
 } else {
   return fury.deserialize(bytes);
 }
-`,paraId:19,tocIndex:10}],R={},T={title:"Xlang Object Graph 
Guide",toc:"menu",filename:"docs/guide/xlang_object_graph_guide.md",lastUpdated:170351429e4,order:2,description:"Common
 types can be serialized automatically: primitive numeric types, string, 
binary, array, list, map and so 
on."},O=[{id:"cross-language-object-graph-serialization",depth:2,title:"Cross-language
 object graph 
serialization"},{id:"serialize-built-in-types",depth:3,title:"Serialize 
built-in types"},{id:"serialize-cust [...]
+`,paraId:19,tocIndex:10}],R={},T={title:"Xlang Object Graph 
Guide",toc:"menu",filename:"docs/guide/xlang_object_graph_guide.md",lastUpdated:1703515673e3,order:2,description:"Common
 types can be serialized automatically: primitive numeric types, string, 
binary, array, list, map and so 
on."},O=[{id:"cross-language-object-graph-serialization",depth:2,title:"Cross-language
 object graph 
serialization"},{id:"serialize-built-in-types",depth:3,title:"Serialize 
built-in types"},{id:"serialize-cus [...]
 import io.fury.config.*;
 
 import java.util.*;
@@ -1231,7 +1231,7 @@ func main() {
        fmt.Println(newList)
 }
 `,paraId:37,tocIndex:4},{value:"JavaScript",paraId:38,tocIndex:4},{value:`// 
Coming soon
-`,paraId:39,tocIndex:4}],H={},W={title:"Java Object Graph 
Guide",toc:"menu",filename:"docs/guide/java_object_graph_guide.md",lastUpdated:170351429e4,order:0,description:`When
 only java object serialization needed, this mode will have better performance 
compared to cross-language object
+`,paraId:39,tocIndex:4}],H={},W={title:"Java Object Graph 
Guide",toc:"menu",filename:"docs/guide/java_object_graph_guide.md",lastUpdated:1703515673e3,order:0,description:`When
 only java object serialization needed, this mode will have better performance 
compared to cross-language object
 graph 
serialization.`},K=[{id:"java-object-graph-serialization",depth:1,title:"Java 
object graph serialization"},{id:"quick-start",depth:2,title:"Quick 
Start"},{id:"advanced-usage",depth:2,title:"Advanced 
Usage"},{id:"furybuilder--options",depth:3,title:"FuryBuilder  
options"},{id:"fury-creation",depth:3,title:"Fury 
creation"},{id:"smaller-size",depth:3,title:"Smaller 
size"},{id:"implement-a-customized-serializer",depth:3,title:"Implement a 
customized serializer"},{id:"security--class-re [...]
 graph serialization.`,paraId:0,tocIndex:0},{value:"Note that fury creation is 
not cheap, the ",paraId:1,tocIndex:1},{value:"fury instances should be reused 
between serializations",paraId:1,tocIndex:1},{value:` instead of creating
 it everytime.
@@ -1475,20 +1475,20 @@ package, and load fury by 
version.`,paraId:49,tocIndex:14},{value:`If you upgrad
 no need to 
`,paraId:50,tocIndex:14},{value:"versioning",paraId:50,tocIndex:14},{value:" 
the data.",paraId:50,tocIndex:14},{value:"If you create fury without setting 
",paraId:51,tocIndex:16},{value:"CompatibleMode",paraId:51,tocIndex:16},{value:"
 to 
",paraId:51,tocIndex:16},{value:"io.fury.config.CompatibleMode.COMPATIBLE",paraId:51,tocIndex:16},{value:`,
 and you got a strange
 serialization error, it may be caused by class inconsistency between 
serialization peer and deserialization peer.`,paraId:51,tocIndex:16},{value:"In 
such cases, you can invoke 
",paraId:52,tocIndex:16},{value:"FuryBuilder#withClassVersionCheck",paraId:52,tocIndex:16},{value:"
 to create fury to validate it, if deserialization throws 
",paraId:52,tocIndex:16},{value:"io.fury.exception.ClassNotCompatibleException",paraId:52,tocIndex:16},{value:`,
 it shows class are inconsistent, and you shoul [...]
 
`,paraId:52,tocIndex:16},{value:"FuryBuilder#withCompaibleMode(CompatibleMode.COMPATIBLE)",paraId:52,tocIndex:16},{value:".",paraId:52,tocIndex:16},{value:"CompatibleMode.COMPATIBLE",paraId:53,tocIndex:16},{value:"
 has more performance and space cost, do not set it by default if your classes 
are always consistent between serialization and 
deserialization.",paraId:53,tocIndex:16},{value:"If you serialize an object by 
invoking ",paraId:54,tocIndex:17},{value:"Fury#serialize",paraId:54,tocI [...]
-`,paraId:54,tocIndex:17},{value:"Fury#deserializeJavaObject",paraId:54,tocIndex:17},{value:".",paraId:54,tocIndex:17},{value:"If
 you serialize an object by invoking 
",paraId:55,tocIndex:17},{value:"Fury#serializeJavaObject",paraId:55,tocIndex:17},{value:",
 you should invoke 
",paraId:55,tocIndex:17},{value:"Fury#deserializeJavaObject",paraId:55,tocIndex:17},{value:"
 for deserialization instead of 
",paraId:55,tocIndex:17},{value:"Fury#deserializeJavaObjectAndClass",paraId:55,tocIndex:17},{
 [...]
+`,paraId:54,tocIndex:17},{value:"Fury#deserializeJavaObject",paraId:54,tocIndex:17},{value:".",paraId:54,tocIndex:17},{value:"If
 you serialize an object by invoking 
",paraId:55,tocIndex:17},{value:"Fury#serializeJavaObject",paraId:55,tocIndex:17},{value:",
 you should invoke 
",paraId:55,tocIndex:17},{value:"Fury#deserializeJavaObject",paraId:55,tocIndex:17},{value:"
 for deserialization instead of 
",paraId:55,tocIndex:17},{value:"Fury#deserializeJavaObjectAndClass",paraId:55,tocIndex:17},{
 [...]
 multiple binary protocols for those 
requirements:`,paraId:1,tocIndex:0},{value:`Cross-language object graph 
protocol:
 `,paraId:2,tocIndex:0},{value:`Cross-language serialize any object 
automatically, no need for IDL definition, schema compilation and object 
to/from protocol
 conversion.`,paraId:3,tocIndex:0},{value:"Support shared reference and 
circular reference, no duplicate data or recursion 
error.",paraId:3,tocIndex:0},{value:"Support object 
polymorphism.",paraId:3,tocIndex:0},{value:"Native java/python object graph 
protocol: highly-optimized based on type system of the 
language.",paraId:2,tocIndex:0},{value:`Row format protocol: a cache-friendly 
binary random access format, supports skipping serialization and partial 
serialization,
 and can convert to column-format 
automatically.`,paraId:2,tocIndex:0},{value:`New protocols can be added easily 
based on fury existing buffer, encoding, meta, codegen and other capabilities. 
All of those share same codebase, and the optimization for one protocol
-can be reused by another protocol.`,paraId:4,tocIndex:0},{value:"Fury java 
object graph serialization support class schema forward/backward compatibility. 
The serialization peer and deserialization peer can add/delete fields 
independently.",paraId:5,tocIndex:2},{value:"We plan to add support 
cross-language serialization after ",paraId:6,tocIndex:2},{value:"meta 
compression",paraId:6,tocIndex:2},{value:" are 
finished.",paraId:6,tocIndex:2},{value:"We are still improving our protocols, 
bin [...]
+can be reused by another protocol.`,paraId:4,tocIndex:0},{value:"Fury java 
object graph serialization support class schema forward/backward compatibility. 
The serialization peer and deserialization peer can add/delete fields 
independently.",paraId:5,tocIndex:2},{value:"We plan to add support 
cross-language serialization after ",paraId:6,tocIndex:2},{value:"meta 
compression",paraId:6,tocIndex:2},{value:" are 
finished.",paraId:6,tocIndex:2},{value:"We are still improving our protocols, 
bin [...]
 
`,paraId:1,tocIndex:0},{value:"\u901A\u8FC7\u5185\u8054\u53D8\u91CF\u51CF\u5C11\u5185\u5B58\u8BBF\u95EE\uFF1B",paraId:2,tocIndex:0},{value:"\u901A\u8FC7\u5728\u751F\u6210\u4EE3\u7801\u5F53\u4E2D\u5185\u8054\u65B9\u6CD5\u8C03\u7528\u51CF\u5C11\u865A\u65B9\u6CD5\u5F00\u9500\uFF1B",paraId:2,tocIndex:0},{value:"\u51CF\u5C11\u6761\u4EF6\u5206\u652F\uFF1B",paraId:2,tocIndex:0},{value:"\u68C0\u67E5hash\u67E5\u627E\uFF1B",paraId:2,tocIndex:0},{value:"\u591A\u4E2A\u4E8C\u8FDB\u5236\u534F\u8BAE",p
 [...]
 
`,paraId:4,tocIndex:0},{value:"writeObject/readObject/writeReplace/readResolve/readObjectNoData",paraId:4,tocIndex:0},{value:"\u3002",paraId:4,tocIndex:0},{value:"\u652F\u6301Golang\u5171\u4EAB\u5F15\u7528\u3001\u5FAA\u73AF\u5F15\u7528\u3001\u6307\u9488\u5E8F\u5217\u5316\u3002",paraId:4,tocIndex:0},{value:"\u652F\u6301\u81EA\u52A8\u5316\u7684Golang
 
struct\u5E8F\u5217\u5316\u3002",paraId:4,tocIndex:0},{value:"\u4E0D\u540C\u7684\u534F\u8BAE\u6709\u4E0D\u540C\u7684\u5E8F\u5217\u5316\u9700\u
 [...]
 
`,paraId:6,tocIndex:1},{value:"\u8DE8\u8BED\u8A00\u81EA\u52A8\u5E8F\u5217\u5316\u4EFB\u610F\u5BF9\u8C61\uFF0C\u4E0D\u9700\u8981\u5B9A\u4E49IDL\uFF0C\u9759\u6001\u751F\u6210\u4EE3\u7801\uFF0C\u4EE5\u53CA\u5728\u5BF9\u8C61\u548C\u751F\u6210\u4EE3\u7801\u4E4B\u95F4\u8FDB\u884C\u8F6C\u6362\u3002",paraId:7,tocIndex:1},{value:"\u652F\u6301\u5171\u4EAB\u5F15\u7528\u548C\u5FAA\u73AF\u5F15\u7528\uFF0C\u4E0D\u4F1A\u51FA\u73B0\u91CD\u590D\u5E8F\u5217\u5316\u548C\u9012\u5F52\u9519\u8BEF\u3002",paraI
 [...]
 \u7684\u7C7B, 
`,paraId:12,tocIndex:3},{value:"Sample",paraId:12,tocIndex:3},{value:`
 \u662F\u6765\u81EA `,paraId:12,tocIndex:3},{value:"kryo 
benchmark",paraId:12,tocIndex:3},{value:`
-\u7684\u7C7B.`,paraId:12,tocIndex:3},{value:"\u53EF\u4EE5\u8BBF\u95EE 
",paraId:13,tocIndex:3},{value:"benchmarks",paraId:13,tocIndex:3},{value:" 
\u67E5\u770B\u57FA\u51C6\u6D4B\u8BD5\u73AF\u5883\u3001\u4EE3\u7801\u4EE5\u53CA\u96F6\u62F7\u8D1D\u548C\u5806\u5916\u5E8F\u5217\u5316\u7B49\u573A\u666F\u6D4B\u8BD5\u7ED3\u679C\u3002",paraId:13,tocIndex:3},{value:"Fury
 
Java\u5E8F\u5217\u5316\u652F\u6301schema\u5411\u524D\u5411\u540E\u517C\u5BB9\u3002\u5E8F\u5217\u5316\u548C\u53CD\u5E8F\u5217\u5316
 [...]
+\u7684\u7C7B.`,paraId:12,tocIndex:3},{value:"\u53EF\u4EE5\u8BBF\u95EE 
",paraId:13,tocIndex:3},{value:"benchmarks",paraId:13,tocIndex:3},{value:" 
\u67E5\u770B\u57FA\u51C6\u6D4B\u8BD5\u73AF\u5883\u3001\u4EE3\u7801\u4EE5\u53CA\u96F6\u62F7\u8D1D\u548C\u5806\u5916\u5E8F\u5217\u5316\u7B49\u573A\u666F\u6D4B\u8BD5\u7ED3\u679C\u3002",paraId:13,tocIndex:3},{value:"Fury
 
Java\u5E8F\u5217\u5316\u652F\u6301schema\u5411\u524D\u5411\u540E\u517C\u5BB9\u3002\u5E8F\u5217\u5316\u548C\u53CD\u5E8F\u5217\u5316
 [...]
 `,paraId:2,tocIndex:1},{value:"Dubbo fury integration: 
",paraId:3,tocIndex:1},{value:"https://github.com/fury-project/dubbo-serialization-fury",paraId:3,tocIndex:1},{value:"Add
 class checker API to customize security check 
behaviour(#890)",paraId:3,tocIndex:1},{value:`Python
-`,paraId:2,tocIndex:1},{value:"Support pyarrow6 bazel build (#859 
#862)",paraId:4,tocIndex:1},{value:"Support python 3.10 (#859 
#862)",paraId:4,tocIndex:1},{value:"[Java] Dubbo fury integration: 
",paraId:5,tocIndex:2},{value:"https://github.com/fury-project/dubbo-serialization-fury",paraId:5,tocIndex:2},{value:"[Java]
 fix isSecure check for xlang in java 
(#822)",paraId:5,tocIndex:2},{value:"[Java] register empty object by default 
(#829)",paraId:5,tocIndex:2},{value:"[Java] upgrade guava  [...]
+`,paraId:2,tocIndex:1},{value:"Support pyarrow6 bazel build (#859 
#862)",paraId:4,tocIndex:1},{value:"Support python 3.10 (#859 
#862)",paraId:4,tocIndex:1},{value:"[Java] Dubbo fury integration: 
",paraId:5,tocIndex:2},{value:"https://github.com/fury-project/dubbo-serialization-fury",paraId:5,tocIndex:2},{value:"[Java]
 fix isSecure check for xlang in java 
(#822)",paraId:5,tocIndex:2},{value:"[Java] register empty object by default 
(#829)",paraId:5,tocIndex:2},{value:"[Java] upgrade guava  [...]
 `,paraId:3,tocIndex:2},{value:`val fury = Fury.builder()
   .withScalaOptimizationEnabled(true)
   // 
\u6700\u597D\u5173\u95ED\u8BE5\u5F00\u5173\uFF0C\u63D0\u524D\u6CE8\u518C\u7C7B\u578B
@@ -1526,7 +1526,7 @@ println(fury.deserialize(fury.serialize(ColorEnum.Green)))
 println(fury.deserialize(fury.serialize(opt)))
 val opt1: Option[Long] = None
 println(fury.deserialize(fury.serialize(opt1)))
-`,paraId:13,tocIndex:9},{value:"[Scala] 
\u652F\u6301\u4EFB\u610Fscala\u5BF9\u8C61\u5E8F\u5217\u5316\uFF0C\u5305\u62ECcase/object/tuple/string/collection/enum/basic
 \u7B49",paraId:14,tocIndex:10},{value:"[Scala] \u589E\u52A0fury scala 
\u5E8F\u5217\u5316\u7528\u6237\u6587\u6863\uFF1A",paraId:14,tocIndex:10},{value:"https://github.com/alipay/fury/blob/main/docs/guide/scala_guide.md",paraId:14,tocIndex:10},{value:"[Scala]
 \u5B9E\u73B0\u4F18\u5316\u7684scala object singleton\u5E8F\u5217\u5316 [...]
+`,paraId:13,tocIndex:9},{value:"[Scala] 
\u652F\u6301\u4EFB\u610Fscala\u5BF9\u8C61\u5E8F\u5217\u5316\uFF0C\u5305\u62ECcase/object/tuple/string/collection/enum/basic
 \u7B49",paraId:14,tocIndex:10},{value:"[Scala] \u589E\u52A0fury scala 
\u5E8F\u5217\u5316\u7528\u6237\u6587\u6863\uFF1A",paraId:14,tocIndex:10},{value:"https://github.com/alipay/fury/blob/main/docs/guide/scala_guide.md",paraId:14,tocIndex:10},{value:"[Scala]
 \u5B9E\u73B0\u4F18\u5316\u7684scala object singleton\u5E8F\u5217\u5316 [...]
   String f1;
   List<Long> f2;
 }
@@ -1626,25 +1626,25 @@ for (int i = 0; i < 10; i++) {
   arrowWriter.write(encoder.toRow(beanA));
 }
 return arrowWriter.finishAsRecordBatch();
-`,paraId:9,tocIndex:3}],Xe={},ut={title:"Benchmark",toc:"menu",filename:"docs/introduction/benchmark.en.md",lastUpdated:170351429e4,order:1,description:"Different
 serialization frameworks are suitable for different scenarios, and benchmark 
results here are for reference 
only."},it=[{id:"java-serialization",depth:3,title:"Java 
Serialization"},{id:"java-deserialization",depth:3,title:"Java 
Deserialization"},{id:"javascript",depth:3,title:"JavaScript"}],jt=[{value:"Different
 serialization f [...]
+`,paraId:9,tocIndex:3}],Xe={},ut={title:"Benchmark",toc:"menu",filename:"docs/introduction/benchmark.en.md",lastUpdated:1703515673e3,order:1,description:"Different
 serialization frameworks are suitable for different scenarios, and benchmark 
results here are for reference 
only."},it=[{id:"java-serialization",depth:3,title:"Java 
Serialization"},{id:"java-deserialization",depth:3,title:"Java 
Deserialization"},{id:"javascript",depth:3,title:"JavaScript"}],jt=[{value:"Different
 serialization  [...]
 to static serialization frameworks, unless it uses the jit techniques as fury 
did.
-Since fury will generate code at runtime, please warm up before collecting 
benchmark statistics.`,paraId:2},{value:"See 
",paraId:3,tocIndex:1},{value:"benchmarks",paraId:3,tocIndex:1},{value:" for 
more benchmarks about type forward/backward compatibility, off-heap support, 
zero-copy serialization.",paraId:3,tocIndex:1},{value:"The data used for this 
bar graph includes a complex object that has many kinds of field types, and the 
size of the JSON data is 3KB.",paraId:4,tocIndex:2},{value:" [...]
+Since fury will generate code at runtime, please warm up before collecting 
benchmark statistics.`,paraId:2},{value:"See 
",paraId:3,tocIndex:1},{value:"benchmarks",paraId:3,tocIndex:1},{value:" for 
more benchmarks about type forward/backward compatibility, off-heap support, 
zero-copy serialization.",paraId:3,tocIndex:1},{value:"The data used for this 
bar graph includes a complex object that has many kinds of field types, and the 
size of the JSON data is 3KB.",paraId:4,tocIndex:2},{value:" [...]
 to static serialization frameworks, unless it uses the jit techniques as fury 
did.
-Since fury will generate code at runtime, please warm up before collecting 
benchmark statistics.`,paraId:2},{value:"See 
",paraId:3,tocIndex:1},{value:"benchmarks",paraId:3,tocIndex:1},{value:" for 
more benchmarks about type forward/backward compatibility, off-heap support, 
zero-copy serialization.",paraId:3,tocIndex:1},{value:"The data used for this 
bar graph includes a complex object that has many kinds of field types, and the 
size of the JSON data is 3KB.",paraId:4,tocIndex:2},{value:" [...]
+Since fury will generate code at runtime, please warm up before collecting 
benchmark statistics.`,paraId:2},{value:"See 
",paraId:3,tocIndex:1},{value:"benchmarks",paraId:3,tocIndex:1},{value:" for 
more benchmarks about type forward/backward compatibility, off-heap support, 
zero-copy serialization.",paraId:3,tocIndex:1},{value:"The data used for this 
bar graph includes a complex object that has many kinds of field types, and the 
size of the JSON data is 3KB.",paraId:4,tocIndex:2},{value:" [...]
 by `,paraId:0},{value:"pickle5",paraId:0},{value:" and off-heap 
read/write.",paraId:0},{value:`High performance: A highly-extensible JIT 
framework to generate serializer code at runtime in an async multi-thread way 
to speed serialization, providing 20-170x speed up by:
 `,paraId:0},{value:"reduce memory access by inline variable in generated 
code.",paraId:1},{value:"reduce virtual method invocation by inline call in 
generated code.",paraId:1},{value:"reduce conditional 
branching.",paraId:1},{value:"reduce hash lookup.",paraId:1},{value:"binary 
protocols: object graph, row format and so on.",paraId:1},{value:"In addition 
to cross-language serialization, Fury also features 
at:",paraId:2},{value:`Drop-in replace Java serialization frameworks such as 
JDK/Kr [...]
 It can greatly improve the efficiency of high-performance RPC calls, data 
transfer and object persistence.`,paraId:3},{value:`JDK serialization 100% 
compatible, support java custom serialization
-`,paraId:3},{value:"writeObject/readObject/writeReplace/readResolve/readObjectNoData",paraId:3},{value:"
 natively.",paraId:3},{value:"Supports shared and circular reference object 
serialization for golang.",paraId:3},{value:"Supports automatic object 
serialization for 
golang.",paraId:3}],Qe={},At={title:"Features",toc:"menu",filename:"docs/introduction/features.zh.md",lastUpdated:170351429e4,order:2,description:"In
 addition to cross-language serialization, Fury also features at:"},Dt=[], [...]
+`,paraId:3},{value:"writeObject/readObject/writeReplace/readResolve/readObjectNoData",paraId:3},{value:"
 natively.",paraId:3},{value:"Supports shared and circular reference object 
serialization for golang.",paraId:3},{value:"Supports automatic object 
serialization for 
golang.",paraId:3}],Qe={},At={title:"Features",toc:"menu",filename:"docs/introduction/features.zh.md",lastUpdated:1703515673e3,order:2,description:"In
 addition to cross-language serialization, Fury also features at:"},Dt=[] [...]
 by `,paraId:0},{value:"pickle5",paraId:0},{value:" and off-heap 
read/write.",paraId:0},{value:`High performance: A highly-extensible JIT 
framework to generate serializer code at runtime in an async multi-thread way 
to speed serialization, providing 20-170x speed up by:
 `,paraId:0},{value:"reduce memory access by inline variable in generated 
code.",paraId:1},{value:"reduce virtual method invocation by inline call in 
generated code.",paraId:1},{value:"reduce conditional 
branching.",paraId:1},{value:"reduce hash lookup.",paraId:1},{value:"binary 
protocols: object graph, row format and so on.",paraId:1},{value:"In addition 
to cross-language serialization, Fury also features 
at:",paraId:2},{value:`Drop-in replace Java serialization frameworks such as 
JDK/Kr [...]
 It can greatly improve the efficiency of high-performance RPC calls, data 
transfer and object persistence.`,paraId:3},{value:`JDK serialization 100% 
compatible, support java custom serialization
-`,paraId:3},{value:"writeObject/readObject/writeReplace/readResolve/readObjectNoData",paraId:3},{value:"
 natively.",paraId:3},{value:"Supports shared and circular reference object 
serialization for golang.",paraId:3},{value:"Supports automatic object 
serialization for golang.",paraId:3}],ba={},La={title:"Fury v0.1.0 
released",toc:"menu",filename:"docs/blog/fury_0_1_0_release.md",lastUpdated:170351429e4,description:"Author:
 chaokunyang"},Ba=[{id:"fury-v010-released",depth:1,title:"Fury v0 [...]
+`,paraId:3},{value:"writeObject/readObject/writeReplace/readResolve/readObjectNoData",paraId:3},{value:"
 natively.",paraId:3},{value:"Supports shared and circular reference object 
serialization for golang.",paraId:3},{value:"Supports automatic object 
serialization for golang.",paraId:3}],ba={},La={title:"Fury v0.1.0 
released",toc:"menu",filename:"docs/blog/fury_0_1_0_release.md",lastUpdated:1703515673e3,description:"Author:
 chaokunyang"},Ba=[{id:"fury-v010-released",depth:1,title:"Fury v [...]
 `,paraId:4,tocIndex:0},{value:"Highly optimized Java serialization 
primives",paraId:5,tocIndex:0},{value:"Runtime codegen 
framework",paraId:5,tocIndex:0},{value:"Interpreter mode java 
serialization",paraId:5,tocIndex:0},{value:"JIT accelerated serializer for java 
serialization",paraId:5,tocIndex:0},{value:"Support async and multi-thread 
JIT",paraId:5,tocIndex:0},{value:"Support type forward-backward 
compatibility.",paraId:5,tocIndex:0},{value:"Support meta sharing to send class 
meta only [...]
 `,paraId:4,tocIndex:0},{value:"Support basic types cross-language between 
java/python/javascript/rust",paraId:6,tocIndex:0},{value:"Support struct 
cross-language automatically, no need for IDL 
definition",paraId:6,tocIndex:0},{value:"Supports shared and circular reference 
object serialization between 
java/python/javascript.",paraId:6,tocIndex:0},{value:"Support object 
polymorphism between 
java/python/javascript.",paraId:6,tocIndex:0},{value:"Out-of-band zero-copy 
serialization between ja [...]
 `,paraId:4,tocIndex:0},{value:"Support row format between 
java/python/c++.",paraId:7,tocIndex:0},{value:"Support lazy/partial 
deserialization.",paraId:7,tocIndex:0},{value:"Support convert to arrow format 
automatically.",paraId:7,tocIndex:0},{value:`With this release, we take big 
strides towards our goal of making serialization fast, cross-language, unified 
and open.
-For details, please refer to the following commit 
messages.`,paraId:8,tocIndex:0},{value:"Note that javascript/rust support is 
still experimental, please let us know if you have any 
issues.",paraId:9,tocIndex:0},{value:"@wangweipeng2 made their first 
contribution in 
",paraId:10,tocIndex:1},{value:"https://github.com/alipay/fury/pull/215",paraId:10,tocIndex:1},{value:"@rainsonGain
 made their first contribution in 
",paraId:10,tocIndex:1},{value:"https://github.com/alipay/fury/pull/429",par 
[...]
+For details, please refer to the following commit 
messages.`,paraId:8,tocIndex:0},{value:"Note that javascript/rust support is 
still experimental, please let us know if you have any 
issues.",paraId:9,tocIndex:0},{value:"@wangweipeng2 made their first 
contribution in 
",paraId:10,tocIndex:1},{value:"https://github.com/alipay/fury/pull/215",paraId:10,tocIndex:1},{value:"@rainsonGain
 made their first contribution in 
",paraId:10,tocIndex:1},{value:"https://github.com/alipay/fury/pull/429",par 
[...]
 `,paraId:2,tocIndex:1},{value:"Dubbo fury integration: 
",paraId:3,tocIndex:1},{value:"https://github.com/fury-project/dubbo-serialization-fury",paraId:3,tocIndex:1},{value:"Add
 class checker API to customize security check 
behaviour(#890)",paraId:3,tocIndex:1},{value:`Python
-`,paraId:2,tocIndex:1},{value:"Support pyarrow6 bazel build (#859 
#862)",paraId:4,tocIndex:1},{value:"Support python 3.10 (#859 
#862)",paraId:4,tocIndex:1},{value:"[Java] Dubbo fury integration: 
",paraId:5,tocIndex:2},{value:"https://github.com/fury-project/dubbo-serialization-fury",paraId:5,tocIndex:2},{value:"[Java]
 fix isSecure check for xlang in java 
(#822)",paraId:5,tocIndex:2},{value:"[Java] register empty object by default 
(#829)",paraId:5,tocIndex:2},{value:"[Java] upgrade guava  [...]
+`,paraId:2,tocIndex:1},{value:"Support pyarrow6 bazel build (#859 
#862)",paraId:4,tocIndex:1},{value:"Support python 3.10 (#859 
#862)",paraId:4,tocIndex:1},{value:"[Java] Dubbo fury integration: 
",paraId:5,tocIndex:2},{value:"https://github.com/fury-project/dubbo-serialization-fury",paraId:5,tocIndex:2},{value:"[Java]
 fix isSecure check for xlang in java 
(#822)",paraId:5,tocIndex:2},{value:"[Java] register empty object by default 
(#829)",paraId:5,tocIndex:2},{value:"[Java] upgrade guava  [...]
 `,paraId:4,tocIndex:1},{value:"Creating 
fury:",paraId:5,tocIndex:1},{value:`val fury = Fury.builder()
  .withScalaOptimizationEnabled(true) 
  .requireClassRegistration(false)
@@ -1666,8 +1666,8 @@ println(fury.deserialize(fury.serialize(list)))
 println(fury.deserialize(fury.serialize(map)))
 `,paraId:12,tocIndex:1},{value:"Serialize 
enum:",paraId:13,tocIndex:1},{value:`enum Color { case Red, Green, Blue }
 println(fury.deserialize(fury.serialize(Color.Green)))
-`,paraId:14,tocIndex:1},{value:"[Scala] Support scala serialization: 
",paraId:15,tocIndex:2},{value:"case/object/tuple/string/collection/enum/basic",paraId:15,tocIndex:2},{value:"
 all supported",paraId:15,tocIndex:2},{value:"[Scala] Add 
",paraId:15,tocIndex:2},{value:"scala user 
documentation",paraId:15,tocIndex:2},{value:"[Scala] add optimized scala 
singleton object serializer",paraId:15,tocIndex:2},{value:"[Java] Make 
",paraId:15,tocIndex:2},{value:"java.io.Externalizable",paraId:15,to [...]
-Multiple scala serialization JIT optimization are included, and java 
serialization compatibility is improved 
too.`,paraId:1,tocIndex:0},{value:"Support python 3.11 and 3.12, drop python 
3.6 support",paraId:2,tocIndex:1},{value:"Refactor collection serialization 
framework to support writeReplace JIT",paraId:2,tocIndex:1},{value:"Integrate 
scala collection with fury java collection 
framework",paraId:2,tocIndex:1},{value:"Support scala collection jit 
serialization",paraId:2,tocIndex:1},{val [...]
+`,paraId:14,tocIndex:1},{value:"[Scala] Support scala serialization: 
",paraId:15,tocIndex:2},{value:"case/object/tuple/string/collection/enum/basic",paraId:15,tocIndex:2},{value:"
 all supported",paraId:15,tocIndex:2},{value:"[Scala] Add 
",paraId:15,tocIndex:2},{value:"scala user 
documentation",paraId:15,tocIndex:2},{value:"[Scala] add optimized scala 
singleton object serializer",paraId:15,tocIndex:2},{value:"[Java] Make 
",paraId:15,tocIndex:2},{value:"java.io.Externalizable",paraId:15,to [...]
+Multiple scala serialization JIT optimization are included, and java 
serialization compatibility is improved 
too.`,paraId:1,tocIndex:0},{value:"Support python 3.11 and 3.12, drop python 
3.6 support",paraId:2,tocIndex:1},{value:"Refactor collection serialization 
framework to support writeReplace JIT",paraId:2,tocIndex:1},{value:"Integrate 
scala collection with fury java collection 
framework",paraId:2,tocIndex:1},{value:"Support scala collection jit 
serialization",paraId:2,tocIndex:1},{val [...]
   String f1;
   List<Long> f2;
 }
@@ -1767,7 +1767,7 @@ for (int i = 0; i < 10; i++) {
   arrowWriter.write(encoder.toRow(beanA));
 }
 return arrowWriter.finishAsRecordBatch();
-`,paraId:9,tocIndex:3}],ie={},Re={title:"GraalVM 
Guide",toc:"menu",filename:"docs/guide/graalvm_guide.md",lastUpdated:170351429e4,order:6,description:`GraalVM
 native image can compile java code into native code ahead to build faster, 
smaller, leaner applications.
+`,paraId:9,tocIndex:3}],ie={},Re={title:"GraalVM 
Guide",toc:"menu",filename:"docs/guide/graalvm_guide.md",lastUpdated:1703515673e3,order:6,description:`GraalVM
 native image can compile java code into native code ahead to build faster, 
smaller, leaner applications.
 The native image doesn't have a JIT compiler to compile bytecode into machine 
code, and doesn't support
 reflection unless configure reflection 
file.`},Te=[{id:"graalvm-native-image",depth:1,title:"GraalVM Native 
Image"},{id:"not-thread-safe-fury",depth:2,title:"Not thread-safe 
Fury"},{id:"thread-safe-fury",depth:2,title:"Thread-safe 
Fury"},{id:"framework-integration",depth:2,title:"Framework 
Integration"},{id:"benchmark",depth:2,title:"Benchmark"},{id:"struct-benchmark",depth:3,title:"Struct
 Benchmark"},{id:"class-fields",depth:4,title:"Class 
Fields"},{id:"benchmark-results",depth:4,title: [...]
 The native image doesn't have a JIT compiler to compile bytecode into machine 
code, and doesn't support
@@ -1910,7 +1910,7 @@ Fury serialization took mills: 1289
 JDK serialization took mills: 15069
 Compare speed: Fury is 12.11x speed of JDK
 Compare size: Fury is 0.48x size of JDK
-`,paraId:30,tocIndex:10}],Ye={},Ot={title:"Development",toc:"menu",filename:"docs/guide/DEVELOPMENT.md",lastUpdated:170351429e4,order:6,description:"Github
 repo: 
https://github.com/alipay/fury"},pa=[{id:"how-to-build-to-fury",depth:1,title:"How
 to build to Fury"},{id:"get-the-source-code",depth:2,title:"Get the source 
code"},{id:"building-fury-\uFE0F",depth:2,title:"Building Fury 
\u{1F3CB}\u{1F3FF}\u200D\u2640\uFE0F"},{id:"building-fury-java",depth:3,title:"Building
 Fury Java"},{id:"envi [...]
+`,paraId:30,tocIndex:10}],Ye={},Ot={title:"Development",toc:"menu",filename:"docs/guide/DEVELOPMENT.md",lastUpdated:1703515673e3,order:6,description:"Github
 repo: 
https://github.com/alipay/fury"},pa=[{id:"how-to-build-to-fury",depth:1,title:"How
 to build to Fury"},{id:"get-the-source-code",depth:2,title:"Get the source 
code"},{id:"building-fury-\uFE0F",depth:2,title:"Building Fury 
\u{1F3CB}\u{1F3FF}\u200D\u2640\uFE0F"},{id:"building-fury-java",depth:3,title:"Building
 Fury Java"},{id:"env [...]
 mvn clean compile -DskipTests
 `,paraId:1,tocIndex:3},{value:"java 1.8+",paraId:2,tocIndex:4},{value:"maven 
3.6.3+",paraId:2,tocIndex:4},{value:`cd python
 pip install pyarrow==14.0.0 Cython wheel numpy pytest
@@ -1929,7 +1929,7 @@ cargo build
 # run test
 cargo test
 `,paraId:12,tocIndex:11},{value:`curl --proto '=https' --tlsv1.2 -sSf 
https://sh.rustup.rs | sh
-`,paraId:13,tocIndex:12}],da={},ua={title:"Scala Serialization 
Guide",toc:"menu",filename:"docs/guide/scala_guide.md",lastUpdated:170351429e4,order:4,description:"Fury
 supports all scala object 
serialization:"},or=[{id:"scala-serialization",depth:1,title:"Scala 
serialization"},{id:"install",depth:2,title:"Install"},{id:"fury-creation",depth:2,title:"Fury
 creation"},{id:"serialize-case-object",depth:2,title:"Serialize case 
object"},{id:"serialize-pojo",depth:2,title:"Serialize pojo"},{id: [...]
+`,paraId:13,tocIndex:12}],da={},ua={title:"Scala Serialization 
Guide",toc:"menu",filename:"docs/guide/scala_guide.md",lastUpdated:1703515673e3,order:4,description:"Fury
 supports all scala object 
serialization:"},or=[{id:"scala-serialization",depth:1,title:"Scala 
serialization"},{id:"install",depth:2,title:"Install"},{id:"fury-creation",depth:2,title:"Fury
 creation"},{id:"serialize-case-object",depth:2,title:"Serialize case 
object"},{id:"serialize-pojo",depth:2,title:"Serialize pojo"},{id [...]
 `,paraId:3,tocIndex:1},{value:"When using fury for scala serialization, you 
should create fury at least with following 
options:",paraId:4,tocIndex:2},{value:`val fury = Fury.builder()
   .withScalaOptimizationEnabled(true)
   .requireClassRegistration(false)
@@ -1971,7 +1971,7 @@ println(fury.deserialize(fury.serialize(ColorEnum.Green)))
 println(fury.deserialize(fury.serialize(opt)))
 val opt1: Option[Long] = None
 println(fury.deserialize(fury.serialize(opt1)))
-`,paraId:18,tocIndex:11},{value:"Scala 
",paraId:19,tocIndex:12},{value:"pojo/bean/case/object",paraId:19,tocIndex:12},{value:"
 are supported by fury jit well, the performance is as good as fury 
java.",paraId:19,tocIndex:12},{value:"Scala collections and generics doesn't 
follow java collection framework, and is not fully integrated with Fury JIT in 
current release version. The performance won't be as good as fury collections 
serialization for java.",paraId:20,tocIndex:12},{value:"The exec [...]
+`,paraId:18,tocIndex:11},{value:"Scala 
",paraId:19,tocIndex:12},{value:"pojo/bean/case/object",paraId:19,tocIndex:12},{value:"
 are supported by fury jit well, the performance is as good as fury 
java.",paraId:19,tocIndex:12},{value:"Scala collections and generics doesn't 
follow java collection framework, and is not fully integrated with Fury JIT in 
current release version. The performance won't be as good as fury collections 
serialization for java.",paraId:20,tocIndex:12},{value:"The exec [...]
   <repository>
     <id>sonatype</id>
     <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
@@ -2019,7 +2019,7 @@ fury = { git= "https://github.com/alipay/fury.git";, 
branch = "main" }
 fury_derive = { git= "https://github.com/alipay/fury.git";, branch = "main" }
 lazy_static = { version = "1.4.0" }
 
-`,paraId:8,tocIndex:5}],wr={},Go={title:"\u5B89\u88C5Fury",toc:"menu",filename:"docs/start/install.zh.md",lastUpdated:170351429e4,order:0,description:"Nightly\u5FEB\u7167\u7248\u672C:"},po=[{id:"java",depth:3,title:"Java"},{id:"scala",depth:3,title:"Scala"},{id:"python",depth:3,title:"Python"},{id:"javascript",depth:3,title:"JavaScript"},{id:"golang",depth:3,title:"Golang"},{id:"javascript-1",depth:3,title:"JavaScript"},{id:"rust",depth:3,title:"Rust"}],bo=[{value:"Nightly\u5FEB\u7167\u7
 [...]
+`,paraId:8,tocIndex:5}],wr={},Wo={title:"\u5B89\u88C5Fury",toc:"menu",filename:"docs/start/install.zh.md",lastUpdated:1703515673e3,order:0,description:"Nightly\u5FEB\u7167\u7248\u672C:"},po=[{id:"java",depth:3,title:"Java"},{id:"scala",depth:3,title:"Scala"},{id:"python",depth:3,title:"Python"},{id:"javascript",depth:3,title:"JavaScript"},{id:"golang",depth:3,title:"Golang"},{id:"javascript-1",depth:3,title:"JavaScript"},{id:"rust",depth:3,title:"Rust"}],bo=[{value:"Nightly\u5FEB\u7167\u
 [...]
   <repository>
     <id>sonatype</id>
     <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
@@ -2067,7 +2067,7 @@ fury = { git= "https://github.com/alipay/fury.git";, 
branch = "main" }
 fury_derive = { git= "https://github.com/alipay/fury.git";, branch = "main" }
 lazy_static = { version = "1.4.0" }
 
-`,paraId:9,tocIndex:6}],ki={},$i={title:"Usage",toc:"menu",filename:"docs/start/usage.en.md",lastUpdated:170351429e4,order:1},ui=[{id:"java-serialization",depth:2,title:"Java
 Serialization"},{id:"crosslanguage-serialization",depth:2,title:"CrossLanguage 
Serialization"},{id:"java",depth:3,title:"Java"},{id:"python",depth:3,title:"Python"},{id:"golang",depth:3,title:"Golang"},{id:"javascript",depth:3,title:"JavaScript"},{id:"rust",depth:3,title:"Rust"}],li=[{value:`import
 java.util.List;
+`,paraId:9,tocIndex:6}],Ci={},Hi={title:"Usage",toc:"menu",filename:"docs/start/usage.en.md",lastUpdated:1703515673e3,order:1},ui=[{id:"java-serialization",depth:2,title:"Java
 Serialization"},{id:"crosslanguage-serialization",depth:2,title:"CrossLanguage 
Serialization"},{id:"java",depth:3,title:"Java"},{id:"python",depth:3,title:"Python"},{id:"golang",depth:3,title:"Golang"},{id:"javascript",depth:3,title:"JavaScript"},{id:"rust",depth:3,title:"Rust"}],li=[{value:`import
 java.util.List;
 import java.util.Arrays;
 import io.fury.*;
 
@@ -2218,7 +2218,7 @@ fn main() {
     let obj: Person = from_buffer(&bin).expect("should success");
     assert_eq!(obj, penson);
 }
-`,paraId:5,tocIndex:6}],si={},Wo={title:"\u5FEB\u901F\u5F00\u59CB",toc:"menu",filename:"docs/start/usage.zh.md",lastUpdated:170351429e4,order:1,description:"\u4E0B\u9762\u662F\u4E00\u4E2A\u5982\u4F55\u4F7F\u7528Fury\u7684\u5FEB\u901F\u6307\u5357\uFF0C\u66F4\u591A\u4FE1\u606F\u8BF7\u67E5\u770B
 
\u7528\u6237\u6307\u5357\uFF0C\u8DE8\u8BED\u8A00\u5E8F\u5217\u5316\u6307\u5357\uFF0C
 
\u884C\u5B58\u6307\u5357."},Nn=[{id:"fury-java-\u5E8F\u5217\u5316",depth:3,title:"Fury
 Java \u5E8F\u5217\u5316"}, [...]
+`,paraId:5,tocIndex:6}],si={},Ko={title:"\u5FEB\u901F\u5F00\u59CB",toc:"menu",filename:"docs/start/usage.zh.md",lastUpdated:1703515673e3,order:1,description:"\u4E0B\u9762\u662F\u4E00\u4E2A\u5982\u4F55\u4F7F\u7528Fury\u7684\u5FEB\u901F\u6307\u5357\uFF0C\u66F4\u591A\u4FE1\u606F\u8BF7\u67E5\u770B
 
\u7528\u6237\u6307\u5357\uFF0C\u8DE8\u8BED\u8A00\u5E8F\u5217\u5316\u6307\u5357\uFF0C
 
\u884C\u5B58\u6307\u5357."},Nn=[{id:"fury-java-\u5E8F\u5217\u5316",depth:3,title:"Fury
 Java \u5E8F\u5217\u5316"} [...]
 
 import java.util.*;
 
@@ -2449,8 +2449,8 @@ foo = Foo(f1=10, f2=list(range(1000_000)),
 binary: bytes = encoder.to_row(foo).to_bytes()
 foo_row = pyfury.RowData(encoder.schema, binary)
 print(foo_row.f2[100000], foo_row.f4[100000].f1, foo_row.f4[200000].f2[5])
-`,paraId:12,tocIndex:6}],fo={},ru={title:'<font color="#d74633" 
face="Lato,Roboto,Arial,sans-serif">Fury - 
\u4E00\u4E2A\u57FA\u4E8EJIT\u548C\u96F6\u62F7\u8D1D\u7684\u9AD8\u6027\u80FD\u591A\u8BED\u8A00\u5E8F\u5217\u5316\u6846\u67B6</font>',toc:"menu",filename:"docs/blog/list.zh.md",lastUpdated:170351429e4,order:-1,description:`2023\u5E74
 12\u67089\u53F7
-\u5F88\u9AD8\u5174\u5411\u5927\u5BB6\u53D1\u5E03Fury 
0.4.1\u7248\u672C\uFF0C\u672C\u6B21\u53D1\u5E03\u91CD\u70B9\u65B0\u589E\u4E86 
Fury \u884C\u5B58 Rust \u652F\u6301\uFF0C\u540C\u65F6\u5BF9Fury \u884C\u5B58 
C++\u652F\u6301\u8FDB\u884C\u4E86\u5B8C\u5584\uFF0C\u652F\u6301\u53EF\u8FED\u4EE3\u7C7B\u578B\uFF0C\u6B22\u8FCE\u4F7F\u7528\uFF01`},Ci=[{id:"\u9879\u76EE\u65B0\u95FB\u548C\u535A\u5BA2",depth:1,title:"\u9879\u76EE\u65B0\u95FB\u548C\u535A\u5BA2"},{id:"fury-041-released",depth:1,title:"
 [...]
+`,paraId:12,tocIndex:6}],fo={},ou={title:'<font color="#d74633" 
face="Lato,Roboto,Arial,sans-serif">Fury - 
\u4E00\u4E2A\u57FA\u4E8EJIT\u548C\u96F6\u62F7\u8D1D\u7684\u9AD8\u6027\u80FD\u591A\u8BED\u8A00\u5E8F\u5217\u5316\u6846\u67B6</font>',toc:"menu",filename:"docs/blog/list.zh.md",lastUpdated:1703515673e3,order:-1,description:`2023\u5E74
 12\u67089\u53F7
+\u5F88\u9AD8\u5174\u5411\u5927\u5BB6\u53D1\u5E03Fury 
0.4.1\u7248\u672C\uFF0C\u672C\u6B21\u53D1\u5E03\u91CD\u70B9\u65B0\u589E\u4E86 
Fury \u884C\u5B58 Rust \u652F\u6301\uFF0C\u540C\u65F6\u5BF9Fury \u884C\u5B58 
C++\u652F\u6301\u8FDB\u884C\u4E86\u5B8C\u5584\uFF0C\u652F\u6301\u53EF\u8FED\u4EE3\u7C7B\u578B\uFF0C\u6B22\u8FCE\u4F7F\u7528\uFF01`},Ti=[{id:"\u9879\u76EE\u65B0\u95FB\u548C\u535A\u5BA2",depth:1,title:"\u9879\u76EE\u65B0\u95FB\u548C\u535A\u5BA2"},{id:"fury-041-released",depth:1,title:"
 [...]
 \u5F88\u9AD8\u5174\u5411\u5927\u5BB6\u53D1\u5E03Fury 
0.4.1\u7248\u672C\uFF0C\u672C\u6B21\u53D1\u5E03\u91CD\u70B9\u65B0\u589E\u4E86 
Fury \u884C\u5B58 Rust \u652F\u6301\uFF0C\u540C\u65F6\u5BF9Fury \u884C\u5B58 
C++\u652F\u6301\u8FDB\u884C\u4E86\u5B8C\u5584\uFF0C\u652F\u6301\u53EF\u8FED\u4EE3\u7C7B\u578B\uFF0C\u6B22\u8FCE\u4F7F\u7528\uFF01
 `,paraId:2,tocIndex:1},{value:"Fury 0.4.0 
Released",paraId:3,tocIndex:1},{value:"2023\u5E74 
11\u670829\u53F7",paraId:4,tocIndex:2},{value:`
 \u5F88\u9AD8\u5174\u5411\u5927\u5BB6\u53D1\u5E03Fury 
0.4.0\u7248\u672C\uFF0C\u672C\u6B21\u53D1\u5E03\u91CD\u70B9\u652F\u6301\u4E86 
Graalvm native image\uFF0C\u57FA\u4E8E\u7F16\u8BD1\u65F6\u53CD\u5C04\u7684C++ 
Row Format 
Encoder\uFF0CScala\u5E8F\u5217\u5316\u517C\u5BB9\u6027\u6539\u8FDB\uFF0C\u6B22\u8FCE\u4F7F\u7528\uFF01
@@ -2469,8 +2469,8 @@ print(foo_row.f2[100000], foo_row.f4[100000].f1, 
foo_row.f4[200000].f2[5])
 
\u5927\u5BB6\u597D\uFF0C\u7ECF\u8FC7\u51E0\u4E2A\u6708\u7684\u52AA\u529B\uFF0CFury
 0.1.0 
\u7248\u672C\u6B63\u5F0F\u5BF9\u5916\u53D1\u5E03\u3002\u8FD9\u662F\u6211\u4EEC\u4ECA\u5E74\u56DB\u6708\u5E95\u6B63\u5F0F\u5728
 GitHub \u5F00\u53D1\u30017 \u6708 15 
\u53F7\u5BF9\u5916\u5F00\u6E90\u540E\u53D1\u5E03\u7684\u7B2C\u4E00\u4E2A\u7248\u672C\u3002\u8FD9\u4E00\u7248\u672C\u5305\u542B\u4E86\u5927\u91CF\u7279\u6027\uFF0C\u6B22\u8FCE\u5927\u5BB6\u4F7F\u7528\uFF0C\u5E0C\u671B\u80FD\u63D0\u4F9B\u5B9
 [...]
 `,paraId:18,tocIndex:9},{value:"Fury - 
\u4E00\u4E2A\u57FA\u4E8EJIT\u548C\u96F6\u62F7\u8D1D\u7684\u9AD8\u6027\u80FD\u591A\u8BED\u8A00\u5E8F\u5217\u5316\u6846\u67B6",paraId:19,tocIndex:9},{value:"2023\u5E74
 07\u670815\u53F7",paraId:20,tocIndex:10},{value:`
 Fury \u662F\u4E00\u4E2A\u57FA\u4E8E JIT 
\u52A8\u6001\u7F16\u8BD1\u548C\u96F6\u62F7\u8D1D\u7684\u591A\u8BED\u8A00\u5E8F\u5217\u5316\u6846\u67B6\uFF0C\u652F\u6301
 Java/Python/Golang/JavaScript/C++ 
\u7B49\u8BED\u8A00\uFF0C\u63D0\u4F9B\u5168\u81EA\u52A8\u7684\u5BF9\u8C61\u591A\u8BED\u8A00
 / \u8DE8\u8BED\u8A00\u5E8F\u5217\u5316\u80FD\u529B\uFF0C\u548C\u76F8\u6BD4 JDK 
\u6700\u9AD8 170 \u500D\u7684\u6027\u80FD\u3002
-`,paraId:0}],ci={},Hi={title:'<font color="#d74633" 
face="Lato,Roboto,Arial,sans-serif">Fury - A blazing fast multi-language 
serialization framework powered by jit and 
zero-copy</font>',toc:"menu",filename:"docs/blog/list.md",lastUpdated:170351429e4,order:-1,description:`9
 Dec 2023
-I'm pleased to announce the 0.4.1 release of the Fury: 
https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury 
support rust row format now. C++ row format has been enhanced too, now iterable 
types can be encoded to fury row format. Please try it out and share your 
feedbacks with us.`},Ai=[{id:"project-news-and-blog",depth:1,title:"Project 
News and Blog"},{id:"fury-041-released",depth:1,title:"Fury 0.4.1 
Released"},{id:"fury-040-released",depth:1,title:"Fury 0.4.0 Rele [...]
+`,paraId:0}],ci={},Gi={title:'<font color="#d74633" 
face="Lato,Roboto,Arial,sans-serif">Fury - A blazing fast multi-language 
serialization framework powered by jit and 
zero-copy</font>',toc:"menu",filename:"docs/blog/list.md",lastUpdated:1703515673e3,order:-1,description:`9
 Dec 2023
+I'm pleased to announce the 0.4.1 release of the Fury: 
https://github.com/alipay/fury/releases/tag/v0.4.1. With this release, Fury 
support rust row format now. C++ row format has been enhanced too, now iterable 
types can be encoded to fury row format. Please try it out and share your 
feedbacks with us.`},Oi=[{id:"project-news-and-blog",depth:1,title:"Project 
News and Blog"},{id:"fury-041-released",depth:1,title:"Fury 0.4.1 
Released"},{id:"fury-040-released",depth:1,title:"Fury 0.4.0 Rele [...]
 I'm pleased to announce the 0.4.1 release of the Fury: 
`,paraId:2,tocIndex:1},{value:"https://github.com/alipay/fury/releases/tag/v0.4.1",paraId:2,tocIndex:1},{value:`.
 With this release, Fury support rust row format now. C++ row format has been 
enhanced too, now iterable types can be encoded to fury row format. Please try 
it out and share your feedbacks with us.
 `,paraId:2,tocIndex:1},{value:"Fury 0.4.0 
Released",paraId:3,tocIndex:1},{value:"29 Nov 
2023",paraId:4,tocIndex:2},{value:`
 I'm pleased to announce the 0.4.0 release of the Fury. With this release, 
`,paraId:4,tocIndex:2},{value:"GraalVM native 
image",paraId:4,tocIndex:2},{value:` and C++ row format automatic encoder based 
on compile-time reflection are supported. Please try it out and share your 
feedbacks with us.
@@ -2491,14 +2491,14 @@ I'm pleased to announce the 0.1.1 release of the Fury. 
Fury 0.1.1 is our second
 I'm pleased to announce the 0.1.0 release of the Fury. Fury 0.1.0 is our first 
release since we started the development in github in 2023.04.28, and open 
sourced in 2023.07.15. This release includes many features: production-ready 
Java serialization, cross language serialization for 
Java/Python/JavaScript/Rust, row format support and so on.
 `,paraId:18,tocIndex:9},{value:"Fury - A blazing fast multi-language 
serialization framework powered by jit and 
zero-copy",paraId:19,tocIndex:9},{value:"15 July 
2023",paraId:20,tocIndex:10},{value:`
 Fury is a multi-language serialization framework powered by JIT dynamic 
compilation and zero copy. It supports Java/Python/Golang/JavaScript/Rust/C++, 
provide automatic multi-language objects serialization features, and 170x 
speedup compared to JDK serialization.
-`,paraId:20,tocIndex:10}],Oi=null,zo={},di={"docs/blog/fury_blazing_fast_multiple_language_serialization_framework.zh":{frontmatter:s,toc:l,texts:c,demos:u},"docs/blog/fury_blazing_fast_multiple_language_serialization_framework":{frontmatter:y,toc:f,texts:v,demos:h},"docs/guide/xlang_object_graph_guide.zh":{frontmatter:g,toc:x,texts:E,demos:I},"docs/guide/java_object_graph_guide.zh":{frontmatter:w,toc:A,texts:C,demos:k},"docs/guide/xlang_object_graph_guide":{frontmatter:T,toc:O,texts:M,d
 [...]
+`,paraId:20,tocIndex:10}],Ri={},jo={title:"Docs",toc:"menu",filename:"docs/index.md",lastUpdated:1703515673e3},Pi=[],Fn=[],di=null,pi={},dn={"docs/blog/fury_blazing_fast_multiple_language_serialization_framework.zh":{frontmatter:s,toc:l,texts:c,demos:u},"docs/blog/fury_blazing_fast_multiple_language_serialization_framework":{frontmatter:y,toc:f,texts:v,demos:h},"docs/guide/xlang_object_graph_guide.zh":{frontmatter:g,toc:x,texts:E,demos:I},"docs/guide/java_object_graph_guide.zh":{frontmat
 [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}var 
Le=!0,He=!1,Ze;return{s:function(){Ne=Ne.call(be)},n:function(){var 
ot=Ne.next();return 
Le=ot.done,ot},e:function(ot){He=!0,Ze=ot},f:function(){try{!Le&&Ne.return!=null&&Ne.return()}finally{if(He)throw
 Ze}}}}function X(be){if(Array.isArray(be))return be}function ne(be){if(typeof 
Symbol!="undefined"&&be[Symbol.iterator]!=null||be["@@iterator"]!=null)return 
Array.from(be)}function B(){throw new TypeErr [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Z(be){return X(be)||ne(be)||ve(be)||B()}function 
$(be,ke){if(!(be instanceof ke))throw new TypeError("Cannot call a class as a 
function")}function S(be,ke){for(var Ne=0;Ne<ke.length;Ne++){var 
de=ke[Ne];de.enumerable=de.enumerable||!1,de.configurable=!0,"value"in 
de&&(de.writable=!0),Object.defineProperty(be,O(de.key),de)}}function 
j(be,ke,Ne){return ke&&S(be.prototype,ke),Ne&&S(be,Ne),Object.def [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function _unsupportedIterableToArray(d,m){if(d){if(typeof 
d=="string")return _arrayLikeToArray(d,m);var 
e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return
 
Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return
 _arrayLikeToArray(d,m)}}function 
_arrayLikeToArray(d,m){(m==null||m>d.length)&&( [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Z(be){return X(be)||ne(be)||ve(be)||B()}function 
$(be,ke){if(!(be instanceof ke))throw new TypeError("Cannot call a class as a 
function")}function S(be,ke){for(var Ne=0;Ne<ke.length;Ne++){var 
de=ke[Ne];de.enumerable=de.enumerable||!1,de.configurable=!0,"value"in 
de&&(de.writable=!0),Object.defineProperty(be,O(de.key),de)}}function 
j(be,ke,Ne){return ke&&S(be.prototype,ke),Ne&&S(be,Ne),Object.def [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function _unsupportedIterableToArray(d,m){if(d){if(typeof 
d=="string")return _arrayLikeToArray(d,m);var 
e=Object.prototype.toString.call(d).slice(8,-1);if(e==="Object"&&d.constructor&&(e=d.constructor.name),e==="Map"||e==="Set")return
 
Array.from(d);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return
 _arrayLikeToArray(d,m)}}function 
_arrayLikeToArray(d,m){(m==null||m>d.length)&&( [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function O(z,L){if(z){if(typeof z=="string")return M(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 M(z,L)}}function M(z,L){(L==null||L>z.length)&&(L=z.length);for(var N=0,fe=new 
Array(L);N<L;N++)fe[N]=z[N];return fe}funct [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function X(z,L){if(z){if(typeof z=="string")return ne(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 ne(z,L)}}function ne(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}fu [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function U(z,L){if(z){if(typeof z=="string")return J(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 J(z,L)}}function J(z,L){(L==null||L>z.length)&&(L=z.length);for(var N=0,fe=new 
Array(L);N<L;N++)fe[N]=z[N];return fe}funct [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function ft(z,L){if(z){if(typeof z=="string")return yt(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 yt(z,L)}}function yt(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function U(z,L){if(z){if(typeof z=="string")return J(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 J(z,L)}}function J(z,L){(L==null||L>z.length)&&(L=z.length);for(var N=0,fe=new 
Array(L);N<L;N++)fe[N]=z[N];return fe}funct [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function ft(z,L){if(z){if(typeof z=="string")return yt(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 yt(z,L)}}function yt(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
 <html>
 <head><title></title></head>
 <body>
@@ -2509,12 +2509,12 @@ In order to be iterable, non-array objects must have a 
[Symbol.iterator]() metho
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Kn(z,L){if(z){if(typeof z=="string")return fr(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 fr(z,L)}}function fr(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}var Ke=!0,Ve=!1,at;return{s:function(){N=N.call(z)},n:function(){var 
lt=N.next();return 
Ke=lt.done,lt},e:function(lt){Ve=!0,at=lt},f:function(){try{!Ke&&N.return!=null&&N.return()}finally{if(Ve)throw
 at}}}}function Kr(z){return Fr(z)||cn(z)||re(z)||no()}function no(){throw new 
TypeError(`Invalid attempt to spread non-iterable instance.
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function cn(z){if(typeof 
Symbol!="undefined"&&z[Symbol.iterator]!=null||z["@@iterator"]!=null)return 
Array.from(z)}function Fr(z){if(Array.isArray(z))return _e(z)}function 
Vn(z,L){return ie(z)||pe(z,L)||re(z,L)||bn()}function bn(){throw new 
TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function re(z,L){if(z){if(typeof z=="string")return _e(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 _e(z,L)}}function _e(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Ya(z){if(typeof 
Symbol!="undefined"&&z[Symbol.iterator]!=null||z["@@iterator"]!=null)return 
Array.from(z)}function ma(z){if(Array.isArray(z))return wr(z)}function 
Aa(z,L){return po(z)||Go(z,L)||Mr(z,L)||Qa()}function Qa(){throw new 
TypeError(`Invalid attempt to destructure non-iterable instance.
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Mr(z,L){if(z){if(typeof z=="string")return wr(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 wr(z,L)}}function wr(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function ru(z,L){if(z){if(typeof z=="string")return Ci(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 Ci(z,L)}}function Ci(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Vo(z,L){if(z){if(typeof z=="string")return Mo(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 Mo(z,L)}}function Mo(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Hu(z,L){if(z){if(typeof z=="string")return uu(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 uu(z,L)}}function uu(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function re(z,L){if(z){if(typeof z=="string")return _e(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 _e(z,L)}}function _e(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Ya(z){if(typeof 
Symbol!="undefined"&&z[Symbol.iterator]!=null||z["@@iterator"]!=null)return 
Array.from(z)}function ma(z){if(Array.isArray(z))return wr(z)}function 
Aa(z,L){return po(z)||Wo(z,L)||Mr(z,L)||Qa()}function Qa(){throw new 
TypeError(`Invalid attempt to destructure non-iterable instance.
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Mr(z,L){if(z){if(typeof z=="string")return wr(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 wr(z,L)}}function wr(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function ou(z,L){if(z){if(typeof z=="string")return Ti(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 Ti(z,L)}}function Ti(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function fi(z,L){if(z){if(typeof z=="string")return Do(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 Do(z,L)}}function Do(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Hu(z,L){if(z){if(typeof z=="string")return lu(z,L);var 
N=Object.prototype.toString.call(z).slice(8,-1);if(N==="Object"&&z.constructor&&(N=z.constructor.name),N==="Map"||N==="Set")return
 
Array.from(z);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return
 lu(z,L)}}function lu(z,L){(L==null||L>z.length)&&(L=z.length);for(var 
N=0,fe=new Array(L);N<L;N++)fe[N]=z[N];return fe}f [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function s(f,v){if(f){if(typeof f=="string")return l(f,v);var 
I=Object.prototype.toString.call(f).slice(8,-1);if(I==="Object"&&f.constructor&&(I=f.constructor.name),I==="Map"||I==="Set")return
 
Array.from(f);if(I==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(I))return
 l(f,v)}}function l(f,v){(v==null||v>f.length)&&(v=f.length);for(var I=0,g=new 
Array(v);I<v;I++)g[I]=f[I];return g}function [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function c(C,R){if(C){if(typeof C=="string")return h(C,R);var 
T=Object.prototype.toString.call(C).slice(8,-1);if(T==="Object"&&C.constructor&&(T=C.constructor.name),T==="Map"||T==="Set")return
 
Array.from(C);if(T==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(T))return
 h(C,R)}}function h(C,R){(R==null||R>C.length)&&(R=C.length);for(var T=0,O=new 
Array(R);T<R;T++)O[T]=C[T];return O}function [...]
  * This is an auto-generated demo by dumi
@@ -2540,34 +2540,34 @@ ReactDOM.render(
   <App />,
   document.getElementById('root'),
 );`)},E=typeof 
window!="undefined"?r.useLayoutEffect:r.useEffect,k=function(){var 
R=(0,o.b)();return(0,r.useCallback)(function(T,O){return("order"in T&&"order"in 
O?T.order-O.order:0)||("link"in T&&"link"in 
O?T.link.split("/").length-O.link.split("/").length:0)||("path"in T&&"path"in 
O?T.path.split("/").length-O.path.split("/").length:0)||(T.title?T.title.localeCompare(O.title||"",R.id):-1)},[])},w=function(R,T,O){var
 M,H=T==="nav.second"?u(O.nav)==="object"?O.nav.second:{}:O[T];switch(u( [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function S(oe,ye){if(oe){if(typeof oe=="string")return j(oe,ye);var 
le=Object.prototype.toString.call(oe).slice(8,-1);if(le==="Object"&&oe.constructor&&(le=oe.constructor.name),le==="Map"||le==="Set")return
 
Array.from(oe);if(le==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(le))return
 j(oe,ye)}}function j(oe,ye){(ye==null||ye>oe.length)&&(ye=oe.length);for(var 
le=0,me=new Array(ye);le<ye; [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function S(oe,ye){if(oe){if(typeof oe=="string")return j(oe,ye);var 
le=Object.prototype.toString.call(oe).slice(8,-1);if(le==="Object"&&oe.constructor&&(le=oe.constructor.name),le==="Map"||le==="Set")return
 
Array.from(oe);if(le==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(le))return
 j(oe,ye)}}function j(oe,ye){(ye==null||ye>oe.length)&&(ye=oe.length);for(var 
le=0,me=new Array(ye);le<ye; [...]
 html body {
   overflow-y: hidden;
   `.concat(ge?"width: calc(100% - ".concat(Ie,"px);"):"",`
-}`),ue)}else(0,me.jL)(ue);return function(){(0,me.jL)(ue)}},[F,ue])}var 
bt=!1;function zt(D){return typeof D=="boolean"&&(bt=D),bt}var 
be=function(F){return F===!1?!1:!(0,q.Z)()||!F?null:typeof 
F=="string"?document.querySelector(F):typeof 
F=="function"?F():F},ke=l.forwardRef(function(D,F){var 
G=D.open,ce=D.autoLock,ue=D.getContainer,Ie=D.debug,ge=D.autoDestroy,Oe=ge===void
 
0?!0:ge,Be=D.children,Ge=l.useState(G),gt=(0,S.Z)(Ge,2),tt=gt[0],vt=gt[1],mt=tt||G;l.useEffect(function(){(Oe||G)&&v
 [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Zn(D,F){if(D){if(typeof D=="string")return zi(D,F);var 
G=Object.prototype.toString.call(D).slice(8,-1);if(G==="Object"&&D.constructor&&(G=D.constructor.name),G==="Map"||G==="Set")return
 
Array.from(D);if(G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return
 zi(D,F)}}function zi(D,F){(F==null||F>D.length)&&(F=D.length);for(var 
G=0,ce=new Array(F);G<F;G++)ce[G]=D[G];return ce}f [...]
+}`),ue)}else(0,me.jL)(ue);return function(){(0,me.jL)(ue)}},[F,ue])}var 
xt=!1;function zt(D){return typeof D=="boolean"&&(xt=D),xt}var 
be=function(F){return F===!1?!1:!(0,q.Z)()||!F?null:typeof 
F=="string"?document.querySelector(F):typeof 
F=="function"?F():F},ke=l.forwardRef(function(D,F){var 
G=D.open,ce=D.autoLock,ue=D.getContainer,Ie=D.debug,ge=D.autoDestroy,Oe=ge===void
 
0?!0:ge,Be=D.children,Ge=l.useState(G),gt=(0,S.Z)(Ge,2),tt=gt[0],vt=gt[1],mt=tt||G;l.useEffect(function(){(Oe||G)&&v
 [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Zn(D,F){if(D){if(typeof D=="string")return ji(D,F);var 
G=Object.prototype.toString.call(D).slice(8,-1);if(G==="Object"&&D.constructor&&(G=D.constructor.name),G==="Map"||G==="Set")return
 
Array.from(D);if(G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return
 ji(D,F)}}function ji(D,F){(F==null||F>D.length)&&(F=D.length);for(var 
G=0,ce=new Array(F);G<F;G++)ce[G]=D[G];return ce}f [...]
 `,empty:!0}):me.length===1&&me[0].content===""&&(me[0].content=`
-`,me[0].empty=!0)},ve=function(me,Ae){var ze=me.length;return 
ze>0&&me[ze-1]===Ae?me:me.concat(Ae)},ee=function(me){for(var 
Ae=[[]],ze=[me],ft=[0],yt=[me.length],dt=0,bt=0,zt=[],be=[zt];bt>-1;){for(;(dt=ft[bt]++)<yt[bt];){var
 ke=void 0,Ne=Ae[bt],de=ze[bt],xe=de[dt];if(typeof 
xe=="string"?(Ne=bt>0?Ne:["plain"],ke=xe):(Ne=ve(Ne,xe.type),xe.alias&&(Ne=ve(Ne,xe.alias)),ke=xe.content),typeof
 
ke!="string"){bt++,Ae.push(Ne),ze.push(ke),ft.push(0),yt.push(ke.length);continue}var
 Le=ke.split(ae), [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function q(me,Ae){if(me){if(typeof me=="string")return U(me,Ae);var 
ze=Object.prototype.toString.call(me).slice(8,-1);if(ze==="Object"&&me.constructor&&(ze=me.constructor.name),ze==="Map"||ze==="Set")return
 
Array.from(me);if(ze==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ze))return
 U(me,Ae)}}function U(me,Ae){(Ae==null||Ae>me.length)&&(Ae=me.length);for(var 
ze=0,ft=new Array(Ae);ze<Ae; [...]
+`,me[0].empty=!0)},ve=function(me,Ae){var ze=me.length;return 
ze>0&&me[ze-1]===Ae?me:me.concat(Ae)},ee=function(me){for(var 
Ae=[[]],ze=[me],ft=[0],yt=[me.length],dt=0,xt=0,zt=[],be=[zt];xt>-1;){for(;(dt=ft[xt]++)<yt[xt];){var
 ke=void 0,Ne=Ae[xt],de=ze[xt],xe=de[dt];if(typeof 
xe=="string"?(Ne=xt>0?Ne:["plain"],ke=xe):(Ne=ve(Ne,xe.type),xe.alias&&(Ne=ve(Ne,xe.alias)),ke=xe.content),typeof
 
ke!="string"){xt++,Ae.push(Ne),ze.push(ke),ft.push(0),yt.push(ke.length);continue}var
 Le=ke.split(ae), [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function q(me,Ae){if(me){if(typeof me=="string")return U(me,Ae);var 
ze=Object.prototype.toString.call(me).slice(8,-1);if(ze==="Object"&&me.constructor&&(ze=me.constructor.name),ze==="Map"||ze==="Set")return
 
Array.from(me);if(ze==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ze))return
 U(me,Ae)}}function U(me,Ae){(Ae==null||Ae>me.length)&&(Ae=me.length);for(var 
ze=0,ft=new Array(Ae);ze<Ae; [...]
 `+Y+t}var U=!1;function J(t,a){if(!t||U)return"";U=!0;var 
i=Error.prepareStackTrace;Error.prepareStackTrace=void 
0;try{if(a)if(a=function(){throw 
Error()},Object.defineProperty(a.prototype,"props",{set:function(){throw 
Error()}}),typeof 
Reflect=="object"&&Reflect.construct){try{Reflect.construct(a,[])}catch(Fe){var 
p=Fe}Reflect.construct(t,[],a)}else{try{a.call()}catch(Fe){p=Fe}t.call(a.prototype)}else{try{throw
 Error()}catch(Fe){p=Fe}t()}}catch(Fe){if(Fe&&p&&typeof Fe.stack=="string"){f 
[...]
 `),P=p.stack.split(`
 
`),V=_.length-1,se=P.length-1;1<=V&&0<=se&&_[V]!==P[se];)se--;for(;1<=V&&0<=se;V--,se--)if(_[V]!==P[se]){if(V!==1||se!==1)do
 if(V--,se--,0>se||_[V]!==P[se]){var Se=`
-`+_[V].replace(" at new "," at ");return 
t.displayName&&Se.includes("<anonymous>")&&(Se=Se.replace("<anonymous>",t.displayName)),Se}while(1<=V&&0<=se);break}}}finally{U=!1,Error.prepareStackTrace=i}return(t=t?t.displayName||t.name:"")?q(t):""}function
 te(t){switch(t.tag){case 5:return q(t.type);case 16:return q("Lazy");case 
13:return q("Suspense");case 19:return q("SuspenseList");case 0:case 2:case 
15:return t=J(t.type,!1),t;case 11:return t=J(t.type.render,!1),t;case 1:return 
t=J(t.type [...]
-`).replace(Ca,"")}function fa(t,a,i){if(a=ga(a),ga(t)!==a&&i)throw 
Error(o(425))}function Xa(){}var Oa=null,Ir=null;function tr(t,a){return 
t==="textarea"||t==="noscript"||typeof a.children=="string"||typeof 
a.children=="number"||typeof 
a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var
 Sr=typeof setTimeout=="function"?setTimeout:void 0,Yr=typeof 
clearTimeout=="function"?clearTimeout:void 0,_r=typeof 
Promise=="function"?Promi [...]
+`+_[V].replace(" at new "," at ");return 
t.displayName&&Se.includes("<anonymous>")&&(Se=Se.replace("<anonymous>",t.displayName)),Se}while(1<=V&&0<=se);break}}}finally{U=!1,Error.prepareStackTrace=i}return(t=t?t.displayName||t.name:"")?q(t):""}function
 te(t){switch(t.tag){case 5:return q(t.type);case 16:return q("Lazy");case 
13:return q("Suspense");case 19:return q("SuspenseList");case 0:case 2:case 
15:return t=J(t.type,!1),t;case 11:return t=J(t.type.render,!1),t;case 1:return 
t=J(t.type [...]
+`).replace(Ca,"")}function fa(t,a,i){if(a=ga(a),ga(t)!==a&&i)throw 
Error(o(425))}function Xa(){}var Oa=null,Ir=null;function tr(t,a){return 
t==="textarea"||t==="noscript"||typeof a.children=="string"||typeof 
a.children=="number"||typeof 
a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var
 Sr=typeof setTimeout=="function"?setTimeout:void 0,Yr=typeof 
clearTimeout=="function"?clearTimeout:void 0,_r=typeof 
Promise=="function"?Promi [...]
 Error generating stack: `+P.message+`
-`+P.stack}return{value:t,source:a,stack:_}}function 
$l(t,a){try{console.error(a.value)}catch(i){setTimeout(function(){throw 
i})}}var Fc=typeof WeakMap=="function"?WeakMap:Map;function 
Ls(t,a,i){i=Tr(-1,i),i.tag=3,i.payload={element:null};var p=a.value;return 
i.callback=function(){bl||(bl=!0,as=p),$l(t,a)},i}function 
Ns(t,a,i){i=Tr(-1,i),i.tag=3;var p=t.type.getDerivedStateFromError;if(typeof 
p=="function"){var _=a.value;i.payload=function(){return 
p(_)},i.callback=function(){$l(t,a)}}var [...]
+`+P.stack}return{value:t,source:a,stack:_}}function 
$l(t,a){try{console.error(a.value)}catch(i){setTimeout(function(){throw 
i})}}var Fc=typeof WeakMap=="function"?WeakMap:Map;function 
Ls(t,a,i){i=Tr(-1,i),i.tag=3,i.payload={element:null};var p=a.value;return 
i.callback=function(){bl||(bl=!0,as=p),$l(t,a)},i}function 
Ns(t,a,i){i=Tr(-1,i),i.tag=3;var p=t.type.getDerivedStateFromError;if(typeof 
p=="function"){var _=a.value;i.payload=function(){return 
p(_)},i.callback=function(){$l(t,a)}}var [...]
 `,"\\r":"\r","\\t":"   
"},f=/^[\da-f]{4}$/i,v=/^[\u0000-\u001F]$/;d.exports=function(I,g){for(var 
x=!0,E="";g<I.length;){var k=l(I,g);if(k=="\\"){var 
w=c(I,g,g+2);if(r(y,w))E+=y[w],g+=2;else if(w=="\\u"){g+=2;var 
A=c(I,g,g+4);if(!h(f,A))throw o("Bad Unicode escape at: 
"+g);E+=s(u(A,16)),g+=4}else throw o('Unknown escape sequence: "'+w+'"')}else 
if(k=='"'){x=!1,g++;break}else{if(h(v,k))throw o("Bad control character in 
string literal at: "+g);E+=k,g++}}if(x)throw o("Unterminated string at:  [...]
 
`;break;case"v":C+="\v";break;case"f":C+="\f";break;case"r":C+="\r";break;case"\r":T<A.length&&s(A,T)===`
 `&&++T;case`
 
`:case"\u2028":case"\u2029":break;case"0":if(E(A,T))return;C+="\0";break;case"x":if(O=k(A,T,T+2),O===-1)return;T+=2,C+=o(O);break;case"u":if(T<A.length&&s(A,T)==="{"){var
 H=c(A,"}",++T);if(H===-1)return;O=k(A,T,H),T=H+1}else 
O=k(A,T,T+4),T+=4;if(O===-1||O>1114111)return;C+=u(O);break;default:if(E(M,0))return;C+=M}R=T}return
 C+h(A,R)}},53111:function(d,m,e){var 
n=e(1702),r=e(84488),o=e(41340),u=e(81361),s=n("".replace),l=RegExp("^["+u+"]+"),c=RegExp("(^|[^"+u+"])["+u+"]+$"),h=function(y){
 [...]
-\v\f\r 
\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},89191:function(d,m,e){"use
 strict";var 
n=e(35005),r=e(92597),o=e(68880),u=e(47976),s=e(27674),l=e(99920),c=e(2626),h=e(79587),y=e(56277),f=e(58340),v=e(5392),I=e(19781),g=e(31913);d.exports=function(x,E,k,w){var
 
A="stackTraceLimit",C=w?2:1,R=x.split("."),T=R[R.length-1],O=n.apply(null,R);if(O){var
 M=O.prototype;if(!g&&r(M,"cause")&&delete M.cause,!k)return O;var H=n(" [...]
+\v\f\r 
\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`},89191:function(d,m,e){"use
 strict";var 
n=e(35005),r=e(92597),o=e(68880),u=e(47976),s=e(27674),l=e(99920),c=e(2626),h=e(79587),y=e(56277),f=e(58340),v=e(5392),I=e(19781),g=e(31913);d.exports=function(x,E,k,w){var
 
A="stackTraceLimit",C=w?2:1,R=x.split("."),T=R[R.length-1],O=n.apply(null,R);if(O){var
 M=O.prototype;if(!g&&r(M,"cause")&&delete M.cause,!k)return O;var H=n(" [...]
 Try polyfilling it using "@formatjs/intl-pluralrules"
 `,r.jK.MISSING_INTL_API,g);var 
ae=y.getPluralRules(h,{type:w.pluralType}).select(C-(w.offset||0));K=w.options[ae]||w.options.other}if(!K)throw
 new 
r.C8(w.value,C,Object.keys(w.options),g);x.push.apply(x,l(K.value,h,y,f,v,C-(w.offset||0)));continue}}return
 u(x)}},41143:function(d){"use strict";var 
m=function(e,n,r,o,u,s,l,c){if(!e){var h;if(n===void 0)h=new Error("Minified 
exception occurred; use the non-minified dev environment for the full error 
message and additional helpful warnings." [...]
 ?|
-|(?![\\s\\S])))+`,"m"),alias:l,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(u)[0]}}}}),Object.defineProperty(r.languages.diff,"PREFIXES",{value:o})}(n),n.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$
 git 
.*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit 
\w{40}$/m},n.languages.go=n.languages.extend("clike",{stri [...]
+|(?![\\s\\S])))+`,"m"),alias:l,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(u)[0]}}}}),Object.defineProperty(r.languages.diff,"PREFIXES",{value:o})}(n),n.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$
 git 
.*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit 
\w{40}$/m},n.languages.go=n.languages.extend("clike",{stri [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}d.exports=m,d.exports.__esModule=!0,d.exports.default=d.exports},97857:function(d,m,e){var
 n=e(9783);function r(u,s){var 
l=Object.keys(u);if(Object.getOwnPropertySymbols){var 
c=Object.getOwnPropertySymbols(u);s&&(c=c.filter(function(h){return 
Object.getOwnPropertyDescriptor(u,h).enumerable})),l.push.apply(l,c)}return 
l}function o(u){for(var s=1;s<arguments.length;s++){var 
l=arguments[s]!=null?arguments[s [...]
 In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}},1413:function(d,m,e){"use strict";e.d(m,{Z:function(){return 
o}});var n=e(4942);function r(u,s){var 
l=Object.keys(u);if(Object.getOwnPropertySymbols){var 
c=Object.getOwnPropertySymbols(u);s&&(c=c.filter(function(h){return 
Object.getOwnPropertyDescriptor(u,h).enumerable})),l.push.apply(l,c)}return 
l}function o(u){for(var s=1;s<arguments.length;s++){var 
l=arguments[s]!=null?arguments[s]:{};s%2?r(Object(l [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function l(c){return 
r(c)||(0,o.Z)(c)||(0,u.Z)(c)||s()}},83997:function(d,m,e){"use 
strict";e.d(m,{Z:function(){return o}});var n=e(71002);function 
r(u,s){if((0,n.Z)(u)!="object"||!u)return u;var 
l=u[Symbol.toPrimitive];if(l!==void 0){var 
c=l.call(u,s||"default");if((0,n.Z)(c)!="object")return c;throw new 
TypeError("@@toPrimitive must return a primitive 
value.")}return(s==="string"?String:Number)(u)}func [...]
-(`+v+")");I.code="CSS_CHUNK_LOAD_FAILED",I.type=f,I.request=v,c.parentNode.removeChild(c),l(I)}};return
 
c.onerror=c.onload=h,c.href=o,u?u.parentNode.insertBefore(c,u.nextSibling):document.head.appendChild(c),c},m=function(r,o){for(var
 u=document.getElementsByTagName("link"),s=0;s<u.length;s++){var 
l=u[s],c=l.getAttribute("data-href")||l.getAttribute("href");if(l.rel==="stylesheet"&&(c===r||c===o))return
 l}for(var h=document.getElementsByTagName("style"),s=0;s<h.length;s++){var 
l=h[s],c=l [...]
-(`+y+": 
"+f+")",l.name="ChunkLoadError",l.type=y,l.request=f,o[1](l)}};__webpack_require__.l(s,c,"chunk-"+n,n)}};var
 m=function(n,r){var o=r[0],u=r[1],s=r[2],l,c,h=0;if(o.some(function(f){return 
d[f]!==0})){for(l in 
u)__webpack_require__.o(u,l)&&(__webpack_require__.m[l]=u[l]);if(s)var 
y=s(__webpack_require__)}for(n&&n(r);h<o.length;h++)c=o[h],__webpack_require__.o(d,c)&&d[c]&&d[c][0](),d[c]=0},e=self.webpackChunkfury_site=self.webpackChunkfury_site||[];e.forEach(m.bind(null,0)),e.push=m
 [...]
-In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Rr(nt,D){return sa(nt)||Ja(nt,D)||er(nt,D)||Zr()}var 
wt=__webpack_require__(62435),vo=__webpack_require__(6915),Dr=__webpack_require__(20057),Lo=__webpack_require__(34162);function
 Zo(nt){var D=nt.id,F=nt.basename,G=nt.cb,ce=new 
URLSearchParams({route:D,url:window.location.href}).toString(),ue="".concat(lu(F),"__serverLoader?").concat(ce);fetch(ue,{credentials:"include"}).then(function(Ie){retur
 [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function l(c){return 
r(c)||(0,o.Z)(c)||(0,u.Z)(c)||s()}},83997:function(d,m,e){"use 
strict";e.d(m,{Z:function(){return o}});var n=e(71002);function 
r(u,s){if((0,n.Z)(u)!="object"||!u)return u;var 
l=u[Symbol.toPrimitive];if(l!==void 0){var 
c=l.call(u,s||"default");if((0,n.Z)(c)!="object")return c;throw new 
TypeError("@@toPrimitive must return a primitive 
value.")}return(s==="string"?String:Number)(u)}func [...]
+(`+v+")");I.code="CSS_CHUNK_LOAD_FAILED",I.type=f,I.request=v,c.parentNode.removeChild(c),l(I)}};return
 
c.onerror=c.onload=h,c.href=o,u?u.parentNode.insertBefore(c,u.nextSibling):document.head.appendChild(c),c},m=function(r,o){for(var
 u=document.getElementsByTagName("link"),s=0;s<u.length;s++){var 
l=u[s],c=l.getAttribute("data-href")||l.getAttribute("href");if(l.rel==="stylesheet"&&(c===r||c===o))return
 l}for(var h=document.getElementsByTagName("style"),s=0;s<h.length;s++){var 
l=h[s],c=l [...]
+(`+y+": 
"+f+")",l.name="ChunkLoadError",l.type=y,l.request=f,o[1](l)}};__webpack_require__.l(s,c,"chunk-"+n,n)}};var
 m=function(n,r){var o=r[0],u=r[1],s=r[2],l,c,h=0;if(o.some(function(f){return 
d[f]!==0})){for(l in 
u)__webpack_require__.o(u,l)&&(__webpack_require__.m[l]=u[l]);if(s)var 
y=s(__webpack_require__)}for(n&&n(r);h<o.length;h++)c=o[h],__webpack_require__.o(d,c)&&d[c]&&d[c][0](),d[c]=0},e=self.webpackChunkfury_site=self.webpackChunkfury_site||[];e.forEach(m.bind(null,0)),e.push=m
 [...]
+In order to be iterable, non-array objects must have a [Symbol.iterator]() 
method.`)}function Rr(nt,D){return sa(nt)||Ja(nt,D)||er(nt,D)||Zr()}var 
It=__webpack_require__(62435),vo=__webpack_require__(6915),Dr=__webpack_require__(20057),No=__webpack_require__(34162);function
 Zo(nt){var D=nt.id,F=nt.basename,G=nt.cb,ce=new 
URLSearchParams({route:D,url:window.location.href}).toString(),ue="".concat(su(F),"__serverLoader?").concat(ce);fetch(ue,{credentials:"include"}).then(function(Ie){retur
 [...]
diff --git a/zh/blog/fury_0_1_0_release/index.html 
b/zh/blog/fury_0_1_0_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_1_0_release/index.html
+++ b/zh/blog/fury_0_1_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_1_1_release/index.html 
b/zh/blog/fury_0_1_1_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_1_1_release/index.html
+++ b/zh/blog/fury_0_1_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_1_2_release/index.html 
b/zh/blog/fury_0_1_2_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_1_2_release/index.html
+++ b/zh/blog/fury_0_1_2_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_2_0_release/index.html 
b/zh/blog/fury_0_2_0_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_2_0_release/index.html
+++ b/zh/blog/fury_0_2_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_2_1_release/index.html 
b/zh/blog/fury_0_2_1_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_2_1_release/index.html
+++ b/zh/blog/fury_0_2_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_3_0_release/index.html 
b/zh/blog/fury_0_3_0_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_3_0_release/index.html
+++ b/zh/blog/fury_0_3_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_3_1_release/index.html 
b/zh/blog/fury_0_3_1_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_3_1_release/index.html
+++ b/zh/blog/fury_0_3_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_4_0_release/index.html 
b/zh/blog/fury_0_4_0_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_4_0_release/index.html
+++ b/zh/blog/fury_0_4_0_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/fury_0_4_1_release/index.html 
b/zh/blog/fury_0_4_1_release/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/fury_0_4_1_release/index.html
+++ b/zh/blog/fury_0_4_1_release/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git 
a/zh/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html
 
b/zh/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html
index f6537e9..a34c132 100644
--- 
a/zh/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html
+++ 
b/zh/blog/fury_blazing_fast_multiple_language_serialization_framework/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/blog/list/index.html b/zh/blog/list/index.html
index f6537e9..a34c132 100644
--- a/zh/blog/list/index.html
+++ b/zh/blog/list/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/guide/java_object_graph_guide/index.html 
b/zh/guide/java_object_graph_guide/index.html
index f6537e9..a34c132 100644
--- a/zh/guide/java_object_graph_guide/index.html
+++ b/zh/guide/java_object_graph_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/guide/row_format_guide/index.html 
b/zh/guide/row_format_guide/index.html
index f6537e9..a34c132 100644
--- a/zh/guide/row_format_guide/index.html
+++ b/zh/guide/row_format_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/guide/xlang_object_graph_guide/index.html 
b/zh/guide/xlang_object_graph_guide/index.html
index f6537e9..a34c132 100644
--- a/zh/guide/xlang_object_graph_guide/index.html
+++ b/zh/guide/xlang_object_graph_guide/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/introduction/benchmark/index.html 
b/zh/introduction/benchmark/index.html
index f6537e9..a34c132 100644
--- a/zh/introduction/benchmark/index.html
+++ b/zh/introduction/benchmark/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/introduction/features/index.html 
b/zh/introduction/features/index.html
index f6537e9..a34c132 100644
--- a/zh/introduction/features/index.html
+++ b/zh/introduction/features/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/introduction/introduction/index.html 
b/zh/introduction/introduction/index.html
index f6537e9..a34c132 100644
--- a/zh/introduction/introduction/index.html
+++ b/zh/introduction/introduction/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/start/install/index.html b/zh/start/install/index.html
index f6537e9..a34c132 100644
--- a/zh/start/install/index.html
+++ b/zh/start/install/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/zh/start/usage/index.html b/zh/start/usage/index.html
index f6537e9..a34c132 100644
--- a/zh/start/usage/index.html
+++ b/zh/start/usage/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file
diff --git a/~demos/:id/index.html b/~demos/:id/index.html
index f6537e9..a34c132 100644
--- a/~demos/:id/index.html
+++ b/~demos/:id/index.html
@@ -9,6 +9,6 @@
 </head>
 <body>
 <div id="root"></div>
-<script src="/umi.39c9eede.js"></script>
+<script src="/umi.8f9af598.js"></script>
 
 </body></html>
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@fury.apache.org
For additional commands, e-mail: commits-h...@fury.apache.org

Reply via email to