From 969cac67891e160c609e4f3348a9e3ac0dc87167 Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 13:44:39 -0700 Subject: [PATCH 1/8] Add bar text test case --- test/image/mocks/bartext.json | 140 ++++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 test/image/mocks/bartext.json diff --git a/test/image/mocks/bartext.json b/test/image/mocks/bartext.json new file mode 100644 index 00000000000..1c724c3d3de --- /dev/null +++ b/test/image/mocks/bartext.json @@ -0,0 +1,140 @@ +{ + "data": [ + { + "y":[ + "q", + "w", + "e", + "r", + "t", + "y", + "u", + "i", + "o", + "p", + "a", + "s", + "d", + "f", + "g", + "h", + "j", + "k" + ], + "x":[ + 19, + 34, + 35, + 21, + 5, + 1, + 13, + 30, + 36, + 26, + 9, + 1, + 9, + 26, + 36, + 30, + 13, + 1 + ], + "name":"SF Zoo", + "type":"bar", + "orientation":"h", + "uid":"87c9fc" + }, + { + "y":[ + "q", + "w", + "e", + "r", + "t", + "y", + "u", + "i", + "o", + "p", + "a", + "s", + "d", + "f", + "g", + "h", + "j", + "k" + ], + "x":[ + 19, + 34, + 35, + 21, + 5, + 1, + 13, + 30, + 36, + 26, + 9, + 1, + 9, + 26, + 36, + 30, + 13, + 1 + ], + "name":"LA Zoo", + "type":"bar", + "orientation":"h", + "text":[ + 19, + 34, + 35, + 21, + 5, + 1, + 13, + 30, + 36, + 26, + 9, + 1, + 9, + 26, + 36, + 30, + 13, + 1 + ], + "textposition":"outside", + "mode":"markers+text", + "outsidetextfont":{ + "size":20 + }, + "uid":"3a69ae" + } + ], + "layout": { + "barmode":"stack", + "xaxis":{ + "type":"linear", + "range":[ + 0, + 75.78947368421052 + ], + "autorange":true + }, + "yaxis":{ + "type":"category", + "range":[ + -0.5, + 17.5 + ], + "autorange":true + } + } +} From 013c87173fb58e505ffbf0ae6ea28147a794cab7 Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 14:43:22 -0700 Subject: [PATCH 2/8] Add bar text constraint configuration --- src/traces/bar/attributes.js | 10 ++++++++++ src/traces/bar/defaults.js | 1 + src/traces/bar/plot.js | 25 +++++++++++++++---------- test/jasmine/tests/bar_test.js | 2 ++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/src/traces/bar/attributes.js b/src/traces/bar/attributes.js index 9fa333fdf05..e6177311ce4 100644 --- a/src/traces/bar/attributes.js +++ b/src/traces/bar/attributes.js @@ -80,6 +80,16 @@ module.exports = { description: 'Sets the font used for `text` lying outside the bar.' }), + constraintext: { + valType: 'enumerated', + values: ['inside', 'outside', 'both', 'none'], + role: 'info', + dflt: 'both', + description: [ + 'Constrain the size of text the bar to be no larger than the bar itself.' + ].join(' ') + }, + orientation: { valType: 'enumerated', role: 'info', diff --git a/src/traces/bar/defaults.js b/src/traces/bar/defaults.js index 6436dffb9d4..84e26f5a0f2 100644 --- a/src/traces/bar/defaults.js +++ b/src/traces/bar/defaults.js @@ -48,6 +48,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout var textFont = coerceFont(coerce, 'textfont', layout.font); if(hasInside) coerceFont(coerce, 'insidetextfont', textFont); if(hasOutside) coerceFont(coerce, 'outsidetextfont', textFont); + coerce('constraintext'); } handleStyleDefaults(traceIn, traceOut, coerce, defaultColor, layout); diff --git a/src/traces/bar/plot.js b/src/traces/bar/plot.js index fa5f6580f3e..4fcac9c2824 100644 --- a/src/traces/bar/plot.js +++ b/src/traces/bar/plot.js @@ -237,20 +237,22 @@ function appendBarText(gd, bar, calcTrace, i, x0, x1, y0, y1) { } // compute text transform - var transform; + var transform, constrained; if(textPosition === 'outside') { + constrained = trace.constraintext === 'both' || trace.constraintext === 'outside'; transform = getTransformToMoveOutsideBar(x0, x1, y0, y1, textBB, - orientation); + orientation, constrained); } else { + constrained = trace.constraintext === 'both' || trace.constraintext === 'inside'; transform = getTransformToMoveInsideBar(x0, x1, y0, y1, textBB, - orientation); + orientation, constrained); } textSelection.attr('transform', transform); } -function getTransformToMoveInsideBar(x0, x1, y0, y1, textBB, orientation) { +function getTransformToMoveInsideBar(x0, x1, y0, y1, textBB, orientation, constrained) { // compute text and target positions var textWidth = textBB.width, textHeight = textBB.height, @@ -289,12 +291,12 @@ function getTransformToMoveInsideBar(x0, x1, y0, y1, textBB, orientation) { else if((textWidth < textHeight) === (barWidth < barHeight)) { // only scale is required rotate = false; - scale = Math.min(barWidth / textWidth, barHeight / textHeight); + scale = constrained ? Math.min(barWidth / textWidth, barHeight / textHeight) : 1; } else { // both scale and rotation are required rotate = true; - scale = Math.min(barHeight / textWidth, barWidth / textHeight); + scale = constrained ? Math.min(barHeight / textWidth, barWidth / textHeight) : 1; } if(rotate) rotate = 90; // rotate clockwise @@ -335,23 +337,26 @@ function getTransformToMoveInsideBar(x0, x1, y0, y1, textBB, orientation) { return getTransform(textX, textY, targetX, targetY, scale, rotate); } -function getTransformToMoveOutsideBar(x0, x1, y0, y1, textBB, orientation) { +function getTransformToMoveOutsideBar(x0, x1, y0, y1, textBB, orientation, constrained) { var barWidth = (orientation === 'h') ? Math.abs(y1 - y0) : Math.abs(x1 - x0), textpad; - // apply text padding if possible + // Keep the padding so the text doesn't sit right against + // the bars, but don't factor it into barWidth if(barWidth > 2 * TEXTPAD) { textpad = TEXTPAD; - barWidth -= 2 * textpad; } // compute rotation and scale - var rotate = false, + var rotate = false; + var scale = 1; + if(constrained) { scale = (orientation === 'h') ? Math.min(1, barWidth / textBB.height) : Math.min(1, barWidth / textBB.width); + } // compute text and target positions var textX = (textBB.left + textBB.right) / 2, diff --git a/test/jasmine/tests/bar_test.js b/test/jasmine/tests/bar_test.js index 3b0aa922322..6af831a5d9c 100644 --- a/test/jasmine/tests/bar_test.js +++ b/test/jasmine/tests/bar_test.js @@ -95,6 +95,7 @@ describe('Bar.supplyDefaults', function() { expect(traceOut.texfont).toBeUndefined(); expect(traceOut.insidetexfont).toBeUndefined(); expect(traceOut.outsidetexfont).toBeUndefined(); + expect(traceOut.constraintext).toBeUndefined(); }); it('should default textfont to layout.font', function() { @@ -116,6 +117,7 @@ describe('Bar.supplyDefaults', function() { expect(traceOut.insidetextfont).not.toBe(layout.font); expect(traceOut.insidetextfont).not.toBe(traceOut.textfont); expect(traceOut.outsidetexfont).toBeUndefined(); + expect(traceOut.constraintext).toBeUndefined(); }); it('should inherit layout.calendar', function() { From b20ce67836e156be5d19837272ec548a017cafc7 Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 14:46:36 -0700 Subject: [PATCH 3/8] Remove unused testing mock --- test/image/mocks/bartext.json | 140 ---------------------------------- 1 file changed, 140 deletions(-) delete mode 100644 test/image/mocks/bartext.json diff --git a/test/image/mocks/bartext.json b/test/image/mocks/bartext.json deleted file mode 100644 index 1c724c3d3de..00000000000 --- a/test/image/mocks/bartext.json +++ /dev/null @@ -1,140 +0,0 @@ -{ - "data": [ - { - "y":[ - "q", - "w", - "e", - "r", - "t", - "y", - "u", - "i", - "o", - "p", - "a", - "s", - "d", - "f", - "g", - "h", - "j", - "k" - ], - "x":[ - 19, - 34, - 35, - 21, - 5, - 1, - 13, - 30, - 36, - 26, - 9, - 1, - 9, - 26, - 36, - 30, - 13, - 1 - ], - "name":"SF Zoo", - "type":"bar", - "orientation":"h", - "uid":"87c9fc" - }, - { - "y":[ - "q", - "w", - "e", - "r", - "t", - "y", - "u", - "i", - "o", - "p", - "a", - "s", - "d", - "f", - "g", - "h", - "j", - "k" - ], - "x":[ - 19, - 34, - 35, - 21, - 5, - 1, - 13, - 30, - 36, - 26, - 9, - 1, - 9, - 26, - 36, - 30, - 13, - 1 - ], - "name":"LA Zoo", - "type":"bar", - "orientation":"h", - "text":[ - 19, - 34, - 35, - 21, - 5, - 1, - 13, - 30, - 36, - 26, - 9, - 1, - 9, - 26, - 36, - 30, - 13, - 1 - ], - "textposition":"outside", - "mode":"markers+text", - "outsidetextfont":{ - "size":20 - }, - "uid":"3a69ae" - } - ], - "layout": { - "barmode":"stack", - "xaxis":{ - "type":"linear", - "range":[ - 0, - 75.78947368421052 - ], - "autorange":true - }, - "yaxis":{ - "type":"category", - "range":[ - -0.5, - 17.5 - ], - "autorange":true - } - } -} From 3e92d7aadecec4e213cda60891b73bc456562e32 Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 14:49:01 -0700 Subject: [PATCH 4/8] Fix typo in attr description --- src/traces/bar/attributes.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/traces/bar/attributes.js b/src/traces/bar/attributes.js index e6177311ce4..3a56661ec07 100644 --- a/src/traces/bar/attributes.js +++ b/src/traces/bar/attributes.js @@ -86,7 +86,8 @@ module.exports = { role: 'info', dflt: 'both', description: [ - 'Constrain the size of text the bar to be no larger than the bar itself.' + 'Constrain the size of text inside or outside a bar to be no', + 'larger than the bar itself.' ].join(' ') }, From 06bd80dbbc9909289996680cca782a96f9155753 Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 16:14:58 -0700 Subject: [PATCH 5/8] Fix test expectation --- test/jasmine/tests/bar_test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/jasmine/tests/bar_test.js b/test/jasmine/tests/bar_test.js index 6af831a5d9c..49b16bd1c9e 100644 --- a/test/jasmine/tests/bar_test.js +++ b/test/jasmine/tests/bar_test.js @@ -95,7 +95,7 @@ describe('Bar.supplyDefaults', function() { expect(traceOut.texfont).toBeUndefined(); expect(traceOut.insidetexfont).toBeUndefined(); expect(traceOut.outsidetexfont).toBeUndefined(); - expect(traceOut.constraintext).toBeUndefined(); + expect(traceOut.constraintext).toBe(); }); it('should default textfont to layout.font', function() { @@ -117,7 +117,7 @@ describe('Bar.supplyDefaults', function() { expect(traceOut.insidetextfont).not.toBe(layout.font); expect(traceOut.insidetextfont).not.toBe(traceOut.textfont); expect(traceOut.outsidetexfont).toBeUndefined(); - expect(traceOut.constraintext).toBeUndefined(); + expect(traceOut.constraintext).toBe('both'); }); it('should inherit layout.calendar', function() { From 5d6721298e1b5966f3ae379cab82d64881c7baf2 Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 16:40:23 -0700 Subject: [PATCH 6/8] Recreate bar baselines with modified constraint behavior --- test/image/baselines/bar_attrs_group_norm.png | Bin 13809 -> 13794 bytes test/image/baselines/bar_attrs_relative.png | Bin 15142 -> 15131 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/image/baselines/bar_attrs_group_norm.png b/test/image/baselines/bar_attrs_group_norm.png index 2a6af739214d2fee83dcc5e736df9b853bea72dc..330d6607ce7eff85ad321ef3e2e66a13a9fa35f2 100644 GIT binary patch literal 13794 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 literal 13809 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 k{(9iAUHbq0Xsr5geW9E6!eK|jSGh=( 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 Pz2d1TXv){fT0j0@OBsAq literal 15142 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 From f690d9b34ca2979f908141d20db94ac6d689c4f9 Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 17:06:53 -0700 Subject: [PATCH 7/8] *actually* fix bar baselines --- test/image/baselines/bar_attrs_group_norm.png | Bin 13794 -> 14122 bytes test/image/baselines/bar_attrs_relative.png | Bin 15131 -> 15213 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/test/image/baselines/bar_attrs_group_norm.png b/test/image/baselines/bar_attrs_group_norm.png index 330d6607ce7eff85ad321ef3e2e66a13a9fa35f2..ceb86e17b82b18dadb62fd0ddd729e9743c9fd7c 100644 GIT binary patch literal 14122 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 UO)>=kfuqn;zob^Ca^=o{0g=NCPyhe` literal 13794 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 diff --git a/test/image/baselines/bar_attrs_relative.png b/test/image/baselines/bar_attrs_relative.png index a2dee28d1ee3beb555cae6b64c82751dfc04814e..a190cfc7e231c0bc2bb29d43c9a71d3ddb2ba927 100644 GIT binary patch literal 15213 zcmeIZcT`hfw>FBACW_(@`aX(ZTTW@JQ6v&<1#T zS7LD=f@|QLpce67JUk?xI$FWV+wxb&_1AaW&yQM;WSv)>{gI|}ek@lI{e9=!=} zsyfURDVRCWT>F+2_hzow|M}B_Fsa8fUmge%FtVW_xZk&NL1Bu&=|09ROJh_4U7LRb91%+8}?a=tw11JgB{`vMl;{Vaif6mN* z%;Wz$4h`q>kALXIU1y_;ig<{b4J_^Nt1;&P7*xRcmbAB*P zBjYV3cYa`qR#jcvZu;Hv8FTdxi=8kz@(MYDE`(AI+x&d*8>jcdpsKLfwuOaTJ3`WX z2T3Jhfvt5K=Mh;@z)k0I5^li#CeL53J%TM!?3&3VDe1C);@i#pI>aATgl1o{chM^XiDAZMZny6n-?q<$to0Vp`)6$3odMSDszh%(8H1 zy)v=fN5RYb^66~J^7>dE7aZ}1q8RSRdhhI(m>9yaKu7uV;{47?qB&c7Uy9NQBgxhr{TDkZLD__eMZT$p;> zSojduru+@I#>CsXnjPMSz)C0BDwcD@Dc+_c;yKN#yHe>>d~T%(=1i#uK`LWDt|t4i z3`O;lAzn+U=Dt(leBN>xl&_P=iC(B<@*FlQ;HS(-StQzKVl5I&#NFR?mOkD4^2)E` z`I_4(#m2X+3%n)4Uqy}n=GSngN2L3hYGq2O~3H$ZFAk$#>A-%L`N#Z9xq=C>~indaDW3gwF;$n&ECLN_d)f&jD zde_eGBwjLV>agQuZ<*uy;NzXIq-6B;#r`vXN82;qS&;#uRDzbom3QC2fB$8DFh|&B zT9SQXvE_V$H1PB8QfE^6eXM(iv{y%ehV*Vq%NaB&DXC$nmB{V#{7B;Db_Z{H^NXq~ zk(H@{MM?K%f=r)PT3bID?R6+iaJI7W^r`io;4o`LrEfmA)2R~0_$(qE7h{3oc#M~$ z+B(hJZxmPsH);xeK&w9zqA`+7V5hW3-q)ai+nIwW_+>Z7$%5`|{q_>(j+ZK}CY4GbR6e z-7Zb%ulKwN-Z=lLQVxH7@D>$CUQ_YOJh0>u+|BtBmsEL_`MzB}s?C_dgi1AG=J}5bDb8qJx(&f9eLlXppk3*L;M8>sSWOH2Qg$#+rZd!`-;mos;f)VMjw7 zYM%Y79p|}p9LiOP1EZ4pyH%}ij4c0jTEs$KDgDT)Gn9lrHYFvDkb;A&{nN#%lWo$F zw{nh`of|YeC7tB(pM8q>uYKZ$vbdN=rY+acc&5dp+(>gPQEgfLrWGhN{;eO?*PpKT z>TkOqZ2h3{n(?6C{&-|bOfRlwrhr9gxVZ`2^`*X?JKy$NpZ(ZGE+{Y0L`zFc!V%uk zEB16%OPOwwo6k+XST%;R;r!23o)!lT4O4M?(Qw#V6ndjGKQw;7yFtv=7>1TnKI~$R z;rjhT=HR;$e9A_G3hRB>sV`M*=fs~z)FF0{ZA@EYCgfAVUmjhZ@PdjqPjV~zUz}O~ z_flHgUP;VO*u-Ne7WJ*%erQeCP%p;SrjS7wo9ApIW!*Pp z?vPkTYm>0ACAm4xmQZ5%t2oM4DX}ui`Kte1r1`IlHP4BP1FS^lZHIafa!~0{399vuyeE5MkOvG0c)AiOtpE%QoAHx6P&6D0Vcqf1Tbhdw><4mIm zC3abADftN{)?B2$C9jFgkfe#u1wxkfUGm91UcT0w>=FiU__&Vt*P8_>V%8b~R6_=~ zpR=>lOd=+#P87tLt*LrlAJ)76%ErxZX zhZIO9k@?ohWwz!aHod>vjp$l+{9GVdn58Fgc7yn&_H^%YE*n@6I_z&a7dv~q@(;ba z(I*4+(4kX{3O`NrN)7*?c`1ouH{0acL`Y$14($Z%mw&^t5Mdw48~AMP)1g)bHp6@} z!u3(Ot9>{rx64$Wb{w`h7!s#Gylh$qTe z?gZGQrI_`FFec+qov!2d^cH`u@5J4T)`qfOr*eBd>r92cV?Jqsym2y!9T4A|X`+sc zi>nK$`%)`!jF4KMFhaRMARAxpv%{Fy=J7)pgP62u?CIOa;;n|M|2=pFgS#^iQmO*$ zv~O39Dw!NghPZu>$=|Lfu__R%bUZ(SkeO@JNu6DvGq`te%VG7M2=SH^% zSDr0HpICvTGyg$-;{cZutMKj6WV#gLIy>vM#3ipkYelPtw$8N*^PyK9i>xI~goK3$ z_0CVbsbFpW{ExZeQp3t#iTm<`%(BXbvAS{LSi)eJ~rXnD2LxmJz!F5Nex zN@ofvI%tXejG5(&Vi*$2J+N3k-e$g3CyagJgha9pO zg0kFnoVb>Y+R`cQ-`s8v8P!^3D@Tdj+0GYa=!B&+|J7Jb61hsQvDtI+%iG>!T#hs& zn>V%eJ`pMU&3!LfT9Hp&6{{1_hT^I4P+K2TG(wt6BnA&^#c1vk=K)(@dSPRe-2T8K z#jvk_=|$SQm;&io)_MrP{SX-eWX5{H$~a3aSJn8v^>{;~4MxV}E%oXj*(m7!!!Ps8 z_P#}{MVEXbHH7KwA+BUyUr*BurH=McsA{1zuNvM7BRb*^{PX*a za%99;NT?FuBoD#$@uEhE&?&~_OU$kQ`MnXv68S;0=dN(!Sv;5RXLLQJN1wOkR4W#r zcul{Ki(Cn7T-d0QnV#mR*Poqy%36Rr=%W~mR|$f|g&NquHO4nEpt!Qzk{lg^rNdr| z`8A-BR?ca<^_{Pye_#)x729Zgo8(R_1^JAa*i^3A&K57Yf_KF+N_X1xi-h-zjp|wM z674~x;Mcz&xFb*^J=Q{ewQyOhp55s(-uS$O4>3?rwhR*7R@U(A1s}1xfJ#O$-Et~q@Fd4t%nY9kZpL=l zq3=VQD^7!UxkKsBb58TxDD(lGCNnu~!I8gNW(|T7RpHP{)x7bibwk1LU{F*Yxt7(u zdGWDoEV9(z0P!WV$H)Wnfu$B@rY@WH10mrd6FmBcdj8AvuoiPMf9a}?wDRza4MWe#T&Z|;#G~yoY&G=6 z2|Qxdk?18iys5fmmwZfK$5XN8*uWx@VUdDIfU+xp_~w%aQL0phWAVp#>6u@yit)QZMeZ^!Sua9OhM2&a z>sKiv+&p~cGUbO5KlSgZMHPN|b<=&PAcvaE-AAsP-eudH?y_4)6^}9M_a2E=Kyyf* z>kEIA&A}MP_Ry>JMqxhQ>tAW6yh=9q9_JyUR$lpHu;rXH%5+KkSLV|7Pk!gP$OurV z>D*yk-TD>Ne)ULtl@U8*$ZGS~0uzEBF}T7DwOUKATeMEGQf<4uIBLOSv7gyfEV8%k z*)HyNDBvO@n+h-FhhaKaFrr^}fi*hyEj80}-UFSiuj>@|XMKwW$kp^;F+KhB=W82d zr_g$Hk7R14h9$MqSoNn-@%lMFwTl(?0g$cH2s-)cWq*aMwEKQp^ zL2$#lX-M!Lm64s@)=x@g8s)rmN!JnP5eJ1E-$@$L$UF=|@82q>4zF*m-#zE<%@WFf zw$soAt<*s3Obq=wJ9C+CAS=+#>c~}3$n8bo@}jE>qL!@&Gx0?D28=sa z7bfRIb;FLt(!XbeHiX3m)G+HRUeA?bx!fwON2v6QyvH+G#=tW-kc<(JTReT0_(2h) z_Qe6I#tR{nxG$0Qs2raZ!bNgC*nj_}`R$BW>;XJWzzc(#mB}b;{taI^`IEm>Pm^-- zfa#R8W+$#|OwSN`jbqX44mW%sYIT@gXNAu4-y^&LinjhyW!p{NZp%Q4C5}+Baxld# z8!PkZZca}vN!~`k^#0Kgg$TbW{n1E?rOc(oox^_^l*I0h#^7>*-Le`Oh%##G27y$Y3V>s}J92gO=%n>3&ST({f@*d}&RV(bk{mP&=pk>% z5Beu0R%w-r(vDc)nC+XroRYFXr%{{d_Yrv*nnHl84hupW znS(5Z%p(MSVg5STzvE+oQBsve$Nw?=U<(=H%3@^4K5K@D5`zJmcN53Z^OrX1jvu99Xp`GEgt;?6FSFV5B#Lt4 z=|h~oHmsMu&fcwl(nqGoRlb0N2ttIcpF{(@lpgYkD$?`JE%t*I*K~wA+~;?3$Wp?H za?HQ&^p>`}5Y#z5jvM+~<9hMxEGkleGg9%ZsRv=M^$_sjI3o*Aij^oj3K zqO4A}t?yrw=Imr$8r`f}vW{UnG2RZJrJ;dl`@-HB>E)qB>vb>=Dq{vva1bhGzTh=u zc<@=G0?Q+C8_OP>1gU%q$^`m_$y%q~cIx||e;+Ni5(%~){2V4jAlRW?AR)`aAStm| zyk8aFUS}k5&6d#K1o`5FQ;&d^l_?b4zk-I}pDoPsv$I%cB{%_og~K2Vc);}~wtLYz zC`GN-)Kt2X`z?&-bi1lqs(hhDZ!@!xcU|nor`2 zdaGN-0Gv=inbAiw3neEeKG0r7R)`c)T9JirE zsi>0aAS2)?bUz!B`=W5*WR|SHV_>|;tgsnpj3@ye) z+`Z@S6A$=Bz6x=ubNO}WDV#x0)pt4>a?0pxZ)VOfMrjJS%JR;T-4eUJpX%i6RE&AR zFY{$mMPjhM`Wa*2?hSdjoYmXDyk`%mnE3*aVrMt_$I?6>yJ~&RuYcE2^=Geck5TO@ zFTA+E2Jt;IGIAGSCfV89kZSt@@x-vkZc6O6C@Cqa*SGAWt7L6vWZ`j?tg0ibnq-HA zBCO1*rRGx4IC#P`6ViK^PDrB{^mKd@VwJk(g+{c5XhJ%3&f9#S=VWzQ{>UZ$IK1>^ zF6kc0;jh5V5jpYQ(V4U8ly@CW*YA7KK00^nww|DUbJ_ZHd;BV$y!~E#uy&`NgI=i- zmDKZ#;H9CjkuuX>wh~Hi6cqH&8SlFaH9@UFNLjmex|-&?GapRK!xHDFhvea=LLj*J zVtvl_94Bp4Dtae*6>aH6sVQ{Nu?2xq48Dv@chG}N(?!hZ$DYexjap{mZ1%rff3%f# zt5Vf6_(z!#m43G^rNq^#+jA{Up#E0U(jsoVs^BzMqM)E~Wwk$po-RIuoDvID%gf7q zE#b=85yKSoPAROY@ZCECX!e!lKiQsyXtkV*ugZnt8t5?A%gCbFMwE3-QGYl+k>$g- z+Ty7&F%cLWCG+Dzmps%KI1@`9ui%#yd+;OKYov@(0O>)>$yw4@P-z(APGm}o^~Ko< zjkG5pfPy%nzQMpm{PWk8Yc!E$ckV8E-=Afao9XXE3zVklBa`=*Za?nmd3ZU+k(U z&aTq(N7b`Lggu68-_28EXTG`gKnSmW-yY#q>;7xtW3M>v(7!ECE*9tRvJ*Zs$qt`I z7ofJ}YE1{_pjOb8u}O!okXH^;j)4Rr7R@dVM& zVSyB5^(;ksQ)EEmZpYoEi-J^23qQ6%enPR|X7VRFxhbgZXrTM^N5#JeQp@VSL97Of z%tUcMxb9n62I7dMpjlBatTwI@hplYy4f-K zP}n!VLYEGdJNi>%IV|{`aZnb^cYg8VP@rR9X=wcUueIqU&MFZBWo;WsTY{Y;2cq(( zC`s0T%MMZ@mDg+TK^#*K$%?WK^$}^Io&}yf!Ge#+snzX0m!8Gw6QI#f5JikbYkMmd z*;^Fxi|0-Q+)8ApTjt>**}+9tBlwTt3x@S6Zt7M{3}>^HcihZ*L^rPAOgkf!NHho= zp&;f;Q#~oxh|3bj|AazhYqscTiWEnTeL5F}W=BhFnrQ|>guBcKTs*F&)s*-?<>ZH< zZ$6(zyLN{&85&7=O&di(gkST++K{M(;wcZpNSsqoD5zs?1-b7q3PXeM;O-#}1)E8d z(1XB!OPC4W0V-YhBtSRIGnc*J^vOc?Jnm96F?=YOG4*LjL4_!*HIxY8ZP%F7xMOv~B*M0C zLWgd%G;L#S7<`C+$f`0EAccSPCgvX~mr6hu^IDsumD2nd*^IKeWA#Fg*F51s+XfO~ zl}&aHw@r|zCdftZlK(kL`xNft?I{vOfg7&+-#TeBMiTnmXU^ZMVR_XR0YMv6W%Jxt z{vpKsPa-z@5q>u;j2E7;jmImCheywa;{tHPzHa{0W&d-J{oe{_hYOdi4;gj`6b&tB zqJ#(nZOMvq637mYMPop@9TkP(LxS-_wEndZP53}_+7vxUD6Pyb@elx2DuNG0^h4u4 z$O7;tZOiX}VZru%5d{;yl4>y{@K4ON+8gmid&AJmbU5T&X217V*T8`4K&Gs)>#R(T zlh<}+5%9!8;#8IYwra^={7$J5LQG>_9aYQ4VY#r!hLMH;Zo4-C*(;pJ1!OLcmw?L} zHVRY%e(d12#323Zt0UCGfOWxGE=tkH4md^ci<7lV{}cB-8zGvu()!s5YD@1cZfUqM>AeYh)#g7Z)(m4UY@@ev4x!;ZmMFsQo}jg z-=S)P#heDH!TDNi{V4|ebF{vjrS(tNzca6p8_(>1zDha|dP|*e6@pvuB4Yvs%Ly}n zNeNG6Qfwah+?#75`)M!C@^M-(kotMjqry*7-F+*HD$}c0uam6fuE&wGcHZ=wewcfE zQ-cGA3BhZ8JSDz0{ec1$LZyN}pcV3Pvc_?Ju0{U&&LSyWLC6B=XWnJ0STpe>=v2T5 zllg}0KPK~=hu$eR=4QW&!Rv^=8QF6F%T-NH?JbHy^v#c?9ZnQRlD88yFa5D;tGLDi zhjyybCFNM)#Xb|R>8YVzhDsNE_akiw%t4a3g%TU#&miTFubIsE<;^Yo@3l@QEAGZB zD%YUdFK$N025AA`rj^=Zt&hA$3(77yvN$2=8u;#-DHUZNI2v^t$eWhiL0fJ=uKD$B zu+6)GYt?(I7@FSe|Fg7X+HmaO1dHI0wjSh9B!Ig!JIO&2uYTph&}?xOC!kD$$)qQ# zz}gZq$%0Nl+-6aj8!1_pnn>NcSRuq%fkTLpb!h&DK5H0HcQ0_qZy3O+6kU~y;tm0rXu zdiOt;ln}eQz02w~V5&Tfzvb1Nh=_1gL&3lkVJeOaTyRIOK2oE9^^y1KPwSv%Wqe9~ zp+@9yQARJS3Tbc^9c`Z;QiMw+G!4{G{oRaU5&kuk^ti@I(dHw5c#8z1aF}(_-M1Vc zuC*&gl3__2o(TQ%dIPDHzrJ=91aUK#rWU>!5+103pWZ|;@%tjWSlcRum! zV%G8P4a8t=Y!!APpf5*U9Nn94IlV z+=9vA#9!Q8^m?J)L_FFq{AXVc!Q6!ZoAyrYiiNLR$JX2;RM4$ZSld@!&ADAV8F01g zLnkG+kI-R61}6+!GTqmk9?639?7Lc8s|HL9oR!GEFJ*UiLHj#X3ThSPqpeLcR(?N* z-@Fb9CwL1w!>`4hs6dmI1U+h!lu~ivW?j0&jI+uVfV_37s;d*?I1s|t9Y}F;s?D)d zB|AF~Dn8Q(J{;Wep15j-FtDWbBsdIhEq8-S4#z!saJVr_=R_x{gQ2nSBG~@N!~-d@ z9sbUscv57!W!L-NblBSs)+VW>@?XY>hwC=-nv^-mzXAE|e0HQj(dF-dRT4Kq*V-bG zG`C@*(UmUTPe?9npo&&>tM*}Xt*wWWiC1HzdcsFf`?O(_UHo#@=MK93Pu8<Kxu6rlx%_>^aiQ={*Lj_unLmHB<%37G$GVeu03s8!9yn=$AfOH}3xn)XBZ}*!$ z;|T&=&>bA|kq|3KS89{P@lNGr`onR78Sr6LW>1$4kgI#6bQusrg{?k`xwgHP9x^hr z!MDppd76VQfq|vXBuS(u81DgJG7k}$y%sDP9%}iP7{8S{99!QS z*``abpI{I?gvraV%tdJ_IX!v+Ycpz24K@T&#}5Z^XpQf-1yYU|lduCG0lAa43rUp=5!s;~w~WpLxJ_yI=(UuL?rZM?$DjTJE%Uz2QhPLG4g8T55MximL>eA25Db*ZQqPc;nCKSpNlb007 z1?P1PbBTly_H_xfbHRVT$Cg|xI@8|NM^2jEes>MJ7{cd2ejOLW9BL(uiE=;mH#{C@ zuUv@tzOUG~P*=Gt3l}r9rM(4QvfWS;189ZaNQ4ab_kI&=02=hfX)u@<{_W%~itXxS z=JW|lzQ<4LA_VzWl#gJ;ba`N>i+P2h*+glwNe$q>4Div?eU*4*F#rC~+h#8*X!iBD znw!A)Xrw3L$GcB?zhCCz<;5X1Vs>9NHx)2y%9G9&uX}0Gnc?Wta;j0sQ2-Nn-5iEM z7hfBNY-1_#$s1EnH6$N80|;2w>r=HHo2#zM#o-C|l89wfSk;ptcMz1BAKF8p**D)6JK^S#MWIt=x8UA7!4*4JJ>|`*uKWFJU?x+0 z3MDT<@2j8R?0=<+k(7|o_FWB0C^2hD7ZQh|%{>igwK4MJq@*%yJQ3%gWj_C~v`;Fi z?3FyGOr|wD?94?SR983Wv^|dRGHOa6fr3K| z(8jLsoUCQ#)YMSo$U`I&({B@}n!E)4<(L3lE7;_I00K}v=%X2=Ufh)S3!*zrUX!No%D`R)(W| z4>w*;Pg~eRs{;Od+Su7yjTGv4b#;9%x>HPvkpcX=*V0}B&6a|81DUUIaRg+d4QG2j zh@S+)gjd3?$II>=?ppe+APC-YaB?nz(KYTdXCBS^k>0ZJM*|h_ju`54SJr|~1=Za@ zi2y2Dm^CP-#D@AWudV$DC90Eq%cM*(&@^di$4E5H8)0Nv$y>1xKsY( z%I?5Slh@Mxm*Dl8CJ7upXz7&%sAG9}T0x5L1{e#AOEL0g)LqR!`}4cri3uO!3CEX< z%X7!aTh#*_ON1Egu~I1UdqECk!TZlo*q`sG&AoLRFFUNPi7i0Ye6K3tgIbY#!O)PS zFsA1;D=RDAbGcJRD14RO`tyR;(W1U& z0b*w7SgCo^=J8_V-=Hg3Cu>kfEW<{F^2Z`b~P=nntb6%bGO!sJ>ycv*{8*Pj2|vm4LEfbH*(dr zA;fnj)B^Rw#&f|@N5b$wXUh6jxUY0`ydl#?+Jx6E4TLSG?dpGUgW(FV<$| zQUZ)Teg&PmjY|+pH(omY&=$_T0%(>5-iy91-l87eiQF3BIv~QIEuY@uv{)USc1%K~ z3)MaO5HiZJ_k=O6o4dn`0~7~}D1`3yaO%ajR}b8<^wm}fB%^M|ZI2>CZbzxyf84|b zp*7K3g0o~yUy0PWhIhdGzM~c6`hvi!Jm858D@OJE%1*?;4!Kt;3=2O{ByC1+G$L`z;)1ord&VFTgInqB%yN~~FRoZBc! z+DGEuQBs`gHhr!0A(e0VV-3owFD2M%Gm4#r3|fc%{x?DP*fT7F%&^?eJUOOoMn>}~ zCs1t4&IKH5HRfz%Q40!-+FS;`enP;$6ap??1b%Z&Ex!Xjz{Z+4FQ@Y3z~7;%J>g08@(;Y z>ZmtB?AA|>=wCo=nRztqY3oEUT+I`WpB=2g7Qh=hBP{IA&rTa-lOb{jk@#O`Wk;}# zdPXVE!KpNjqGo#ct+1>^`=#=_(Y?ns>`*Hj=BqSp|9~I19ykTjl~Z)sg`#>F*+Ir` zH)QK92Ie4^$Y9WcTcsXYB~aFnQAU$UhFVp7l7G<#__0g4g?xPmLJ_>Ws#sP42Z!Di zjV<4;h0P;wFNWW-w(pVH$(W>_0s&WTrgfz4?Qn;|659NQfnmP=Y$ zR0IR9$)P2c!=HTvA2bWPgYJR?>aN2Ni!t2n;ZL0H;$*2M(oIZO9bC-wx6`_6X9Ka7GV6)eVoqmK2L>*9|!Kb6+*vPHqtE-!D1~~FWM%) z_#r!v&F-W@DkEw_JiX(S@CHNSI$deB5bh)2-G}}%Wjy@K&mQw%Bqd_`T9~|6S84MB z?4#nKjt6Ta?{%khYYkWHS4&k{nCNBk6DXsFI8HCQvYeZam)%@7ZJx^huuSt&3@9ve z^}24AfJX9H0ol9Ev83dSyV@a4OE4HQX9O=eO8kVNZTZ4Xhm{h`5N)jLra0S6rS>p{ zbRe(5+Fj?yZ;Ywz7iZ@fNF~{)vHXlDEJKs_wJTEMwYdjL3Cyv{p5~P1hjJ;&p=m@! zgY{Jg_pj5BF5+t8VZap1XH6c*)2+g#f8PjwfcWa`j6>f_9$69z%9IE5KdOf+43I;5 zsdND8MwCy_>qwG)yE*7JC@Egul^N+2isF%BJQJ2B8Ba`{59~Kqy9o$@hyuqiT=3!V z-K4zC2XBqpj+!aTT`%yl}$@0rUVcNGNNbpu}n<|C{4Z zylXqU@HK2H({Eef%+OMpGabA9D*qu{bRS=p1?IJ8-DA}Pl+kkF*HDtDWDBuk=$of_! zp9yj`{_)fxcP#v5ptrYeSXchlm*DG5;IHztXQJDm{<;t|NPgdY^EIJlr7KT#J){|Q z?%9)whX7y#c>u6H(+}>p3EzYtw&LSMuE?CO=it(YvW7(%gN!$vh+3cx^a~MhOnoF5 z&^BYU>Vp>o}o0AjGpLZ{0y`5qN%xBYA#0+tcK` zTcbu6G56a8f5dop*^h`2caTU_{!1^4<9{1fmbDa(IA zO3{I%Bmi=Awn@3Az)z3OnG(R#1}R6SZ4cGT!WvOXOyQD^(|cUL^mp!3ZngJK@V5lcuvaKLC0YODioKdC zz_Wh5@>pdFaDdybV`M{d5UX8CJ^LycvC`|eC0a#=N0-e2S(p1|4CD~zyG~9PGUx09 zh>#xkl8&6Y8b^u{bX#8LliLvy5fxVLFdP$ksWXN&@*T*W7T$$1wpI_wMT$9%aS4tY zARorv)ee4(5?!dOewc)Y^=w_w33GRPvcYXBQFk>r zFVAecYI?QJKH$%==Ee9p44{757GY_qwqfZ-{>w`1PAiZK z3Us5_%Q7Y16n(0+nkCqxN#&050?(G1k~sS|beiAgH00o$Ah){`Xg}tndfz@W=zT)b zmFD^>e5EIam4zkyituh(c^YnyaL`!NddWoMXID{8tzq>Er9M! zWL&8OHi3c&u%j>yqHbH_xVP*kv;pKKebqS&CuX4mz&*#siO0D2S}M{2`@`$ngd9$+ zArUNksI77eXATc=Q0z8wMF39h2{-sBFWkBw_tMN~9Hcu#``|B5Y~BF;qe;=}^3P0X zfC)9-`uyh~u{@kTaYWB>;AYwc*6^PN{bz^%|9Iq%FKMl zB8~Tqzvo};-n-U)ci%i~&Agd8XMgwEXZQYmqqH@Zh+%XvJUl#N6=iu{JiJSZxGy0A z_$91UXc!Lzpd4k)d0a-!G3xBWs1!yE5OAdU4b~e$o+;Ua!oB|fs*Iw!1e2!`GDQ9*0G40*_ws*B=HE*2Z}a$n@dVJOgN-kC zi@kBXr{^t8$!ZV#82!r2dyqKi1E0d@OyoU&bTDqT*F$6VeKu%E!NtYJ{sTdLJkB8r z0Out8_QlJWeHy|u;c47PNH#Ww%ZAi!z!RbSIZ){Eeh*7aCZTLk>5{9vug+zQ*q`^{>cv24!`mo)y3++GMv?Nwm-z@yJ;K@ zL}T3Ol!TFHz(HB_q;j2@GyvnPBP1J-(cNqCuH9ExbjH0_+4A~mt1hy0D6~Oe|djiVPm!o z{&3f}_{fXNFb#<`My65WXf=oeqIVV?26eQ{K=rhFq^ST$$yXz{RFSYaE zf1jNO3D|zU%4_`=&pddqC!J$=cfR{*W+x<)BhOzpAo`b9=t;^x<&PGR#o}L2|Bn<5 zAOSlahqbmnFjjVUBo`Oa;fx>i#n1ddh#NO#j^E72Gm58n(pa5Xw)^v8T}oo^*WHZHGpL}Tpvd7jFAqSh*;$_GI_Zc{5Dt{Iy zoQt-aXkmi6l1_{vn@)9vdvT(D>K1&jWGCR~%Bw8xy@6sbz0$Xfdz_xeuUrgL>Nh5; znn{&{yEqp_`vt7ytyxVWpu>iWSyOHo9`_c43~w#5C_9znPzo!VkpJgwbuiz^&~Tx3qh=9?4UlI08MK5u1OIWIpHT8@~FtczCeb zD2g=Ox!|91^{UQq3P;5oS|FopBN2f(&6DZ*Z< zxS)#K)6DCaX;k6H&r{RWZ6~Tsjux5!VDcn`Ztg`# zMy=?24->E^`*g^&PK=gbTIk-91k@S z81`1yLTE`Fr=CU|oil_i|KnuCJT)A=F0Penu=Y z(8_6Y&qr|V=gJ^efA5dCziB>em0R7u95GY)CRm(H1>M3qniPUm)zb3Q5&G;07Am5{ z^RD_naOO6Qy3_G1dB66_WTgCx47$JA*|SPnnoI}5u7#lJYV*}JZGqHzshRC*+}hjX z*}Ktm%dCl$JSjjM!SDQxVd#~#A(gp^5LF_BG4@qJgE9g~vo!X|fAM%VKf$%;HNnfy zi`LI3@@VBA=li^0E{qMV=O^`1p4MbvR^B7gnAEA)CGOp+Wb~R*eKlP0D;Jom^<>x3 zs+)KoZZ{F4wHVi*jt!`)>9KT(M}LB1u$R^5g~O`SqWP(vL6Tg&29)&*wTJtx8#Ttj zY+4sVay-go-l9E4JUo)n`}%j^3uGiiHcXj>XJNX1iU(fV)L4RI*exPsj{ExBi^JB| z)-+f^)9se?((cwHJs+RCA`^Z6)YkoXcrK@ZbS+GXN*ZH}UabhkRmWXS{HAwxVpZ(> zXt>DVJK^G%;(0c*o$^A|<+|A;c#Exe>H1_fmAZ-wpMGau{nNifgUOG0k203b7kSv) z1=TIv|4itO%GOhiFAu#Fv3lO4DBEb-e6b)(Xvwb>_^k;N$h>ZCV&*PLX{>EuPU^Va zrClbgPkl@kkp4*Gl>>8nN1K+fv3h6Kol=YGFWTmNy=|%8vgpZwd0y2g)wNPI8z>P|~OJnYm;qfvWMJeRRn9nhL*@|t&| zvdJ~(ELuWM3VZ*N*8N#-(VM(>-qORgGgg7-7ME^OVrnj47n3tD5+{{6NYimdi>e@w z1?xB~;uQZBM^7lB&`y7dbP=!y-y87ixh~c1VXdsj{g^_OY>wl|g;NeEdtOfB#i&Rw zM>XlyPf2D;VcD(B&rx)Q521w?&#FH=(Lj=9qh&bZ#9nXLsW8SisT0ShTl1@ITq4T} zrKpioIkZ#edv}@=RI#-i4Q`!tlPO{+e>3b*%dv5~Teg$5drXxR4wLV`W@wZO(dmmS z!GmG9P2Q>*@AD%9p!M5MLLuYJ{*xD5H`R0puc_XCz;oLC#DcHY?nW!tpxLyOi3!8s z>@Ce8^oFzcH(+hX4u-DsgK51U#rMlbKJF4{T|1L14)MYZu&XSKYk$ID5@U zhIE2y{jml|J)96CN%4ZW(u%3x_H2Dp@D7^^B6RxG6|d7(+jn2ic?GJkDTFYeuo@Iv z*+MO)zFl|b^EuKv;i5b(nm@ohPvPF}Lf=>ZIc}>L!k#DQm$C21OkGk`GyCKnmqUw4 zgYl1p-+C4P7bxK~-qF8(CTEdklobZO>@6khQix(YnYF~9f43mn;n6Lsv^zLIa^$c|L7S+L4$W6L z!cR83o{)6C>?8Mca;=@6=Q*2y_P0dW^1TBcbg%C&OfZ!hFd{{8O74bc;)XRL`0TC>D| zEcKY5zUSbld>1pMPYij@S!8UYBAN1q(a1*%Z4j{f{mrG@Kw=yDM zMYerE9dHm4epTi1O zb|{&k{o(rfV|OYbcbGP#rJ@WtUmV!Dl|h#4zep$e$t%V(Urrg?ONsrIQH$OCD16Q< z@|sfm{mrhsr)@0U6A7tnVrNx)m-5bkGbr5tuypWNFgIbb`iuwv`@8V_N{Qc>*?1mN zEVY@EhWtWU&is6_&U;mf2itP7sQ*ve+;+EG2f<8LvZ!sqP_r@J+mR5l*P@PqUeFFt ziNa&9?D!5#!rRIeCx5?&5XF>NLqLokx#ix|ce^JZlOJ-zRajKS7ku<^Ic8yD&Vhjv zb1hoYHXN?3=?r_rBYGa5AhP~g=cs^}(d%Tn&`Q@~&Cr51FmTfMg9i49*5}&^^sY(Re zOie3k)7?P`Ln17Z*>qm+oX^I@{L$WGrbIw}>T6lF@;fI4rdQ4Qg_$QBb@Q@L=AQ$+ z*bPqxmJhAM1%a{euj(RNM{_NbAkI;v{gQAFH|MXsg^^5wge*$&*pdv(n+`SF2wh$} zLULKe!pcUk9b?*e8NB67%wk7pElopwv4gOmKRjs&m*N&p22V*w^X>{i{a|f=^2CBR z^INYHQto*v>Y6%s=Y=j}X zZyd?(ASu*y%gop^N5EMoO{>+=$}+0x%scSP=Ej*Il*5{i873#FdH*ULoRxujesFeh7n|^9{D)FFd-uN9~pUpg`Cg4H->}ov8ek za~jcT9C-QBX_-}Hm8lu@XyG8jt%1o1;c0~Mz3&|K{p}?QkTv3p;*YOfjedB6S}I=O z?kyZbb|{H$PV`MJ=6t~a1&U@aO|@~!e=<1aYK|6QvHnGFNRMLVhR5k?xO>3lYfzit z#ti!x&kyGwcz$4EXaAdOO#gt_GyI2|Acf*iT12Sso`%HSf@Z0**d`=;=Sw5+7t$9@ z1RB8PVY)an#jHKgL0D;{0FGuM=H)8uXKVXNI(Rc>*_lwFZ@}`n!l- zisBU?mxfrDesbjgXUk{zEGjc<1(bA*o=XzSZ#376v3oC-sheg=QDR!>QUgl5g4K0` zo0fXL;%`C%R^{1MT|3}b5mbkAobXi`YtWzU{vAof*B>)=j|2xlofb*mq+=v~6Vo-q z0^enGdZtH-VK?V-BfA8{B0std0shbhSEw$%+(&nuJ)^}4f9lC2k7NFHb=+@OJ|o>k z@(?Aq-0}3x(g<(2KyQ{kXOOA1N_k8(IDWnOcDd$SaYg8VCm4v2TqleQ4!mh_92?YU z+*vOi{)J+NptW2Xtvpo4gl44)i93p3j25tc5kscu1-oeR#_Cglcbcn&$BzBx6Nky0 zid|Pmf~bO2w|FjFg?a(eY4KY{{8Fh3pA0Qz|1RUxL32nttdQIs7gtOtCWBs6RdP-H zMJSJr;+7_`au*%^6e#EReW8*|#@(FmG1JzAOL~a0u>ll0kv4+dW*tT)i?AidB)2-5 z&m9;qYIwgaV_NnZJ(8Z{kQG(})FOG%-Xa%VgJY+KLPFIl{Um)-iaM*z&fE0R!t2+$ zjZtBcIy}#Qc3DFCP3145O{P;xHS=6m`(k$%+7DU^?Jhyba>AZ4EpFu;-eK4{@G6PS zQj(I_`F&h|*o$0TQ{o&tVmhmVFIrk>+@ph3m^YW8K73WBFx$@T2SUct-o@&yw zy)xz@!ys*hi%JEzQLXLM*2ni$74A7AAD#JY_)N>$fDDGG@+dWGt?(!~s>SE_tg?}h zHsS?u1y`{W!edz}Dc~0ie(+wo>gMCg7b%$E88>&H=B)9VYBXpJY9pQ{J*|4UiGC__ zkPuo-<7>ai9vjCyyY(JHi=i4HU8_zr;@X6&O|uv#`=1#@0O|CbfZe0--kR&KGz8z zdj|&<^h@ygr8@6K@a$ZOGva$H@SG)$k<1~qDeM|ui8thm{~-XH8MPjZisqmtsI08~ z_L-n7WzZetS`;i8l$?rX)qnRBvB9~4>#TRUntsPBJ~|q9cJigO_d)2XnY@zgDY>j! zr#?tAMR|mUX+V?i-3xaf{JG2;nC zGh!%p_!NibJ<`+RP&Kdj1IPDSj0)Xsv8hUu6~ zQ<7(idO6zNN}^;@+Eh{_I~}F?TV6O~CCjhxSx7qw?haqMQv0%?UZKS%jhWU3Nqenp zaWuqMvTbyWNZNTc@{LJU%Lc~`@xfMPf)jK0(fWOz)vG$IYT?aIkb^h!%Y2)g?adF{ zSC_+jKV$_5SPj)(r_;v_BKtlBKhzHNPl{{{8SB>mmYQ0c-}i-n_&(bBb;;ILY&?VL zNZHVkK5U(?^Wdr;cl_@sHJR-@Whp zeb3kYow#9b=99KX6%Tc|5+8;)o_G9J{;wcQkU7)pm-}`|E9T9~u9<@=E@pLqJI$$q z4u5BCX&Db1S~gwbM6`Ui;go9{kF^o|S$R~WHB`!toeUb+tVOPU%l=r6rp67it6jhf3AM$1ARqa&n0CqekF8f_kp^88$J?C z7G9S2Ncz`|d>LvE!HaRiwQf`O)CujkELtfqUm;1oTf_wy zW%!D*%|O}DfnDmk?AK~i@SuehIgKuq7=hGkXuTSuJ!+PpUh^b1sv@O^5n6`Y)btIa zR^|-@4phcv-e^#qVnNX>B!RCyCduoGR`JAbG=}3PFz_D~MlwC*Y^EeyKm@iSd@aStul28;Q0|rtjF1lrmct6@_ zNQDr8KtU3`qv&i>hhs()t(=V|A(2N<<}$#F`7S#{tq`U4s4o#}?j@tQ(Yx$oP}{?b zp6K6PaBj{>7obOL7&WPx-!OK7wIkgOtk3gR`wSy=NLopsVJw zFP6ND9kDf3gbxb!5V{=oa!+&+z8s~wF9Gj#-ZO1X3b}Vs0WJ@IOx6C2nfzgrYs!F` zR9_yr*4u=dQ%fa}GMjSc4Leo#O>$**gXjBu*swd#2U^07e@T=M(-3K7F1f?Rp zV16B(vH~i)=Kt{O)(8jVQTNBE5?t|1pI&vWc(mzH0mZPdRuWHkzT-z(oN>uTY z<K#*3?&sD(lJ`prJv_aVq` ztO|7HxCN7E44IXGFc3A@r7P_BO+OmKmw5|@MW9kDzxoix;H)yGtcj&d4?*w=g{H-K z^7Ijhf=Hl|GDL+LNSTS)1zfKA63Vwr->9kB2*^hbJq#e)5V$2Nx}xD-gK9jR_-2|8 zh>A*b&^*z&xkF{oI33-69$J0;2y)9^4{?H{Mu|zEduBGIiy*jruM|bDO4>9lo^U0q z=k$B!t-evIP63g}O_jK{$@=xof_quzaVpLbkqTDQ<%$l0)mSYXXT@F^HJBP*lNHiK zSa=FYY%xN~>5?oCQT2zNQD?JuWcZ2ymBB5Pbb$oUGun}R-x%GXE!lqhkwC&6ohhL?$8ZS`k8T2o1<;|j{5xT9+PSHNAh`6*d{7)RW|vYqQy>^j9sD=z`n2`+!)H5!>}J~o);`X+oilL4m4+9E#BIt@_Q~^l#{ACw z={yihWy0ixgM*gkbTeM}X@Q*3i(})?5J{=i&ASr6KFYkD`NtjlN;Y^9!k6pNQut{5PA^uU_{si?K0`S74Htie(U<@lHuvuj0;6?}I9I&6 z?z4s8%+nvA%Ivi;r9>PwuIF4Bwp`vRsFd*?DYRNszmR)$AoEM7YL#N z6IJ-VO2YZ+q1`|-n~28(eyiV3jrqvn$VihpBG+;|{A}-d1TCK*t*Gxqc{UaDq~o3s`9q-ESd-&I94YXpf&BCCAjXI5$$I5# zHFrfIfZ`#rpPV#q9K~Tu<+1o;!=TkY|L?bcB3n7>I9@J2B74GR??VHyDLH98|5~-M z{fXJ_nvedqDng_1P%Q|V98N$tfz}@L;%v8fofYnZlSD}>a5-QYg+PHP5rbcdYk4?T z(X`>}z=!p(vlgI1z`c|XRRCKP!57aY_wUqM;B9>YCom#@@I_Rngb{#?B`~I@ECHS+ zWc95$0ZaKyOC6ojmb97^(-XDXh6ASaG?Ns3bp#5Xi8qc?hGFr*NQ0V&hDB0xrrz;& zYyCArdR>(;hz`+Up)Dmwp};{v4m1k-Y45Y6&?4MHIK?5W7pBC-B#(a_4@5ZMBVX`Z zLs0S1oN6;r>z&wV=*Mz;ss9LWIJf5 zr+%dpxRga@oD-h%_8D0^H~en-U>w)|Opa}dbE@TJ=Cp!VqgVSoI)XaNb2;(#HV)qi zhw(gd@}U4-6n2y#H!IYZ+Qe%yn*PTRvoRgM7RdOF=GCW>Qb6WX_Z`OzQNu`AS#uZ` zznnet*XO{*3rn$^1O^2wIdmyzF=rs~GfhFS>qcfJhsRR9)60a4`l}A9m z9@LttTQ_r+m4o97w_%mjCBFr1l*mr|Pr5(t|C9{x7J6a=NU^CEPVOHkH07b(hToT> z%c{39=n4KZO__<$6}OP``-WIb44TMJcHH+4Tu@z2Rh2S8{h0ufT*Ty|)pAlGDR%J? z5pa)x;Z2<0m`;XyS@5>`*{7-}5WbkI*B)GOuVa@uO?3DT!~dDx8@|yUQhI?Zd{GDw z5}`KecoF7=@bE+0#`hK+joDV5jgTm!Gb1KGzoo=f_zPYsL&+j4tE#X7p22tjn@B8! z^B>}6Wh&*Ll$cvqpDuDEQjDH8yD~!ykIm;XFiH%|*vCmC7^}S0tp6f02u#;TM@KbO z|CQ1=N~CPbAaurcl#f}VK0kaona%Ih*}<>^jim&oDD|F7Q4!GX$a+MDG(pV5?(okJ zYYSPv_@VnGIf<=2p<0+&2x?1bs&`orQMxeB0A>NP!*5_o$iyb!EedFGWZusdT#^-@xy9v^DYzLA0+@*5fy4^1eAX{4(DQ~ zOHj7)eTd~xl>ROfgKU+ppT$yhjUrkF-drJfk=<30r8)O!X{-cZi=4iK8!oQd=H#VqDiAihhZdO2t-&@KArC+-~sKks-uSY@Zl6{Yw zI1_hc8T1}Qk}_bp2{Si~4#IGZWR4n2o|j~&3YO}E-m0Cm11k)xIz9ij5Y=_pQyp}T zEpKwd19+-q<dz_4rzpWaNYv=4Pe10^e7)2_p93 z6(dCQPZ_i_!L*`C9hdP+uX?JbcJzAQc&Q-h=|&hDS>v#hK{q|XK5^XMJh~q{W!-uk zG7fX9FnLl`#>8{rW<)rMSkEJfbO**ie?|xi8M+KFWK4jAM>mdJ?*;5(M9H26K9B@{ ziwpiUNxT#a!}3)S&XI8tvIgHdNPE~d=}%!1wB2rCS=^BkQ8*Nn_$z?iMO+s#&DGkB zyTosz^Q^Aaw>e_tAftH}HxdSA(su8iCbi!JO^Eo9#fn6+>c$|5+u}i;$=6^%vM)Q6+YxVOcuPFLD8#-b{e{W()MFF_t(42AAUsJ zO7oIxkC&+i&<({t(Xz>sF$h(M$xDk5xr%|uPZZ?x3c;|(zONyCy&vLU;UGZo!85B{ zECZIQ%tOx)ZoP1yZX_}?_fS~OzXOa3AXpv(PoQXIHR!ArFt5>gDwwk`ydM>Mioaj10sC47z*&O-7T91YFxzAa!H1u4rXg7c}lnEYTUYJW5RUGXIzseHl@4 zYb%}WMAf^k=DC{w=b?Wt;M_3;=vW3(@|PXIpY8wYJYJ!9n`t#jLMbW|7*?A;y&)HY z1K2z^X>=lU9Lb4#dX>g@?c;M1&m}^~_s>dp{ZF@=)5ev))L59EoyXjHL%2sWkn1-) zWqkXa>QinwjmC+iMG3HOaU2T|(@@yK#huVUZT0(3@P4xg9Zvy(=R25tbghjR(L<30 zhPt|iRs8Y+b)KRCb25Jrh#L)o*@5xv@Po~U54O{d&Ke?w=wI72^fRqKu6u`t?Z%J3 z`Fyd6M#;Z^^XPPa@TL)>wbsNGSS+RAWG`o8Ehb0rtur@VW(5Q^1p@=Bo7~)d9t-jk zfId7ULF&($*K+X%fZB0ZMgjh5zc#tc+1T7**LYTpDVrxx7x}>~;jc{=X*{a0ua6KE zq+0AtF#5i_va-PZ=O|M5V#aUI{p{4TBao|-)FX5W%z~mN=mveZznOR~aKhjB^Snf% zjpK7NYV8p;UzU4Ho`IyE9$-w8$#lK0alqt%BBsl~hu7&K>g$~?8DLn6ra+_@v@rQu zi_o15?x4-dI!cVHqiM7b!qh4E_Ru-1@va^5Ymg~YNeDlfjm;JJLxO?D69QrvB;4bC z=0#CsBPACXm!aT2XK_thvwwxjl0~60aGUv_uz#rkpwkUFvj)w;asRR zz#e%l6YPF}_avK8KIf=PEW8S3t9#oy0nSeglTBn(A+H0kaMl714qm3e9>)8z4k`!lm3)N;g#%L*A(D z`|r3oEtl;u%nGUp6(dhKu#Angf-i@n*D(UMUsOa!a}9YA%j1jfvwIXs7ZUm_bDpM! z>;G~JIYiKcZQbo##0vziM}!)_?zd{h3?AQp^(sO~7ZE|mA0`8YBok(6=!X;1o){1k zA(qDyc^hiWZqaK9N+}(=fg28go&Hmt)6Yz^*z$PQuM^}wk*E*`Nm3YlEP|7npgJzT z@Nu_IFM`OEHKp?eQum~FL?{<%!PG(Rcn)y?tZvVExPgU6Ol!+gVr~Ra82aL#N+u4% z4#s3^oGAmS*l;|E&5WOYntp_*RE^X`RA z3P{CNo7M^ZJfyRpv3`@K$;!$;cdC-zd{a5yuBGnh&U+Rh$UehBdmzXX(sgxI{Cl4I zGQj1^zWYni`k-;h<1nFN+o-A$yYYY$Bfc8{DM$k?A}L2APL}m_h=^lKnJN1^gb2@H zoDKR%nv3iJPwdNtt*i&%*gAHOR@|QyODkRJqK7a{O8-crRZotXhIbJK+?7M5>F6A3 z>5|{ReMiask>sqZ#yg#S(&juK0re~hU+l+ZJW32(=CZ&-I7L!UQe$jaU6#T`YY;-o zHrV*n^UEv7?OzLDFVRX;f`cpke1cm7y)jzgL+_OV6%q2S?xO|U?x+QvO{hV% z5$V?Hp9rDI$f9wboJ8RUsOQb;n6id?-jaf_LsV6swNR51dXmt}^^>Lune$e|^gctj zsqV?(09@Iu?N)SkVE)K3RVoduP9R|Wj_43w@|-^Jgzu|-~t-e8=yt|jXI!2$c& zy(1hBT7}^s>IW$?4&`yeOF&wCI*m+dySp(}0iePJl^n1WOSgY;hrsPpXIdtSDAa4f}f!)Jcj^}qqb9sY2AW5eTzHS+E?7(AEUtBl2Io05?QQd6&u|Q@kVD{lA4v_zrO1WJ0;jcBF;e2T; z6Au9Z8yc&s+UW+m)@2c{nnA0I6y?DexGSpOI+S^HF$u)LK$YHeY`I8kE}qmeDdb(kIa zdo#+U!SMz+_fYH#Pn-#;@G>j|iOibs8%%Fazv9M*#$rMh$8_}dizSRb0oK~?bGc5E zfIz$g6pXl`tZgwEKOL!)H5M>@Tg(gEj-o}UrloP+akBicu_7Wb*bJ21GyTNPcQmVz z_llGf6y4l-utVh_LD4g;P4WilM0i?S+8`_!5>-6>g8nM#oTpTm_-;<3L56jjdG{Vk zsd^SUAHJ}|e!(3*mj zX}j}Jh{VOwqH#yytNr_wP;#=0aREZy6e8%VQauWXrKXwyr8mn06DE`E`1p7*T8Gg7 zXm@__X!C+0zUn&9?YoviTdzRB5`$EN$y1y7_26oem!KjPc^93sQLK`ZN}*fKxWJOL z;MnSKjXL|%`enoC06qtx`9NKi0&*+>fT;45b2+GwalSlW9*rqWTX~;dWF7X>C~`jAQpZw z?iH^5Yoznw7W~jS5)z_8er1hpUM!z$_4#%s@l8$@*Rq&Wyf?fCzi))lY^qzpz_inOSXv z4$gcYN(0A!F1kdBdxh>THCT3Qa*7jYFD?0?#dN{oiH{>-eHARD-gHaFy#@143rH%I zL==J}Q2P|jo38o_sp7cV2Cu-hNJlbU!V#F11+CnFALrk<^Z#4fb~{b}+|}aPFBbtX Pz2d1TXv){fT0j0@OBsAq From 30bba263ec1d9e3c61bf0b35c866127c2ba867bf Mon Sep 17 00:00:00 2001 From: Ricky Reusser Date: Fri, 4 Aug 2017 21:21:08 -0700 Subject: [PATCH 8/8] Fix test and remove dead code from bar trace --- src/traces/bar/plot.js | 14 ++++---------- test/jasmine/tests/bar_test.js | 2 +- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/traces/bar/plot.js b/src/traces/bar/plot.js index 4fcac9c2824..fdd5bfd33c2 100644 --- a/src/traces/bar/plot.js +++ b/src/traces/bar/plot.js @@ -350,7 +350,6 @@ function getTransformToMoveOutsideBar(x0, x1, y0, y1, textBB, orientation, const } // compute rotation and scale - var rotate = false; var scale = 1; if(constrained) { scale = (orientation === 'h') ? @@ -365,14 +364,9 @@ function getTransformToMoveOutsideBar(x0, x1, y0, y1, textBB, orientation, const targetHeight, targetX, targetY; - if(rotate) { - targetWidth = scale * textBB.height; - targetHeight = scale * textBB.width; - } - else { - targetWidth = scale * textBB.width; - targetHeight = scale * textBB.height; - } + + targetWidth = scale * textBB.width; + targetHeight = scale * textBB.height; if(orientation === 'h') { if(x1 < x0) { @@ -397,7 +391,7 @@ function getTransformToMoveOutsideBar(x0, x1, y0, y1, textBB, orientation, const } } - return getTransform(textX, textY, targetX, targetY, scale, rotate); + return getTransform(textX, textY, targetX, targetY, scale, false); } function getTransform(textX, textY, targetX, targetY, scale, rotate) { diff --git a/test/jasmine/tests/bar_test.js b/test/jasmine/tests/bar_test.js index 49b16bd1c9e..6de79cdf40a 100644 --- a/test/jasmine/tests/bar_test.js +++ b/test/jasmine/tests/bar_test.js @@ -95,7 +95,7 @@ describe('Bar.supplyDefaults', function() { expect(traceOut.texfont).toBeUndefined(); expect(traceOut.insidetexfont).toBeUndefined(); expect(traceOut.outsidetexfont).toBeUndefined(); - expect(traceOut.constraintext).toBe(); + expect(traceOut.constraintext).toBeUndefined(); }); it('should default textfont to layout.font', function() {