From 5c3dc932b615afa61580d06950712f79cfc7c4ef Mon Sep 17 00:00:00 2001 From: Evert Timberg Date: Fri, 15 Apr 2022 18:31:09 -0400 Subject: [PATCH] Enable configuration of radial scale point label border radius (#10293) --- docs/axes/radial/linear.md | 1 + src/scales/scale.radialLinear.js | 25 +++++++-- .../pointLabels/border-radius.js | 51 ++++++++++++++++++ .../pointLabels/border-radius.png | Bin 0 -> 30113 bytes types/index.esm.d.ts | 7 +++ 5 files changed, 81 insertions(+), 3 deletions(-) create mode 100644 test/fixtures/scale.radialLinear/pointLabels/border-radius.js create mode 100644 test/fixtures/scale.radialLinear/pointLabels/border-radius.png diff --git a/docs/axes/radial/linear.md b/docs/axes/radial/linear.md index 18a6f7b63..6e0c681bf 100644 --- a/docs/axes/radial/linear.md +++ b/docs/axes/radial/linear.md @@ -120,6 +120,7 @@ Namespace: `options.scales[scaleId].pointLabels` | ---- | ---- | ------- | ------- | ----------- | `backdropColor` | [`Color`](../../general/colors.md) | `true` | `undefined` | Background color of the point label. | `backdropPadding` | [`Padding`](../../general/padding.md) | | `2` | Padding of label backdrop. +| `borderRadius` | `number`\|`object` | `true` | `0` | Border radius of the point label | `display` | `boolean` | | `true` | If true, point labels are shown. | `callback` | `function` | | | Callback function to transform data labels to point labels. The default implementation simply returns the current string. | `color` | [`Color`](../../general/colors.md) | Yes | `Chart.defaults.color` | Color of label. diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 199ba7186..724a4be4e 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -1,10 +1,10 @@ import defaults from '../core/core.defaults'; -import {_longestText, renderText} from '../helpers/helpers.canvas'; +import {_longestText, addRoundedRectPath, renderText} from '../helpers/helpers.canvas'; import {HALF_PI, TAU, toDegrees, toRadians, _normalizeAngle, PI} from '../helpers/helpers.math'; import LinearScaleBase from './scale.linearbase'; import Ticks from '../core/core.ticks'; import {valueOrDefault, isArray, isFinite, callback as callCallback, isNullOrUndef} from '../helpers/helpers.core'; -import {createContext, toFont, toPadding} from '../helpers/helpers.options'; +import {createContext, toFont, toPadding, toTRBLCorners} from '../helpers/helpers.options'; function getTickBackdropHeight(opts) { const tickOpts = opts.ticks; @@ -208,9 +208,28 @@ function drawPointLabels(scale, labelCount) { const {backdropColor} = optsAtIndex; if (!isNullOrUndef(backdropColor)) { + const borderRadius = toTRBLCorners(optsAtIndex.borderRadius); const padding = toPadding(optsAtIndex.backdropPadding); ctx.fillStyle = backdropColor; - ctx.fillRect(left - padding.left, top - padding.top, right - left + padding.width, bottom - top + padding.height); + + const backdropLeft = left - padding.left; + const backdropTop = top - padding.top; + const backdropWidth = right - left + padding.width; + const backdropHeight = bottom - top + padding.height; + + if (Object.values(borderRadius).some(v => v !== 0)) { + ctx.beginPath(); + addRoundedRectPath(ctx, { + x: backdropLeft, + y: backdropTop, + w: backdropWidth, + h: backdropHeight, + radius: borderRadius, + }); + ctx.fill(); + } else { + ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight); + } } renderText( diff --git a/test/fixtures/scale.radialLinear/pointLabels/border-radius.js b/test/fixtures/scale.radialLinear/pointLabels/border-radius.js new file mode 100644 index 000000000..f3d334726 --- /dev/null +++ b/test/fixtures/scale.radialLinear/pointLabels/border-radius.js @@ -0,0 +1,51 @@ +module.exports = { + tolerance: 0.01, + config: { + type: 'radar', + data: { + labels: [ + ['VENTE ET', 'COMMERCIALISATION'], + ['GESTION', 'FINANCIÈRE'], + 'NUMÉRIQUE', + ['ADMINISTRATION', 'ET OPÉRATION'], + ['RESSOURCES', 'HUMAINES'], + 'INNOVATION' + ], + datasets: [ + { + backgroundColor: '#E43E51', + label: 'Compétences entrepreunariales', + data: [3, 2, 2, 1, 3, 1] + } + ] + }, + options: { + plugins: { + legend: false, + tooltip: false, + filler: false + }, + scales: { + r: { + min: 0, + max: 3, + pointLabels: { + backdropColor: 'blue', + backdropPadding: {left: 5, right: 5, top: 2, bottom: 2}, + borderRadius: 10, + }, + ticks: { + display: false, + stepSize: 1, + maxTicksLimit: 1 + } + } + }, + responsive: true, + maintainAspectRatio: false + } + }, + options: { + spriteText: true + } +}; diff --git a/test/fixtures/scale.radialLinear/pointLabels/border-radius.png b/test/fixtures/scale.radialLinear/pointLabels/border-radius.png new file mode 100644 index 0000000000000000000000000000000000000000..30aba3ec06acf1c610194a375fa45638bb60691f GIT binary patch literal 30113 zc-ri{cUx0k_bxgUf&`Efsx%3qN>%AS(m|@A^kP9lI!aTJfOMpaNC%bPs~}PWND)v` zkS0O^rAm?BIV+ zfcOu22Kw0Y9XfzMU=OZos(|v(?27=PfwtNe6JMK^0I~*N^}1~(lCu|cZ-z-|X#}5T zNyrdSG~p3i{A-6rWkv4MUeP`vd5tvSMQZuesDB(w$Oz9EM60IY&puC;J*_{;Y8Yq%)uN@228`JJo;JM>(M3 zJb=nXu0Z#{bKwv;r~j@Wfh9qqVGcRpWbOZ*iw9Vd{J*wB+sBf;_-=$y#*8gkj z|H)J%#JE#L&p~GPH0JUE>9cW{v2jw_-sD%`6Ulndi{ETw!E6LaDE!nKC zm3r?)#kJ|L#=Eta!#h3kT+M;3(ykfK?^oV#thfbQ>MQNvG57iDb(?YPPtBJz*(I&E zfydj`sDT6Jj{6TIe}hZ z=E~%wWf60aPR2v$Igba%>3;`ass4Tyex9Nf+=SD*-ahc7OV&Q-L6Op;uCwpJBGOky zF=g`p=Eh0Skz0O~=Ut%7I}*-1^H~vt6@s_=-2$}k#2u}_C$6g2>J=bpIb^V z^lJYnIas5xZ2Fd04=(#PF`WL53rymUl~J*Iw8*>PYuZAWGUvhW{+l-sf7rJ$su<7paqt|G#dPeNP7GF zpWc+EpmncP>@o_Mdnpl#wK!&_1-b$13B&T=OX*^D5Y^mRcsz&v+bxP9sq&-ggJfw^ zgxz?pWA&iEJn8&#CA_q%i}muOEr(P&ui}2`DgOXrpgp&<&KI2yD&fyKf21Ah-n{auHr#OHmW*bumx{;FDt?S1HI(bW3H?TbnmNbf zDA_X4OJ@;=2(0y?<)g*C-&3b2KJHm2*o)otiDg z$-#KU6OdKsdQMPMqd{zYS5In;$NikuT7VwgS@zYE-NfL z6)2qS&3f+s^y!1}&Fq}gAQqP+Yn-o}FdHi`icEX(!=?Tscbo#osjTh>?UUV=`l;mk z>_D5!uMkkn+xQM^vX6E3m5;aVsvUgB9Tk{sUFpt0HwK z>u(OO1!iBo8GHo!A;G-n?#IC6k-(4Z(;ZK%2Iu@XKS`5S3$lDY6A=2_bdy!V*L|RX zRepl6bY)?xYM+FXK&tuS<8%JLx)B?p+g;BRX5*A?-a<5x<2T+Q*n>iL<-N3FbsnZ* zvkU&x@gP+xpfQ0OB?PPHUcB~@ng@s~d`WtRgrXLOO$hMCK@mTvctFx7Des)Dd^AmC z4`J|ySj!$}H2&`A3>N1~PXG0wjDVf7%kBj1{-Qx3D=n#i*tuggc|>39QgO+SD?^`H zYZLpUg;$;WpyTVo^$*zR&|8LuDB;B z<4zSUi?la5dLouzwjQsz9THUFgtl3IR2{KE1V_F&(nM#0XYBhGguZ|`F;Wy#x$ow) z-cOmVK|z|VzvBEPqP0TGJa-Bh_oVN`E*6zs1v8WV zr`r`6X7Sx=c7W*9I;;Te>2Wd9pTP7H#pZOOhAl%ONgxplG$& zZ}Ekck@J9)KsNU?io`0;D}e}-qI)}WKJ$;?{ITFD;mOt;PSVpZ#-_ztH|7101_wiJ z_rA8?d@~w&dTc)(%1oWOlY>s6iDk4~ilqb38?TDKyHn{={Q7h58@63d&H#p<$ey4* zpLCbEhFy>fo-kl6`>#n@n0T-ev1v);L5I7bX+lI)sddEaCr1vJn01kKglfkKR z>I`gfhqbmutge5im{Wbz_;M^^T`h-UB&T zirBm+6kf2{)R}tS?N32%)o=6)73{F_BIEUBVKxswNy22|C_pZAu<(YYKt9t$j~usZ z6jbap6Uh%1FJxoLEX|!ee^fwNWNo}dR4CFn6e1wgrPr1Fvj%q^b-%42=vM=Q z8n0UFrCB{DwhpDkKZEaCvOIe)1f?{H;DXsm1hhKX>WDj(hl49J3pr2WWHP@fk?E_? z=V-gc8?^;%_UF>w&i7DpBJI3Rk9Wxe)+#%wyAWWuZ3@m6Ijt3$&WwilIN_9hrUHDv zvWz5wlqK5DP)3maG~KoFLIY_c7ECfaa(!i>M6FXpn(jY^hqa2qPz^3xy(zd}E9=KHZL;uB%vitP6YT0j%C_gI=z zr=A;53)}MQV!4M{j0qB%Z1U>5ZYt(A^`~Zmwi+L_Sz7aXX%^2S3zsp<_43}4{Ftnk zBL|T|aYq*S%UCSiazJi`bADKsoR`HqZ=CNT*?C_(!k;j4hbHygH660@QielqU61fE zvK~nEFr|cfe0P0HC52?~Bs8C&e6}-sJI*E=uGIQF*^-VNr~Oj`j%%ImW&3q}ycWpW zzX<(I70dl?j-~kwvPMD5!45Y|%CN@_*!E=XI!-pTPo32O!7$wEaf5#3lWE;ZD$Ywx zX!%kqx!LmCZ#qE=jR-=`7bWpwu7f8~qQLjDZ z9zXk}d3*SI^Uk$(geYH7wJtIpd{&#mZrP=HTJ-k{s-o&HdT-RCy`Uo^+`% z3zAq`j)_?8V=qM-whMEAAp=P_Nl@);jnzRW(?}SbVEJ6zM)h2p)0uAab2Mhl&!P|b z5OzC%#=7LrKEGfF!)~pccf&85s|_r#-ZQ#cT1@?Rutf z1!D2c-J*L&cLOp#7`YM3Ud!zNw-TSJ}yuu!esNvxHwnTo|qk>RS$06{> zoko9}khRPt+>JLjNb0RGfw^4Icn=CpfuoDzJWGPrF0e%-L* zN>NFHel28%EZ+Xce@_)rjk$Q*yzKUP`97s+wO+&1dH&cyhnM#_v6#FsHQxQ+P^;At z2{BvxqgN(sIl_qeQ(qJ+^|;`Lw3*Ld{Hu|(S@#GR&nn%Vdq%T%Ui_fYcq(v_5ycW7 zrW^ubK98Mfu1D_pnGhr zjz9oXm&b|ZTMT<}yl2i}#qpR20_sgKb3t;PTuKT9pG4L{zZ#KitnD*Qq_ZxBIfs6pzO(HIj4kZUILUz3P zzc>sv6!7t8s+@Yy>V(oU^smgZf`wJGu1@@4! z!G%BQg&O7sU_5r-YOfbo;Kk3N{+SGFt=$bTFhnBnU_rXLl+96ejO}jAlc6JJ4K+Iy zmfR8~X`#s~5q9hhW|T@R>?|Rjt1)5&3H&;Amvs~LAioOGL5(x!>m6IQ999HV`|dcfqUlzmjez*L=+^D<+c}U9@sLLs;frycX8c$QGa_iu zL90hG;-`sGB}9bR-%r`EdettZeD#X5%%J8KPEPNW3RPez>8yxfi=Y{Zi69)F@tpMq zoEp6SxY`fO}1@M$5Dp7QB@e z!WjOm*dwsi2xr-^Z3#4!M*`~u;k&JZ`3Nw@Eu&*NLiUxjoUBWo{n=A^GBO^GhVa5dRLmI&+2AT}b-T56lhS1tWEDrgm1_{?8$ELNnc^5e|JdD6QFaTpT&Do`joAYD!tW{m8( zG*Bxbj15ll9%WD*=7+OF&~?Cl5LClohTFGpQ?DYZ+iOi8O|3I*(t<5|eUS`_FwtCl zGu4OoHx)64#18I$p1yvUIKthAnoMSJz1gpTMe4M}Tx_W-`z64(F}rNl@o| z%k{rF!vIy-yQ#?DCieM=MkX2!778pWriJetOJiuYX|IG6anTb51&MlnGzkKB&eHp} zX}n^@Cr;+HL>zk#A$H4bTDYf*3WbF775^KH=)Hn}vEb98 zLj8!7{|=RK6aeNw8QSwL1mpx?FYc8ZAeuCx3i6oI6Y?|Rn+EAJi7*goD4>DUnnv+} z1zYJ*cc$x&Dy7vupQY4tu0eJRhGstdL91}SKILV!gcMd{8LEmKqXv;;ATXI!CP^jfF!#JnVRnu)paq!L4b1_>@_9)O}q6Yc?>JUGre)2vP zcrB=iqZu(b(D1gp%eG(QQPJQ7DQP#OT#;WN4~Q=*gn*b_OrykZKG!LwhGvBPXcA%e zstt*EUVYEJKlAE=_r$yIpNF;AAQvc1J4Nj&it2f!P57Ox9*D#$Jh*L%p^b(V67w0< zLLAn5HR0Z+Q<4}#Bx+w%Y`v|0{XkX%=y?d#_eWSbph%KqS?&I<%uH1y(Y zrq4sDCW2h~Z%+Z=M}Nu}iM1tw)cwTk6JNOB^bsei&!6ez3d>^1MwI5ohDPLb1&VTu zCy8`TT0XA%+g81E4ubN_^g-ps4FyRs1~mp&g?|}Dy`r68Y|Oh42eQ+x08Vll2d4zW zu!deU^&%moQux)_MI^MfSb^YMNl{pO-S-WLae54-38%C$!}|R=1x$^Q5|{9O*Iv~;$VgAWJN6(3*omB7MNnQ_ZvS;d)yU~WQMMf7S#=ER(1&=p zo9u;30>zb_A}$-$4dx&#X_|UHGorlT$)iM7XFhvuT&+kXx zdf^^b!LlGM;wsl!O0sHXqlv#R>ushbcLj zW7gxcvVVqijZRzsdcge!wgGKBp83jK9~i8~W7~o2&!z0|M{!TA_&_|3erCh(oLdNd zH_ViyBnmaK!s5`V-W$3`)*Fu_-mMG!f?V&ftJq;$36bb3@KgA0%@0y+Ut9>OQ4rVL z*8UjG_#-I)=S4rh;)o&JUbyC+coNB98@!PC*gisGf$SBEhz zz*_dCg6~U@)6egW`fuco)Z9tXPJbhTUF`H5nmrg=1E;+(TPpM0WhAL5$ z&EUyDnZm&BiUL&@$8lX1n6-#uA9p!%vA0FzMw>hYhY-{bJ3uBpT2VZ(Ri;wqVwtYRbt15h?fmP!H+N! z!9s=XvGJxKSQ_FGKt|0N$&ID;=dx-#pOR}&XS=!mg^7hI5s>WZ=2vj}h7ZjC&P5Nk z`X*O>g-GQr&M&G00Umf?f=J(beL;xwzVmI!tvHlbsWUlDPSu`_X}8a#?ks7n8#3Z~ z{hltk=wk}e+*is>+nSs%DGOrNZ2O>-OiS=8Ji>=%PVq(bBpq4HagrO}iz?5j9ZpcR z2p{>+wg0kOGOZmp=?Fj5&o&pxkaF71@NjbFJt>xJ*%Km&@q3_DxUfo(D3q<(?YZ&s zg`HgIpY&x8zdN;2Tl3-q`1Wmx(6;hi0~n^)Q|+;Tr^>?a zDRL-)pCOJA{I&UlRPrr3#NPy!%1AJ{HLl8>UOQg+caDY`rLTi^cc{YbdDrl2)^2Ct#@VpXGe<4Q)>}H9z{vgB_xfOmp2;&-ZCn3m1 z0cxP|^y+>XzUHJpBZlCg1c=(M1QL#I?-U8afW~xblOSzGMg{y0-W*Q z9-?*RdwNUq&Cnk!Zw+2$iYvb?yX8I4ul{QuQ`Xu|eyyK2wV)?V5{pad?KQnMdKA|a zsQwr?k_oW4Tc8S6J#J!l(@dVvei0ud<-+ckG3DA9*uWKMeSrc4bb6E{da5vGN}8cO zz}w4ge$r_pZzeO!y+3#%P(Z5xbcu@P^ih+!!{YaOhIR}3XC@mdrS;ONgc9{TdFzL# zKipbH+?uzOn@&#-tN&E@^%BotgvuLkt<_dE%tV=GP|N;`pZwAhK@uI6&G^7zYh|2@p*qNVa^Sc>uY7u8FkkPvsg0j{%T}J)#|DpC;wegk zSob~IYHQ*V z+ZUz7t^KnB=4fzkmMdX+4k}<`eq^0a@wXG6E_^{b7JYsxt<-i`vLm=wj|=Z)4oO!I+<;go>I#R#INBWH5uZ2bg2PxyK<|%ZYaS<~OK`Dlcr!OZ9g{SJ=Q? z0bfh?C0n*UZ3Ni+&I_@59bxaq&m9X)@W?{e$XqNbVYl_PnLS|Z>&EK)wO-FYk(V-S z3v=vc4F^jleI*qwtSL()7EU7O?pGREKD^9rd7W+R-bU(q^tXFAf$GDp(aM{i5QzFb zx;aL|f%}Oi=HF)l@CWP5wx@EH@FX>0Cu?PyyUj$7P1ekpbvbACLBu-z`44~BON6U~ zNKpH%j=CGWooV*aowxqRwLnL9s`2kimTFH}nV6YC)BaT8>2abr7uKclrR@{HY!;!x zmhsZROw^kS{U;Z{ccWm|@OU1!@!J`PtM4mlV0()Ofr4?$C%$&1IL6oEzs%&}hB6u4 z-{gW2`0eg$*8OufwX73^8dT}0%2mFt?;{alwBuXorpI*x!rVu*XFct~`a8GN>uNjC z=x_^n*}aC1+5FRJ@Q>G;`H6=Ozw1V9o*TW<_}Fr|D#Yg6@QQeh&>ZV`-`N^&XF;QR z27SH~Zg-T3#80VNJWc?)0l%fz)?!=8B@9prEVEQ~-PaqsJ(h1rM@YN?;9FxJL<+j> zIuqZYsH@$Gro(v+oAZxW78qoom-${qWh=XMp$|Kb0tX!O-lYnAgr}Y>btAo-Uz9o7 z$*sJ{>|x|c=ASXv96}%VDN5gt-w*1*=rkzrao{OHiH0_Ua6Msoi3gaUk9+j?W|UF= zHfu}0>*1%`j|fnb6AK}@bTujpklq&v4Tk1HIQGCXq$S2AmqKY zp(q6@1`zI))JU`;zF^wEKbs)!-i(t@p~^B&IsLv#F|VwEf2%V{j?IM1p}DvWQ`;`0 zoNBzm>zjK1iP7mgxm5r0?v%27;nNZ2)jxq7ANi|4&?%B%_7VYc3L9GMU8gZ_{@e{G z1yV~Q^%IvXDMF&lN$r01Bn0g$>mEE_sWTnuBqlkba9S*IKiavflj#@6?@LDic6^T!}U>qzI_?%CVVumt@@af5`P^QG&af&z2PzB$7vxWjs zXe?nm?(lw1kVY3L+xPtSkNiA=JlCf)OMdLAQW;u>CGvZx>oDw0b3X|4qx4aDTr zp4nIV6RPpywSk%4(p_3l!z2PaRTnrbf$LkxqqpNe8a&x}j!uRN)2b)$rNC3AatKyu z{-&JPXu;A)O-p#0qkCxH{7n_P^{RdM7D-ieq*;c>n?}(eM>Ou*U{1J-FPHZ726nn# z;fWm;{)P6{JXr()!H8#^$}Q6IMn*YIYGAxC8acsW8e;MKQvBd8w%eEGybQ%elB?z3 zx7CqnoE8RqM>Hbb`t+o(>@8%`weZnVuPtCp=cU!|$R`XxR=*&hpKWoMv?k)^RcoPn z-JXz5)25(tQ63P0a#ew9zmtwSS!f|#jnsQt7l?<~ zO@F)CsyBLtc4y9nQ(JZ5SbirN>ys;W?+*~#8h#EM^XaD0%J}EV&@I0+@ShVlxTTU# zcYXk#XK(6(3{m{nr(<~)K443)r_Gh|`$FwrFvK`+&K*f>%!%YnbO?#N3S6fPa2G>#j`u&mZjiCgCd*!G+ z^z~VF^Q@K-Dc;ltilh{4brg=9_1bB0&-4V#=YHWpyKm5S>e!#<3Q(O~ zsZ;;;Zar#210>#J3zzP6^?G>g!c$nlijys+E*kj?DTU~3n|!>+F){UlF9v}UXg&HZ z_WRd!18N1;-H8VV`<-G>xcD<4UTY;SzX~4y8ccP1b}cNr)~0vkSLk@spWNrh7E)_r zSeeT|AAS(NKrTv$yOWcitRmBwC^Yb~!3;j&GWB&#Xz2XcGR|!}NJ!NLT7A3<+7F{Y zzvym45cE-FMlS(RrxZ2i&$3uoVS7gRE2K}cw~!w^x~@kv$5Ht@9*>ev5R#dfz1QOjVW}y<>o4AN|N*vvNY3zJ}wNE?Lm}UGXbw1V3vH zE|`|ayGSCVz6&mAspn)&P}==FW25v2&gWA3bB80d8M7kK;YrY$CY}|S`%xtRy4qNN zuB_tLd3-Nbw70KY%rbWvP~iJEZYEA^csPZ*toz?h7a8-5tjt*Z{A5%!XoRZV(-=ta zxV?nFxW3x7sXyk?eZJ+ju3Uq7lpT%qlz)x?X8P3Gc2UgSgN6kLDt-tY_sKTr2RF>hAr4HT;CEmb*j zC`{SahvcB0rFr7rF3Z``Ph=pcyHhHb4woy}Se5jZ(^G|8T4Hixnx0lF596;i#V&mu0&8&l>p7U-Rj$(TYf~0sAG^jINH@I&q}2aR(lh4%V0k>@Q?+W7u#-tG zJ498t?jlaVKZB);i)JT5N-C^1ZJv=uC0l!s}(-wz7>syM-V&5p-SFW8+eULn#=)!&l?LXfXRj)$_ zYC-`gJ1y*b@7vK7?PYxzy{mWG9)F2eWcs$(+?@o}TBE&oqiWY4@{+~U+ri8rK~5sH zIq~3&h^e*L3--XHzgLo4p?#mzOgQ)ZOa6hb2i(89yQrGcieCy1U|Z=?$Y2;L0?nEy zAbKB#^W7P{NB`!`>k0=B|1hT~$b8z^l-iSn{)tre6_#+y={BlHbi-$4j z2GioXxrJ9fvX^^ahH3VQKe(MRe4G4>eOHaRPnM_7t!E(PH0deJ=aXp?!@FFti<S8^ z;v5>FW>L|piz(PGt*?}@c9(fsv?*Bm(D(GEwHD|{-J`hqp#QbVHCJ(uwT~1Y-)x=- z0R)fTs`n3#iTTpO%^K?x-pzVibmySe!e8R^`mYoz%X&xeSBI?Nsg8Jkg6iX z<~n`jf@AoP&DtNer77(b_djA2ZnRoav5dMnX!0r`}Q~3Y#-;e1ZuO{xyEhq z`*iP7$6R1a0t#07M+F|w;Q@8jvDOXtx73VR73TndUe*^~(64S6&45_%tWufpWkzC$ zE@Q!R9Ec5|wL4>fgMTNGv4#)U6E3$EvFx;TSl55?^FEJHL0vThUq4g!d6N+PP%Kttb_ZvG7v!06bP-=1KHJT>{tBPA@5uV?C~7(p1i+vm8G@ znE4@c9zfqXRoNQw0H!v{KXQ>EhpnT>JdC@hkrH`!)hqx_sp2(LP^Hz*eR^zU%=kNijHmCN_~pCfWc8QU1z zkN*zUIVS>!_e_Ud8pPW^9pzp~+|o5}&*bTaQX5|Q&G1Vy@3GR=-&O`^~7o;I|J=~Me1H6ZC4G59r z)ZMAxe^vn()pULdt6nf`c1En9Z9lYCjOLVepHD^LCj}iWD5jed^t8dBGIcr-J(}j7 z`2rMr&~e{OrD#9M!{B=2DnSl%i?iM85sAt4%r} z$v)FFOGd+S?PGOA3|1zZ{b3mH(sgD!aL8KtfZ}GnML&(ExnEq377#8cu0>$=wq}6g zD+h$mW49vp@``bn!)PVSAB`TxE#GuMQ9X+*hA=M6T4+geb5Dlwm@Kw*Z?Y}zv!xc; zz>MZ8{$rkKA}D<2q7WZ8cxzh}iC2g^JQWb_jOK?4+#8!YWWEF^pu>Z=zR18gME;b0 zVy1=`c1rjsSU=D}Cj_JC`OnZ0k`L$=v2Ul1hFYL^FnH}khzqA|A~3Ux{s$T3d@#e; z4AV)sWkhZmV1ezC)^YSb+Wc>qNKGfI?w*9}@__GU^ch7@Q%YvqADG)Oc>E9hP1QkCirsD{1%Z<6{G#v< zEi&-q>?ckp@REWYTQ}~`8(K;EvHO39OA>}_h`-VtfI~L8^Z%sP5Gxk@+Q!;G^Jl8= zXdPNg?2Vu?ayfTVgpvyyq4oSfHaRgvHkteF&8#qdbTo@n1&_|autEE$9W#xhrTlcb z_MH9+R7?6af3Vqk0rYGH$}T-=Ie+n!!ljNd9uS60HQ|R{ywc}t{St{wD{7pjq$Bil zc)ho%oRXI^t!slDPn`Oc#e;@d2@cNy0(tP^o0rj`M6*4Y8U#(pe|Eltf#DfUlEj)K z?P_kB-Bj(=DDK#&;k%Jk6?DDZxRiR?*2I7jf{rfjO#HQ99KYxh?cpkLJEN=rg{U+f zw|J?vvL(@Dn4-d!!Phe|cdB+PjR)kZmMhvxgkCI9$nRV+?DjG9sg#@E`}mSL*!aJL zHQ_n=3ys_fuLMg?G;?^>OjP$L{w}}Z0XLGdT$xaN)0Kbz=jbv4e-&=nQysY$@(+p* zb-|E{b+gW$LJFbpFPF@82V~1V-}$EpBk;X+0;R@glXiM(k4M^~#XPp6Y-RmVh9?Fs zzOkOp?Zuru{P05z-)LgLH`&fN?vd7M6kehqrT)2Yt3?awge!R9_~8=NtwN` z2X{4F)bd%AoQZhw|Yc7KZ0fvKB9{b0;& z*E8>l-Xx`tEY@1EfO+xiJURBvfUsl{Jq)OchSJyNUS4q}i$<1m3-~qF*OB#`Cm_)L zID3g!r)HOv!#+x3{{uYiB62IKsOIj+LhakTN5h5Tt`}6p=(^BQh%f)cLFH^P!$BXe zR}rrSDJsrOod*61l7%RLo!8JeyzIU7=)pvVaOFZ=yJGzh7r(!oe@~k?#c8sP_9DJN zB$B$%f3wRJo?}>Za>9JHy367260dfNNrK<3FlnmvkC4InfXFaUD3}&V2xqaS0VTr21TV0=Y z0=N@rEaUQ8&OcrVlUI+WWq=?L`0Y>N(YYX94u-U;zuE0v)UaKpKO~j zKg$E=8r?6gT$D1X3z{Jof+?sF{AI0q!4Qqe@wJxB*M$6Iq6d%HV=m9*uz5|tbgrh2 zcuwvw!~;4V`*#j_U;_H4G0TzAiZ7l+v>I9_ElgjOqe=@HvOB61L5hRoJ69GaK|0*6 zhu?c_i1Cpp$6jg_IC%D5P0)XOR#ci|^?3HAH7*o^&K~aFGU9^u6qIPx^TFITkD*1D zUJHmh(HFVz+VbAh{H3f0wjeUSGibqBZ=waN7o*Bl9CgSwh%X{AR6ND3nlI~wIt4bI zgwNFMb8bLBxZhl0^TI1ff=q>k|*=?&$evydgUrz)L2Mm5_W^$ao4kYkQ znbn^p&@iEVpSP){$09)ZhXFP;eJa~Y5&gg&=(OnAUSjk3#_N4bF-KewT zdunQTZ-~EW*WiUMQ09Gl^QK9M8`cwT_w>he2p#@(xcgoS-%}~6!&K#72XbLJP32=$ zH27f)K~-nxzcx|)@7FGQCH$5fd5wV!!FzK*8*GbzHgsay>p zByVVgiLasB*q1k7`Lc3GA~QgMm>wUvj)?EAfkL{GGqU~`$_`-wq2=K#9&O6SDCs~m zVCcRYw|Od;#7Bn{RMna{7v}+f15Un{&{a$TazkT;&Ns25KD`px>VwuFgTqc#4xhG< zO|#Emz#xyK*?^aT9tMc=B=pwY{r@h4;@5Vw7&*0cs(ET^>9BsvCSm8AItG;j{p_9T z(a3DK_lHh#O*19uDche6Ms45;AN@54&Ek*^0oMBA^E(O5Qu_xXZJT(# zoPz%Q^}l~!$UeQBV>wcvy|!|Vx=0!OJw zAc?kXCH-0wbF1w-b5;0cM&$u_JRxIa=hv6DiJ7AJK09_4a+u*5kTS6}(AJ$N#{)zi zJH*Y2a5zUCyukNyX1AjC*rkugf>1(2b~fJoy$F3v3Kvbx=^pNljo(JBJ`*;VWar&b zD7X{3Oh}*90{(+3sv8gr-<&0SFo8##cJq`iT2%HI-u{NH!{R=Zna{zW)HQ=F$<2!Q zit-yb3^3h`IaXxwc**KF)Jme?xnSLHYfntzFk5900cYP`+yhMHegiy>f0-Lwk zY1FT#c}e)HFdeQszI<8+T1wyr5lL9Ol;i6S%1wW7Z-%q9M$l2KMpKmI*E0)Kvj znt9myYe62BaB|#JoxkclkmDuP;fBqk>%(#Nf!8blzTCe{O^3Tp_DuGTii{N+`2GlQ zMYszXlQFhuIXckcbStY+|KT-`cwkaO=`5qF@&&=ZWp^O?GE@0rJ#-=vZcKPacM9zij z$I(N)qfmwF(LsinT>1#}5d z8r5<%+js!cwJNVo1ZV#K^p7--?h=NGE3~wvCN%RG0IQn zaTyMWIi`aoJ%?}Z+xu%gK*_1%)|fUByn%J_rNeo8p>lVqs3LzUwcJ^)ak*Tt4T@#H z3HaE*kY^>wzVjWqFF{ld+Hk`x(V1(9$tw<~ADmreKaHWmbva315(R=NZk9Zt?^WMcwq&q$mHpk^3m#!}3bIxgL@o+lY(OCn{% z!_v#zE+YoRI^0(KtBU6SaLKNU_<*ybv(uC~1aLtxW+fEDeG)_cx)nbn>| z1%4rz;l~(S^{Pe3N1IND6=ZZkF~dyg3=Fa|nG_msJ*vCnWUzFk7(Pgyp8G|T7npZ{ zR94*~zV95*0;9wA4=_$b%E(>oDfOG80FR$EZiRY+`EGN32y|TDD{Z+-NmDvt*&~%> z3r(4%3pZ>ME!JAGJQ9vtHrjQz2?q?*PKFcxX+P-6u@AhmA43fNj!U?dgxD&cm5a*X z2^Aj?xfQz)^EUxaz+zw_)OGFcg3>5|IZd3^D8kO;H=JGEB@y0whnwi zIDlEsk`AXb-T$4194opP+*Mw%^GR9tv0}*Wt=l56(L$J5N~N`7vy+T|lR?$%%766ybq zhS2Gvm4Bat!rwQin%n3y2iX4#CH0SRq}&mu{k@3L;9rLd*NM4-nP$1WEj# z(RV|M2t2QgFCPR!c}O5!98}LVK1}1fX_Fp=>%a7%4uU{Q+Fz_FF?MQ@HlpOo4l0m4 zQE&6AGgv6gqCl&{3RHeslM-Ksnv2B~={FdGHDETYnI3AXkxxGrZk~%N?Yx8Cz79#h z057M2yF6f+Yxq14fu$+V&)@m3THsbz>iEbj5f-Z1E2p0ZZ%%R_)!0j@3k;PV&e3j15WAJV2+kA>t`%)Wm4H7GNzoIHKo=^~BvY zQj7;%fi<08%3dR!BS-Ggei(GK^g$T62YIV4|*YBTa} zRwHrn!JPz+MI9jzEFF%nt^9`}QAQ;pusmtwyAM!p0jGS)f|+x@d_br5+(?-5?aUDx za%^UulbZLrQGT(>=L(k3C9B%t$ZOlON5ja2CwFPOg*y408PAk^_#*JYSg&1r#RY%||&qWtOM zL*e-HceWRWe|W)jvMfgY`HT0YxL}3w?X+jw(C#qlD!{#!W8~PR=+H}%Ui-R8Nb@4zJC+MMpp3X|iYR&8f>({fW)~S~>^f1GenSB;vj23IC zQ<9!Gt2&&}XZ$-SgGdm0tB4%!qJV%nhk0(8p+Pl;kb=1y-@8p;%jY2oJZtUt8WAZR zBdLJk(m-Amuw1>rrwfMYV`TA~U>GM?zya~cy!^y}n`~=xFnq53u0P%nh35>vrfExg*jlUw9wyvU zqyyn2*i0l=qD~BR#Pu!vOP=;khh=?GNxl5qfDUB0UKdQx)C7z|XbFF7B-ZNwR8>~? z`R+%xmtgFnqL5A!&}VTOeL^EV(*jo&srjV1O)9vn#QRwHNd)LzE8DaUQQ+3x0z z{3JdU$TPMLkkbNb8zvSh{Qn$oEXu?178a$mC>kVfB-O~V`~TD4TZTo|eR0EQh5-hZ zE|DHmkP_*Jp=}-iu5s>bF&bht4umAPFpPz5f z`Ml3wYwx{s$8U-BRL)o(OrnIGP%yoN#NC?o&oBPe*7uBXJ<*jc4l#wW3<&$yoodzC#*}XIH(3YbN{-U?MQ$n;=;${MiUZz=l+cYPnkAscb=K2 zA&LkS$8RPfiGua@)2y^W_s@HpHbMc*!FCV1j_4qJ|EiVsEl@$ytH(_u*#S;$!I<}R z1P*Ol^n>splN~~eVBxP25DhTuQF=SJvm}`UvVg$drZq5U=70$f)2!_O)9d|>Kmhcq zqm>x`wIVbHrU+Yr!cY;(8#;c-faVct#s%~b)t7{|?~3FULVd85@^@)TX~7eWO#jV| z?{Y#-BBDv*Q#Utd-bHH~Z(Xqz8slbL6@)fA?5qVKmp@?upL%Nd6Px4V@rYvpu9w5_ zP^t?qM#XShJ)}=n(FoxBG&buFm&;!8U>5J_X_r^?<42*-xrq2c!{pel2!`*qC07R7 zz^QxxBo+W;#hFy*wIenKjp5uc!Xxh&@3bDU1ABS`W2&JDTxN;gpP27SBwz^zmNQ=) zmVbL0c$w6cD|SH|FFT?J^TM`Xn`i!Ok;ILqsYV4P|Z6j z0eBwn;gxf(ng=w9{RVt09H0co8c+g8H;=K&j$bpVZ)Sofc>W$EW9JQ1Fg5VNZuwh7 z?#P$}hReH{FIU0z(7ojNMP%F(t;MU4B934Vwk%Sj83IPb=vm#{X@ho3Gwe2DVu0qK|}H7*HdChXLcostWE6 zA8#JhxSn=0ejQdzN;90W-X$tFvA?Gg{KHMAVc$N!_U7BAL)jNqD`j{BW*&8Zi*$lO zrDq${Y1ggMXk^fn;anDqt4=5b#^4-&uf11<;BwgUr2*G?P=W&QzcQ14|3opx%>!r< zy%DvKFdhAVB4v>p@H(0%)raYq8mFJob~$OD&e7Ru*72ypSH-5o@9#0jtEvs32l12^ z=)`^NM}SvjnS9K;S&!RkbSG;}W7R-2+dBX6v0*nmV34!NCy98^T3a-U4=buW%sd#= zi6>2S?lWrIRng5j>1xv*uds?0eLi+AWMy>n_W>~t)6v^Q0$glLc%{WlL2ME38Y`p-$(mz%nm84*)=cHpV_3;k|UnEbiR(XF2}qPLF0IFOF_Vb5i+xVQ8&JH^MoY|XP@0*cCqZ40lJ z_3aaW4b78TnCltx+Z^|>Y|Tmxa{?!C zYuilsi)+4~-MUjQrt&Cw43BAI@B4A->Nr{dYSyj>8eq2!ZcUN(ANg&bY)y~fweuAIKlzRF_zXZKMT zp`0H(m=d2T2Fg+i^S=inH(+Hi#>DtUtEWHN-<4U8EG?N>lJyL9GoQ^4*qju zMXL-%>8!4F(}uE+SHEA}ZHbpE9d+&L=J=#wMFHTINtZ55e&7N}j{7rm4{}8Iuc3O` zR~Lw*O^=Nw zJ_oF|S68f3Cu=hgl*2kjZWpEus{^&SO|L4ZoSrIxB47M(%MhrgDSoh62&<>oNmYk; ziA9ZYYsV8m3g8Fw_-B9#4H}xB&_APHp}<^w=T|7*yh5Oq`SPHPQqH%%K1Q%Q%x?Fi zBoQXXt`KeWLlzD8J*@HH++i(s7AV5?sFH+E6aJj`GQzXd#wxpfYQaBl*9L>^Gu)0ML`_RwqEky8g`=}0Hby`? z)VhD@4E_^F)}Bu9GV?u9+3K2&jCVV%LWnE-+Fn-dT_%UJSN1KI?4}F4G>PiolFMi@ z#-BvBFUomE9EHn%>x=KOS~rrgj$QxR@SKmBkg-UGo5Gseq% zn0}oPpbH$dRe@&*-<0r3LIN{evn34!)J*Jx_YEAZx4Y;m<(4Dkf0~>?PkET{R`b7; zjBB}wC`!(Y!-5=(X#L@M7AapjRIi-7^mQeY*>knWWw~hWGW68&Y7W5+ceu5$1rC+% zBa#A|`K^D={BxiscklGmtno7rZGnvKOVk5X%j^KLVg3BOG;?)MSXlwtAN^(I1i;MV zMKyCzz(l(Jn>3kkV#v^v`dQRszeKOzYbJ31H;lbABTDF>$AJASdWa#SQDrM6@OzMj zi7poweB{v7zapaSJu|z;FY13%XrK9ZYdI1il9$Z(e0H_gfYvZyc_VSE84j-1E2~>hpAFg{4)}6?(gQ_jaJX85lPM z(W%e@aEZ?7eo@1&5HHD{gUW4^m)ofG&X{*uS?3Gg$0vu+JhKLW;f=ta&e#L3JY&%N zG^N%k8Zu*cD#Od?k62hPvb@!#05oySPoy57I+j|vHY)ECjb_REB#)m=ONF2O`l|1# zdK4L*9^PvlA)g4HYDID$cLf2yZ^{ly$rCFj^_9wZnnmxDsj&mAPtxKnlT&mGhwUaR z8$|=mJOUfT!^2Z0?UToMmwpAudGFdX;D!8LTZ(ix;rcBrk3nEAzP3Y9G!xa7iN!L@ znd``%x$(aq)GWB@{&RJnnlupY9Y_mmGDqsXA5tx=$-0zR%FmAT*e- zgPr=SPj7y@)bR5QnM8Lc?sxT7=y9y_;M!MVhVN8yy{G0+%~*iS@yF5Q?t|Kow>r7H z?Fx$*n4-udFCpc9ILHr`YWRLg%JKH%J5)TJ5ZKye-7oRMdD1Y5uaDAR7PNe|Dcs<- zG~3ISu~}@y?DxhB-drJVc51~6f50ja*P|I=P-V?Vr3C>~V{Tdp8+%)*$FDB>3_>t{ z7x}BQY18BYr;0gQatW=RT_>;3&})FBS*y4{T8Avr+ZAvbcWvJ_&GcET&UdKYY`cDb zQr6cp+PFw-=Az*IBR|Xk4)85np#HM&=k@yIu2lPys~7ol>K~!qm$g!FsGECD<5!;@ ztxz88Uk`7O_sWHnk45Al;x_~Tfg-1IQ!YABCLTnG-N5X z3f}IOlPlQnsM{TBeAF-b-bzH@Av-_)u}0a_>^Qr!o zDv9jDR5n&8sb4ZDtf;RDT4Er)yT>i$syjisb3`?QXt}{xv`5f$ zE%pq;@@tMn45TjVo=Pop?^S=g9;6AeZaJ*Osu zGB$MAbC^;JyOapBtFu*NUVMu3_5ijHZb~HTe|zAIKJy#HHZ55E+f281#7~dxI&h_M)BQ>!)PL{?!j=nOmHB2_vuP8t=I1PVQ)b4qfGC-{mW9ku)gm;GkYS& zo%bTE=8`n$I@o+BJGHL?u0F0`7%{ENcd~fkWhoKk>4=ZZ8yTLHiPT1B`g`9WWlg$y zaeO27-w2kysFGn|<}qvlE3mZt=Rui!pF+@ftRQ*cyK-=0x}w)88qRfw2oz^_(JVBeg!0F{A;-`KxGbhK`|GCW z#){PlC++1~oGu#$D$^Na9weJ^79`Ijr^f6{Ux0?f_zWCWSF))S9a$9g=<0JrP8~m1 z-SdaQin3>}+zIbh$IM^AHY$qeDJ zP}y)=j2m*@pYSAHa7%yJ94{~7{A(!EN?!6(p($gA_YxVV$Sq#KYYA1HWh+ZJZ8zOv zQYC^@L~OCh!xIQ)J`=NHv~mvoyS&ogorY~`-pUB$1J>*IGk<^V=5Guu?)g$qhFQ$? z(HSv$#7HOe)Lou^Xx%jg^_383ZSmnlY3>2QefcMqt)B@w;APa*{joAcK_y(U(rS<- z?Z>m1>h7ny>Ec2glMUNFQg}aM3`8eeDGkplbz5?SGm{KeUk%P)1JazZ@1%G7l>Cs9 zC6tx}wMlIkd->G8rzIyAsFeUFD%)Kzqf}aI30{7yY;R|Werr&2Qj1RSFT~ASJDeQQ zPM)fvlV5)-rA|Ce+T--?JwF<4ASnXM$lhAB0vr0K)``jpolq8v<^4}*GkbW?PH(OX zyPVt-TN$d4nkD|7w!B|<%{9y8NBsT0RC@HCf z`%}47Rl4H6WKT-CQTp>_K@85BFRe7YkfQ|LuBq~F<;I^ZQ$pVvye@t9edJbAYiy9Z z#L>OM1qfT$Y=TzEt%&*M$%oCwL;mI`BsH>Y@y(tr-2HV+pxlra0n4e?C?L-VwmhrB zRFXd%db2&B<&t4l{hI%~J(1s`-ze{0wQ#DQ5As_Lq0~tz?~&vktfw)!Z(XY3gg-7x zUwjQXZ8~d{fbnD--LcKZ5dtwBj+D^bEIdJ7$)z0J2L;Emjk54^{3sp9m)0&9fxJv5 zQkfezo`>@(go~n8_`o*t1qLpan9HoC^+$G73h#RE@z-uBN`OwnN?mijHakIP?;D#9 zo{5mr4*pMq7Dc25o|Yu1TAGofOWT_*;VCCR{|zz~tBX{d3FYxe;HdR1CdSfVUHExi z9Wj-kJ<#U2$qRf^_u7>7`+K|oqPCt2!LKN zt~kZ~=@KqS&i$8OU@vg(yH_M}J&Tk@lZ_kbD>`+gR;d^a)~jaYB58oTTsWuW+$7hd zoh1bax|c`oag6i~q0PN(U&Vf2lC|*L9mbQ;UPzijc$KQz`{a(7AXu*Gs}pTCoF6yT zc}_PcMmF)P;KQ4~6M&II-F}-2%?*<1+Ek-We}1T*v2ZvN#~P-|J)~PxZS_{@!`^ES+ofl7EEWDP z(0n~?U#$b7dIB~c&+5hkfODUyG1 z=X=Lp=w{e(EN_y5OUt*gfI*4X&pYY!BURitvz>m-XV?{T(C&pCuCG{(48s#V`>OUh zH(zH z-0dLvRpx(RS+kP>`8Mh_i3@9)q(qRT6FnUx*?-WZzkZf;=5b$}YvQ7Ix2qm23}DB< zJNTi&Nn8;^VtGzdy^Sa7^;NvXEZVsGfNn-QXr3s-=3{AehdrwJ%xG2dG5a0Bp~Eg1 z_|@XlW;PX!SqT@v)o4OKLtbEpIPjr>3C4;rw(;?`E3_iyBU6R-!ed`F$?`&YW%u#L zMWyj#CGry9v}|TV9S|4`&d;W{H=OMXeD~e{8qCX9wf0)0lAWCMLtb-~&=>qZ+bg;k zqi%Yo_`iHog-DR03xYruOlY3HZsWr<^Vp99qOduyFRidPP#AN-l{he>l0&- znE)jNMz(N%e$u-{TQmy*)MC(Gfb-`H!IrDbSCJJ5a_8G}jY7Z-4E+GqwG0}1$t$yT zLIoc-X9;uNE&?XyhLpCaQp9rYXXf5$!S;=UXX5OD$G}2*wIJL^W;fN_Q0U#GV6W~f zmVhtm4uP+Z*9Xhey@Fdi?x+Y9C!gq`{i$Mm&Dy@<$LT9*ZNPIM89}-5ko{djLbbXb zlWz{#xlCv0;m$_s#VP5Ns9vWv>@F?e&w~Qefcj% zVCZE`r5V}L##Xy_^w7Z<{8%Gpv6H5E@ZFhqcIbTex(_?60HtGm`v42T)EoE4C=}3+ zGhns&QpFCmP8ll;NGBD-J#@jw8@F9EBee6`bg8JxpCNE^b^TXI<|nl-@23$)cU&Vs)IvY>VXHn5 zN&=pjDz$ZUGjF%WtHJvYIHsh57#G9(C^ev~HJx0zyEW~t2ZR@Ma|0jdtKI}1*}khs zuD(lW2j;osB!s&fU%h1qqeNWpG$p)CE6QG<1upDIG0A444*cecHW6N(>7EpUuA(5K zhSL=Ri|h?j00xlTNO5GGHzfey`dJ5e#u{JLJw$^kESrnN0s>yk^FWmtT%Osk8+EN# zT}*Be<`Sj6s3#nT&}{VPDS{2ACv-TossT}hSB{_JX*!9LJMv&g~OfkPo{QYRLi z%e&U4Km?0i^7M_mZwIa!FG7*x5ccn_j}0zZij;)Ce!G8mS_7pz}b`xAcW-QidS}pGRHbrbSC; zdHb_9Ujnex9yaZB*URpz(rait=K`11HW|$S!@kiKA{>L38kLN1!PSpUaOgDRgW)N8 zwykGeoI3EdY)W7MH0xNUHvy5|zq~kSMV9TBqBckbWGEjF_d$r>S6)BV86XSHvsky| zflYbnHxq^qpMo9?=X|RFv<7+UH<~iNzYGx2W(O`^ez0$Hf1L!{dd$Abo#ckR!ME!2 z3<)&tqte*nXd&xQZt+a`A0cQ`ZTIh<6J$7*!0l-)m$xk(W;sxRmB~nt7Xo=~OZcGB zOm3q%HZ4hs;rvxP9nYO#8V&x%f3rvxafH%a6zjlJVDgMz4vHvXd?1&fEbnum5+dXo zdlObvfYgQN#`YIT8*u%y@hN%918*ai=akK9;eA7<4DX^}P)7ie5KFSaTUqr|eCFyY zF?sE-+)m2n`FFrc*R$V!{Fs_`%7RTR zh;&78_O5#9y(D0n3Vt`{0iRmw*T72_%l}0Qj$PI^`r`-@EG1*uj032bG8(ZxeatTc z;b9SI%u&@UuWxQVg~DImy2pn8tW$SzS5lDj8Sra|6+BlRS3xZ+ zsEd+Nh$nO5ur9uc$c|%8mbnu}RY3&pq$zZ#zja35&iIt40oPk(*Q_sA>N0hMU;s-j zb$U$^@3l-#@nHpz>nHgsF6jK1`fBWD zlmW9%@2Ma*cq~+aB++g$M@A+4QmNMu1g^rAlu3XvO6R{y2<&hJR?B1aT0Z!c-FWc( zoetMX`CJI^|AHJL7rdIRjGC^O0OlgGb&sE;Oo)7g8l+_*qFNn^V?ad3#ae)dnspyG zN9AfA`uu}B-Mw_1y(?rf;`J5 zzX*+!g31)!qQmEe-$Bj^)ji?>l$n)nw4c9#Kq|vPEfXF87KJ_k1Fs$-A5~w6(jj0 zqToHO3C}~g;(&r2^q^ErV|Aw<%l}f5pCF6SY^LV~v<6MZV%=o_Ed~K6XMxMhdvEDd zCqDUg3>zhKy)76kNDf2k2|znTxw<`J$T?-;(TV00H5?ae%X^aKdnS?$CI(^7-V%5o zg}fb!IWpHv#_&9t{)WaNjUlP9(2f z5t&cb{ydy?ioP>C>ToBWgj^7!hvYYO5`{aWaW!c4-o=JM0wOB6k zwNiLjwnDIVN%g`qn{Il2zplG^LFKPE(FEJ{g1|e%1*(k0+*rzFzmX!7>kqo9=%k)F z$bEnNl5={%`f|6a2>vrQ-baOeB@ zi(GFo?v5^wzrUByzc4aSgi_lc+2h}qFDZ4zS#fT=!$#{I%o_FVW{QMBO4O&gu6oXINyr1p zs5W5V&gG)|CiT&4x0QI{8zp#dj zD)CHw7DodqbH$aDNsg5hhJEb<{+rRV1uDlk17iH+WDU)|9~{mL1YG6H^t$iNY^zR@msrXMFhgRF+O0Sn&7B|&IWTg>O1%#nzxU{cwH2gxQX z{0%3MCFT;8jvNeq*6S)6o_xFav75i9W3}=plfy5u3HMu%YMHW{bG|apO_$WHT_^%< z5r8V$GfwR!UAfcSG$z*MuY8=WcVh*x2o@bt-{i3PtFWq>DBig~CDIqP7QR9(8r)I7 zE%#DGG(&(BQ?wzutx$F1N<3C<-0du8bz6nTq3 zB^A}IVH+2Udk$tr^?bv`1`A8;vAua`5b{`C3>{@{XqN9*=f|O&n)uGkG9hoJVDbUn zEX3PA(X}$2j{aNEvi?B>=@7i%f;4gaD)Jx@pC*C>jzw4=?JQjfWe~p}!9v3=dGL|~ z6HFqh25LvDxpdR&te|!i#{voNHL93*x!PZX7nLBtL39Z;Ft*4q630d&ADDT!MJF{} z&-_5?BXHgosND#<#4KCeyTDX0@^U9E&do9Xft7G8XNmtPD?loWcTLu-tF~s!B9&71HF0p_27`^+TnON-iY%fM<0EzqI+`t&K`$f37V>+Cfzu|ad z-TM4=pHz0RvHdxa(@Dvpp`vQ|AE7eQq4Xsh;X1X5S$92mSI{k=KuTF;!TG|(>MFthB*2*<>dI=6FsDXonV1T^a-=4z*c zF2X5*>nCIC&{PaKWtQa-_;auKCP}$Dp)4^9cPT}y-cJXk!LGEOuIgncZ?y9DwD6$t1 z4d}SLOa@yqrY|*d!~&L=c0M!`(05ceoH~N(rCZQS2n+r{D?1w}rNdvl(S*}@QzA37 zfVjpfchE=*SES@LNDv@NxeNzHKWD2&!!pyo*0|AhkQ)lT-oC*Qc&2|o>9g)<0__gE zJ@r_KQ@?N3Byk1-uYoG!&_K*!eJ{gfBr(mo-eeE7ApU7D#-@fIK2!wyUP-dGpM#O$ zTJLNuvluW{m@V4ZN@J=edx#(c7OB8#AG3QF%8bWAr*Of2Lx=+iIR5c7h>d{3!vVXL zr{ES-2Xajia>3}@TLcS9%7Hj0hUC{_u*N1a=&b}1F~eyQ@&Ry{36If>lQUUfGm%r+ zOrEN?@N##LOWC4&9)=`@3gU;2u4MF1?&U$Fa+5jEwVNu9#lS5%ng0)M6i}5H{^Nq! zxQo(MRRnM3WlEBen)P}gPB_`5_0NEFzsB!1B(ix3z>qwF%~)f|@#6Rm++x|KscmsM zS!*aFJF-`3kwFFxuafrrfW^)*;@xl@yNbj%|3fbK`1xQytc@zs_Z+d{W+)Mm}*7N zQ793}VQpy;gMk)?)8>`imq>Y0I9Y5;X$Wqikdjc2=aVgiFSXs}xJV@TPTjg+X$r#q z8S(59(~6w-G&^96++5d&LQtYR3k+^3OQ#LhXm--00zvGq*6b87mpo$0B;a)SxMfL~ zzWm{bGm+h1Qy^9T!yRo18#)ptL7axHQUJiVD`@5zf+2lw&QQU&pUsZak-MeU;%dN+ z!21=cV1%hhsr>kgD7j4o3RU9hBx8p0f>S$IW92;CJYKI_DbjjS1IsdiW zQsAKf%8m?V(XTY>lc8>5O9N$~By@Jm<@lICnasw53nlZxPek)2P*CnQd}A4tuL-yZ zZ=uCJ#{=6Z4mV^1?lNPpv>xdWj_;z1PX~B5*U{NJ&=!PxT6#1GVhqBKSVsnDv6u713iON4Z|tt3 z2C!_!6z4jKWeCl>G{cCD&%`d`TcE=%xvMg!4t^JxPpD zzP;9!g=d@%SVynm8Dj8A#N~Bl59e5tEGx~BYLPKHs_)r5srJ1`B=Xvi;*~u@)K(}M zGay3r5TQZtMJtd{B5JEJb9}S2Rr)dJ!3X-0y0+LeBGeXM;z$-f0dc-2;we-!@IDK? z4f!dBHjx)?y^@m$=6%^TV=SS7Gz*F_;*;z(cfBVn2x&06#tDb&o28K12(Y16+|%(k z*ON4`Po!QkRNV;1b`97OiFzBzQY7lT`QKR|_LxkkB^QKlsUY}9IQ}h4s7DDUHgD8) zg8#;@5TGun%?JL!g$e(YzQ08dwV?1?A==|_?ZhFd0AVV3(%|1hhn7L0IVZYPr1`fN zBPS#|=)`n_zqJ@4qFR0T@BXc!C<4_H;f$KQ@wc|)OOU8#5X}n3zjYJ~{=odQ=PUf% zCk{$3DL)yf{H@FQpF;iZ6C(ODyA}JFZ99-Fd2Omr+rM=l|KC*n-<^uUbJEM9ROc&w R2a*8zsVnQCOB5}G{tsH!QcC~; literal 0 Hc-jL100001 diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index 5f8155cb5..e19439e68 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -3380,6 +3380,13 @@ export type RadialLinearScaleOptions = CoreScaleOptions & { */ backdropPadding: Scriptable; + /** + * Border radius + * @default 0 + * @since 3.8.0 + */ + borderRadius: Scriptable; + /** * if true, point labels are shown. * @default true -- 2.47.2