From 32ed9b5a0866d45c007e47a5c845c9e8d635b77c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elena=20Torr=C3=B3?= Date: Fri, 11 Sep 2026 08:27:11 +0200 Subject: [PATCH] :bug: Fix board clip on drag (#11620) --- .../ui/render-wasm-specs/shapes.spec.js | 89 ++++++++++++++++++ ...ged-inside-a-board-with-clip-content-1.png | Bin 0 -> 18495 bytes ...ged-inside-a-board-with-clip-content-2.png | Bin 0 -> 24320 bytes ...agged-into-a-board-with-clip-content-1.png | Bin 0 -> 19836 bytes ...agged-into-a-board-with-clip-content-2.png | Bin 0 -> 24271 bytes render-wasm/src/render.rs | 20 +++- render-wasm/src/shapes.rs | 4 + 7 files changed, 109 insertions(+), 4 deletions(-) create mode 100644 frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-inside-a-board-with-clip-content-1.png create mode 100644 frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-inside-a-board-with-clip-content-2.png create mode 100644 frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-into-a-board-with-clip-content-1.png create mode 100644 frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-into-a-board-with-clip-content-2.png diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js index 909f494d5d..7deef78cd2 100644 --- a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js +++ b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js @@ -626,3 +626,92 @@ test("Renders background blur clipped by a board with clip content", async ({ await expect(workspace.canvas).toHaveScreenshot(); }); + +test("Clips a group dragged into a board with clip content", async ({ + page, +}) => { + const workspace = new WasmWorkspacePage(page); + await workspace.setupEmptyFile(); + await workspace.mockGetFile("render-wasm/get-file-shapes-groups-boards.json"); + + await workspace.goToWorkspace({ + id: "53a7ff09-2228-81d3-8006-4b5eac177245", + pageId: "53a7ff09-2228-81d3-8006-4b5eac177246", + }); + await workspace.waitForFirstRenderWithoutUI(); + + // Select the group, then drag it so it straddles the right edge of the + // board. The overflow must not be painted while the pointer is still down. + await workspace.viewport.hover({ position: { x: 1028, y: 548 } }); + await page.mouse.down(); + await page.mouse.up(); + await page.waitForTimeout(200); + + await page.mouse.down(); + for (const [x, y] of [ + [1000, 540], + [920, 530], + [830, 520], + ]) { + await workspace.viewport.hover({ position: { x, y } }); + await page.waitForTimeout(100); + } + await page.waitForTimeout(600); + + await expect(workspace.canvas).toHaveScreenshot(); + + await page.mouse.up(); + await page.waitForTimeout(800); + + await expect(workspace.canvas).toHaveScreenshot(); +}); + +test("Clips a group dragged inside a board with clip content", async ({ + page, +}) => { + const workspace = new WasmWorkspacePage(page); + await workspace.setupEmptyFile(); + await workspace.mockGetFile("render-wasm/get-file-shapes-groups-boards.json"); + + await workspace.goToWorkspace({ + id: "53a7ff09-2228-81d3-8006-4b5eac177245", + pageId: "53a7ff09-2228-81d3-8006-4b5eac177246", + }); + await workspace.waitForFirstRenderWithoutUI(); + + await workspace.viewport.hover({ position: { x: 1028, y: 548 } }); + await page.mouse.down(); + await page.mouse.up(); + await page.waitForTimeout(200); + + // Drop the group inside the board so it becomes one of its children. + await page.mouse.down(); + for (const [x, y] of [ + [900, 540], + [700, 520], + ]) { + await workspace.viewport.hover({ position: { x, y } }); + await page.waitForTimeout(100); + } + await page.waitForTimeout(600); + await page.mouse.up(); + await page.waitForTimeout(800); + + // Drag it towards the right edge, now as a board child. + await page.mouse.down(); + for (const [x, y] of [ + [750, 520], + [830, 520], + ]) { + await workspace.viewport.hover({ position: { x, y } }); + await page.waitForTimeout(100); + } + await page.waitForTimeout(600); + + await expect(workspace.canvas).toHaveScreenshot(); + + await page.mouse.up(); + await page.waitForTimeout(800); + + await expect(workspace.canvas).toHaveScreenshot(); +}); diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-inside-a-board-with-clip-content-1.png b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-inside-a-board-with-clip-content-1.png new file mode 100644 index 0000000000000000000000000000000000000000..45d489646c029febc5ea7723c2d4c4195c07a528 GIT binary patch literal 18495 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 literal 0 HcmV?d00001 diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-inside-a-board-with-clip-content-2.png b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-inside-a-board-with-clip-content-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e25d8384261e679d478159d2f983419a06f78bc7 GIT binary patch literal 24320 zcmeIac{tSV8#nxwZd8_}Qr24w-6?YyAe4F4mj-SkTBFJ{+tlp{1ehHK70Uoc%0)H--(8R_1A_BNy z$Omyb`1m>q3JLx7a>x0<4u9UME*h#3bLo-p!Ot;OS*o53CX-bcPZLx>XBu{$m9R2< z|J`fyk=a4fk)JuY%xj;YfB8?OQ`gRF@5V+q-WRLO2q_pvmPur8ZIRAJUf(URv zwU2Ce;(Q`EWVE?CpWC-_iE%!IuJDmLpGcKX5D(|`&)xq%;$K<(s~2Dj|JumE{sPqC zU*Gv}9N|R9e`D&u$pNUrzsbS>8Ogz5NpHXmqqfCxGaPF9Ia6Wn{MCrEdG&giG!L0X zLz@=~4E#VrKk=-AoPE0a)I>PP2l&My0t@%;80%&9UOi7zKcl%MM7non(vdLdz0BtN^XGQ1+nocPfu%<`RLG9~gkM|MH~iAae&hmEEtkr*3Yb z$Qwhc&8Fk$E;5FFiW1K(tUo2pI986#)DEx{rPnIx>^Mq_4nsF^s*Gtx4IdKbyb~py zd{64xnFB3j3$`Uv3K(~{2mzrGri4PeX>B<5jZTV`v?S}DxHRcQY)8FS%v9n%*QNRa zbuIiDqeB0#{94upV&w?Si218cZ$s1>d}M8t7ezQquih~=F&xXKjAdn^V59Mn`HJKw z<>&E{;4vf4UZgLiUlMIHIU&|yUbH@fdh@Ing<9_N*$yijJbGYXknQKswso&tDHT6w z$od7JFJ+!K$Z*!MvW+_unT7esDzig+Esj{|HLH`_uBNK$w_>tKa_{@eNpqKg=If2_ z#aC>8ALuR-SPcUX-Zu)xZ@!~g8+M3u4zJ!Ug^*;OKU9QSP%_S^_K^=<|I^jm zJHF(AgFC|PTNK^2Nly7atE;?lisf-o_t|8SNT~R!CaRaPHsq!5^vcnTwPVHR( zMDZ@u@Mn3ci8uEI{`|nQ%$~DaH2h+*mfH2nu8!Zv$N`=>C>aOkrGK|wmnCz^BvAF4 z(R!%jz-qoiU$3hQ`+G2Z$=BIRSaZ@sd_*gEe!*ISonaBk97tk?l^D%QlQbBoTvRv< zxHvFZ=e(I5!DKS$3art@aKsifxkN(Y7DB(7j-f~^i-|2|Idg-ZRQA2Mt*&lnOXG_V zmwoW-2B-mfR<-E1vg5}^VQch?%}NNlDDbA^P{4Yy-PGf+sNLTPAM;DP-1Qe;(>wF+ z?vfZe1y=o-(;&Q}k31V!d;1O%om$Sm{Vx_EQ8F{P$d3PX?q+_V<}0~H13Y22r6HEY zcC1Nf*Xxf+*GF=0w-QO_3hG}Boxe%&xixF@*k-MJk#Kvc>sy1J#Q8U=kvFzPip;Jv zmxu$n*}0NmO|eO9Q?nCrYBLH)zH%W8S$2mWuP2w5G&4W7D+l7!7oxkqMrJf6{6nNm z<3>t;sgJFlsaSyOy;!`4jA)yzs-UddE4=Imtz%xSSc67Vetem!Evvn5+ztf#P-=<9 zZ_DZ~`K9 ml_cH?*!kCHy#4LZ!oE=gSy2yI=p;pUmij+W+yS`%HxRL-Or1KJ@Q7v__O8>1{tfaGqMx zL$Ez+cg~R&ckc$M9!|akv;uzqr$C37d>gk2{*O4t>BFEQh+j-_a4buEt^ zL>RIg7kd1Bxg3=vn7h2(Ls_S!`Ftssmb^pN+xOH+wsq{XpR~doQ_9g@S(EBJxXRCM zfF-nx2F)wU&2KF-a-Hww+hUZ&8U|I>cVB=AsBu%Xc2atEA#1gCyXC^nQ&(ki zg-{(yF7o{ESIPtgEP54KzjF;`_Btu`zfmpg`ufx(#oVRSIbdR9LPnc9ztY_NROkBN zasQ-n`M=z76n&&V^oL3-E332?eOe>Q%64cy*K#T`vF}2@in1~ADr|qdn8@R~X zzu)4O!bc*JFm7h!i~dG^D=s<%{R0?xSJ%sjW40&jK9G`>JTDt9jA-g}PA6!3r{#RV zE#BMP8()%>pYN+Sw&G%$+0oHqo?B?8U?D3PE~8&hMl?@vT&>XNo?kyQS6A0PJv}{} zbWi$1cGuw;Lv?la>R*g1y-#IjTAPwpHb5t`nV_Jcb8bm)Zf-;bgtNVgdl&ujw{I6% zW*VPAFCe&k$Cg!*O<1iBq^hun#R^ROyuP*)-q+VB^m+7KdE72Psz_n{Z?PpeI~_rhK4fO* zTV~RJxF}m?WMnir47H?%gZti;d~OQ|86(dwEeSe4I+qq9R5~!&v(0XNbkw1!uN1dp zst_BF(DXZ2c|k~x<{9ltngJbG7gv6=SYJELM{1)T+ntYYN*4e9n6FDqOK`!bPoKIx z;hL{sPo ztnvkA{mDTMwdHQ-TAn*sUsTlo_T1FuVsGG3;h-DmY0$ z$4v78&)Khi0mQz70Mg}dKs8l&t*)-7pe-_NiWuK4%nrx!1vScPbI-VsFY2FZijva0 zo!>Ju*O8v@PKq^rJ_I-Xp{`yu;#FWESYny^JlH5m0Tw?a80koq)(Z4md*9??_%YY4 zz?*7&yHY|4(JroNWrJx&=!@tFu!PO5}{=f z%H^Lik#Dt`<_`{H;7G!FZ&}$4t$D~iW4+EqRrO)rNZpjWFIa2CspZcz`DN1mOUpe5 z6_Rfjchy)-OM7Z@1^Jq0wCCmLr%GjKXN&70*w2?YBbc4z^YHFii+;Z@P&or)f8pIB z|4*t?&EkTQUf$VVt`g1v%nX8Ij zu6bH(Wj`pPlvrkk92Y{m`0ld5+uBJroUm=Sb-$Q|gwcT?OE&Tj>MK5+Mp*hn$!!py2zPYF!%+xtIur0A?s-wq5SxzKu;bK^$ z0RQm(iZxnAN%cj&!2JoG%t#~%bzk?h$3Kh8H8=Yl0|Ml5tCX`7aLNZjxRx@1Jy=>} z%trgF_52kpuf<&OaUu^5-E^=l`ZoL8`^&le-Nkvf-Mv3QOtr%~umV?|PDWs|lk^#h zQzg2T$7-GjVhls1G>;#*mXMZ~lG>X7k|MUe4|!`|DN@@0R<3FJnG1In zV#OsT_in@7yt#twH&Q}0wP-}3TwY>Y?aN2TaBVAQ z-LT2)?nJ8zW}x`4rjnD$hr~lzsz<4)*Gx-GU3l7vW#;b20F$YhGKyA?cg_TPZqASZ zK^V6-m$ofLM<&Klz8P6~X`WG1QX;bW-oxl~k(B^l(sUE{5F8O{TcYRn*{`Vv1H}`A z;y5%fp4uNVAsy1S1)okk|r zyKO$&^dAmYFK06KzbGaoHbhq3rh>cb?q+5?HlgfFl}=v#VSjx3GP3X=%S^EvriJ7I z+-h!j5+XoO0ng1U_3$YB$QZ1RPM0$!rZ!QNb%RU2=fBB~CO3T{zl5lg?T9irH+K$j z^!zdI_oqKNlcb-ABBN{yv7R?xy)Xtj)12F#r*uoi#vb#9zR9(8v$y~0-Gn59_Z##M zoj?!R;c#AyD_2x))RKZ(jSUm2sqpYu9>(I0u0$=u?Bqst$tFDNan3b2?^Le0x^ziI zv9(oKH@MdR_@*HDok=o+Q@J(VSghac?%n~dGqRFrH({kf=(>~_f!8Ttqti`pc3;E0 zWXz3as;guXOpm+_Mq5=3FviEbQ)^6=RqEwddv!ll-1RH5C4lxYKBH_3{Z{4lPH>S#9i#XlQtt zO&R?2eY-QU&yGQfa?d2is=Y-M{^}*=<@=&nT`2}yg}bIL-&7(rG(|PDeZ07aCerCF zX{>F4VE^P2OYS@&77-G{8%5O644E3u%R8*4=A5WQ;T2^Sc6N3W=*xi%Gn64?V#d}n z+}*n)p;~K7y%CjH{Wl{v2NtNtxMz&2kgWtIE&*+-a59&Fck|?Ya7Z<8dh}G}(t!`X z1p&U^*%Gr9C9BNzrX*=WbgY`!%*riFmf1VkfdX$jYrWbzcQ==|g=%+DzUS6Un;ZvN zG9vtl|C+|Bmg zQ+(VqX_YHDL1yGh+NIAWC3xy|Nm|;7?Vi_ag}!cm%!Q@#@t2OO2+c$4J3@2aq@<0x zt@Ltv8oxwqj#f04i5g9&|6^!=?x986XZ-3?$%UJ#wx3I~y_csQ<>g&Qlev;x7bU|G znl{`iv}N(`_3N{>t&W);p$T}_dvcG7rad($^1 zdoM1Ybkq7rbq5#u-Wr34wkria05NK&c_{l5F)D8ReFE)!|ILQ*FhXSBEwzb?<9-L{oS zpBSh23L=t*pi*8D`a`UW;F>6+Pt{ibP;WA^-_{OwHGD`jMBD?9zj^FHr~dw5Z%>u^ zeOh2N4=JufZRD3`Bzto#?9W8wB1uH;AJ|vlq~FrY*I-4>)ipB%Z?aWB{Y7w~UAyy% zwT94TVLLwd)+CL)d7mg*e`w2{O}})it>;;7Rk?P@W+m-VP|QN})MmzHb_iz`z05KY zfK~qVi(ppA%ZAD{;<+>dmBG%-F1bz9C|8UXzgSS@Q}hvXNhv?}a7?2EFL(q9CFDd- zK7;n}{VTi4?v@}Ef8UC9`S8)BsAa~tVA4+agocK>R!2u)6=Q_)^77$b-7Zl=>?P?s z$QxuqsM|tlIC}p&tN@Gsk48c;Ya#Mjzpq)wREVS0($csv$t!2if|uWe{h-6!Tf7xI zCo0QUa0+pgi^n{I8V_o7W8*In>8K;{rhl*V9UnZ}r}$b$rj@Tw zu=(Wy{WD9DWx8iza!PG2uU@^Q%S9Guu4cy>(G|3XOMSP&>y_XE0ZJU-RSk|M*U~1p z)NR8m`b=vj7F76})HDc7H++3ne#PhXOi@wK1x|63g*r6U&rBYQxj*YhZGSN4owY*QmCt7T5y?NFp5YhV?e8sJ zVSoJO@#Fc!Zyo-N1=w>r1x3oj(t`C&G#d!Jv#n^Tx#(R`XzF)^}Du)@C6xjo>ANE^ zCl{Hr*(pe{!%0bWw={&EpXz^1`3W+Y64m455 zXsy5h-oE(4I*VF*D`*;UO6>be8(um}BXI3Cuj9S^ygaRvJL#8?^Wte9(cdB(Aj6rR zt|&_#8EK#HDHI8sjy6oIsi_HYRxho33b{4a;H0(z6E_keXX3Az5Hef{NjtdA2Y=wA zI-VYiQSP2fx)MB6CD|W)c-M+lP&ObJVp39vcWy1o-ht&HLo^&XLMoIjoP=e8aWRi*VQYatZwY7SaU0f#eq;b*|;xo6STr@sB9$#5m3E9HMe07$w zfq?sHCtkuMD#uvAknii&KIG zDWVdMP0pWRTwXS?If@IWHksTyKK8rt!9IpMmT-M`tTjF5q(1KSt$@{~DfKi{lrjx+ z!NfkB)*|{}YeU^Xe?CT%MTX}KZg>`l`%LUwWywPk=YJ?);_{LoK}ayBvIJmfZwPmE-BiINgW^f(9+28%s_3%0TT z$>kp*O+zFHo%*QN;7hLDrU*b`H#Iet^zsk%R&uUwfB4*MiN0rM!NUmlQR=S4jY9nP zsaerY)JCFKtg#i2J2?RAM@O5~W@~F4WAJOGL-yWTv3Hlp=hDJOQMR;+iE#gK*OfD; z{Vjj3hgf-GNLgCkH4oJ|C=P(b zwkbI7J=KkiO$^4T`UDWbV(>$HN@6nF=T;ExW4(RH(CCiy=geNWj=|d=KjsJFh{9tg z)%x$uP*Q6;@PWY|S;sZ;E8XoYMzSJ{FQA}msYlt9u5z)8+FTdv)u zvG3m1K509;&QHesyO{DP2j7>-`}mQ;sBQJ>*;+>0)oAA6_=ZZQ`nxTyTuE*I+0zrQ zx+T-R2cSqvs-Lr}hFnR()#+Z*(+8t#y#ZJc5)|Es6h53sq zd3r4^|KWtFwU?J)4>pz+0Z1UxYtP=&QP|VBnwmDpplR@N2{H{1-jFY+8bq~IRnDY6 zQ#6=BJNg%)4GhlZ?&;P%#mnn%jHq2vjxWKjc*#azwXxY|5YxQ(`I!S=1-;ebq7Ont z3$O8>M*59{cvR)b7r#~f;so}$O&AFHBu>wKeN}Z|HJm4}+xjnm>ypC6!w=%0oq=Hm~>v zIe!~fMKuARlz7r|xhuGndSs91=iZkHHk5pKTgckvcCgym72Q0 z`UaRPp!j@2NfZgGL2ef%v2Ec((l79Vsh1C*z^}BlXLwU|szi&O7wrp9aM5Jrj2xVu zy*xZTZr!@&lF{O-tabT;U=60Aw;UGr{rktSjzLnxN>YQm&fpG31v~NPL@*FTFc5VW zl?*f?;?kFBSqPD472fSDICp=4e_!AH%ZJ_EpZ82H-FBeq?Ynqrr>yLw;NTDziv`OX zHj)|)e%Cnxd6_O=aIf006VM)7SV&vBJAp3yPtUNuYASU96xL;A7^A+ za9mN#_w;Q%WMU%5)DN5Src7pnBsV#?;(Ghcj7Q3ax1HiWJw2dkP@l`O_7%@ucnRpj zw1$$B(%(-O=T0E|z^sG$YSv-7N$7wqblEAj#H6^mq@o?;-fF+hKCgE@j23B(%V;03 zG>A%#Y#$iFT;GlK|EXbgUt6MO=I2i*zqX$K{;s~vj)_GG&V&R029##SwKy520@Td7eReXNx#mE5?BwI%ALwq556re!h&^-QhE3%s-}@q?fcAKG z^J}BF2oc`xPuUmxtGKLe0NvvH;AXoygXVNtZLRKWvyK_%({TX9BLfZ8hDTF{PCFu{ z_h2jjViBXk5Gm09ANG`n=1C5>!ELl^e+ zonHHLfk+*7AlVc-FRj>wteT-?>2yeSEgmw4ZrZ#=8f6Hey)x|>b_Tq|_ zVcN535s@uL)DmKIbMrlbrJLjrM3xg@)(v`7t;lf8rxkbPEWfcA^zR6 zd!*-FnyE;&=cQp-k|&Tsjjd?bA|fIjK;qDFs%?ystfON(sq4`#4=WP-GpC}qwvq>*BZX~q0psrNom}hPmE9z_uWjuY!*3tu*m@5idk<)= z7q|X**vJiv{jR~_EdtEZh$z6QOd7HtSgI-BTv|C0vf9L8ybY-?OPs-e2M>HZ;|ajY zRk}eujBAmj$#R%pT1u{}&S*Tb$mf&q6!K5&dRXBURa>w@W)doJ2Aa$uhlys!bWGq ziwM~Etl)G9dp|~Rn|+naUUA7SDwjLyYg-UcbyZa;!ZOX}HwATqDl|U7P$erT%aNf{ zTbDOE&IlAJZl&OAkzmpry?vf5bJeq-j@@1q@G7`hup-~}Vb&30Ea~|7_w)qJ{;IC1 zxbg1tBV_P|9#>Gdlb6>kRI@MSvQtxuZ@D3#h#MPo=^SmRw#GJ5Nk1B<0}G4tEu#F+ zIxSF}62-;aXcxqJv7Cm!V~v-X1zp zCa6sZ?4hwR^&mccpy2M%5t8`!@%i4EuBfbrcsyGDSyX-hrTToga!ll?C|ud%v(|hxI-=ilQ5-^F-X*(=;O2 z;88$_Vq)5>t9dE-)Mmf*mlCFnEiGOU0uUUh4BlgxRecQDANr=>JOwd+7By!IcZra}|r%a4@rp6O{3-K67N2>18 zPrgd48k#D;)sx=od&I=nhNE35f;pw7tR?xAK5u85hMksHx`&7F$EYBK0u^8FGxIDC zyZvLB=D%*gB&1KV5>iBm2OnB;Q{-(*K2ZHsuNXPtT)qMvaX|c13ES|Bc5r zG}aR1J5dQ*oqYj2WOsx;eM*T}Awl{163-K)!k6ZE=Z+gR<>uyE&bCu&hn!>Ut;EGg z_z)vF|F=)t-@K94!Ij=wonBhe96Jk+r?P3 z8A{aTOYho#EG(?8?V3RQX5G6tnVT^We(z|kIPHy|cxlYc>+h3478=Am+Z_?V#3v6p z*<5H8KumM2dd;#^4AKWuEV|9#6G@Pi1&H#>8P`jfqVZv+0Kd6n=z7Q0-v=mKkZg~w z_Kpd%4?CuNuiUGy4uz(=Z^GWu`4BK|1)JhQ))s`6ou4oI%ENC#Nc7cP(zGT+o=kkIq@S^LhH@$q4fui@0D?xhCY4`?jcUK)xbMLg!$3Y^29f1VT-q8koyA&qusI~O?vyE(|+<7cv*ARu9Vh0tpZ_`LU6qH$=s z3Z&rpX+sJfdgm5_kalyurgFziP>d;QL1t=qYXlQ?BCC~=Y0i`<|EyN?f z#aaHdzqj(zyWtr!Ib<6|s`zm_-B)TGf`S+Y=Gxxg?xF3s+x9208#+5Wpk%4M>AP8* zF1!;dtfRVkf^%X`oC=k=d&|cmFtD*sT=Sqt*WV{ko>Wt_RKOfPO1j@#T~gA`Vud!5 z*Vp4_%tEF$E=mZcla`>V6dMvc37`r1u^F^IjrQZMc?J}y;ELz?1j)fle+0RUh%F2c z>wWP60N!I-7%wlQ*7W1YkA{Z#O`0^PyCX(lL?fc2%npajeUj0oPfjbxH_+NbTHA06 zDr(C9tlrCf5aiW10Ts``1n?Ik9s8osxdl?D#FAsN)N>_wHFAzBO?zsDB?gkaR#{ zPMp~LpFU`R%g6Y>2o`L<%c)|F@uS`{x>PT2$`s@?xt2#UX3%5!a%pOMa=Lv&&hL4E z#$8F4u5Ks~)Q^A%QOcyCZQab_o@8$K$QdKPb9ld(2ktV;?4d2|=j3E>Z}0T>N$o@TOl%H?g8>S#<6W-4F*_Pz z61Xsy>72V%IQHTR`%OAZGIMn@<({ud#a#JQnp6KuMr78?T5F_L63&;(4D(Q}xQj$nkkVX?lAh>~JFqCsLZSGGlg&N^1~UugrS_`i!L#58+Vp@gp<4 zxyal*d4u}BisdMfzxI}_cC`%;ui@S{jqxEtiZ>zHf#1!_0<_t8;)Mr83VN(iKNSlK zB~L(2rzxjIdy-W7DNu%J0Y!0RB$y_&p%2G^u@wb|JOc1!#?AJNN59}Vqz{T;+QroU z`=Ks!)IHM#V47QI&ZmprJsG}Vje`ehPJD$*5ZT)$4WakD!AirO$uxHXyxOlJ!rgLW zMI5*f@MG=%=hKh6yRc1jY8)NmW&+T+0-7sHN!O+~~{Xm*S+H zl9EfH9o4V;__zuID1jO%{lIIgVcO@sJll7!%N54KnAARZQdX9bfB*;mMzE3_?5`WX zz*{P^vaz-8?|#292#I4}QBhH0q0d;$XeLO3WO&vT2}c61 zE4UkQ)bNehdEQnAf>K9a-8f*}RTCjfWu>+NcS6^3v$iO-ut5aFKwW|r0VbcF?a~l| z!76PoIi{hZs;ms>dwPRmrg}C7TxmO`iW`t@zw!44h<0#XV_3CK$yQ+5P}d*V@po4e z1AzlB1>x{{K%j+8Z)m(bgedp>hz(S~z#9`GyDH1afbWkbmxX9NudfER%n z201KTwEVfOO#0P)OUtv7qyak!NE;U7$|shrzVWJ=qxgbeZ^$H+UJBEX_Pz#P{Pd~$ z>({TpTLy3(`JTnM`zR5evdcNJpg6bS>PBj;mari{jC@XWU*9;S*nH#`Z(N02QC^+`xN)wHXOvz&(*z|Q z&;$#v=8b;)>t|md^rN8-1JB0=1GZl{4|lFuTC^sSgWpUv8#kn6y4oPSoUryT!j^xGIP95Ed8Oa#OiZc!PVn2_Hc4(%4<^bFH? z{}{%%XlWb#zKMe#-SE^Xj#51hTtGKBH^8O2$e%V2kKv%JtDBmd3U>jHZBCExNu3rJ7E}6s8@v_h5zEVH zMny#d>+InrtcS-11&kY~p@apB1xK{z0AhPkiu?FXu4c4DN7GF?9(M7YUFrL`s;a7z zl9Np2CD6B`Qrqr2TK>h2F7JOK9P zgJctE0@zqtL7o2)p-KF{Gk&AJ!C~$gUp&(^F>$a+coTN_@AX_&R{t9ft`b}I7vRAe z87>q&hG2&@`@x)*4ok5o^CGr4`c z8Z?ytic3%}0+nqN#3Kw6PwrfI&zwUY!RPJDl^#A$Sho&5y7#M4 ze7lx~O~3IZ+t!7SYU?28H*|54d^9#o_8TO;0*oH|ik5DuO@lw+M1zu+Eb^YS7}3&^ z2QCc|SJ&CIYjp8KEUT$ubaysSmwz`&xsKpW9V@VAt$J&%N;k0DY-LxXETq0+Fc`XiU_m|4)M^ZNRrDV@9Mj)2<*A>#SB^ z>0-L{l-|O7_PLR<`sGK2+3E_?;~%FXeIC1u!+o$;0AldNRsh{E9FEa92o2^7QvC7% zWR=$>&Yml~vWNYFR1p2~gMAb;5WgC;{KzD}Xk^`d^UPtea6sg0Uz;Tun}J%`*kE$` zPjM&QhS~(!;_*e|>|t66kjc}(q1dzQp%-gzYdn6gK2wjr$xJOR^BWtj?__5WwX$!e z&PCm-*%uVMu(-G@ygD;8)9bGMubm-1IB)O$y^QDDT&f)2Z?f+?W$h=?=IWZrP0=!+ zb-QlACE8rm;{$4wXWn(W0x^1jf79|r4d}xr6j_9K4aqO8q;`8E<0E;b?9PxSNHpz2_WFl z&#wow+m=#e>AMEbQq`wVZW;VXKtKQz`Yckcpx}ogtiO+M2KY&86H#%qfQRxyb^(D! zj6w=8sv-@qTRGXQUrGJgq}J?YYod>fTB40>8*5-9iY*O)D$>M7TM|{y0Dac#+q7{- zwLM#_WU0%7zKh+>9MV$pqgd|~;VQP>_w>6xQ$EHp<5n%>QoEDV))1WRP`Xn2)wcZN z&thEI)a}XhzlRF?X}&Hoc7LJR5s9W>)@mL!tLsrbQ&YFlG)2gA!=Vl1q!aRG zS4sEl*-k!_vBz~qqYHUv8kUxqiCRUyrN#fn0tlaSa$NbCN|KphHPM>*lQDCqyMh!U zUKKt^1d5~A4;ktuo)1EM+IWx<;{j*_t*>qa-te!TX|3-H3JRbY2fg|xd;%$#F*sfP zqhu3fH*D7(31UWLhiZO$^Eb%3D^0BUQ#eKWV{ z|}2v^nqox zdlwyq~Lql_s>3}n*X(d>fW?`46MXu2T3 zg31KDade*DQ+H!Qf%Ri}jg4DaJB9t&?Yt&!*Sp$hdC>ZJY$3bs2!o!gUYaRTr^6neQjQnM_jtRu8_%O!50(}bxlBr8Gol1d(9Ss4VY=4h zFJnLT(lvvvL+tU8D7NLT6V|NQCY#kM=apEg^=T7(UUsy+);b-dfbV!)IzoV!#RGOh zZ5M&@mA=;5o~d=xe|CVlQX4hRYVcUME5^;+;+F|)GxP^q^JOpCyn&Z{SS2M>7Pfo2 z7Ltr)0e8Ea+0i|fWvM$>sb)KU*WO;WH!tOsl{fd`!QO-rdX-hdwV^tXAfV?LA^3w@-- znMS@=wPj1eT`bn#-QCB*K`plaT@&I++_E7yqC2T%j;Upquo7PsPoRg74YBFp<_YvU zleH%O#`PcNGdd;y>7}dfCM=L0J9mjj`mr`#Ry;RIIIc7sO~kV^%EZts^-b*Ril5mI zc=|OqjQ5y`2T&?z7sDgQ31xo=W@;_Z#RzM2`ZCec(e2K;wivzQQ1VM%&!iW7q$MQ< z@|`)s@Uje|-N_t?v}1L4N=e!YhT_>1pTf%uidH)1CkVO4Yl*HDs@HzI)iuJc#jid^ z>lxWvi}fafSGov`8P%xtYy#z11ABEmcu2^uK=Fo(do16~lz@;Bv;tPT80g2#~g_Dy@T?b^!t&QrH@Dnf?5Ds*=tn@r%SdjH(IwB7QG-rAs4Nu&SS9=uh3++b=|MT0!h6alShYc@@ zTjbD=SX^4~7(o2bqlv_%(wv-}9mlb4^E&p84%xsU_dX=4z|YTrrU|j(B%(C_5WTr+ zIRZ`V5Q=ce|BQBi4N-o3R5sY@_UhqgY@0w7%r z)7uBtVb}fbG)rZf&HfD?=C_($3c1uy74-p0z6&_uFu&6lU^XJb4>!cVM zTB}Uv=PuVzs>*0|KXl``$cn#{djuE-Dk}9*L9|T)7!Bd1t?jiY50^jC*Wn@3+OpAc zFJ8PgcY%J`xGB8X&(G<`E6Bn3C>S6MK;(vt&_NKrpn`%_3c!K3JK*ih%e48n~Ft+7Ml#a$q;2B*r2)%uIa^}y-6a&7314{qBa;OXw)p9;vZBSEF&N&NhV?eXwt=J1rO%&2nBT)#j6 z2#O2f*SbRps)?jxZemC*=yHJor@Gf>$WKIXZ$fZ?LCel)C!~vDZ;kI!u>n%z;!|{b z6m*H;=%mYG%4=?}F0p7?4NscKTqh8;aP(Z~sZrmoP{mk)dr&*KuH5iks}4`gKA8-Z zBwc?v`R@+dvRe?pbGvVEVjvxzopk&X)NT>}rm893?=MgHu6!8E>*7Kln!PRDnDwJQ zJ}Vnd*%nVE7GcMJm6r!G`OABtATqWBwkz<*q3haz_3qFuO29yGFMqynra4SCGjs?9 zc2(8h?wpex8brw0SUq%zp-%RR<{5lcWrNupv{nDt@Icoy|Vf+e~M zkD^7YVcYwGj{syb09T>j$Nx!j*&`*T=IcJrpT)aL+Yt~J8O zx#9<90$rtMXg<6mwaI~i*j#)A~2q7DLDl%R3sD9R$^ zxdyAy@RmzzjwfsFWKkD_NNn51Q5XP0a!Y7A92cUXf<~Jki9FYYBC%*s`j8hXj%?^P0+;>gWWu4N*CpWCx4riql->-@zj61v~R^aQQP@W74&YmnHhD@XKU zw2#APfzI-($p>tHa4$RL)ZkUBUX zWUyze@LiZ_^v;I)*Roc+nyvQ`Xc7?X!szyV2fv2PjFEp00)nwqEIMQnZ{-~Xee>Qt8b({iA~~CRo{pM zH2#z$CdRvAya5_eu@=xjO-V`NxauUJJ_;iV&~$+3U>`$6Gc0Tt;0M4SfKeYSzq{Ap&WWIF3a375zdLfY=9jY*FF-7P||EMiL&t zxWk-t)x^PQ_!5NHSMYnXS=;uYRx)G>n_K|$WhT_V-VeV{4u2~H76)I500c9VsC&wj zvERQ2_nt13XdD&!Sg*MM=g${rhMcSGRoi)01t4L7l&jyM*pP35vJ?jY5i||KDd8Cu z>R)waejS7W1g4{)vYm4peW!yG;)fw!5WLIz?m!;ZgD`2Sddxj0EH=%w7U;s*Zo&I- z9oY@LJ?PSomidr*s_p{-u0wQERMGvNot*C~;5>y#RTD5_XjBQDBABTqmU`XlV2X2Y zjM0OwiL}h8ofCyr%xG0=TYe>^nlKTq5C5&L0#&iGnQ{-|PM`v@{)%k|o|YY?T{3TlD+0waPM?HtaAo{bEa zdin6xLpv1`v_$#&?FFELgJ{#iqoIp0+zy4lVdq?HEDD-@zCo;Qs3M%jtyUhAX_%FU?k}NhF?Oo|NGUD|Mz!CJ^}f0Zu?(+`>Z&E z%I$dRJzaAQDW#OT!BGyL-Rv~jkhOb%4QD;Q)&GIt!2$h$Yu*2QrS|XJk^fEl`mf~w zl{|Q(|HWSNU#;Ba`P8#t4leFevgZ^R{9m+FW>)|J literal 0 HcmV?d00001 diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-into-a-board-with-clip-content-1.png b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Clips-a-group-dragged-into-a-board-with-clip-content-1.png new file mode 100644 index 0000000000000000000000000000000000000000..353a9f9aac4972500876251ee59bc9307057e70f GIT binary patch literal 19836 zcmeHvc{r5&`~QQYvejuJiaO_%PGu=VmKjT>BC1o!9%V}iS%;YtEkYeflx1|BQjMia zNDNa#))~nbGh;c-*vVLC4D-8Ze9rHW?;pSG`u+F0zE}QHGtcw9xBGtGulsf1kGrQW z&7{{UtV0k)`o!@gXAwjKhajtT*NDO=9z^R+2(lhIam4ssX!;m!IB=VLX6Jm4dU|}B z;*O&kzwVNL*;VIT6F3%{^oDTu@L0LUpjEwcQoVjHai6+R?Ob#7*w{B>h?&AYB=p{= zws$Q?j3}c<>bASLLVLZ~)0|DWyiInr(R@VW)uR>+IYqPaFe?1WsVWM8?+_7D5c~u8 z>ncy-2Y;;35)u64xCu^N@O#JF9~b=ChadLv!!Lf|1K_|9ocs|EeuRS`;owI&_+JtZ za3KL6vmdH*Mg^=FH~CotXFOkkUDCOdmK^%@0j09Uc6nOXFFs+@$JK`o^4$-vT=rAe zji*zI*tvmygI`YMEr*0W;V_rFZ>HDzzAUg88 zN?Mb)U7i)1*IQ_Xy6?wJtK|%)X<;<(0)fAP=jT)| zaQ^ueTG++K@|T=d8=E(&sJwYRhUQFSH#B_5@r_`@!7C4S@-90)3O{Ue~96%s=7)rW`!wEJodPDn(C%?Dn)kX<%K0WXwB`Tf#vBG zX1?Qvdoke`eTOK%*ountUEgTkXx(kfiV@2Zewc;ju9$HeX`#$DG9ksxY+c8rdf_&v zY=CX_Uy7d3|I@s$t9J&yXv3dNnlHF+vKuoxMYhbL4f95wmzq3xV#i0$lIWhrb`<_) zR7ynD;ek$Lm=UhyfizNeDUxvT?4D1OGn%d4WsA4l2Bv%nH3LPn)n9tr=X?vhcyZV% z54=M}0o^B9FJp3fZD3*R;%&3Gfh7MYg`-y5+G2v$sk@0P$gksbJFpSK7co9;CYGzx z*EM$^%`a45N^|Bnu|6Lk`;3p|o$>O`-!KzMm{sSGtDBjb-5c0AUlI1^oyL6KVuuqi zdmV>|=J{dSe%Kl1fKrF-7F&l@S-}Y97VcLge?g>(8B5W_{g>1h7x8Pnin{H)%Ondm zIhcubM%!>uad0s6c@71u12^CRKXLFUw8id0U|BKa{Z-)Zf@C08#msN48UN1!a2dH39s7Vd#d>= zPnQRmHM{os8}C+W!>}9$Pp3u)Z50fG{FhR^T?Q&!Go_spV> zd#1A}Zt@r5bvb#ZOBOTd2sGd7j+_*`=>UC$(dI56?UaVi>o^N~PL0d~b5zBF84JJy zVJ7Ty+%T>=Bb;QNr({DgE3zXw`5p0SIUJ4>S^8^C`4eJz5Nz-M{rGrGOUwI-iE`^! z?^3|YtreVxhJ&kh!rfBqI9loZva%3=e|cR3!l$Vz$ zpQWOr!W?pstA6QV87nUDy>eTH_2^rf$?@^?d%KDHmENS9vMbv5w{M#fef|6?LFYixW<9GGy`1p8-chM0V$KI9UTcX(A-MzTDc)+Mu%1}oqrD0GM zF+C>G1#llW+0WFSxa#5IafJ{N5bz~~%~Nf15A^dZurvHdqd7b5ua;Le6_eU5q>JLG z32pGHqcg)mPft%@bLyu<3QZ@U1%!s$?p6J>;aN*d3qtl^+3&0%y$o1bQ&SVnC7iS& z{8*lK1UD$pE>BHW_0*}&g%_9`MWs+H&owKf(HZE4p)?h6#FRII1DNTN@rjA^gj$>Y z{mBixMs*SKOrfiY{nh4u)yJnMC4am2!j}HcaW<26NdRL@^~pyCSEUKBiq3K>D9Fq6 z^YuNH)o0|wuWS78-j2QZd4`=+Af38@4sr*BST){|lvn8R8 z+Z#QvvU|5E68*UX3+K=BtF5g~R7Ot}a52wm6Jz7!Xw1SpJ3|>n>Sy8fxt(=&bpy3l z#U&x!d=!2-NDnqUQOWS$RzpO?UwAAmnU!Mn^}RhK!mdbrhP4ie{suqY-kJ@JO;K+mw~jk=(aV1-Ebf zPH4+SIVKi}A!5ctONjd7qm4&7>g&CV6}cW7>bXIJOkTOo4^DD?JcC9fh3=GkVNKX9 z#$K*Cx($go!io2)f?bLrxCuQJs;jdTfa+pa+vsd(mKd^R1z%sy&CBBts$*x<7`&^n z1p9B}!MT*S5waR1v}JiY3Kj)ER!+3V^SKwoquv+i8;c=9O?`bWuv3USBlJvR*S0_G z*J*UZHqsksxR_(n;s`6jnov|!biSaYiu$6>TLgzvF%p{+uQ-pVc!I||`Ujn(b$2Vj zdfFQrA%;X+!bFO+6q-`nnVJe(h|$^c;D{@PgXab)eOgA7(!6VNh?roqi`DAaC+LpL zqk$U>#ifx4&C}DgE>c z5i*}1V!J;DJXj2w`ZhN|fBP!$aQgCkC%2FgKX327X@}4f)B;#W^F};dUA-WmUIwn| z%v?Iey0}qUJ|xBF%?0Xn ztS=wS<(IbTWi;0eStBm%!829W3uKtu|6owqftuN_uE+39AVoKJ8C7N<%MP0lTHq{q zH+}P@MyqULp1i#1LobyKC~bZ0*`ViyN2E1g^d}MhD#E`1Q`f5TXMZ90N(VhoT?Ds$ zX|)8Rel2{Y_j`TS?L<0P#c;e|Uj76#gVN$%G}%+C=-hZjOyi#?P3<2(T$Hz-*3UIF zYg^EJ#6paef65YBD0VL_Eq@cvU#s*7&Y5|1+fB^B z6gI%J^7RELrwgPI^l-Sb^n0D6?s4q=B$m?=xoERdGpKx7$qtcvwP29fRo;uY95rit zzSa{L1$Zb`7EY>w8T9sL%l~ZZst{CgSP`RyTid@tJ-AMqY;6}gtp?%3OJG0;UI_0hKz-(zy)#UqFN<@~Xn2Itw18fM3};?3W(C2__-q03fh7KN%D5EYz@%W;S@ z$;oXV5%@B#Mc&WS+@CVqm?CuRzLwQw@}0W2<#;)uO_3*X;_}BJvWA3IL{0Vf?OHyP zb29WdarfaFPVOyn7ne?b5u?hDSt7BP*)0yjV?I;9UM*RicA1Eh{qlu5laY6;Jxhdz zg}}RX3Ld658$QsSQ83BCcK(8HerX)ibh=H5AX4`mH34)4>v?F4Pf4*+LWTGEIDH?R ziPK`K$$u20R2Jj%!3rOAa^!BXOw59~{1zgLK`O&cE=Om+qIhVr{)VvR50FGO=8tq# zu0^Q$Hy7M0a{>;FC}cTvrld7Cfnj~GA07*&DE*yptn$UTmdEY5`0kK`bfOx^z6ZcXtN)Ayn+KW5;qc@2rctxhRrl zC796XW_P@eO+@4z=coev=+{O2Fd(?0l9K+&2#^C~CprFzTPU1`% zO(ybabX3T+`qISrlf8-6;-oQOk*tDEmXhq(1vi?Rl5TDT02+e*d|uea1bAh)2=_9C z4K{zDTX7EKSluP|Dq-4`lfXnF?zWwhCAWQq95uU`og;&C!H6l@xDL933H% z_hDw+CclOu+@lthjT@^_Jc#xW8>AQIb&dFdG2*9kDX@CM(Rpf_;#;#AHwP6N4L{2u zTyrUERl4)QRrM_@5I)So6!y$|6jJ6V(Vp6i6#`UYe66W@K24u2A`Ux=X8GMuNQl2L zH7R;8v|AM?&bk7d+xwzpw4q^Nq7vFy+x{ZXlUh*F;<;S3IC2Q0xBwbN5U%ml2l&*~ zHC3-{_b1%nB)T%xdWyDRZhk&p83%as%((KozB5C*JaeJ)e(M?$mSmStu=gw7bmsb@ zfYPomFUc$s?h^pwHDD{lbmr|uF8Aw)880ehU)1D>u4uo1nzxgbaH#dIfl^eUJ{K1( zEG#y~RU<}d@C2?CWHnBu^FDK>8^oW8N1_HOe)a3Y`dx#9e8R)M*WAtmW*8gBKSXu` zF2L;`9-E;h!%oXg33uA&z%nmb%2 zOchepzhpVTI{R`J-Jy*3t*c8Kq0T_K0(+@?@HkceeVUX;=qkXW>ku+%gD?VQcp8_q zSW~s%#^-2*$>g*vMc*1G^kC0W&bGF;@~;LK-cVK{+;rJNByxB@O-BjkqxIzC9xtl; zz0Ga%llI-Od?XN7*kg;-$B)&v#8nlp4G#$T8KLrFnB`UWAgOe6Xid4vV645UcX+C2;jg7|FUD$nc*14W?gHfUSxSu`?{9nGcq#B z`Y(LCvZRfaKVLeisj1o8`ujy{2JK5}X(?jF7wo}_?3M-YL_H}&_A8UA<+-Rs&rscl zu;WagzJB{wOHWTh+^+nFO@Ugx;P?fMiKPf!cH(n}{@3Ss}ireuUK4wrCnL(#wf0HBO^PhUEPI zPniJEcBV8`qx27*mx|t#RM*(lRHLX%j@j)Aj~VoAM4#5P&%f* z%wq-y7GC^p3wKNXAx3q6{`{V~xj6@el6vs);Y0a$RR$uj0UK%+*Af;MHn>-JZGD!6MhmCspG$) zUnjzPk|v8#(cd||HiFF%lX>v51uJm6c)zM@&ELMWn&jT;hugEvAO&dc0!Cz?XWhHG z5haFHjrn-%qU1(K#WNZP^BpeS6VY>8gGi;{u#;P@p&?;{YPTw`U*Z*rv&4Q=h< z@oz>rU38K;0Bsf@9?(a9} z0o8Bs-d%%U=>68?z#s45v&pjL&Zm^norp#j=8gnQwJ1FDa@cH3cCEHwx@jb;)w>!Y zDZblbpFEBrOI{e>TjN^h@$PQ@rSDn?otXP<9&On&bd`?C`@km3dTA*%G!OumPU9(0 zVPTk#&dyE=WsJtbgKvn$t@!h?N{^b{ff(jHM)-mS%5fm!2wbgBOXt0XDXAWVU96#EKFa ziePK}D^f$upTz)AR;(J!XP<;4t;^bn?{Nw zq1%ZwTjG+GvAmYKx#pUhp}M*g>i13L*2OFw$v?LjZ2D4R7eb~2=BQmDIXOF(mUz!` z90U_p+`4t^1(?&5Cw9)xjP7nfErpcir!yShr%wz0{rzKO_dj^xc0wd^cp7QzXd zEaYNjX15}}s+SHv1{0P=^QKs=7iV9Njg1xC<@vgUqucM_(lGet>$z(|L0X8$pMVhN zkRMrFPgHZaX$JLf{_26?LLO3>?jWXB*TuwefC*1cy>Kc}p-FGAn*V(KA_n8ChPs`W zp|)wAjN&SJcL)H3cdWS0VV(K^Y5|jU$FKz!0W+}heYFyO{1A3|`5wEx!rnPp%>W{H(&1gDKH2$ic|1b7Bl zI4LZ)UKQEpwRpb8ul3urg}LBSLxr^c;DG~Y_FEo{ zG5K&H8Zm&pDagLC%fSi!f9heABJ(uf*^Kwa*Voq)SFuO(Sqy@h?yw%{yyF3D&&dH7 z%B85N6eT4k70NpnbPTk94YWRrKgzUChs3?sD*kB9$Kxn`p|==r5<=|z5udpWktjS^ z3UxJ6j)}j!`S2EIa2YN9dCMKj`Lt;p%JaVlDu*v+-evF-D6N@G2_}tAl&IhI#HI}4 z6eeDFC<44p(6A5KUsIxTz{GEwX?v0`0`p^NRz-+%vI#w+Z%Sx(;N!UIN>)$}eCubps>e@kvJ!iw$80P|Ol znvUl4LMjdQUWq$pp(?Y#eB_M)0nyjp{wqG?YDqWH3=_sZW!OV^=oT?j2S|JW&xL5U zC6-mx!hGe@$kf#9*5OrOnQ^aQy9CWUUM?(M*a6`zWTHnpavz?;U#P`yfkDIX0@I_- z+&;{*PfFS-GRwJXE4DPTUy#2aKLT@p#gq;Y5AU2eCQ#(66<8r2BB1*j{R|FYQa$0I zmg2|Y8WVN5#wK$yL==ClmE65|)4C2cM;D&`Kwx8QU89{G46agP)uy`Qc_?RHdtG|W zlAy=f-z_ ztA2{gDSYh`H{Jc&Jy7YvzfZ|^*o(ck*#7lvF9l|L0u;N^4)ogcrxbJv3WnOTQ$(Tn zkIRLR14`M|awR|$KK7o)myyrh@~fYYhKIZa$sk2NsqRnnXJ}5}xN%0bHNLEBJv;5- zvJ@-?=n!?IYlvF1B{NH9xA;{VyU2;%rqlw;f+p;SAXOmsbGEVBU%!$YVSGpHJ^x_2 zNy-uxR+vl6JP-6*7~)q@Y}pT5#U0gX%l#73L|MDYicN8Gm*+Y2cKgdxkX})tyfxrn z2!6a77ES+2G04Krxu@cgA&n789htdY=U#}Xmv0CyTIekwRujdAY;2tYohV7g>QRc# z-sF=A&Ia%;yrtijGdHfhDK68 zVF1WQc7_PKL9hyzkBpu+>*dRrRKKrGCx5Wk<#kRY-nlb)%r*p9@&&?BNQjNiq+uu^ z9&69?!HNUgECA|aI|wce0A_Z6z{{Y;IWY2Sl;E)D*Tm^M)qj^pLaz`HK^g}<42UR$ zM!Ql3iv9VV*1PAqQ&SoUIYco0KJ8D>s;kv2-nFTh>3(Hq1`O7JvBG{IAS;JrM9KDq z4n>f&Kwt0y6;2`EHobCIW;#ACEe-N%WD1nCtd3;!XNBUl0oX1lSv!aQi;7{s#4$R8 z(`onADk&T>N^I8r-sEu`UIY@G0!KXR8j>K*z3tpHF?iT>wp8bG zVHb8m604q*?{tBCH_RUiH6{MWsO0acI7euk%<%OsvV*~A!&MQoBpevZ|65kWGj(6a zNK+(rBv2i)bS8SyOWrre#5htM*D;Tw&5$DIA&@&c%wsCNXLYql6MpkVoIq@2-)885 zBS4(G<@6V7zQSZDy0IZ^z?2P7I00gf70_yDhV6w5@dcx^T*bD3QeT0z7PnOoAuGeq zMGkP(65!aB9)sa7R#TOZvv#gS3JSV>toL>wFhoc3PTl|Pr}No?(59`eZKs;EL3Ant zoERO3l5k8f=S5P#IAOPb6dxDd^;_`}XnY={nUf$AV<+D;XFxdJzJ2>@BoriG7G#&| znc6I6hly=(-*zO%zA}!uBT62sMJ%*pQ3db;(uATDK6gY7xKqWB>Gongk?|ES65YafAg5JJV%I* zu6mHlH8}1XU2%PMW}$@BQOW7nSZ{z5>5a%pPye*X;iXTlA3}d6JujqX-(!AY9Z}~2}1%Zzjf{|HE7UTpCVn*LrqvcxW>_p}`4N|XGgC_e*|f&Bbibh(neetd z13YAQHhw|Roki7r)i(0&8&^WP9N(mOcbyB%a~%>5aV=G5AchgeDO)Hq3*C1>56f;b z>nOnHqGSsTrIt8Me2w^aH}+-eBekQa?NUodw<66U7)*I->E_BXhk_2%#KZdW{!vlB zAoL;{moBZweK@yQwWng1lj6KQF~y1xx%N*$X(D==H3WLjP7U^(uGYfke)ANGzv2zV z$XD)FAC5|(_w?kpjgVdk4m|5mz8{GJWfD(Wjl|xC{65uH%fZgB@zO!(sM)fmC7smh zgci;~BC7nFW8_eGv-n?rG_FC^j-^w+S@(K{h%gW@cCP2TY0C;9tdO$e=_{YVI zC`7{o@Xy#ynXw5XAc=YJO#_{lhE;dMM-CJEP`}thq_Q{ccVs?w#Uu% z^!TWyZO#zsovpU|&^9vNnqvhFGp%W;43DC%K9B++01?dcmsRq6f%@*y@0Q4Da$jC9 zVN}ZM9b+cKiG#zAMGnnoRI@_+#%3S4%9A3T?ibsNA@piUALi!fhTNZ76Jja?K)Z($ zlY_yMF$s!E59ASX2TXwT-sFmROVO2!iwtW*ZNZa-I`E^Yh2=sL1$AgDzxmPiRlujK zRRZ#?_dRFAStljgB~JE)z6@O&NX9>T@&sfSMC!H=;zF&4pq>)NRzdIIqTI~ z>&)=jx#7=unt*+f_6!YWWY8e7l~po$Wu3SPD)M1rabt`zDoaiSS{wVZ@GvU|0^j-l zTPkP85@SAs@}k&*z6$`4P~BV!Km@^scT_;aC}Z>^)n)sfON1^fmY{Oby!LWf4-xo}Qk@#vsJSNLZ)^`Wg-Z0L)=F z+)#>eESp$dtbO3XgwIbnO^!wwy^AY%E~G+Apr!J1Yw!6?z&z^b~eDtH#&WJeSQRr z0aY1DXBQ`(HCIUs6fK~V#|d_ZkkmpBUu38Hh(%V`2c!rN1{F^pk>4*Y^8WqBQ!6-R zzP&>yAt6DuU`s2n-TJbtt3gV`YDD~wa45NgHt%tmk&lm(l2TXcG$~Ws*pJd^(L|w0 z{NHPSEB*>aL4L-dwY0K|7vx<6wF%ZW`8UnCmc?Ta z|2~?@a4ZThClWb*x0U5@ipxt0S5^LuIhwgI`6P+Hro1pT1>#OKg>vfDsnrM2Kv zJqu~rzgIaDt_yKqYtdI`{EfFVR!zl5?L8=$nj=zLdKS5aWLWI}?>N_7$p zYqG^t%QeKw-d-PtS{rnf&;~5A9q3P)56lm7%IorpoM~z`OH_h9p|}zYa$ulvZRsj0 z4GHn_ouw_2FjkYhCPJkMXRK?rJL$LNlb{9OnE1wE6r2nG8;h$D^nXyKg1`K$1t8>k zAOg?6m|(WE{sO2jEe#7eD~YgGh4thL2Aj?9>2b&^d)4Os>@4Wq|M}cmEoDWIkqtVN z)B5sUF<>w(1qvUql#ZW9XLvl!?xeLrXY#DOJ3IXqb{gRUt^^GupV;NEHP8nRY+(Hb zd_vg80BbQ_Ij4LgkvLB;8`1ixc11f44gs(Sq57?yfEeV0plfcq7Ssh**>>w^G+zmX zdvE0cvrd0bX?W(KCMQ_M`IkN&-m{32^NL?LSy)-At38r34!KZdN9*Ys3(^CPU)cCU zPJ`q~QW9i;w;O8rhQqE9`n61O%fdQ1SrLAmZBr9>=~0gYA8>Qi1WL+Yi~miqka$Q7 ztE<2N^UtNMI4EP%=~0^y*2a}(#G5?zAFMx%!o%(qc44?dG_PC8(u&!aXdODAo|ze- za53dPp>2HpDsXD{YT<6vzjUn+5}ZSD8PwB3>ih|04Ip!Td=u0n z5!TiJe3zODVkHRJqK;pOgZ3uZ_w`*wvPy*TF=bg(TiY-gpq3&jm`YD)r?}5C$7rJZp{DAN#DtufP70)F%9qnp%R40@D719n3)N*{AKJ7 zAkN%e!cI?IrV!M~tHG2&WX;ab7H(!>;3y<}2sLTtMtP8sVzbH$tO-yg)lO?dj3(iH zaD8)w*Fw)>r={cUs~;~B$?Fv__zvQWDOgFeIb>1+rJFQ^gj?KclgG^-iSygG_$Haq z*&yQ2f#z}<_|4kc}u_2*p)AsGI~vf z%)?>@mxF@XBW?Qx^EZ2zG0ZP`%zt%luAz%hpx51Qzj-DI*TD1w@r}Ja&zX9cxpe+e zJCpP>Nur}z%+!yM-TGT@ky~`aZ0WUK5j+nLG8KOCaU=YE{rcz8ZH_PpI)#6G;Guq= zEj|(ZCn0hu0znLS78X}*K*Y~rYS4!d95{S<1L9Q6pFWk{t{YzI+_C?XiTkBXzxqF| ziR$o9jN#V)BtBK+UGxnYQ`yxBE1S*hVhC2xU-7g27ZTTr;OH)YiXl60@dNdF*^fUC zaK{#Z>65Fb-d-uD_x4-xX*(Vq0Ff%nXj@v|fPkmCdQ%k9>Nk7&p zUFzU_@#3=jM2{3&wb(atY}xOZ0ejB zB5xdfWItZl7?&dxHLr>=piv4P_MJW4dMHl!%iZBH493UHYnW6t+}_56YZ4;6y!T(u zFkRz646S1>&|Y>Lj3oTDKwEP+g33t+H+8M#%a=5I>KUmTTzf$W69EDM<+8JDxs%Jj~&6pz8zb1;H=}^Jiys zDeZ=0?CnCQ`U%?MBqe9c%F1eMRc`2Pn0${xp>=fZ_o`Z0T7D~q@~6-pj$grG{&G+g zq}T!tyLfo`<+Eqc7W4#>mYd|KB#`Iqx_p2pUxfG^dKFSD?yS|&kb9d4uEJeZ@Q&3V zid%n!UZ?DA@4_yrbWrE4EG?Z#;g`Xd{tZa1*vB5A@bqqmf&@|bf?5h}isb4#QJ3`# zo&s5t_JG1nd9+1VRu&u`>Y;1{=spv6P=)SXK8R?n7tWRS2gpUTXbgY2bvE^B6*cZ* zn2%2`lnT@Lev%v*82F+|#tES|%lu7OBS1e?#x7jQ>lnRgTV3z4XA@KkK-FfkKths6 zr1l86>AiPAfUB=>a9|)<#O=N$fu`;58lIV%sXZyBF|{)8D+jfbceeEIZuH^9YpZ@u zYqGSs?_Bz3lUNX{;5Z_+T6sdyjnut+_wGlJ>JybBHGegwKDKa&$(?%w#X0%y+hIIu z;dp8vfTA@w3%cIqgJMiB!q8q`EnA}z)8oRRWe%l^vuY`XHi42ReoieV4XSl1<`8qH z0}z)5V3Q!Vt_5G`@p|ZVdb{;5sdOK02-ZrH5ihmW4aKB1SH>~ReM_WHOe%jJoz>Xm zYKztGakR5dRo=e6C{WDh^9numx>xNgRdnUbDAb(Tl_pO$^z{qhy|dj96*PeocbfMt z`#LmueM-sXocv_70fgWQ2n}IaelGwjyAZ-0Ud;*iAt@YHpp8sLpmrhb2jQfs(9pNo z_1kN(5Unxhg&1u z5RCasJLz8w2B872u27_8ms{qvdTIejRYpezoHKmYp_pe~aD*B1_MNSoYGYgrb@lWw zb%GY2EOfO8jzAzpL@Yin_>|K_)WxF)_o>>>OOeev&A*a&#W_QE?Sl&Eg+lu0@_r_8 z`gwH<6qJ`%I$>}&zio1@am=+Q#2?dS-%S;GZ~fp|qHUvlp$Otsvr0?jHP=-XM87>X zU8$Zx4CI4K9js$xg9K%-GHb$Y?}uz)aCCIM#t>9->YzYqaq0pLKR*>F+8gkxV4t>5 zNkv838|asjSINXe7!tIx6obxXN@;2W-s1G2VGzU}=mpEOmL!dE-ZMFzQbBVQ!Z5>$ zzgsmP3|(+b1O{z*zOb3`v8KlT*;!6Cp6>vCU<;32ue~{ECupSeli9OrT@1uzxdvbr zfD2Pk_IruGTLt22NX7DdyS&(^z#p+3n@VBz87bdkO%rxpnkGUQ#q>SeyK75J^94X~ z2^6Fp+7h$6=jLTAxHQlXs&;mjPoIU(F|v7lLc*g4$pZ_q^aoAQso8&9IcjRUR=KIs zV!nB^Se7#wtmE~wgviKw-(1Q?R<-yN!I{4s`dDvT?AFxL(SZVNimFo*WW4i?%HV+- zmBD}$;o`mHa32l&Wgr6p#jkrjc*m_{+0!dMbG@qpgdlWIUw>x+`05s((DA9p1EI&5 zt`T|9oSO2yKI;TV$NK<<+vetcv9)k;T0rg5=n}{sm!4gP@By`aFE1}JExa6vyEeO_ z{_tzm^i#vcf5AC91p%Gu9+JvTklMwq@1%nB+N&{X7mXE-dv14_t{D9qBA1T%8ok(rTkS6vR3 zyp2zGz4pCI7X9wpKsaxv%>(&z0CYTQs9^1ZE7O2DL7`GY;x^=q4p5-}`0=9&&#ese zc_&g;w@S-M=d1Uud+T&G^QF&uhztzi5C_ocke#MfL6^W@$I7UsZ$%b35%#X@Gb+KQ{-})T-`!_d;-abMrxY=!^_{2#TgO5f!4B0r2MM3m$rn z$X=LED$$MCNUAef93O;KrKRN|L<*pIK`{$b2)X;-hOnrpC=ZViz@zvmo2RFtv7t14 zw!X8I6@$M7I;yDB(_7)VVCp|ms6&0n1pFfXAQW|pvFF>%wh`WKp&(F(3QJg^cxb*iFJz}z{ zxw%F%*cYLKj4rrHw%YX?#7k&8E;FV6^2;ya>d(%;v`zmrQ-rl$NS4{RZ6C?WnL}4B zR0%1J)F$_woSXtEyoW*Hg?7$eD_6yX+Xsa8fswU&LrjE1YrN#_iEUJR_F`Z8dwMs0YO|+1yCi#?6a8d zp^xQR1=#P`1hluv9Py^V0dRARZ)wbVez!x)4kL`r}g5g@#SY$#?*RTq}^5HX8YBCO2ROa_+! z?c+y5o@?O76THzN4sYpD&qLFJj-LZQJ$22k(|a~WeTRY`d?!?f9FyxVL5T6d)80yf z!Tnp~Blkjbto8v~M||n!DAXruy>_NEk3)eT6)=$xU^xyq9n|Kh&6MfyXTylLQdKL} z5rY|EbH*muJX5a*pFTA%7H!wScDiU!Xmj7iJaG;?_FT)Zl7De4RB>!mO7Vl!`FBq%C z=CS2P6yz_(yK7bmU%yg|z92C2|GM{Zz_OtB{$KuQB9_(1I*Edbl6PQ7&y4N6FZefN zyG9U*5M+xmK|^pcIN@Skb_&F=A7B62mLKNu!wr6*!w*#a5e$sgq4zlRjTO!)k< i%tnFOATCIT#E=)!@8yhi3|-}1u>*MiwP2?p*y&c;`wjl_z zq( z{f2bK4b{rW!Rn8NV`<4#<`%}2nI|$$^uL+73&g%|nM}>ibZN>lb_mhT$T)v1`=88r zM{kw&EhkXo%&o6S!@Llr|Mj5*o4-7~hwNbeqJ4CW)8-#+_iJ;oe&Od~6JfoEUgK_L zy&_dQp`5JOeS+-AS+7VQe;OO>^9?3e?fK#&UBR=Kp|w7;E@4-B8Zrih($q+?VJ;GN~|cb`Yht zwf)Cfw9Q(V)_Mtcdb+`Z^JRS-bFLlh<{EG~q5fc?029aTn%;Vg?$Jj=F;_`H~P@r(;5lCpN2n%vE~DwJq?-Pdr1ernRs>T{(hErgtHtPCy#ichb)QXYDe%USRH-d@Bl~h+&jabdvh{JzcviF?-uY0rC2SOX- z&mDYr-mx>(y~(*?X_*gN!%*eZp`2(_BO@a$)oH89v92I;E%trsO4zVF*mG%S>QH$y3x_3MfxzKr>ht;xvEt@>oYh^i8-Z>^S^aYnTqQvCc|U>_w^M%UVlQ>|Ixz}cRmzI4tmiQ>U9FCW-;9=rSaUN) zt0f;JL;LSh;|(jx*%;+%#|F-NFfuA>*pQX=z?@k)Et{hRMtHV|o==`ueEE7o&=(t7 z0%LSNll7bn8g+6xJGEuTMn`KMlsa6c*#q!>@1CE&3CB#!eoMoNC#}+-&L^~NTo(PX zrDp5u&5XGV(R0|MqNl148BPuZv_LLJ=^)l(bF#>ok*!RJRS*E@ZFul zH@0Y=X^c1Vb14WU_j1Q%c+U)NSui_P#?S8K;o*Vq>FVoCsCVGxHB=K7V{UP=G(=JMm^K5V|7SVbRDOr(|W6GYn4Nn-bx|G zshgOKmAwbSR5t$G(BviD_~L5PZd$vVs(^w?4&K?Jfm*4NF>g=?( zvFYoSZFeqsQ9R#%zl>bo_w(n^!wGf!wIjA`C@DQNkcK%u-kej)k^EsYxpR1Ucs1~j zhsU%}^L+d9q1@T1Hs3A&w$(XaKQlhQpr@y2P=iA&O*iBE zQ9*w{zir`pv$HxjHa1(d{Wp=Ov%QPIUfDYUY4L1%NbSEg}da`JbY zcjWzzt!!xA?^)PkvE`P%AxjhVsi`Th>)wNl6$xgtZdYYny=l@lH9XG;k&%GSu<7&A zG^e1rSg_a7jriH0zwG_YkOr1fYMO&nL)|>d8`=OF8UQkxx9#I~b#g8)sDsR#M`@6-3(G`=?5}doUQT5CSK^I-0JLm`*yZ9K~Fr(G)G<@e}8!=B7SPq zBmA0ORT7>*_xG2(90BH)$Iqo*11A}v=SFTpBic#ZD4$hSR4!!Vc|(-ioC|b96%ypD z*c!LO$h~LrrZ$$Ck7d@65k&QD>sasDm^rcIG1{DL&9?*1p0)v|Sz6#gEO`GuV7Yfg z&3}4NlqeKjS#TIyKWO@yc0zqC|9Fwa*cutE@eJ{%e4}(~Mh)IH$E0(0qHS`~w#f@h zq^ui`j$oF)wO0rZ#L@H8+FYzD^3)J1u@V}ZA+3(82Y+_T_K~~^A8+!CAp5MT3(VEk zK(cjgu`b>;3UTrVBl3_HLog@T)?3G6HC;v14>;Y<{DJJ#EGdcioGQ;ry%Ro-Vo$4Q z&H1Tr#>w)T{@KAA#i;=A<6LCl@iw>dQyfT@J(y82`RCO^O4H5I-m#TQK{hnF`6m=l z1R96cWX@1C9Egj}Myje0^)u%t)%;N^D)p!Qi8DpzlD$jI7J3!pZ|Hk!%%&voXt9MB z8RJchii$E6h(x0386=-*vIQaR8Jl0P2oo~v4QOgJrMFPrdrI$+FYS#Q;pNgJk(!)- z@SUj0o3)-CG0tdmJhT)7yMFGKAqNk0`E z6Qk?%c1EbjRYfj-Y{~GwMMqB$-o#n2ht%p^Mz{A?dU{SWe&qWnZIz^Yd*v`XMp~Ia zm!|;Dj+F7IJ_~oe?lFgXH}49;(nBjbKL&9!f^#73erD^$I=GOWj1=SS^-;&7(_s># zq9J;a?sjQipa|8!aEUiuYOLz1iR_-hg_)U4 zH(gzwoQ{b(KXB=eLeh-4%3$O!oBh-3+&Ttl(pUyIWv!6^CHzZ2wX2~M^CwsEbak{* z_4iXn5(^}}~!L*{;6myQz_7M9rIk&)5i+GcPZ zv653i^SrLhszk^pr*#{xyplf39lCT-n`1^GqJ+0WQ9We+SBlN(by>IIrH;uY6d{7s z?XLpy@F}sFWgT8?bMw1p`IdOo$~)89hbttPGd;5EG95kOsHw*6`A679LJ2%6cS3H?QY$@reP>RD9OnwA^+u0NMg;C{ zGOf7he#g$v_m=!myh*QHc=WOmqa<1?{cMDQhKdUM&p#!4SIOK$q3&M!9Uk&ywn0Iy z=J>Y0K1sI52e3sUNrB{$X~ue-j8R{fCN|rov)Fenz^G#9X*tKfrm4U1&8A1X+1lDs z6)DsSSHIo7Y7j5l+uCrN!F~`iBWHCyJP2xgke)Pid{rLfs_53fkb+_vZH~=(mrJRW za5mR4>npX9KWHO*-i_&}`bc*NcX>BDS~}Hd8jp^)(B$NxfG4Ut_^R`h%dEG{sBE*# zNKmj6lT>`&GRlphAzyD?BIu%}Dz3CR7ogSEe|0NstAXLJJgxM_Y1st$crDVesam2_ z!x(M#<5E(?X_Qx<2BI;pIE^62LdQJhEh6?|m#d1IX}ih=i@3N!vo~)zx#po#U=KCi z-M}BQ)H%e4Mq}P|{_N8_C#?~;#YqcnHKM|Ml}`UsW0YEz|9KVMk!a!XZpnOo=@?gV z;r;U2*4BcESP2jJ=Y~t&r{7iF3Ba2Mf%&X_P_!xzpwAuRInB}dG)6EqSFdN%DgOQN z=g%R#fz;`Y#`Pd#5JCd4M$#(cD=)zhA!@-!@MUuMBE(^y?S!32^5N= zX5jj--GxbAowC@#AL#H3K81B(0)fD6^9Ww;|D556%h@)HxqEjgLTmkKcXZ|Dz%7XQ z!3CP1`gzQNPPo>~P|masV3n*UotEyhEYIgdPgCmsAqe8`?#~ZsChHREzeb6bpJ}!h zyqe{Qy9=PeQS+Y)X3%vqjiZq?DKWQC7Fyv)?h!qhPquP~7J|3<5ITiQcvI)py|PUh z3(DS&lHYrKtyRZ8m!~!ge|pT|@6R9Rlhh~+UYjx{P4xbu?dVkSgLaxr54P+HcyuNt z^oojsreaDK+5WSTcjK~($~&&$PTBaeo*-OA`Kmcy(D#)Ck(6J$-r-mjB`V5$h0V#I zn)iKG)Q0+0JWZapKX0uGePn-TQ$~&C%$}6Y<~GM7cY;v;DO@USutm|ddeBlS(WX{( z>N2&v8gJp>-WFv|+^$_hoZ5m+8isO?prduYVMk`Ees1+6mGmaD1#$1jEc>9KwT7Oc z3m58oj-B)MneHrJ?3iqAJ>jSd`A6a_;^e`8T-!gpU37V>2fH#eE1dlVyuts`*_=aF zIhMV!XzRCmmr)(P9i*UT#WenMCp(U+RgDzUbX3RZnb)X!mh&@5P$aee_e=_ON&{QV9fPJpmz zfRi0~WSpIUNEPY)8%~if5?#GsF;Gzv=D8o8!^_L7pV>Uw1(|a4e1MXUPsr**M@EfN zL+AIkQ6AKn&cHi&W^Zn6XYN8mg~Yj>s3*GFM}59cB8_jhIEC_>5!$tIHkgHx^A_(u zd8%@4bWAQTzA8}dz4DQ*y&WZ}WGjDTjPGS)LV~(% z8{ydN@POyojdH)z+q|?J?jBqMR;ss@Hq|)HEr5;;wFci0=c&bKlSxJfL z>_y04L|Wa0G&Uz5IE=Vj$d(Cpi%V~$kk02|U;ATBd#_nqVt!7^d6cp;PSLchtECY&r$5RzM{@EF-^5opXIl86))ae%n(h(6{^6>dK)^1$VyxbJ}A1r{- z&et9svi>^E#hg^S(Sh$WMTNveLy})=N$3iixfpISL7&g;>CxYUI9i;e?AKmiUe@c8 ziL3qPMdA+igWe>ctef#Cl$1_Oq@BLGjVVxqLZoqhuD?_9XK%-K8^uTS9=C#mY6KII z{P40e#^=u%A>LDbe0;w1tL;b%)ap(i5kv}3Q9W?s;{{Uz)#Nb7#M0&4@#f4Js4aay zzM8eJ>T)VDm#dRY2_EJQZFq8S;r{Lm^d%Bre+*&2soRVt5+;(wu(_jx(R!pkr-M;;dm2})_v4?QlJS2n3G0*nT z6q=+)V0Sq2lZ8bWuBZ6Q(U)PGJ|E8yRy!1!M+XE^`$QRevEYhgoG;=KvqZqX$| ziG(Z}5fPE^LtZ^Z0Uwp5NW=*XA$0AwO49NaMGLd=v16k5kWftfz{*5h%3>}qjMq_0 z<-(!L{^_GXXix-mBMqfKXsg4I{c8Dr4m{l}DhjOtYlx(+1+xs=yiuz94q^0|d-_MH z?fj>@~?tdX~bbrPi-}z#l@~(zCK0ot&IJk4gF#4^I2o+aLVh*G#@{a_VMc zSYZ#EvdW=Y)P*AVo+IwAK91V11?D+9E^BLTeF2J8#ub2?5Y_qS(S={X?4ecu(Nuv7 zV658%)bM*Kw+z!9tY-NPbdHT;Qf047$zb&AMW9XDScA!0KMj4V6_quRVxO=qV0%^d|21jhl&{ zo|X#%HNq^CycB$#K@QISJ{>nIuc@9f?I7swADnGAz+lKxHvELoabkQj<6G>i^ot6>eVZj-u zE?97w;K4IL#`kMqphHwWbKp-EmCo}Qu0quaPutGNcNXyxWE1J1Kts{|xl*q!I3(Kh zoze+kdS@#M_V#Vv#Pqb8Z0p0gMpu=14AOZ)buomoPHJj;${X;SmLugW~xl&0@ zUKn=B4z}4HZy-%cN!reawtR?;sKUao@2(hFU$=cr*?(HER7Z87*z4BVSS!h=_=04E zZ2Y4?(v0*~o%m3177Y+5wT+Dp*t_kqH!_VaR7PeVyW84gY;9ku(Y7MR_i)pQqv68_ zmPe?pt((`{dpWFr>+UvaZ=N8^Z=)N&Nn4s7@#-Fi-_%J5D{S{!|SPjJweR z$A*4^?C>o7F}4^^{~}|Q`VWQh)G!Nv92~PM!{0_tPPQH}Y+#fjJG4tg_Nuxz*4o(ix*W$kbiUSaYy|JxwQF$jk2-h6hmUIpk+gnGnV;u@3e^;6Gw8W=ca^n5 ziPDg&zjn&h;kRl#a;KmY>I{u+IsnA6vI4(Rr}LSB3MX7-;*s;AH(LBXV?QuOP;8&Dbyb0{{0{8O*bHzGcN zd*-5(>J2VloSd2xjQUbvZ=BPLuHT+=?w}W`dnI5$jc00mOk8-@D%>&x^*-O@7SPOmJ(IMZ5Q8`r`?St_WhsF)vhpO~0{$a1ay0WV)R znLK*$-uJIxzs}6u2td%@5z0N*qOS3WzZ`IWsF{4T>DBkR!U4xBq^cPGV;qz zz~5Dqi2@7fM@R4YY}c;YW|Z^b!2>T6w99?qqCbCjcXXVb6{3bmG#fbV^PzqI{Q2I! z5Jek~eNZ%MKAb7V-n=`R%tnE6b?fGq%^JI{Y&9C59*b{@SmEoN_q9kSr}I(wza zGY8sEh?VH6-rz;OsdPY!^#l4Zh;Q9A%gz|C^|003e z-k2C1`P$ylDPQ$=vHNu#96OQZ-CX8K)@$e>6_3895E2Zt9335Vty8Yz`p!TG-TU=S z@_o+)T-iZOlxxqef3RJAmgO4?2}O15YdoVQY?=)Vom9QUd!5bj zv_eA3osB_^Cc%^Z11ikS95dQ?&GL9p|8MqOG40O3g2j5DC9*Nq0opZ8KB64j!e3#U zeryS!gj|Y-a4>l>P-8&j{zEMlw1}IByT^1lDM-uN zf@Ilt9T3NUgFA2eJoRHle5h)D4CoN2z|H~MJ|l)N{quzHT|d7!sFaw1AUKi^S3gI` zc8#%M7)xCVb4in%79rRsm{B-%3&@O5*QFpIrYa7n5wNQr_)FU}auW=s9p4bX*Vn&k zk%;ZREE}J^SJKA9!lhu#h(Ah6NvW|9i@6I3sk24HX@H>}qfdY-wkGTd^nBmd9%h); zqO9CPB({vr2g&Z%DxQH4R8>Be{lukWy|?`CV4!9n-Meu=+6V$=pl{p6eB=e`T{OjH zQK&uwME7?X85-`zg26nDg~i-EB%m=k7!D|$|B}GAnsH5=613yeNol|*({DUmp4`s+ zK-BFhXn*&qz+OePx3nl*AI7X%pwPa&=pVG~>?O-E(+^ z8Z1tT!UWx6g2G-u(`tB7?jg;>P%~EUdw!`(y1K@r_oJrj&tC6F2+@g&a^A!iKXLVok!J?xhNA2; zGMdL+AYBr@l{Yr3acuoP;R~fjMa%2-dFaM$^Y*fRl6%OGI5t&P1sJ`ewc*tuv0WC` zmyQDzE!QgP3eLzzB`GB_rFX;C--94H`&Z)#1&A5+t0s<5B`zvS@B;(}un>TrySW7i z1iU6tqI!{lt-$X&HqDAHM2q5n&C}oZKm_mT7$uQ}7wKWD<_4IFZjv|q_=V{0d~ouH znG+h^$n=3chEmf|arnACu9Wy)PtvM>XrhH1@sQ6S2E2ZxX%On?%x2RZ z5GN!6GNBXS+i|-tVTz3(MZAqTnjLuhB3ZRt25;3iz}@5RF#K)ey8$HaQ{l}bh8z=9 zrhq+HJ+)UldBXR$kI$I|uF#^Z1XNpF+oLZ7z1H%-hK01!n^f2DV>E?QKkFhhdnEQE z4aKuM)ZzMZlI7B4Gop#?35YK4es7A*f*CUv*B?cTViy03jJ7qW!T+t@6SY6F!C|a53dHQRjTwL6)p6;|ttwbmdVzr7LMjerW z(>4mr>;0cAfn6iOZ-MdpCytMETxmowphj<$2>FrbVNG#RZo2*q@W=9j;yeQv9BPEHQKEo2L#2dT|(Zb-~WVT~%Z>s(HiGeqLwcLb#4lv~U+ z86z)!eJN$ISW%Sb)*a|EX+0vPy#a@tsF>qLJPzd#L;smElq%`&7GHjcL~ECeFZA>G zmqJu+Z|q2`zt5@hr}abk5U=qia!N`HUqMwbB(@(D6OTJ+et)XIVE&48q4MSf5HKuv zvM_sw^2=$7-dR=kF&>5VpQwndb@nA(>pmGAsLYWu;$w*?eZNu$U_6b8nSiL zJqK51z@oyc3cwnJZ;f@fULV&iN=Q#n_vk4Np{|n}dgG2gJqImPPwCxYFRzLTWu#R1 z@E0h_d3d7g>MqD!g|hvv6;R!-e;+`Ov4Ace)1+iEzFB(PWC>KZO-J-06SbH@n-HC! zpW&)9Un?WIytu3pvYyXk8fDg7UcA`L9O-OLPd`PZATzRSYXBG7R1W?OH6G|q+^WQ1B-GhN<2?{c5{Z8dQAG+v17Q^!qqk+kUWDwUHb zo8m?Q@oZRHGTcqfDE1#3YZWF^CZ}cyUV*Z4;@7SPTsrFRQ~mTN1T5$?M+g2`HbMg8 zp;6%vugt)Hi*QL<&(5XiD#H5Gn4{Q>FuQk^9FkUbK1%0a2~0 z$^H3Y82xj2_!mbCu6;auslGAW#M#w#0a{Nmn+EG%5v2EeMiUU1ii(P6IYF}*HLw?< zY9y;A)py3Tr6oa2<)-*|RbyJY?|e1B>rVZth)*aD4PRe(g_NaFO(!cf9B-sC2V)64 z`1mve*X^Mz6Bh-XgoL3t4_!#8SQcPI6uC(xO9cWRpP+A%^*l8;JWDVsDHGa}ee7u# zK&_I|_*cS@DWqV~?bPDf14|hM^;Hh)e>E(ehJk<9ywQ*ULgy)9dvQXr# zVF0*D4oplfvz-w}tYy{TOixbY-@S8lcLx@b&+83Plt<<9057OLM116ru%(?Aqnwh& zf7vOr5LtgJ%Q!m`s&qob1D>7YvfX#RND~l+#c_w#gH|zjZxxv4oOQe=n1QBZ>(S@SMfd~Q3LPYS>7ElWeJKVOl?H2ru^qjwljELF1`*LTaZ89#ARUetX zQP^yOdiEt62v%1=ht%`ENVZDzLSEBAJ53cH^TSo8 zsPG%a0P0ri^?;iI+?ZQfNJ>a-i|yHo^ypneMh-e|?2@cthyy9g(Hl zS5{S3ef@eaJ0CDX0bZfyrGM7eBsEVjFD^bH08&3&aZMFdkN`TA!|DM1co5#bd$0_x zzoTxZ@pWr!II(AXo}mh_k03rT8`ET@t1H6+9(-UIJCbsL1T*w4zN6#zB8f*_p3p5i zb=J-KW$yz93mWl-!SnD_D_y-Xaws$hX8y&yT zy5G;p0GvgWJ+1ERHY6qc(q2|k&Emn`R|<0uAKWY~%=jE}U&?X?r?yH-RfdJpv$N|g zhUPjuJF5ZRD{gl_VV4rg`-gg>!NStg4!#`^cqPgnKuKvLd+YNKBp~}z@@aqG*dGPv z8{gff#mc@m)^KquW&e#2V=In=h@U7BSp_XEw_nk8w|qjMEid{EZB*`xH*ri^OF+p7 z$m8CIi-v&BHk*=6WW&{3ry8cL@qT~lk!s@FsanSa4r?i?CsSw@SPfWTI!lydv3~-X z3tYznW}?4;UvjMkbYh~S(a4B2z9nx@0#oT@gp4es5{$S>FPi2tO=$W4)4bu-6N?`NSJ&|L(U*!eOMHWZf@oiixEJq2jZ~21{pQkLBNmg@|2n)I zQ`+rKvUIOmSkD9jl&`Ow^O%>aD5zEbSpUd1vJLQhI~3FfLtZxHVWSJwVhU8_W6H=U z;oV;IQ|?35N;SW{4cwV}cAxAds^3suY~eFk62nX)nW4I0bQQONpjU0tGV zh-dZ0l8?8fPJOYiIO3#d&^+(TM-fAS}B3O^HRAnV-XBT3$5b%$cXx;UJ7%r-oYDWPyzMPhUVjR(N^aIKzRT_dHVkJ9_<=vV4%mX z{Mpw>Fp;IC%1=&A_^iJaRoqq(Y-i_fZ*LEc9(&qp$UvaWWxKxs92V@{_+sD>JiyFz zb6(QQH#`JF4T1H67I*Zds;ZMpQo0)Cb4Ui0)Ba5`RsorOMK*q0_+LHTZ0Kj3Ql+ee zuYt5IEiANF@bIrR4D)!^>I_f-A209k8bECGI-{+>r|0_;3y6!oowEK^FAAXu>iptj zztQHiryG$JJr*<&8UVg(oA)so2=8Z|uIdi-z$#fFWXJg^Dk!){OCg3kX8 zEi>~_okn@Ner9oTvC0YG4*uiXj?m4)p@|2Ry1nzRy=xcUIW6D)8cY$;YK$g`IanGh z5N!(8Bn{&U1PInH?#XF^=kK;$)QWV#E%oWNCB(kmDvDSQDCy7u;{q@+XeoWFW{ zQa}*{st>RSl+$sMbhY1A&CaY>t(_hP=FjhOI{8Pkblw4=2wR-!Xa>DWEA5J@f`=ZG ze{yrDtz{swEH9gT4=%v;fS&x#oxzCX3kwUox3Tcyhb>nX5~99b9FaAW3Mje4!ongmpm{8Qy8#j4!lzH4!l$xL9(}RhqTTh|^pg(7)z;QVfe^aSoI4FU!`H>MP5LQmCYebpFT;gsn%6aG^jd)R#iP54-YH? z<`MJ>usDx@0Nt(#pZAkezXcw6>sCRN6Y%fQKfynHbu@93V&5$u4*m@emrD==nh-wu zTV(06KgBRQRtV0i>WFiJ`IiAuuEhd@{`;XRu#U*czxIz@G0irCh7x*H&_qQ1ex}UR zbC08=7lCt3e)S|3&V)5v#or$+U@-3GC3A-=8*RFye?r~Rw(vhsH)gp)3FPaG zZ*@M4B)k2dXUXQSa&fLo88&_Xd@Ao6z`l`)YS(X@R)n5#aBvVjcXKkWt&0vV{6G(F zsy;sjjgF2U*}aX9Q5f)XgCFz0yg`~K6 zo+$N5R}Y>=5dX!gO5A*$DjQVlUS5#x6$f?$6jE5o;+@$%rNQ8|i`MF$={8oy<$DSQ zmC4v4OTYT4tjJfADzZ$!TX)s+m=^V9Eek7b+dq1U$Bi3lef$ffIV>A;VPP`;6QJn~ z&0P{Idd`>`l;oAU(udoyVpeufi`yi_&s>iRUQ04oIw|;(cgtAAuc!dZHml@(1F0`S+EC$iTqB4~YgWzSP=nVQG0- zYc)6{dm*76(q+TORc+anxZiagED5F){HpsMz3rBRMAWth3HxUM-vsf?1MdAv zpv2$4W5>|^U7kD1A0R0#F8YF%B%d(c&W`kqoB5#_c~5y1t(ivAR*cFuzE_1;u>A5x z)P&&bg|iyispfhi0+UwrhEWtqpB|TF%?q89`eJWiPtWb+$sf@gpb@>+Eha3S$9M2k zB1;e6GrsJo$NcrJLQ}pZ z=fVj&1Ozzw`1ttx)@x6V0zJ94M=PODTEKb?I5BVp(B~(1kMuEDid0@k6YxuGc2N(4 z0nPi31#HmgJ1{@ooeKh`1k(E2L3hv0o{UiJl`D&H;FVFo%h_u(k`8t|H0KB0_`~Z; zi7;UaNyT4Y5b*ln&5CVaeORqn#96N=F-K+oZ&Z`NJ~W_r4}mX;U8t60nVG`Kt2Tz=r-`uofDOkKK}^N=TfdQx(O z)cZNAwwJqKo<&j7!$B1Fa4&>qBZJ2g-#nTeLx~1(>jZ=rrSThwotG0Pwl&J+a!l>{ z#ASAr#RU9tE;wNLb=HegS$P^zq4ZN0-W>gpiCegkPy4wDrC-VH0obsJImk8-}C1xdb+#Bqb1_$k=q@<{((TLM7c$0QlK<~Sa zB2Z164rZ2{=d`}8FT5MMY_GJjys#topt|@U=)T6r{*jT9xw*N|r>aUoXeqaQTe_yj zlyKT)Ks6uIDB-tcf$QFI=~_!6J{rL$o72a`lXhxnjgO8Bi;Bv}>$i@9pn@A^1<<;% zu)^-@4;}ALpped|pxi?ysaRQppK&nna8dy!$$Wd`9!^e}pd zwb$kbMUga(gF%6>Vu;g2BijDw4hB|NSA*iD3aCp!@s**^+N?+1uK&e>r0udCuU}to z(PBgm#cSoMGbOD)G8A{eDO=6KF4Q_QzYG&`-?lR&gf!_5+99ONYZMf2LsX8ZscU7| zE^lVzS9;jUje_e;AzU9ssgss>_qQ(NtQl>t9@3T!l$j7Cr=CVA7D!`>Wk6mJO_2jp zc-9{@_lZ98%&d(9;Xxg< zjpR~pdSs)!vTxlF%fKen#hHu4%^QJ3JD9t)P99rOylBAei7KDPniMidzJ6h@ev1wE zStf*!GrNb9mYqwOeOy?%^+e`)ci-Y|-?gG8xKVR!OXK2$nB7rd9-4tO)((AuU9GIF z9L=`}&H2&KY)Io$$SudgWeT(2XxXpKZ$sN?fMQilkJV!2|8&03x3(+Nrl-g9b{p2$ z-;R8p+4)jJD_+>TgiiD(b5Q57KGap4Xdsd=1vjrz@|t7pB-#z2zkC`w`E)b%mA9#A%_J~d+SURi}}twxLj{ZXxJ zK`TOp^`GShA6A&6V$8g?KIRzVfe~YF9;<>{&A;5G_LJ#u!#E$TXsKEjl5S1M{;JMh zyk%Xg#NK}n0QZ;0`T6-Dh{RpKWKZe*@^Xk=ixT<~Jdi9kQa;kyv{9@ah;GwT_MiB)3YHSRF|ZKJOr_f>P8V6P zI$9epGdrSC%#_wIgM2pTTVHd8nw>uw2pq?i?1hR7Tb9QD>f7(5K7p>TKA6(R_V$Ex z0l_N2TMTrI(e~}`(?w-sSjOzV&rzcc+)HNsAm3>zhMukhMjmuh2Om6(pzz5UEA}lM z`9Uj3uk9*-U$Ed9WmFNtQ=q@1eC4u{GMZbmVTo7W*@R^upUmuui2z^$5C`$^?b;?A zo&F>h>X&*o4j*;eURZLA(X9yVC3!5JYMi0+!eGP1LDjNB`k7Xuu(^9%*^&i=%p=){ zpJY&LwAPIjdN6sXm)tJ)P#ty8{@_ za#BdyfkXpCgU8EDOS)FlPtO5s3_T-N{XArAwxH_Vsc{o9hdDIG>A|WiCnwWW5v-bCku5JS zUdM8bc%?T#(6LbPXdhpEd*%N7kmKD}pznfv55!?k?F5$Hcb-;wTDn#{z23Q8TSNQ$u+s+C1l;3`7hi`y>_mRv=O4K-S+ez} z>XMUqSDzNQ$E4rE<`!?&x;S+Kg%@}4UHPv|gh=Pbg5sk0?>|C?SU{ZVRy;$4yGy5y zjWQpXu+2zG2p|nlpa&xoEqZzVDwwkI`XAp!4-02xOi9LQtgZzTJ6su;6cYHDw0&EU z{&-H#RoJ0TrVKJPRrm(nL=Y9-(HHI*j9{X$VzadjPX=>WucKR{g0jZ}Ef#r$dcs7%M&k3}%po(#IcLzQqqfj8VGkie(&p)jX zKfXRC9GU<>j+Nq|;vNAE)Y1TwU`A(pfSQ3SFZb52dIWO)iJ!S0jM^bl?SwGm{CAYQZl=y}uK z&*4Uz7CX|<1E&sXNM)rIz#@)VRK=4dV0!5Dw7I)-c($1x>V^nrFZH9Xo7)D1#smCe zO5Pwn>1S7t24>~0Io`TN1$A6?l$q*j^Bfs8yDBMs?06Uw=Q zz*X7j31(B>)zww<+A_#=e#BR>wVIMJw1$nsE(b1TpK1Eo10<#1AwyX@(cpn1 z?C(-@W)#F<0IWPfDz54_G`EyevJ9G&V#lFqq44QoZ*S#pUY3FuHX%4TcyQ3ssbv_n z6?H>z-Y6Iu*$9h>)st3d^w8x$=_Qe%PXr-Y)uaPdiiaD^KQm4f|)iU?Ys z)y4`lrDMlD;fP42#M#-u7PfyX$>Ti!X>@C?FF+pvumPfQ0Mt|)psN+E=GiqE&Kh9U zXLX(K4J805^n&+MUG|EIsQbImZO`Rm*A9Xv#gNj_Fa;74hn7#%eV21uX*3}&uK5kW z%UsBc&et+IFKmq)B-4MW=Xn7F3#MMIYD!9$ASs9V}BGQOt!F9>P;$nC5pb&7J zaH|(e6gFfgyz#G^ni?b8_TUx5Z+RaGC=3k^-%^m|eSEU;u^i0dfj=M%089bfE4Bn0 z0LKZ z$jC_jOp%tH5vV`GqbWGP={SH;kU!sV;retN?B32>d7u?|T?PaA!cRgv`yhI3^N`Ve zA;$Ow+9(!_>#nj+2Sb?slWm8m$kLMYsj8f-%S&U6fe@KlpE1t<0ki=i#sP13r#$KH zUHJL)+KL^}WCxIki9q0rKx09?z4o~s6t560KSh1$_&zf7_1m{G=#Upeph0hJyp(?I zdEKpx8XTTzmK>+iN#&j5Y#_d^OqUOtd3EU#a0$R^z=i~xZEm)KVT{l=FaSfA0!c(C zID{D)-{9x@p3uaBl$v0%%&Id~xREpcUi2pDLYq7!f&Z8qACE@*eW3fz(!p>d{Z`=* zK}uCjx-Oeg)HmiYP9WU@(IkUWwyUp}AL+fniAp$HZ3@`zS@A!~V~!qq21IKCUS8@+ z1>MSsI1qwb|4ZbeU00g+F?v{zjGe5TkU$IQLEhe4$gs>1I)2Pg$x zZ6~zbES>}f1CNjbFqaWLZQV%!(M>!mO#`IXd3kw5LqkFlX{@7;h}aem*Q(-E*;Lgw zyLutOXlsc(cd(oF z*T&0G%6p0caQ8K5C*iq)^t1C>X8~1A%XqsV$w~*@WlP&bGoD3K5lS5XjEJAv!KS(c z^q6oeI|+jB=}$(X2S+wR+$_M&Vz=|@!F~Ucw^v!PR$8U%4=&XmpoGPg^7n!gkb8l; z#QHvv&<4N>lAlqj=@Wv(*g`&G^gvPFkXLwKUTSK!;>Zw!@SbCRcVH?D+Z;IxL1k1}>^rC!f`G3H z%c3+G0Asp2^cfgBdt0k7rgWxB&rF^(g)*c`|CIr3^cEQ2=P)1&9I9AGcWVxjqo*_N zbU4LRRnPzFZMN&2aICW*xW@Bs2!lUd*x0YoZ~`C4F~S z7w9dH6hA*d!1G`6?kVd4wLx~B&}qL-q#RED4~S5Ft~YMnaCdi@>#l+;IdB&Qp!L>H zzE?5)#on^#7i1gsDW@TM+{tm3I; zZwg#{1wzZl!{NpaPbW{1=zDq|!yMLNeZB}1S;M0z>B@QyIIVWq!lk8u3e3q(PWg7B zz!O9Ig>sa8=K#)_}}>ziYw(mNp_;#H<8eLM?#pv z8C>iauI>9MS{cr^@4vqB@yTYiLy&WuAT5F%+zdzvBCr{}5M=8n2#bXNj=_lbCOrYM z=D+vjRUSy`4|A6Wl4K3C@_<d_fGV#Qd=soD1S9#KQ|O|Fg~ef9$UP`}F@& z_WJM6|GV=LjQ*RW (0.0, 0.0), }; - let scale = self.get_scale(); let translation = self .surfaces .get_render_context_translation(self.render_area, scale); let canvas = self.surfaces.canvas(target_surface); - canvas.save(); - canvas.reset_matrix(); // If the crop includes shadows/blur (extrect pixels outside the fill/stroke // silhouette), do NOT apply the silhouette clip or we'd cut those pixels. let should_clip_crop = element.shadows.is_empty() && element.blur.is_none(); diff --git a/render-wasm/src/shapes.rs b/render-wasm/src/shapes.rs index cb45ba7df3..0a5981ccb8 100644 --- a/render-wasm/src/shapes.rs +++ b/render-wasm/src/shapes.rs @@ -1535,6 +1535,10 @@ impl Shape { return false; } + if matches!(self.shape_type, Type::Group(_)) { + return false; + } + // If a frame shows overflow (clip_content=false) and its visible content exceeds the // frame bounds, a cached crop anchored to the frame can easily become incorrect while // moving (children can extend beyond selrect). Be conservative and render live.