From 1022a8b50a1d4516a5781bf976535c06c5c1bcfb Mon Sep 17 00:00:00 2001 From: Rizky Date: Tue, 31 Oct 2023 14:52:50 +0700 Subject: [PATCH] fix deeplClone --- app/web/src/render/ed/logic/ed-global.ts | 13 +++++++------ app/web/src/render/ed/logic/ed-sync.tsx | 7 ++++--- .../render/ed/panel/popup/api/api-server.tsx | 8 ++++---- .../toolbar/center/api/ExternalDeploy.tsx | 18 +++++++++--------- .../editor/panel/tree/utils/tree-utils.tsx | 3 ++- app/web/src/render/editor/tools/flat-tree.ts | 3 ++- app/web/src/render/site/site.tsx | 5 ----- bun.lockb | Bin 306944 -> 306144 bytes package.json | 2 -- pkgs/web-utils/src/use-global.ts | 8 ++++---- 10 files changed, 32 insertions(+), 35 deletions(-) diff --git a/app/web/src/render/ed/logic/ed-global.ts b/app/web/src/render/ed/logic/ed-global.ts index eafe06b9..518fa2c9 100644 --- a/app/web/src/render/ed/logic/ed-global.ts +++ b/app/web/src/render/ed/logic/ed-global.ts @@ -1,12 +1,13 @@ import { NodeModel } from "@minoru/react-dnd-treeview"; import { ReactElement } from "react"; -import { clientStartSync } from "../../../utils/sync/ws-client"; -import { IItem, MItem } from "../../../utils/types/item"; -import { DCode, DComp, DPage, IRoot } from "../../../utils/types/root"; -import { ISection } from "../../../utils/types/section"; -import { IText, MText } from "../../../utils/types/text"; +import { deepClone } from "web-utils"; import { SAction } from "../../../../../srv/ws/sync/actions"; import { ActivityList } from "../../../../../srv/ws/sync/type"; +import { clientStartSync } from "../../../utils/sync/ws-client"; +import { IItem, MItem } from "../../../utils/types/item"; +import { DComp, DPage, IRoot } from "../../../utils/types/root"; +import { ISection } from "../../../utils/types/section"; +import { IText, MText } from "../../../utils/types/text"; export const EmptySite = { id: "", @@ -71,7 +72,7 @@ export const EDGlobal = { | "page-not-found" | "ready", sync: null as unknown as Awaited>, - site: structuredClone(EmptySite), + site: deepClone(EmptySite), activity: { page: {} as Record, comp: {} as Record, diff --git a/app/web/src/render/ed/logic/ed-sync.tsx b/app/web/src/render/ed/logic/ed-sync.tsx index 0e73fea9..3fb0aaa3 100644 --- a/app/web/src/render/ed/logic/ed-sync.tsx +++ b/app/web/src/render/ed/logic/ed-sync.tsx @@ -1,10 +1,11 @@ import { compress, decompress } from "wasm-gzip"; +import { deepClone } from "web-utils"; +import { Y } from "../../../../../srv/ws/sync/entity/docs"; import { clientStartSync } from "../../../utils/sync/ws-client"; +import { w } from "../../../utils/types/general"; import { Loading } from "../../../utils/ui/loading"; import { EmptySite, PG } from "./ed-global"; -import { Y } from "../../../../../srv/ws/sync/entity/docs"; import { treeRebuild } from "./tree/build"; -import { w } from "../../../utils/types/general"; const decoder = new TextDecoder(); @@ -22,7 +23,7 @@ export const edInitSync = (p: PG) => { if (p.sync) { if (p.site.id === "--loading--") return false; if (params.site_id !== p.site.id) { - p.site = structuredClone(EmptySite); + p.site = deepClone(EmptySite); p.site.id = "--loading--"; p.sync.site.load(params.site_id).then((site) => { if (site) { diff --git a/app/web/src/render/ed/panel/popup/api/api-server.tsx b/app/web/src/render/ed/panel/popup/api/api-server.tsx index c976d90f..d07e5d19 100644 --- a/app/web/src/render/ed/panel/popup/api/api-server.tsx +++ b/app/web/src/render/ed/panel/popup/api/api-server.tsx @@ -1,10 +1,10 @@ import { forwardRef } from "react"; -import { useGlobal, useLocal } from "web-utils"; +import { deepClone, useGlobal, useLocal } from "web-utils"; import { EDGlobal } from "../../../logic/ed-global"; -import { apiRef, apiUrl, checkAPI, dev, server } from "./api-utils"; import { EdApiDB } from "./api-db"; -import { EdApiDomain } from "./api-domain"; import { EdApiDeploy } from "./api-deploy"; +import { EdApiDomain } from "./api-domain"; +import { apiRef, apiUrl, checkAPI, dev, server } from "./api-utils"; export const EdApiServer = forwardRef< HTMLDivElement, @@ -50,7 +50,7 @@ export const EdApiServer = forwardRef< if (typeof res === "object") { local.db = res.db; local.domains = res.domains; - local.oldDB = structuredClone(res.db); + local.oldDB = deepClone(res.db); local.hasDB = res.hasDB; local.status = "online"; if (res.deploy) { diff --git a/app/web/src/render/editor/panel/toolbar/center/api/ExternalDeploy.tsx b/app/web/src/render/editor/panel/toolbar/center/api/ExternalDeploy.tsx index ed0ed943..2de15ff2 100644 --- a/app/web/src/render/editor/panel/toolbar/center/api/ExternalDeploy.tsx +++ b/app/web/src/render/editor/panel/toolbar/center/api/ExternalDeploy.tsx @@ -1,11 +1,11 @@ -import { useGlobal, useLocal } from "web-utils"; -import { createAPI } from "../../../../../../utils/script/init-api"; -import { EditorGlobal, PG } from "../../../../logic/global"; -import { AutoHeightTextarea } from "../../../../../../utils/ui/auto-textarea"; -import { useEffect } from "react"; -import trim from "lodash.trim"; -import { formatDistance } from "date-fns/esm"; import { format } from "date-fns"; +import { formatDistance } from "date-fns/esm"; +import trim from "lodash.trim"; +import { useEffect } from "react"; +import { deepClone, useGlobal, useLocal } from "web-utils"; +import { createAPI } from "../../../../../../utils/script/init-api"; +import { AutoHeightTextarea } from "../../../../../../utils/ui/auto-textarea"; +import { EditorGlobal } from "../../../../logic/global"; const server = { status: "ready" as @@ -27,11 +27,11 @@ const DefaultLocal = { export const ExternalDeploy = () => { const p = useGlobal(EditorGlobal, "EDITOR"); - const local = useLocal(structuredClone(DefaultLocal)); + const local = useLocal(deepClone(DefaultLocal)); useEffect(() => { (async () => { - const newlocal = structuredClone(DefaultLocal); + const newlocal = deepClone(DefaultLocal); for (const [k, v] of Object.entries(newlocal)) { (local as any)[k] = v; } diff --git a/app/web/src/render/editor/panel/tree/utils/tree-utils.tsx b/app/web/src/render/editor/panel/tree/utils/tree-utils.tsx index accb3b1e..d9603bcb 100644 --- a/app/web/src/render/editor/panel/tree/utils/tree-utils.tsx +++ b/app/web/src/render/editor/panel/tree/utils/tree-utils.tsx @@ -11,6 +11,7 @@ import get from "lodash.get"; import set from "lodash.set"; import uniqBy from "lodash.uniqby"; import { FC } from "react"; +import { deepClone } from "web-utils"; import { IContent, MContent } from "../../../../../utils/types/general"; import { NodeMeta, PG } from "../../../logic/global"; import { fillID } from "../../../tools/fill-id"; @@ -216,7 +217,7 @@ export const selectMultiple = (p: PG, node: NodeModel) => { export const flatTree = (item: Array) => { const children = item as Array; - let ls = structuredClone(item); + let ls = deepClone(item); let sitem: any = ls.map((v: IContent) => { if (v.type !== "text") { v.childs = []; diff --git a/app/web/src/render/editor/tools/flat-tree.ts b/app/web/src/render/editor/tools/flat-tree.ts index cbbd7f19..9722bd70 100644 --- a/app/web/src/render/editor/tools/flat-tree.ts +++ b/app/web/src/render/editor/tools/flat-tree.ts @@ -1,11 +1,12 @@ import find from "lodash.find"; import get from "lodash.get"; import set from "lodash.set"; +import { deepClone } from "web-utils"; import { IContent } from "../../../utils/types/general"; export const flatTree = (item: Array) => { const children = item as Array; - let ls = structuredClone(item); + let ls = deepClone(item); let sitem: any = ls.map((v: IContent) => { if (v.type !== "text") { v.childs = []; diff --git a/app/web/src/render/site/site.tsx b/app/web/src/render/site/site.tsx index 476495e4..81328845 100644 --- a/app/web/src/render/site/site.tsx +++ b/app/web/src/render/site/site.tsx @@ -1,13 +1,8 @@ -import structuredClone from "@ungap/structured-clone"; import { FC, useState } from "react"; import { createRoot } from "react-dom/client"; import { GlobalContext, defineReact, defineWindow } from "web-utils"; import { siteLoader } from "./site-loader"; -if (!("structuredClone" in (window as any))) { - (window as any).structuredClone = structuredClone; -} - const w = window as unknown as { prasiContext: any; rootRender: any; diff --git a/bun.lockb b/bun.lockb index edc0dbeccf32b3066077bde106dd009f2e99fe35..91ef701cff4fbd0d689cb917ddb66786fd57173e 100755 GIT binary patch delta 57409 zcmeFacYIXUpZ`BIVIV^h0t7+;AwcLYK$t*aLV!@Dg9t=G2M8o|5<*ciK}DJkuXrGe z8WBaYp(0o@6vc{&C`3`BqM)LpqS(LB*S&Wz>$+syH@Z|ZhH}RD}n*x>o zeK$TkoR{4$FMrmwIddjuQS#)xy!nggW_gwnU%h~YIRt8B12n4|b{u{U>=3L9JO-D) z9~)DSFU*=mwI0uKTBQmXPtUXcnK_d>DsVonS9y!u&7CuSj>psAO_!gaGez;K_&rrY z5&`}dHsMEg?E63!n73dW**u;(l%jZAZu{7F^K-MZ8d@dZMoC$2?0B*&*Q7afW=;y{ zWlfngD}R2@%)F6sVtjQA#*<5_hhh0wSdApH*gt?u^%*t}`yN(pysnnV z(*U~wTL=3HT&3Eh-!3Pwgb`FZi?N!u+N4uCFH$JM!WsM!ABt`0@e~w>2xwHR)%AF4 zVt=Jnjc!M{G7hD7q6)iV)vz{L@jrlVv8UX8b>f|T6|pMsr+Q99nz-dK*)wzUsIA2DPzjkQYlC^e}JE%mrDVn&*2wjqszf%J(zfP=i=s za~96_cm@-x5qJo$o-Pj0nyK0IGu<&y#))dZ9bnG;2 zfm-To?zHR(2~^>6hKNoVehgQJzAc=QXoV%}++4rKaB0LIZ^bfL7ygeVv5bGuyFDKkett)jbrTp2fNq z{70ALe{>o4r$gFDZXM{9x6W#y)f5@^vZAwsscn<2}sc+DWE=htA>!(C+5 zTJaOFp}l^vQ$a`aX)3x8@p$5~&GEH%j^b-X3x_$E?_{j@o4(ir&1EwJjj>VK1nlvl z&Kh_TtM~`8DsT-}*Z(4{=6*a@Yo@mw-vxUferv2MzJ}q~VxE*6o}9(j`^<$7_l|bb zjT+7P+p9gV-L#o=CV5^XLK#=nGxf9*J&>I_Ysw_b@?1E^nW|o{ZH?8Us^j`ztQObj z7da#GK2{BS!?lsiJTetshBE$25V`fou{yOD`d#c)+zhJ%k6^VC{a(o#iSNfdQ!piK z(wzL+le3QE*CqZ%*FJ?+!(W-`G%#{gdJ11tcP~~QeYAjpMqq<$Z^WuWXD)T-_PA@` z#Hu0BV%5M}jE4%^>^9_Tx8kp8pw`6uSS`Bw;YpLilV)aJG1+Ozez+R82dfShZru zcd^H_8m^A5%61mtS6KD<7}g%~+1XjSIrB5~a%NARnKLbWejypuqR4^d4vN!|mQHsT z+fJ+&U+)x&_h1>gGK^uifl9Q?fi;=Qz#!d9HJ@ zAH!;Czv$XWv32k*tgeyEuv+S2*AB#LGw6g>>(0k&*ebgGSISp6zrnKW6cjF=Z4aa8 z7Jw42auZC+naW6dJXhdrJi@v3pI5FMALfRstdsC-5I@qjyEDEo#hoGBQ##2ND2u+=HxIXAQZD=CCkkGEXq^k}Q!nfvFLIq5oI>ohbcubpl(o@TD^ zU+#<$jbm)G^8R|ju1+g7!o(NY3Fgkpo1Z;@*33u&>!_eP2_~;}rsNjo>VO8NJSQXe8tBPA=byd{Ds$p+Yu;QPYqyz>RsNA!)f-AD zpdoJU+PYX>j@muKGxIzpw>U%ZgX?1c>S`zb5v=^(S6jQzYhDmJqR*N#yB#N+aOADd zgCtY?ZpNy;8sypG*>l(fWIQjga|UkDZO(u^h*i5RtopMAtAVYv!I{xZu$sAPF28)e zJwXM9g8&++u2{9JHns`&mm;U2qgV~hUaTtEgw+6F=f=;&*2f=@RsOzMrE86i$JTWH z$#Z7T$(`cy{6WPUr{maoPhZ}15>QLq+~Zs%PvfhgyRj;0g`JQ!=cXHt)x|In%RW@t zdA-%T#`y&$_c`u1*UrtKy?8SF;@mv06JGQ3Y~#6?cwM8nV|7j5?Alp5v$EQ8FD}4W z`*L^>&Gk7e7rz?*6s!g?FE4v8`?TljElzz~v1}Sm3bQ6p=3<&Ody^ZXu&U%5og2=} zW7j@eqea2b4>{HLeb~uf0b7M)BYcco-HJz?bm8gF7LuQvL+PxEN1bK#8}S<6p`_QI z)d{O^t={T1Gn}`0_T(8k^V8k(vKDc6oWia-nOow_th~JN!n`hOUMshN$jv5yc8>Nq z&$7pz2IvZB(VcsTK6B0#o;G+q)3rH}Zv8gr0$J#eZ__88@wySN@x8>2pP$>MD|Zdv z>$wREiBOB@xz@kK$uJaOo8Z|eoDu4SuMukel(SA!Tt6?oNGC7PqFFPwQ|2{+*CE|) zPdn>lIaU|wTzeKg9yZOqEbIE3RVGynE(AYo1^52^~x5R3SZhYA(s1Ck1+X}8dRne*FU98I4gH;8OW3@!?z-l5_x^|Jv z!`QkkwZdTpRA4u(3P{AN!fIIUEuZ^6o~GEm+yz?m%;co}oS9QRE8cYS#!>L8aF-{tA$be=q$o&o6f{)I}c*j^SW52`|(}J9>zAp ze+H}j;GNh8*sEMW8>@Zi0<6lJO@&I=7uy=^yqn=_%Pq*s}8@&=JeyxsL?8dT%;rJy558?`3X!9?01HSufW=@~Jc8`?1=; z7JTNk>v?>Q@Sp9o;_Ei=-tVMS>c|t$-cjjuC)wQmS=8zA+>Ed0-ADGi*u1$jbLMyQ zcy9gFx~%T`1(DLOc5A&1t47Yns`hCSKZkohuZCYa#l>KC^ZVtLvktz*YSa#6HA=5z zH5$6BDPPxPPI+02vL-Vro)^Bcds$GpjervJL}9+tk|Ad@k5}%8tAe@V`PuDeWG&v{ z`nO=!z~$I#*dz_ z(unq2VM^VHmyYLC9o{#c}1*;VEO$95yYslBhZ)IW@_^qO@R|dv0 z2&&klLVQ+bD>E4KovLgVVcJx&N-?vlSn(+#UvU*HGbI!_L8m*CAz&pumtq}BN%M`X zYQ=X8`PNpoGBL-iT1A*f)vVHPp}=Csx`*9H^=n%-E3-REs#!(dLxI*@R=u6Lr&7G< zS@Ef%z$Tcw?6b;f&e8L%B48a>hzjvr3BauCR(y|8;7*`YdNpE!cU><^Ndj$ZL^6a^ zf`MsxeeE)fy9J}SxZb%z^?hB#D(V^Xx8N#Cu^J|&1}-6_F{xxv*Lrb0k38Rj7^^50 z@-?k#m4-rrE7<$S5=XUk@9mmaW?Cq)myPdIpw}t}Cf2q}(?Y&$YFqKWLcTX@TbaE= zfoS$bb)D(%5e!^_7s6vHbr1Sh#9Hy`A>WZ$D>FS5XvuD>xQccSQ|nlz#Ff;s;(Ig3 zb*;?ap}<70&z??wJ%hg6>RP41tT>P7B4CsiP7eB?!5e5DrEeALIZKhobq@y8@D|!x z!wlP#czv9L7}6GOms(IBE1_2~kd3FsW_!N-;;quYA>XlhD?TF>Xu}5Gg}4g#2whU& zD#{4?i-3cyh8d~8Aq}kfek@nEV~r{kMqRt{hTC}w86Wt7vE_@U@$yl2z6@7=2L-enUc%b7SYbyM>iGEEM>eh;BqU+g9h6&dRA_ zmvo?|6+b-WYv0Ps#N@WJiiU>*kGJx8`Z;X34PDQ)9h8S z%IMAxJnfHu+xrf0P$bS5YGY-N3Y5t;iN^`VZs=r1De(_<4t~?j|l2EQ#U}8sNsUylNTbWV; zXRe*JN0P@g-%e16?r_UcBRU2BSK>{vHn845>SPsN6!JG?j}O^xnWT`@p-)qyaR%5< z0zE&0rx9~Dg7z$7O|pF<1!m)EMKX2C!N3D}eb43l>YS&Q)G0ZVGGS0Kpl9!Y*6<{r zQ@QH<9?z|how0k@$Tn2mJ0%+D0;h6zp%=SanVF%0C+M;7Rh2F6q@D59qKfv4ofEX; zFAn*(1+C1BLxCTN)8!p)6=wtkBN%(lHv4!e=({?_iXVTa@4XbOXne?9+d48n&A*+* zOvCt8{~v@#+My9Fg28rZ1ECA-&}W3k+MzV69&d+kBQ(?woh0PsNM;LkLQ4rvv|~Rc z)}`5=u)It5MC3$sNkg|MZev;?B=96e-W&= zH6bO{_kNlc9}f9j^|Cj*aH{_*LOrd9gkB?*s!$+5-MRj_8ZQp|ci^SjDcW+ucC#85 z_3-w#N+*Q^jkriPeD*#c7>CDnXj!m%-H4}QXYKb0`VRH6N+*W`l~@eA=V3|Sxa=cV)!ks;$38+FAF4f1g`m|J?`{zVF zRp|8PRy-9)%5Fjb+jtBn_oX@mBYi9z74(n9>uWXaks8=WNa?9CCFuVSk5OZU+p<)- zy%1VR$Qkt~&V^1B%CN`3D?5qqDcrXhyP`o>>GV+G4WRZLdo%F|*!=p~MGYpDZfCob z5dYk2zaTiw<`)j(R~~Stvq#Xs886wIu(n4u0kx9D7Z=%W!<>7sQ1$J;uK9b5s3~oeTX+h>I6?!PrRbErht- zVaEt@K@;jYPOC;+@ceOB>HJV&2OyiexJFp(jhO{!lFC?m6Y*GLEWNu4ab0Rq*ttG- zJ(g>?pl{U0R_20`|JIAOL?(1j^`9mb(gDQRVZ0T;FywDIK}}N6rV-LYcaBzf;?ZvI ze#OU9qR%abOMS;+rdm_Ku|CR~>4Z^jx+ zS16E0NVRaGa=(5A&pCdT6{JMtu+ynC$w6O_$yVkSp}@_PogT9P(~Vc~xbC$?SoF=O zIBm4g6#hwg4Abyb-?S{NXh|sWa+b5j(o4>J@m9Sn(*nb%I)4+uz+V*f-;75V?!504 z($eA1%Mz(MO?(4I@ zDk=;G&H^=*9;@u3l;|91`Fhm@-=Z8Vb7?5>DA1Y4ge$p0<7v^bRWK3Fr#nU3w`<>} z)2+;_LcZ^&TSb_0Gpy39LV*WoIAdz>5P=`?*g!RmWbZN4SrbfrRxnVE*Vm3yYrn=* z+sQ}Drn8*5idLCP@y@b}t_k@boMn|>6ABz7O4DSY=mHvqDjjdEwP9JRfBm`8X+pzomY%D-rDE?Sbdeo8b1pO}j}60#B{b3wohCHc z4)vVx#`@OGw~AJT0{Z}3nw*R2L{z>rzs^u}z+<~}F8n|Np0lLOt_cR7!PCq-$H6b~ zoPp70+hKw8mm=ITSfms1l#gQuOYm;I&bG(hHE;;enXB;9V4&8*a~>DX2)uLaIdIdT zaZ`hVH}J+#iu2wkagmjIT_}*Z$Y~PqFRls(HsWb5ai65xqj+kBJq7;eiz7F&Y(hHK zR<~2Visy7uGg|4gNO{G~b`Vd4;hglA$YriFz^kY29L4m9`tv(k_oXk3{Le=Ak;$}ZeTqjT{N`0cQEjw z>p5emCz@^?Z61cF-VxU?B^pN?5Y;oRU!6;+nQmU_%)9fZ;6glY(sYTGYw^b7v70On z`U6XK8`f#-8bYed9#;Rec=m1EU*#%h*uKS2A~etrJwd3uwV`{e@2jiqgWREIk-L2F zYn|TPGvHr=*VStHN{?s){q0&41_lE)mOF#&oN|WZIh_o%4PU$5ieDEBJP&l%3G?Io zdAWU43axNbG61)vcvo2Q>qCJ@U~b77LH`eUv+VxNUFqB@*sb~n{g2@}{qe5yc*fbi z$RyV1oDa4KmfA*WXmWl!bVImhvjzfO9p}y4RVnfE9i= zB^t*`ST;ZCd-Pr_^Wl*1+k35|heLsP?{gLur{B)p6E-{9xbd(v_IEutL!KNh$4jxh z$Nj>;6R*8>v|noA6rr|G#q6~8?ss-7=e~3aUJv5z?ZS84{Z{FtA>ZNqt@y2>K=lWl z0rK0+Z33Q3cW%^c@p|LghaCUAcpRgXQhm8wtjxzkffu(p&9sk6-ip?d$I=4n50)=r zFSouKa9J?02QSGf0q+c+?&r+PMI3w{ciz@H_xc<0Iyxzr zr9|VXU-qMa-!G3_rB8a!G2&Gcm{7U9_O z1y4inoF6(r9m&TXB(McYPlt@vG`K-K4*l35_UL%0x66T`4~3tDlzs#;T$y98cw$0mi~&Ovg&&3UvG@b7eTvvV_=>3B|VHTQBn)o0i4--5?8 z>CUOXk9S&`dqaWP7a~Kct$Y-oE(f;x;T)Ur)F|iu+X1{zwx_Eus>ErEJtqF%cpQ#6 z30^@+6U&apir5t)MoXhhgo>Q0d z^nKkvE$vSYTu*3(lj^3R?}OK^qPMQ}Z+U}Ju_j!c>Mwdzw+)3pAjBjQYIZ>H(G{9W z$ccUQ96L+MNf&x65_=UPC&w#<2HSb-9E`AugofJeK|)UKSwe0pZ%5KyOUSA1m2<4- zp-7I2gq$4r5W2uF?<+!1yu6w(h#%H3=Vp$S@n*j`QJLMqi(|^ss5xR z_Gy;T4TMHp8%ldrAi%K}6e{J5C>t>Jx_=uJ)yeq+Xr4kvk5uu zB|;pXVev;JCFc_wXC2*_>U-m;Rr>ywfr~$gY-Bn>+<~WyfNK%&eLP+IwimzpLyzY& zc^;2Pio7oU(CYNTRNtUuR?!Ecz{khV?a@3DY+A;s*<+w(wi>T59@_=)(f8xIb-k2Q z;Uo51`x>16!S60aHk&mVMF8tVvFAMore{5xzh5T=QtUG4I z&wEt(L|c(|%U*;oa+ z)%V14tLWoU;5$Gv(N*k2Z_7`e3zG*ayyN{6ZzyqGrWDluGiUI)>2P1Z3eV|>cGz8b z7m$*rL0r`n&LFYZ3<~-u;c=4cmg>9rgjISx6!-w3#!?Xbdd-uL$2$N9WEh?^SbEUD z3{Tr0L&r11op=MB=1^ta=T4QpGhUn$jiVjexuxHU=ZtE?!eF2b&lxc7e8DfA>YQf| zGw?1TAMNJ%s@w1woSQgbx~ZI=Cw%ENiW~pBlxQ5S0Pe)0pnn72Q2W8>7lhPS`;o3M z@sySMdB_(&Wffs=KV_AE&hPraa@xhS!ui3#OgxPsyEW~45br`f_Aj1Dc)pG-GsX48 z8%`W|ERHC*;%S*V!}m6x+w=QVqQ8l(@3Nk@qdQx)ebzlllslIUUczao4Ciie37!Vs zc{8vUPYZ@PQofF-R@&!+K(%kn#YJb}Dem0CGO!Hd41)6R#M3-DH#F~ePUC3Lyp(7h zb%Lju%=$feo$&03sL}7Zo>T0bJp+}#cShsSdM<{jWM{rN;Hky-Z21m-Z)Kk52yn)^ zQ`xs{-{3P=>FMtJI}iQAi^q$qAie(1M#F2NC{zb2eO=eaVfB&~uP4Wv@NHdlOJ#54 z9A#-F#H+j&Z-U07E0MAmxVF%>OR;*%D*h@ty#CgjYE`^-TU8`_rJcyJ%C-vm&~+}i zt(isg0zb$?N_LAIEvwcUB)$&mB`bcL9A5v5Rka(C%DDq+aPN2h2h?G;_fe#RA4htX zw<=&8QUOmQy~C+)S@EY)0PS}DJy^Z|v<$cs?nN4jSCC$RXBEHSj{Ub* zJt}qie`eJ|?oD<_kGbiOX~Ok7hSZQU*M5Z6OI8)Lo!YPRwgTh}mzTFHhrP#s$!Y}I zOzeuecl`%kVftKxrl{qk1)7o_~ZyYYW#H6fKq zta1Zb<*Te8j&(*vKm}EE6P)KJ_&ckDYPj*T%2&(v|1+y3wfRvATi;Dz-|NoEpMcnZ zli>f@FF4nd|NV+|ttGhS|D9D-K@)zSN1!8CL)qEQ@OM^GUHBoJ?AoqaQaZ z`By@g{PpmFNmGQP)P_2fO*m(>t|g4NJ}=5kr3JBbzgoF7W}o$G%u$g4mBCH%n!va0ZBtk5s~ z(42WmqzWo1v1{d5!dLn#SVdKHe`^2PF4-=>H4xt7jk`B`Ds|8bemU?1YB#{)%G?@P(A(JbOY>kY!cd=C9HA zO>CGOC9AO*g^j^Z!B)fSuZvZ6E>^GqMeE!|{uc}UFB_oLx4&1o{ry+0id{l_t&ywTe6r$KV}+Kv{G=9e=>be26{B5A|fLn?SZP{sF8Sa0IK0OWk-` z`R`#>(1$LURfQk9@gKYXr*6Egf+zT){3i`FS!RjTe0;gkD;Y^p8w<>QQT;(jp z%D)0zMSsVzoB;nktN3v~cC+hm!K%QAT>FU2AH%94Ph$0wRq!c(s3A{deWqbOZ{2|K zZrkmNYaifVkqdqet5V){{kL5Ew#yG=^^#R{k78B&2Utawx%Ly6A9wAiuKmo7{~W9Q zUq><4ggxK73BJQ>#r%q`jjf^9xKh_E<*V(c|M%9}`|Jd2NL>=D0gbWB znBZoVRmDwRzr0ntW-gbNpXl1=SVgtwhstj!r@XcIy7GVos;GmTP*%at{7}JNTwdO) z;Gi3y;>Q20HnDs{6_n~0P~Q4X&nT8kJkev^Xj!#qtn14v`^By=tN8J*U*3vOaN{Rp zl`ri2lUzF)t5-Q&U>7*WjgVC^+x2BNaMNA?@2o1GLA=)9T&ym=1#Ws-!vHZ(2Xu{)vjyZ?91JFSp`?~L+!j?j`@vZ z>?LI3s$1)@Dt5hVi4Hy770p@v_>%?!&4V54iDLuxid$tX_X(wJiQ^gc|Ue z3NR1(y>-1F^Bl%hINy7zZY`d@MCs0V5UbPLNw@6(AFOk^|8G{Lv)K=B2mWj8Za4pR zLQ4G)3fAEM=vFAJ5&a1({zCR;arhpX$b!x72GMiT1|Y z_q>psKvoUv>9hN^h{w?O>;KYf7x?Gt^FL3Y(^v>v3;#TQ{{QwE zT$k!UPoMvJ`fP95|L!UDKTn_kdHVd%(`V<}_~+@fGY&k3{^#klp7Z_l^!b1CwECZ? z&;LAq{^#j4+sMEE^m+UECf+7q)4rMa0<*8Fx0+ej%sa^IHzhrN!%X8uo@*~^22Dt!iHD>FaAZi>L11Hqgzjp;Ov;2Yc(8 ztpa1)kT13^`Rbc+TR?PMz+QodCZ-)=hd_QiKqFHkklhZD*dCBz=CudJwFev$XlfEV z0QLzi>i|eJ2Lu*%03>$=v@lCM0$O$i92aP1l9B+21=c13+L$td6-j`MPJni1O(#G~ zC%_qj4ko=b;Do@Y&VVFyT3}sg!00Z3&Zf8vU_cjuKN*m0MkE8y3TzVy8gEy?=43!t zS3ozjRbXsaKx`0@YQjN4G#}0}dj)!$m=wScf&3Ienkf;;P5~r#1EiaI-2idj0EYzn zn1t?teFDq612W73fkoW`$*F+;W@##*Wh&sfz(AAK18`ViZ4ba8Qzo#Y2Oy&-V2D}M z6Ohsqa7JL5Ne=-|2y6-gMwrtA>q3ChX@F6tI1Ml$4dCwu7;Q%M0-P1tCNRc$)A_Nv z7a%JgFwSfh7@H1=?G3otgnI*`djs|gOfWHh06PTo`v5L6B?8%f0EvA8VKc8UAg(Xq zkicYK0xS9hG6n!< znKc6dDFXm!1m>9Zfq)YNn+5{rnbQL61_DN30LU}N7XSua0Pr)!-h4AcV{lero4`WD zHNtr4n#>vuSZuZmj2#S!9Rj%Agogm4hXD2pEHN=d0XqcphXM*ri9q&HK;kgKQZsKD zAZ{4okigX@VK`u)z_Q_hW#)juqTzt#5rE}p=?Fl}5rE?YD^1c!z+r*4BLS;TnZSyX zfQ(Uq>&==`-Z9=A%t@IWP5OnHo6LHdHRiO;&1T?ejAe>tZZSW}tTiJpqM);*DQMe8 z6l4sPF}MhjH3qQWY!w(g1`s=oExV#Wb>2;`3g+-XV#vc~}uGXceB zUM3(e6L3giqe-|Juuovw#ehxbfWV@Q0mR0WHS^jtksxk|qES3#^?0*kZ~A zR!sOed)`B4%|vL*MCkVuna@W|`Xzu96Un#f67p>|rv=ts0vLTM;BixYDPX{*0Dl;; z&5Q^G&I)W3*lxU&0Gq>rtVw{U%vOQ1lK`=k0neE5WI*&}z+QppOw1I(4uSkBfSsm9 zAbScRF$+*)=4AomvH*t!cAJE$fPDhXrULew0|JYtde1Xmr+F{%zGRk81GJn*isREr z@v=$E1{@Yxn+uU04X_uGXncf`gFhvflbo^2h3@Kb<+W(X8;bG z;u(MeGXVaXfJ0`)Ou$)zZ36Ea?<~OPnSiWWfFowBz}Q)U*x7*hOn5dRdNyFMz)=%3 z2e3mRe-7Y7QzDQ(2aq@yP-f=M1;ot-91{50B+LWs6IeD6aNHaaSTqlioD2BOEX@V9 z%mo}5IBAmd0EY$E<^jGiWdbYm02%WEr_7r9fRy=wGXh_m^n8~5H)g%eX>(fUTQhJ0 z<~vg?^S${==8PG!5c7k%U*<>SU4%Jn#>xC-w#xi$0*f)fn6S*R<|&!qOw46exnnU^ z=3nL=av@)AHL zvvdiCN1G!u0h4qkrm|TnQ^l0YR5jfSFxAW&ne)s^nd&CJkb+JWz&90AP>eY(u&xj= zdMTimDP9T~uoU3G3J_~XTm?8QuuY(@@m>wsd=((;YCt`+RbcGZfY@sQ^-cI1K=d_$ zy#ftQ%rd|Zf&68FMy5m{dl?|{T0nxCcP$|9TEHQJrY2!IV4uLU<$y$UKw!~wK=KMe z3$t_upydj{ae-DQX(iyWz}l67Hl|Eq#Y#ZNDnL84W)&c1731;4Dz2#xCVe&F#41v3 zT1|>1b6Q~CYQX600G&AFnP6gW!%Q?eGMAVVjLE)@N)m6UlCYU~J0R|Mz#)OjCSe0$-|bA?wHuhY zEOS6$(FRf^-$9CLX6YS(mUjS-3*?xjI{}9U*4_!2Vafzn+zH6I3oy&9xeJhT7vPM* z9FtxQI3cj97% zY!w)L4WNZOkZ`N!9 zq-+745xCK$KL|J>u<1d-8gp7;-GhM94*@Jw{19NkLjeE7fVF1C!+^5_+XRg9J_6YM zFd*v@zZni7HRt$@VG0L5nBV}Q8F z0EYxNnuNyz`vjIf4%lQ42rPOWko*MTKC|=*K+7ip#|7>;N!tL21=el@Y%yg5E4BeL zo&-E();!6;J#0?OJYv$fV;(i@Wwx5r7_)9WiAV1s@#Cg=2mA^1lgu_V;wj9N=6;#& z#``p8hZ!gHl-Y_gW1l8#>@#G2#)O{%L_Y)AEAX6&c^0ta8P@rNXIbYvO^HDEv!qCT zjua(k-gAJs=KzNUcAJFf0s91&JrCGx4hSrI9+12f@RC`&6VP%e;JCocCg}yhVS%+T z0A4j^0xMnsWRw72H)~1&DJ6h20{cz+F2D(aO}hXG%xQsjy8xqi0}h(v-GBkR0scLJ zLuSMtz*&K90`D5{Uclx(fULcMBWA0>*u8+*7Xj~?@QZ-x7Xf<(j+&U406PToUjlq+ zN(8cB0wnGOl$m+^0CD>OhXg)02`>Zo2`qaVaNHaaSoAU=`4zxtX6Y+{mahPg3!F4b zuL2GWtbG;mg((wQ@hTwWHNYve<~2adYk)HXUz_yT0Vf1Dy$(2SP7ADi9WeS0z;~wj z4Zwgm0RH`eGiJnoz*&K90zVq>n}E&x0aQG{AOa_ z0_+gTe@mwcui5pMP7`mjVwxXh#dyuUgCvPNNRmSb$rEJ~-UjRwSoSu+Zw?47dK-{@ z2vEr^Jp^cZ2yk2=V3OVe92Qvn4xoxD6Ik&MAmd#?HM8bjK+3y>&InXD>4yO)1U4N8 z#F*0p>kb1(9|6=d#YX@GjsX0nfLJr46mV8xn?POTeGjm?6p-~Epq|+(F!nt_?E8TF zCj34i`hCD&frcjLC}4*`{!u_9QzDRk6p;7Q001)>9;E+I5lkg#6pTM#Y0g2{- zz@iTU$;SXK%+h0kmd60c1zMS;GQeShwPk=drc7W(86e{$Ks&SMBS6YWfHMLeO!~)w z69St)1|*r&0_#2ojQ#}B*%W^Q81M=o!~Vom^d2;`ptq?r=S^*lYn$H?<64ZB;b%hACvGoV4uLU z&jA_cfWV^90m)wg`kSR+09t+lI4&^IBz*}uEU@-Vz#vm5u;NQV#woxMv*r{a~6_{XRz60zK$o~#-i764t{tl4%Js@o6eGiEH9&kut zvPn1t*e9^;3?R!K5Lk2uko*H+npye-pydyM;{rJ*=|{j}fweyZW|%U86+Z$p&H`qc zHD>`SX8~sf=9u)K04D@C{REh2P7AF22{8I+K%Oc788F~yfd3ajz8Ucg;H!{)N*+&hTl_trDS!GtrtTtsb z*O_innCs0N8J<$e+-TA(V0cO)v&Njpm~|C=bly)bmMQkbc~Bv<){Ll#xz*e+V~n>F zW}O))v)*i#DKdd*%xxwtbGvy;W`l_dVD2zEGIyF1nY&EA%9vs^Pv&m(vdl)4Pz7_3 zSuC^39FV!!w5p1^&n%VMY>vp>Z<4BE9xy9qwwN-R2Tiy0Fb|nEGMpP^9?=(WFvaK5 zsZG`C)K+s^U|n_fvIgLBQ(OZuphjdgx0w+!fU^Qm#4xm(0?-fR=Ru#|2(CNpXO~0&C*{ubMJ}6>)%!dVtr>ntFhgdVn(m z`%QX0;Do@Yc)$U3T3}r~V03-JK~r2GFrYrb-vDsPjA#HjE3i%AUE^&C*xUe+)evyR zY!w*W5DLMN>dVGr%dcrWqim z8Q_e-*Css?a6({HBH*++EwC;TFuFP5J5$^oFrYcW-vV&PjA#KkE3i%AN8@b?*xUk; z)e`WN*(xx$B_OsH;1?5a1&D41*emdxiD?bkA&}qN#~H$BcD43#hG-2*Y(o;Snb(FS zacuyH+W0JUQ(NDK(Qop1OMJ|-aQmB6eO0~Y&7Qs{^Zw)1~IwDfS%YUuqJ~YLnbThXPoVxbE%N_DJB_uD zb!@5Z)gu2zaPdI?#9})o{Nl6u@{86sT&{jU?~w6>$oEGf zWhvQidzkK0T8-LuQNH``H4{hqn)_eB&rMRvyZxpMeS<6d)-Nz0WcpV5r|ohZVh?s@ z_kX?1`*gQ?<6@#$@1;#Ddyd^Z^X5dFz=+a>=25DsGXHs>{Xdiq`C$8blYAq+{+%E5 zp$TyqHt2q?CoE-^<~)8z0YoAkEuT1%dYy47BJ?wVC{L_X=*%Fp`&Je zuN~Unc)Bkp>Rhl{l)!)Ir;6(RKgj>zt?z#!JuNQs{re_^!(JQz+u`}!(I9aLU*#8m z)*|MAiSd}rfAyvFi~HaIa9*OX5UD>RbU!O&`})X&@>F)=>uwtHY^2v4F4JF9aKYGR z>@QbVrknRom+5cNTZ`!r2lTOTRjQ9`Rd*A<Lba5E*V``B$9J|V z5wAlo(?@x>yX+m8sd1Ctyzj#7KeX2;-LhSH*iER9X4Q2wM?R0P51PfhEb^IjeN#tk zm+ABA3hLVpB7b3j6riGOBA;8w2QK5YL=8D%RF4NbuTn?+O@jnh!yguz1CZJ){C+5ZK zqx;=fe*xp4{^LT=2nBfQgY$}Rh}sd>Xnf@|eY*P_H}BUjYXn<~=(*<`G0lHtq>tID zN2lF{34{yP0$$&`tO?<3T=t#In!=X3OrPFY=bND^F!k~*jDMa)l;tvA0bq_`Nq+Z6jEJ*k>q*qOsr4Ux< z)c9I1>qa;&@+tA!K((+t%5ZyJ$4!_DJI`fxUBq*{xh&)|H9p>D zX@tK-dKJ`nVK1ChNUd)GRbj=UX|P2N!MTBS!ib#Y~g0^Pgvgsrpj8nY=FyDh(743itnFZ!a|hqPVmQ?zH1K9~F=dI{}AFQeDc>u5iE6CFTrp(d2u)MGkDMcvR)b#k83 zS25~qTlFo=`tntMIjd*5IT{r;Dt0QtX($`zpc!bU$*2(3q0VB0+D5f)YGcqBzGV5# zstQr==*x8P6|d>-k7`m;A3PoCH`D!5 z@zq8U9*Oj6+7@PwKdNqQ2Z9|@66%bqpsIW@JF0$6ZG!s5us%hsk4ArPPWow>zDB4P zu5KdQfVR@G$9$%J#i;iForGU7;fhh6&(lp!H!*#o)i|%YyJFPHo^uG#MZ3tZjZl}m zHo7}WSBy5Id(b8{7!5%~Q7o!sk}5@Y7}1PiB5ICWpq8i=(p{t)IuBJx`tqXp(NXjP z`VbvM`qHC!P=C|}HRXM3RObTSa2lXT)ge@aa15%6e#idCZs*4qbOX8(-GtVlo6&VhpM%z4r|J6>^qmT~ zpq@0MCrqCu?|~9gV@53@%CxT>b$%y(Ys;0W5G_U5Al+@RMcGK-CZijp4oHvE$gN&; zW#y>Wt@Mp;`r0>rvzoqbO`q-3w+QL0impNW3MAb;FEj@#N7XI3nBaIc0Zl}gpkp+- z54JDLKs`_=)CK)QalfM9(C=tJX%C>c(INB>dKVo=FCl|&LHeqQ+tBT31JXB7aC@EZ zIYU2wK)Q#XMY>0>Ksu-`r-GemIpJlfjDq@MlaapO>u3BQ(OIPLp7;!V0-Z$qqhj6R zdZIMci^o4vE&PKB4mQ74iE49RH-g=fz8B`VDAToSRO>nc{K}{b(tS@~m9sj^ET|ea zyWj;{vVvNBppa~U;6^hAm245b!nvHaZnvQ1tjsHFc>Fkt?Lg+mTEJFG&l~ zckUEw+@*0|&ShD1rkd5hsF;{1sO%B+APKI;)-h|UN7bJiiyMP7t zD!abI0hejIbv~$xbVsU%#L9P)X(v~|PDQ_ND13VASMRU+> zGz;k-a6KA=I-(A!Eoy^wlhIK?cghziXD8B@s;%{5^bk^4??;=_ee5XvYeZ!fti{p3 zvKncLXsM+l-7c3Qb^IE18PWjgK%|p!5b5NcjGCavs1Z6JHAFgCuu|={ABU}rWb2`L zH=LlOOBWoSfLo)Ms2OUC5>X4(9JO+7TWlxP9<@VlkXT350g1~-!byZ9GbfvdhM|6_ z59+O>Q#t|lxI5~G{+b~K(^M->Bu;)$q$9iv)l~OFn!*g!*OlT%B2_vFU4RCn0jNK! zME!OlDtIUwf(9ccQlaukxV|zCNBKwvN7Ad{G3X*R8eND+A*EHiiD)dk7-gbyXgr#L z3g+`;E()Vd(Isdqnt~>yNhk}=M$^y?G#zE595fTnLUWMf11J~GLwRTcT7(q85G_Sl zBX#^r84be~NJDoy(nu&Qz64!`l&KJ@H;UInOh7Bpa&#TC(9LKKx(VHgZa~)~<=cWZ zg<8N5AeED*W;{#aG4u?28a;)!qaEl;v=wbbPoPK9KQ6%rjgq6PnWhuSN zQTYYRcnqn~NC7JR9rQMO1HF!3L$9J&&}yVgUPLdUedr*13mriF(VM6#QvO5e1d24a zjPNl;odxy*M}@tIj-XQXK01m%M2C?wst4+k(td_MMQV(~<=f%TR_=YmQ~j`a3HerwbU>AjJ@Uqf#r^p-;DE_2iB z?L{QtQkYhj)D*6_SdCEvYJ{}98tVN{B*Xb`0!2g;M-qy)Aigjm9K)8CK9J` zOIUeddBode`(oQ+E2(+vWgir2$aO@lM$6DONbg}5qeV#X_;f0tjeaGM-s|W+kCvJ4 ziF)6o_qM~(U^EboB`yiu7xh6YXcDXowsQeLI-wxy2~5Uzb^YGhbkqy=K;2O{l!|(y zG!#POVgpb=l!5xY;X&97kQ$-}4n=BgbEHlLX7OV<8e$H_@t*!tf|npY%N~K%wphVq z>eP#BUoZ-PB+@9(#763vOIT&kM|!)W4$Ie@LJine=n8Z>(h*YwC$7FPL02NBDMU-r zDx?*y^g5O*Ed$LnUIN!5E%lWSw8JI%kxSIx1tyE4R$^1K=^j-ZKw!s zD902RiN6DW7gB!ZDZI~T(h%4GU+Vc53W!t`sYHc81Xl$gdQ8OzQRf#tg8%S;kXDUV+DPLg z9WQ|?{51JAGLd@z8n69cX{B9A@ftMwZk_^rwA8>zf)Wy_(p_%C2p3c4NM(^uiT{=9 ziY?Do@k=mnG4?`#o$xD4qhAM?|7r3vZuh~j&~2eb)l|9J~3;dkg;bQ*nwO3~NoD|8Bdfj&nk z&5?#t9SYtj_#Qff-a&`Z+vp%taaww+PvOYcCnjI3;oWj!9UBhg--=ZlRjqW9a{k5^ z*o8z2{Euw;jHet$ z@6pGiF=#Z>V^lp(ZH}6vGo)#PO+bxNeLWy(gw99ts5Xj1KIBCn^gEe;L%*V5kWOG{ zu|J|8T>oe6Pv{R+g*TydOq$k*V{G#WZ9gxzfft|7HV6u<- z7gR#oAks4yJ%`i-K2@MfTN0L41%uHbbOGvv)SLd;foK5ghcb{J6pG829f~52Q)lVD zXO!muBGj8gA}5q__}%flp`K_W{#2|M*Lb9-lB!h4Ae~UA;D=FUL6$FT5?p0X#-?HC zGF{V@9(yU$^CM3-AhI__Hbt%chsaQV6I8eaDQyMf6h4L`yLL^&(n_>|GXDjQ`rAY* zco%w@LLNeQqMB5A2X;BCNLY(Yr|)H`A*zq!P+gCCt4Y*I|4P!WFs+)h#}yO2%gy>2 z_EEGIJ?@5mQ7l1<^I|o* zHU1=lXHhQ-dj|V7dJ6487r+!&2E~_PUqISM$n1Fuy@>XqYU(xSKC+J@8 zW5C-VF-;Pqem29KM|JdGW0p3Ls^=TxHMcj9ifb^A2J!~1aK$tCz7@CdK-*|eMdU)HD9$L<@;W9ZHuT* zKG$!cOGPej@?$FII{~5EWqIq8} zTS5}J;c-^ChNXW zH*Q`1*`;=j-RO5Knu+ACf6A@@hevE&tq>}F=q6S z(cW%k?aI8|S;;)whNbslCG!ck>mE1d1!rHL>Hm7;h0)&5?K`*EfpkAH)hMHSpMLLE z?|CZ4=badA->Ea}`29*|a9e8miWFL;zh>1bz5Az+A0>s|!X(e{l}w>h#6>$J^uUl7 zJO8+@#vW31Y2Q_sf^*T-uBg*&+i3F!sfVYNT0NeyHsjr-vG09EYInVjAx1Ub*WkCu zVxE|Ou^rQ~J#P*RiBT)RsC)nNdTXAH_Iam4>OroLHeK6A4Q^0`uZwHd!S(!2^O@n~ z)#XUV8>7t~?P%pAZi*kmlX8|Uyhf#W(WTJQvm@HP)sCxamz(0Lfi-)@|ID9Adna~o zAJmAy8f_Z4XSUuah1$`j#+f^QpL+EGyNqP@^dvFW)t`I72xYB80kH3``$_@dhh@B zcI9z7reD9FyUb`TA+$WGEJH{=)kBt4vbTu{Nm1FA>{>j?SPBsxEs{{QP{@#m!Waw{ zX2x0?``Tpr`OO&eey@9Ro9O+$@8|P=-udTt-RFCq>s;44*E#1p*Znjhfrdvhh8?sG z7MB}RoE4C<+LUDl>$};ID$%xkh#rO*Q}tua<)6kJu0RhM7+bXuA}`gfHNgt2A;0nR zs+rarQ&(%wMq#c;{?-uNT93bO(OgS#GI_HoW*C6hf{FFfqs`VBY_J}kwT8H!dSs>I zT(#R$qzVjfHKMjokjbMlT~Oia+n8b_@eFF5V8gj8LK>520B1UKP-ep!(IFeo zSopV_!mBB@wFP(Irc@aP+;m&c*rX}c$TYO-oX@-V?fbrhFj##ypEme`HfLbUwvUz< z6alFF!0Vr4svt|L+fJX`c{z~k@1~Vj6JFZ*1De#)i`PGdx`r15&JiNJ< zq_N|^);6FWeYnsMB_j6JAw4gK~8%hWRDp4cAEjFNAi~-`FU(b)MRiDLFeQk$+)@r6_30Y!5i+XY@ z%o&Uf=tNJho#ISOs$yIa!&%rgc?a*p9Oqt-HkVR1T|UN75)q3TRrg-lXyU_w0?<-i zYfTZoU}9fhJuINr^VXEd5FZe(a5mS({je+S_?w@O%d6MbkV@?#g1sSm_QuoQ5P$6i z#`u>JY4BdV0crQf)^24iNET-KQZ@O*Xy!`cBG}du7^p-btj`2^#Xs4qOztC5RYCy2 z>ou0{X~t{Nzo#V@sHc`Vmw%3@5Cu2UMknYe zp_)F>!q;sD^Iwq{RAyoC!Q2E38$FQ@Q2V}|joP)H;7gMe&l}H~b>th7Gt_h)6sEu% zhiBxrUL2JnOY@{1#r6gBH$bqxHPvonMvrdKw*bNR7NpXm6JV~$Go{yk5%@|>1+(t6 zHvN{$?5`34Rfv25R)WF?S#q9k6Vv9cYjP z2KhWWlr%72zP3$bh7^AZr8&<5$%jQS3W`4~bPM&3S9tGOVBKoQK@DwZ+3W}ZS0(dFwW=aOw z;HK6rV>#G4!4cLY?qRlp+%c#+xQj4>h9P~=JQsZ^B zLn?oRUy#Jy*_-m%5Tdvrd5b+2b)VAMl4ufL;#0R>A5MHPO{t!45?SIdNhv<*z#z_8 zG0&0W=3ojZ97%r$R_QC!9*kIp;64P4)yaumM}lhQM4p539PC7<5qOSuBLAg$PIaPG zyqDnrb|NcRGrMb&9mds7mwX(Mx|FMpy#`k3}vx+>dKFc2OS3(&0CnxFjxCFe zhF`dUYL&d!71DzKlfAM6axkYKQnS#d)!I=U=Es%}&R4Q4X-r|k45`To&RA{XF0AX* zS*MeI9*+1K-B@~qIBg3`6EHMewh@Vfwu)&OfhjH&vWI6szqmER2qiYShIB zSwDip!W<|gy{Q(%D=z@Sj8$*j?>C~qx@!Xj5(|cq48M*QiHfGJBW2s53uvgnpamQ# znc03R*b0VMI+~QDAjYlHf}qWlJVOd&c8r4<*22O6$!PKfLajYU*tTm{8t8=PJ+fr0 z(Tgcxs}(3L?Jd6-*KKV3R{xSI7Go%t^>q{xPJZ79bkN>bEF(sVl&+5B?6uFCos}st zy=UkvRr5NGCsS|E&|uJbVQ=m@o>T60J7|->w*7c=1;s}?9ewHiBq;Ja`m$5|95>gk z^BvbRZLocf#OZUc_r!5l_)-zLEBE*ciLUzk;XS(?^}8vwlklbqxE=MS8X(kX&~A-( z6@mn-Atr>J}X_?Hk#{GUruIiBW7@h)MyN6tK8rxNZYz$E^S!$rXvci5RH{Pw)v6o z7|bvO2xf`tlUn!e{mE)9g!-3%!Z@y_ zE@mQ((w%OP<#ZJSxuve!(x$%md{33K#Uw$q2Yi32*>!yck}`e>bo_*efE5N)DIz9Q z`8e2SV|qM}bE{7UNQ)g>kk@$B#6Djk{zwi)S|Fv3N3_lhq-usN3=}NDy8o_@5i6P* zLmF0O#3nu!NPT@dS9Pg~Sfrd*{`+dbmq0L&0Yv={`f4B@_r-GFM_;xB)`m_0VZyM- z%u%zf8hxb_j@|^$SXl!YGi|Govc!$8BkkCd;Isf-Z6G;LfU$oaB%Fmk{yJ4qq%$cA z2o?+AwoE`_eaB|Ef6{p6f+A3aU7*z^h}KWQR8xbfJejEsmuZdZ%>)=mr72nXVQvNJ z%v{Nn5tG9`V>(BnGniT;DUJvhB;WmJQQ*iXXBsn+1j$PbD8~&A4_Fog3A!B_YX zo&1gY8t)rGh^2%R)9H{u>>z%oFj~6JZ|>W7|J73*4QnPWqahgwAlVbuCKTFQu_Y}H zr04)H7-8aR0E#855aB>J@J_!Ui&E|uihM91=MXZT1X;X9girXt@3&Z*%M>QA?4%GH zH3{nz7DB7pGa`hF*mG?N)u5+ha|r28Mte^PIZOtpd~jmkYo+g5|7EUvPx!(UqKKUp zPOf1_J}iW zL1DJB*M3W=m(k1ZGDQ_iO#;z(sMt3(w{qrNfA8HgA^;SYWOz4vyfSF)lEE@%NhtZE zuQDD87VMoa-#(QxK4Y%q<>nesN2 zDg!a^8?XpA{^Az}*KYPNf?eY@$;?{Ic?NY0!g;uUn=zt^L7a^;cd;=2-D}d?Tezn? zVClr-QpsZ47sP24KZKK2Fs5=bTu}LmZpkhDeF?jnw`|vg{;0=1>B7vzoeyQMa17i=5o^~s>ny2tiNOV)4U+ine zGWdCp!nV-*>8;VJim7o5?dKZdYOJNRkQg}3$+GYsbYPH7krJtVU8U{YCBBs_-I$tOAlFn*Mhh>5)%raliiLQQu$~ET2J3p^wbbK0ym<0sO1#I^k z#=TiM{(y|&({vkFK<_jit0f)##Oz%-K(y3_t|Y1JAnG1)MSj`K$q(mUb)OZ&z%z@> zf}izW9U%|w1xhQ3G&QQ)#js`UO_?%v1?8ZxG7^ZEK$teR-Tb6;w`Ve9(+a9$+;c?k z-4ZrjRfp=A$%s=T_xmU3mP~a&=qyvNuOQ2rSdwZW*!CT6zT^3u$G*BULO}sDaYk=V z;dm%5pnQfq_aX9xhpM87jB|*lJaAHW!zB@u^ZoMoH;kr*+?5gH@+-WesTN4}bnr3( za!BIX_8HGBNJg#%r8y{Fu6Q1teZhIJOrdCUorO^j0m04`PtPfCp7y6y8F4w9G(gxr z1%fHLY1a~~q4~4h%Lv6v!HM0n{1J~Aa>B`Hy7P(}d3vaZt`pKK{>6#tWqxS~s*K&ZC@fs&=>!p)XePR4;a zk4W};926#Un{3at(!Zx2ktyPdPdd>`W+t5=MQfz;aHIzvz7t~PD$O|UzkSAb!Ul%* zvkhSL9i`3ZRP3 zw~_z|c>my<5ehH+Ww}_|BFM!mIZUK~?mA=qB`IH4Gm_?9XUF~Tre4ni3a2(>$_>Nt z($>yhO!~Mhq_<%>%88?rW*EfdsRkU61hiS`fz38oU*Ah<=Hw~kG}tL zcBH=uK3_5@R+y92E~!+S@;{ZLoU}{b#*%TgiPHe4b6B z5J^Jj3@Oytn5(h(adKszbZ8=_EQ85=1ECLtF8$-~wO`K|A|>DtWY{i2iBt}RB0Q0b z)&RL0NS5K&1}*Msu`G+7TbP*vnVv{(mt%7j0>MJ>y_g0gpKm^LQbv@Ca=49iJ#={8 z$u2VGej?38Uy~0&v_RhxZS8gz{5=WZOh^aA=Cpk|+t*3L@O>Y=UF+&Q%~59I0t&k~ zd6e_V8n-{29+xS;NmR`Qn*#*f`O5q?cOEwXQz;{2K`{bldTy6fUHt8lib<2&okV?C zVA?;5+`FX=9k$zXRgR3PNTN_6)PIXStYdTXUoLjEk`V^U!o}b1nLd8!?ws_KDe7c8 z&iW1qf_a?#v&II*^q$U6%HpC<0fi+2#lNJzSn2-r0GSe*OpT%;Sv(L-_IdfI-OS^s zd@}ExWO4*TaXOjCMZ*xKP?8Z1E5Zpeb@j)W>~?@^zk_>fMH5!yBvFJ+nS~3fa*uJv zlf-)$%0WOzkvmC7TxYUIVjqbt32Lb5x{Erj#TrQhV$H(VV&_TiIu2^5M!;%75ThWI%E3cXl1Wd1R0tP7!T5{0B^&YOPwEEF zUHW%}IN0OvZ0Z{aTz)o%;;Agm77VbF;=r}A@fqv`4zc0@#Bm@@c8iF=8k-libWE!O zLacEKV~Fe-XUC05#Z7?!2D9m8erH#4M!#rOHwDL~^)^?Sr|q4&S-K1UL{*m66X4Rc zbZFg1&PL+ovX5?olj3bIz1ax$tlls5v+*vR_RDE&R(ND*VsxzM<{pZBzn}azVV||8 zg`2o3Ow(0pDmRHs-2;DV)bHnj*WzTXRa!CmWDt*qS$U9#uqR?oL_CBL!VD@>@u=Kh zJtP>))gGE>t47|xhwiq*6z(0O+IX1MABV_wGd%2{K(dW}Y{JFVODQ|_ffTc99a_4X z|70g|Gq+4(UO>t%7_L_Vd2WG=Du95jUxeGU*$H3$b&D5}&mRXA2yRc#db0)BoIiNIUTqo%4UoQ7gHSiZMF{w$2U0chB`K4vc6+5&3RK{UotSn4Rf@VR>N&!-}zd;#W=s5Kh?E zz4xrpxY+bP@?Xhw+%BTZt&rm}`Z5nv+~ncj!3P6hi2eapg_lLtEfH(@u891x^a`Pe zp+b1ixA%dr)QHM^wsV)&Hn(>>d6VEhjG#1Ebr?!{ObW9igNGgu`r|_bDV*Dv2&4CU z@x!9@u95!|6_2g+N#XTE5~L6cugdyst{ErEHW@&{sT!ITofNDsL0{u!GhyFA-fQ7g z7Aq|iN=`=gpzhl6tA==skDd9dv!OyP!7`RQDfkexOOS9RKD}?Db8~H%aB&_ekbWX< zVG4v;JC&+aV4?LFg7IOM`8K$(FMe3Xubvi#Y~$SO=8ONMV^G~rQd(UnDVIJlkW%cBybWYrn1dYx8phb9w#RFsBj&3UfCu{?EVN@OF7DDAxG$2z~MSbSe5Ol1k~( z4!BE%Ky^BoB!1&+sJK%~&(h&O-+%+l$GjZMyDHl>%hZ8Cv9@Qt8&SKRNKj47gzPuf z#H#ShfE_3--dZ^)P5iz=Q-w?!Qbx0PLU2DISXt|&R`uXcj}?wGA`BGfL8l$< zyT`V{tOqhBx{Qj@SGiT>p1wC~diB>GFUyGRGOA(ROMqZ?ol86P+nnzF*h5BK6UVh^ z-q}Vw=I#!e@~n&;c469zazV05t==_k+RosOjA%u3cA;F+xtwAFRQ3^p@qM1PpS~^$ z1#oG7Jj$sU2z7vnIQvG^E@GE=yo{I+3R|GBn>lnnqP_WoOj%t{O?IR2u&YA7ZStDP z;sHy%{${6ZUVU0qK`}<($hklDs-0R}BU6@NC13PaZU=(p*pEvLW{e&A>X?i;c9r6Q zu)78XyX9A1zwF;;%Z~44#J@o?1!e7+7AMM|o>?bTT2sYtXuan({`aLC%PEiU?lQfJ z4+JE^#(~00ghQ%U|2k~`-y>zpqHEMG1A@f^!G;a3nD_0vieWl3;=ncX&wx|uUrC$s z?7pE=Fy96H%;t|fY*os>hvP%A*3jF6ZteFC7@)6+-JsAmq*oc7nNqh(AjAdMED4J$ zG2tzq552<4*HEbhf~7@Ce`rpnh8;Ty1iS7-9Qd}10yD7})KzpK6Q9^RR*~@@WUDKy zC}j`4Vw}jk>#H>TBrRhMDn;SUD$?1D1SwDC-D}wSYE`oFBJgGvI_$S&ps-yWUKRUm z1HThO^x>0+vsE;6FP7yh5G)#R&CCt=T3}o$a!2Gw8kV*fa!vc4s)1C0o`fQiViJwV*voK0MeXVezT}7c;m@VXanZ@}zgx(kAnesr0Tn#^L z-0nZ`cWumxC4D{dGZIi(v}^5Qd2qm=71sQ0anQzJ0eC>`v*BGl4oo@x{iIo4vv}S}mGI*ck$3koV;Ya&()$D`;-&2M2b9Bj zEqF+!`|$L7L{&Llu=?}4!`Jay?HA|FN1j2CDIyo&tb9fLbFry6J)!ftSZGl^vf774 z9gX09(Crubi)$;adYx-YAbIwA=77`Qi%V3nW%8 zzQk|>Tp2S(&~H1%9lsIP)uG@gTx)BE)sSf(v=mt*=(+QY%0K3|u3f?pXr+VJMn$_1HtARnvK57Z9p)q{`u?2orbxezW@ZY9!RmbhSKwpRTTii_TzD{ zX{QvmSK@$R=V~B|Yp5m<))W4UeDbmX++Pc$={+9Prhi)OTOdW7z*TB-K4Pla)4{w zybABxlm-qpw5$2h%k@ro%EEi+JSeLR-gkIo&~mc+UiEdfnb;d|9!*lFtTDKUc1N_& zYVS{Kvnf5HAvQhZ^U&-3Pt$KUTqyFf{$KN9)Ca=}1ypHx_ zd-2i3okv`#x#og)Q}lCp9#a~2(tg88k>0DJeR_KKKubT7o>#H3g_DcPxmjp80e+@= zT&t*(8R_9@vj9%3ig%yQw=P|WHnZBS%hjp56D^h&@5GCicyZzJ?UUhC;?EyJo2BQY zf=Bu4MISm@f;KBTFHP=!_0dVUj855t5ynLM^p9`9JIo60CZK;vDYg6~&gg}MNIwyj zXV&27do@Eu`rWF4^+z3o^GBo27UJ&JQAM7?F0nHw;e|e4>~6P3H@eHfg^ z_}@wDpq6@=TloFb@3|je>v`_g;mtX8FS+OFm{UlOj+x#O@#Uf{O3Klx)!UOLfUac; YpwqcJwtA-7!b{I=1~Q>G`*iO97i`qiJpcdz delta 57619 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ⅆJzHE5_3R{2k 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 diff --git a/package.json b/package.json index 8c9790fa..c51020f3 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,6 @@ "typescript": "^5.0.0" }, "dependencies": { - "@types/ungap__structured-clone": "^0.3.1", - "@ungap/structured-clone": "^1.2.0", "brotli-wasm": "^2.0.1", "fdir": "^6.1.0" } diff --git a/pkgs/web-utils/src/use-global.ts b/pkgs/web-utils/src/use-global.ts index 8755bbc4..40adc794 100644 --- a/pkgs/web-utils/src/use-global.ts +++ b/pkgs/web-utils/src/use-global.ts @@ -80,22 +80,22 @@ export const useGlobal = ( return res as any; }; -export const deepClone = (object: any): any => { +export const deepClone = (object: T): T => { if (null == object || typeof object != "object") return object; // Handle Date if (object instanceof Date) { var copy = new Date(); copy.setTime(object.getTime()); - return copy; + return copy as T; } if (object instanceof Array) { - return object.map((item) => deepClone(item)); + return object.map((item) => deepClone(item)) as T; } var newObject: any = {}; for (var key in object) { if (typeof object[key] === "object") { - newObject[key] = deepClone(object[key]); + newObject[key] = deepClone((object as any)[key]); } else { newObject[key] = object[key]; }