From 0318574d0b168aaefe23390fc2df44b074e306ba Mon Sep 17 00:00:00 2001 From: Minwook Shin <163576506+minwookshin@users.noreply.github.com> Date: Sat, 3 Oct 2026 22:02:58 -0400 Subject: [PATCH 1/3] Draw selected WebGL text above markers --- draftlogs/scattergl-selected-text_fix.md | 1 + src/plot_api/plot_api.js | 6 ++- src/traces/scattergl/plot.js | 36 +++++------------ src/traces/scattergl/scene_update.js | 16 +++++--- test/image/mocks/gl2d_point-selection.json | 2 +- test/jasmine/tests/scattergl_test.js | 46 ++++++++++++++++++++++ 6 files changed, 72 insertions(+), 35 deletions(-) create mode 100644 draftlogs/scattergl-selected-text_fix.md diff --git a/draftlogs/scattergl-selected-text_fix.md b/draftlogs/scattergl-selected-text_fix.md new file mode 100644 index 00000000000..726b3d18df7 --- /dev/null +++ b/draftlogs/scattergl-selected-text_fix.md @@ -0,0 +1 @@ +- Fix scattergl text hidden by selected markers [[#PR_NUMBER](https://github.com/plotly/plotly.js/pull/PR_NUMBER)] diff --git a/src/plot_api/plot_api.js b/src/plot_api/plot_api.js index 4a00e816cf7..24e28cefd52 100644 --- a/src/plot_api/plot_api.js +++ b/src/plot_api/plot_api.js @@ -29,6 +29,8 @@ var manageArrays = require('./manage_arrays'); var helpers = require('./helpers'); var subroutines = require('./subroutines'); var editTypes = require('./edit_types'); +const selectMode = require('../components/dragelement/helpers').selectMode; +const hasText = require('../traces/scatter/subtypes').hasText; var AX_NAME_PATTERN = require('../plots/cartesian/constants').AX_NAME_PATTERN; @@ -2166,8 +2168,8 @@ function _relayout(gd, aobj) { fullLayout._has('scatter-like') && fullLayout._has('regl') && ai === 'dragmode' && - (vi === 'lasso' || vi === 'select') && - !(vOld === 'lasso' || vOld === 'select') + selectMode(vi) !== selectMode(vOld) && + (selectMode(vi) || gd._fullData.some(trace => trace.visible === true && Registry.traceIs(trace, 'regl') && hasText(trace))) ) { flags.plot = true; } else if (valObject) editTypes.update(flags, valObject); diff --git a/src/traces/scattergl/plot.js b/src/traces/scattergl/plot.js index 19d944ab376..f42df5a3abd 100644 --- a/src/traces/scattergl/plot.js +++ b/src/traces/scattergl/plot.js @@ -81,32 +81,6 @@ var exports = module.exports = function plot(gd, subplot, cdata) { if(scene.fill2d === true) { scene.fill2d = createLine(regl); } - if(scene.glText === true) { - scene.glText = new Array(count); - for(i = 0; i < count; i++) { - scene.glText[i] = new Text(regl); - } - } - - // update main marker options - if(scene.glText) { - if(count > scene.glText.length) { - // add gl text marker - var textsToAdd = count - scene.glText.length; - for(i = 0; i < textsToAdd; i++) { - scene.glText.push(new Text(regl)); - } - } else if(count < scene.glText.length) { - // remove gl text marker - var textsToRemove = scene.glText.length - count; - var removedTexts = scene.glText.splice(count, textsToRemove); - removedTexts.forEach(function(text) { text.destroy(); }); - } - - for(i = 0; i < count; i++) { - scene.glText[i].update(scene.textOptions[i]); - } - } if(scene.line2d) { scene.line2d.update(scene.lineOptions); scene.lineOptions = scene.lineOptions.map(function(lineOptions) { @@ -309,6 +283,16 @@ var exports = module.exports = function plot(gd, subplot, cdata) { } } + if (scene.glText && (scene.dirty || scene.glTextOnFocus !== isSelectMode)) { + const textRegl = isSelectMode ? fullLayout._glcanvas.data()[1].regl : regl; + // Keep one set per canvas so mode changes reuse WebGL text buffers. + scene.glText = scene.glTextLayers[isSelectMode ? 1 : 0]; + scene.glTextOnFocus = isSelectMode; + while (scene.glText.length < count) scene.glText.push(new Text(textRegl)); + if (scene.glText.length > count) scene.glText.splice(count).forEach(text => text.destroy()); + for (let i = 0; i < count; i++) scene.glText[i].update(scene.textOptions[i]); + } + if(isSelectMode) { // create scatter instance by cloning scatter2d if(!scene.select2d) { diff --git a/src/traces/scattergl/scene_update.js b/src/traces/scattergl/scene_update.js index 080c524525c..c38d0c68ce3 100644 --- a/src/traces/scattergl/scene_update.js +++ b/src/traces/scattergl/scene_update.js @@ -34,6 +34,8 @@ module.exports = function sceneUpdate(gd, subplot) { error2d: false, line2d: false, glText: false, + glTextLayers: [[], []], + glTextOnFocus: false, select2d: false }; @@ -94,7 +96,7 @@ module.exports = function sceneUpdate(gd, subplot) { scatter2d.draw(i); } } - if(glText[i] && scene.textOptions[i]) { + if (!scene.glTextOnFocus && glText[i] && scene.textOptions[i]) { glText[i].render(); } } @@ -102,6 +104,12 @@ module.exports = function sceneUpdate(gd, subplot) { if(select2d) { select2d.draw(selectBatch); } + // Selection markers use the focus canvas, so draw their text on that canvas last. + if (scene.glTextOnFocus) { + for (let i = 0; i < count; i++) { + if (glText[i] && scene.textOptions[i]) glText[i].render(); + } + } scene.dirty = false; }; @@ -113,11 +121,7 @@ module.exports = function sceneUpdate(gd, subplot) { if(scene.error2d && scene.error2d.destroy) scene.error2d.destroy(); if(scene.line2d && scene.line2d.destroy) scene.line2d.destroy(); if(scene.select2d && scene.select2d.destroy) scene.select2d.destroy(); - if(scene.glText) { - scene.glText.forEach(function(text) { - if(text.destroy) text.destroy(); - }); - } + scene.glTextLayers.forEach(texts => texts.forEach(text => text.destroy())); scene.lineOptions = null; scene.fillOptions = null; diff --git a/test/image/mocks/gl2d_point-selection.json b/test/image/mocks/gl2d_point-selection.json index 32b4fc84308..06664bf7165 100644 --- a/test/image/mocks/gl2d_point-selection.json +++ b/test/image/mocks/gl2d_point-selection.json @@ -11,7 +11,7 @@ "color": "#67353E", "size": 12 }, - "textposition": "top left", + "textposition": "middle center", "selectedpoints": [1, 2, 3], "selected": { "marker": { diff --git a/test/jasmine/tests/scattergl_test.js b/test/jasmine/tests/scattergl_test.js index 8e3595ffd15..8e55bfbc9ad 100644 --- a/test/jasmine/tests/scattergl_test.js +++ b/test/jasmine/tests/scattergl_test.js @@ -325,6 +325,52 @@ describe('end-to-end scattergl tests', function() { .then(done, done.fail); }); + it('@gl should keep text above selected markers and restore normal trace ordering', async () => { + function redPixels(selector) { + const pixels = readPixel(gd.querySelector(selector), 170, 170, 60, 60); + let count = 0; + for (let i = 0; i < pixels.length; i += 4) { + if (pixels[i] > 150 && pixels[i + 1] < 100 && pixels[i + 2] < 100) count++; + } + return count; + } + + await Plotly.newPlot(gd, [{ + type: 'scattergl', mode: 'markers+text', x: [0], y: [0], + text: ['M'], textposition: 'middle center', textfont: { color: 'red', size: 40 }, + marker: { color: 'blue', size: 80 }, selectedpoints: [0] + }], { + width: 400, height: 400, margin: { l: 0, r: 0, t: 0, b: 0 }, + xaxis: { range: [-1, 1] }, yaxis: { range: [-1, 1] }, dragmode: 'pan', showlegend: false + }, { plotGlPixelRatio: 1 }); + expect(redPixels('.gl-canvas-focus')).toBeGreaterThan(30); + expect(redPixels('.gl-canvas-context')).toBe(0); + const scene = gd._fullLayout._plots.xy._scene; + const focusText = scene.glText[0]; + + await Plotly.restyle(gd, 'selectedpoints', null); + expect(redPixels('.gl-canvas-context')).toBeGreaterThan(30); + expect(redPixels('.gl-canvas-focus')).toBe(0); + const contextText = scene.glText[0]; + + await Plotly.relayout(gd, 'dragmode', 'select'); + await Plotly.restyle(gd, 'selectedpoints', [[0]]); + expect(redPixels('.gl-canvas-focus')).toBeGreaterThan(30); + expect(scene.glText[0]).toBe(focusText, 'reuse text buffers when returning to selection'); + await Plotly.restyle(gd, 'selectedpoints', null); + await Plotly.relayout(gd, 'dragmode', 'pan'); + expect(scene.glText[0]).toBe(contextText, 'reuse text buffers when returning to pan'); + expect(redPixels('.gl-canvas-context')).toBeGreaterThan(30); + expect(redPixels('.gl-canvas-focus')).toBe(0); + await Plotly.addTraces(gd, { + type: 'scattergl', mode: 'markers', x: [0], y: [0], marker: { color: 'blue', size: 80 } + }); + expect(redPixels('.gl-canvas-context')).toBe(0, 'later traces still cover earlier text outside selection mode'); + expect(redPixels('.gl-canvas-focus')).toBe(0); + await Plotly.deleteTraces(gd, [1]); + expect(redPixels('.gl-canvas-context')).toBeGreaterThan(30); + }); + it('@gl should update selected points', function(done) { // #2298 var dat = [{ From 71e54f72f5c7ab3df33bd4bc222f089abc03f246 Mon Sep 17 00:00:00 2001 From: Minwook Shin <163576506+minwookshin@users.noreply.github.com> Date: Sat, 3 Oct 2026 22:29:52 -0400 Subject: [PATCH 2/3] Link draftlog to PR #8107 --- draftlogs/8107_fix.md | 1 + draftlogs/scattergl-selected-text_fix.md | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 draftlogs/8107_fix.md delete mode 100644 draftlogs/scattergl-selected-text_fix.md diff --git a/draftlogs/8107_fix.md b/draftlogs/8107_fix.md new file mode 100644 index 00000000000..64b73ab0dac --- /dev/null +++ b/draftlogs/8107_fix.md @@ -0,0 +1 @@ +- Fix scattergl text hidden by selected markers [[#8107](https://github.com/plotly/plotly.js/pull/8107)] diff --git a/draftlogs/scattergl-selected-text_fix.md b/draftlogs/scattergl-selected-text_fix.md deleted file mode 100644 index 726b3d18df7..00000000000 --- a/draftlogs/scattergl-selected-text_fix.md +++ /dev/null @@ -1 +0,0 @@ -- Fix scattergl text hidden by selected markers [[#PR_NUMBER](https://github.com/plotly/plotly.js/pull/PR_NUMBER)] From 5cc4c049deb14bb2a4f326a0de811ef393a7a449 Mon Sep 17 00:00:00 2001 From: Minwook Shin <163576506+minwookshin@users.noreply.github.com> Date: Fri, 6 Nov 2026 14:21:10 -0500 Subject: [PATCH 3/3] Update selected scattergl text image baseline --- test/image/baselines/gl2d_point-selection.png | Bin 27655 -> 27488 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/image/baselines/gl2d_point-selection.png b/test/image/baselines/gl2d_point-selection.png index 57af3154ff3b97c245625e668247125f5855155f..27c3388074a813c894c8c1b78b38430695dd3f40 100644 GIT binary patch literal 27488 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 literal 27655 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 ( z9g4NLi~Vu?uADo$Ta75lKrUgJY5)|dfjJD97@^{jROjq`rcQ0W-Szc01L>xInsVo{<;ls z+%#R|a6*D&K$9Ve@T;#pwyCl4v-AvfE6N@*xHMG7Ekpx{qPxpbX5V!y~YqBv+;r*6#cp7AzWht9SD3HVms+n^+IjL?_t0d1UbTw^#0%{gWZnC z$ddp1_$;)!Cc@_)(LK(0r2c9HvhE9TGAZ9^3GdoRrqeafr>E=1Ch1z()J{s2RxkR+ z?sRl?D3zJ^sA_8Fm~_XiQCx_i{vt2 z*B33{fnJ#|JO^#{zOQdDW)KfKbIt1#6B~hphCh@kl^>DWfG&lq4Mbhzrhi9VBJBEz zKk*_xbn%TACYM2lJz|_{aC#F3U^Uvu$r`OpJw``+wyp4 zvvQ!7NVd#W`e|kNKs@(=Rq>|h_8-zXqqk=7D|?`1?EO(^4;t^>f~en=AU!QB1^DGyITFv$3&O)%<-XUjN-9*O%VdU8p2l_WMbkD29Q&R`9{HCT zn)dtcpf)e}zVJ8zJPrV0BaXd7%=|kSz(EXdAsoKThsNPygc@otngX!vm`mSs~q{48S;yhuj?FpN=a1?LI=5j`5*Iyf6+Hqj=7*K} z`!n&j570-BPOV${>o0poJ$yDPVPP0VF^?#gvF|HdALcP%{1z`h%5KaZO?mq>FKe&3 zUi(9Zl};v)TIR*4jPf7`2Yu(>?+)YFpzcQzh!v&V*l7RS#k`$~C4C1CxGvB&ORt{VKn?>s_sq^0EZtm_$-QDb&d zJyF+VdMWp7l<1KuKU=Js8%ygwbmEyDD)vH6Vqe8uyP21%8VQLJPYo8!k3ATB*8u1CA3N})1hWN6V=sI&B=w5t@TV_MTESJ z;`gJ*iMsz}bDe$PC4`9EcC!-EKZO+%HChugF>FPQTS7PzAPIMcoKSnZSlJjmtw(Qe zOAZv-5A6Di5@Wmu(Py}lclPPs_X-C}Q~+%L{tW2Hp}642ofdp&&_l?xoo%q3ZScBh zrq2F};7gLH&58TH7?s%*;*F_&V(yJP<;d7ejruIbXfL}MAN9Ggz9tzAbr{o7kK@d6 z5-s9Y|1En*z6nlD1UEU`VIHuguhZgArr5O-k@j zAsQ6RYtp$P7u0|E^wb1)zc~)d^R9tnzyHT4l7nD_^9P}z_wqVj(=0{LTVIRY^7m1r z@Jm~LuPm0nQi~U7bN8OD%X`tp%`jcbg}#?>lHg@z(M{cZAa-1!27QpOg1v?qROlDk z5|m+0*di*BsYy&sNUxN2**5m5eeY~XEY2aVf zh9_Cb`P|gP zUiEl$X0Lq@NO^YGYm%1Ky*RP3u5|(#{vyMwIJ(9q8ae7pC_vN`FD>M`<+;sWXrOZ< zNn0#E?LmgU`)1YWE=9jbq{R!#U~CcGAKvYAbM{0z(!ndmZ37i?%V zB@pV?eQTl^u3KChOq`p1mw{9-Hl`EV%xC|~Q^3Z&%BW`;;MG1i<~94&?a!Q5^yJBp zj96*(c>s*@>}DsiEws`J4x4KMHH%g$I3-`U*5p?<6Qu_=xqX&>V{$@vv|<ibu zp~V6@ig~{@B{GJ0;>i<^fo6066i@ZirY;EvSq1DF&j|`_U9;#7b#1z(TuUW57?`W%T6~kL9C;Ad$j6IcKI}*KYs@JXlb1(( zO<(%cvN2eDYRLA)baj(3Kg^u>S$Pd(4Aktt5;wZ~P4%AOp)J6%RIjh)Pi^>*35Qo# zM)=h9yd$Y)cqfmoZ8$7=MmLTW#W!Wi`J*k%&kM^Mvv^V4Y|$83YymjxnLOrl+(cCM zVTA|9x-nYpZApwCli~rDb}lC}Ri}D{JKAQQKIrEHi!`xH597hJ05crbpGot3J2MY6 z84L_#J%7mqX@`G{_3UYME+h3{w4vDI@+I{ryg_7v>f_$1(FlfvlQl4spKoN$4D7tzx@kC#2ppBkb?`c(eiBffv z*3-LT6c%4l#pFGW*%e9wnEB|znE4HIrtEA1))Hnb{=Rp2@YM%Y@{zHW1WVYif?8x9 z?Fv+-eQBo+M!iPo;YI~_Z=NO0`5tC(W1_2{ZV2g>dihQ|3-L@Cj-I?^SFRv>D~u62 z>ue&AJy9;_{gv>uMz(D&p+{yrX6Y?H{3X~#$?PwSx0Ob9z8O#kROxH}r|zWSE(=3z zs1v9tGha+gnoIyEDUr-3*gU1RQI4-8gulwyf0}=T_4uO#_M_sV{bg(VES?8ues4G6 z^G#Z|{6|MJ20f4YnCD_sDqimtt{T|ob-Ui=zbTlZ1%PD_^<3;iIyn<3>}w)T8SrCl z*&;&tT&o00q)MKvL%HZo(N(Yl6+-8%@bsc&BK(%h_I{*>RZEaq@u6JRI>1$1m&MBK zoBj<27BAS8i#~qeePi^Mut3+yAm}&TX!cN&w3uh39X>C7kEZ+1N4=+CK~j9%ZWt%G zA?FYLpR(^lKO=-^3~uBEzkm3^q_L7U`k?Yv{u6oZpH^0bf&PlmI<;V9)ob^Iig>`` z)NkI&2-bT#_T7qndHIM)anT}o6;qJb&|Uw@57N(}JY&w!`-7uc4ZpT)q^TYkl{7K` z8uTMw_;C*|IIrKf;U5Oc(VzPHpbIIjk!5pJBr`)xt6ehtx49jVMSNg z_~;Imqou}pP6{if($}k4(Mi^D#bNk7B1xd!VlWHCvXiM3WpB3=>KDVzm0ldd^tKqc zQAOX^P?Bzvl71|FI_rtP!r&;^?U~J5G^h)I-f7E-zr@DVwBvT^BPiXzE681p4aFi_nveb` z&=Q^u}7IJ;P&``J%HUaN9 z`ar#+OIrpCN;d_056ZJA+q`?+ApT|Dh(zd_qJQ_RV{o&cXGHQk#xErCoL`=8M@K|_ z0|aFrAPy$Vtzu1D)%}_Zw958T?aG$-xbc87MfKl-%%kQV=WPLFD3%7BKC{l#XXg7j zCZpZbEcA%ybOFH3Oh2+7=N9w_dPg)FKfjkw5EmDhr%{~Ts+lf9u6i|86T z1uVyW;t4%{x~dQ?C~XLFXQSj*<(EOf!*4d^M`ip^FsYTKZ%Oi4v*^Iw+B>s5CGM;i zUa0fHo*hPBMe)JR(PQdkSxSOTVPbFh`9!+O#wuV5D9y;!l&;x&fBFY3!h63zW5jq# z3?F*`E7RmT*AU4w&oVYS1HutWYDEkoc- ztmB@{HN7^2#9oNrQcOaTb33!lX1Fke5~Z#20u%!)Fhb_AR)dX0|GWagXZ9@mfdc) z$b~eI{PAexr5dLhqM+g(rbfZt0v>vb46W2(AhJ8B9f#v-rrxH8l@N*H8=qc0fte3- zf4JxH(YkEy9u=$vKLX}cTAha4D{EJy%2&{{5>x&sotQ+%sm*=%9P??&TjJ#ufF8l}1!|a1;1a1^yVWT{wZWg`wgpoi)|P(^4z2L}{CM)U3kIbb z_&2YVj7IH+-iad3x|b?jo@2R!fTzNufq-t7TDihQXG+X8a;8aVrSC^PrA_90q12g{ z70&rwu0{JZp4?nkG5bBdnO~j>d?f^&>Xo72+fIwt?|ULn>QphjuqyM2{azna{z*w% z=~~wh$={#*+VXg%YZ>$mctU3er=lIpombTX8~vy9=BfY|G-@%G7BGM3V^;Tz%k;2G z^(}Wy z53AWHihnW28_L(4Jh5s04gWSh(rlA%cThkg3>F@`@Y`F3@y8XE&>{iZT+4utwq6eHV=+V;@LKnSMaE_S)GHHf+48{!SJe^B}n9v)tz=i-lusD~D}ODtNYrxC*u>!FU8J8P%g-0o`+ zv_wq=HYf|V^3^+ds5bLz(~~cUb{|aJ4_Le&>UuxMe7of6qdXO1*V?y4Z7pp;PK?H| zLwUn1>n;!2J#QZI`1HIbwT3MB7L2 zu$shrc_@!n=jlkL9=6GyVR@g-T)$$B3KrW`{4n$F&!)qOg8TSO2FDJc$bPHx^x6Z){23{8I(>ATH>al zCnyv7NZw&f^DR&{T1?k?`8>0Bf(|FB@qzy2x4PwSUjA7{O{-oSXMv0W#7ArF;et#c zPzsTQIU@7V?tjR0R@Y;kK0OH7eNn5d*Z!}Cnb6VUEPZC%IGtA?aWvS^M=(?-Zbhxk zIElL?a(t;%zq_pLrB*WIZaaQtJW=88C6+@yYCE<4YUhIAYyXht!U~y>*nX2wSZ(R- z^x;Nbj8CQDkUqn#ZT~11nOAaGinV)3b}h$@t7%NA zcR7mT>ySGi+DW#s-3PLx9f%toXd+~|E$?Yo7j%Rsc6>;>5Zw6)&Ss}jokZ$uzc-;w zUQ=WmiB!0y8xPzPc;M@o8>fx7>qSgSV=11ui=2B32PS(Pa}-T`T(%sCIVzJ7$HVNy zr#bYp%Ubjt%M<&l9qjhG^c$j0DIkN}?@yke>;=Fmfyq8!L(MBCgL&_C*eH9f`mA)QmttY1y$c+3#S5i&@?TN#)T4;FTD`IkuemsV zy(*EmoHUZ>4ZYa-*uie=jyo3SON9A=mRq>MIVk^aH)~~w4G&XVJ+uj!`3p`spfr-bE4Yit1N>ylZ&~ja>Ko4t4{I zs-$?=0n(%gjc}8DZ^%I?+j-%;Y-WH=#zIeMSsRv(h>%!Ibj)DWbIG+D73%7ZEo#uV z9AP1dPU{fGh1;@EzbzZe4%-*GDwE7kY0x=LK5M1Th*X@J9r`UVvpGT+AmD1gaZYrD z7iR7kEssqo&=^Ld$!#$s7d!h@HFj25RbG1oKQDfnYj8NJSlv7Otut&|O;6jUpKlY< zUno+qRv)@SO0n8C7WR`91M&cf;KM^RC^9jTBhd;%YKRX8qeTPXKEx=r(qQD#_kHtE z1UaujAxYITB48QD%T#{^=e%=)%2V@zMlIa2*>NcvtsGku&9?%uGUWWsz!}tAlikXb z-wue>Mq6u<`|8>2LowNTHiaGR7P+e46JmO|9vgsm(p#!fRO`J6cg&UQrvlYPCEk9* zN&F)g-8pTF+^!CZ!mfD2U)|d&dCW?LkYoUAcHfe}62o{0CH@%$0LvbsEi{4WEvkS4 zWKkzkJ^^bFN+XxR^9vA+`N0*>@(Jn%VVc8h zO%Hb?0FMfS>8?0$w1)H{y{~TyruBrKa-|@_mRo7r#1of^K4_)0=6APGUkUg3YCqRx zgOQcHF1N&0R%bQL~+gIp8(}Fxo zM&~BlWTUJ-a!qz*y)B;yU47Mk({Ij>4pADNNKvAlSC|;!;*jrhHQTr6KzU^9N1H_u zoK1i#LoU2EVO4-$%or#*HsZJI8vBs+3RxwJ4qF+_EPPr92#!E2 zsNbTsVKaz@s z1MWEZB1nU(h7a}(*77o>YKa%&iv3do+eL739}Q;!0|N+CK_Acax{tSj%F2KAdR?3+ z>@I7!`SNdM%eyJ-;NvH46B_eBDcYjD1+mACA~$Sv=J<5oJy&L&`w0jXe!Fu})HyEGbG|h?r<42TkVF0BCQ}b<5@Rby-H5v5^Balso^_b=% zk^mP9PCQjb_4z+)q}Exq&P1m4*Ip$Sj;%GRS8p!%#5m#5DG{L9(?xp-=+n>1qbKmx z)!BtPh#aeOSHMPBMtTm`nuPOQr=$5#TJ&cMxXPc?rGojRZ)(N^dBgl|z;6jVuRb33 zJeuWS9M&pLh>CBK#dP64wkTzftQfUMCr#B#21>mD?hFCBN(H~&*ojwSLcoO6+_LM< z;grkM&oVO^`zw6gT|Eg=>h)QPexhz*{Vju|aB#zkne5rl@BOubwQO0>Bbut&7sV?L zhaP`=o)>BZqgL?m3?++H#v)8XSr<7Vpdc*IS8mzeFu7B=rowGB4}mG{x>E6z&Y}B- zgD4&VU$o$X;2dkvx$xTo?F&MDgWe!ncOKb<>IOv9kl#_H60X=G8F!`Pfc>65LgzlJ zKxt>r+6~InD{zkW=0vU{B*J2nJ!B^8#v==vtoZGgX0P%dvBqm?&;GV-HLE>P-LEA` z9}G;f)ihW;F<}_1_pIcxnaTl-5fB*^7ChW|K^FyV_-(_5G6W5hiIF82;c@V#!ZwzS zEedGdm8A!&>66!*+}2%T)m z^^dy06Ob~|QDfc$d}I>GEzu?&NW`4zo1Y!ysD{KU%~}^!=vDhmK)M#XIZf>3r7PMg zxPuXC4qA=77?!)GIov-5#R_R5ql6`dJ~sUA~LH zihw(04t-y|bZV!rymF^ZCWW!7I-^D|m8V*v^{Ts^S%jEPl-R8jPM^%*Gb^88Z3Cxr z)s$W%ARs{d`|E%*z}QHmF24vo^}K}>2PnD@{=}6BzM>S6a!YAv=0J`bjb1*t=QF>W`_>E0VG+GwFnCOLy9k zQEnqeE1~1%;!t^HOg5-Fd)f6=^KyVBnvc9{Qc8V4Rd1ih3!#Y70yLbYD>K=fICLcj zO+~e*yRx}&B*9&jTycCRj^||}V!O$03fPF0^6lCio2K9X6cIYrnwrQ{g(h8n!fYW2?mccG~l>|<8L!IjQUSrS%C!Q``xhs@%8lL*?^vmBLfsqcE1Hl2XS5Msu7(>YIiz84r8NJdEyUC}lr>FOa3Oc$RRGX@nRg)gginJ1}f z5h4bsJ+_2$R)c=1u25yNPcz?K=9*~sb9=#;*#zyboBDMVB};Ild*k64eodhA!)yq) zpo8G3YBV+QWgC~=QA{R_I@o3(&xxLPxnINI*FEU>2i`s4WHV9VR(^jl@KH-(lOH&# z*dE8*q}&ofiH!GlKVqoSXF*)kZe-Qxr&ZfRrX^6pSv#kWX5UzZ!PK${M6PtfJ+hkh zqMIR<(WK)UYlE2~REw-3PB_P?M2&Y*4vJwt*J)=;0T*jh!~-S}jkM-Y*Ygd|jv8vD zg^KE)lW8VR?5z&>_Pya#1+}@so_QsyPU#QkWFsPkhH%4G!+z6^fq_f}8x7}+OMVL&pL^NKg_LN|(p|(MNyIyzvz#%Us?t|lFtBD=B$fb^o zsgHq8;n7xfvX{#&FKKkb#~V1uN+7Eu6wX!>Y`LsPSe&oF?jUBYD$Q+qra%t_c*nYP!R%93P5H$&v9Yucr53H-jtJG>5tuP~b1@t9kX3i= zT1vi#<=NJBX1pPkeUmCkhT0GtA`Ez|p!7wQIGXnAxE(PaB>QLT&4|XS{?YS-VK3wG##)oc30z`Jd&7dX)1& zXXLTSn~39vyS?$tDmqriZ@5yZb=l-MJVWMhe&Y;U^|G~XbQ`En`q^b7i;@T3u0`Es zLES<`>7ire288QW>b1nd3}(Aqt&8&pKDccjao|^0L_$I4dG!)y{B4 z@U>T8S}t`�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 ZILG70Iv)wP2f-&e()SeZqQ&(6{s$LZn;-xH