From c87ccb33f7232727dbf7bb32589c3767fb184238 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 24 Aug 2018 15:35:18 -0400 Subject: [PATCH 01/13] Lib.sort faster sort of already-sorted arrays with minimal penalty for unsorted arrays --- src/lib/index.js | 1 + src/lib/search.js | 41 +++++++++ test/jasmine/tests/lib_test.js | 158 +++++++++++++++++++++++++++++++++ 3 files changed, 200 insertions(+) diff --git a/src/lib/index.js b/src/lib/index.js index cd9f7e2ad6b..0448e9599ba 100644 --- a/src/lib/index.js +++ b/src/lib/index.js @@ -62,6 +62,7 @@ lib.sorterAsc = searchModule.sorterAsc; lib.sorterDes = searchModule.sorterDes; lib.distinctVals = searchModule.distinctVals; lib.roundUp = searchModule.roundUp; +lib.sort = searchModule.sort; var statsModule = require('./stats'); lib.aggNums = statsModule.aggNums; diff --git a/src/lib/search.js b/src/lib/search.js index d2684f4b79e..6e626712dbf 100644 --- a/src/lib/search.js +++ b/src/lib/search.js @@ -113,3 +113,44 @@ exports.roundUp = function(val, arrayIn, reverse) { } return arrayIn[low]; }; + +/** + * Tweak to Array.sort(sortFn) that improves performance for pre-sorted arrays + * + * Motivation: sometimes we need to sort arrays but the input is likely to + * already be sorted. Browsers don't seem to pick up on pre-sorted arrays, + * and in fact Chrome is actually *slower* sorting pre-sorted arrays than purely + * random arrays. FF is at least faster if the array is pre-sorted, but still + * not as fast as it could be. + * Here's how this plays out sorting a length-1e6 array: + * + * Calls to Sort FN | Chrome bare | FF bare | Chrome tweak | FF tweak + * ------------------+---------------+-----------+----------------+------------ + * ordered | 30.4e6 | 10.1e6 | 1e6 | 1e6 + * reversed | 29.4e6 | 9.9e6 | 1e6 + reverse | 1e6 + reverse + * random | ~21e6 | ~18.7e6 | ~21e6 | ~18.7e6 + * + * So this is a substantial win for pre-sorted (ordered or exactly reversed) + * arrays. Including this wrapper on an unsorted array adds a penalty that will + * in general be only a few calls to the sort function. The only case this + * penalty will be significant is if the array is mostly sorted but there are + * a few unsorted items near the end, but the penalty is still at most N calls + * out of (for N=1e6) ~20N total calls + * + * @param {Array} array: the array, to be sorted in place + * @param {function} sortFn: As in Array.sort, function(a, b) that puts + * item a before item b if the return is negative, a after b if positive, + * and no change if zero. + * @return {Array}: the original array, sorted in place. + */ +exports.sort = function(array, sortFn) { + var notOrdered = 0; + var notReversed = 0; + for(var i = 1; i < array.length; i++) { + var pairOrder = sortFn(array[i], array[i - 1]); + if(pairOrder < 0) notOrdered = 1; + else if(pairOrder > 0) notReversed = 1; + if(notOrdered && notReversed) return array.sort(sortFn); + } + return notReversed ? array : array.reverse(); +}; diff --git a/test/jasmine/tests/lib_test.js b/test/jasmine/tests/lib_test.js index dffebe8ae9a..e4ed92e3a3c 100644 --- a/test/jasmine/tests/lib_test.js +++ b/test/jasmine/tests/lib_test.js @@ -2189,6 +2189,164 @@ describe('Test lib.js:', function() { }); }); + describe('sort', function() { + var callCount; + beforeEach(function() { + callCount = 0; + }); + + function sortCounter(a, b) { + callCount++; + return a - b; + } + + function sortCounterReversed(a, b) { + callCount++; + return b - a; + } + + function ascending(n) { + var out = new Array(n); + for(var i = 0; i < n; i++) { + out[i] = i; + } + assertAscending(out); + return out; + } + + function descending(n) { + var out = new Array(n); + for(var i = 0; i < n; i++) { + out[i] = n - 1 - i; + } + assertDescending(out); + return out; + } + + function rand(n) { + Lib.seedPseudoRandom(); + var out = new Array(n); + for(var i = 0; i < n; i++) { + out[i] = Lib.pseudoRandom(); + } + return out; + } + + function assertAscending(array) { + for(var i = 1; i < array.length; i++) { + if(array[i] < array[i - 1]) { + // we already know this expect will fail, + // just want to format the message nicely and then + // quit so we don't get a million messages + expect(array[i]).not.toBeLessThan(array[i - 1]); + break; + } + } + } + + function assertDescending(array) { + for(var i = 1; i < array.length; i++) { + if(array[i] < array[i - 1]) { + expect(array[i]).not.toBeGreaterThan(array[i - 1]); + break; + } + } + } + + function _sort(array, sortFn) { + var arrayOut = Lib.sort(array, sortFn); + expect(arrayOut).toBe(array); + return array; + } + + it('sorts ascending arrays ascending in N-1 calls', function() { + var arrayIn = _sort(ascending(100000), sortCounter); + expect(callCount).toBe(99999); + assertAscending(arrayIn); + }); + + it('sorts descending arrays ascending in N-1 calls', function() { + var arrayIn = _sort(descending(100000), sortCounter); + expect(callCount).toBe(99999); + assertAscending(arrayIn); + }); + + it('sorts ascending arrays descending in N-1 calls', function() { + var arrayIn = _sort(ascending(100000), sortCounterReversed); + expect(callCount).toBe(99999); + assertDescending(arrayIn); + }); + + it('sorts descending arrays descending in N-1 calls', function() { + var arrayIn = _sort(descending(100000), sortCounterReversed); + expect(callCount).toBe(99999); + assertDescending(arrayIn); + }); + + it('sorts random arrays ascending in a few more calls than bare sort', function() { + var arrayIn = _sort(rand(100000), sortCounter); + assertAscending(arrayIn); + + var ourCallCount = callCount; + callCount = 0; + rand(100000).sort(sortCounter); + // in general this will be ~N*log_2(N) + expect(callCount).toBeGreaterThan(1e6); + // This number (2) is only repeatable because we used Lib.pseudoRandom + // should always be at least 2 and less than N - 1, and if + // the input array is really not sorted it will be close to 2. It will + // only be large if the array is sorted until near the end. + expect(ourCallCount - callCount).toBe(2); + }); + + it('sorts random arrays descending in a few more calls than bare sort', function() { + var arrayIn = _sort(rand(100000), sortCounterReversed); + assertDescending(arrayIn); + + var ourCallCount = callCount; + callCount = 0; + rand(100000).sort(sortCounterReversed); + expect(callCount).toBeGreaterThan(1e6); + expect(ourCallCount - callCount).toBe(2); + }); + + it('supports short arrays', function() { + expect(_sort([], sortCounter)).toEqual([]); + expect(_sort([1], sortCounter)).toEqual([1]); + expect(callCount).toBe(0); + + expect(_sort([1, 2], sortCounter)).toEqual([1, 2]); + expect(_sort([2, 3], sortCounterReversed)).toEqual([3, 2]); + expect(callCount).toBe(2); + }); + + function dupes() { + return [0, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 6, 7, 8, 9]; + } + + it('still short-circuits in order with duplicates', function() { + expect(_sort(dupes(), sortCounter)) + .toEqual(dupes()); + + expect(callCount).toEqual(18); + + callCount = 0; + dupes().sort(sortCounter); + expect(callCount).toBeGreaterThan(18); + }); + + it('still short-circuits reversed with duplicates', function() { + expect(_sort(dupes(), sortCounterReversed)) + .toEqual(dupes().reverse()); + + expect(callCount).toEqual(18); + + callCount = 0; + dupes().sort(sortCounterReversed); + expect(callCount).toBeGreaterThan(18); + }); + }); + describe('relinkPrivateKeys', function() { it('ignores customdata and ids', function() { var fromContainer = { From 1f4898c7b638aa6711c6abbb6691cfe3a4024e1a Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 31 Aug 2018 14:09:19 -0400 Subject: [PATCH 02/13] fix a bunch of edge cases in cartesian autorange --- src/plots/cartesian/autorange.js | 112 ++++++++++-------- src/plots/polar/layout_defaults.js | 2 +- .../baselines/autorange-tozero-rangemode.png | Bin 26673 -> 27370 bytes test/image/baselines/axes_range_type.png | Bin 30102 -> 28357 bytes test/image/baselines/contour_log.png | Bin 55770 -> 55742 bytes .../mocks/scatter_fill_corner_cases.json | 2 - test/jasmine/tests/axes_test.js | 94 ++++++++++++++- 7 files changed, 152 insertions(+), 58 deletions(-) diff --git a/src/plots/cartesian/autorange.js b/src/plots/cartesian/autorange.js index eaab8f37b5d..3343fb4a899 100644 --- a/src/plots/cartesian/autorange.js +++ b/src/plots/cartesian/autorange.js @@ -87,6 +87,13 @@ function getAutoRange(gd, ax) { ax.autorange = true; } + var rangeMode = ax.rangemode; + var toZero = rangeMode === 'tozero'; + var nonNegative = rangeMode === 'nonnegative'; + var axLen = ax._length; + // don't allow padding to reduce the data to < 10% of the length + var minSpan = axLen / 10; + var mbest = 0; var minpt, maxpt, minbest, maxbest, dp, dv; @@ -95,76 +102,83 @@ function getAutoRange(gd, ax) { for(j = 0; j < maxArray.length; j++) { maxpt = maxArray[j]; dv = maxpt.val - minpt.val; - dp = ax._length - getPad(minpt) - getPad(maxpt); - if(dv > 0 && dp > 0 && dv / dp > mbest) { - minbest = minpt; - maxbest = maxpt; - mbest = dv / dp; + if(dv > 0) { + dp = axLen - getPad(minpt) - getPad(maxpt); + if(dp > minSpan) { + if(dv / dp > mbest) { + minbest = minpt; + maxbest = maxpt; + mbest = dv / dp; + } + } + else if(dv / axLen > mbest) { + // in case of padding longer than the axis + // at least include the unpadded data values. + minbest = {val: minpt.val, pad: 0}; + maxbest = {val: maxpt.val, pad: 0}; + mbest = dv / axLen; + } } } } + function getMaxPad(prev, pt) { + return Math.max(prev, getPad(pt)); + } + if(minmin === maxmax) { var lower = minmin - 1; var upper = minmin + 1; - if(ax.rangemode === 'tozero') { - newRange = minmin < 0 ? [lower, 0] : [0, upper]; - } else if(ax.rangemode === 'nonnegative') { - newRange = [Math.max(0, lower), Math.max(0, upper)]; + if(toZero) { + if(minmin === 0) { + // The only value we have on this axis is 0, and we want to + // autorange so zero is one end. + // In principle this could be [0, 1] or [-1, 0] but usually + // 'tozero' pins 0 to the low end, so follow that. + newRange = [0, 1]; + } + else { + var maxPad = (minmin > 0 ? maxArray : minArray).reduce(getMaxPad, 0); + // we're pushing a single value away from the edge due to its + // padding, with the other end clamped at zero + // 0.5 means don't push it farther than the center. + var rangeEnd = minmin / (1 - Math.min(0.5, maxPad / axLen)); + newRange = minmin > 0 ? [0, rangeEnd] : [rangeEnd, 0]; + } + } else if(nonNegative) { + newRange = [Math.max(0, lower), Math.max(1, upper)]; } else { newRange = [lower, upper]; } } - else if(mbest) { - if(ax.type === 'linear' || ax.type === '-') { - if(ax.rangemode === 'tozero') { - if(minbest.val >= 0) { - minbest = {val: 0, pad: 0}; - } - if(maxbest.val <= 0) { - maxbest = {val: 0, pad: 0}; - } + else { + if(toZero) { + if(minbest.val >= 0) { + minbest = {val: 0, pad: 0}; } - else if(ax.rangemode === 'nonnegative') { - if(minbest.val - mbest * getPad(minbest) < 0) { - minbest = {val: 0, pad: 0}; - } - if(maxbest.val < 0) { - maxbest = {val: 1, pad: 0}; - } + if(maxbest.val <= 0) { + maxbest = {val: 0, pad: 0}; + } + } + else if(nonNegative) { + if(minbest.val - mbest * getPad(minbest) < 0) { + minbest = {val: 0, pad: 0}; + } + if(maxbest.val <= 0) { + maxbest = {val: 1, pad: 0}; } - - // in case it changed again... - mbest = (maxbest.val - minbest.val) / - (ax._length - getPad(minbest) - getPad(maxbest)); - } + // in case it changed again... + mbest = (maxbest.val - minbest.val) / + (axLen - getPad(minbest) - getPad(maxbest)); + newRange = [ minbest.val - mbest * getPad(minbest), maxbest.val + mbest * getPad(maxbest) ]; } - // don't let axis have zero size, while still respecting tozero and nonnegative - if(newRange[0] === newRange[1]) { - if(ax.rangemode === 'tozero') { - if(newRange[0] < 0) { - newRange = [newRange[0], 0]; - } else if(newRange[0] > 0) { - newRange = [0, newRange[0]]; - } else { - newRange = [0, 1]; - } - } - else { - newRange = [newRange[0] - 1, newRange[0] + 1]; - if(ax.rangemode === 'nonnegative') { - newRange[0] = Math.max(0, newRange[0]); - } - } - } - // maintain reversal if(axReverse) newRange.reverse(); diff --git a/src/plots/polar/layout_defaults.js b/src/plots/polar/layout_defaults.js index 42fcbad3a4d..f8bb7a9103b 100644 --- a/src/plots/polar/layout_defaults.js +++ b/src/plots/polar/layout_defaults.js @@ -91,7 +91,7 @@ function handleDefaults(contIn, contOut, coerce, opts) { case 'radialaxis': var autoRange = coerceAxis('autorange', !axOut.isValidRange(axIn.range)); axIn.autorange = autoRange; - if(autoRange) coerceAxis('rangemode'); + if(autoRange && (axType === 'linear' || axType === '-')) coerceAxis('rangemode'); if(autoRange === 'reversed') axOut._m = -1; coerceAxis('range'); diff --git a/test/image/baselines/autorange-tozero-rangemode.png b/test/image/baselines/autorange-tozero-rangemode.png index 8f52a059a31f34ccf863cb33daaea3a3410f28ec..c7792350c318cb384a89f4268bd50add97e8a5b8 100644 GIT binary patch literal 27370 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 literal 26673 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 bG~w@~SJPYgUP_&1t0as3bwA0cGKMb%vOkM!Vx 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 Date: Fri, 31 Aug 2018 14:20:37 -0400 Subject: [PATCH 03/13] rangemode only applies to linear axes --- src/plots/cartesian/axes.js | 13 ++++++++----- src/plots/cartesian/axis_defaults.js | 2 +- src/plots/cartesian/layout_attributes.js | 3 ++- test/jasmine/tests/axes_test.js | 18 ++++++++++++++++++ 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index 69141a0b784..421fb0e0633 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -20,6 +20,8 @@ var Titles = require('../../components/titles'); var Color = require('../../components/color'); var Drawing = require('../../components/drawing'); +var axAttrs = require('./layout_attributes'); + var constants = require('../../constants/numerical'); var ONEAVGYEAR = constants.ONEAVGYEAR; var ONEAVGMONTH = constants.ONEAVGMONTH; @@ -2411,11 +2413,12 @@ function swapAxisGroup(gd, xIds, yIds) { for(i = 0; i < xIds.length; i++) xFullAxes.push(axes.getFromId(gd, xIds[i])); for(i = 0; i < yIds.length; i++) yFullAxes.push(axes.getFromId(gd, yIds[i])); - var allAxKeys = Object.keys(xFullAxes[0]), - noSwapAttrs = [ - 'anchor', 'domain', 'overlaying', 'position', 'side', 'tickangle' - ], - numericTypes = ['linear', 'log']; + var allAxKeys = Object.keys(axAttrs); + + var noSwapAttrs = [ + 'anchor', 'domain', 'overlaying', 'position', 'side', 'tickangle', 'editType' + ]; + var numericTypes = ['linear', 'log']; for(i = 0; i < allAxKeys.length; i++) { var keyi = allAxKeys[i], diff --git a/src/plots/cartesian/axis_defaults.js b/src/plots/cartesian/axis_defaults.js index 06de3b99378..f3691bf8003 100644 --- a/src/plots/cartesian/axis_defaults.js +++ b/src/plots/cartesian/axis_defaults.js @@ -48,7 +48,7 @@ module.exports = function handleAxisDefaults(containerIn, containerOut, coerce, setConvert(containerOut, layoutOut); var autoRange = coerce('autorange', !containerOut.isValidRange(containerIn.range)); - if(autoRange) coerce('rangemode'); + if(autoRange && (axType === 'linear' || axType === '-')) coerce('rangemode'); coerce('range'); containerOut.cleanRange(); diff --git a/src/plots/cartesian/layout_attributes.js b/src/plots/cartesian/layout_attributes.js index 580f040990a..3d81797b7e9 100644 --- a/src/plots/cartesian/layout_attributes.js +++ b/src/plots/cartesian/layout_attributes.js @@ -99,7 +99,8 @@ module.exports = { 'If *tozero*`, the range extends to 0,', 'regardless of the input data', 'If *nonnegative*, the range is non-negative,', - 'regardless of the input data.' + 'regardless of the input data.', + 'Applies only to linear axes.' ].join(' ') }, range: { diff --git a/test/jasmine/tests/axes_test.js b/test/jasmine/tests/axes_test.js index 8c5459f5416..bfc15effcc0 100644 --- a/test/jasmine/tests/axes_test.js +++ b/test/jasmine/tests/axes_test.js @@ -403,6 +403,24 @@ describe('Test axes', function() { }); }); + it('only allows rangemode with linear axes', function() { + layoutIn = { + xaxis: {type: 'log', rangemode: 'tozero'}, + yaxis: {type: 'date', rangemode: 'tozero'}, + xaxis2: {type: 'category', rangemode: 'tozero'}, + yaxis2: {type: 'linear', rangemode: 'tozero'} + }; + layoutOut._subplots.cartesian.push('x2y2'); + layoutOut._subplots.yaxis.push('x2', 'y2'); + + supplyLayoutDefaults(layoutIn, layoutOut, fullData); + + expect(layoutOut.xaxis.rangemode).toBeUndefined(); + expect(layoutOut.yaxis.rangemode).toBeUndefined(); + expect(layoutOut.xaxis2.rangemode).toBeUndefined(); + expect(layoutOut.yaxis2.rangemode).toBe('tozero'); + }); + it('finds scaling groups and calculates relative scales', function() { layoutIn = { // first group: linked in series, scales compound From 4e71dfac7e5ba3b5051ac3d93afcda921c378b5f Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 31 Aug 2018 16:54:02 -0400 Subject: [PATCH 04/13] lint fx/hover --- src/components/fx/hover.js | 271 +++++++++++++++++-------------------- 1 file changed, 127 insertions(+), 144 deletions(-) diff --git a/src/components/fx/hover.js b/src/components/fx/hover.js index ff8175c69c5..5824b1ee926 100644 --- a/src/components/fx/hover.js +++ b/src/components/fx/hover.js @@ -135,9 +135,9 @@ exports.loneHover = function loneHover(hoverItem, opts) { index: 0 }; - var container3 = d3.select(opts.container), - outerContainer3 = opts.outerContainer ? - d3.select(opts.outerContainer) : container3; + var container3 = d3.select(opts.container); + var outerContainer3 = opts.outerContainer ? + d3.select(opts.outerContainer) : container3; var fullOpts = { hovermode: 'closest', @@ -216,37 +216,26 @@ function _hover(gd, evt, subplot, noHoverEvent) { var spikedistance = fullLayout.spikedistance === -1 ? Infinity : fullLayout.spikedistance; // hoverData: the set of candidate points we've found to highlight - var hoverData = [], - - // searchData: the data to search in. Mostly this is just a copy of - // gd.calcdata, filtered to the subplot and overlays we're on - // but if a point array is supplied it will be a mapping - // of indicated curves - searchData = [], - - // [x|y]valArray: the axis values of the hover event - // mapped onto each of the currently selected overlaid subplots - xvalArray, - yvalArray, - - // used in loops - itemnum, - curvenum, - cd, - trace, - subplotId, - subploti, - mode, - xval, - yval, - pointData, - closedataPreviousLength, - - // spikePoints: the set of candidate points we've found to draw spikes to - spikePoints = { - hLinePoint: null, - vLinePoint: null - }; + var hoverData = []; + + // searchData: the data to search in. Mostly this is just a copy of + // gd.calcdata, filtered to the subplot and overlays we're on + // but if a point array is supplied it will be a mapping + // of indicated curves + var searchData = []; + + // [x|y]valArray: the axis values of the hover event + // mapped onto each of the currently selected overlaid subplots + var xvalArray, yvalArray; + + var itemnum, curvenum, cd, trace, subplotId, subploti, mode, + xval, yval, pointData, closedataPreviousLength; + + // spikePoints: the set of candidate points we've found to draw spikes to + var spikePoints = { + hLinePoint: null, + vLinePoint: null + }; // Figure out what we're hovering on: // mouse location or user-supplied data @@ -273,8 +262,8 @@ function _hover(gd, evt, subplot, noHoverEvent) { // [x|y]px: the pixels (from top left) of the mouse location // on the currently selected plot area // add pointerX|Y property for drawing the spikes in spikesnap 'cursor' situation - var hasUserCalledHover = !evt.target, - xpx, ypx; + var hasUserCalledHover = !evt.target; + var xpx, ypx; if(hasUserCalledHover) { if('xpx' in evt) xpx = evt.xpx; @@ -576,8 +565,8 @@ function _hover(gd, evt, subplot, noHoverEvent) { hoverData.sort(function(d1, d2) { return d1.distance - d2.distance; }); // lastly, emit custom hover/unhover events - var oldhoverdata = gd._hoverdata, - newhoverdata = []; + var oldhoverdata = gd._hoverdata; + var newhoverdata = []; // pull out just the data that's useful to // other people and send it to the event @@ -677,8 +666,8 @@ function createHoverText(hoverData, opts, gd) { // all hover traces hoverinfo must contain the hovermode // to have common labels if(showCommonLabel) { - var i, traceHoverinfo; var allHaveZ = true; + var i, traceHoverinfo; for(i = 0; i < hoverData.length; i++) { if(allHaveZ && hoverData[i].zLabel === undefined) allHaveZ = false; @@ -802,9 +791,9 @@ function createHoverText(hoverData, opts, gd) { // then put the text in, position the pointer to the data, // and figure out sizes hoverLabels.each(function(d) { - var g = d3.select(this).attr('transform', ''), - name = '', - text = ''; + var g = d3.select(this).attr('transform', ''); + var name = ''; + var text = ''; // combine possible non-opaque trace color with bgColor var baseColor = Color.opacity(d.color) ? d.color : Color.defaultLine; @@ -872,8 +861,8 @@ function createHoverText(hoverData, opts, gd) { .call(svgTextUtils.positionText, 0, 0) .call(svgTextUtils.convertToTspans, gd); - var tx2 = g.select('text.name'), - tx2width = 0; + var tx2 = g.select('text.name'); + var tx2width = 0; // secondary label for non-empty 'name' if(name && name !== text) { @@ -897,14 +886,13 @@ function createHoverText(hoverData, opts, gd) { fill: traceColor, stroke: contrastColor }); - var tbb = tx.node().getBoundingClientRect(), - htx = d.xa._offset + (d.x0 + d.x1) / 2, - hty = d.ya._offset + (d.y0 + d.y1) / 2, - dx = Math.abs(d.x1 - d.x0), - dy = Math.abs(d.y1 - d.y0), - txTotalWidth = tbb.width + HOVERARROWSIZE + HOVERTEXTPAD + tx2width, - anchorStartOK, - anchorEndOK; + var tbb = tx.node().getBoundingClientRect(); + var htx = d.xa._offset + (d.x0 + d.x1) / 2; + var hty = d.ya._offset + (d.y0 + d.y1) / 2; + var dx = Math.abs(d.x1 - d.x0); + var dy = Math.abs(d.y1 - d.y0); + var txTotalWidth = tbb.width + HOVERARROWSIZE + HOVERTEXTPAD + tx2width; + var anchorStartOK, anchorEndOK; d.ty0 = outerTop - tbb.top; d.bx = tbb.width + 2 * HOVERTEXTPAD; @@ -961,33 +949,30 @@ function createHoverText(hoverData, opts, gd) { // the other, though it hardly matters - there's just too much // information then. function hoverAvoidOverlaps(hoverData, ax, fullLayout) { - var nummoves = 0, + var nummoves = 0; // make groups of touching points - pointgroups = hoverData - .map(function(d, i) { - var axis = d[ax]; - return [{ - i: i, - dp: 0, - pos: d.pos, - posref: d.posref, - size: d.by * (axis._id.charAt(0) === 'x' ? YFACTOR : 1) / 2, - pmin: 0, - pmax: (axis._id.charAt(0) === 'x' ? fullLayout.width : fullLayout.height) - }]; - }) - .sort(function(a, b) { return a[0].posref - b[0].posref; }), - donepositioning, - topOverlap, - bottomOverlap, - i, j, - pti, - sumdp; + var pointgroups = hoverData.map(function(d, i) { + var axis = d[ax]; + return [{ + i: i, + dp: 0, + pos: d.pos, + posref: d.posref, + size: d.by * (axis._id.charAt(0) === 'x' ? YFACTOR : 1) / 2, + pmin: 0, + pmax: (axis._id.charAt(0) === 'x' ? fullLayout.width : fullLayout.height) + }]; + }) + .sort(function(a, b) { + return a[0].posref - b[0].posref; + }); + + var donepositioning, topOverlap, bottomOverlap, i, j, pti, sumdp; function constrainGroup(grp) { - var minPt = grp[0], - maxPt = grp[grp.length - 1]; + var minPt = grp[0]; + var maxPt = grp[grp.length - 1]; // overlap with the top - positive vals are overlaps topOverlap = minPt.pmin - minPt.pos - minPt.dp + minPt.size; @@ -1071,13 +1056,13 @@ function hoverAvoidOverlaps(hoverData, ax, fullLayout) { i = 0; while(i < pointgroups.length - 1) { // the higher (g0) and lower (g1) point group - var g0 = pointgroups[i], - g1 = pointgroups[i + 1], + var g0 = pointgroups[i]; + var g1 = pointgroups[i + 1]; - // the lowest point in the higher group (p0) - // the highest point in the lower group (p1) - p0 = g0[g0.length - 1], - p1 = g1[0]; + // the lowest point in the higher group (p0) + // the highest point in the lower group (p1) + var p0 = g0[g0.length - 1]; + var p1 = g1[0]; topOverlap = p0.pos + p0.dp + p0.size - p1.pos - p1.dp + p1.size; // Only group points that lie on the same axes @@ -1107,8 +1092,8 @@ function hoverAvoidOverlaps(hoverData, ax, fullLayout) { for(i = pointgroups.length - 1; i >= 0; i--) { var grp = pointgroups[i]; for(j = grp.length - 1; j >= 0; j--) { - var pt = grp[j], - hoverPt = hoverData[pt.i]; + var pt = grp[j]; + var hoverPt = hoverData[pt.i]; hoverPt.offset = pt.dp; hoverPt.del = pt.del; } @@ -1124,13 +1109,15 @@ function alignHoverText(hoverLabels, rotateLabels) { g.remove(); return; } - var horzSign = d.anchor === 'end' ? -1 : 1, - tx = g.select('text.nums'), - alignShift = {start: 1, end: -1, middle: 0}[d.anchor], - txx = alignShift * (HOVERARROWSIZE + HOVERTEXTPAD), - tx2x = txx + alignShift * (d.txwidth + HOVERTEXTPAD), - offsetX = 0, - offsetY = d.offset; + + var horzSign = d.anchor === 'end' ? -1 : 1; + var tx = g.select('text.nums'); + var alignShift = {start: 1, end: -1, middle: 0}[d.anchor]; + var txx = alignShift * (HOVERARROWSIZE + HOVERTEXTPAD); + var tx2x = txx + alignShift * (d.txwidth + HOVERTEXTPAD); + var offsetX = 0; + var offsetY = d.offset; + if(d.anchor === 'middle') { txx -= d.tx2width / 2; tx2x += d.txwidth / 2 + HOVERTEXTPAD; @@ -1266,12 +1253,11 @@ function createSpikelines(closestPoints, opts) { var container = opts.container; var fullLayout = opts.fullLayout; var evt = opts.event; - var xa, - ya; - var showY = !!closestPoints.hLinePoint; var showX = !!closestPoints.vLinePoint; + var xa, ya; + // Remove old spikeline items container.selectAll('.spikeline').remove(); @@ -1281,9 +1267,9 @@ function createSpikelines(closestPoints, opts) { // Horizontal line (to y-axis) if(showY) { - var hLinePoint = closestPoints.hLinePoint, - hLinePointX, - hLinePointY; + var hLinePoint = closestPoints.hLinePoint; + var hLinePointX, hLinePointY; + xa = hLinePoint && hLinePoint.xa; ya = hLinePoint && hLinePoint.ya; var ySnap = ya.spikesnap; @@ -1297,13 +1283,12 @@ function createSpikelines(closestPoints, opts) { } var dfltHLineColor = tinycolor.readability(hLinePoint.color, contrastColor) < 1.5 ? Color.contrast(contrastColor) : hLinePoint.color; - var yMode = ya.spikemode, - yThickness = ya.spikethickness, - yColor = ya.spikecolor || dfltHLineColor, - yBB = ya._boundingBox, - xEdge = ((yBB.left + yBB.right) / 2) < hLinePointX ? yBB.right : yBB.left, - xBase, - xEndSpike; + var yMode = ya.spikemode; + var yThickness = ya.spikethickness; + var yColor = ya.spikecolor || dfltHLineColor; + var yBB = ya._boundingBox; + var xEdge = ((yBB.left + yBB.right) / 2) < hLinePointX ? yBB.right : yBB.left; + var xBase, xEndSpike; if(yMode.indexOf('toaxis') !== -1 || yMode.indexOf('across') !== -1) { if(yMode.indexOf('toaxis') !== -1) { @@ -1318,12 +1303,12 @@ function createSpikelines(closestPoints, opts) { // Foreground horizontal line (to y-axis) container.insert('line', ':first-child') .attr({ - 'x1': xBase, - 'x2': xEndSpike, - 'y1': hLinePointY, - 'y2': hLinePointY, + x1: xBase, + x2: xEndSpike, + y1: hLinePointY, + y2: hLinePointY, 'stroke-width': yThickness, - 'stroke': yColor, + stroke: yColor, 'stroke-dasharray': Drawing.dashStyle(ya.spikedash, yThickness) }) .classed('spikeline', true) @@ -1332,12 +1317,12 @@ function createSpikelines(closestPoints, opts) { // Background horizontal Line (to y-axis) container.insert('line', ':first-child') .attr({ - 'x1': xBase, - 'x2': xEndSpike, - 'y1': hLinePointY, - 'y2': hLinePointY, + x1: xBase, + x2: xEndSpike, + y1: hLinePointY, + y2: hLinePointY, 'stroke-width': yThickness + 2, - 'stroke': contrastColor + stroke: contrastColor }) .classed('spikeline', true) .classed('crisp', true); @@ -1346,19 +1331,18 @@ function createSpikelines(closestPoints, opts) { if(yMode.indexOf('marker') !== -1) { container.insert('circle', ':first-child') .attr({ - 'cx': xEdge + (ya.side !== 'right' ? yThickness : -yThickness), - 'cy': hLinePointY, - 'r': yThickness, - 'fill': yColor + cx: xEdge + (ya.side !== 'right' ? yThickness : -yThickness), + cy: hLinePointY, + r: yThickness, + fill: yColor }) .classed('spikeline', true); } } if(showX) { - var vLinePoint = closestPoints.vLinePoint, - vLinePointX, - vLinePointY; + var vLinePoint = closestPoints.vLinePoint; + var vLinePointX, vLinePointY; xa = vLinePoint && vLinePoint.xa; ya = vLinePoint && vLinePoint.ya; @@ -1372,14 +1356,13 @@ function createSpikelines(closestPoints, opts) { vLinePointY = ya._offset + vLinePoint.y; } var dfltVLineColor = tinycolor.readability(vLinePoint.color, contrastColor) < 1.5 ? - Color.contrast(contrastColor) : vLinePoint.color; - var xMode = xa.spikemode, - xThickness = xa.spikethickness, - xColor = xa.spikecolor || dfltVLineColor, - xBB = xa._boundingBox, - yEdge = ((xBB.top + xBB.bottom) / 2) < vLinePointY ? xBB.bottom : xBB.top, - yBase, - yEndSpike; + Color.contrast(contrastColor) : vLinePoint.color; + var xMode = xa.spikemode; + var xThickness = xa.spikethickness; + var xColor = xa.spikecolor || dfltVLineColor; + var xBB = xa._boundingBox; + var yEdge = ((xBB.top + xBB.bottom) / 2) < vLinePointY ? xBB.bottom : xBB.top; + var yBase, yEndSpike; if(xMode.indexOf('toaxis') !== -1 || xMode.indexOf('across') !== -1) { if(xMode.indexOf('toaxis') !== -1) { @@ -1394,12 +1377,12 @@ function createSpikelines(closestPoints, opts) { // Foreground vertical line (to x-axis) container.insert('line', ':first-child') .attr({ - 'x1': vLinePointX, - 'x2': vLinePointX, - 'y1': yBase, - 'y2': yEndSpike, + x1: vLinePointX, + x2: vLinePointX, + y1: yBase, + y2: yEndSpike, 'stroke-width': xThickness, - 'stroke': xColor, + stroke: xColor, 'stroke-dasharray': Drawing.dashStyle(xa.spikedash, xThickness) }) .classed('spikeline', true) @@ -1408,12 +1391,12 @@ function createSpikelines(closestPoints, opts) { // Background vertical line (to x-axis) container.insert('line', ':first-child') .attr({ - 'x1': vLinePointX, - 'x2': vLinePointX, - 'y1': yBase, - 'y2': yEndSpike, + x1: vLinePointX, + x2: vLinePointX, + y1: yBase, + y2: yEndSpike, 'stroke-width': xThickness + 2, - 'stroke': contrastColor + stroke: contrastColor }) .classed('spikeline', true) .classed('crisp', true); @@ -1423,10 +1406,10 @@ function createSpikelines(closestPoints, opts) { if(xMode.indexOf('marker') !== -1) { container.insert('circle', ':first-child') .attr({ - 'cx': vLinePointX, - 'cy': yEdge - (xa.side !== 'top' ? xThickness : -xThickness), - 'r': xThickness, - 'fill': xColor + cx: vLinePointX, + cy: yEdge - (xa.side !== 'top' ? xThickness : -xThickness), + r: xThickness, + fill: xColor }) .classed('spikeline', true); } @@ -1438,8 +1421,8 @@ function hoverChanged(gd, evt, oldhoverdata) { if(!oldhoverdata || oldhoverdata.length !== gd._hoverdata.length) return true; for(var i = oldhoverdata.length - 1; i >= 0; i--) { - var oldPt = oldhoverdata[i], - newPt = gd._hoverdata[i]; + var oldPt = oldhoverdata[i]; + var newPt = gd._hoverdata[i]; if(oldPt.curveNumber !== newPt.curveNumber || String(oldPt.pointNumber) !== String(newPt.pointNumber)) { return true; From 2fde3dc183522879aaacca41f9aa6a453ea31162 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 31 Aug 2018 17:24:12 -0400 Subject: [PATCH 05/13] better ordering of trace hoverlabels for matching positions --- src/components/fx/hover.js | 19 ++++-- test/jasmine/assets/custom_assertions.js | 14 ++++ test/jasmine/tests/hover_label_test.js | 87 +++++++++++++++++++++++- 3 files changed, 115 insertions(+), 5 deletions(-) diff --git a/src/components/fx/hover.js b/src/components/fx/hover.js index 5824b1ee926..4c187ae1fa9 100644 --- a/src/components/fx/hover.js +++ b/src/components/fx/hover.js @@ -951,21 +951,32 @@ function createHoverText(hoverData, opts, gd) { function hoverAvoidOverlaps(hoverData, ax, fullLayout) { var nummoves = 0; - // make groups of touching points + var axSign = 1; + + // make groups of touching points var pointgroups = hoverData.map(function(d, i) { var axis = d[ax]; + var axIsX = axis._id.charAt(0) === 'x'; + var rng = axis.range; + if(!i && rng && ((rng[0] > rng[1]) !== axIsX)) axSign = -1; return [{ i: i, + traceIndex: d.trace.index, dp: 0, pos: d.pos, posref: d.posref, - size: d.by * (axis._id.charAt(0) === 'x' ? YFACTOR : 1) / 2, + size: d.by * (axIsX ? YFACTOR : 1) / 2, pmin: 0, - pmax: (axis._id.charAt(0) === 'x' ? fullLayout.width : fullLayout.height) + pmax: (axIsX ? fullLayout.width : fullLayout.height) }]; }) .sort(function(a, b) { - return a[0].posref - b[0].posref; + return (a[0].posref - b[0].posref) || + // for equal positions, sort trace indices increasing or decreasing + // depending on whether the axis is reversed or not... so stacked + // traces will generally keep their order even if one trace adds + // nothing to the stack. + (axSign * (b[0].traceIndex - a[0].traceIndex)); }); var donepositioning, topOverlap, bottomOverlap, i, j, pti, sumdp; diff --git a/test/jasmine/assets/custom_assertions.js b/test/jasmine/assets/custom_assertions.js index e288128f303..aab46b67f5e 100644 --- a/test/jasmine/assets/custom_assertions.js +++ b/test/jasmine/assets/custom_assertions.js @@ -122,6 +122,7 @@ exports.assertHoverLabelContent = function(expectation, msg) { expect(ptCnt) .toBe(expectation.name.length, ptMsg + ' # of visible labels'); + var bboxes = []; d3.selectAll(ptSelector).each(function(_, i) { assertLabelContent( d3.select(this).select('text.nums'), @@ -133,7 +134,20 @@ exports.assertHoverLabelContent = function(expectation, msg) { expectation.name[i], ptMsg + ' (name ' + i + ')' ); + bboxes.push({bbox: this.getBoundingClientRect(), index: i}); }); + if(expectation.vOrder) { + bboxes.sort(function(a, b) { + return (a.bbox.top + a.bbox.bottom - b.bbox.top - b.bbox.bottom) / 2; + }); + expect(bboxes.map(function(d) { return d.index; })).toEqual(expectation.vOrder); + } + if(expectation.hOrder) { + bboxes.sort(function(a, b) { + return (b.bbox.left + b.bbox.right - a.bbox.left - a.bbox.right) / 2; + }); + expect(bboxes.map(function(d) { return d.index; })).toEqual(expectation.hOrder); + } } else { if(expectation.nums) { fail(ptMsg + ': expecting *nums* labels, did not find any.'); diff --git a/test/jasmine/tests/hover_label_test.js b/test/jasmine/tests/hover_label_test.js index 7dc0edf0feb..aa0981c5ac3 100644 --- a/test/jasmine/tests/hover_label_test.js +++ b/test/jasmine/tests/hover_label_test.js @@ -520,7 +520,92 @@ describe('hover info', function() { Lib.clearThrottle(); } - describe('\'hover info for x/y/z traces', function() { + describe('hover label order for stacked traces with zeros', function() { + var gd; + beforeEach(function() { + gd = createGraphDiv(); + }); + + it('puts the top trace on top', function(done) { + Plotly.plot(gd, [ + {y: [1, 2, 3], type: 'bar', name: 'a'}, + {y: [2, 0, 1], type: 'bar', name: 'b'}, + {y: [1, 0, 1], type: 'bar', name: 'c'}, + {y: [2, 1, 0], type: 'bar', name: 'd'} + ], { + width: 500, + height: 400, + margin: {l: 0, t: 0, r: 0, b: 0}, + barmode: 'stack' + }) + .then(function() { + _hover(gd, 250, 250); + assertHoverLabelContent({ + nums: ['2', '0', '0', '1'], + name: ['a', 'b', 'c', 'd'], + // a, b, c are all in the same place but keep their order + // d is included mostly as a sanity check + vOrder: [3, 2, 1, 0], + axis: '1' + }); + + // reverse the axis, labels should reverse + return Plotly.relayout(gd, 'yaxis.range', gd.layout.yaxis.range.slice().reverse()); + }) + .then(function() { + _hover(gd, 250, 250); + assertHoverLabelContent({ + nums: ['2', '0', '0', '1'], + name: ['a', 'b', 'c', 'd'], + vOrder: [0, 1, 2, 3], + axis: '1' + }); + }) + .catch(failTest) + .then(done); + }); + + it('puts the right trace on the right', function(done) { + Plotly.plot(gd, [ + {x: [1, 2, 3], type: 'bar', name: 'a', orientation: 'h'}, + {x: [2, 0, 1], type: 'bar', name: 'b', orientation: 'h'}, + {x: [1, 0, 1], type: 'bar', name: 'c', orientation: 'h'}, + {x: [2, 1, 0], type: 'bar', name: 'd', orientation: 'h'} + ], { + width: 500, + height: 400, + margin: {l: 0, t: 0, r: 0, b: 0}, + barmode: 'stack' + }) + .then(function() { + _hover(gd, 250, 250); + assertHoverLabelContent({ + nums: ['2', '0', '0', '1'], + name: ['a', 'b', 'c', 'd'], + // a, b, c are all in the same place but keep their order + // d is included mostly as a sanity check + hOrder: [3, 2, 1, 0], + axis: '1' + }); + + // reverse the axis, labels should reverse + return Plotly.relayout(gd, 'xaxis.range', gd.layout.xaxis.range.slice().reverse()); + }) + .then(function() { + _hover(gd, 250, 250); + assertHoverLabelContent({ + nums: ['2', '0', '0', '1'], + name: ['a', 'b', 'c', 'd'], + hOrder: [0, 1, 2, 3], + axis: '1' + }); + }) + .catch(failTest) + .then(done); + }); + }); + + describe('hover info for x/y/z traces', function() { var gd; beforeEach(function() { gd = createGraphDiv(); From 68b489d3e3e0e0a791c81dd8bf2fd43c8bb17c2e Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 31 Aug 2018 23:12:24 -0400 Subject: [PATCH 06/13] continue lines off the edge toward invalid log values --- src/constants/numerical.js | 6 +++ src/plots/cartesian/set_convert.js | 10 ++--- src/traces/scatter/line_points.js | 48 +++++++++++++++++------ test/image/baselines/log_lines_fills.png | Bin 0 -> 56846 bytes test/image/mocks/log_lines_fills.json | 33 ++++++++++++++++ 5 files changed, 79 insertions(+), 18 deletions(-) create mode 100644 test/image/baselines/log_lines_fills.png create mode 100644 test/image/mocks/log_lines_fills.json diff --git a/src/constants/numerical.js b/src/constants/numerical.js index c13765d95bb..77ea5abf465 100644 --- a/src/constants/numerical.js +++ b/src/constants/numerical.js @@ -49,6 +49,12 @@ module.exports = { */ ALMOST_EQUAL: 1 - 1e-6, + /* + * If we're asked to clip a non-positive log value, how far off-screen + * do we put it? + */ + LOG_CLIP: 10, + /* * not a number, but for displaying numbers: the "minus sign" symbol is * wider than the regular ascii dash "-" diff --git a/src/plots/cartesian/set_convert.js b/src/plots/cartesian/set_convert.js index b239ffb2e58..e057aba7b20 100644 --- a/src/plots/cartesian/set_convert.js +++ b/src/plots/cartesian/set_convert.js @@ -21,6 +21,7 @@ var ensureNumber = Lib.ensureNumber; var numConstants = require('../../constants/numerical'); var FP_SAFE = numConstants.FP_SAFE; var BADNUM = numConstants.BADNUM; +var LOG_CLIP = numConstants.LOG_CLIP; var constants = require('./constants'); var axisIds = require('./axis_ids'); @@ -59,20 +60,15 @@ module.exports = function setConvert(ax, fullLayout) { var axLetter = (ax._id || 'x').charAt(0); - // clipMult: how many axis lengths past the edge do we render? - // for panning, 1-2 would suffice, but for zooming more is nice. - // also, clipping can affect the direction of lines off the edge... - var clipMult = 10; - function toLog(v, clip) { if(v > 0) return Math.log(v) / Math.LN10; else if(v <= 0 && clip && ax.range && ax.range.length === 2) { - // clip NaN (ie past negative infinity) to clipMult axis + // clip NaN (ie past negative infinity) to LOG_CLIP axis // length past the negative edge var r0 = ax.range[0], r1 = ax.range[1]; - return 0.5 * (r0 + r1 - 3 * clipMult * Math.abs(r0 - r1)); + return 0.5 * (r0 + r1 - 2 * LOG_CLIP * Math.abs(r0 - r1)); } else return BADNUM; diff --git a/src/traces/scatter/line_points.js b/src/traces/scatter/line_points.js index 8e498e46466..bf18df449a8 100644 --- a/src/traces/scatter/line_points.js +++ b/src/traces/scatter/line_points.js @@ -9,7 +9,11 @@ 'use strict'; -var BADNUM = require('../../constants/numerical').BADNUM; +var numConstants = require('../../constants/numerical'); +var BADNUM = numConstants.BADNUM; +var LOG_CLIP = numConstants.LOG_CLIP; +var LOG_CLIP_PLUS = LOG_CLIP + 0.5; +var LOG_CLIP_MINUS = LOG_CLIP - 0.5; var Lib = require('../../lib'); var segmentsIntersect = Lib.segmentsIntersect; var constrain = Lib.constrain; @@ -19,6 +23,10 @@ var constants = require('./constants'); module.exports = function linePoints(d, opts) { var xa = opts.xaxis; var ya = opts.yaxis; + var xLog = xa.type === 'log'; + var yLog = ya.type === 'log'; + var xLen = xa._length; + var yLen = ya._length; var connectGaps = opts.connectGaps; var baseTolerance = opts.baseTolerance; var shape = opts.shape; @@ -59,7 +67,25 @@ module.exports = function linePoints(d, opts) { if(!di) return false; var x = xa.c2p(di.x); var y = ya.c2p(di.y); - if(x === BADNUM || y === BADNUM) return false; + + // if non-positive log values, set them VERY far off-screen + // so the line looks essentially straight from the previous point. + if(x === BADNUM) { + if(xLog) x = xa.c2p(di.x, true); + if(x === BADNUM) return false; + // If BOTH were bad log values, make the line follow a constant + // exponent rather than a constant slope + if(yLog && y === BADNUM) { + x *= Math.abs(xa._m * yLen * (xa._m > 0 ? LOG_CLIP_PLUS : LOG_CLIP_MINUS) / + (ya._m * xLen * (ya._m > 0 ? LOG_CLIP_PLUS : LOG_CLIP_MINUS))); + } + x *= 1000; + } + if(y === BADNUM) { + if(yLog) y = ya.c2p(di.y, true); + if(y === BADNUM) return false; + y *= 1000; + } return [x, y]; } @@ -79,8 +105,8 @@ module.exports = function linePoints(d, opts) { var latestXFrac, latestYFrac; // if we're off-screen, increase tolerance over baseTolerance function getTolerance(pt, nextPt) { - var xFrac = pt[0] / xa._length; - var yFrac = pt[1] / ya._length; + var xFrac = pt[0] / xLen; + var yFrac = pt[1] / yLen; var offScreenFraction = Math.max(0, -xFrac, xFrac - 1, -yFrac, yFrac - 1); if(offScreenFraction && (latestXFrac !== undefined) && crossesViewport(xFrac, yFrac, latestXFrac, latestYFrac) @@ -88,7 +114,7 @@ module.exports = function linePoints(d, opts) { offScreenFraction = 0; } if(offScreenFraction && nextPt && - crossesViewport(xFrac, yFrac, nextPt[0] / xa._length, nextPt[1] / ya._length) + crossesViewport(xFrac, yFrac, nextPt[0] / xLen, nextPt[1] / yLen) ) { offScreenFraction = 0; } @@ -114,10 +140,10 @@ module.exports = function linePoints(d, opts) { // if both are outside there will be 0 or 2 intersections // (or 1 if it's right at a corner - we'll treat that like 0) // returns an array of intersection pts - var xEdge0 = -xa._length * maxScreensAway; - var xEdge1 = xa._length * (1 + maxScreensAway); - var yEdge0 = -ya._length * maxScreensAway; - var yEdge1 = ya._length * (1 + maxScreensAway); + var xEdge0 = -xLen * maxScreensAway; + var xEdge1 = xLen * (1 + maxScreensAway); + var yEdge0 = -yLen * maxScreensAway; + var yEdge1 = yLen * (1 + maxScreensAway); var edges = [ [xEdge0, yEdge0, xEdge1, yEdge0], [xEdge1, yEdge0, xEdge1, yEdge1], @@ -261,8 +287,8 @@ module.exports = function linePoints(d, opts) { } function addPt(pt) { - latestXFrac = pt[0] / xa._length; - latestYFrac = pt[1] / ya._length; + latestXFrac = pt[0] / xLen; + latestYFrac = pt[1] / yLen; // Are we more than maxScreensAway off-screen any direction? // if so, clip to this box, but in such a way that on-screen // drawing is unchanged diff --git a/test/image/baselines/log_lines_fills.png b/test/image/baselines/log_lines_fills.png new file mode 100644 index 0000000000000000000000000000000000000000..1602708971b9a35ce91c906b9f1e4268697daeab GIT binary patch literal 56846 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 literal 0 HcmV?d00001 diff --git a/test/image/mocks/log_lines_fills.json b/test/image/mocks/log_lines_fills.json new file mode 100644 index 00000000000..059d3f59382 --- /dev/null +++ b/test/image/mocks/log_lines_fills.json @@ -0,0 +1,33 @@ +{ + "data": [{ + "x": [-1, 1.5, 2, 0, 1, 3, 4, 5, 6, 1, -1, -1, 3, 3, 0, 7, 7, -1, -1], + "y": [-1, 1.5, 1, -1, -1, 1, 1, 0, 2, 2, 0, 2, 3, 4, 5, 6, -2, -2, -1], + "mode": "markers+lines", "fill": "toself" + }, { + "x": [-1, 1.5, 2, 0, 1, 3, 4, 5, 6, 1, -1, -1, 3, 3, 0, 7, 7, -1, -1], + "y": [-1, 1.5, 1, -1, -1, 1, 1, 0, 2, 2, 0, 2, 3, 4, 5, 6, -2, -2, -1], + "mode": "markers+lines", "fill": "toself", "xaxis": "x2" + }, { + "x": [-1, 1.5, 2, 0, 1, 3, 4, 5, 6, 1, -1, -1, 3, 3, 0, 7, 7, -1, -1], + "y": [-1, 1.5, 1, -1, -1, 1, 1, 0, 2, 2, 0, 2, 3, 4, 5, 6, -2, -2, -1], + "mode": "markers+lines", "fill": "toself", "yaxis": "y2" + }, { + "x": [-1, 1.5, 2, 0, 1, 3, 4, 5, 6, 1, -1, -1, 3, 3, 0, 7, 7, -1, -1], + "y": [-1, 1.5, 1, -1, -1, 1, 1, 0, 2, 2, 0, 2, 3, 4, 5, 6, -2, -2, -1], + "mode": "markers+lines", "fill": "toself", "xaxis": "x2", "yaxis": "y2" + }, { + "x": [0.01, 0.1], "y": [0.01, 0.1], + "mode": "markers", "xaxis": "x2", "yaxis": "y2" + }], + "layout": { + "width": 800, + "height": 600, + "xaxis": {"title": "linear"}, + "xaxis2": {"title": "log", "type": "log"}, + "yaxis": {"title": "linear"}, + "yaxis2": {"title": "log", "type": "log"}, + "grid": {"columns": 2, "rows": 2}, + "showlegend": false, + "title": "Lines to invalid log values" + } +} From be38e932ec8e0ac350a6f21d2d8e6fabf4f8cfed Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Sat, 1 Sep 2018 00:27:40 -0400 Subject: [PATCH 07/13] stacked area charts! --- src/components/errorbars/calc.js | 23 ++- src/plots/plots.js | 18 +- src/traces/bar/layout_attributes.js | 6 +- src/traces/scatter/attributes.js | 69 +++++++- src/traces/scatter/calc.js | 179 +++++++++++++++++--- src/traces/scatter/cross_trace_calc.js | 185 +++++++++++++++++++++ src/traces/scatter/defaults.js | 20 ++- src/traces/scatter/hover.js | 18 +- src/traces/scatter/index.js | 6 +- src/traces/scatter/plot.js | 30 +++- src/traces/scatter/select.js | 4 +- src/traces/scatter/stack_defaults.js | 101 +++++++++++ src/traces/scattercarpet/attributes.js | 1 + src/traces/scattergl/attributes.js | 2 +- src/traces/scattergl/index.js | 8 +- src/traces/scatterpolar/attributes.js | 1 + src/traces/scatterternary/attributes.js | 1 + test/image/baselines/stacked_area.png | Bin 0 -> 89877 bytes test/image/baselines/stacked_area_horz.png | Bin 0 -> 74532 bytes test/image/baselines/stacked_area_log.png | Bin 0 -> 79962 bytes test/image/mocks/stacked_area.json | 83 +++++++++ test/image/mocks/stacked_area_horz.json | 83 +++++++++ test/image/mocks/stacked_area_log.json | 86 ++++++++++ test/jasmine/tests/scatter_test.js | 129 ++++++++++++++ 24 files changed, 997 insertions(+), 56 deletions(-) create mode 100644 src/traces/scatter/cross_trace_calc.js create mode 100644 src/traces/scatter/stack_defaults.js create mode 100644 test/image/baselines/stacked_area.png create mode 100644 test/image/baselines/stacked_area_horz.png create mode 100644 test/image/baselines/stacked_area_log.png create mode 100644 test/image/mocks/stacked_area.json create mode 100644 test/image/mocks/stacked_area_horz.json create mode 100644 test/image/mocks/stacked_area_log.json diff --git a/src/components/errorbars/calc.js b/src/components/errorbars/calc.js index 5340cdc6b27..56742248010 100644 --- a/src/components/errorbars/calc.js +++ b/src/components/errorbars/calc.js @@ -43,12 +43,29 @@ function calcOneAxis(calcTrace, trace, axis, coord) { var computeError = makeComputeError(opts); for(var i = 0; i < calcTrace.length; i++) { - var calcPt = calcTrace[i], - calcCoord = calcPt[coord]; + var calcPt = calcTrace[i]; + + var iIn = calcPt.i; + + // for types that don't include `i` in each calcdata point + if(iIn === undefined) iIn = i; + + // for stacked area inserted points + // TODO: errorbars have been tested cursorily with stacked area, + // but not thoroughly. It's not even really clear what you want to do: + // Should it just be calculated based on that trace's size data? + // Should you add errors from below in quadrature? + // And what about normalization, where in principle the errors shrink + // again when you get up to the top end? + // One option would be to forbid errorbars with stacking until we + // decide how to handle these questions. + else if(iIn === null) continue; + + var calcCoord = calcPt[coord]; if(!isNumeric(axis.c2l(calcCoord))) continue; - var errors = computeError(calcCoord, i); + var errors = computeError(calcCoord, iIn); if(isNumeric(errors[0]) && isNumeric(errors[1])) { var shoe = calcPt[coord + 's'] = calcCoord - errors[0], hat = calcPt[coord + 'h'] = calcCoord + errors[1]; diff --git a/src/plots/plots.js b/src/plots/plots.js index 908289fa72c..2063f505e48 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -391,6 +391,11 @@ plots.supplyDefaults = function(gd, opts) { // initialize splom grid defaults newFullLayout._splomGridDflt = {}; + // for stacked area traces to share config across traces + newFullLayout._scatterStackOpts = {}; + // for the first scatter trace on each subplot (so it knows tonext->tozero) + newFullLayout._firstScatter = {}; + // for traces to request a default rangeslider on their x axes // eg set `_requestRangeslider.x2 = true` for xaxis2 newFullLayout._requestRangeslider = {}; @@ -938,8 +943,6 @@ plots.supplyDataDefaults = function(dataIn, dataOut, layout, fullLayout) { fullTrace.uid = fullLayout._traceUids[i]; plots.supplyTraceDefaults(trace, fullTrace, colorCnt, fullLayout, i); - fullTrace.uid = fullLayout._traceUids[i]; - fullTrace.index = i; fullTrace._input = trace; fullTrace._expandedIndex = cnt; @@ -1178,6 +1181,14 @@ plots.supplyTraceDefaults = function(traceIn, traceOut, colorIndex, layout, trac plots.supplyTransformDefaults(traceIn, traceOut, layout); } + else if(_module && Registry.traceIs(traceOut, 'alwaysSupplyDefaults')) { + // Some types need *something* from supplyDefaults always, even if + // visible: false. Looking at you scatter: stack options even from + // hidden traces can control other traces in the stack. + // These types should bail out ASAP if visible is false. + // But we don't need any other cross-module attrs ^^ in this case. + _module.supplyDefaults(traceIn, traceOut, defaultColor, layout); + } return traceOut; }; @@ -1556,7 +1567,6 @@ plots.purge = function(gd) { // (and to have a record of them...) delete gd._promises; delete gd._redrawTimer; - delete gd.firstscatter; delete gd._hmlumcount; delete gd._hmpixcount; delete gd._transitionData; @@ -2421,8 +2431,6 @@ plots.doCalcdata = function(gd, traces) { gd.calcdata = calcdata; // extra helper variables - // firstscatter: fill-to-next on the first trace goes to zero - gd.firstscatter = true; // how many box/violins plots do we have (in case they're grouped) fullLayout._numBoxes = 0; diff --git a/src/traces/bar/layout_attributes.js b/src/traces/bar/layout_attributes.js index aa84ce21d55..a78a2107ca7 100644 --- a/src/traces/bar/layout_attributes.js +++ b/src/traces/bar/layout_attributes.js @@ -36,9 +36,9 @@ module.exports = { editType: 'calc', description: [ 'Sets the normalization for bar traces on the graph.', - 'With *fraction*, the value of each bar is divide by the sum of the', - 'values at the location coordinate.', - 'With *percent*, the results form *fraction* are presented in percents.' + 'With *fraction*, the value of each bar is divided by the sum of all', + 'values at that location coordinate.', + '*percent* is the same but multiplied by 100 to show percentages.' ].join(' ') }, bargap: { diff --git a/src/traces/scatter/attributes.js b/src/traces/scatter/attributes.js index d8a17c934e8..c2856da6def 100644 --- a/src/traces/scatter/attributes.js +++ b/src/traces/scatter/attributes.js @@ -72,6 +72,69 @@ module.exports = { 'See `y0` for more info.' ].join(' ') }, + + stackgroup: { + valType: 'string', + role: 'info', + dflt: '', + editType: 'calc', + description: [ + 'Set several scatter traces (on the same subplot) to the same', + 'stackgroup in order to add their y values (or their x values if', + '`orientation` is *h*). If blank or omitted this trace will not be', + 'stacked. Stacking also turns `fill` on by default, using *tonexty*', + '(*tonextx*) if `orientation` is *h* (*v*) and sets the default', + '`mode` to *lines* irrespective of point count.', + 'You can only stack on a numeric (linear or log) axis.' + ].join(' ') + }, + orientation: { + valType: 'enumerated', + role: 'info', + values: ['v', 'h'], + editType: 'calc', + description: [ + 'Only relevant when `stackgroup` is used, and only the first', + '`orientation` found in the `stackgroup` will be used. Sets the', + 'stacking direction. With *v* (*h*), the y (x) values of subsequent', + 'traces are added. Also affects the default value of `fill`.' + ].join(' ') + }, + groupnorm: { + valType: 'enumerated', + values: ['', 'fraction', 'percent'], + dflt: '', + role: 'info', + editType: 'calc', + description: [ + 'Only relevant when `stackgroup` is used, and only the first', + '`groupnorm` found in the `stackgroup` will be used.', + 'Sets the normalization for the sum of this `stackgroup`.', + 'With *fraction*, the value of each trace at each location is', + 'divided by the sum of all trace values at that location.', + '*percent* is the same but multiplied by 100 to show percentages.' + ].join(' ') + }, + stackgaps: { + valType: 'enumerated', + values: ['infer zero', 'interpolate'], + dflt: 'infer zero', + role: 'info', + editType: 'calc', + description: [ + 'Only relevant when `stackgroup` is used, and only the first', + '`stackgaps` found in the `stackgroup` will be used.', + 'Determines how we handle locations at which other traces in this', + 'group have data but this one does not.', + 'With *infer zero* we insert a zero at these locations.', + 'With *interpolate* we linearly interpolate between existing', + 'values, and extrapolate a constant beyond the existing values.' + // TODO - implement interrupt mode + // '*interrupt* omits this trace from the stack at this location by', + // 'dropping abruptly, midway between the existing and missing locations.' + ].join(' ') + }, + text: { valType: 'string', role: 'info', @@ -114,7 +177,8 @@ module.exports = { 'If the provided `mode` includes *text* then the `text` elements', 'appear at the coordinates. Otherwise, the `text` elements', 'appear on hover.', - 'If there are less than ' + constants.PTS_LINESONLY + ' points,', + 'If there are less than ' + constants.PTS_LINESONLY + ' points', + 'and the trace is not stacked', 'then the default is *lines+markers*. Otherwise, *lines*.' ].join(' ') }, @@ -212,11 +276,12 @@ module.exports = { fill: { valType: 'enumerated', values: ['none', 'tozeroy', 'tozerox', 'tonexty', 'tonextx', 'toself', 'tonext'], - dflt: 'none', role: 'style', editType: 'calc', description: [ 'Sets the area to fill with a solid color.', + 'Defaults to *none* unless this trace is stacked, then it gets', + '*tonexty* (*tonextx*) if `orientation` is *v* (*h*)', 'Use with `fillcolor` if not *none*.', '*tozerox* and *tozeroy* fill to x=0 and y=0 respectively.', '*tonextx* and *tonexty* fill between the endpoints of this', diff --git a/src/traces/scatter/calc.js b/src/traces/scatter/calc.js index 37a9068c8e9..2ff8728073c 100644 --- a/src/traces/scatter/calc.js +++ b/src/traces/scatter/calc.js @@ -9,7 +9,7 @@ 'use strict'; var isNumeric = require('fast-isnumeric'); -var isArrayOrTypedArray = require('../../lib').isArrayOrTypedArray; +var Lib = require('../../lib'); var Axes = require('../../plots/cartesian/axes'); var BADNUM = require('../../constants/numerical').BADNUM; @@ -20,23 +20,69 @@ var arraysToCalcdata = require('./arrays_to_calcdata'); var calcSelection = require('./calc_selection'); function calc(gd, trace) { + var fullLayout = gd._fullLayout; var xa = Axes.getFromId(gd, trace.xaxis || 'x'); var ya = Axes.getFromId(gd, trace.yaxis || 'y'); var x = xa.makeCalcdata(trace, 'x'); var y = ya.makeCalcdata(trace, 'y'); var serieslen = trace._length; var cd = new Array(serieslen); + var ids = trace.ids; + var stackGroupOpts = getStackOpts(trace, fullLayout, xa, ya); + var interpolateGaps = false; + var isV, i, j, k, interpolate, vali; - var ppad = calcMarkerSize(trace, serieslen); - calcAxisExpansion(gd, trace, xa, ya, x, y, ppad); + setFirstScatter(fullLayout, trace); - for(var i = 0; i < serieslen; i++) { - cd[i] = (isNumeric(x[i]) && isNumeric(y[i])) ? - {x: x[i], y: y[i]} : - {x: BADNUM, y: BADNUM}; + var xAttr = 'x'; + var yAttr = 'y'; + var posAttr; + if(stackGroupOpts) { + stackGroupOpts.traceIndices.push(trace.index); + isV = stackGroupOpts.orientation === 'v'; + // size, like we use for bar + if(isV) { + yAttr = 's'; + posAttr = 'x'; + } + else { + xAttr = 's'; + posAttr = 'y'; + } + interpolate = stackGroupOpts.stackgaps === 'interpolate'; + } + else { + var ppad = calcMarkerSize(trace, serieslen); + calcAxisExpansion(gd, trace, xa, ya, x, y, ppad); + } + + for(i = 0; i < serieslen; i++) { + var cdi = cd[i] = {}; + var xValid = isNumeric(x[i]); + var yValid = isNumeric(y[i]); + if(xValid && yValid) { + cdi[xAttr] = x[i]; + cdi[yAttr] = y[i]; + } + // if we're stacking we need to hold on to all valid positions + // even with invalid sizes + else if(stackGroupOpts && (isV ? xValid : yValid)) { + cdi[posAttr] = isV ? x[i] : y[i]; + cdi.gap = true; + if(interpolate) { + cdi.s = BADNUM; + interpolateGaps = true; + } + else { + cdi.s = 0; + } + } + else { + cdi[xAttr] = cdi[yAttr] = BADNUM; + } - if(trace.ids) { - cd[i].id = String(trace.ids[i]); + if(ids) { + cdi.id = String(ids[i]); } } @@ -44,12 +90,72 @@ function calc(gd, trace) { calcColorscale(trace); calcSelection(cd, trace); - gd.firstscatter = false; + if(stackGroupOpts) { + // remove bad positions and sort + // note that original indices get added to cd in arraysToCalcdata + i = 0; + while(i < cd.length) { + if(cd[i][posAttr] === BADNUM) { + cd.splice(i, 1); + } + else i++; + } + + Lib.sort(cd, function(a, b) { + return (a[posAttr] - b[posAttr]) || (a.i - b.i); + }); + + if(interpolateGaps) { + // first fill the beginning with constant from the first point + i = 0; + while(i < cd.length - 1 && cd[i].gap) { + i++; + } + vali = cd[i].s; + if(!vali) vali = cd[i].s = 0; // in case of no data AT ALL in this trace - use 0 + for(j = 0; j < i; j++) { + cd[j].s = vali; + } + // then fill the end with constant from the last point + k = cd.length - 1; + while(k > i && cd[k].gap) { + k--; + } + vali = cd[k].s; + for(j = cd.length - 1; j > k; j--) { + cd[j].s = vali; + } + // now interpolate internal gaps linearly + while(i < k) { + i++; + if(cd[i].gap) { + j = i + 1; + while(cd[j].gap) { + j++; + } + var pos0 = cd[i - 1][posAttr]; + var size0 = cd[i - 1].s; + var m = (cd[j].s - size0) / (cd[j][posAttr] - pos0); + while(i < j) { + cd[i].s = size0 + (cd[i][posAttr] - pos0) * m; + i++; + } + } + } + } + } + return cd; } function calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) { var serieslen = trace._length; + var fullLayout = gd._fullLayout; + var xId = xa._id; + var yId = ya._id; + var firstScatter = fullLayout._firstScatter[xId + yId + trace.type] === trace.uid; + var stackOrientation = (getStackOpts(trace, fullLayout, xa, ya) || {}).orientation; + var fill = trace.fill; // cancel minimum tick spacings (only applies to bars and boxes) xa._minDtick = 0; @@ -66,17 +172,20 @@ function calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) { // TODO: text size + var openEnded = serieslen < 2 || (x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]); + // include zero (tight) and extremes (padded) if fill to zero // (unless the shape is closed, then it's just filling the shape regardless) - if(((trace.fill === 'tozerox') || - ((trace.fill === 'tonextx') && gd.firstscatter)) && - ((x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]))) { + if(openEnded && ( + (fill === 'tozerox') || + ((fill === 'tonextx') && (firstScatter || stackOrientation === 'h')) + )) { xOptions.tozero = true; } // if no error bars, markers or text, or fill to y=0 remove x padding else if(!(trace.error_y || {}).visible && ( - ['tonexty', 'tozeroy'].indexOf(trace.fill) !== -1 || + (fill === 'tonexty' || fill === 'tozeroy') || (!subTypes.hasMarkers(trace) && !subTypes.hasText(trace)) )) { xOptions.padded = false; @@ -86,19 +195,21 @@ function calcAxisExpansion(gd, trace, xa, ya, x, y, ppad) { // now check for y - rather different logic, though still mostly padded both ends // include zero (tight) and extremes (padded) if fill to zero // (unless the shape is closed, then it's just filling the shape regardless) - if(((trace.fill === 'tozeroy') || ((trace.fill === 'tonexty') && gd.firstscatter)) && - ((x[0] !== x[serieslen - 1]) || (y[0] !== y[serieslen - 1]))) { + if(openEnded && ( + (fill === 'tozeroy') || + ((fill === 'tonexty') && (firstScatter || stackOrientation === 'v')) + )) { yOptions.tozero = true; } // tight y: any x fill - else if(['tonextx', 'tozerox'].indexOf(trace.fill) !== -1) { + else if(fill === 'tonextx' || fill === 'tozerox') { yOptions.padded = false; } // N.B. asymmetric splom traces call this with blank {} xa or ya - if(xa._id) trace._extremes[xa._id] = Axes.findExtremes(xa, x, xOptions); - if(ya._id) trace._extremes[ya._id] = Axes.findExtremes(ya, y, yOptions); + if(xId) trace._extremes[xId] = Axes.findExtremes(xa, x, xOptions); + if(yId) trace._extremes[yId] = Axes.findExtremes(ya, y, yOptions); } function calcMarkerSize(trace, serieslen) { @@ -120,7 +231,7 @@ function calcMarkerSize(trace, serieslen) { }; } - if(isArrayOrTypedArray(marker.size)) { + if(Lib.isArrayOrTypedArray(marker.size)) { // I tried auto-type but category and dates dont make much sense. var ax = {type: 'linear'}; Axes.setConvert(ax); @@ -138,8 +249,34 @@ function calcMarkerSize(trace, serieslen) { } } +/** + * mark the first scatter trace for each subplot + * note that scatter and scattergl each get their own first trace + * note also that I'm doing this during calc rather than supplyDefaults + * so I don't need to worry about transforms, but if we ever do + * per-trace calc this will get confused. + */ +function setFirstScatter(fullLayout, trace) { + var subplotAndType = trace.xaxis + trace.yaxis + trace.type; + var firstScatter = fullLayout._firstScatter; + if(!firstScatter[subplotAndType]) firstScatter[subplotAndType] = trace.uid; +} + +function getStackOpts(trace, fullLayout, xa, ya) { + var stackGroup = trace.stackgroup; + if(!stackGroup) return; + var stackOpts = fullLayout._scatterStackOpts[xa._id + ya._id][stackGroup]; + var stackAx = stackOpts.orientation === 'v' ? ya : xa; + // Allow stacking only on numeric axes + // calc is a little late to be figuring this out, but during supplyDefaults + // we don't know the axis type yet + if(stackAx.type === 'linear' || stackAx.type === 'log') return stackOpts; +} + module.exports = { calc: calc, calcMarkerSize: calcMarkerSize, - calcAxisExpansion: calcAxisExpansion + calcAxisExpansion: calcAxisExpansion, + setFirstScatter: setFirstScatter, + getStackOpts: getStackOpts }; diff --git a/src/traces/scatter/cross_trace_calc.js b/src/traces/scatter/cross_trace_calc.js new file mode 100644 index 00000000000..4bff13e0e5f --- /dev/null +++ b/src/traces/scatter/cross_trace_calc.js @@ -0,0 +1,185 @@ +/** +* Copyright 2012-2018, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + + +'use strict'; + +var calc = require('./calc'); + +/* + * Scatter stacking & normalization calculations + * runs per subplot, and can handle multiple stacking groups + */ + +module.exports = function crossTraceCalc(gd, plotinfo) { + var xa = plotinfo.xaxis; + var ya = plotinfo.yaxis; + var subplot = xa._id + ya._id; + + var subplotStackOpts = gd._fullLayout._scatterStackOpts[subplot]; + if(!subplotStackOpts) return; + + var calcTraces = gd.calcdata; + + var i, j, k, i2, cd, cd0, posj, sumj, norm; + var groupOpts, interpolate, groupnorm, posAttr, valAttr; + var hasAnyBlanks; + + function insertBlank(calcTrace, index, position, traceIndex) { + hasAnyBlanks[traceIndex] = true; + var newEntry = { + i: null, + gap: true, + s: 0 + }; + newEntry[posAttr] = position; + calcTrace.splice(index, 0, newEntry); + // Even if we're not interpolating, if one trace has multiple + // values at the same position and this trace only has one value there, + // we just duplicate that one value rather than insert a zero. + // We also make it look like a real point - because it's ambiguous which + // one really is the real one! + if(index && position === calcTrace[index - 1][posAttr]) { + var prevEntry = calcTrace[index - 1]; + newEntry.s = prevEntry.s; + // TODO is it going to cause any problems to have multiple + // calcdata points with the same index? + newEntry.i = prevEntry.i; + newEntry.gap = prevEntry.gap; + } + else if(interpolate) { + newEntry.s = getInterp(calcTrace, index, position); + } + if(!index) { + // t and trace need to stay on the first cd entry + cd[0].t = cd[1].t; + cd[0].trace = cd[1].trace; + delete cd[1].t; + delete cd[1].trace; + } + } + + function getInterp(calcTrace, index, position) { + var pt0 = calcTrace[index - 1]; + var pt1 = calcTrace[index + 1]; + if(!pt1) return pt0.s; + if(!pt0) return pt1.s; + return pt0.s + (pt1.s - pt0.s) * (position - pt0[posAttr]) / (pt1[posAttr] - pt0[posAttr]); + } + + for(var stackGroup in subplotStackOpts) { + groupOpts = subplotStackOpts[stackGroup]; + var indices = groupOpts.traceIndices; + + // can get here with no indices if the stack axis is non-numeric + if(!indices.length) continue; + + interpolate = groupOpts.stackgaps === 'interpolate'; + groupnorm = groupOpts.groupnorm; + if(groupOpts.orientation === 'v') { + posAttr = 'x'; + valAttr = 'y'; + } + else { + posAttr = 'y'; + valAttr = 'x'; + } + hasAnyBlanks = new Array(indices.length); + for(i = 0; i < hasAnyBlanks.length; i++) { + hasAnyBlanks[i] = false; + } + + // Collect the complete set of all positions across ALL traces. + // Start with the first trace, then interleave items from later traces + // as needed. + // Fill in mising items as we go. + cd0 = calcTraces[indices[0]]; + var allPositions = new Array(cd0.length); + for(i = 0; i < cd0.length; i++) { + allPositions[i] = cd0[i][posAttr]; + } + + for(i = 1; i < indices.length; i++) { + cd = calcTraces[indices[i]]; + + for(j = k = 0; j < cd.length; j++) { + posj = cd[j][posAttr]; + for(; posj > allPositions[k] && k < allPositions.length; k++) { + // the current trace is missing a position from some previous trace(s) + insertBlank(cd, j, allPositions[k], i); + j++; + } + if(posj !== allPositions[k]) { + // previous trace(s) are missing a position from the current trace + for(i2 = 0; i2 < i; i2++) { + insertBlank(calcTraces[indices[i2]], k, posj, i2); + } + allPositions.splice(k, 0, posj); + } + k++; + } + for(; k < allPositions.length; k++) { + insertBlank(cd, j, allPositions[k], i); + j++; + } + } + + var serieslen = allPositions.length; + + // stack (and normalize)! + for(j = 0; j < cd0.length; j++) { + sumj = cd0[j][valAttr] = cd0[j].s; + for(i = 1; i < indices.length; i++) { + cd = calcTraces[indices[i]]; + if(cd.length !== serieslen) { + // TODO: verify this never happens and remove + throw new Error('length mismatch!'); + } + cd[0].trace._rawLength = cd[0].trace._length; + cd[0].trace._length = serieslen; + sumj += cd[j].s; + cd[j][valAttr] = sumj; + } + + if(groupnorm) { + norm = ((groupnorm === 'fraction') ? sumj : (sumj / 100)) || 1; + for(i = 0; i < indices.length; i++) { + var cdj = calcTraces[indices[i]][j]; + cdj[valAttr] /= norm; + cdj.sNorm = cdj.s / norm; + } + } + } + + // autorange + for(i = 0; i < indices.length; i++) { + cd = calcTraces[indices[i]]; + var trace = cd[0].trace; + var ppad = calc.calcMarkerSize(trace, trace._rawLength); + var arrayPad = Array.isArray(ppad); + if((ppad && hasAnyBlanks[i]) || arrayPad) { + var ppadRaw = ppad; + ppad = new Array(serieslen); + for(j = 0; j < serieslen; j++) { + ppad[j] = cd[j].gap ? 0 : (arrayPad ? ppadRaw[cd[j].i] : ppadRaw); + } + } + var x = new Array(serieslen); + var y = new Array(serieslen); + for(j = 0; j < serieslen; j++) { + x[j] = cd[j].x; + y[j] = cd[j].y; + } + calc.calcAxisExpansion(gd, trace, xa, ya, x, y, ppad); + + // while we're here (in a loop over all traces in the stack) + // record the orientation, so hover can find it easily + cd[0].t.orientation = groupOpts.orientation; + } + } +}; diff --git a/src/traces/scatter/defaults.js b/src/traces/scatter/defaults.js index ba9fa7c5c2c..955a2a82d5f 100644 --- a/src/traces/scatter/defaults.js +++ b/src/traces/scatter/defaults.js @@ -15,6 +15,7 @@ var attributes = require('./attributes'); var constants = require('./constants'); var subTypes = require('./subtypes'); var handleXYDefaults = require('./xy_defaults'); +var handleStackDefaults = require('./stack_defaults'); var handleMarkerDefaults = require('./marker_defaults'); var handleLineDefaults = require('./line_defaults'); var handleLineShapeDefaults = require('./line_shape_defaults'); @@ -26,14 +27,15 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout return Lib.coerce(traceIn, traceOut, attributes, attr, dflt); } - var len = handleXYDefaults(traceIn, traceOut, layout, coerce), - // TODO: default mode by orphan points... - defaultMode = len < constants.PTS_LINESONLY ? 'lines+markers' : 'lines'; - if(!len) { - traceOut.visible = false; - return; - } + var stackGroupOpts = handleStackDefaults(traceIn, traceOut, layout, coerce); + + var len = handleXYDefaults(traceIn, traceOut, layout, coerce); + if(!len) traceOut.visible = false; + + if(!traceOut.visible) return; + var defaultMode = !stackGroupOpts && (len < constants.PTS_LINESONLY) ? + 'lines+markers' : 'lines'; coerce('text'); coerce('hovertext'); coerce('mode', defaultMode); @@ -61,7 +63,9 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout dfltHoverOn.push('points'); } - coerce('fill'); + // It's possible for this default to be changed by a later trace. + // We handle that case in some hacky code inside handleStackDefaults. + coerce('fill', stackGroupOpts ? stackGroupOpts.fillDflt : 'none'); if(traceOut.fill !== 'none') { handleFillColorDefaults(traceIn, traceOut, defaultColor, coerce); if(!subTypes.hasLines(traceOut)) handleLineShapeDefaults(traceIn, traceOut, coerce); diff --git a/src/traces/scatter/hover.js b/src/traces/scatter/hover.js index f85a1a77094..6efe4ca9053 100644 --- a/src/traces/scatter/hover.js +++ b/src/traces/scatter/hover.js @@ -68,16 +68,30 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) { var yc = ya.c2p(di.y, true); var rad = di.mrc || 1; + // now we're done using the whole `calcdata` array, replace the + // index with the original index (in case of inserted point from + // stacked area) + pointData.index = di.i; + + var orientation = cd[0].t.orientation; + // TODO: for scatter and bar, option to show (sub)totals and + // raw data? Currently stacked and/or normalized bars just show + // the normalized individual sizes, so that's what I'm doing here + // for now. + var sizeVal = orientation && (di.sNorm || di.s); + var xLabelVal = (orientation === 'h') ? sizeVal : di.x; + var yLabelVal = (orientation === 'v') ? sizeVal : di.y; + Lib.extendFlat(pointData, { color: getTraceColor(trace, di), x0: xc - rad, x1: xc + rad, - xLabelVal: di.x, + xLabelVal: xLabelVal, y0: yc - rad, y1: yc + rad, - yLabelVal: di.y, + yLabelVal: yLabelVal, spikeDistance: dxy(di) }); diff --git a/src/traces/scatter/index.js b/src/traces/scatter/index.js index 020bc06a511..6df0d85ed7a 100644 --- a/src/traces/scatter/index.js +++ b/src/traces/scatter/index.js @@ -21,6 +21,7 @@ Scatter.attributes = require('./attributes'); Scatter.supplyDefaults = require('./defaults'); Scatter.cleanData = require('./clean_data'); Scatter.calc = require('./calc').calc; +Scatter.crossTraceCalc = require('./cross_trace_calc'); Scatter.arraysToCalcdata = require('./arrays_to_calcdata'); Scatter.plot = require('./plot'); Scatter.colorbar = require('./marker_colorbar'); @@ -33,7 +34,10 @@ Scatter.animatable = true; Scatter.moduleType = 'trace'; Scatter.name = 'scatter'; Scatter.basePlotModule = require('../../plots/cartesian'); -Scatter.categories = ['cartesian', 'svg', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like', 'zoomScale']; +Scatter.categories = [ + 'cartesian', 'svg', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like', + 'zoomScale', 'alwaysSupplyDefaults' +]; Scatter.meta = { description: [ 'The scatter trace type encompasses line charts, scatter charts, text charts, and bubble charts.', diff --git a/src/traces/scatter/plot.js b/src/traces/scatter/plot.js index b0e14b2964a..56980cdcf22 100644 --- a/src/traces/scatter/plot.js +++ b/src/traces/scatter/plot.js @@ -386,9 +386,17 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition function visFilter(d) { + return d.filter(function(v) { return !v.gap && v.vis; }); + } + + function visFilterWithGaps(d) { return d.filter(function(v) { return v.vis; }); } + function gapFilter(d) { + return d.filter(function(v) { return !v.gap; }); + } + function keyFunc(d) { return d.id; } @@ -416,12 +424,24 @@ function plotOne(gd, idx, plotinfo, cdscatter, cdscatterAll, element, transition var markerFilter = hideFilter; var textFilter = hideFilter; - if(showMarkers) { - markerFilter = (trace.marker.maxdisplayed || trace._needsCull) ? visFilter : Lib.identity; - } + if(showMarkers || showText) { + var showFilter = Lib.identity; + // if we're stacking, "infer zero" gap mode gets markers in the + // gap points - because we've inferred a zero there - but other + // modes (currently "interpolate", later "interrupt" hopefully) + // we don't draw generated markers + var stackGroup = trace.stackgroup; + var isInferZero = stackGroup && ( + gd._fullLayout._scatterStackOpts[xa._id + ya._id][stackGroup].stackgaps === 'infer zero'); + if(trace.marker.maxdisplayed || trace._needsCull) { + showFilter = isInferZero ? visFilterWithGaps : visFilter; + } + else if(stackGroup && !isInferZero) { + showFilter = gapFilter; + } - if(showText) { - textFilter = (trace.marker.maxdisplayed || trace._needsCull) ? visFilter : Lib.identity; + if(showMarkers) markerFilter = showFilter; + if(showText) textFilter = showFilter; } // marker points diff --git a/src/traces/scatter/select.js b/src/traces/scatter/select.js index 5d10050b494..e980a6d7400 100644 --- a/src/traces/scatter/select.js +++ b/src/traces/scatter/select.js @@ -36,9 +36,9 @@ module.exports = function selectPoints(searchInfo, polygon) { x = xa.c2p(di.x); y = ya.c2p(di.y); - if(polygon.contains([x, y])) { + if((di.i !== null) && polygon.contains([x, y])) { selection.push({ - pointNumber: i, + pointNumber: di.i, x: xa.c2d(di.x), y: ya.c2d(di.y) }); diff --git a/src/traces/scatter/stack_defaults.js b/src/traces/scatter/stack_defaults.js new file mode 100644 index 00000000000..75cdd99a5dc --- /dev/null +++ b/src/traces/scatter/stack_defaults.js @@ -0,0 +1,101 @@ +/** +* Copyright 2012-2018, Plotly, Inc. +* All rights reserved. +* +* This source code is licensed under the MIT license found in the +* LICENSE file in the root directory of this source tree. +*/ + +'use strict'; + +var perStackAttrs = ['orientation', 'groupnorm', 'stackgaps']; + +module.exports = function handleStackDefaults(traceIn, traceOut, layout, coerce) { + var stackOpts = layout._scatterStackOpts; + + var stackGroup = coerce('stackgroup'); + if(stackGroup) { + // use independent stacking options per subplot + var subplot = traceOut.xaxis + traceOut.yaxis; + var subplotStackOpts = stackOpts[subplot]; + if(!subplotStackOpts) subplotStackOpts = stackOpts[subplot] = {}; + + var groupOpts = subplotStackOpts[stackGroup]; + var firstTrace = false; + if(groupOpts) { + groupOpts.traces.push(traceOut); + } + else { + groupOpts = subplotStackOpts[stackGroup] = { + // keep track of trace indices for use during stacking calculations + // this will be filled in during `calc` and used during `crossTraceCalc` + // so it's OK if we don't recreate it during a non-calc edit + traceIndices: [], + // Hold on to the whole set of prior traces + // First one is most important, so we can clear defaults + // there if we find explicit values only in later traces. + // We're only going to *use* the values stored in groupOpts, + // but for the editor and validate we want things self-consistent + // The full set of traces is used only to fix `fill` default if + // we find `orientation: 'h'` beyond the first trace + traces: [traceOut] + }; + firstTrace = true; + } + // TODO: how is this going to work with groupby transforms? + // in principle it should be OK I guess, as long as explicit group styles + // don't override explicit base-trace styles? + + var dflts = { + orientation: (traceOut.x && !traceOut.y) ? 'h' : 'v' + }; + + for(var i = 0; i < perStackAttrs.length; i++) { + var attr = perStackAttrs[i]; + var attrFound = attr + 'Found'; + if(!groupOpts[attrFound]) { + var traceHasAttr = traceIn[attr] !== undefined; + var isOrientation = attr === 'orientation'; + if(traceHasAttr || firstTrace) { + groupOpts[attr] = coerce(attr, dflts[attr]); + + if(isOrientation) { + groupOpts.fillDflt = groupOpts[attr] === 'h' ? + 'tonextx' : 'tonexty'; + } + + if(traceHasAttr) { + // TODO: this will show a value here even if it's invalid + // in which case it will revert to default. Is that what we + // want, or should we only take the first *valid* value? + groupOpts[attrFound] = true; + + // TODO: should we copy the new value to the first trace instead? + // if we did that, the editor could show controls in the + // first trace always; otherwise it would only show controls + // in a later trace, if that trace happens to already have a value... + // I think it's probably better to ignore the editor for this + // purpose though, as it's probably going to have to use some + // special logic anyway, it will likely want to just + // take the value out of layout._scatterStackOpts, set the + // new value into the first trace, and clear all later traces. + if(!firstTrace) { + delete groupOpts.traces[0][attr]; + + // orientation can affect default fill of previous traces + if(isOrientation) { + for(var j = 0; j < groupOpts.traces.length - 1; j++) { + var trace2 = groupOpts.traces[j]; + if(trace2._input.fill !== trace2.fill) { + trace2.fill = groupOpts.fillDflt; + } + } + } + } + } + } + } + } + return groupOpts; + } +}; diff --git a/src/traces/scattercarpet/attributes.js b/src/traces/scattercarpet/attributes.js index 6b6564d6565..60ca8852fee 100644 --- a/src/traces/scattercarpet/attributes.js +++ b/src/traces/scattercarpet/attributes.js @@ -74,6 +74,7 @@ module.exports = { connectgaps: scatterAttrs.connectgaps, fill: extendFlat({}, scatterAttrs.fill, { values: ['none', 'toself', 'tonext'], + dflt: 'none', description: [ 'Sets the area to fill with a solid color.', 'Use with `fillcolor` if not *none*.', diff --git a/src/traces/scattergl/attributes.js b/src/traces/scattergl/attributes.js index 3d8798115bd..385fb765742 100644 --- a/src/traces/scattergl/attributes.js +++ b/src/traces/scattergl/attributes.js @@ -75,7 +75,7 @@ var attrs = module.exports = overrideAll({ }) }), connectgaps: scatterAttrs.connectgaps, - fill: scatterAttrs.fill, + fill: extendFlat({}, scatterAttrs.fill, {dflt: 'none'}), fillcolor: scatterAttrs.fillcolor, // no hoveron diff --git a/src/traces/scattergl/index.js b/src/traces/scattergl/index.js index befc5e468f5..0bb6dabe015 100644 --- a/src/traces/scattergl/index.js +++ b/src/traces/scattergl/index.js @@ -23,8 +23,10 @@ var findExtremes = require('../../plots/cartesian/autorange').findExtremes; var Color = require('../../components/color'); var subTypes = require('../scatter/subtypes'); -var calcMarkerSize = require('../scatter/calc').calcMarkerSize; -var calcAxisExpansion = require('../scatter/calc').calcAxisExpansion; +var scatterCalc = require('../scatter/calc'); +var calcMarkerSize = scatterCalc.calcMarkerSize; +var calcAxisExpansion = scatterCalc.calcAxisExpansion; +var setFirstScatter = scatterCalc.setFirstScatter; var calcColorscales = require('../scatter/colorscale_calc'); var linkTraces = require('../scatter/link_traces'); var getTraceColor = require('../scatter/get_trace_color'); @@ -89,6 +91,7 @@ function calc(gd, trace) { // Reuse SVG scatter axis expansion routine. // For graphs with very large number of points and array marker.size, // use average marker size instead to speed things up. + setFirstScatter(fullLayout, trace); var ppad; if(count < TOO_MANY_POINTS) { ppad = calcMarkerSize(trace, count); @@ -134,7 +137,6 @@ function calc(gd, trace) { scene.count++; - gd.firstscatter = false; return [{x: false, y: false, t: stash, trace: trace}]; } diff --git a/src/traces/scatterpolar/attributes.js b/src/traces/scatterpolar/attributes.js index e05c8f31da3..fa04df7f593 100644 --- a/src/traces/scatterpolar/attributes.js +++ b/src/traces/scatterpolar/attributes.js @@ -106,6 +106,7 @@ module.exports = { fill: extendFlat({}, scatterAttrs.fill, { values: ['none', 'toself', 'tonext'], + dflt: 'none', description: [ 'Sets the area to fill with a solid color.', 'Use with `fillcolor` if not *none*.', diff --git a/src/traces/scatterternary/attributes.js b/src/traces/scatterternary/attributes.js index e41377fd74e..1dee1c0d70d 100644 --- a/src/traces/scatterternary/attributes.js +++ b/src/traces/scatterternary/attributes.js @@ -103,6 +103,7 @@ module.exports = { cliponaxis: scatterAttrs.cliponaxis, fill: extendFlat({}, scatterAttrs.fill, { values: ['none', 'toself', 'tonext'], + dflt: 'none', description: [ 'Sets the area to fill with a solid color.', 'Use with `fillcolor` if not *none*.', diff --git a/test/image/baselines/stacked_area.png b/test/image/baselines/stacked_area.png new file mode 100644 index 0000000000000000000000000000000000000000..2f508049fbc6fe8bc297ada23b3a84b399e94901 GIT binary patch literal 89877 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 SlJ`TvpR$66e5ss8(EkAl3Pz;> literal 0 HcmV?d00001 diff --git a/test/image/baselines/stacked_area_horz.png b/test/image/baselines/stacked_area_horz.png new file mode 100644 index 0000000000000000000000000000000000000000..3c18529b36df4a387b45a40ae2a87091e70d2bb3 GIT binary patch literal 74532 zcmeFZWmJ{j7B=kObV-X6vcZish#=Bzx{>aZloq6O6Ou}Yq;!`cT_T8tqDZ$A(jeXN zt*xGOp7Vb1`2Ku<&lo&oFrFdzJ=a`w&3VmhUh585QI;XVrNq5{5MI7-w3;QwQ&F`Yd3=iD| z6y~;?T}C#KGUG`Z>esY{ja?ZZY5Qu*ogHn@5gNe}(Es}RjursN4I@lA!6t!0{`n(? zguV~>KmRcm1UJmF=mhr9e+YiZ#r}8=C+43&NJn%gSX=hbAXy~(KYy5D)M)?pegw3Q zI170kl1fPbU#}<0LO#X+uSZ_PIhIC3=c#N&!v5=#vcOQT{~7uZ5B$%g|BKQ89j5Hkj&4GZG>^@;mSmZ9?X$y(dxtQ$8Tq#)$va4320!t(Oq@y)TX z>^a%k*4>?)CXx+C+sVlx3=G7L@W<^O~4d)wC#M{dRnmA-PZkTRWJ#J`}z?zqn zgzl#H_q`vpx*bVzIU`Dp^JHrI{k*vOk`*06Mr?q=mq~sb zFe43d!v4BH-`I$7;1Jmufkalef8C!&FS#I#K|EJ)9srLF4u;NOGeShDA$+czALC0E zspyE-Oym)i_dlPnntPsePqH;Va8H_z55*@-MhHirH@9Xd~xwfdo^dic}A29EEJ z;WDY>wo=yQYvY9I^g!x7Gnf~Be@z>^F0|!J#0nvVR%ZQyj0h_r8_9>Hh{+)%N`_jq zdzL6OiCgj52{|Z45@qw{SF40+=x|f=mPB~qVZiBg!XBz1=;?6}36|C!xB41!@|l%_ zX0$uKlJ#HVovZ~qtpx76s@>iXfX+iS&`R=)9<~(Yu)a;zi zWPF{Rh0M*0eVW>fjA)sM88&c>QeVRJQf6?F{oaMBcCJyYSGOBO7(pQtovY+@KO8y_ zy8+Do1y$q8#^`zucd)&w)1RH7@|O8aBa<;EdFr$5sVcCRXl#rwehD+%s$EfzRpeMm z#v{leTMQY|XDCV4PvBbggg>su1in?AuXE;5q`3|(h|NXvSv|2MSURDt={^$c(6wiV zrDDWEb952VQEJpqtNq#O1$4<8xWiB=1f$Cn{oiJP%%hMobFYy`y@wfRB`$21lsh&G z|BK#7YN9V+Z49|Ey2Lz~VAsE6jm&{r5_49XvdLqV4>!!}No~a|-~^#RP8fa$!SVQiKV>0Tgl1>A){q%S zi5Uycd8`5*2IxA-*uQPpm9Q)jAafbW^E;m3A0;Cq2$F?_KT;97 zJT^;r`6l;dyy~$J<@X_VX4rLv`fmpe+F%6BO+&&R79Bt+a7VacVZceUuU#5gx-mY| zqDhMpyxo3rNQEKUd5>k|H~0QkP+q8P?jxu7a*(j?hp}U3`Px9SIlBC zE@oNuCp{T0yH%i^5s@M2ZhE@EdVIe3MYT|w#=vDzs$u_|f@a6YhTX>a8#K}LUubm> zGZ9U$>!!m+s(c$&o#)#s36JuSk~nPpZoqJlCh`Nm@F^19`bYDl1ZFw4pdzg!dvNP%nyWoY7(4qI_dk?&@Pm&wsKddQA%g>_(kyvNj^_N^<6=94u*}9P3>ywc^#@C}In$pF@XI5NJeSDB8hEU~p(`YFdko-J{2pa}H`4r{ohweImjee|o zCz5&yF}4dS2!c)ph||E=2FkuY(ag*w2tQt!Le>5YlN{_Y{Eq}w=g}Q8bco0su^4$W z(YIecu)UGWYhU8vx7~VFW!_7o`0Ab*PEYqsDlVVnrw81+?-`tTH)_6UO>g^u*$`Hx zf~?LoKm7USwQ>H4_u)ndL$X1jwz2PsQM6A>By|4H#@g*AQ<9^k8y4ckn{v}pabFi+ zL`SK%q|PQ>T-;y3ItfcHbm?LD zS)E5TwKdO$?%Y8mWmN8pmASoYk3~It+Z_^HOy6jpBvFtoUg>*w_#^(2NJkR8KAGJN z2X2@QF&9&K8gzc}=Dj>U+^{`_Dk7bmrzE86oDesxZ7>(9O(V<1h(Z z%3#c`n28#zF+Q~2p+};R_g4l>-sI=!+hD@?{T#iCy*HgGh*G5W>g-Zd)#M*NsvIVj ztCLew(mWi?Y4R)?Kiia-!%!vZ7^Vs$ zeW4JQ`7{U~pU{#K3Fm6-7=)Fbv*l%T-;Y_hzO%p%bG~aSRIw0UDT1{)<36X!4U6;O zI2o+QU(XJ`E$-*nCP20L9*=CUMmm3o%h|cGGSj z>n8cvm5K(=j%uAAN?y65lfx;;#Lef%m92-V(&K%prY*=PF?DB^zrMOf){TGVnbZ*-3%m=#bP` z?9@$x2sBjdXo-fB7#fIP?5lrD=O=ByJT09xk&I(yh7EG@oNoQL*h`vc`=bz>UL*GE z&9Ka#-M6tj1CX7!&&pb)p_8AGJ#8O$Bjw_3T$;_b1HOoy;on!dGnJ#8T*?i@N$o1v zFUz$j#DMFWb~L?)nu=ytyI=So%@iu{2(K08vf!#AHn@3C2PpqU-h=vk6uToB3turT z7<0T`RS_-prS7eh*kPaiWVb@g%;MSn4LSHDB`5b+a--*wXxEE|+4NCm#ZY`zPLK(f zY4V^z4L9sU80$=S;A}Ta><51b@6FkMfe3O(HMUdCI>2@yYH|k$yeL zb&+Eeo+n?kNR|sTy;wM=wJVKYdT+N<6s9{z2#~4nsxQ8ioOrE^o;O7LDC?jD3oXu_ zPWzaIIjubE0Pc`Bvd0^Zt%4AO+RE0F5uF9B%{12wlph_88EZG!xopoG`l|ldIuoHe zRtAB?EcWPdPR>fL3L3#~tI%7qIXI+uO+fbNTQ95m1;YJDl;D<1{|6(F9~k&I`Km_U zl6kDd4$Ae5yce781e+VBo*giZt+|y4@??@!aC#qYX@2{}x`S;u{s!`h;FRLfQMpq+ z^4Z|gi$hhhCzEfjHICAJY8D5=?e^El2&<>vrt0i(KCnrctTYlC_I$je@jb9(EMF`xJLW~QmfdU;b% ze`#bm>5<7|kFcsRYwWB{F4XMZXRvVTkaxBL0ZxK>qpqKi!Zx^<&cFEH+`4a!UVJi2{6 zI6m6;hNcXO^>ji~(!8Vp8I=(T>j=^Nuf4bUhfB2ycYnlT_pBTa;uvUDc|M!Q8TR~n z3tp}pw7lIyX6!Cdq2|39L>(I~;JVh;nqh~y6<{Uek7-+1)`9eO%o({H$Taob`z&z$ zJqUh&Hs|d$q;!_!rA6NwEsfEQOsgd!N{R4a&Ty}CT97_ieP!U>lxx7QU-tq}nO|2e zDYW-RsB3TdW@jj&_Q#p}{$8mOws~S_j?{6PzJPQ0VHr9?q=y(nOt+Me70|n_BrRu+({0Kf z7dvmA`zm;gU{>466C+Ogo@rMY3*qsPP}-+pG4negX|+Y;&xP8*ObtmR7Nbv?)eEvf zy;>tYdyYrJ!n8YAjhARQcC&K5o651vb2+0Bx<8_A{9~(mTdQ5@wg2VGeTel~h0PEf z9S(WCjeyFlOf5PFsy++`ql?97xr_)%cxFm5!(#FqJB1YEgvzF`1cWfhN!i3pDM&c= zNLd-%Ilw_S4?E`PO?%Et*c=lhp(H7tzKWX~trhF8Nd26@HFJX48vjf0TS3XhjWohx9nDn?HoB+gDD?6 zC_=(r^CDcr%zJLMWJ7lWBrD33(iJS5vaqF^m3>*4WT$Itx>-Q3rc5$sv6>_+_k-D5 zUVd@Tb(X1!DCX1sg#5#dLyHOib?r-w4Of zm2W(NQ(#C|VxKmmCG88%Lcg76kLuKVCT@#)Ec8A6dazQVnaN5!AUiN!ZP7oRU0w~9 zF}ee`nZM3)F3Mr1saTh=(V=naMr~tgSyya|#YvTc8pUF#^GTLLUoQz;Z%rzfS%{wI zaGo4#y7yM2$KL0MrG|kA0J9Wxr!7vf>%CP;drs}Ol3lSkXo)lGI%ZfnFvYj}om(_yF~?7j){CpBZ3g?s zRMndBik}pU5a1gUDnXoX;{d=O(mkvqaT^=8Ov~~f@gGUz`<;1V7?i;YF9KF+wU5!m$gpZPl)__V(8?>dF?0jEF&30xB6Hs%lJ4SU0x>WMyo(hKv{j+ zd0kM^-o4GD|3d0Uz9a=D=_p(bN!cXEa8dZanGG-jr!iZvT+K@Nl99A z2#&U6)5J78dnGnc_v)oa>@d3m_<`Hnu-wQS(+{|=@7x-YK35kk)$PT;|aq)LGJtmW^B?74y7`r>R<`jJ{~&c>z_^M2Oe3wa-Ve{`x9G zsJQ`S5~pi^13IE6aYU5xq0av1l=f#AoiWgb42K>&w=e4GpY-oO^PEf6jd=<=0r23S z^|w5Eg$h&?bp`Mg`4@Lvl_z&#)fMGUXcllMRs6ChbgFt-m);`-jJzgk?q11#1Bk*!w{gcQrki+>1~+p4&J2RE#gZ$VGjzV{~?(YCk*WGAXT>4A1UmN;aPQEl|w zP*ekC=HBPz5LLu9F;Plm3}{B!?%UGUz^iM@05BsdArw7V$+)1i+Ukkp;J*VmK$suI zE}ARM_VO>MqxIsPfW*(53_V0i&}aA&iv|;{ zsg-53mT}Vj8E%+x#hYnR1)rz>uz3IbICl-nBa*qJLtu0D(y9m_iSm&kuse|vJu<4Q zv3l-z8Sn8v`HEmQ$$lxvhYA)FzTOOI&Srm2cgTl0J7vfY#{h_yaU1<-I;iv)ExUB_ zDpZP&Obc+oGMi*tM}#W-;rb@}dMhkLor;$%@vq19Z$7niuQC(g=>m zMUuqrosXiIs{S@h?0Lv>d`)CLXjFJVA~Eav<#-E`9u$Cfaks0j;0H;|bBvS;Mv2a9 zD|G|6p6oOg$uU!ad_r{2$0J4siDma#>XM$=k#`nVYykXK4p|J`9S}-f-_=zg{tiP7 z(8ts0m)lh64GC; z|3Cp{9=VSDx|84pU|Jn~#BBjP@KNh5wSNzB>Am+sXJ^cfEQSyBQ(x>liU-|ks|$vz z-KwV+CH5j|s_gi+^H>ijEFEJPbR=dA-7i-rYfIl}?H&4%5z)%n*hfd0#R+0a#&Z#U z!{_|%*bgbF57xpYz=4XeSI&YuELXX!uTl$5olKG`+3O|mZs11@uEgr1=vspU~NcC zXcVB_V4ueTZHMSS6I@V-)O))F%*s;M?7kfZP%gvT&7Qddv+frixzQpeeSMx@W5)i% zca>6uL2{Ncd_9Ko_D{o2BjEBbKiQ~6S+u_3^=PGW<+Xtf!7OFvf#y6Pb;!IvwE*@dlzQ5?kGarfD(=)C;e3G_BAd zxYrw~ZP(dP!M1z#>m5F{`JUY~d3Wv8Yf;*2ak+uDSSxDhFu_W7dvwWbk>+qlMs1Q9 z(7F^M*bExJUUd-v2qz=j6esZwqP`3EAxCD*4M!9e3l1`yN2g4%**6bze(nmzJRi%5 zwn)yf{=Mpd&M4-ZDFEM<5=JBFv;A1iU=h8eDgH!H7D)R z{5p5^2fV8-S_urc`2>Uz>DPQf#>IS6H0i`FyqU`>YL5LiN2(UOJN@j-kF22UYNBV` z{#TJXIrI;PoX$4ubHR?0d)~fp=CqWkU6OKL5c(}whLC|oDUDatwf$(;Tc_F_=dR+b zEObfds!&4O3ctI>M6dl$i{r=|0ijrMxp|$Kk%9y4?P&Aow16uV39QWTuWC2*c>$CUocOX~4jVF5{xIAO?RiKHWDN%MX`@u~2+ z({H-Rxsg1!G#4ppNw#_&R~9Y~xoT`FR89+tE9iZ-+c%DM*J|H-&SAV6o+2v~vi&j- zsUgk54dZOxSCdj6)^}`uj=~`9{v7HV4j_AWS#=%AQ;pSB zRI)4u%ypBndr+;_)9(n)qxlb!Bi$;a{6783oZ1#k+s__?<#koF1~B2QRv#*kzUkd9 zRevNr^0KYT2n(ajHP1`q$!3Yg(u~{&T^g3lNN^&cDF@GVoDam#cn$CRy)byc|^!YAN|!0H+$>Yz#KC*RS$W+ ziKG2$L-AK=YKg_E<>UHlT;AD93eSBeZavuTS6QSdUrlU_bUAL7P_W<3M~;Wz1w3`W z$yn9)=ZC7xGwwUO^)8Dq4&3p^P2$U2-JO4BrKiAqmz_@=U-xTE=u1P2SzvKteg`Ak zrPM^a7(904RT0!g6Es@R2)LErqIgtkj4tj3hJqGxxCxKVu&gFasE2}IPdH;{(WS97 zB9+HF(6*wnfF4USb0lAZ;sIJ*6_j3Gl-B20fZoTuW5hDl0o-4NNC_x;zU~SKLUSy1 zY#cP6_=VOgIgZD%Ft;?zRg=8P;kC%2dr#MoR?wYDlrPKuIz zx1U3UZSj)FMfF43cI?{MrDec%#(u{KJzc?=N|V!_HQ`%Nf;V^|Z{nIG z-4j3S1uq+qL(D!K>C}*qy4y;3D$^89OMqsT8P%*7jKN-iAN8Kcf!mM2v(OPiSGN>4 zKa{BOpccA0`=J3ZjPTP*SPA;uUdXNc=GZ8db$(FkU;ZS2F+k{GSe*rLPC!Sh5C%w+ z2G4P`UhZ~5f9ott0!Ir^su<#0Sld3 z>HGVi@;o-Fbqopl(dO-^UCRvt%<~Odx<;-Wf5WSnlkw!J@U@?wU`RS-hYo%{zN^(C z`!zI9ws*$p;_Xif6fY=|2+7dv+5If>mcSODN4kFwmn z>f3t-`s@(h8rPRBjz^1IYqz@>w_b@8jfsP29|N;N7L$0694^H&w=A*H!RtPh^s7I% zC$JSzFTD`3uUCNJ^c6W5(t_SyaAv3e2CghY%L925cQeU*jZ*{>9c4jal2`$rg|AeZ z9fw?8M&su<2w4(Wah-BVhR%ztplM)$k@7ue*c#JQ8OCtIciVcZcio#q?*CxPLGlp- z?8YxKWLpG>?Fw4#nvXDWbVdkQ3pjumhYM$lv4Lq5(MT{U5ovsvf`ZE1Tv@4!$oOV; z1%Z-`DRV3eqi`A2bQ<)$e+`hes;&tLgo3AVRW<#73Rf0{9Vi)y#^2$ELFDFll(*{A zg11awy(#Jj%FBTuaIOZv?o*avgFNwpS}mh~Dj(TJJ&L%25(U_TB02le?1Jdk$)lbDt%Z-#mFTB{lSgjExPlp^ z4aGGxfSTbuFu1!q;;pyt=_Cvs=IOtNM<8WG8}M1zs@B?OI56OAF_=wAUMM}*^-(}m zYa2L8F?_GF{Hz8=p_)zT<6vYLmz)rBTr-%QwzB!!69F%xCeNs(SB^~J>|_zROU|8n z)6|PX*s&dFYEum%M2jgc3>sOk2t7};T2dm~_%2Up_X$`Q^3`#lYvpHP2$;kE4u@JO z2^gAnY{W7tD{-}^W!BCmY`QVSG6^7eSV!d%hud?}fP8(hK6{aOB>BRzr}=2GHwYjnM{nXdAY%uw^H+?moODn5FN?$xQ; zqc5U{ox(@cK`0D^_pCRLVN&c+6JY?@OW{WSW)pRUB2IYaCfJdWfU`qwmkn7=Ae4d5 zAVkwQSP2zsrl+hUGl!si3&JE22b`MI;e=J`GjhcSAyT4Hxp||z?g|FqzJ3V)b^J|w z0C^m!I~59;vCxn|DQ%bu_Kk}_p(+m@JdwZeE-G@kE)v%q&OkPk6Y<|_T%O*{_*mOW z595M|a|)I~v}m3YMbwdt%?1xU7sqf4&L~R>!tY=d%WBW5$7rqgE7P=u^25SKFhPvT zT>Bg4nh0lSeoe=K+D`S|7?WdbhvR{9y%Z zj0#Yo)G*Zaj$8}htz*9OfK+F{y;lM(J6n6FX;qaDG)0E_@(T2aOt(HK>I4sH>D1gv zZw(9METQ507h+>=TJ ztBXNt1RQG-j7#62EWfUV=K%^W(QCBUR@+M0HG99oX`$-bva*54kLQQzd8zQ7_hcqY zxUjjU^)btXsuoRQJE5%GTD;>9rHRZ>G%dQtE$@}xBG6C#byphSv5IOvhlh@Ex#<8uo&h#|x#nvYv6r--PF&Qc^vRRXF$4VqZtd&uzYCAjlZ8 zAGLd4tJrtyPAgBo|*HL zsQ7I8aL$<5d&m1yYGg^R>EQKdamqUYR1*{K0&$l*l*HqgSXKic4y*Q7r>cw;R+e&x zz##d(a|d0o2VVP6@M#3d)z<8vl zJ@sYn)Tp?#P-p^K5g}KQ^U}{z2_qw6#aAkUR1V`bn)M``zC0{^sdHs7k+RTJpwY;= zY#3YBYw_S}yExRxrxh`Hz-oYK^YG+J<*|>LUZg+R%P)?N?^`fN0!IC5w_?R3Ok57UT$6?L(7OiM+M5!~*!7W8Z7Iah z>r^3Wf-Y6sx3+Pq1Ay`*?_>2R-6YdqcLa@M15d8P`%fW7_U_u|*?=dSG{1}Hh$St) z`063R_4hGua^HR0nMP9*0CM^+n8}HW(2+t;I%zLe7zicZ6v96~aNE%Fxi}ajf9>2K zN0o9n$^0ZCf$S}6C}<r18z?TGUP61z8C-svrZw~Et- zVp{5%)%*qDh^qvP>8)ApAUdqHB#_X!@ymw`JKEOP%!gYukzi0r zf@+Pyz?%>AfI}Z@>MHV(B8C&e-m7=7juCgrz9N8^I!m_aEn#7{xnp=-44uwnkLbSC zM-Uvzo4H%TpgPH|)EbT%dD{<*TzF1rwmR0)x#Sn&oI6-ncK-+1GXLL-$ zhAV4F9i+y>0*O^-{ACv=aN#4B6i1YTwHlt%O^AjYwnO)#7!4HM63x=#>pJ&^EBBU? zkdkY;3`{mR^7lVh>n1FkK8W0%pv#YqNDl9*^q1UqRElkCW{*26gw^_a!^eb!15G0{ zThmZJz&PLlFN_7Hzni@%Kj#J!o@C%a2)dFu6HLt4Vr-TZ6sbTwj(1=#Ri0#=;wMl0Bg4`h&Cl$-VSY+xf+#8Zg@st>cfA~SybYS5^QY1m6wXDCXKS1Z z3x$0}!JRN&MBW0902K)wCmZ?d5;v;+0syRZj#jMkIKLtKkULt&d56>J}eK40z*+J11zrFWbMN>sQr1R?i&;tFM&iXL zzRnLp$V?+0URh2*%|hO!xUWqK&K;OH3c76|(@RxmY9*zMER$EEBsf+cIX-NjOjZ&O$UirwfJ(cqwU=1HF+TAe_ zt+$2$uCEvgAGZq&ClLpjft*?&V1}4{g=ABpqF9-zVML9fM$#PHFK+Pj^T*IsqZB(I zMxX>$q=;(pGR4AbO>t$*7N=RY)o({oVewA# z6F!H|8?h;s0d=a7%^%F!@em@HH4y_8w>@^U_tg@D^XLty9)ocaFHa^f;HqPTu&>VM zuIPm(4C02o0fPp{`(C*8Nqx+)H!6GWib|eLZlp_{dn#p;p8SLi`PPhpA|R5Jle=_( z@#uvhsI+@Tzh{rFn8q0J080tQSR&l8)ynVVla()#_|$wv4`)5@d>dlbKLrsRA#>X^ zm>c%yLvp?y(f5Ftys(`l8yxWWg!q4)Ohf^Zi4TC<`2^1CJ#O41dnlpZFcY7X z1Ms-#wLd(L#59O|O9_|ce^@BHCwjVahk@F5tU?MT%_x!6Ck$|4sh3^rUIQ6Mm)Sc^ z4NiX8y1V1MRKxYhIPz>*yn4&o=m+nl(Zp}51H~fO<5G>VKj#!M&m<L3fCZtZg{9zmCkMRZZo3hO@46RT zm10k)!ey1^#cVpGVkA$7CHD2(o`iwOJWR9mKO|kQ1m%dTJnsnRm{;)(zj`VFek~5fw;H zuhpl5G_Dq;X$*u?^Sw$>H^>KN?6h?Scm&g!Nd64GS7*e<#EfS-JCD4!9M0r$d;Dhc zMZqN)fCxGN33oAl2yvB^6u^@c?$j<6>h2Qn;-sU9+e#;B7(Lp@nJmFgKk>UlTL>#cUPC z#*4B^RE9#)AJW*e*Q_KW>L`l4Tw;mj6t=@toNmdJ#Wa{ipGkmbB;_JzIvRq8SrnhI z1lWtalD$*Bm~sgE*b-*K4-PpkiJ>H!Oq^dHJOD?Y#Cli~q)qt!+^o6BFOcX@c_p!c zOVKaLjeM^FtetXbCIF17446GS0TpI0pxzVp&H+HNrl7+ObEDg76$^*MV!wNNnwZ(h zTfrF%rELPYMS%`e2BddX8}@=U2KhOpOaC8H5|^B;ZA&QN#x~U`Qy2-&QRkT-x`7+! zy9LUF)2iEI@@3eo>vq!w@aJw^3)(oBr zvT8V4hRLM?=v|39F}k{n8mBCAWnTzc$fU%@RcBcAwNq?Q2cHXwmf}9^f7n{n#z`=R zUU^44hw66N&W|l}6oK+vv}_e2b%_)0K`(Xszhx*!D^Cwf;8R_=pWJ44t=c?CLa>_clW*Vgrxu2SNLK>GhY=>Bb8~ zH#zqp4`Hr+@xVFKXd=~JZ~E=a%GqYs2EpbKw~{vqREQVvH`Vfhv0Tg zkZP{LbZuvp#~e||^&ocAq9e8hZbpX8nM(z^L-4cJ+v z9oaUA^nJBq#juUAN;Yz5!%0^QN^4S@Wz0e0IUs zO3l@};a?~4Y;SbFL~B`8Z%VIxrt-@+z$*$nEG!H={56=t^V|Q)@+K|FgxAEos;{GT zcv{k&euOP=0KUHA$Glz;idOW~zRV(QH@BSyEsNQY_s=U_C(9$4U=Fc7^|$X}z=f{p zQE%)ddGTJoPcrvj>#jSMW`nbWpQ^|W-+I|iGfss!=5k4FpLf?m&@uj{5?)Zml(E%L z4-cP5dkpxYfYd?vEDA^gZMGQTF9&m^BIR38K)0CqN(eB%Z;rm@#*q<4zoXPBPlB2* z8EV9@lqV@jHMl)w?ytxG(q3hGk3R9}Y`Ge)U?~ydMpi82-pS+AMbO3r$TDg$CPzWQ zdqxQSfvd11)cW?d9XC)AW-<9In1bXFT*)daeE@3dDz{C&7H|(iUJ*{`3oIcQ1{}#V zv+Y_124)yX08azu97dPkb%swi^7~QmhU9-mFnnijBg46tYMD z*LAQYlGe}k)P}Zryf=y_h;-u^cIgzVTc$sQ9AoHH(hQX8sG9NT`8@;L9~eHgZTpZ5 zSf&I!{Hs{Mc_7-B&jj09s_Y!fy%F=v2ajTpv&=$W;AyxO)nan7tn81Z>T+bWiBOYC zI-?TUppWu@lgtgGpgmD|C`TcTkwef}73|Q6fTJk5uOorF+W=wKlS0_^HCK6FN-3RC z1oq4CU&j{s()^g6JqF9u)e>Mt&zpa7;~>=Z>1F7HGrE4wh1$f%7ls4>hTlCv{A^@P zmL`(`V%)jDF0;g%Q+eG*eN@e;LQMj ztnu48+WAo_h?8>MUr(^YFqi#xYG{GJE|y7@k5?Hj97@9Y%gL_{)KSoSYl_p!t*nn# z$^d?&qG2BQ{N#&&6n9BUbRqHy1&I}b^A1v&^@=_f?J)g8X1*=`_oWm%u#*cwYVh0B zzn{Ny|E%K{0Mo5+>H(N8F2`DT9DU?c35_f_ru}{*;*9;mGtgSFE<|Wgb4-(lHrW>TjBsA zTm3!OWk|(Le182^Kq|&eIH+^{dFTtuqp9LnWSL$qF6muGRByHEw@owJbBieSS}yx- zzb&bTr;9I|gynlt?)=+ z6st9v4e0%walg*-9uTNz-n8yp(`K~{c!W^FD-sbe-vAMq zEf;@RPnszkJs4|4QxKCGrq{+}W|NS9i@t`gS|JHuG{q0xLPENRQqiM$jo03EJ70zYjRE%Kd>+yo$flSyE4=4 zo+$6=M|tG=I~viguJc;&t2bTCb~bSdAm$(x>=f!d_tS^ zijqmtoL#R`HnDsYY=*3&2N*(8>u1^AQ%2zTUw!oiIh3R**;yk4aHi(TrH#*)wR9b7 zeb3wsyjJr)z$K@gwO6zcL4tj-WT+U1K8DsNOnDdKwyHN=t z$AaR(y`ERX-gSLS6V2|N-@bjj2Z%(JWcHU5$cyb&%r{3N-lO;--361Q7{e zrI=wI*W1~8<5GxD&{ZpbaZ3OeWZ??jSt&jGR<2)9&%l7u8A8z6%lI0gbl(uM)*&Vc z7u%IY9o3i1`&7Tv+T5g3O~6}ooL`q`?-H2bz2ZuJ5cPTI1&ZVvH;ewUUfCX!e&Y0r z>thjoKao{?9#v04XYB+oKzU+j*G1IZPlY5K``r@uK9mGPqml59Qtiraz({UoB0<`E z94-@_>FxB+$iRf^SOvtXSY&oDJuI?KKM$OG_cA{ZRrb$0$nj9--9bQ6zkMBEzwSF1!xY;F{uX<1G1`3^2?k|1gg*B-mCu zv=mhE)NBrbxuaI3Meoq*!TN}EAxbbT7p6R>z}bopuzzYYgHGY+%$EyvuWdleVPzKSnc3cg#k1@n3WDXaSoDcXfR^2k0C+%<2uB_rW-85{w)j5fGDi5r5tb z3Q=|ZYwGHfbpTx-+@Gye09rIYC;AXV+9)(ap|4Z71&c1gR&=1ISBfe3^Xak7-@OYU zwl(l|R&f0Su8ovj+cTFM(@@Hd7+JpQxays}R$b%ce)03~LYtk<;55$^t?q zp%1{Qq2w&cxyGjlzMTv121o%tPa?AAo(q%1`OxdYZ&HVMH)4__rdl90VE1zql zmeU5VTF4Ehf#adT(TEPzBlj+kKZ@Ff+w>=~uO8v|3 zhdoyrdfXdPSEnlpghfL#Pu0ykqX;|>BdzGRRhPG$326=ux4#6L`ShhZj;cbP#|-mT z@nq@SqPxR%n@s^D2xrn0G+I3jueQVR>1VIc0)mm>()U1}H+Z8?A0ct~j1H&XZg?NZ zl`)AsZYo-^ci_&n_Vr8Noe=aGK38L++@)7sN3&G_$X!w zXnuB9FnaCkgrjwCn$sU&YZ%DDpWfJrglD3~5Ewfzs@&QPyi;^aSjhyeFfx8M{IT*3PnEzR&eYUe& zTGhCZsVid=MW&h?CbpHjop{+2FRHwth`u)zt+f8X7>jetf}1>Bffj^j zCfncS5t4k8LXwDUJ$JbxrCrqf^IhAW@t)Bc_dbcD>(SN^NqY(aYgpWwJ&?RkZ>JtT zkQPRpw~Q~*pV!Q&8uuvBo7cSjsVAp%owZ-?joWIqs^O(3utk z&J_EioR%zRyx}=$D}U1x;I`x6_Y@rOdl zsGHWqF@P#2=NO{|qG1#R4TOEqMyyxjg8hD`Sebr*7qA8-M4s|)O4dUK1mL=DG@u-c zy%&6M(ZSqcBT4Zjr`&?Ba<~1wCf+*I!w1z7cGn}2vtWFGTjx))Cwd6sy4NctGEUNFz1^ z%}IR8)yRmNgBV{O0ov_j;vZPuC56COx=$Eg8!iWgL_@}Jw%!6@{rhV0=QM4n%)kvi z4sP0N``isgtt46F`Px_|ZFNn}4BhvvBp^}{EF)nH&xD#Y|LIh}V@-75&8vd{?5!V63n41>7PD24X49p~6QW$+Zmvz%>xfbUxn+i{!@x z>HJ$nPgU?xUniK1TPc4%Q6`cpw@*ftCWgCW4?sh}-ywS&PFRQB&mUa8{Hy6Gw~S_> z+PnL?Z=U`TPc-K!%;qp`A_F4MuD(Q8IxHQK#9UXV8@WYJ7D>%5ESPn}j{xsM2Tf%J zUiZ0)MkxxKMj^hx821^3O9*(q&ABJ5_n)qb-Rfziq`!%hvNIQ^=eRXbRy{_e~9+K4y^@WNPzA)HzZ0LgR^TF?@Dq3hO||O zk7P>Kq=dp}@3wxQMum;SpRoBJjzoup1=NYj3KW8tFT%C(q8lY?aRri=ux6p!qVgvA z>00myOEXWBRwb2?-!TWiW`L4Zd@n(wGl4&@5R?1&AA>IefLwF^dy3Ip19`tGaKGOF zf?QUfMX*aAy<3c=)iop{_3;n6{mEz&6cPTH+8slOBT#!pp!N++GxoL11UCVh_8r_C zxyA{Ty7Lq1kuGWMAwQ8F9qvWq+Y(9)5&%l1f{`A7B633k@)@lLvdDp92T! z%lrJe+W+@_xO;!_)8P~Ys5J^Dsb_z_zrln7R}L74gM>0Kbou8TW{V?4E^qdH#*mk< zYL>h2T)7t5B0{6Iomqa!_&cOVW3bPaKy1=V#_zQlRm=CNu#j@?`vjZ!L)7yxj+GqM|XjWS6{kzoCEuaXKM`93p zD~rbpHn>{G&zS3I{9UejS+wJ=*OhlJc-A=i1hs$vcIVQ%-2}1abMBO-nmg05k`uBr z#tF+XeMk>Jg(oT5MfK0m=z-s->A_)$gs;>6=Q~%ZukwX~&*6~}6FdI*$NWg1Mgp-8 zdt6!Qe}6g;Mi0T2m6X(UM0Lcsy*Id8z~?TCjN3&{kG7)$FU%K`s?$XVHTFFqmyW(& zK5uV0F)_gc$yn$}V3M9w4&MY5g?s*&J}t-dk>upVH=addouyN78odA)S~n(Yu)r0j z8x`%BUf}9e<`2hq%2{io0RPLq*D*)xwhK|Wg}qFEeeWp2q9(+|xZhXcw?8OzjJjfY zw%tw(y0r?X3!srV0nN(zTWeC(sA}4|pPg?dD~RuQ&Z6!7CRxnQoH|elS^#DH3IKm| zs!?#+K(!Th)0cN&DpFn0E)dRr#2?Q$Q-J=44S{q>Yf#W(pAt6WF@9A<& z^Huy7Kz|H^&D^DCWS!15z<4`+f#yC3i0j2bP1C@^e-xqnZTL0kWK$HQpbq^B1eYHg z8YmFtxa3U_sWgK2nYo6*OONxY<3u$c8BI-11(w?G%(Zs9J#o)XON69A=xIDh6;Oc?q@>MZ-Gsd@f$b^2}#i;Grsii z4<${VYs{Xd9w21M^*vfjM$NBF^OTyg;a20U)w)`>h;e3RlHr2uMiaj~NVUa#DhnaqI8EX*RGlVo9Q5I@Kiub zNB~r*ER5%Ka!=RIC4CR&fuIpu$$7cr3g~-aaiELQMc;d(AA?684@e@oK+~wNR#mq5 zF~e1t6W5lVbD2K3!)aj{d}&!$Co(%1gu=W+b#PAcaw1j`%HJmRIXqB;so%3EJ9(}B zJ9N(3#~WGKY)G7LKO}hpzyGpfE$p#Fiu6HQQE z5%NG2&FYvFrmX9=TrZIHpjT&92d0LljC@45hxN3R08`RiC($&xYNrk}_l zX%7cx5Ix$|QEAF6K<=Zf;z0!VD>2j4*5QB8Mz0}}9?*tQM=ppH2Ba&bXm$Ft;33U= z!3+twOh1ROF|1hOlgA&mTx+_>T5Y`Oe_kFP_9WY1arpJgEyD~70R7|w?G|&J#LCR8 zx~A-+rVw<4&^hBSROA{IklN9P0k0YxfWSCT3;GK_07{kiV@p|78#kMO&q8&|bixoc z(yNchxCV8rC@;3eClBMf@CnZ%U}zhWG=SF-5xi<`zSz$ z{3l1c?~_ma71-EfbeVY~x#*yvW)%RaY#dV@QPqQENMOxDp9C3yg$e@|QH}EoZ}6p> zLKv7;>g!!p`2e$jK12-0?8pt!h4un|oBNzYp@FzluLXD0APF)f1s;*uknODGKiAo!0oD2?`lq*@lB*x*%B0WXR2*5 z-T}KZ8(c0j%@0*o1PBnI`C>^;3`@}x)cloIRb@RqJYJq>E^ZuY$0E!e`9VMn`Svpx z2muwqIm-qO?d5;BdG|Shwt}(|lQY;cRP(+|uimGM$d6)2IpKY@%XUWbwJ z_XYGzdReb z@I`~cqWFc9Z)6nyK>9p?(;;g)Oy$+OhSPL4@{^-Lpm1|#ZuG&yRL^w@LmOp0Dh=7e zJj(k(-7jmsv=}5L%+TnreF5+|`vtk@pjgj`E)O#$Az7&mzAgPbp@|sZi*%Sk%-q|x z`Ds`|p)C~Gj>fQz?V9I~^|8msmXY;D-Q?PD`{5Oig$hbOV!`Z9U9S5ms;JDK`^M@m zhZ6TEtIAYR*L^n+7Y$5r4(rvbDrH{04IpZ$ldjn(WInh-2`F5Oo>&*sy1E!uYLh%l z0u22<>&+o%t?YKybKq9vPQXMM?;|e$bh;wz@1TIFSn>AioE_STR@p!i&-=ypmu$uE zpJDs2^`Dhx+#Ru9Z_BCe?~bZD3M~39BBOZL=Dah+N}DxMZU1HR`FB+I!^kby6}nN= z*$dc$^tnU5lF=rdHQEgY1b+<*R6Lo_1W?!KT9@A{Rq3LD%a8^Ykhc&Y59rA;s`A$_ zX0gb-W&H=(?cSe6Jnc)psy{1ve`EJ2k2bR9?!^~_tr3&H;o+Z@@;~X6kgzP&nSMQ8 zlvvp*f_sJ{8xw0fw)l-8HDEy6Crm z;lHnRAapV3z4fDWsZb9n?aEl7Yd_3=#L(pP;JwxC2qVeAGdaPAbgax3iC_BeGwr)R z7r*dQm!Qp7i4WV&IBhJ(hYCO>L#Jlr_)bLQKvVRAXO*d9Ka25|d@OL%;Ci`~*oLL- z;NVao`U#X-az1>3gwX{QU3r}5!W&e^%Njou5JbK?dIdx-(jM61*Xp$uI`(>n8n2uw z`1zj*B_<{ULj|;GyrnFBFsn|ud=sV55jES-W?Fca&E8>KMc{XUB&TLBpvNg2B^jxs!hSPW@rybvFeLkrI*q^5>Z3fe;j1&I-+C!Zb0e*&J(S2E4N zzrx0fUyw?t!h>eG~~c8;VxC5F)&x*lu+9}f-PA}Z(KT!5|@A5Eu?v+s_t ze!BYA_ZE{7#Jn{4pC*AOgWz*gn&xpJL`?g$ug>?TZMH_T44`zuH^+5tK1WNmfT8QC z>I-bu5YQ-3!wT~L;#cwq0cUNTl}*;Abdn(9+t!a%qi`t_)V8eu*9PlDNg zb9w6GPRVbL3hGYJik3C+?{W5XF@nd%#`WY>t zM_XIl55N{6wjmfO<`Gx`^JU;r8o$`V=W+cP0;km=g$8Ds?K-zPZ`h#~IcN2`rd_ha zU5U6E<%y3!)?B~k*lpjL7s+U!4@6M*=>^ch#LrEorDAZIzW&x&!1Tmf3p?CCBp3da zEFLbZ1gM+9nPH{u10%zb*X#)6uY}*^w9LbVCMJw!Z zTxHhdo$wlVV3)qr8 z#g>bJm+~+hyji-ViH$2yd`48 z0wN2lGQr&Fild45@eU|y4arLgNIB7X!ldM!^t(Z66tfqHx9LNQmdkRBxs3BzKGqfB z>;p;Iqrt_{XaWNIZrMca@`I-_0i<2uje&jXcVulq+6e;M%|pS-3dPF@Ny%v9IP9nW z45Y((@NLrKGEx(^1>Nv_O))}VfM8Do?2xGpssVX7IT_(gKrn6YON*fLqaDw?wRR(1 zC;(zb3)F@+Xom8ei25S<_ZVOpN2*)-=zZV`mTmg9$&)O*((IoZ7JI2K6v0;B-&f~R0kYfxG&HmZ0BtUcwY$b8ktB-Oiy<#>;!xF7VURz1hJ>)!-Jpr5mGptF%WDeMd-jX8=zUag2fUC7@G%Jx zPN^Jq-g}0%-Ia?0Wl#Dec2UspwE?Iu5(Q7}gD$Z=4E-JrW@ezk_dE>kde>o%GaWA5 zQWMTE^LT-8Nx0e~b4hoVYHoHtnqG%K-BdvV z=8ME-Jq9I!G)BRX%*b$p!*K?fKB*JYJ%B-BiQ@{eJp-Nynx_;TP#_uT#uZ(Fn5dEt zvk3A5D3n)Ie1oJmTFqyY3Xn<=5MM2-8dmtDax)YqI+I_^ll`H?VN)VDGSyXBqhVlQ zNW-SK36C~JI;hur^&NF|PYiFWM6i@-c87T#Vj7QB^#U#qV@fL;u`65uG@1r59ZjA9 z`XO3nOEL)wWOg<_Mx}k7`4rdZzVf- zPb)SCQ*8j##E~*>Jx)2}uwf0aHr7PGP!`6hZ@Q2xE>h2C)>7MO&Uyag#U7cXD8Xgo z-KHI02mm}wVhBOxG2|d*MkN?>zc4dASMc6c=DJd!A zFV+EMTzvX&T`r3}6t6qRmB&tlqze7)(_tb@5g?B&HJ&&(39n?Ta;K1@d-OkNul!Az zR_9FRb5ob6iUPuIRF!8BMV5o#zuw;u5WBl+_B-xgjFre%KFW)QIT#yLBN2*Zh`JeK ztqYjxn3_g{6=ymeDgTM~2w@Toh}L@CUrbwrnu$^Y8pc*kDe6jtC-t+fr~|6#iJ^}h13Bj%0hAPhcv^gq;s1jE- z|GhJO_uhxrgGf#@RXLn4f;mL~%{K>b!FoqWDWBC^fUW#F)GRLw9xWj(k|3CK7qQSI z5k=04bXjGD(Ij#f2%P+1SzYyxSAVhfEJzWC=|!`b-?+I7o1?B@ZtZa(`R^3yDowJE zT^BKFQ;~s?XJP#moKoz^@mj_Rs~`m6_;Gi-+$;>p05pdEjHmk&m=NyRfj|n-iqki$ zgp$a_I9Rz}`mU7kfyRb?-*o875x;Qcn^jG?TGc8Y@-me+2(L_{aDL9`(Hs6jyA6}w zUy9!}lT;6mUtf7}(#M3TKJG;Qf|U27)nlC0_Exmyo$ zt6Mwg!wn*?2a5e;9R+@0e;%mDh|^B5AxmxlXWvl)zaTk`jnw!d;|U*=*3XQDDWabN zYs%<(Mqd{|j_HacIUcqG_Zs&l|E*#cb4HPxOtm0?>ARcL2Im<*A?IbfZKAp-bxk{w z;l|5RQS2-_Z>Q@aX!6T54YM^(^rux%Hy8~z7?z`ZHdEc&mku!2KG?MMe)`7zqeC#( z=hQuU0-&0cgJ5Cm@ILSqcMNa!6*@b9S;uWq4y)fRHacyOycZlg$MMJ z6%B)*K(_GDg$3vnCd6ENr#XW6CJ7&b3!b~`L`@^bQrO8*oZstswL4Avg#;Owv1MuY z_YC<*%!KAGgC13YK}Y8@Ul(&oL*RsCuBI%n$;P77E1L?!8FR)T=8|Q4Asblce0b)3 zbmHQ$AnBiXpi7n?slu;c%T?&wSgxp|xeY69MCjx+=}5gBooL;JXoM_>4agF)4KIV0 z2x<9aV>|AtQNWm7-FuU_#i<8kA%(qbNv(`pBRR%bpxN&pbWfo;8~<)|VWaeS3Rf zwM5gXx$x*@Pj74DY^P0u{L=S;&opIP-PM)H)~s~>1)^{v2Egj{*K~?clqyw5);PHB zC@o&S$hz~FR-H=u9faMe41@6hR>XYfsDcp>^!_qeQ#W6J08ujnBxO)G#*NrHM*F+?@MFlQfyMk8?zBHdG)# zj|m-0K3mj(2Ze8sij85HTJB6wh(!U>rC6%G7F#_V`3C6*MZ}vv`MSze7Wi+DO5vWj zc+gl~WIRL}3FXIn)Di#_+=1uKS26?Di;;9erL5&+kdc(iRia8W;uCtgltsj5BQd8O zpnk~zY($nHSV_axM;48Y8gJ=^cg2BBi%gHqK)D^6!&Y=*r4AWAB18@k(unzFoPojk zUI%|8t|EiZ6E^fSscCuf+G5y*drjxyIv*3-qUPL<7L7zuOvsBts3^+5>^Eidqb2<+XXQ=bn#FRHd z*wSM<^t)Klt1LOlXk~E%*#=)nBsLl_s1!gBr_4^2r9N3vSi11g-u}-oC*nahHACga z*Ws;wtfXb@KU=-`rhb5Z<*NVPIQXq@oYPd9jJrF(rr3|yjny72ITd6SZ~|4YFX|bz z$l)UFF?=NHN23^d6LqD=F_7G4b5w%ccT^7i59!(1+fQvUa{OS!Wb}w%=iuUgeIsGE(QO zM{g6cp{^g~JC^u8oG92;Ce|c-2w_c5PhY@=GYqIP>R?Eyw^7<~RM1ANX(|&jo+gsg( zBMjC!OacqDd`b${OiU=(%i@=BHbpA{uf>lKk?w+u3|+<5^Br3>Fm+804Wrel1dnZT zhl}!#mnKjk1y)cJ0Zz4C2{Sgqs@*b zJH|k)D|q&Z=GC@H>uXMk7#P$MH&{v2C3CXs)x2pTfvx@++oS#gSmwbZ_lY&LO zo*2X%(toI_vQj07g~U8+q;b-t(xUW-{4yT@k;5y#yu(2J`cI7T27`eY50S&4mzN!} z7y6NrtYoY;GTj~Kpc0_aaNygl=csFAZG->GbnPPnyF>ib8YugAfq693dIvNs%CyX4 zz=+f+5qP-M5eb_#2MGHtzwq^5b+yglQKE2i%)ua#Rmt%vBcZbn6ABpch&@tG#&Vxu)JS3Yev42F#2TKLi48~j3B7`*Nj+lCpblWJYz znh~4NyWUA5$+xP3T`4R)XYIBJ4@=6`qEFY6)N?izdg`4 zCm5>60!L;1bWF~V4wGjO!4QvrhH#*-sOXWt-bdKv{lE|Y{VGA02=?w-l+=z#iL1&v z@#PW4@YI1BDgo2uL|oPlmgQGqKg3}{+qa#E3>?`lPGEmL?cI=-6KRRPkQ=#DA&Ity z)E@qM5cyPAu$Z{lf0Y~Sl@;bv85lHkmFte3|P)^8t;+w(O;WM!hP4dxHMX1L$? zlCYo_r1yILz=o-Nya)~%N4I8pxX^6qWTUqejo(VhZy<9%R6S;p3$+9ht=I}21zMOr z$i8E(6a=6kLf~PM%_-?BK?qwYN`k!?`;adrS^5!qS|&X{u}wx8Sy@}P*OxZJk0eRz zv2ROQn-cojA~|aO@0%YVMUlE86Yvc|Pg_baq_tJPqa~{}68OX?l1jukP-ySYQXx5p}s%?51dA}`M zSt0WRVlN6F06-SJ#x)SVXC{LO9d^mhy%HKjE5HUSuzl&1h{=K)kNRS>vkIJF4+m9< zU}uu?h|jXdostB(yfhBz3QCjSkp*jyCM6ox3;fM=S+R=&yBfoGwJTzKtN;gL_!vzs ziud)PE@Lk7yzt>I7Kp%WI4_riu3ZqvCx9U_K!8Upg$ORMw)2jG8D?quqxuDpsDFPV zl4tMxP<^*rZPeSH@?S%Usvc8+$$WoFSIwgWu4CVSuH$-R9i)ZlmG3qW+?Es}Dla<| zli`}+?9>k z$!z>DJ@&_Z$h}mLUKh3mU=txFaPTyqKCtfR*-GPijQ8j{_lf{_%#xEL60&mS5@Vbc za+%31Ev@~Ki?H+VI1DdM9fp^Wf6Wa$9sf$KKi<%Kyc)k7BF20026q4W@N3(=8%h|h zVN9H~s@zwf5Q}VbL3tz_2(xb7zkYe;mU{4SM*aOEU+s(4`%|aqM;5);oJ($e4U!{W&~=Az7vW9ce;vTv zdIypv{}^EJYGl2eF%@$R1F;ZE6Lrfay5DL<08Vhgg81)~-<`VJ(Uz%A+gl20r?Z*B zmWtZ*J4z>VdLOkL1X#GoA~H=VtY#}aLe$ooY= zKPH%C|NYTPOlV`0P*7?u@X)K4x-*qnUk)I$t2(THi&fg zS6fa4)#FR)gmCPk^9mNpwWF5#i@{UmPk}Uln}hR6O-1gY?`uKeY0|4tw%)sh&e=R1Zi5};>$9vhLTx?$b%&K#6C=F?S{ddr%_G37N$nm1bV!_-OsdnQRljO~L z%>0*v$*uVx*>?-C$_;Sw9a;(kQ0DTzf1dAZUM_A&Wd?Ap2nwi9kxUcr%vYDVX7j`YFk3}lCRh;AJlAnzIC^h_y%24 z1C5Z{$;$dgdSk=s*>K1`QNcOl*7i95?C-R3lB4*(4g5cfzxC3i@OH1zSdC{tc#y7n z*^XEOX!awhDLm!%KacPisrBf;a-nr&`t*-Wr-zcZPQ^)ktL(kuEO~hRf^lyep+Wg6 zu-1#R)^i!;Z_&nw2!+MVZ-C&bP33;pYoLV{frJCf@?^3X0!gwTez#FlISp=xN^Dk# zCit7SQ0Ffmb>`jh7;f6JNrte3W=DKUDL&%aN*?*v^rH!l!0sQ{)|;=y*{>%myv#M& zTAgoW!{5NdT91=_Xyn*{zz{q`vLl4yWO%j2XqlBs-@?y+$gp=0oivISBLumWA z=NH>2JGx~@V_3^)IBsM4spUGc&vv$pJ}?ro(iAlUCzj68VC&@zj%{U*^I7lxSDe_`gH$+r~>I&qq9F>l37w| zT^(I)&UWbAD%xZ*%tCAO{k(J2VM5bHwXI61q+Svk_>r80|a! z@;472O*vcxy$rwo5XEQLMJj;(%MPZTtL3X^NBnbvbj?Y z5i`r6r}nnfWZPz!yN3+=y`rAdN)RE9bCv~baln-)#jO5a7-m(eVb=EJi(T0L&OR%8XiyI?wwHX4N!2tW5{SWHNUw_;*d{qu?PQ-$ag5NEA zrYAgLQgB$Vb6oty%?(^(%Y?8qC&wrSB!bH_SC%lMlvJC6iGx-{~hmQq$!=fRNCbh10ia)x1veVhY-pjOjQu>Z*dR*G^oYOKKz+eQtxxt{!S1+)58AF z`5we}n9B0RR)0S!HiCCYl52*H_9m@R{sHq912@KL%$$fCocL)1hBJZ(*L}wX)Usc=cEXi_=EwTubtYX5ar(#uPOUNO$rN$U_=)#X^K=R&_?;i zCV$Vj9~TVAJp}2Im5DjtV2ao#gRfaqQc`98V%SR4qE1o4D9*!kxmxRl1RxgE*@$S# zjB5%der~SpJzk$;`;1H-S9^p1z^kgJ)%2pGh3G#NVSgyx7HF`bJztpFiLq(nVjKh1 z8O#1q)Ogcc?l9a!=JJ|okh?XnmU@sCTjF+OZP z@Z-XxT3odftA4k--y}sLaZ=t>O8=yVtAYgDAV+}7QU|4fNA3eDP9$(i?>4&BBZ58Z z=-G8m_ns_L{p6%cq-E$?rzl?N{k)iJqfOqo(sC`K%&^Y+flnhBn^oxHLo4>|te zzm3F8!7V0|OJQ$oimkQ860Lx`@@*Qp!MnVi97+B@-x&h!?uN-AwTM?p zo*elY`SqmKUWsds<54-gmLtwh)tFXl6ezWbvvy&M($-VwxzAXWlas(aN$xFOf@lrM z<)+WS{B8P}-+1>B7(LWJ7t)7VL!E_cg;f=VIXE9(PQ;b#pb{93g;fy$JDIEPwnl*@ zAPZb9m44)%tZKj=%({Qt+Nae2j)+N9+*i;Bak+LZ_fkN_kD5+N0+of!`h0%8AulO0 z1YJN}#;99wPH=!*xAt@)U^CCoO3F4|Ec(9paWe%i6YV&L%7bWrhUaLmi*P(-q?V{t zwEIvx@CCCG@!Hpe{n)R-vUFtxi)Vr?3Kt^Jn*AO>Dd`z?irRfeI-#dyCiEH_?;)#W zUl@+;@4@^0p&pF8pxk1jbpqU+I3NzY@g2s})_BV09NxE%Y#Riq>3spqOr>hfu>M#v_-~bw6z`3}RjK?? zVNjRL1K1_*L@*F#6a5Njt{(iwv&hW{i69mkz$-z*MT*^KmVV--f4S*lQ1Q)al5Mw~jR`nz1u57~N=Q)-iJ8Fh*dp00wS|6fBOFoElLmK16GL;Iza2AH{B#Gh7)5C8Y8 zB9y|Qo#b;vbC_a@mG{9MDIyq0SeeOjSc0xxbCE^pqDTfjgj$geo)EMHa z@)d-laIq>vESf}Tqj^<9xE*EN^mT1-s>y*)-E)bSnOY*V`P%lx^Fi}r6AmloWHtwI zl>3?1b7GnM0vIcWL!TB4y0mzCHm+p@5=M?W4ajjt;V{`dRB%IQN|~_as0jpch|YuK zXvFBh$59mUjX;pn5dx362fwt#h!jQqtv5f$fEpu^Pu`!abBRh|Qj$#^1v=W-fUqK$ z%N2p#2mF5`K$jBPjl#a1P&|0_r6cOd9Y1mK5tR-PAGXLq@FmiFpE=}NMuSX~Pmvv5 zA8Ir>1M8j$2e}w**n>^aaNnAt^^5R8vU7_UBm6gG>8K(oJNum*)N-P>UgGk(P<;=( ztaiV2-WW&*6p`Ej3g#!mgs{~_UazbSR05N7{Z0=={QC9MLBB zX7BM`$FGBVL?5<3q_8n*z))P@+FAoPv>rAeE#4#C4(jGzUom%RfgK0J7C%~ew6TQj z`R(|a&+ksH1MQY`Ba$PFVoSMPs*|;k?oLV6$wNDG5dL0rnIYRt59n^R{(dcal@~if zp1mT0Ud48sj8U&fW#(;MI+5ExR51t28MHQ2``h_EtM8n(0*Yhj|UE*#& z7g`}8JV4ixxT{bc>^EE)7ByS##5WU4>v^l?+T9j%$e1?zYQEMfb>9vx;6 zEXXziEbSa(duU)}HRKjdy&dRRz0L`JKRyNolfUN@gSCLFqnyrP-oP_cFo-YZ*TQjn z_RZ||!&hjfWGgWRZXdXP+R>8TijQza>W^Brfaz)}x|-Ng6Nh?6op4S;!QAyzSw>2U zJ_<;Jprq~Bq*z3e9^qGt5M_dr0IFTh?0xQ-N526Y(_6nB6a}=bis#Cxu(A4lrqfie ze51qHBlC_Wp589kcN0gqzoe9U6CIc=(Kt9cN#VbBmc&;IetPhbfaY&xY#ffiSsV@* zT(D4-0|FYOIK%Ryq)4vjm;Zds?Mr-5jsvSWT9l-T+TeJ^3B~tVfAEQx+FMs0qj=2|SNbIqY-Cj)KF`}JF0&se3a(KrT4AyyT!8gSAk5E%sF(Ev1cY;=T=X5x zUN7*XW8omGc5r&jG7VvjN?hehY<^@`VF8iXR88eDv2xR-Q>K8vR@t^{HCwFwMgd_@ zETq=>EX^}G44fmiWkO$XFe2Fk7cvg^TLX5RwHyT$*M&-Qm-Jhrzo8NQ0*RHaln zUU~l^lnC}xcdl%&>Ru&XF!;&sr(csBAYCS9fkyG+$}U3re1#7|rKYN$PX=@FXXve~ zcfGU?Bp*;I?`L@tNhq6(;2!|tS?}HL@?8!fT%SYa2ezdFR9h06T(Nlx?GR(_U{j^B zM*E%&A%gdzTf7A2FLtSLZA8$kjtR4M*Tpfjhz8(xalx#KqnY7M9)l!@wH*}WbZ_Lg zrh9or3JY52KlJ_*WDTHpL}i-+c)3{*%FlrE=p~I8OBlZDSY9U92`D|Ufe+IO3J|-A zV-L*peV)ZbR_$A&a~pJ2v_Nf*j@IRqEC{jq|Ats;d~h)w5=a8M-9b(Z5w8FJ!dC7< zt*6;mZ~|my*$VtcD2QjWpC7h^_RD37-fczX783r+SVc3H zyok9Jg^g-KNkJ~((U2lzm_QbSwMI*M_YMIJ(bgCL0_(KVA}bSx(V!Bj=O-+Oz;&@Z zr|C)C34)gLbe$xsH{d@O*?-(fg3&%k)Lj5}U(M|0zNv8xu7H70_u9L+? zVvhE;xp5LehpoO3*e9&H{l`URr5$vk5!q%o`{Y%t52_Gz1+pY>Agi02n2*7H2fYUn zHzEl?fUI&gm6frA2`Fe>hdUe8h(?bRP&2%SSPybeEc;VoK_A}T2$qzVRs*Uk@ z)%Ga40whB6iy1!*0@$iS*~egtTsDx=1iD?bfoJ3Y>)FeYE<%`x+`7_BCI;!Y?;@BC z@R<|rbKmS9NI0Yy2=OKzzIeR+BE;VR9ME%DfEi$^q)ffI_`l*c(P@prWh|(vZL~wz z85=fI*Tdxu=X9__CI5!LqrMPA25TBiw)vV4GTdq`SxjhMlk9C)AwLB8IEEomZjkvE zl!USz{G0V=6Dy96$fP-05Eydu&{E5b=SH{9Adc|U`8GdetE7VoUAlR)_Y}Ovx4$q& zHw?T56B-`hXSDzE0|LOjb^!#mGr@Pad*yxrK&6oM;mQs?Q87}z0piwfP>6`L>I}^R zJ;M=(gU#+=4;xGW4f7{8Ne3zFNPLzi`0Bm8At8_|Me1jl1yXgd5)+%KznL^THk2_^ zUT$+3=Nu_i1cr&!m10!XdMbntL(s9jeU!Y`t$`kcKr8_TeerV$3Px`3FYR38+hxBs zTv7W+=M3JG**mwd`acTn*A1LUQVvr{y3-F zjTIz2e5YNYy5UKu{!hk<0A5jL0sUnn0C)y<;G{hamZl5*DPu%8i$Dl&=W3m{{$1so zUF`kFrmA=?mry-O=!27F{pmh@+gI%GFRD|)!(k^MbaNTHyHzXrXf2I(Oprq2Yhvsa z!2Nux*a~4hf2DM?X z*EmO#kt@u7Lp3Q6xqC+#!>akM$q&c=9ka27OEt2wQXkpPy3Wb8vNI&%R>81_ns&{0 zHUtVI_^*L+z{MC9zFMzfZC)fc_JjRey+OKrBn9d_CYuNv6|fhgM3{}**%e5T zn&&dQ4jgL&wg>S2WnKcSfR&UQw3il9zydXt&m-DWD%;Vy##>8@_YoutwZBK&Q&f1k zF%fQpM{{BkT`tN!CI)5{6Ts)-U`*TxWt=*Up@tS6$f`mjXcWmHDM<~u>p^er5%zk# zsl}oxkX#Mby?fm#&|&V_FKol?wj*F`T)p^L8U_ZcR8@p>FKdAyL+zKMtTJm&!mCRa zaGr&8S84}uIgr4e7aK_t#_<0fIFksfeXA<7B`BZ4pE6M962lghJJ=$rlW&d?ybJ!n zlOu!&qxm801J7~zA5#(!*u{uiW4vfS;)F4-)$bE1Cxoe=DnC2LqJq6Mqs#;2%ilUe zC3qmAXv*+6zwbc~$E2u1xu@~+KV!NFf8;Z3*Vo_Q{?B0&xk#tW7FwwFp05732b}=+ zS;ZlXVH}*daKw3Aydw?LC@MuW1lR=d0!5T?ChKrKKB51$D*=6ADEonA&Lr6+YwQ=w z1t9AdUHrQj*psrHLGD6hWlCaq{mbR|$+gN%(+k`hA8C~5hga8|DJ$2@PY|F#nrjPX z!xr5#Zz>Tv6rTS&!-i)J8{(eJz>mkLzN{Tm@t&tM)ZDitwU^%h4U-0(;BtV~!~Tg8 zpvntzdaW^^bAkfPqoB(TaC^8sBgpx~viC_DGFn*RlF|VXyFdbcl7hg+tu%udj8pbE z#-iopDYs}!-dWrB?^@2%g>ilZnEqq$KQR4!W#Y7yi0o z#r%R=XIHAZyFbUhZEC#2LYz<1&i9LNJ=pEy5o4>PhS~notugY@wWHV3zdovJ@jE>s zE`Rn^0BU<103Zgc0l^?CKG#gr8uvsh#CXsFiiz!SB?<<RZ^lZCjbbf z>5miNkoUog$5R_@%V&a-f*}A35JEAYQjY+(Fio*MU*9MF?k1+Wyg6;_c!P`a4N+!d zewx&o1R%AEX2P;4xL8GEC(h{!l~{$4B#xlxfxjF9X8O&jZITA0R6qQ+)oH$(Vi-n#EftuhT4g-)G(|Ow_;Y}%kk(` zRQU?2JhV;Ps%DvQo+a6BR@`Cen@_f6N3u7zad?d(G~W6v<5-huSkN4gCy%14$zUR` zsE4hs?WP+G@zWKQ1gYr#`;RPiVi$6$wkcu?;ybZ#olp4Vsb9IfenD%vc70f>KF`Vl z){uOpp1FDXA5re%{dH#K@Q8XZK2KE>NCYYl(mjV0A-;XlalwjH1b zNX#L(r7*m&Gwu12!N~L5fw#x4A)X!bNkH#s}qKds<#*-|gq7TjtJ@e8t zSZ%t|Z=--*0+D$LfGCgwdx8!qCLUtO2Lfw?5+OGrrg+v(YSb{sz{`tYZd&^?={&|6 zkk)k|9)M2WShMz#7{QwOv2Viye;RJ#yrWHA5WgwUYrFhO=zhSD!rl!z!MoGIB*4UL zIqUU1Q+hTVg(wgC{wu_rgfNm;pPVv`K8gsOnMx$QeI~Rj4y{|{{xdX90igt3EMVdn z0=hhYSyBZm95V!G{+sl5*+Xo-!MO5|hW(k`rY7WgxBXc(z(Sb?_=S5y zcX6pjii-MxOUSmV`z7o-z;~-b)6+-5KfrOpV^$QYXgl(65$uHzGDbXsJg?XDFQ1!8 z&>oW)Ve{VudhB~f^Qq8{tawQaiMSTm&#J>o)1JI&*wfD$fHLkFgql=+j6)E z9|Aocv+hO(ONv_7-yle7@icg%2cY|EZ&w7dJ17Ck{<#K3V1v%}R?rpFL4C~6g96OB zQpc>4Bs^dHOm>Tw!H#*0JG+pGz2GwIgC=Bjr+iV&rqQBz1n-(AC}s-TwQojJ+T zI4`fRr%C9hL!G0cgaqS9iI$sB08t9WIfy2%2m@mPx>@6 zp?Y`_0nFLo`|6<<;6zN87-&@Z0HK6OLFjrE!ixL%;!#i-aN?kS0vhoQFeDs2N~HD( z&kV>bCWHxLrK<}@TQKXrSgtUy%TZSV9S-(bKtxITH#Yf91mhaM<72s!0dFz6a|eR8 zct8s;9-Z_#TrkPPSgixzGMX;6zyX$WUBw&7h$cfqfqcWuslx!U_BhiMr~7*sa4uJF zcH*0>y;Fbno6%P;Pu5 z)*|cAw{Z$cghdH+j+(yhR2jmvwSG?1&XftxJjl~_x9vuT?>zQA_1`= zgGK-QsE!-_xBq>VF~mKE2P%NzQN5RL))6+Wv^X$jkNCLlh)Q6t+EcX#&c}+)^9fhv z@VJ(X_RsQiwrYm`b3}FzMm?Ir8Xx&ruw{rG{^pXNRpB8bBa*m%Uw8~*Bmymln)^*Q-P@T)#B$MQ!A8JknS74D;34sbnQj!=1YmxlL+> z2VI!{%XsXV8kc}n^WAlR-o`*;cCK9Qnzp$I?|O-TnRqc}=2qN^O8??)RMCi1{1>o9 zHN4#z!WTb(G=h(?&^16+7$M%7uXkH@RES}Q3o#b_7{#F#g&@g?MfO)SYy{Y;88Tw+ zg4dA-n*o_PvbLVRWZ>3*p0{2t$#>I4L%JF3_Kgx z5VhJIO0U>&*h#8^So@!K#JFYb$w3@68BXtbuy#+FhF!i`fXKY{U%BcYB>xxgO05(6 zho{fz*X%_2!MfuAQ-|gJvInAECKU^s6I+4WdxY9O6~kcQ8()1oA~{W6Z`FyO3A*!g zNaU8jA%f{b19Cd=Pzh)`SeHWsVQQ|*mnk0JmN}XCz=ovCq5vxw6r27@=Di__88}J* zRK7XlzMt7!pS^-uUzrmx+yIckT&?A>ac{ze9^@V3z<9ZQ$k5QRLp=N^zzN2@*(LEA zZO>$*?hv`LP)9g((O~wc`NBpcA44Tw)CXI;@tu3WA7f9B8z~?;XX1I*=u@ z2oHQn+DmpZ8Dk`#z=B46RasdB{o1uRzCQ%i5Cg8R2)~C2h?IY~`Qb6Adp5rCH>fWox)d=01>3>vfAE*D@QDVBa|%Bk8T!l%%UIO?r6EQ#O=)tOs0t< zR8feAZ=hXVByv21(c_ppB|5A#w@of2Mczb@SJ&P;$l;F%-r3YU%cajHZY1p;Tn*nE zU#@l+%~f&wJoqVjBguM@_N^r#r)CIR0@aF;%3-QZ z&h_Lp;&MY=yabpDU$Ehi#H{5tMEms;blZ`s##Ei^o=x1k_S7cMZ0b+49V8nF3Vq$I zpVs?|(psv!@)Gd1o_QP)u@LEgwxs^~EpCsyaX7nRrlxUIc!2CZa?OFN$2ka_+PRI7 zRme-0z;J(D(zm)^lH&9FQOuXrO)k=xk4sppd$Z5k_^usNB8R*4s0_RYAuS^9_xJZl zcqs$T6pW<@bW`{Vs$>Wvw|>rZ(cy39j~?Ehy_HZykU+h~q27?Oq4j}AZ$*VLubaeK z!i{vw-vyq-N0C`$$8z-}t|>jzzmnvku&3*S9;```i z{x#}TpjVS!bEapmr1hsyMrL|(b*2LmxF{)o_Tp%%jyL8sP7kSnIw?gt$UZYwwduJ6 znyK_T325cqS!$FWeetcLRYS_X^GY%3^Da|U-FhuLx>k9>z1H#;{pB}8CRc}Fg@A@n zEi=%A)WR=k?Cqrf3;J{BcMPupiZHqcJl^%&5JGAL2_p_etauvGoTy@B>`OA|NiGP5 z^yuFu7Ou)W>?*+CrRSi~jJY^`t0?hp4wkfjIPGNH3u-rLSnG0cA&G&HQTbmv5aTP& zX5exzKk{7;=KHbR)gq>*X;LE0j_m;=NklhrP^vkdIH845p3Zl{cqWDJjR$C8#FGI9 z^G5I=6n%Y5wXnLht2Q)6X}%lF4Gh2Mv-7yFF>g!hx^(6%MGjL4A^qRn3LxuWw(9)e zJ?3bM3m_W$(5{FSj%V)WvJsgXMPtoYSdC9Da<7-}x%1-tU8HdRLvYBvYwZuxxpXHQ zTr*Dlw5ZC+G?G$Q^Gd)VpV=eBkcM@35(BLPZ4g5TSLAZ(#>ek;q;(?0%JizzxLOML z`H{}ucfD7s2@}Owfe783T%l&xvz-FT?136=L*2#1i74u?XlixZ-!hEq3j$2Oagi)Y zDIb{fRhR$vM*H|epuByeqPu#-+S5Fo+xb-yNn7%*2h3ZYMI zXyAQYpWtEtkG=Q)r#k-o$Im&)EFwh4!9iA1$qFZXWM-8aDawelA`X!i9XorMm6fvh zrWBc3Wo2bWM#lGX>U~|G>+|^+zSj@^kQ=Yp^Yt8$=VRRO_s5JE!e~f>=vN^tF0yX? zX*BoBeT_r+3t2Ww-DQ_^@+LyYADrJae4+fJEa7aXEl@KOlp`;)gO9hf_C2rcO_Jrx zyM^Jd*$-E7N}5`Z;P}lvZv^n!24=!fl|qwpD=AUSjA z2MXuryq5{r_Paj~GX~naxT#W0@w?u3%GnXYKO&fEvDfM{{Sp&J5W0GL{?IIQ%zZj+ z7_xRxuQxQuL_Vgi(n{mxxWoHlS#LV>HTKoB6zPgjU%(6E-7R1xB=97a{-w&f5DGHt z+>1KKm3^B(4I=7XdIZ#zm1okllW*K6fZOM8n%Xx%mr#~H1v!qk7wkn{qlIR*%%GT1 zO);SS9%^&dX7$UW=Y)j=lQ?L{XY?MK3gsfETu%Z7o>y40t#wZ*RG(gybC?4pZMJ1yw7&sdfaUEUP)+v zQKKzEs*tCDaJXF`IJuQBPl9%c+2+g870x|OyC#}AFn%x3Cw`a=&GWeRNP^(}{wD|} zBBco}HbDiNjPv-HyqS_&am}bdjuG=5H`s-TK^bn164i=i`pKu3Z z#qmW3!On>z(1Poaaa$2gin^{4=UX5=Ijo=-*Qv?G4pG04>1$ zv&scLq$Cr7j!5a=t%`v1lTtR%o)Hx+?2EecM}(yK^glho z{^*aa%jKY%Ko#2wfIH;>G<3eBQs7FcIYB(4Y+&$9tE4th1+kuI5!ohY7&+|A829Bq zgnxw%CL-poj|;XaPOVPPNCtLb`*N!@N2hm?-- z*yubIMF*?3yHViDt6oYye+vab3id5M4x9$cF?`^-%GTOdPmNuko`!jwn51e`7&&wjop^irz!*?$RKxLZP_k*UsT|KZQGO zm5efkFSfRc-1Z3CQo{6*ND|8s%h|ngr(a6J;D&#zZQZSdYMY?e3F>{wX`ufsd2Y_9 zpTI;L0F~*zB@o{{`AeN3S|SvxMCebRmsl!ztCvwV2^UCt)7;mhIHD<>+QUlzb8**; z2#1I}ID0Bi?~pU6;#BWz2iQ1G{|TTzA!x0t^}j0~=v*2eue|kY3A4sAT4Yz~u80sh zIHx|b{~SfbdZ8nDfgss|!UOO8?Nzpp9G%QZCQ2h{oJ~}pq&zuyy3}kSIsf49X#9DY z?WO+&OT38SuMS%PYxz)p2NyH&#&Y-m#FWR`n>Vr|dz3RyGp+d;duVST=OVzv#K~{?(yGW+B>Fk*=etS#pkH{sFT9~s`U>-izQ}Ss^gjkQ3Ndxn{NLyj`VdoXZXfmcoHq=| zhEb>dUm^(C;EB-8Gf2#d61hQ99-M-G`QBW`3V-L74-z&3*#UU=T=$r#O`o}wFGAaQ z#==*#G}tR-Fp-2rC^V0FT}6kURQ3N%I`%Khavqpn`DXzP=2k4Z`eji}tI?P`>ux^xsU_tz&mZ$0u_j&4N>#tV%%Bd$D~bum zw|9v`8O4m;`R&S`8H7}SR4P{HP3ivyN$bujL22uGexk`)!qd@+$Q!zTV7Nz~(w}&z z;|u6e4rr<^bhE73X)o#ROd8~nr=}7nBaVJAyxzLBII(5Eb7v&`_@nCmCZ?AcesL}? zTty=BomTBr6A@g}M&GsbPn|xG7%t6jjGjE0bFp*$@-;6TBRO*1Sj=Kdiu%?;n|;T} zbJzNx$4txY)9ifm;Rk-4kcgF1Ld^YdS+xT2xoPQ$pfXTa`TTE41Z^5t$w%Pr3fU*g z{8%KW^3=~#kwJu3wnZXc9ET7ePIr=EBA!AwNM z(V?NwyGT;q#G?rQ3muZP%P*d9_Djvgq^9RSifcE6yk4{Pf2JAq11pK9lMc7l4bw*> z>MgrJjV~#!JX}*ZTK~A6`Uti7M{2%6d)qs3mSh=jv(r8}_Dyq*niu^$YA-3O;vH_II- z!-02W3AKuFx3ho5GH{3v*~4|}F+e8tpKU!gT;p*O+A8VEuo~avYxwlJf5WX{fEMdc zt&QZzlH?%h(@=Ui3iuBV0hHd5H5c$de)jhl(6}|W|N5o>`U~`Vm;rJXQ&ZD02wA9r z>UNpXAPf)>x1do5xzQ9&6#Wjgd0GR-=;H(c$qDgq2*PDN3_j7BYr6#DU62l6+PIpv zDo-tad!tXhocI)e=m6S6t$n!o=^LPh)EiKN3Ic18r{aQY3qdau6epd=U53`}lJVm_ z4zf_0ha3Ju^YO)t1Gc-nyLn?0#ucY_;7)e}zhfE#_4d>(1kzZIAB#|J_(|xvOK95x zNDNAPdiv8B?>ygge*F0=DYr$K{53snWY|Mz=YGZv$Vuov`My6Br4{`tGZFLo_k1sr z&rUP@H4};-Syz35h6p_)rH8=}?SD$@OLN(gqQIn*)@Qfdd=0oM{H6dVHhTnmY)?t4 zf8TkT8K&Ft^T#a28-V~@pMuC!^xk38b2E~V(9rb`t`}$l0m}N_kB(&M$FuLcm;q+y zHV$##qT-ioH%HN%bxDW7+pK`QjJCLqgNI*RS2rWWL=z*QGL;M(1BP?BdGeS^EC2=Ql%AjV1qdHC zp@VMbY-q3-M}%;O-FNM8AhxG_@&&{fB@S0NZm%TVFKpy+wscegF6?NrWh;fAzWyzU z_YEVWmY0_wkTvS}L!S2hga{K|SfWkMFgUsh}*GB^7?}3L6z8tlGohBoc&)f(gPv zPZl*qE5!)1=t&Qn$e$I4e^Ju|^PSNp%EDX8zHw7>Hu`!$J3*N2y~G93O|+sD~^`mKjX6 z%N?mJ#j;9g2$GK=J$Jg~gr-~(jIH+ZSDP?IWZKXx&E%WqhBs24cMl@pKj1^_dt?pc z^uz%mcF^xy0LmS96E!#VS0aS3>8d^0-&w~q|JJQHqo7j}Et`998=#)sf8#h(p{OW3 zX}A7xOIU?12J5vcLG!ps>3*kfTFEDMUn)NHbE9iBAE;kfC0(gux^SBeB(qv>Ys3$2 z-9Vy(KB0^)QV^EDQR0gKkNsr;lX`0%Gj#QTT4gMWpf>J*fBk=F=6^TA{~nM3e_4X5 zMpZ~()|U)1ntucR?@f!=iFAE^{oyJX0l=N!UFE#e;{{D7fCWhe4(^qkAtGL#wBO>) z?|IME`yAdl*d8>nb$@Gp*Q91o@=@0?uBlv8@rS9@e0?2dC^Q>ZfTVKoD~&UZwar6{ zD@UMJmg|WV5+PAjR~MNT_G$E27uNWIP#$^H(9Ui(y)UNi+*V@bdDEwQh_-a3zGUXO zpvmv!$5ve#PuNU;DIYlamD+Hw+OAQ0yG-%UE62F>Tg`-9^g$5fKj8jJ$}i2EUhGxS zW_4>eA6{2y-rY~Br>B>*<%z=g>891x%<*p2pSiL5dHMd@?e*rxA|_IAzp0}~@E(tXvzcpQ@Ke7!|qg&=%g6)bgXh5O274s@Xj@IB&eEz(}#Q3pmaOxTSuAHp5?(^ z-W;F0nV#+QTj4WJfghd{K6H&C57-Yi{5I=5Uma8bTlB>eFTlO01L(PQ_Y>nH9dYpz zy)VL9eW#|JZ(ED(e-HiqjF}rIoeGI*MP`+q8U?7#o68Og388PUmvA!orkz}JHK{8g zxih}cYiI0oy06ctHH%68{9~K^i zxYJW={|dulx|4VGwb9>@&(DxPXWpWebXlAkeP=U#1uPVsmmEU%Bx0Q-rB!8cef{}M=+2D3RR?)s1?!5Z?B7>uDE;SEnd|_>YCrRX{q@E?l%1%|C3|07 zed%jAvvYwjc=5;F;LBJ^fdPmr&HXPAL(Km4AsL#32v3Z)`k5j%Jyh%3T59$upXIpN z$>ZhaW0YDeAzEzJ1}>k(XRe=Oyu&RtQd1&9hXwfQ>W{WP5FO*U`Mwi0ue=hKSyE>Y z2xSfjD#<+&sJhbb3D?tLsVYfOiO1kI{lqlt;L?2#(mdvd(r26H%e}|ZuXqv(gJPTDPh(o8BwkNZQDatMmzD5{9nSJ~C2};I32ZwuG=uLm zbA+XOsRSI9sqb$f=8to~JYtUlIErc=-O~{7Qw*q$FGc1bS3BBR@H3O7S3lt(FW`g< zQb&*@ZRU^Bj7EMWM??C-F@~6?zU6JF!_SGtjxp-Hdt-hvCd$WH4_?Z$&rhZzB29{T zk6_r;GH9FvQYGjrNEHmfw9`az;N0EwF}NM>6d_lx-xCUR0OE>VZ74l%{c?Z(_T)p^ zgb?o_3Wy7j%*Y-eg9n7X7R2@YDQyYYr#)WKE!){L#Ih}j^~G*|khA(>fz-!h{+tvbd~V87l!rC! znJsy0G~emopl#P6Qmoy-wVrxnU-455;glbpeZZN)e(~W$?S$k33l3uZ%+C9o3>N3L zw6b2K5UNX?Vd3$r0|Fzyi~`%uC7;NGPGtWqg|+`y^ckVzm$t6{BizVqM`pNUmCa@L zlyryftadrV((~W^4^cv*Gp_X6uszQn$6E{z({8A_`L9M*ry<90-pLc(Mp)Y&p4#4L zu!Lh)tT+rAGgSQ-b7S^n*dS5CK)8yVY^92APr;yMa-)pzj z{%en2miRlyW5aL8J--;O1YVR^!uoCN1HP5%A};CKf~*TAFOJxU8uKRvmWoY95=TtT zOpI@HjBG<->^kQNRz0v>4Im&>@ebv#s~T37>@bVspUdV0b0BZhQ;YwQ59y~I_R}~F z(ySJ7-pXj+0!@f}i_B#S6oAhs(9itfOiSbZ|LqZ{U4xO^;Xn@N;B0fGC zTDbcf7e6|CKP~L*eEUCL#>>bS8b*CRgPbnI4NnXMC!NM0o?hEHf@IgnAKv1>VO#0h zdIEIMWM^gJb!r<(!-dEm?S7hv#wFuH{>YXKpV7EW)aa$b>|0-1pOhTFrPKSN4*GuA zSLc_eR!Xb8p_5fFNUcE$t8FC!1p7SD99oVb!i-M~=w~v})%632BmyM7D1QSvxGI1S zE9Xw#a`FH_02%2qX>FsMWV@YmvNLI)%PD`%4q%e2gS|U2AemX&WYi34coVMRK}Iuo z4z?$oI?Eu5z4cg(63u};j#Bx8D6J}BRVns<{9jmrJCn|r-@lQhvR$aR?0e3ATDm{= zwc4xND4M@^y>orKeY*d;Rx6}`Oda7Kd*jEj70Lw%iM*#MqW1;M2W5u6Kh93Oi(ClK zPxlkWGb<+Ek)!J>nrt#*AY*SIE$9+*hVujYjNo-05fZ?0W{>$!0BMBPxH!o$zNU{e zJ@e$~EeWP1{bF1IyWw=eXxsmDwVgi57?O}6+-*M(2>jt`sNOf-FRFc&;tsIYg~dR` zl)+W?y;g$ZBmOazmdQTdhMaD%HfBe*Bx~MUR7BXeB?5NvgEAJ z#&e#00M&`s04}9V_tFcD?{?gJVoiEyD$pT$fQflSO7Klp6*KsUHUKv;iaoV0dH8tB z)Wu3^;-+6{k2pe^r9|36>ir44kO~2PBbz%sa~PMZ@II}x`MI90b1In~6|3Yaz||Vn zdrK3#84_Rui|IXM`GrkewVtm-SklezcHel52Rvy?trMEzus)@5kiUq7&w2vtmWBr- zeBLAmjwWF@Qa|ZdvNP({1_McYN^Huq#g9Y?vY0}8o0(ZzC?=`!6Zf4r=RPL(7Me;i z8s1Bq)?GKJE&fgOft#8)byhEx9gPw>RFn^SzqoO1riTbKBzY}l$3hmEIS3j~ssVcC@=#nvR&joQYkCGE5ubo3nC+a`Vd+kc5yo@bJG%&%3*$YJ#p8W4$r%eJKc{vpwdmd{A(vU>G13ar&RL>%p)H!qxb1l z&fn7ZV+Tny&m$_o3iHqx&6GX#r3v=xus?63?G^W(pf_~Atum(qxJwJP1;w)W$wRN7*&C5`cZ;tvr z8|K}cm%8TB>#*b0X@<4+NfSJiGpr;1aox#)VG*a$kd-QX(#hPB@9#l79t&(oLX&TO zIzhme)D(67Hn1h8Dd%S%E4uv4T|MxT%SxbETcthxOs#U2_lMW1*t(|x>FB^3Qpu(K z&U%Op_xOcS{S(2HdJDzAF~Z;o)xP|f2M6Tnb6#h4XjB#ACLxo1hM;f=iS6+N3G@bk z*mHb`Py5;99FD`9Ss*7I>lf)h(PAp7c%KoaB991WsJN{`4o=tlKzZWY(gu+$LeJ-`JQ*$9sd3dxRF)(~x$*LtABx)L4zP*p!b2H0ckM z&h?HXPV*-#DpAeHxECW%)KZHFh;c7+m|J5OIXdSu6J;DrI~Ac2Jx=uA2)LYUdT*`W z6HA4(rxetZCN~^)G%`3NB4~5dtkt*(=02j1zv!$XI|aAw09Lhid;ER|mu7U9plj1B zyAkI!1wVV9tAs#hYU?0KzZiVw26yUSYE+QSQ74h`h%+}$WOz9LVlS)HN`SLSa+4g^ zJFD|J=oU=GvS?$oEra6Q=HQei)&$LJE%m>I_G0L!iPi_ab<=y`*fv`t-LV<{1yKCYz~G>;4JF7L+o>9=YlPQR{95q zFc15%42)8}Cp+15L&N)BBdL=Px`mYz`@TdN4CXs9nim+4c5*vqV9Zi2PX3Kl5ne(NvUqB$n&ItwSw5>oVRG43}N*+9nswezpjL z_Wp4s243k$gjZn{Q@K-=$9{;X7(j3MOrQ!^;{!S!nZBL$1BV`_Wp1(z~cY?#S& z+jEY+k-0s_1H&Xkn@wiM6HVziV#0<_!F65nEA@(dqzU!wnnD)-vpUq{!E+mx_|$r? z#fU`8nVE{j%s4Y*8sWtei9r45Qk&uZx?ld_<{P84;2j{MTUUk~qQB&t+&5XDB#k<5= zw(Q4Ta?+v)V{SjRH9J9nZ6+LC@{ELWD+nR?87UCK?+(Qy$Lg0#guNH*%42vdJs&(7 z{~QuRQD#5N09ba(54PpKdKap%NQ6EQ7w-(!OcN~Sd}O7%^5l;}hGEeq5GLyDiW;k> zsB?jcHvidQg~nSoH5?t8>md|c1i$#z6UN&frooTJPp*@)Z@T7KaJpfTn3Ds`Z1NCO z)PF{)l<}Nnj~aE2tR@{YCPMe#x8sjD<>W+RM75po)TVDVp6bjFW6}A7R+|#-G!1;Q zUk1TQ;W;3vlc#S}>1_S6Qz15arcmDW3m01BO|Sih>Y4BsHRn@tMJ6|b=>=|DZY`Eo zHRom&F?mE*`)^IFIuCv4lC`J7*5rfKT;Z)WhW`qqe%3AvAa4hfaxaQFu3tG7N1yK# zy=|^~X~@(}Y)|_tUy;DoH@D%QDvj2fa0!D@q4VTq%yk}AUy$H&XY3{3%Jv^&Gn?<3 zuo?8Byz%3zUeUte{(4+}8JQTfsIjPN{cTV(uNcZJ0qE8$^RavBm-k8v?lNq!^+hFL zL*%Yo-~%Z_&IEAJYG2KLz)c+zIRaslo~*Lmxh*HxSt!S1YrNlst8+9SMoy|*7 zhrLwZxjg3zYXrQZ`6;JEN#0f-Qrmny;ui7wd;+4m(7nhMF;I~7_NTO;C?Gc!hM-= z2(Q%m4xWI7*3kL$lp7ULqpfn5P4aksk658=Nv$rhjOtOV_9_11ZCD4GM3Ra{L>{ja5u94;7S|TyuHI(f9@Z zl407+Yua~#l^GFHBWKj_IDVk+S*cYyA3Puyuet(@RKy9Nc$}z2+oXUky=WyixbutB zz1rJ(NEKKrwSM`G9#$#TbUUfJ+0f50Kv)tiEfeUrn)}qE@Z@wn{nxi+jU5_6hGvaW zaTFgQN6Vm81Rc-3oY6$&ruv_AP{+iN{|p^10|OOg{7H1;1!1+Yg8fReDeO{Ytwg2o z%r3+rFhLtt8~f)rv>Q{T@4q*XH}M6P<}GgP01+!h3&pz(9#sVSX{_ZqMpe_97k7ym zuOe2damP*b&Wr6Q=n?o7yu0*Zu`J=V)fwl6c>~YYcZ^s0e!U4lg77I6b{)!@Wlq!g zIN4tThHHVXPZqdhq#EStV+a+&BND=JZJDtdt%jI~fKNJVf^# z=WZxyK`Emw+eC#%vFP43gj;YIjATu{YJW2vRl@2t`)^b^tO6&@IJ@Z!$k9Zw;Gg^+ zA%(~)%%f02tI?ww=wGymV3$c7HJCMbxSxjHrQ@Y1%1K%OPMJRZknoy~)3s%%yula? zkXsQeWYp4b;kQL?2~zXequ-*r&zIp|2%bZ6b`p#h0GIz6t$zY=&~<%`Uz8lpK%`P2 zCFG0QcBKC4m+JGD9a8rNRcUQ{i-dyf}f`Zl)%P9;- z@BLV{u^Ekr$C|)4R{?^yKiv;?#u-k*#ZLtz&eqraxi)%uai{lXzJ2Kj@90bj zZ=(v$r;wdTSJ=7lLx4uDlba`*)iBVy5ZM{TD=$Oamwj;w zuj1u~Yvw#>cn}d!Nw|OfCzmzPy{Zw>OWnDRzh`(E_Wj2Rb-NY7(;7S01_aabW>i&4 z&Zz-eKdi-Ie)=p*B?zH_=5jvL(94o{$RvmslRmI55{$lcH}~kABT3BL79k@5W0r1L zdZ|l*PIP`pz^}{(D|!2{jyqg8kzn9A+XlP;d+wTe5o2!PICH;m!)DGKg z5}x+!PqaV$A)v`m8<_li_TfElFaExMm-h7eKlD^OdUpY1AbsYz2LuoIj-~cDtv%wJVj+V?IgRwzE z*=}4zkQu8ta_3p4EWR#B?v6%L-CpVWXS*>w}b|zk*lI}GM?y*{MB#4h@C4Au}G99?yppq6u{Cuvheb4jJ4Cmt|z3Z2=@hNnb556_+9x2Rm zf;SY*Uv9!-HEm&#>&`vll|hvT%F$gObp}#3mU?b~C{BR`m9k(Ue@k zECVErAf+QM0-9p((=FUM4CM8Ag4K6b=zGP_UZ1sh_YE@=OAAJ12vkZ*-u!MC6;dD` zW5Z-7tU7tHC+bhhE6g=7Mh-Vw>whlmnpHLHg3=2yFAud3ZMH`5Q=Y*Ev27pzFw<`o z4zf3j*i&zn>7+bq*!d^Jt}`<5{D0pGFtWV-!h6mx1kvHc0naiO1UaZzT%#RY|32Jr z9|#k@#Sw9f`U=haD$&iWMCvCu;BJEUf= z0@Eq7D5RT-273t+^htHDqjO&3gK#EAqcgG ziA@B>k|*UQQGs}e1|o<$eb1aGf;b3bt$ ztI(l;ettbE#a&b_OO_A{EWWr!O!(|~X-K&y3UuehGkOp6mu7j;uB6}4N%x!s74EN2 z#%zosS}U4bYWaK_^xR89XDWrMgn&i4pl|3HZ8fH^r zWuOBNPZ0(4d9%84&6EPR5_QYH=v=Pp1U)09g2HKYqbOX;2YaLNi~jW4a$Xxhmku+ zj;q%iGSBwO9L}MMn?#^E7l8Ygkrupk^%Q;ofTAIZ;VG9GSS5M|?MJQmThG)qY&C5m z4C6=u-A%8ha4>i_B&|S6o9y-XOa21>ER(;AvYO6+=)E|8@%s3$q92`f+@|CDM|p*d z=C!NFF&#=_$`9O@x>EXTbc}6NU85z5xF+~|d7mifQ4{LLxi1vz|MxpTWx2H0Xn zN5ufaMRRn~3wE2zZ)V5v@sl5;r#`ku+KCAswIOf~+?3>nM!)8`WzT_%*{;j_hX9~J zoT1ksM>whC-AnzdGmp!?=>Ig%u&DvTro!Tv2p}>CXW>H+*|_}OnXtw5!j@MbcOWWN z7VGzp+vt9I58LJRXFggJ;%UTf=wnmrJgb)b=1mNs)>O+K#%TqEx7s}*>Y$=Mn#H@8 z@)W%(kbYn7(ra1M*Z*zB2+^YX*)2nBFTCFbsx2y6GPDb;;F?lYF0YDUgW{0Hp;mOV zi8;(pHTwxP>Xid*Pf3K67*XAlebIcJog1#aI3s(}RTI#rh>nZv1|bY-2~Qh@`8qccT%jJAVIHF?1i6I z@DoNuy>!`C0u^LRa{L23H{q*4OMX3mKkZr+is_EYQ;u_4IXQ(!&Cdo}12B*Cfhq4a z&bdMY8gnbvt1_zU>U6}307}%;_X54Y3)WqytdAr8U&fk{pq^lJpTRsankjGrF;w9o$1Z)WrWt^)UlN(OWGSF~e`H%Wc>+ z6GV3u9!Ppy=}`R$__o%hfPq*_@A488xIoY=iVMhR89S(DZ{zoN5#O5w>99>g&3{Nk z?%(afEtPQT+ish@Q_MIl>7$RLAG6Q4(=@RXo3Fm{mS1A-v>85#pk3zNrXI6;LaFcj&REOs_j%)tj zazFMYE+!^-2U9`)%98W%^m-De*Ay>{^3OuyPQBratd#v2gJR+*%I@L6?JReV%u*g- zOi(^v52NJ3y&O9;b^S8D95m*f0b35MxYWO581$#1bDos-5uN~n&Smsp!Qv~T8pr3o zJ^Hk^d8CG~IanV2d>8Kni#24Mdnj8f>d6QdtJ^mb6;6KEyafJ<_9|_DB zJ8N9f+zZz`2MYl9WI>4h2*OP11CtmjV!~{sC6}EURNP3|#1oSk4lkpPC>2jr&zWOd z0xVt&z6MDjTg8v{sX7SDDw7~(Xm{=ZoK5;BL544w2`hLk_>;_=o|t>L+8^DR>I{@JYKJV+7Xa5DS5tH4-4X{9BY9xr z<3dBGN{?_#JQM3<9=dG+dLBddBRYnlM|3r*9boadL1ggWpYeuAM+e)=rV_6&0uPuq z&+cxrORNim+$qxi#`}&blau>q(E_E5-xwC%tfK^PMAmic_P*O{Vn16pAV(CKeWul2 zM-X8tHb3f9eUr|wj*!Z8+GN)hC~-6(d>1G+mvXPLUbuKs z`g*Gcy;CL(PP!o+aq`3TgH}Iv29vi*D#SFrdXI*rA>x7xZSGUjKbs3&(Ea&OZjk-s zsCa@P@+@0yObj(%MKcewF74Taa48r^PJGj-SRQhIv8mhEN3mZ=TRL<4>cOe+I&XeD6=_+QZu|3Z%o+>1!{a}l;*UNN2g%yO2w zhqDp@>N5aBj)kU;nyuM3j0LL`RaX;!j&QM;pJU9;wMB%hG%ZC{JDFNMaN{gsjOe;M zyNbXU)fYyvN?mB3bm7+p4asc>!!z!u&9iD=9VA26mIG(xDe(QVsKc1}yDuD<&p;n+ zfcFn({aVrAqS5UYG*0o^xiGSm7(Vgl{*#ZzbPOgX6xPo-iA4A-^@@sn-cD<@b$dy zjnNwimkPI3tG{w-6x_LH{djj)aCi5|W}1iRR$lDePlb_O;W@FfLif*jw{N25FCrmT z{B&sYGpE!|K`%Yd?8VD1u8S{zCSK>Oh2mA|{h@OJVGi;F$&){bj^zlh*_$tA<8?KC zl^pAZm?od_(o2kNl#`x|H9ukd!}j>#s*&)Qy2Mv?q=gfvMUr0MuI=j}~e^T&qk)-G|bb>5NV!^uSFjy;dR_$906is@hx zwds?c5Z4uxd@rT-FS*ypeLOj0;^NeQ&3(N7n}|h3CyZHCS2p*h#X*A>2pwe>dh`1( zEe_<*g1(Bb!R?9>VpKEE&j^Ls#cwV95)U!;-m`^SUNO~Gn`A6ykSxw$0PR|Dq-P+=9djlt>rSX(*BHh+UOyJnkiV`* z*1nFP(LWXPENc0~`^eGXWm)$uT^I$0pAzbCa)@B>(-e1*;G-2~8aiLHYyLB6%zu7- ziN^0?)hlmN{p5O41A~fErn@}_p~%KVY!GQlA{pA1{*k#ie5{i^4x_5Fm5+?D{H#<3$fkzC}x@>gqF>7_VtbF+m(Dg7}u*Fs?0p zDaOGV6~yT2u_MVuiWXm{mdZlA%zwTL1SxyF{1z{oThXGZB=i##odT0;2J1Lg)h}u{ zMlyJolOK%*7nMHUxhJXWkZFaH%6v03dm_A)xKX&A5^aW{`+Iv?I*Nb4>i>K5m)y#e z6P%k;kI$5#AGB|9`hVa{;R;n_RF$oi-|HkEy2O=mw<}t5D8DmGu`S%?6?CG!`{>aZ zQy?Yd+JPrC3zBYlh-%2Z{7-&++(gdX0n9AM>ko8m&T#4=XbagwFAM3!(lrG8MK9~l zex*0o-cOHQS`ru;8AKtbf#Hw(ukmDoL-XYmW#zUMxikqn%l&%E2a^leZ^&AZIH~uw zms?03ypVM*1SH{)GU%@X_XMPs^lwN3nWz_WM*Jm#ucS{(M=K9fL>{`or9O55~Z%g9*qq^hMb|xbAm!eK+glid%sa`Tg zpA_MNyO0ctNho(dy8oXyrXeCxG#TT?d)>GBP6c|!PxW&&JRRPms5bxp`6`Rd{B2I0 zcBQox1=zLB)wz@z9j^(7C#7zvF-ebpjA~DJJzb47j;-2WkL8D&}gXhXe@$$ z4}>X`M+LQWv}iaOJt%LY)?~$PH7_V2oNns;S_NnS6eDAIo__uefO_;v^*I1BtU<^O z+m60}5r>Hkd#I2)0*-LP$?cts?FRd=j=439OuyP)i z;BgflEg`^aONK(p{!L{u!jEE)RnoU%^L1)%7v+F~%Y&z980M6WWbt*oJTku^eRR?E ztFt037qH8WK~+c);)^Iyk5vH?+zoPtq((57{J^8rH8vjAE&;!M!kK&8> zsa$wEH9gQ%f(ss{HY&^GMrP?kE3~L6EBy;*jG(6O4@EH?mXoT544adKS3IDc*;>D> zRd-S0_kW@}%hEFp--tG*uh=Z(=wB!xf&=sJOo9LdAAjEHy}^6@f`Vm_ZO00^aQ!(i ziU6f$+$Rp(CYIv+H^tLyGx1&NVu!ymfFWeH46kngC?`g< z1<=^Fh8p47E@02ml4@=~tdO!95-{5N{&=<}p1m;yIKLI&O&&;rEg`x2(@+5%B{&#i z$>bqg`>N~3ACL`@yk^deQ)3_;g_f0J4MKSF=a=y@8frNeMg4$l`*s=kTGlu6Z-;(* zd2H*KSCq#ug}tp%^Im|_eHrYRf}|VB-)I_z^<4RNZTb=hCr*lvU>@pE+p$2<=AAPm zCOjC^SAFJR!02(bs)Gz79EWE^N0I7L_zK7 z76mcE3S-#aNxMk0;JBrj74Ss2>)U$=!4oAnctD(d1U)YzK^C$Ddah@_F&-;|Ho{2s zcVR+A@Mvhi!dudS9nTK*sPiSa3&;AW* zT-^yF&3LNp9mLgvE#2CnuS}Fuw<|?7j_y=N+X1Ir|OHHV+y*)&T-$6vW_T{dw(aeKDVgm-Ht2U*~)5971uXf z8>N5LUGEro+IuF1_4$8d*7`RnSCfBVK6x4Ej*u&!7tOW_`AR}reT$o`ahBq)x5f59 zv#(*o2if2+U!!>;d@gn-e#N7akRwk9#93z-@pRi@27EsW%{b%JRvhNyS(ya47V`58 z6Un^kztBxKkH-&(UJV$f@xX}>-s3;1!3&@MdA z4h80PQzDBgE7*(q5c@VjszWLK>b&dIsV6b4ErwrIy%tPc<6LrP_V(0VT?;dX70N6k zQ_TfTtFp*X+-#vfQP8xir&8PpZ+v$N*^=UI*75T+u7X7_a^cx5<0s)suc#f7B*avJ zm_(K2X>v5g;wP7J))@oM=4OO5auY$m{aEtksnqJ%hD1r?tf$z8Ub?T(Y&ZPo!YPP- zC$3IFSenb1Pd4fxd`}y-wL8~!qrOBfJR=zrc)sp725Jv-Q=X@gnDqqSKf!Q!;H-Wx zk6d^-cWtEZNp&ALFR${sif^b&kQwBbmX;p5`E%QgaOR=jIMkSYBE*eCa}8PNWcA8! zG`5gO*hht2pIz9O9NBVMd<{`jls>xpO&o`%VX^c*d+(&j-bj8{S>oH+DRo2 zo|qtU()0)FtiRSsT@&D580GETG6R1lW{a;SiR)B7S}1+NCSXvY{W|Saf~Y{eB*~M@ z;F4KV;QT!$ERTl_Nx3dmM2#u6tGFr|cXqRmtyMe#lXcAu+=8HkTObrem~9RR#FQKv z-?$n7_4)*Una-$^QqC0(sV9$<2dqB4tVPpq2OjeP@+?yx?{++7TR<*2S5w;YYuSQK zh()4SLnpWjF(%o5R|sL16A`@IY57=d`PjHwkM#UO8Uxae9!T!#Z-mXLdAV*j#8#8V_%6}+>?8blygHXu0l;9J zTEGi76UrY9SVAAmcP|(mYu29;v}k#z1)7T$;NGra#md#`W@qb`T36O+?`D5k&^{M> zqJZ3E;pc!poR1@-ZwxqgEIE%7OE^70_ZNHM>-lK&{P##K(2a(!Pp*)Sm9QmC7_5zE zWlim?G3K)Gi|M96k2us_WuMi)CGrY&<@_s@93Hd{Z(B^c9gM$LBBlvs9#$-eo+kt$ zKSI2kWmsee9exAPlE(=d^FSlt3$}e(&njr5%DBP3FgcEv{92r)Fee7hxxwScJgoLg zGUnix(UDEpU5S0#T3%htQjs6H`E%dv8p1D_h7KL#JNXsmw;J$(Jl{nU&l(Gj3v7@g zwkFTt3ligP=zmRYIU#AN_z~1z_Cv2*;i{g#b&w?}7OZ}N{AgHHX~b|)suCjh)6{xh z^)4U&)*@-4ktoHTBUSI%!m+v=LgJlj-=!_2x5hxtyScI@;ap< zFRNIE3H$2`j@WDb)2DMWk&7R7Bi|~^^yEK%UYw>gq3;#*lUwZ9>CQJoH0Jq!PfSpp ztvKSRl=kCfVq>?&7#c{hL=MP3w^9^FJ|>2N=1&yRPU@aH)IZHcWIPF7duLkT;>hgY z(BzAKXe9ORUN#--6Oz?q>KaD8%^as(yRIyKj8YtNBFQ;LaA?5dAOuxccw}j<=XldsowHW-?zcmqbW^oi9A`Zo3`Y_zHgJs;8l>;> z1J>HnX>%4Nn=KaHLBV&Xfr$Ef9fNAuRoJ%}Vl1kD@xb);e!=NjZ05%K^=y|2IJW!^ z#VBTu)9roU>&zD{DnCE))fbC0m{_I)jZUe>fm!hB31_JIIQr{Ap7(&2wReiwm73J( zQ^RiNrTIdx@BH2ot);(V9qH43+<_%wGhldJ5RDXJMNl8POBhAI3yoQ@0#uWlfaemk z6@vKcJfY$C=E9eDQ3?XKEF2l+gH;$e9GPe!I~mU|WYf>WSGRfYp7UE2bK_~{r^;E3 z8#7V&v-R`Ko=jaR>(ecq7fcvSIRDa=&`N;Mb(0f8RJ#Q1VBHja#_ zpeM)2y#sTQ7{rx9_Q-sbH<9-1xce~^ooeOe1*{K>Q10R%6|# zxgO_nRGsV(h9=)#549I=iO6qx-(^Jv!?ByK!+a zcDK0sV)@-Z+?tl2UaaRtk~JMv5jr{@&(c$ol)IY9a-_`c*v;jj6G_askd2kl(UbQvrkD z?WYl*Z%!k$VX0uF=$T!Oo}7f_oXwLkq0k=xA7xT#ZnpWDE_K%YMw&RPEgZ1pnG(&As)q7a^oiob=4{??|-d3=R0wz}-nUUXb+;`C<(GWctVeGey>x+BbEj;k`A5bWINlN)tZ~`z{Dvz@5JtJ zk;NqDCs^Ia7>VwDp5Kewr|(12&e|F8kqBSJ`(6u^p z-m3+tewKbsX=dnZPmRm8FFDa!#6ccIE^ZVMU26+IrDm(5--KC}_xV_0OLzn6ZATKL zUVSL%d*YEfXY%79UNJ8>Xb~u((_xG&7qoW8<+%BRVv8;~>h<-I6}^+jmY*BX+`)9G{%}(e>si7GF}&fV z*>8Ps=ZuxvdVF7Br2&sMdf~~5@79^O9cQ6k{8g6ho{a=<{{pD1Pgv(+QJVaG>EMa5P;oSi)7c@3N(BCwj{ zNP#DL0F_HB=&}gg8ltpNi1sr$%Ib?Hms1Z3YfiliGgF#+xn?OL?X0~ig61~E<+z{D zKA-YP%#xii?{TG$iD(G*qSRCc;0gl_1oW~ z`PL)5cWtPo(MZ5Mdfe2w2NhQUkRzk5AGA)l>yTDAdX*F@NR?B%|t$fqj0to8(s}VN)x&nH47}KH1Xj>{wW! zU;yu*<|BldE*MF@6b zo9rAI@bklU#=FaLp<;u?F*_jnNUp%Mv9lKr#(@rv7Hk+@v#dCOyCRC=C@D%GrNstR zay<&V%XuTSBvd@IMtpl)w8ltYE2ANqy+<)?UKh09lEK14pV7dVd`hIR#%m4_tM%EOQ`u1GBt)hubMZ zJS8IPZk7k`jOEse+8!do*j=YORqJ!<3BSUqEJG{oQ^^~WGs5|jT?JALBFET|R}>!I z=9VMCN$9+AYtD_5nO~#J3panalae`Tvrf>Dc?rL|Ka$2NJg`#lT_TeiArkGh zWn*!oEWDKU)m$X{M7Ci;(7&$Aml2;PW=~$)>+xH7)=YP!4>}$L)x5do-aR$GDXqCV zCHqIN_xGos%*lPG6|VmvWzF1^`&gc4*P{xG3!0WA)97rY#(#}}qMCXkUDsEe@M>G9 z@#Mc&#m*AC)N>(@6Tei3n+VcWN77;!T_p3*0#+$IR}|Tvo#nyExf}0DdsHG=Fz+{= zT-jasq>9nAR+i=$-WC*fRa0{BDxIDADRz?rds>gq0@-+{LJ#YLwHSPga&xp z=*Yb@2hnmSmP+ZWQe`(@I+(JDSYY+U^;6&|&4yAk=O=r=523-zf9bA5j2rZIBcU42;6;JbQtm(Y z^D8AY&w|rYydv+frxSA9Q$>Y^37HCeQc6XB^8z{9q{q+0=r6n#n;CHEj}i)~&HAAg zz`ElH?gxDOkEefHd}+hi-e)M8|9Z!dz_j}VYJs^tsvJe*`>c;duzea|k#|AeM)Q&4 z^NwUDv6mhhq)){Z-7X7JgY7IZqSr|7^5O&mg`+Ng$aVoalx=?NN1Y#1>{1ZysQW-3cR?eAlEsV4Oa{n?!u8g3g*_1+_tT?*_1k`N=t8#-D7B9%PL%Z=w zrl&a?AF0~J8%cBKVF^O(F@#-eZYe&1HMjdXtcO}DJ$AQs8(_ti%uMDL(_mSwyny_A z)<7d&sjt$-H~>^t&Uf5lzYcs}N)%YQmMWivy1%#eH<{Rf@zEZYcP~uLeDOZPeTuun z*>t_>TDEPzAg;58+Wd8|=B0Vgdt-U`glueq=m5t5RW*D|p1_Qx-Qc@02?aDM67J(e+%$hBe6s*|VP|BG?1r_{Cq z3iN5SJL9k1{@j4pm1puCK4n?Y!AqmGuIv+$=bVYAZeZThT*Fz}*pZ7#<%uqDd)!($g z!x$~Gq@+Y^42_uG~^vB)F@pokQ4yG{n##C{30XibM@ zB-Yx`BSrXOYC+cZy#+5%3#=5Mo_pr&HWcgUfD*N6gp;l0GaGHh?Z?6jSBJ$EM!b`B z9~><_KsEWe_*rU6hEm(tJi+|(6W5-VWa!^`>;Cy#-};^HcZSL#dpZLiUk|;%+hkHS zz{j$tdiTL%GSi5H*1g7~GheF`el331JK+`}|AR{nTFo zp_te}V`b%01-5}@IWrRzt&10*Y-)E<(!A97_5D>Uil{Ns?V+Fe4t!O>=owCjyBNnS zJ`sDnkDwA(0Ow)7q{Gd+Nqv1y&a1CP2fE`A9J{_)cdUB)lqOx;xB|HY zb=2*Xlq5A5f26^ok767s#giHl^un zRIJ|2+xKpq^>Oq3f;m%sM<`FR+{J1u$wNas5`0Xh$?6RkU&(4-IC~@i-Ss~0{@&3+ zr`RuFtk}~siv%*`X(jy%l@X73koGe(GaNy8Yoy!EKKf(iB$ zyml&HohbpPNfs%36kUTkv2rDq;#TQ*=w4Zr;dW@8*iKXa{GzF@muf#$<*myGvDbE| zFt}lCC?bg8Fyub3SMOS?nuj{NhsY-O$Hl#$UI?{C-v1+>;5xj`_(b3T6%A4mnFS@dz`4q3Y z?3Ue#E!~Hf6yg89(RI?Osx&|M*k=g^6$`2LxLNn?Gw*CpaZ1%Yw4gLNOH>k*k|y5h zOpP@lRQUtHA8_d}N{Qi;eVqMd82vi_4D}T(7Nxcd{;~0`eso7OJM;?b4j7} zARxYWZKgr6XXyqN#ZLZ6x*=(;s-`(I-Z(e?x;XCF z-Bn-1se^x9dj78Qw(xYOxZ5H)Dx;Cn@*%;*N%#eU$vB(2IJ`clJ`nd>iY;a$3lu z_MdnF7#FGs$J{=3EseFUdzrU4^99Y9gAMOQE!R>-Uqr+O(yL1G>)oWT?(2}RKkfD+ z{!Wo?5yyUI@8HN3FPxyMfN9#1OF#Bwi4;8q0j2WTgh#KNm2!YilbdhE8;b3_pXh>^ z50EIB#}#TP4EJlK+gSFQ`a7GsSt`0moycf>)uPsov7bKs&E{LMFGU`CSU~omJn9AA zXXzpFcJ2~D@GBa-E`HyQwNhRS(@Y>W-y}pz*YP1}hjXJzEb5^$STHC4jMg<4$UrD- zg7=-c()#6e@oqrbEeD=90sZ;0L9>Y3)kKdYQz>fpIas0RtNR07)|j}1zj$2vDCZ3> z64C$&fl9TI?@MrrE`JgUS8Fw;y=2_yjEu)NP`pl) z^;tBl^jGYEaJvD66!NrsxB}8|cT>w4u$$amvd5y@WiP83w#+13g|7S?3-Bkwf|SFV zCJ)_S>TmXwn(|CLg|Yz~W$HnqP38m(t+G=&o>+&7MblXK(mpgqDPN0VPf~(sU;BJy zJ{daW>P-d6_B~5aCM$ga!u`2$n7eYpvZHTDbg~*k`P$MUo2TiO{)5Q4%Lt(^5!+Ks zQ6G`RKLJJ+^rgEnaUbrAmCMCyW7S+fyy^O(2|2LRF0j@kT*)&6>Jag=ZCVf zK@O#SM_MfT@yYPm`fVyJ<={Tc&DY5V`iC&z!q^$0hGo7l7tRsq?~{3c7%;O8{YhK8 zs3^uAJ|y$bwj$Njmy(MAfNUT$VgOR2hH>;Xh9)M8(?2;mrE55Inodtv6XlQX%)vP+ zoj=HizieK-$taxXF?zzh_(qGmcDh;8x=t1ZM#?+xT{-Z0_qQ4%mJe(4hJBh~NhkB4 zkdKRe1gv%0E~5_3Tw8dmugEaq5)FM3S^kX$2(}eeC@rFhEhQ#@^LESn0X)~RqNfCG z(L|JaQZVmnceG^r!AR z*YRs!Y3aYife|&4-{Plaem*41p9hJg!LdcexV?O2*ryBzJ< zuWI7_B*I7u$~UM0HzCf)QFm(($SKQmnSuHV(-3cqc6QFpMm z2_BKCv7Gb^^lll)Sn064W-Qe39W;M`ht+bJ#`%}@$|Tot>`(tNP4b<`UEaDGSqh6m z1+s_C!Vyk}1rGOw(KzpuyfjudJbzo!bU6(FvU^+EC(1#a;1y|493R8*i`iwz7?zsp zSt+Aha*Xq>>UP##xn%`E6bUxIa|YT+BRg1r$7OkjV*dOPEqcKt@9(3??=p`XHmVRr1wwO4yg5cC0PKy2s z?Ve$OS&j_EzMN}a7kTj;1H#=|s}^B@oqbvnJB0rg_ix5DT~m-O#Y z`;$Bom|E*UXR_2RV0?Jy26*~!Ong=~&rR)^!YTGO@j8!9)Cw##lf#BDR#8f28T z2iwUxv%l|^fTBfV<}ag{a9PL6H>*_=Y_XJuZeJXl$k>MEfXcl72aw}Suuq;ax4?z< zzdzMepYop<^+X;|iGR76enq@K%YaYt`*}LbIGb1ZcI7$@qcuxNClQ_%c_Sf*QBe&; zhg17laZZL$RpZ={8Ux2q^#p2H>+=g7*DCt7np`PjJ@te-dTQ6OiHGf<7)SQmmt9db zown(Ab~b*snN)G$HvmF6RGQBC+tVM*#PX2?lj&_%YKA7;poN&@Fd3N6u`?@U-=%$g1b^#H-~I*UOW)?Y4nF*dd%Lq(dU)l$7g4MmOecEOtsH^hun?( zgE-+jWlWDlp$?9t`GqeCclXmZCyXQcYY#tRxMs3*avrsWi_vW6Vo-#0;E}Ke=U{j= zqW2RXvG1wVje#IKvL8Gd_GxSCTztoA=Z~f%dONzQA^w6$jejbUy9bUQLkMYU$m<=> z3_2I8d5E7tN;q^Vr8p&t1H;IlCTMU-NQsoa#RPpf>&abs3hOnFmB*kWEKVB$!yVS@ z*^JU_oBX|Moa^hS<8pl|Ze`?~`xKGGvJW;0c_iwU+$=5cS6=yS1PFy;+XOBheQ;~- zgFgE!Qj(MZVB7A#4hK+~7xBIXA_o4RbVw$s7E#2uR#}@=7XxmyW$9WcY?BexS7CiBbM|Y9|=Ugk!yO{Rz|& zp|w^ish^H<6Ddl~+S2KT0q^8%FNm20ZxUT_0gd{4k>|D!s3>>Z0E)lqT5;$Spp`B! zVtbbJF9Pj$fpB(c-wM?~yxRZ%Z#W0^7JhK^7RJv5&A%p<+8{7IoroDdwikt!^f8cd@z`YN(+ji zZ}rdQu9d_=FNtm5=&1(Y| z=tIDLU9lyRl)KNF;Ww;M`1Z|ZAWFffGhZ^*m z?cdx1GPb*Nuel4r!P2lo`h^-NL**dr25gfnAV1d)`V|M?tE{IV1(5G;;pv=-Jh(%u z3m#3YW@IX5G4hC_8&EFKUcu7yBv5I`j9p!PzXC=->*7)v!+X4MC*}5IDl$Q|lx2lR z2ElXCF*1)0ubU=w^5lT0os#l9r>!>BV70sTaexS!{85Gi48F*vM*&Ydl$I)>9Zkzr z(Fhpb6fW|BlH5rp>(Adw5(Li0A5E@fbj+>E`{^87u0jJPY~l6tLhd1KSp=!U6@(EP ziG+YBp?kZogrrwN5N(|<8}}T4b8F#Cm2n-Xlm!+vZCMze078~__CtPLdf;rKxN%4= zA8ZD?chlk7AJ{bo!o{YC?*5j8-SPl(??@x8KXg0yET9}ST=&Qdbh8IHfj`=mqZc^8 zO%jN{Dq|Iq>(enu-WjZi@o=c(z6Q=68d{%b9L`33&F(KYmy{I5-xw@&G%_$C#kM|A zu4cp2|CoE${1pM04O~!Wb(1r{=AXYm3wkM&Kt5f$Ds@rb7|6027OwZ6=6nTQ{~h0c z77mZz*m}C+tS2nse~5=P2MkIkSJ}SADNt$K-kSm;KF;7<&K2#meiBF;RW>A#KW3?= z40O!vV2xx7IwU62M+@W2tRi16108w7%F6X)o=>b8;zxX6?Cow%fk_iNs=l`t7iIN{WbA{LE& zB0V6a=vm=-69!TgS{lCqqddEP*Q7fdg`~7Yrx~-@=d*GIT35LWley}vxx}rMz?zJ4 z{Xf*U$1sdHZo}(q)?!k~MzIV}vd~tF)LeK{ib~w}{so}Mc3nT%bhg-hxhyc+HrVKZ zFo>1 zX0mO8mP~z0B+IX*RZnqHTG|vfV^(TYD20=`=Q}?rONDMq5$>15URJ5)b(#nVsic#Z zh%#1QhogrNzqh{2^H|>E7IE!E8Rd+7-NU0UkH?+TO2qND?WB6@?|3x3wB?}T0?^`D z`BKVBbqx);X5eoL@eTo3RKe%o}7DVq=$j9 zaJ$@aZ0~7EO1b-a3A8p+6=VmR_1{qYhMmIRka%K3$!rk<>?ne18qEH89j@@{rqhKW z1m1`4%-Ms4(G5dH*dbxZopIlU-YV7VBQIl}zUyx=cbsB+XXbR45ncAWH*{~yzJIz* zq;-F)gy;Ff-qvh4ZU$Vn$7rei#>q@PJEe2cSNEg+t1C{x;beEk^wVv!!o&YYBCaAR zrh6hB%m3DTz;i-P=wEJXDf%D33xDWP01-`{C!*u=-=WS9>WA?TvkMvj^)cDtQ5f90 zIHLdlR)0gty*aH@eE#cWBEVv@m5vrte}60KG=#tSm1rh!CiPP3mN??= zVZh}b2bF{ZCitCIIC+EY`-+GlDk22pXo;|4HS`|T-pCV3X@EVFhoZ zy4tWH|GCQT9?UHyKl?MnNAMexV9z;$OjwcdrIrQv;`cO903h+EfT`hm2_fl$<&Dcx z^f_qer0%OVi*NMNr^Imx$5E{`6!>U4pmeAM@;)ODoU5DLROa4xz71e<67S!4(cU6& z?%dcK8tn$@>q|3%b{gmcydRrIQ(zT2y6u8q&2b}f1ymQ5s(;Y=&)=&KB~t0RU7X2w zl)giS)0J!(sXw9y?`RoDNS6Ro9yBGafYFPepT9EGUwn_OuObKXs<7^pnFskncldYm zl9_7AW>;gt&q*q~@Ik4+#%|j@XbD8l07TP+@Km z?SiICA+iWV3`hmQgC?mJXq4oAnn$;%6#cxXS*)~eqIcK+&0CUE$cDJjmbgkl(HAjX=gB%1|zN; z58A>An{Pn@%@Su22{zDyL}?r7Vp1Sug=MFBa$XAUXYxAa3g{C{TAa+d+PHiM_J&Lb zRF~UXyXE?_)v14H?)?^6{h?L+jX=#W*5LQU>^-s(;k5k$poDogb>64yNQtsHw*6Q2 z$?Z;*@b`~7niy05P z4Xgyo3@!7C6w>ihz9gN?4Fn!E>ZVey&jUoB@kcM1H-9&FeH{`A!-0vAz0tj$(Fj>w za~l^0jA^mdyw~vim0}ggX^vI9K-)QJt-zD%2U*syP^!c~Qg+%Yrj0A?7Miv38+;zC zvOu$}8M%Y%I^4z;(Fh{c_bW^s=B-}@*GY(W#)9sk?uh8%Fyggzr$S6K0YF+H)PEuhD|{C(BEP z9rDRK_XbAMk|smpl0mhypPz<2n$mMeUq)&#ti|apP-FN@M4p4nx;E%8vnhU$b7pvR zO>G5Y@Of&37R_z)wnF_}X%e+SumO|GFN5Fkm@YuZ>?#wvCxt@^OmA?lQO7HM^;air zs-V#zFclA2WTSJrGM}AK;paF-taWv@$~r+5&z>xavO1stDDZ3uZWJua$Vw$*o?HVJ zh^teJM)VdC5!zaMF7XC$Q0Q?Swkr{F#Lh;JWyybwol)P`l>NQ=)Nb;-{V+1Xq*UZ>_l$@fHnaE`fvs2KGk&SvAlLOsD(+OiRKniWR`5o;_| zXSF4^4Q9Y6p4)kf5zCdie0AKmV`sTM#*g=X=bpKViP&p;)%mI^WGH-Ac=;@7t(!U{ zR7+*6k#sUQ#=heBNg>9Zd7K4z)rN=h%hVIHHr^D*GKiL8e870tO(s}~7$`n|2{!KN zo`kt@%+=C1wZ28CO+bwza_~$HS!&ZX1wBO!os$JGu&;C>EJdX+?TueFT`f6w^H{%K zl5>^==wGoPL7WRuY3BvffrW8HN8Tx_+Xc=DSGh(YRb<8}I1LEeZYz_o$eZCVqc583 z8F0M?h6j&{V_S>}ujp7E%WlPO0LiDl3Wk=olU6i6OO@nT;0yjw5* zfQM#-A{uiiB60SvUf#UT{(Jizu{`!SLcC$g2vQbbu)wlXb_<2B>cXxpXU z$3LidvQ@s|M1$E7S}Q+)nr1A^<~$XyrDFbluX+3QQxeK3p7}>uidiMSLlopi1QH!F zkrvS+p~j)SZ7haZZl*G`h;FT z%vGV7dmC9)U6eXp(Fg_qNBl!FsV#kvSvwspD$DU~SFh3xD1;$tq)IH(`)Flug;L0% zKS+J@Jkn=_KTh$!0bWX;Zdmi@2rmbtbt4p0bn@FD;LUqFtWdk9 zll!QpIlmrtEr62fJVxal7qR9bkjwR)RJ{qoOi~BE&&FlQpan# zbC%2}bWWOt`dNhfL9Xg~se#+xHMl1fg4ygr0ajj-1Hm%XC>jxiU_{$0?J~F4Mh_^o zJwq{kNBaj3$0iXzyO zdj)Vy!O7;LwPzg#De+iGR3~-g+VhB@)V+3|k_0$Rs#pipUh#c+9P36fMPHaOLW`tw z(>79j-#UIS**Brh2SHWhkK(04&j5i^ysSR$kwP_>j@L)_CWNuN-; zl_xkzE#7&;LWX2?N0!>T7gS@ns1PUZN*+X_m@Q%*#R*falB*|Lx}!U|8QHG={J4B! z!w*8!;U!gPW$G+q-~+#)U@%JXIltMoZ7pc@Z0*?#0} z+|k@pgqSN(!#f<%Jbc+fIg&?`;{>zhcqZx_l_-+Z>rB?g^4NzxlEXImt=7avHO&?@ zz1LUR{5PrEe);BKr|`U6(;ag|ZNMtYwk(NsIEn#;@C( z=1@LPJ%@CnmPuMEq^2YYv7Y2tk}gDhEQAFQw0T4xhk>vNB=^!=j@FH|4xTh2{tu z)K?I+`Aljy!Uu&j(A!XLYsZ+2m1uBqau#DSeCYzOP$&m{KW(Y`M$eM|U;J%Ea>-rR`0 z&t=^P2fM;8i}skv%WR#MR1@qXR3qckp0g?l5x-!PQ#gHtm?QJ2Vteoglo2O6l6ZY@ zgaxswF3F0u$q|CfbiZeqFD=vK32{e6H1HH=Q>dD;a8rape_0XH2)QmmBwWc zGk8Xvq{NdRA((P_1s*228LdVYfeVQG0(>19%D4EZ$~Rvlp6wVp-ZbwO<7vxe`$Hq=?IfeWX4WB;y{%4 zN#6ZmL!?ScFSv4KeVuD0iLvmO@S>En^|<03ULh$Dgg@jd!y}9D?sW=Sm0w0u{ze^Z zs}=ayv+(EW40@xq!KmQyhBXc2o&IPqtqyQqQDnb8)_MMgwF&VqJc;2!S1B(Gw1Xvq z2Z=|rQj6%-+B!Zw+cX+1L@Vp)(9cpXru(O5|4b53ypE^hIN&gbLp72{nJE{VCGBJm z{TinW`{=l{c6Qu`l#+U0Mb{Ym`Bu?o%GK=n4%BpTiQsS1jR~jl_iB1VAKO~pA6{<2 zHzL7YCPW#uLlr(8mzk0qP3EDI+L(|7~Z zRjG?BM=~^OBH3_nXx=Hcig3`V4t(>&Zm1XmV8tjZG#{?t9*Lsaq9EVOAFa@Tb&_bo z0Ese%zp;NeZg9}InWy;cH{k~%U1-&|=1$-IyIF+zQ_dRvXLkyIi2tK6n)CqkU#%ht z7p4e2{U59^xZnT) literal 0 HcmV?d00001 diff --git a/test/image/baselines/stacked_area_log.png b/test/image/baselines/stacked_area_log.png new file mode 100644 index 0000000000000000000000000000000000000000..737318747aa917605895f820f9878d7549a0424c GIT binary patch literal 79962 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

1G{}L&*f$B9MV# zS8A$G_declvu`+MK0eq;1eyLJ*`QJ^wmtZRZ9%5^8p-&SzE&-_+yWNZ`~rLJzF=05 zHv%c$L`v3m1OIkS+y=md<)Ta+!|TiYC89pM;)v*?@Wzl+3G*CLuSXyvlp%oxrkA$DSS*DO8pkxHEN27Z(&NZC5}N>R0e18_In>O7pT zLZ^v_QM&&k4~m(h2Ib}DzfIGi<-b@w@_v(!Zr$G>MuI(RNg7qTA{exOIMtH9^K%MV z#hzcZsiHpXv6*(0rc*mO%1nFz*GMaH)v04So{PjVe3y``wnz9*KXD-@T}T1!2{|CE zyS@Lzz60d`>>~E0uw?tvpFIIgg?-&#f_o(AW3+!9tA>0Ezdh%$zEk+`L!Rrz{Q z9*$SdSG~2=ljV0v(ofq5JSdatKyb*IgGnYLY&Tf~ER87_~VQ zu=Q+zH;GKXEQj?Xfnl8z#g?a-_TcfZ+v#zp7H`5EbFMg$goziynchJ|%Uw4NnRKt& z(jW$65QSLv7HsxP0id5HTX!-`#K{hL+3+s ziuJi_9xq)~qdY!!tgeS*p*849KwVU9bC2y!?{S_t0a1v)0u8ogAy+#L2l&{NZ;Err z{}o-B_NR(^5_SZW+YwRc=Izv!uuA7P@4Q~IWeZ4yS<5>HRmU$a<>#F|9Q%?;rF`M$ z#>DrF>)iVmEf*KS$K13A5UI`{Z**<^Kla`-EUI?x8=o0LN~8o85QdaS5kz|EkVaBM z36V|(qy`kEq(d4hB}7tELQxt8L8XyW5$O;m-g9|xpJ(smIo>bthyU^a@O-(CeY?G9 z)?90?>pIV0osc=?9`t^-^p>rGs7%Xn8K+F9vDEgpyJffnlgKFrt&{neZcoq^ZEYPb zs&{{}n_0rx;5>z%4<_Y+bHZ+_`Nc?Bx!>;kLM~K7JV2SHNCNZ0ndQB`G{Px-IWpkd z3+QJb_%ehHamOMFH3Oo) z`zVK@Cvkq@I}r-l^Je31=0Xa(zv2@_#B10pKA)(kUbh5d@B)ZG;@p|-z3?{iA5g*n zQ+^dIeSE>n{2e}wxIpvme0Xtn|RR=Vz!dEUaj%cI1 z^sWdqets9|Q1(!d$(OHRNjT*@0ttO3}d$m{F9Qa)t3x#HX@HiN% z-9fQuonU*keTF#dSs^t5_;KGC;kXPt_>i5Gdx5pBirsuWgCAW4{N-S?I3MGUx7n?^ z?o@n?$_;J=?LF5&+f6i6$FfZnajHCp(h%w9FNCacr)u*mwp=c%J5Ys+{ii(D@aQZ2KdAXdp}uJo@y=CVhv z9(O?Y>vi9}gL}(C`};+Hz^OkYZu}_x9KteR_&HOalus2q-R$=AIpcY5tYgnyTt*`O ztxw4yO1Y;ew##t+zMi6xG!=L$c4so`QqgN^9}v$G{g!5~FVKkY$-joZZOk5ArkUM3 zbTIWu;?b`Z3_nfztWgO$%+f&_gLF#3tf*X$G61kVxKZ$4IltL~=(!k$!!!2b3OG5^ z$E3Xz?~ISvLd|he#{slT_qD&?aEk<|kv8N#507LQ7%glNT8K4rZmAQfX9cP&;4g`S5*#3JJ^o^df0 z%IlX)pGv5yjevg|1H1BYFSU4YhS+r=IF3Rj1o7 zFbY^i@D8(J%dSN!auBPahlt4O*jYsu%&VB=-dVgF4wAc)ikO*xNU5-p>MY{ zMXx(Mdb^?_s(fttU68lQutv5(F&-cj*-txZ<$%AFjMWTGp27gCA=fW+;`y!V4rY!5 zPdiny<+>#fH!CVl+ODUpV1?Rv4MI%xM9u{)00v1`(PBzKsI&a>OX$j1LmC(d4X64! z22lOX?_c61=m9;(%i!MaO6(7PyX+)RJO0rzyP*(+Pekp6VHITynFkK3kED%W(z_fOnGcS4ygSZ#b%K!{!kaz-FT)8) zT%UA;jkgqY7t(b8qcem~@b9Y)H$e08Ux1IelZ6gRdC)I0NR2%`;q(GzEF&xitd-6a z;-`hI!{Fgp{3pRlH*+3PhPM`4$cIAL8>Yca427{<-D`hD$|L}Z6+qe%w7)oy$JcdK z;z2<0w`?VJ13}%N4HVwU{eN;l{wnS`pfK-Y6TyMnX0I0y1+8s9hZ3apWd{7`2U0^3 z&w-)V1D_EnReqyS*&5;@jN;rMdJSkKh9l|y&v==eR%0Eue9Ynm$V+&AlK6}VzZaU8 z1Wx{Ju5@3KwM+UHeC1g{y~EZW<2Zp^rOX)s$8A@hHvDd0-4w$&br>Nmv2a3cH*L)9 z=~z!U&~$c}zQ>QOY4ZfO$o88(*U`Oi{j5}(DlUn)DsU$MtI$~E?H}>r4QTJ8?O3tl zvE6Tqcr2AP6ZgF8q=_W|fXk(++gBxL7Se8!Kfc@F?>YUS(ZSg1^U$upQH#y@>!H_uR?$!oYLT8gx7j&(;DyuqD43-s4N~M9RTWTZ z)%gAcpabWCQb+*}TtxGuDWL4up9Svs_~CWO&z6I%VHcEScFm_`cIOfxwJgl0JCPfJ zI5kA7bEVX1;4a-0YD_)J9yni=yb*(qLF*mxJN3$E!j^gB3KNz0QbmV?VM8OZCxGRg zdS?E@ct6y7vrX2b3R!cWE z{A^|?e=!)FgCx(CV+q>R4@?2#*<6{Ln)`%Md%_*6AzHH!^_93NSJPS%6%~clW~@&u z?s(YmYLQZn7DiiZ>&~jT(vkSOm{0eJOB|7)LC_lt(p&z73>6gs{E_|nE?p5d<~|7) zt9p@s(tpQn;Or(4QFSNyO@zCaCx4F(KVAoCT}q@tL#Hr+W3NmTI7ON?URh-1GN*y7 zsgYzj2iJNT1LX3B^?`a1+YQ20z<2tL_u#3W2U_m};Hk^&x9r~&#WkGjgGdl|4vyD* zE`1Jz6YuoZ;Ns&^m>CYU?BS<+rSy6duG2Vf*V_x5F`LL0A*> z!7ZJMjW2Ig04-!?PW}zb+!egT_&x|k?Wws8A-y4ff9ur+ZPW{g%(R3!ytKCVn$vJG zEt$6wBdQngP2>wy97G<`(THaxCE2W}3O6Ou3caw>>>EL{PEV5{8rhbEU%X$!<0l~) zJ%bHk78PntMZE?=yTr0MSuTsquisDdqJ^}S!mn;ei;6^&=${sI&nM9#;cIZgSiNne z0)Vu`z&6EGmY&>Uc&{Fuhp&5ub+FSSuwOa69Qx1wY7Pk~KSufQd)xnJAOCOm@&8ly zvB&Cb!oOO8|6RiWrzQOV@3N`HKL|S9UkOAoA?~Zs9pfkJC&ngP0$Y|K&le~~m)g(l zjz8eoNd__wG(i8J_zcRRjbG1E78X-bB*Z~vo5@XnpLFmn-9I5{ZmO2Z71u;r=TQQO zZb_Zh)G079P+Y-nlE07(A-zqnK4XBueb6Tmt5C?&K|0ql-djY#; zkK{RdT+@#`1npOwhq6+Tbm}||*c3h^sD z40T2RfS{ep)^&5uj+wvXHdhzq@>0g$G zj#B~J&h-ae^(|Y*6?IYNqj18`ZGBXH?nni`?m4wXtK=VJispB|;h~U~wj0d9S8Y%G zfxlyE`lLDK?%P0xeksGb4_B>jpS~_K?(^>P`ZwFdgsOfXo@Y{SZbo0;EKW1+sK+{u z?es*_h_^3NTMjNmT(~tT9pjUeIUi@mg=IYO+@G3 z?qLE5vAZ(8=;FLT$#^ZO$Hhof7a3^eJ6(;lig~cQz@Ht8H#(~6@lvRXd3S*17N{w0H|7P-bo5*hd`|J``6ou9nFqA%t^BqTjC}DP=#Mhx+LHmrI*tNd z_Y7M04f1u^;$#jk`MG9GvmPM|b#;$AzPq6nca&V=L#db_`qy=t+m2BJTr zN&S{8cAr3(BxA65ALBb)JJQ;z@rM4|2l2# zx#BLd&2hTRY-0Sm9tM7XO-mDZ{K`D^B36=pmw9M){4Z*nl;gl>+QdKMc3*`%+x)ro zb<;Gh+DXp@l_Z{vPeP_bBPREDecm=M(8tke9cz(hu=T6I6Umq5rJhw7UH1FIP-#`q z8;%pBZz}D+(0Z%aTN!jsrGKY0QD$X22afbA5C0teG3EemCckqWxnp3{4AYEUWG8PM zbo~H=Q6>GD2MMB%lsfT7VVvT4tKazj%_ z>bGp#R1YYP3LvVv8TjM+FQkQDt2t9$?*4>SVZP`QFw~sjHQ@VlaGdcHw#4vRGN5>A z%%YKFn3;tdos$GuN*Mw*{e6?$PGT1V1U|jy?bE{D*&gSA6}r1w6dbvusZWW=HzEyz z&uA(CGGYF|(F|Ypia;`JgtQruh7}_Tbhi82>*d!W%&NEueRE!s^ta_BUe{}q#9Atr z_Bpt|5yf4hxOheev}rw_-%Tidux0j42uF(yJDW z#=Xh;^DWJFCu0%yFc?_+96O*gw*e;>g3uc`-hL{%zxf_%ZX1r)W6`SIHTuqr=ZrL+ z%|6sTA20j*dsxwC{gu;v>j(LjNp2zq=bQZQqbHE0E0)<_7nvlpMg>mI69WpKk4P;Ox<=s6vIxC) z=9~ZLijJ9iv%BAqaZ>92Nd|EotyUG@K3ARy0o)J)My2cW%{>}{s;?V?JTD&feO=(aofC@SHt&1 zs#gkCKV4gpStwX_};X{NR#p0d3PrbC7<1xt1kG=ej8mwTANC9(RLSyxKQ~B5gHB_mTwG+ABOE@t*PQNt!2z zSQG^caw9|IWQ+kNLe zjURNuFR6ON#1Ju1s+dP%ng^hfgAlIa0}extKC41Kc2rzG`{^3b{M64`Uyq!7r4>%i zF|;Zl zUQUgw3mdF}xuew45&9}YD+srpE5BpHD9%}SWuV@lb2Cif; z=iM(rL}NU-v_3IHVr;)%PbwSlbOhlXbkhm2vmp>oe&K6j2_!WTIl+Pj{SFUyS_(!i z4#dj+{_r@UTCm-j{DQI!OL%cs;wCvaM^QKZpxiHs5;M$OO;pA6de^EnHYw{EYogXV z%LY%!Pdd7n3l`EJqAWEW1fvScl26`lOYgv;2C4)JD5bKq-w53GNRd~pS}=| zK+P0PtbVAV#BDASp%r5KO<&uff(QvlN~VQuYC?`ax|+#bwnjpLeY0!(qg(ew?6_6E zoP&y~VMt}?0AWwlZP$w6#$nRbobjiWUj}k-kj=Z(KBdCta?kBg(cqd|l%3D8z{jrt zxn$ZDG(iuW2W@i>ONcYfJJ|T?^>T_P$-S={nZ?26w<;^v^YrF30s_jf#~p~V><(VZ zqeo5Tdrcpl{Y{DM{Z8mWRLT_ENE_UPW{Mks%G#%fI{&Q3(3cw5)No;$`6OE5Eff5Z zuf6)FM`NMTHHU&MKll+_4Zv=l30l&2_Svy_yg+1+R2bcMkLRCmI@x1NGO17Cjv3!1 z4`0Es;1xddOFnfr84*sJC_d-Ki&613+y8VIHPd1C-lG@!6*T|)0!lxzR~iL5p^hhS zR1vi$k%bV|x=aZmk;N$~{@}UnU-k+UVJG!iq)u zxLiYXmp+nf$a_kR3VUQxCqh7pId#3~84At5u1}R^aFYAhXJ^_p1JMuP!%@^FmXqJL zP-~M}-t%F|2M7Q2!D!SjNa7G>L?xuqi{06LBA%DULns{E)Zc~FHl2um5>cCvi2WwHoO^9F#KTal@=;o|2*W??;gp|gRxSyM(eC*213eoK~-VBvpgZ> ze<#O8XyIiBVwDro8qbV4g+C?!$o2D}#^t-Il{d+|dcqy{T-(x}sOv z2$J5SnGq#Gcj*>jUnN!YK`)VUAs{c9UJ5v=gVM1O@Ys2xZd@HY*V0amrHZ zgEPS%Bengo_{n6mzi+BcU^6|@Nx{A2v;$|H6i?xfnc0!E;P3HJW*OABag!$wzj8F0 zFp_yj5NkwRReK2A%si;nQc6qtii|39@6Mg{ zi1k9;$8dT-nh}8tr+`N#hFNCPQ>heUu!>mkfv@>8B@VGQ#Yq2pl9q=x6evB?Sr2+B z{U#C|;ddF>rhUpNS_d<|CW{tIK-`EVAa^S|!nzW~5@+XYJE#=rmw3M5vNRep(ZR&3 z*xec%vSV|t9ULIWieHItI%>HJDgEO5kzFd8(L-Ok&M~9~QChHq*2Lh}p)h^vc#8R* zqD5ttn+wH@W+B*{j#K^FIwVopO9VqJP@cri&CL-PXXl}=0~TAL5KdjVL(J_5N|C3f zG|)7c2z_&zY%)gN&umIj+Jy%ys!&=u#+v^V&Old7lfk!OOa_`D(uwNMO=y#Mtd0s=0j%D7OG*(QY~8z@c065(q0-UUUBeNPk@X$I2&XUCEip~ zjc`xrAxI!8Mp~ScIWS{xGQ7P`h$-FM%JKO%=cxBpzG0Ymrvz0`LXcJ^Hw2@~B*+f)IdM%HOy)B#}q$*`Pb>#9E z%u7ln`+#HxZ+u}+obQQz9Y|Gojyl^dfcv(&_o8FVo4S}4l>-Bfy{VZq^I?pgRVv&? ze8bV%deblOCv10b=MQf)8!=wUIu%E`@^1E$$05Z4DHdW4s$l$<{C*Qe&Jz|B8J2>1 zbTF|2A||c~7=3QVXrtI+5{c-HWaLRfx;jJh(?aY&ed~y^t}kToHi?i*?{DgD;a{KZ zMndm^?0U?U&qFE2t;+OsIzX>uF-g;T{GH6muW-IYAD`*V-@``-KYu0D{azPCs`;kE z$N4K`$MrO(N=ch2KVwJTRet@F_g7V`===Ee&x^kBW;wI=TuMxAB)X`&SI4W5uHJp% zMp4By4gYtsdg8J*5SSHtOV7vicDW;aT^#1<04d^6T=5vByQvZKY$MCNLMvPmgY& zlnNJSXwI0a%3zsDyj*ILHiaVC>FQgrNQ^6X4>i4Rynw7=&#U(d{qXdPp+K?OD%ne2?z0`~X77sv*i6nYco9F|Tpw&2MH8H*xJ-=t3~H<1 z$FGrakDs!4%&LBX$2AGGxB525vTm^Fc(Qz@8IT#&bB zxHm@4*M*{cMVpASJY=G8MSmp@+{k2^817+~!G~p|=6HR~56+%#5zP?bpQGEwsi}oX zGBBdT`W6q5ktxdJsd|#G8!?=~CQ`J|vItNdDn)v(^p7TSxC9gqw+9Y_Hw-jZPkMa`h&YQb;adbcE zR{sse=FnXlH*Rq9>Mk2~+O~lHbDkbw>+NmCDk2!n3Hs2dLXB8G!}0-)rP89G|21;i z!cwXGM@AB;`{-vxQM*^NVr_)f4ib;(UMxx*l3erZipT$EolLHIG9ovc?|UIr2+dv= zlk@l}6|U4p`FiW4=CEW9y)s_o#;V}RU9`d;2HP>G<-=E0x#z>`BB`iY#F3Qm%tWTd z*Z9Dn45Luc+LNtKroeTrUC8C;)LrG{-4u-hvGLp-1=oi|*EDClFJZ!XE5|CI7@%Zv zqBGpFVuTj!YX*GPEDujqFq|}X4cc59scNNBpxs(Ms@=NBMSrSVGmKd1s@Nzo)~$!E zO0bmW$(dZHSQ2aUH5&YMWX~qXzQ#J=My2uB5B1%JH~uU}j4G%Kt{kFJ8l2@6!G+d1 zb8fR2TW@04IOyyK-KP3_N$NIod`=@jMaAZK#J#2rKI_ZZH7?GalCxrlo9LY(zhtPq z#O8OE=$?R4h0AkgrJID54;OXxtRR%H_{M!TD~7??KGLK&*KN4?juN;r-?$3YdGGB9 z&zPazR9%+(o`AQA`;B)l+@+@#*O>JMG)E^HeKcyCgX21h@4^8Kw8FGB#x19y}H< z{=j8UQvHApe=}jUB7_*bTTsJrX^)iEoRIPw5oyJZ?#-NPmCMaLtE$A@nYt!-_MYCq z!mHO;@iy9wh6cB!8^7^Tzm*o%*7nr2UY9WNByY0lj)Wz@wqkA0uQQ*|hW6^Kgh$e! zDHFzoJ*~WNBCn=eobl_b*>1tOiJ0k3`Ot37qiSAh<6^_L8+>w4C<8FDGIO>*2J~Im z#f;O5&|&`RTU&~mN8rC^mNn#L!-svv9B&B<`-p1CN55+gs4Hew>JO`E^C)#xGq#KW zpfIeqF3*Plc|C>t`zbRtrFCks!_b&ZOXf2y6CYdpMW=X#rq`tpIRbI`ZIZ)18sya_ zH0X8#j=LN8uFA`ud{R-8yje`$$uu*+a26F5JvPUiWbdUs=%t%yN?!kYi6LM2o0@s@ z&$+Gm^b*sH`?@ENhY*hiKIGT`!oL>MEPlL_3llch`uQZ~8U~M*r;T^#ONwjroKtd- zrh8nw>KTUStUaGrfn}R7r5f6&w9#t++R_YwVs+S|ky-ux z$Om+k9n!(0oC2h%8U5*1@vu4)Y}g9^wN;2ZG2Mnd$|qgiDPK0}C<&VB%>fOrdSbcm zodtp_NO&z@5u4U&WD^k)d3yt;7I3)lMR?-ID5PxKfI_(vd?k=B8nBsF zxz%w0_3v>m1qR^@@qFA=`kM@{?WC;y`7O!6G@MakR7OnnQ$h3$D$2)KRoazMs_kZ5 z+hX+?Y^-(f!}Hz4#h|+Ac6S3Ch;fa5Qg615g|_hyh+u^a82PXvHFW$Y57W*rYZAoP z6+~WiU5VeZ@f+-xoLF>mU=_`75Fge47^sCBs3jzz^f!^HiHE)0>NMMB>w7t_wq5z_ z?jzw9gX+KPm|lGznmo0^>OiMkXnT;xUEhI8{^n_yM@m1V^*BuvC2LAl+WL9zOxW70 z`%zwr>a+Myk66EiDWX53<^XgJCS8c6lH)8d zy?J65`13PSSARd9AO7W4P{ia$*A4}tELEj1+?@(^C@n3G=bi8{PuZ*%xDi@6c^{SQ zLPm`JRejr@qXpGTBxEF=@|d+d_DQSGyR7dRs>djTpm|>FT(vy16kg$WuT#_4PdIxn zrtOS25l}w+p)$i9Q-TU+AS+Ip?J>D2uas^-+&kZ=#Mp&2nV=F1!iET%)@s}BBe`ZU zvjI`=FE0sD<1&T~6^OCXmrLocQ8qATrV{eD^qUh=`pLdd8GbhBBgS)oJrmb)^bDc1 zxMGDEIqU5sVN_Fb93H_z^LXWUuM@*k?YAzYxFfR7z21(9ppZV1R8IK}Wu4Wd%u8-^ z-ATM>L9|s5aaA3OLXZWV3|glviyxkr=>E=C6JKb{rsXwAWN>L37?O1JVuc9q%#k1h z$|^PE@5-o(!t9X&0?I>_O0%WMS%nCWlL=O5qY1TgO-AeoAE(xTNg8ozkJ-<_P&K01 zbs_3AnJrI0x5MjUeHJnH#uZCu30hY|-0hV~eq{WZ`onXw!)SCAGW-IK%#Ce zVtN$Usx#_?SmQn`6!FpJsTPZ;=c0I&Z+%D%?zR{}K)pW?WFZ#fCR}|90uC!jV`|PIUv~RAzeZ z`mHznb@0i%b3b8bss8@ix`~(T6Oe!m;jB)mfRqTnt2Yc}ZGS07kZ?Wu#8|rY(~>c3 zdm@!><4fu7AQefJ?g>(&QGb0(+>$}!hN2!EIkIPB0r}uM$v19_Obt_d5iQvKQ_ffz zv|MpFJIVrDyw@y?Olpc@lAaO70&qfrK|J(_ybh$5_HAi1H{osM5#&6Jza-!`eHlwe zWltqOfFe+|dOtXr52`#QR6NOYAN(#?hQG;=LBRV7S5v6C773}Ae|zsc%C5k;ao)H1vI zNAj#~2xbnShUoN$kGX9o5N>i4@=W#2(6K5a%=8(9I6^k%ND?f*-LtEte=RudG`vY6 zN35oTUMm0Bf{UO?q|UY9Q_qq#zLraLZ@TSX16K2*^`xB0HsYZ`zl8!#pQRm=7rEY6 z635;zX@%^Fr%Z`>1|wt25;>Hc`+d!R4Fn@Z@VRgTtn1@o5nr$<%C5P(lp+}$kWb`8 z0Nj*T(lA3R3GlTS=0k1R83w)u(-tkr-z_H3*SN#*UWAz#yB26*Nf`GMmCtqZcvK(} zYYd=(Pr1HC7UFqP!7#oNMqPtOSW%++NsEm8Tv!AHlC)A>$TWFvJ7#G5*|Cj7$U7f? zwuWmv;sMGu-RF)Y)3Gqyx!5QkvZu`A6A}my`d!a>gDjF5tK-#?bsQim&!~%JX!bO@ z?LFx@6an|!`xMM&eC0qMaKoTsCTyHhhzlBXa)MNslGmB{%J$R~^TDQd$DIE$00= zeoB};ojs}A!$$E$hRk8Apf_=zo1$kjzpt2Kn*x%IM|X8AtQCt*@0~a`=Ilr%KGrU- zZ-^q0T~Nu4BuW}SdN>ObJXJ_rWNo-Q0Rx4oQhtIAA@TJQ=W9xL9caf1`o+JON?OGZ zdVvVfy-(yL7v*k;%mK?u3qQ9U3bXQ3=j%gj1hG%3M+V`X%XtICcF+M?f4A3ymZ zlzy@3saSGW>SGDbd1A#7?j`D;GBg7|mZ(E`|_sLkV8uMj7ynAx3Te7x#z^Mh@sLuFJ2@_TuPtvG|v)JdZF)l>kjYMY|4UY=J&D@)-!ZYarDf7 zGbh8zBsFhN73rN#QaiKeb`!MUNdPHchJ>@bvy`^?eVv|^&{4-sAHev@R=+ zCBd9LlgE<7C^Il4(d$TxZjVx{*y1Ku=$H8=IHJ82SSf8MKt}Y2(@y;b3HE%~>;8*e z)1>(6IztHg02giHoy!K`Ii9C*tOm9gGV2%Ci>KUs_}z?kW2MMW*UFhyPn!(41Rf@! z7g#H8-!g3lx}H(d(n^88S^JFWc&)ZC0bOj|Wu;H$w08ZLtZeY-r zrx$l z{U0vRQ7W=Uh8OG!7QOP5E4M3ouMolcQ^I;MrHrAnx=43C%HrcqHWKW>iJ6rj25{$t z$mp1)<18<_25Y1V$069zQ2os3`%#8rQ`)#|l}>;xa=RibpUi;I{`Hh-oN0LuCZaj_cqfQ+l4uEb z-avED6BKK_nj0w)&s$a}$FYjTi_a{+i{bI`S%r2Od2z2|~?0+gH1nH+&T9{XHu)^QrE+ znH6sbW9_>o2_vFu-e22lPq}Qa(FqL22k%-0?9PYvOrwJx`8r=(TDQsFNCtD3wg&=Qy5htU*nA;Sk_lca+p1} z8p=35kkf5pH~8aH9kB-`j*I=|MM7&t8`D3we66JvN6p*+F)gfU@N3sauk0_F{$So>=@RR;wXZ zVr<0`V$+giqP%sckCJ!{c)s4SvGr3PBH!b6l4w5Fk+#>~JHC`)2(?ib?>|hJyDr)Z z6?`f(aR0kScLeHV0g~=Y$f;xxaVGsK^36FKjkD1bR~YaA`N|F%Edt684g)fTL{vwe zr@$(OeCJE0fv}gK(HC!xKKXgPmYyH`EAcG;>pbI)(OvN@M9o#zD@6_5zm8)-j*$ej7uKc|8TQ+>pD8!Ds|@8(>AWkdz} z((*B(DDr%`k5HrA=UzL@L*q^k!9>9*OF8!275Zo=y4ZJl(m>WV!2@6TlrbdpJn7X( zl|a&bei`zdG}%Q66IS&rf*9TI7CwymhpQw#O4;s}6F@{tOi!MCJU`^aj~n`*hJi)i zFmB_4zhd$aovFzKd(fwPG-1KI$OkU7hU(0o`Rqv4Oew%m9a|!FSp3(xG*rCBm$*ZJ zJ*KN(woIbDc>(un>^z??3!~eMgBLnzaJ>#T1yJim++k#h!88+5&gScE_9b1S#HdJq zG*h>_i4IpStCOIC3Q?dih#+>)ed6MGb053?ORBu-bjSE&RIl_wN&Ac7zgIUNM@Kn( z1yR6*qWfb@EnJKUQm0jz;E~nGs03u%`iowc{`4~_|8e2>5rW7Pz)eU`y@C}zW@-FY z4OM|>04^x?GVH#8^7Qxz&fX&_%)23sIP{LwiMv!l?zuAQxZCijUX*+SNM02%|fWZ6jrs zBveyvfhQAZL~n%TlIIXYnUD-^W(D7)A`)V3p>^eWI7$vx;YUUL2>$)f#q>W<5j>`b zC~GKyd5#!BYnBh>TU(y2;yOZ$o76hES-6y$nfWh`1@K=ykNW3Qs8ERN2ubQ& z)PTcuYn@D>4qND-Chgw0q){BYtzvoHG#NyMTo4Y(cliLoCx zFG!@p;-B|@TF%V-=zGIaVr)a=f_NyVjNp;WM1wxe)a6b%tMz<|O~&fYF=QOHu>Fuq z=KGRo&BX!W(h|UD00%1GI7UEey9Jh=zb^)K3)aAu1?Mvx8yh2opH549yRHT}az#Xi z0JqW0wmOifj8LyUYsBwY7wfn8>PY#4j0eILVfiZw2`Gv|Ng`oi$a{g|7VyMHjz+LQ zCBrzzZZMwZF@=_w!Ng(HEbkeT3-8;f?xUz%ZgVORV*cv^6&90(YXD^zs4@$M7|Os2 z3odjvXoD<=QZ9GmKY_6Vnr<}gD>Zs28i9vg68}q%w~-T4Fb(~{@l*1Ww|!Y@{#{ng zfceyVcQyH{vyK}Fl)*2M@$lW710B@3TnFn4B6NE$p7TBpPMy@I;wmeec--t6@Sv$8 z4hEE$u1z?9EX%Bh{03aXDm5wHDv}er^@y;2Mlq@N6+8{ffLfI%`^yYT2E z)=0mhTBw=H1AHgfCeuMDTMQQtNq2*zNuco58@jjqdV>MIab`8e-H%8MtWJG%HiVvg z|L+SxEZ|wEIb5WtjEu4pBz^&!F?VPH(ncTeZhYwh1p!vYcNE%MB!6YN4*XlDFOt$P zxmmXRykj=5T5kUBEC#u7ggF%ur{?qZ(S1@gFGvta1W$w<#cz(F+lQo$zbT+9ar9ZP6#XqxitzIepaNp1PV8fla z(w;feLtRtzL$k9a+4GG3g6i}Jqlhz7Wub!0qq=kxcXTB6?3j;a#$8dmYI*vH?bio{ z*ZUMU()(ko{o5HZ>s*!wtw~tVhf{~ZC_`^8K_5KomLSI%HlXcv=Esnp)`L2N=+BTF zMus7k_A75_4Mv(L48?cItJnUJ1SZ>~zo2FO^iu8%_P=)QFK`2pAdabK|9J@0r-%>* zw816>l6O56WUsTd^)S?R(>twcMcRxk*xb3;TByIu`V@Hai+u~@!o!tb-7U_(0#g`4 z8Mmsvp`p+0{1-Fm#*5I!0lzIBUlloIVpLgBLjghd@)y@san*m| z{E%Zxfi3a%EQDT?9~6Unbn*I~55~5Nl6)uD zUR{;K>j9rajJ@rc6)r}MT}vJUH%p$sWqx8F>vhn!bechaVulJo*5GhH^%idt|* z`X0?nF?aTC8?2Ime}IHWtO#ji=kFgooy%m}mnKqG&73akVn87&`DvP|=2{y@WC|JW z3;R<%6`PVm26Nd}6>^f3e0eN)>1LE5#gaAJxY9b@4}vayzNo9kUnje7B2JWfcP#`h z6L6=e;%5IPq#+t#?@=$(?=y9b)zly}A#0^KpM68tq5tl@U&danpY9S%efdI&yAFR~ zo$a*g>Oxu0Npka{#{R`V_xaqu`0axZbIGQMF(iW4C>mEgMbk5;m8-!;>Zw9V=&%}u z4bDRVy3Pjcbz-3tGY8DT)12=Ss4=v?T(n;w|C~kn^=;I})yE^xbEar3EA<=+1N-`& zY-KQEnf7#&AnE!?k~UIl6Dhg<$!Z;@+i-cEor|W}&pk@k?!Pl(YoCoG?@JdoT-Njc zezY7XA9AaekO?0*3hmQ;q+oOB23FyQz)wy#e(U_BWL-!oHnbNcI_FfGOoe-gD(*a@ zF&#!>1AbXHxn4xE8#+&H7rUSc=#Sv`Hedgoog2Uqqy2u8<6NbFzgCn-cfRb?-S-cy zXQcH!d>P4{FKq!wT4nHbbL6P{O_e1#BpL;@qmPy)09?`D8DI6~L$g;lprRHTJWg0o zuasw@g;({i$=^`j%P+{>+t}YxeD3o0!ra(ph8_uu+v_i_ir!g4xi!N2SMah9#l@4_ zYlI@!+G4+#sz6DkZ)jG4&AU>h>w_YAT|t?6Ann{lH452**5F;^p=GCU=3{jdG$jGk zN45(AQ<=(Xl8-@>2sMoChz-|_b>8k7!I}SOOLT9m%$5K8Dfc+`v$I~P$dPwC*T@Ku z9T6XV&*mlLt!=&Q9+w?RC%c|V&TyrrUS3@7Mq?*kVB_|OMM)^qNz)j#pbnt%9eIrB z6);lqZ3KhqmO-z*JjVo_dPv&kI;s;4C0DLl-@Kjtu4eV(G6c1xNc;aHsJiA4(+G-_ zRWvoDdjah%*b_UyDmM?;3#s-lNyUTlYboh!N{+>ESCSdEH z*4KW2L_`)c(yt~Nc)^gwwwz6sjYEK%x^G?Uh(3eVL_nCzg*tpF)wv}--Epio8oV(j z)1Hja)Lt;av%BV;`OS@h^1ZI{BG8EJ+27g-V%v{Wj=@Ep#*;rz)51dGGej8cW&Y>> zb*mDZ0{Qf$;m7kaYe-Weypa)MlR(+C28%$38GPW`R^>ue|;<$Uk+&swy$Kz(j9f957*S-y-4zbamJ#14JFB(VlWXAZwo&uF05&f>9ej;ub? zoi%q2nltySP&>@hcKW~e7O~eAvS)@hKCi^R@)bBcloRa!Q zZaQ_{j`H*FF!3$bOwd9GqcT32dPW8HpWnrdM~OF(KV*6$oRuYTw&50y-+9eTsIETR zRB1Ezv&yf7v7GHr@Q^=zQDyXpiC|XlD8oCTgkU0sY`GW;GmQ{oyHHx&4Cbo}!H64u zk5}rAU_Q5bd5;8%mc20XV?`cSVe!8FG;&)?k)CcK6*VJ+`X=d^ENqlT8@BUx(o8dv zFZCfR`03iId(Z`sr~KECBg8$2XdS>tlR*@(0YOLWOGKooT(w_EC?v1hXCvYqhzTki z_k6FRo2Nw1ZQkUa<(9;2co7kD0ylrz_BIxwJ3oLrvGkkmZD<=UP=n5cnEL6bv_WZ% z6OFvYvMgiws`00;&a(WEp9=biR&QjK3X~i@UhPkmq+KQ@kE2Dx z%>Nsj|F=sF3q-MNz2R*osx%L0m&Q-C?<`TJ3Mm>ZXfqSsk{iDXEk*IawZTikw;;A< znzNdTn=Q^?->^KA1ABRP8K$RCxXzjO16cH({;!>Um<)2l` ziHebQs<6FAOxzsI53hC_GXPS7>Q;=l;+deuo)kgBY8R+F^ZIRyV3UpayKxk{_$Ssc zDA4T7>SD?b@=@(J$X%%~F+!fBG8Wq~4YZ+YxuryV=L-ucMgfea zY>zte0px-<9qxp0Wl?Sh7H{yE%AQrA;ME=?pmaH+;{Aq~*3WzhP4Fcpwg00O0A0cza2A+rv!gk6wLb%4S^@9H;wFI$DachJQWR?3Bc{7OEv%`qa?G9-w z9OD%92D8*~<5fxxSn%F7IMQx!MHGo1?!uoZKjWV#U*Je564HkZ#X+Lep$fB_j6w3t zHyZAsX;su36COKD%ah4=z$Q6Mi)IhT@ESmn zR1TD<-$qUcZMJJd_fAv1ke%?iAp-xK=8d;mP7R-~{S1BD+V|GlVIVi8E6WXFqIT|# z-RuAK0jhtS0v9xKPF`RN3HoPP>{Dw_Mk8_dC{?oi__DSPCg zbs=24BrHH^8jcPkw1!bO>u~0E+Q=k`?vFtFNWtU zv9t?xhF8i=je%9Us~nQp1k%r)|8XZ&g;A#^ZkGm!gEY7cCRPx>wuTwMinLQFM^Ri_ z(!2SUejfpkf4ee{iFJ6>Pt_ivVv_d6vyn>39Bc=Eml#7S0sc#;`Foh`g0R~LQYqY_ zI}Y;=x`XxB-pxhsKIh-NpW%uMcGUiFs;u03_O))^ZwR%5gvLQAu>I^C(byXo;Pch} zE@|^iNnG8|FX-OTThVnkzAb_YGgG6Jruh4PvNay#S4i#4L+`anZ7dZc-$eg!-&E=F zQQ-8sYxv#_u?tV8AzG;bEVS-04{uJV2J{SrdCC;Xq|3yuM!WOC4mY}WqMh=?hwlh!Q+)80uezlRv<3Xkll+roEVg*VXD5^h5{ z&2b!n%_mPw`_;ME3(*gj%yQ6}Rz`&iisBy#m^G+?_TC11vTo7@ zJv+r=B!r%!_VQa_3w_xy$`YQjvl?mbH3I$Thi+XeQ>C`kb}l=SEv6R_Je$RL{gfh@ zcS|Uj7k|3Oz zJ2$);OADdR(%b+(lG;-^d2=y|d#V8B5so3e*CM2gX5(UV0K8|PhlxX1{zDlu>PDZ; zX`-P9$t@0YCZJRn)K=I0w_ohKvJ5kg5tXYf;bXAW0!tMSd4WWSE1=8xqd91bDe?ND4_OO81+MTqOjDSONH^OD zLsu)n+1L$4`W*D}SDM?AAa2S}V@DTJ{g!uzCo4lOqP!_l+6aL5`AU64sOE=Pb^TUNqHv*yP? z7DGg~O1=AhA|E_Z`V~x&X41<>V=e$a5ckh`qLK3H;*hnaZ&hZ0wE*I#qV$~}Qn_Gao|5&O-eqO2$;r1i4WR6{R3IOZuiarf+LWvuj9q>!lm?;Y? zdOsJDNxuyZ+1OuURBVpouRGsk*~o<4G$6$AR_hT$=^j)Xwx@kIK@*jPw$I#)APZjbnI)e!PppHjU zVO6!XK4P$IH=01Uu~y&NMbdun6YNE?mo{Uph|%oF2QIb80|&2i`}Xrzt)Fc~%)MT# zaM?voz{K+;<&A{yB4e>-aqN2$1At}Z9+bi%+-@iR>noeh8lIwZ0JfvY<0J@KI(_H_ z7Q%WrFc0{w1CqgOc-}~V6$c&&%iHNQ%gRttHat8Edv84Na)0_)uf5is^Opee$$j#k87F+W2dX0T6_VcK_SB`mC<|9*q%pk}+ zjh~S}`5mK2QAJ1vNEAVCAIensoY}p|88Cl*>U?Me38Z)XRB0RzEo>G@2F1x9Z0oZY z_9yEe-4fO(%l-CiV2t@rrRUi@G_ib^^seldoeiY=U|M!gCb0aR#y;V4 zuUDYT3!nH0s5pTM-6Sy{T2_NI($IFsA0t)LGyAHIN^Yu)0vLVER=B(yJxXlaV)GzHC3R_8SNML5r&{Sr{+Fi>Rv1lH0)(KUdG zaN>7>2zsccv^N1T7&!qHX>VUc*KJf_WA135(J{{-SAfd8hcX}n)DmgbHk68D$aZCC zu0$65hzgqpKA)L_LFHqU`Z`7?W(+XhMpk_WgGs6I}z!^p%IPHQKYRN$kTaYIopDC-b|S*H-B&5T>Tctm0QKI z#}(2`&&I&2$$5sm)D4K}j|_472Ym9&%TGea`h5(GwX@=)n}H(g$kxwzZH+5#yoyqy zWEsi-wc|1WnUAU=*A#NNNK2b!*`h3u5zW_qx$zzo4>fa6Q%+)9YAmN04@OnzuG0(w zRdVjU2E#4*e8R72^Y*(veNIlbANs~tS@sDOdP4enFi*;(s)HfCo|y5rgST?>(KL`V zj$aY|A2b_Plp8Z)z8khn4*>H`SN&vpIr&a#GaV(poqpBA0=5IixkGo58Z5%p`3hj% zcReR5l)}zgg7mJlS+mGY-dLk|1&~doPyVmkb{f@kH&UMzM}CIoI05=&^gi!JwLhIV z%mnRFEvNYmRK_ka89m_*eEstJR~LUe(9OHlTsPsM#JhDcci}Or2<)ANAO$6ne8kfv zcnuq5Uv&3s>mB5S0@t$l!#`D_963IG^dTrg5XAvD4TovIua|FdJfTUbj$c54dW^)d zfZZ8(=&9C8=)wO3kd|-}aGqcCrWw`V4Os=e5yphydJ-Y1t?ce@ec32iPGMbaDv{|6 z1^&P+m&B<*1=3U&@_O&t(dW^B0U|}VNpTEWrGAkac2WDNYkC^_J-Vmg$uS-DXa7vP zfmx~}PtQo_Sq^1XLJ~|Z>Y%>I`EzH58j61yBxR9SBu`M1{>!iqoKhS1gF>y`xhD4&zUdK%?j1@797o z&1L58fh_F*+NqkM++?7-ZJAHtuxmI9oz`9L!9!u7+|0Z>?_vluW>S_N5S*qhjS1`I zqzh%X^=l@BS@M^5Z8_Y;l`H#Ce(zxvyjBo>hMc;qmC=Cc7s-8?#mtg9^RXR%>$M~x@FeJ`Ph3;~GIFFf2aiw4!zaYJHfzaOB~DFj$G z-RrjCUwDHPg&S$4ZzzEg^ERArh({+CA4EtT(WU8iIy-B|$g>A59i4qT#sedut$a*Z zXaa@YDOue>z}Z%2m|q_?`ls!%JOnW80ldr!vvZ$~0GDM66fxz6Ma{>Io>+p>i@9u6 zJ$0Bw#|@??mEye?fr8(U_)N=%2{x8**N zv1M&;@UmF-B!gWM5GTrZBq&DRZrn#+vn*h2ljB{GedEWriLwblsZ!+EOf!nB);IFV za=j^%<*5MS>5DCUs1JAC^ev-bT7(&KOaKWb?;#R!C4c(RlAuXG2{K89a5*hKhaAqj zIx31vDs1SMD}KkNMgMCQ#UM+pdIZhR(`k<@y+St^KXJFh1S9KR^10H|RnN11N{y=C z=W8%=stF%P<^6x>YoJzoAjK-Sh77NounXW#2e>F>&ymnugIn&w>ZwHIc28Wg)y)Zt5W}S0o$cl(MqLdB*#ka zE~iJ(KfQOuxwR-HxU-=Oqk z&;gs$!$h$3PeOwcOu5O76Dog4teb)u^%REVE z<>iT{^B`Fej6$jY_@+`4b^H1DrAeM}P%sRh)OV*R;Ie~h6v1@$WgT4(i90X}IzYqu zL*orMCVWahQW7l+WV_Po&A%L0^{41|aQNaE6}=P_>x$^S;YjpbX=V928Vz}|hV~;> zB_^JI=eGGU#C((8VEhlcQ+AgdXVG(E@b)TyeRCQhqioC^#rXNq^N)6YfJdnbr0a z6gppNcXs3+xMZ`?x?K>w^Wj8894J$ke(#&GiW&-M-)I=vQ!CBRM&5X6j-HR7arFp3 z2P^@xSP-Djf`V%ttW3h@pv9@T&u_@ zZ8-V$_l6EqU%jDIx&6!p8?!ud*OEgzHia+Y<$jvohy1YX@#~^J?)u6H^L8l-MwiWn zoS%!+rVQLYc%(bZv@Qoh3V`bkgm@KF^fU!$nBT9+6WyBl;7WTiwk_|U16WnZb{`Zf z=RVLK$NvB-lJTjJ%i@wUWd~Hvh72f8d)i_`Db{~P>c+HVuv`z~;?_hRES>?L4>ZPe zcYpzHQW&`b3eKD)71s_b=PjPQyC;G`yOe3h4jdMb*;o5^_Z_r&?6PNr>WrnNujD0S zLsPk^s42`+n8eLSwp;IQQMnGj>AKK!&f0}T~A3#$q%X<(M<7d6n&8Omg^=z2M^KLua-()5(=@QBG4iT!?1&v6Ka#WNwBZd zwhh=@grSp8!`UlMFb~NI)6KeLc?XPmV}Tv61_!~a7ZTH+GRkg*R8WS+?1O^_u%r5C zY4D+j>H{h-JcBV(5qWDe)W|xyI%+aLizYegzUWY+OTKEJdv!ngq)%wCEBHgO?q1Q; zQh#s0SGvm*0(+tQfhXK_ET~Yn^}n7SYBLu(p?&Y&6Z5ebdqzbysPiA5Typ4G8W8q( zn8-MR?{Q4mx0>*NQDz&Fqo991@xt)t_W=-nyqG(hc*_k-KvY;ZFT)02hwl?c+JKy$ zfnijD;l#RZIdm$yJh#9lAl%pNH@N3cfhsm;ZEekW*XTBTr>_nxBpe_x)?hyTlsE}|MN%5+yO*L0;SVd*sd{AJbyYiqY zd}xZp*U6BIaRzK~(pk`a zoHJJ7rSjiY!@H#T(~QtWZ8pO4(( z-3l-u)XqXc*znx5yWQmtE+FZ1(f@s1C7A42)RREbQ@W($4`WlBw+?=O_voN14hVaj z7Uh2YgDBGJ6%c@Q!I6<;k`1||bytndP-rb_7Z@=iStT%!6*|@`_T{N5_?OJ0S=4V; z)6>00v=-e8zXP#nA!z2_k6EwjR39N>YWI<8M{sqpj?NQD1}c`E<(@q#!^bjL3Wav1 z>_6v^z4bVLd43rMz>J7%{0w9j7sZ8+@zdtxtFl2?uXDdyox`A_2&Phs-Xd#?Bg*Tu z1J9sCo8^DtP-YjAZ#c1dx20I-uRv{`iFj!G-i0}v&TwT{YP!zgGZ~r;iK{I8D14_< zT&!5~?~sEL?#!o6$cZ1!QVa6gP_zVc5zcK^JTK$vt1CxyI8NgMY0yw>_T$iN)J2s{ zK_e}RlN55p3b&FQ)MuK?E=F+dZcd2)#3PcnU;6&w3^S;B7L^S)wwbyuX z`)M!a1mNBGGAA-YQKc%5JF4Ds*uK-5y3oY?WG$L>J<#E|&CoFs_U)*HAMa~+otGY=}qP+Z&!JymBD@d0Oti6Gbd%}V>|B~J71Ta%0et2Xfcp)U1;S&sR$ zU+2Dw0*R>GEQ3bL$HaVU2ZORNJ4u1(O}ck6*|XM3KKuF4Ib##hS6m^8(}10h1&f>? z%{eMUvkwYqS>=5ACfyu~FeQ;xVR$ZEFhWi4oe;6HCidmGEZGF1qpV+OKEXAjaCtCt z&{Z6Kv&%^s*LC@|x81oD4XYTwtIkHhKw-qzZlY!VbRB)X(+JXR{U4!-OABkQ>Tw$Fu{5NB5&B zqx4B5;8$YBj1?OuF)wLm_+y_@x0YW;AFk$ezau8Tcp6W&A|BLf-Y~Y%W^I#TGP5z~ z7?<|3HKO#p?2$l0@N`stks=17FXo};d+uWzoWNvO^SU7~h34zr2sKhg351JMI+DeVU2cg}rg9OdA>hjBXEk)w zy?8$~TZDPNew(0RE-BdpYF~ zz%XL3*_H;H)`*MAN7U!KDQd2INq^M*;+wN9bAUCf^8*8@82BGl%F+|+>J`K|InaFP zSJ3!xnhcWXvKSl5i1G5CEha)Eu0FZVA+1(&p$}_d0vOk&o*E%S9HU(aF{K#PC6u;J zJCM|+^D-|bg?-8))PRohb8`>0eu9T?5jVvf_O#Zu;e6Rz|2unX?7uGC(f?+ty&))< zNB8<%p4}BTKt?~|pAKu|2qRz6J%zwzws5?dg*qSG(ocRM`Esb^Yl|TXEJDy3eVEmb zp=kL9NV(2VJBO@y&V^amHYL~X$EO^1_`MCJmu0g^$>JMRzr!UlS2st_{z`HCF?FL~!QGBXT3)L1!H5mLl!u|qA z^`g7q3y)YboUtTuwId=!FTqsuFWxmEbXPCDmw5)%((Mn!A0XytvwgH|eANcW)e4RE zdqTVmpi5I%Tlk41!hx(4BA zm)`C>0-Kq3J2Iu5?>qik1YE&X%N=hwD7-+K7O$Dm{u^5F#aOO8{J;J1bVwIH1y>_- zIw=#|GJC3c>e2DlU0Qv^)bqnz5Mb4gaG4=Q?eoX-nqH}&&pV46I3Ik!IVY^EAwN9p zY4nB**yi9S#RnwFfzmXNh`r^7+R~Zn>i+aAXJ3r&xywHPAkhXGSQga&aq;n4Hu8B9 zS@WOxPX%qC6{@WLIIDB_1ZP5W<@L>X+v!IaK&5|UeS716l?C~|9;r0_j*gBXd8|1* z{83O)5E)LJvtM7v_s9>Lw{>OG3K6I&#L0vR*c=p7I!1>`rHO|BDHnu0I&zBT>3_cR zufIk$JO1li{`r1qm}-=(Ei5V_Z8kCxf@ASd^utXsS3+>Z+5k<;S35|Thu|iVfqfRV z9VugWbKNuV(&UX{5FxLKvH?{ZGKg`VCR91ZYNA#=it0BWgVg{zAkoJGs!D=8Qy<9H zjcD1fb&LC>qn#hp28c-jD!UT4u$X1XLKudDcP~Fufg*VkAiqjjo_>4K(;Ox>y8-D_ z6dnG5Wy(bPJ9FoR)bZ@R-NR(M(!%;B>JEPz6E((IEV3NJ0SEF}JSs z3L3vFFbT;K2diqD3UDs0h~{=b!tK0}CJ}@1-BC(p2iR5bJL#bo2>{7zU!O)82kS!s zZ@%M+P|emz%>qxZ&H|kMj;!a8^q@~U#P_g9QuIFE`Z-~HfCBP!lE|aGzlM-T`)4;DtZ4bV7n^!rd^-P0@#sHJ`_(=v@UanmgDHQiVhK_)lzt;+GCpPOD|+` z8G!~uuciCT_WM@jZBTo(L+78v4ASOI>5wDezL0IQWPZ!=L*OrcT1la?EKI=WqVBRA z&>mihw>xbJ5g)cf@`fVB&*vS1@p@j-aW*q$p2P1Dj6BqYe(-k4Z6d>;e@KcG7+C)_ za;&5|+Z&7+v`VejqB%@0*}D_;%^qdPiG&DTX|0614J6V@d~ekJ$3&1e89|?!=`v{# z9V6VZKmq{Cqhi8ha;Olt6~g1Mo_U@;3ClI$Y1;F=X>8Yb=-ooh??L2AzS%==mlaqM z-s_(joZU>?K)+4(MsPgsUX_f&6L=U8kcXi&c-BK4#DL#>o?PDQtrI9Go)$R0w+N5G zorzElv1&~7(P4HVdr38pKfz*;T~&rbMkL zn(7k{OQgO}IYG{dCo;wgXLw9^BV1h4uSdU?gMo+;0>;x{X-s_&_)4~HKHk;u^^@!r z_j~>)E;QIouYG^})I|4)MoNx}juPAKk>$@Gi&Wh3ouc{bs;VTFdM!O(3!iljAOB}L zJ^ZPSY*zp5L_#=t%FPkMe>bszzW#TIdKdc7SN{GpJaL)zpH1)Y-x87m3UJo);Qn8K zG64p>b!7kZ2lPHiq5HGHIQ*Lnpq%`{B>aE=b__+)|G3QmUmNWIrpy07m;A34@V|AD z{GU(x|9r~-kGseJ$AwWL#k>Qvk0~$~0{M{Pb#~1V&Q=K3odjDLtqi45Qu(t>DIY;h zgrrMAwK$o2Ydn^(9D^9gB56zx4h~9BvRO11VR)k1lLz1A_sx}InSXhCqWN6ykxj#O#srDu9I9~C=lnyNgbGm&(oe1bHOcq7EDEViylvx?S;&d~ zPF4zT=Hs6}0FaKigN+FJ5Kvq9H;3)op;LVZMPOW78s|?r7r@qk3_*#>nQD*j%PxDA zfIy;f;%VI#1AZz8DK5|gLDH;YV5T^B2(pdJ9S1dxAVAF4;qp45F~bMo-vUJ+p~VBa zrzjXolXh_35k$a2Igq_cIDI;1{;C?dGsw*?3lptv?^#>7cy$)iKE<}2nxQuFh00h0 zTq*IyMph(w5-h=OU1`i_@#-VAQX^ya2g4Ds;Ty&Phy3fgg`yaKo+3&G(4E;zzfk`v z<1G0M6ts^?%unurShigS&L5IuufXwgDQbOdWddXFtME+L?4^jBjMs%kum=@`5lOSu z<0a4;R-fMyrM=FR%|uK7XS`i)+cfppVsy*{lO)nGs)9xsT}i7`UAx~s#s^7SS*+xW z#&+I*Pr>+_J8-}=Gs<+w8z7s(TH7}?++hhyCN^}Ag;RA zFjao$z3>?!;|lxaM@G^#4IfrGC3kw|b#irCE!q8*sm{yh5=C{Tks{`4JWRrAG1nVL zi+-)0eVwGQFynOXar-IDW;EiR+z-Akh=cpBqz~X~kN7V4L$ue|QI-2imxJmS_m&?W zkUt;zYNc*{M z6=o3y+w0JkkGMvR?vde_kEY1#ldd%S5+)}}Efx0=GI9h<9?9$1Xi{~Av)nn}2Wf8! zSfHK1&%T@l@q(vaNxL_*K^Py#)jejH_! z05ZXclpoLtC!jQB1T<^?z-%#izJAdh6aK0I!Jb)BtNWY$lVeTe^rB1|AE{5MFuJ^G zY~bC0@~E0>4(Rr|=>Zdz_(l7r&Q5rRO9AAm@nP}Xo+7qR6pc{DB@0Vfgybl!+$^)3 z>k~}_{r5`Fo8x*=xEfp$e_4V+%l9gzM85idJ82iS9UE#Wq*TE2-7d0001b5Y5l*=K z0P>SX;D^RrWsYho4k9oaC@5K-8M_loeh^O@v)ZrjUmoEF8%O@Vk_KJ4cRi-aGn_7G zTo(+hSBpX{VQ1M~E0o^2s{I!R+N*EOf|*@4TdGyQ6CM>S2&BaaZwS7@pp^feCx zRzWwE)A{P!aOHJ zQDx6n0A5pn_GK=$^|SZVi@^%CrR19%%?b%|EI9fT-QHoB{pEu|iW;vXNCQU{c=oGJ zoi%Zdpb?34gD zeq^F>KvsO#cX}aVb=XoHZ{Fv+DPdq5{W!Ep3ANHJ##jJ)z{%0;yi>Vo<_zZh&4o0t z3&=O|yaefyfoV_!3oYz(-Q=TQJZnI5^NwU)6M2m19J6n-c|4nlDw*dY!Rs01p63!@ zYyO}Z=!izeiFQpsqc4b9_1@hX0n(bwS6GZ$K(*_yaXTO=Wp!9 zC(h4X`;7&^?#~^#BCKuCL0wRvdxA>tl)aW2lYh<3bA@Mm1rw$G+g6YC#}5d4@#wn9 z?J1t2P*lwE`-#zY7r1;T>y2NApW$@#8ZvQUnVdM@l0mqF#qo-fn7h;Jzqq!}PE&kL zgf*ks;=DfzK`COIN9-MnzLDaW^U1ed4jjkJ?tI;4B;!CGAUwJvo0;yh&PtqAeLmS~ zHpDyR7qlEg({SSRUHW|GAA@ticYEE<0p`m{N2$v+dM$@@Hv5i8W3;*Z(ge45kr{pq zC)HQfuo3p9n8*%u@PYd)mdU4&tC7)Oi2Gb&u}?A5nDo~RXJ1~o|Jl#GK75x}Uum@5 za##UAXy!MM&I?SMGTTld3hU$!^5;k%S0qpM&ge zV{s*m*Rx)Xl!WGKn$XzZbceOGZ&i8T-2a5;$dH*OjX~)+F_Roo%HT16tAF%j(L=Fh zGN)4iyKZ&rP-|G?g22^dR(I)zFJP!mQ-FWtFw~6qgd(^F5hcD zGYrQ%$Whi=A-K#Y+PqqkyA<5#JI{;HlbaUT?Fg!lOsvWh54j!ADAckYm*A@gG|O*IuiO$SEvSY+8*_ba$yHNBlg&I+FL+NQUaO09e_f4(8o* z4PK|op)fe5)bGON-j|hd>4BEuGrkJX+^ob4x;HNivm6ahOMA@8F8%bBFulzBkcYn+ zaJ{IIP*Mq)-3S6^Lz7uIFmN5^{>3ktoYJN6Sj9v}Ne8*OTpbNwwO}|?rBUG1QMp4@ zcqE*oTE&C^guwFcxufE0cW#s34Q~&@@_>M*F@nO}a%8O*1WL%+u)IHw`iTRIZ#oPHn;iwC3y-$eN)E7;iX0aDF?WM1ge8n~|vXROz`0{eA zL8F!h;hgWtIg6cmA!f@LIgG_RhcxMhO&$)BBM?d55F9=4Zn(|o?2+Q{>?T~vU^Dk# zc{WI=hbzKRtkrIO-up;r;`$90^7|H(wT520vKWxh@7$IoQCdcsm$q=I0}-%f7%Lz~ zKsTT$79SORv+6~AFJK!Vv6&_yH%?RH2HkMhP!K?FYnij*$qbqdv-LW7~b7NB6=)K`ePISu|(HqAfJVCX%Hc;KyUXEaD$wNWr5<2OH z>zs-rTul%79eaFy7Yk7$LY$;-+!^-%qljup+(n+!D<%kqt1@bCWw^__5`x<7yY?ui zu1ZYu0|`Bc^e;kxdF?c|d{z?hL~75KDh((u;59}q_|EC$&e{lOv}&VnW#L!+8r)0kgu z=5mM?!QWYw-u1BFk$Qg%*MH77@1o)PWC?!UGNmJv2)B%*Cq#~T+!UNw4f?fhcUU2) zZvJzHI+N@iq>6*c?jsjDmv_7w87}ZeXcrTTl=g|5!I}AA40(t3&Kp%m{pxRZEs~I+V4XW{Khwxs?3y2Qmr6#dfP+@UKD{whF@eCUT&DQL zd;UeL2LKJ(kNu~4hz~ymK&VhZjF1ttnTt`&wo(l!RlZH(vsdIyR%}?V55>}}PY-*S z)y{&mV8zjMr9oqLPtoCMZr8TX&#BMwS*ek9w(ahSy!mz$!6pYvN4j?ia zgx7+27>>#ppVr&tAzn=JmB`~TDHyYzQAx^MUT{4~XpY8;8=(B!+YL19=^Mji$60zU zs`NuQ+Fqe(Rwi!SP$^E_so*UyB+KUzb$A&QSsoeq=s9rMM<@`*2-GX9v>Y-zk0qUR zzc7qtBN-Yxerq{5g*+y7uH448nLuChz^<@??Ul$AxAXVnMFe588%s_1YR|n?C~k^ZIa&RY1LH&-{{9LGHd2skd+++x~M!Ui<`f6YNJ)D?2t7w5^rJh1)MfKct z=j=kBZqm(^L*gtcRmS@qxRCmxSEiFA9+%to%{e^wFu>V(0-{uCd3s0WQw7rNtV`lL zJA>C|&vV>Y4Y;*L)_drQxTAD);w^d2(Lt#dsQrZ=5(Fvs+LcFz;6!@63@am3lbT&6z3#NcOh zj(gDdTvF-LfY{l=$t_X$saTc|Un{R)j?*_6o#czCE*O0B-QdbN|+ z{rjWtvkl$#&Gjb*1yTBD&b}+97H5xde+#pO|GF<9%hQ$3NVEEMFgxu^v3FpSg!U`Z zjeAa)jXc~JBnGk!@7ubce|F;Hz`*jY?%0jreK+N12f9Mqn9f1f+o3)Q9P$`QFH!|u z!lo$%JA41FO_Hgtd$~`|b`w_k!~O-~o){J6NI9^}(Jx_Ws`GpXaoRQA#A`rThzuDgtO9c{?+M_zpKD|84AqT=ggy;39Mz8?mqa|}$a6t<*rADfji6yN1ZAG6s7C=cuK z%qZXQAG0RKHI%F1q`!m_qYThf8nXaiU%Br$a+H8_%QR#7PAfxv=+n^ICH`QgKX=?U z%axj9k}j8t?I_^(Vr09324RF*{Z)Qf%H+s|= zpF6gSIh-MOD}ljo2X7(kY^A<%ai+NEu)<2`hZX2dbl4dW+3%W=#t&C`E6)O}KC17n z%v*S!bBBB>;F?E^I?L3pqiFJfWT>Jn4HWy|pItNv!fp<698pB!%GOC-G*`~(jG!pi znk4IqF$2bWdC`ZeteQl-PS;`w8=0t`S0sSZp!2?=6v=5vn1_vzBjb~j1XxTxV{bC; z7?ir8n#v+WNkw|`7K-S_cs_jy;7RSWcPT+Js2sg9tKXmj*FusP_RT%COy1q2!10Ve zS>C~-SR5OXBevK8HK@jCAl~&d^o;9@Y>UUxrJ&{uUKpI!uE`n;szvn?xpnS>N1xB> zgpp`v)XG`i#KY=njOr;iE=4k2*{*Ko-azL*)l80P#njwdLoR6sn`zj9qLmG9I;6#T zX0UGxKGBvS)NHi+MQ#p~-o>}3 zUgvf(jb$p=d#E=xmb^JjB0N_ z{w^8r^$uFWEwIi&&5VR%HnRNe#}Vnnova~MsaWd#O7YL~!24JeD_YS)E1*ex$h@nY zQz*tzz6Lk$44e>9ANV-6l@mIr@$1UAkzQ}X>>NuzK8MpagmH*p~OlKV|({bp;=TDg_^}3aP*t4Jt8F(FB+!YOsRY0FdV%zyVj)CvV|*iwYk*QdI1& zKT=`vCGFG^F(RQCZ>Y#XiPy;I>g}OJ9miXD4|;q!VED;7n_#OxlfsVWF7AE%7;{J@fwGfBOfH?>jblsAlZVJxL!N8C58meNdh0C*FRKDlk9p4v z(ZmN+Oi~;LcEpbr6gjDCBFmyerdIXR$771GuMY_kNjs?GR8ccuhtzc|I(3IS3 zS3e{E;?r{$T&bsq6ykux(0JEY;dZp>zp1RNV7&8n-nqeb3p0r2wyO>j%qd?QF z1!=NR*X)t4A@exkC3-Z-T*Vf;-l-t@xHtc1$bm(I13l$keyouHKRbI#&KJj``XfMx zepa&s2WHZ%8@su`-vk?V#4lS!roRFT0QULNL4oH`o(;xrEcmGJdML!$zsOeiPxY+M zcu$*qf9c&}fe5ziNnJsYkBB~QIU|)`XJS3xVpMuV_NsMlihJkc?Gb@9n#VE_=B(qs zpP$#{YdS~O!NS_9cx~^Y+}+o#yi>mi*ac1L=7h4#Pq*rs$+Gn9TBM0=e`QFR%2HT* zu$29UyJ0Wx>CW#|pI>onYx3Ur9;~jqLk?1^W1jVr_^as`J(CI2wNsCS?cIlM+5*hc z>K~pG^-&>Z^2Mf-4Bkt(x)M?|BI!(Euep5HCtFz5vO2$o4ps7=uj157ckjoRU1HbL zbLYrP{j~QMV#5?iH$8SuWH%Y+j4c@KSOD&eKb7y+yxfOx&BUccHVs>XdNqllW zp(wA=zOq15GXCNha;13#rDYnW>G=3~WlygWnWdmrZ7hdE;E35qe0JVk+3=-=qNL5} zPa7*$cJ?O*4~b zDVi?XK~jSZgpr)KIt@k&Uzr}}|R-q0T0FxUg;OJwravkKFzuZGr|-;ceOFjRB2 zGRJcD&sosO{E{oRad{&MZeHKyE!+Rw(s3UHOQ2A_p~$z`IA$E zOF~)_=0T?B+6!B^g37446+N3+6|7!d^moV${JnC#)XtbfCPpjy2LD2IfIjEw%Bz&M z4K_2HQ;D%CES%SpU5(7OuGP(l!nzVh%OX%5pKJ#yB-}6KSSxYN?uw%% z%#Y~z!onvlP}%ss0e-6+E8rn)4e692ESI59o#OhvrE*o@#A;Nl7u8a?tE(4u*Il4- zQ8cuTMQ`MeDN6DDmhJ>O*Z9`MfmBbDaI|~X<&<5E^@-8^2p5#%sKIg4+wsog+BhxA zpjUgkX7BYHuvmiatKat{Q_IZ~#pO)AT^wG4D0HSoRYPW9-@ebi(puD1RQ{`}=>4x3 z8yi3Dt-WkHS^?MwR;y;weyyvhQTA z2h6xiZ=;l4FKa(j2L6yhlLD6OP@?)6T^uzOeVvYDCY*hT5 z)p1YR2+X3!0zUG4sUrRb@6IGf8T4ADxl-Ue6!t%ZZP0>Sk35g@%kVKLIuYEMd2L7C zd)+Ob`=h0CGk|NRefeW2R6&X(AU=jns-LqjKe@3pjbtIzQkweDJe!xIW29g}N<)dC zZNily^LK_ipEahWU{wEJY3+~3ir4qodEuQ{+e~5dP#Rtnq7Y2rnDQD|3O|5Cd&=po zg1=~j;Be5M@znCgVIEqUpri6)W_qpt^b2nMMBihv{8bbnvZ$EZrT~=w0ZiGATHx;-v<-i2R>e0Y?Zh7y&B{Dgumwf5GJfr#>D;mz})Pa?L?M z3Bh=D_|U$CqPI##vU-*?Un+)TGNg;-3<@`S*W-vMzbPstIz_KQ30>f7SjzU+;UjM> zGtNU6g-6jFj$W#^;+EfYoucgfcH;*NvE^1&W^Iu0&86yrjTjg>C5pHn9!FDr=a_fL z3KzXElXrdp@Sw%^r>{OW_Xe8a5???0v)UL4D2wbLSMWzcQ~za9F3AdYJZ)W6{!3!wd9&m9a#JZ#&Ud8GUo26G&FNz2q6{?7caC z_2)JD^QaXc5w>T4{I85C@B`j7q*%h+MSc72b0K4$*Ax?6(0ufIIQUFH(TV4C`Qk%J z@eb=gbN+(cb$nvCtFSRSz1%$HFK?Ph$!#~dyL`Qr_U`b&VFD6;`UuoAP9s%UBu<=| z0zuU3Mg3IlISfuNtk@sFK|`td-L=|1uJ}EZ2$!m>`a1=o2BT*3#V4q7YtkWbvMVV% z>`|qSKURCS0Q_vzpzlIxfjntqzreV>s#g2E9@XDV^(Zr@JTSl-bAnJRQJT9JZ;Vn5 zu7URim6gReX%(gWvANSUf+Kn@9Zlhqm0x$!`F-uL%(|RJTsF#mJ?EURD94c>r>EXt ziqb2b@FI9&V-UC+u@`pDbH+9_@o9WRVSbAUrL2-GLyt~gPvE<1l z$SL+sDvd}6*BY+zXODq51d;tdzx<^8)rw&-9tAJNg;nx)tw*`t`;8ytg3uJ51NPVz zHUiBYd0>~@aypA(4oYjq?G8sNr#OS*XY*N(wWPo`3umm^3W|@_b4RK|+0Q@|gX(L%TfhUzFZqLf=j9DNr)SCEVNa z*Kx)m^@nl1G2dbP!>=&m8p7dUp{@IouujrU&OzvX)9>|6!p9^yB<3^uo?ryaz=QmJ z350?RC;q*aTO^pU`(HF$`(uy(I7T-=OM!prgJQ#Cu_4vJHox9vF{r;@yC4b4NqU61 zi!%fI+LO6?4v@zz7?&pI-gmB+|Aa?$rm=yzdAs^4aZQ(;8L$4Sr;Y1dS? z)pvX_c{z|pxN1_2I3yd^c)nPJxhJcXi^&vs;}S#aF?x;1C)L2FhG%ok`UT%b=y{;4 z3|e8YXt?nm{Yc9vkPwl9U+`8DOzGf>j)2tpy_O z8GD>SBe-|9>Al9VplR)M8J8NrY+=%5E6z2mOkV?MknQz@+XuH6~TTkGSh z?0S0s;4^&(S^I#IAv2~qW9d0br-Vmm3lma*JLb)zJWrn4;O$tbRw^CV3o_aMhzi42 zn!VKXuW!(MTwm61LD})BAS+8bXn$QF8NBI^bdNRNvS|sYkDKzWJ$hfF@y0>f?r-L# z4>uQTRSrm7*JepaN%HqyWWL9E9Jlc+ZqhvW%vCurQiw}}}ed#gb5lxP~!swPe26Z0}B6oG}+&On(YpX$pEnj_HoLW#^ zTp#`5JbNby5eoJmSyZUKj8{c=!-Afr9PhxARm=t}q1P^`Eo2LgCu_{uZ*A?a+=-O5 zeLzoe756bccXH zGQAO}3Z(D@OEWWJ)@nKAI2ip9a{YSBQgA3$*0Qf~Eh?my*{O`0qUkvsG%L}mh21Hq z_1*0f?yxR+KW*f*ud?SqW(GbmwtU7=A(a#|6|J2QZbY?v4Vtq2j5=~TZT=mH{!c9i z8#H`mQ_OTMDI1RK@#YFB($|fbg&|hb@@3G~X<>zsX`loh0l<|rHT7eN9c}hwHgI;l zVW9A~;{Y)~M!IwK12G!SLEd8OSu*ThWwg#AdG^>#omKanF7Zi?$b%g18=Hq(`o!qN zu4+s$8aG|pnBvW-%7_%rdefC!0bf|kg^N8uC7Po`bT!JUDP=AF4pYyaB3|tpqvstF zcX-1pOp24e9QP9n+wO{=vI5>oB!P!kIJcsr8D%V(Kp|KY()D7H60R#ca@~ge_pyf; zGFt8`x{tIo83xPgCK*v~yHQWNm2}+L|K$`fXWs z3mZqh7?$}8X)^Dl33;9YD=gva`mvCAwKiS{_k2@vOXx~rCZ_{XL7g6X)a5;VvNZyv zU7L}aG~g&ydi()3a#0{&O_SUCkqJBcl-Vz_#R$X9qcIf7a-L#jQG0Q*xMDpED#IkE z7Esyca~1cF?KT&|TvdJOMi)O2sD?B|QFOdtc%`Jut(@~2sR?5a*e&85Q(VG*$@%hu zs*mq|=>%wxO|KkB7R5`C{3!tlr@O1~mks+Z;;vB&5`k(kY0d(dfiI)n>Yr7Dm658* z;oPsLPL`Tt?Tjh>MHm*2Z^2GMMR@y>t}!gh#qwJ;8FX&e;53j~mSD6TXmRr(T*Y2a z*5?obccg)WZ2X20{CRyP$BTs()IoPzYlx0D_;q{y^op5t&&6^2ii3}eoNd$9{ zO9Ez7sjx(1K+4<&=JC&7egHGEf)548K2K`dAzj4B$MnAX1ybUnMSW8$=B}snCKc2d zzpaEO1~gqqt-Pih2R*I}caX6{?_p4eo$Vh8CB^Bl`XwIz+Cij~`@Is?Nl|o?f%v!n zKhZBC=O|94R7XCRIqs^Mvh-~__jdBf07h}p(Y>eq_>+N<@7O9_e+7A+VM5qam+4qo z{U%wq@cXkLf2s}d6_lZnHh~=I1 z#NCr8TG{+ftal|$V^>%tch1rww1`NC()HT-SJ`C-DGX$!29 ze2V#BteEfsTEh@|WR+|@ewUXjlnzztW}cP%uehmgFP*Xo_Xwu~npqUCr~q$<3SWu6 zeVxXseh$JLw+dWy0+Ba2bHGyS3$K>6ElTm?unDDnx?Ux7WnSY8e(Egaju1`BlqIzJ zanq*n-fV13{>kvt#Q28z{{%!tN~V-?j*1lQGa)<^u_H6GZ~#wMU`)N)8C~wIqJj_N z^?t5L6M56Vhl^Xq(%kr@^v;nGzCSlLE_t6|+EvIjn%5G5lEd*g zH1JU)Z?k;r-yZjc4)R#Q#I57uaVx}6GX5-`yiNs@w-Gl#?{pZF2(q%X%f8BK5(NIV z=MlAC4u)gbR1TSLPq!VGL^*yRN#Q=Xu}0-}f*0zRxeu=kD&_``YJqp6gueSjRdJGUv;ecJ@;7a}Y;1ko1dg z6IS!R{QB^)XrmsKHW^7D_U0O%X$AMkfHolFCdiO7G>n^LQV`4Xi(Dzs^>-cyL_7Mr zCRq-=dRK|4`rY!e#<@~Ms#dBt6(lHzUr3V>5rDn%bbLt0#pV|E*F>>l&V<0DQA{%n zb2^55`OuvdWiQBkL-4$dRv426dQH7*X^;6RXI$?v=id{HC!t8a`Q%GsQeL;A2>wl! zyce@Wck1?2ww&I4QZfQ6tAlD$9d_z-N#jN*)J$Dpv!I=IgTmD18E1EF=&1k4;t}@^ z#Vyk}JMZK%O(G(p9B5oJdiFXbPTcS+HuMa=nGqOwD9L9e*55o~aGL*?&WOVBY3W9d zxErU(!>kI6YSNhscekObxDb25wq!@pMG z&{N`%$jf}nszmG01cO1XqGSFlRoGVN_$ymF*Rd4)rh-|TXo(|yl-0CslCsVg9>FmC zrQh-SCs^E6er}zxsSY_;$gcc=`>me1@~ma+(YIAsJc`@G8*#3c6ohywO??b70xQl{aH?zd70>}i z^w-Pfe6Mb$ExQoCn^jaaM3mBA{{}8-K~#9}z13L#%=EhKJ8>frV19uby>Z1-h;)|q znm>$hJi&$r!GQM9{9ndp_59zzh6>-|2?wFNDCj7T;ZXTZssF(xONPpfWd~VsbuO@6 zEzqbY_o$SnV{5{suG_lCbu7g|)1hGIdSvFjR?Ok3jyU}>r6MZK9C_T0-QFC1ZO5Lc zjJhOT;rhI1pM(a{8>zCcwd$X37(a#KLV{fB426wkCF#cmEu{&K#7HB0NlcS*2sz#m zt`kVnq+xJ!1Gf0b1;fy-y4Go!Tug$I00Bh`E|u>;=XwpzZm*7*#x_TCkf&3BlTrEo zb2M0gX}{`xrIoT3Xl9wrKZHD1ZZ>O1e~_=}>6F>Xs!%gv)qAkGc_?9;?mHV?8&%{{ zJfU74!lq%P8n!`%WVG2Fp)l~>VoT8L_M)dw+2_tCn)k`#adWK?^H)_-ihUDIg&2NC zXOflFFbAqLMb`JkI6UY-0W7`vgLI09hDabMkbBf)z2*li&ZEv#Pg{*Yz!uPtJwA(VBbOiCvlz!HTqejS6A?Y}@@}QDK3UKr{3< zpvZq(*$Nz>rYH{(*E3c^8F?E+LfTem;f};i#poROyk_X~vSBnxSWb@d-N~$ziGmA9 zs_$iDc#9(DPe(8pe`$5bG=&aG4nDPPzG9KbA+GP750Xb)DO}N07PY-U5kUkLwF1FGeDlOUjo$ zD#qW~WqD^P_b=FOe1Gu$(}l7uweX>m>ocrh=4w{DZh$(4d!|{H*|pWr0UPEQy>L9c zi~BZ;e!5-z+}xOH-0j~#S18W%;y<;|)5^h;!nHe#XUa|MHv`8%cDWXNRDH)15N?)b z?xO=Fw01d<38skDHH(iFQoIq&u7|_s!Rz|vr8@P&a$1rjzl`)@XmfTEZw)8HA{JGR zLwReCTSH6NcemHbRU|&%rer>VY6PJZ8-WgSA8$_=p@$)#iaSRC^Ue4<7Sp2SC#pt- zh!?zxIG&^DpWHH4$U9KQ%Fq*dlYIFqZyry%gb5*UwV-Ma1l65oN@WCE4uSPY887e&?*mpTM>A`= z>(?V4^~aq9z>pU3x$IX_@*uo< zhYyXt17ctg-nE0?PsX8F60YU=bT096^Cq9YV&OQR@@668Jo94UM~lP#S8i3yUL$+4 zM+31Oq=l`&Ci04wuJ6T(2l>P4T?3MN98zD8(DW^ZZHm48bbUXj>5gMy3-exN2Hc!r zFkKC>1ZIj$4IInh3q^r_SIqndCZa`ygM$OZP8SP50C;KM|0C~|g7L$ETh>{2&pw`z z6^cQEJQRw9`YuKlDpQ1W!>IQ^iy(3-fXN!jUe&aOvStSR-z^ zsOo2cr-aRjwhIp5Jd}Tt=US&_a*Oiz6^|^(jSXSB^(2ad=DiuVZxKmyhe0L+c9%xu zvIPJkFo$t|iYU2}ON7UPyVJy__E)@L_PE_tE(yg@rYcD&vq&fx7%_^)e4_sWn*N;! z%TkjNOS9Z15zO3CQ-ik;@oYg@HyJX913w)1 z30l(aiK-MykRxywjcN?uPRfWz--1ay>`*B2)KL|@3W{c{@28=gp80;;@uibQ!Lx-& z<=Vw_aY4+q_;UIx0|tfPX(9R52vz6pGsyC{;(=@nsESgSBkCsFj(%yJ%aG1%2;o8k z%Q6;=*b}C>(%(g_70DoqIED;c(!4^W;)`j5mcwMSv-isY+4KEhiR%D>^wyVp)^ zEtQ}9r>g5pz5nEgCbgz6aihR}dZf_=_mGrkxVcf4^LyW#>jO?Lus}l{lG})&hgqUq zmxSyM@t-3H(F=Z?p?g;vz&D^pixMnV`sC;7SdQ zn}nxhSR?XCFZyG5+gz|b%gA_7Ebe{2waPU2-o;Bb&ofM)(GnsyN%jc_t<$a;l*qekBoa7 z1Wr*9)_9>2=ptc|k2gR_#RdAb4pV%h$A+@;eKcVQX-4@`4uLS$=h$^d`SuY< zZZd>W+e(-)R;m<2dL_~8?-%TWNcEhuNTz7k^{Vqq&}nYdUtiD@SI1(Sg1tIsH31@^ zsQU`Kn2E2$*-*7b8yM7|B{an8$e%=g5N2j(?m9=`U)8UZK%@o>=?<2w@3i>qQYo-3 zxVa=f^oL%UQCUzE2?LQ_xv0oKxGxGn@2E)~`tY2i(p7hIhU7=CAhC!#E2xHjJM_k9 z-CgfC$9gE3V25CQ^*F_+C+>uP3i;&kZPS1>j z6i#P5Gh;q|?)GXM0SSFnpyA4E{^qLJyA4tX2|a6ek3AGL#2-L4H3!`U_qS#;A}k96J;o5kAUVD6E%Uxf;#pmiJuy>?AX*So-I$( z0`Ua(G7Q@ApLw6Pg-~>@)tLs38&2QC@H}noWLIlGIc?W6+u@R*-^d=m_y!J@YkoqxO7OB7ei9{U9b?kgajF7^1Dom{QuK`oy)hjm(pgLE$Jc0O z5*SpGdh9(6_fa-}-^LhN?CIcv6Z0C?E2@et(mI!*GI2CCMCy6pgE+%Ds4b)Z(Jnm5 z%$Iw{lDMoF{*l@bz$wW18>!Z7x60k12+m^I~#zwrHx+r%e^ZyrGuczcl-@6_s?c6Smk z1n*m8poL~u$VKr3bhlO2Sh1lTKl7&Y?;_tp$+!)Ym~pt^^#DylAPKCp89g3Qo%Blc zzHs3a(?{}8*J5h2PS}#qrLc^)F<&$n^^O}pw^YnQAAlGXnhl+;JM=XL)JF5iHzdt# z&2?EN405%7OkU7LM)A9}H#Q%038eSDNx!}ny-zYtS|AIBcyyCh9r-320)ks#V9iOO zpcKGO-LdYD854gUoA|)C%B)zLl!ahvtO7m=1#jwauFKkgqMwF~^Ln4USe`t#14vd>b;> zt$y`oySSQAW${fT=mYNZvDps(iiA2uGj=-RN9PYF0*&Y6p3-k6&ySui;jq;Pj6C)7 z9zCQ!QvG=l2nQyo-hKUG-igsEp1D*NdG~?uBT%vuXkQWmW;SmmUl@Im%T0f!Y~az& z_%!##{zoyb7lFvNGkZDyPwVjyZ~^e}oB5>YUGm}ElYzj$f(6i*opS%27*HT65)tDp z)q*f}Qo#VJ?Hu`FkrTJ>oJ#i_3BVjL@<|lniJB~IqJ@|y`t_EFM-An>h4sZ{d^XpT zz6l9IMB)xTY6DVAp`womhr!3~nSZSCklPtunWRXVqqgwe(LDN_CrXa+hu%RRXB$%B_1#yQ2)~H*$v@wD z_C=g+q^8!#ODRV@F}2dP7Ogr*VfT=Unca0`v*?ql>Rml){qq1!}Tl`{YIFBEwHh~XR?_(~Fn zV{q1!iDHB{hA2je@tb}-Ri+YG09-}6L27K#XJgS@--FCxJMLUgN(1Xum% zO7Cj_Zs^a${-;B(Xn*M=Zx9`R_N$-DG`Zlz?zCD7;@)fpt9CQeG;$eG8~;IrY2rba zNtEB}lBVQ7=R7s34O|dATp2Ww?N6hgyvEwFiOCt98hvK6lBhh+UAk5X95GnIw&@~5 zn9h&Ic6oM$^bP!Cy)hGH|IwQAZ!p8x`sn(VDkb_JF(0J z)B--nRrH(doDKVaYGp}&ISKQ)Q^BnNn(;RgW`T>Xu8lEu7M(WPUp*Ek(ldGseUaGT zFH%mTrQnyp?w`i<0tZ{xEo(^rS)fJfshzEJABE^ERHie#Dm&&zkAJ@74mF zFMb%xgW^}GNbPj?uQtX5%~Aei1{lwBQ?h68Me$0s_02z>@*NBqTA{_+!|E<(QX0K; z6eCL+$M$=f6$|vJq9lIk-+?du$ynP~ISa$jH z)4J=wNR`lC#DHm1BHkNqyv%l%NRFuHb0W$k$Ji5pf9rpHuU~_LDYt=B6c5_0EvO9c zSGuDkNClYDPmG02Bm$9^^hvkNfmWDxjk`wg^%9NsC%g1weqnS6vy9&BZY$9qy^oOI zEG^ZuUKo7qLK|*I+p+g<59$Q90KF*^hC{wyHQTbL1tT}IUJOQ#%7T}|N*?Uy8E_}e zmbpx|mk3mV77+IlMI{Qtwg{ULpe8`cArAD^bB{*jGf`F5ptOb>+l@xIFELfOWfG`$ zloTmC!w1N!j}||__u+$1)pa=-9M9da>ypapI%fD@uE&yO_NZmf zOk9|k?C_1xCURRfGS^xLci9%-JFa-@CD7c+8&-8JCkIP%jv2aK;D=Ib5(gv#j!dt7Z88{^uvEh0S)iQw(>6 z!Z{LviFqa|uj5rg`-gLNlbt@+Uz^RKnUhoOmVMXJ>|?P@Cre4uN4=TaimcN46h$c= zFV{~1vQ=mtI1z*!pZC6;*?NIG_ECjNzderdiFzrcDqj1(1bN!z>12@0MM&%B9Z6vFJ z0ernfCQk)!M|25lT#mgfLm%I-cW&GeJ{4pFS@f5sK;`w=}`fSh1 zPnlezSN4g=rW|{jP#NOKcTu7>KJoqx<(12MZ9@o3N=$an6*#7FvE7e}P}GnBzj)` zvq|Mm$e^Fu85F>`pS zk_LQ+?gyN9RM++ToE$fP>QK7%mK1$qJDudqK2`Gn2)RWzc1!^8V9h zY8C~V{H=qIGpJo^%MVSrvllEvsL(pU^6n>F28U`rw?=Y(5zUdyx*Y7fSe{=>sI<$Dg zIrAK)?(~jy z(C3M&X#t0Y+O}2=6HP@?;qcUP?b$Y4OHiycWi5FXqC4YXrj~j1MA)@(em=1ibAAx5 zTYk5`Fqt`Bhb9XW1H%$YD=x^L= zlhSoL6(}LyEF2Fj2~1&hCH38v=k5ebd-~mx5KMk}`NSak4?~bsSM;>hH z_at54K>=^ZRu+sH3M{LK^HG{XlRwSA!<(&y1EaHXa2%=W zL^**$|6_7@3{k5?&flh~ls=xdzhckyvNEv#JrIob}x@QV=(w2v1 z->;R{diU=U3H}V3)t0`_s8?%u*Gt{tsa^(xV$xwt7+_HXK#G^7r9p<;Zw6`d!7q?3 z^SsZ$F#W~`9&68Abq{PPZLz5-KxO;6pUdk)EAoA=p#zk~QxOk$J zRdWlD%@mJnLSp00sytd@*76CFpP`iu;z-n>Yo62QI_Jq}Rchv5el;Ex#Uv=lEJ)cQ zcBo}j#msz_7Sp6HlaU0zGZ}|4suDztHzM=CSsqnEa|z@CTnC1-hJzr>p0)`aQidd~ zbk!9!r3I^*B%$+9G$Z%P^qfZZ2T|Z8N_q1s>b<~%1l6MR&bD324qLW-ScBCVylkIE3V9XM`X@kggsmaI_?^a^K$9S-hN}TnpK9W} zG&WQlbARXsT7!~vdlA~&+Y{PZ@Z(UUB*7fG79dmT95MLTSUZ5ZVjfU$jn%cZRySAr zU)e+*I*LTA9uL+3P0ScxDjzQ^_S7v(5{Ahvy+b#Q|GbMI2!)QE#$ZVQH8urv@4d2` ze+QZb^knS(S~-InoUk~Js7!-WQwcFXF)^nv3aFi}koStAgES?f<5t>F@cbc2(37YN z=`(G$i=xkHKec*Z{YxbpP%4v%Oho>vg3x{Z3&%j3 z%(rAJ(By|4SA<{?g^N7L33^KQ|8Dy`h~fjk9Zo_Xa~uZ|i7mP+>y45Jytt{8?}(zU znkxrfJ~;3&5t4=NBzQ1QspdL`&~^iVueH5;lFED5Vv+=7=eoxLf1R0rnHGguUOXfy zM}gPTv*MP8NzcKjA=TUnMVN8bliP}Jou_#xX5K$}!)v_Z&-PL*{N6Ec^yy0$x|e@i zTjs)>EzXIrnxnuk{CNK0Au`58#7}c>=G-J3y)khf_!s<6w=5xg{E;~;(-VgISA~6w zScb!2+ijjn&#iL!21k4Su4g1t`Q+})fwV{puzXC8YvW+IwvKP|V!=-t@Z`W`lM?)% z#dCV&-h&|(A4wT{qXH-3GD*z3<_^u91mBK%0t|kVyjyJ@0|GG-KK1>J?Tg>POq3;T z=`ZVl225qrV1MrhCB8tQR1bz8V^0-GKo^M~|L3|VZ6_DSD<8myMvdKOL6`cs7+hW! zDn2yuZbXW>PP@POcNhK8tB2!u@Gn#x|1hhZ3*n=vVT}=A>pThS*S`4G#wj>< z#un$7VXv6{x%@zbE)v6okVg6}=9AdGJ9hQlx9V$6yxyD6S1pfQqB99O7Ja7Bod1@h zBd+y3q^d(m{S&*ESqV3y?(@mHCEfO@YA7(=_uF8_Cl`eqerGSAKrG0aW}OsoKXUmH zM~hw5(6rF4CT#S)$H4f*!db0+f40`Q0i{26_>u$|38qx`Qjk?VJ}WN4NAx1cBlJjU z*cNdvf&RjR`Ya?4?ICr42Tm}=xNCjL<~t(*Akly*LbacAPtg0yFHfr?VdzNb=q?oS z5z9YxJHmf23oH|na`R_mp04lZbQF7`%6)K)6}V3S$~F?v-FBBO4a3iQJWNnLajS4~ zzWn1mbdB|o=IBY&|JYd)&yGCsA9`o9IheAO5fB~<<)nG1m>_KS(C9(f<1tQmVXT<5 z)m8yI{V%LLM$nh0jj53*=QlsZUGdfE^N(e@SY6NX>ZQ#aGd}%a#%%7auh}E-H=l}? zII2~0x_r*MHjtokRCu5ej&^PQ&`Z-l_x%Ef|LU0OjAE`HKOf(oH4K|*B;Y`2oc^z0 zK@05RJLUw<-%~s8K8hDBZQR{*!?Iz&rM9t`N&fS327ybaD$ z|GSWZRLs+gz(-7f=e(bvi8y%7`Qf1V1+$psXS#=NpIK+xcx6YC!@K);D(dY5$5@Vt zAGSJMzkYU55|olWU=o8()ZB* zSVJV*X=Tj7&G7MqZAIv?^fX3f%0mcECqTtv8{ z7JxAG6DTogo`mA}2@$@8UcU)-kTnY`|Mx}4s~}^0jyGU3H)1%(vlAjG-sWD7&XsVO zPZ8%%gmZhgW3L+2bCB2;qmh&Fwxa)(r@?%7XbHxN}%eTr6Eg(I~Dw#(S5n_iqLFw70I-0H=FkeE~oE=Q@4)= zLPa;KN{LENnmm6JjUBw*`%P0*l9;}6QCvI0_~jS8ZmRf|8=|oZi=KCG7~1}ZVmy)$ zz<5{91p(i7fQL`_`%(Q?l|(GL2n;TF>)dc$#3)jy3T?QBO;vMIbZhfZJhI0?z#v5k z^Mp`#!UN8oIH&c|vkv-R&wof1u{JHFxO~#)B^vd%btaH9$j%z0eQYv3`&_%;@2lO} z5cGY3%d2`(1Mb#;t|yQtkR`)n@do>wkZ4*Cx@d!ZRsJjCd%A=ZJ4g=Id}#U_3osY; zzO18vmf#aY>dNz03kO%8A_0z8;UPeW{<$uG?_3P_PjOILdwxqI8Yi&D-D88aL>KSI zo#Y$P{AP7AT7hTtlY)}(K}fJ}K4lE!|DC8Z@enE#M5E7Zv)(c-3=6|Du3d75h~E7? z2xgrA^97=jfzak_2W?1nJ}DMVkQA?_5-}9}Hu^irzJIoo%~>`7QyAEsf_g#h?&pIK z4a%bV3VC?9#q;b=MyZ;iHJKvpt}f8nL$H1p|D?o{7U-`5Bh>$V+1TAcw9AHqOcN6m z*Psn3$UVo{t<(RqgmooWTUq^fZ5LHSn z)9e9Ss!|)e2~Eu~q)V>-4%sI^KriTXi4E%G3|gO0(1HQ^{Jn{EM#)wOg2Pe_qiMV7 z|Kklt1zM9c3{LZTa*8}uR@Ts+b&m1jHWh0uoJ)u0{IZwN;hDqVU&(Je^y`-|=y^Qg z^co4&t+c;Ao-89-Iw9^+-Oy!-fvn3f<*%POPmfsMX879tL7_XQ-m11J?*y*|Y&Ed- zLxF?Pmf4TF=y(IDN$wHYjOsNN4N;Oi!7r%6f9&EJjdBPVW5*RA8Ut>EbMulzOVf@? zBTVWoZVh=6MB2&ReqbOyyVWxV|4_SIzf;kF$zCpFDoy2TiQ^X^x8~pIVM*GPli>&0 z1k@hBYk}J2B-$%~QWO5kOn~}=l1S23$NeEGZpQCR6+T~g{`q=gF7yY1*N{qU>yVo~pY@uzw zk(>01xfU~$**I!d)&um>?{L~^SU|^bE>~L2K=0;H;86^f{M30Vf#et_w%DZuqLP3eNP&}U4AATy*N4`%)EG02ZKAm<$yQ( zOC9)tOhBCg9z^+BL%@8m3X`h>kGoT{RTVjW#5}MBg}Tq^wGCzM2~kkWoTtlhbW?(l zGyGTX2p@NglDQ|m1cC@krL6$R+AQF?kunTu^>>4}Na6iBPEI{Y%nFA67%cl?V{THJT5VT*?#H5l~o@;?(wk@~tRSuonaY=c) z_m+Qqf7GRdvX{?|WyimT@l8>g9zY6o|5CZPI0I>=QcditV|la^2#%qOAMX3423xwo z;4ZT!&Dwq)$k)QJU%!?H4-J?QQ;|L_H`9OAXVnQ6=EY&+!Gp|k{QQf!g@V43bYX;T zaOOjHJNSL^g_3u)wZ)>KFbw!{_8buOt17~D=o^{|fV)V>^~GVOnMJ`+*`?2RX|15{ z3)p%j$aD#z1_TTbTaSFRgIs#`IbEcO0*YO5-k5#_ZT$=Nw_yINw;kr?3eD3`4T~(n z)$=rxYUz?9u=7CSkf|N!_Q%5|UPZ&Kf&TjsAN-yMs_6#$v8=;?!m>0uHKkp1OdI5rVLlom5rP3)m3?h?}3dp1uqg6lfPc9)8k!kh_>T zK`RG@+`1z^%U^#^^xh|M1gv#R?@A%71T}?jRD7uwjs|i`KDkGvTSahCvT-N z53ZC{rb8nJ6ta<^#_WBOT{{zdZjaZuvR+aK)SlCEycp|3z7JX@CMmnUwL4jvJQ_TZS& zCKif}oeA*&-YSUFgjuXUWNEXhL@*QS{X2+^2ZTpnVmZKi26SVd;>enbUWG>n`A}=JDQc42#=UdzQf#~Qym*?Pq2%vGyXB1rnYC3NXvxz>0 zfk^k)8p~iI_%Vomj1@Gxp4@tIB_Nmcs~0eRSX{&Ioo6&8pJQfbSvn6#H*J>e>HNmZ z6gpX>w*GbyEJD^%ix7~Zy3Rt__-J_XnMFXgVka_v@tbIcyf6`mBVJ8Y_A3X65DbAj zG{6$(g^==%X zng+}`Cbx&A47=AuSV+aMuD=8>i=$1vfBVi%XRKO9&Z&EnDiu%fF?XFF>07x98pOXo zuznJ7`eP7c1|BMH@0(O{zu*v!y=)Lo`^$_YkP5gJoHYOPIfC%_+n2!pJP~<(+R;E2 z_pd+sZG!}!RJW}D2fw4vu)qE)yh#_DfBv(7N7(e!u#iWd88iO-PyX>MA!WGxSGXkn z%XLZQ@5l?DCQ|>+<^=wMcm#e(f2OV4-#>+caP)sN8p!*9Sd+Z@X9fQA;Qb(ijdsD# z{r!B%=-%Ip^`F10_m5f1bKbx21XyH}zn|>?lSOX1j01iu<;GlL?RYcC)gP79goKwi z?W`M9$99F<6U9)%W(z7g4{&~DXboW|!495-raK0_1xV4jR9RNW10T=_CO@;x8DTxb~XG5H%)XIc0Pb zm5PHHrVa_!0jO`{Kq+73vllJw!mT@4*+G|^r;?Api>o@Rj%+}3G65EMF&aF6Jtbu3 zj+qVZ)z-)asWV+jS1n_E^V9%2cfY#NhCrq z!T5dMRW+WI*^p)2#ayBC-Iz$i&NYFpB|jK0_m^E3^c-{zL0dGh zc6WT_mg-0nsNX?@R8%m{x1=NO*hQE_6u9RFy&4f1&n_^9NWk*V?3HhYBJ})(7cu0V zc!-DRdA^RaGMKJ>+1)X$5cybOb^)bedZT8l;-^6Tq)K@4YQWY*lao!0+yTE_Q5gZJ zp-O$Y(lh$qfHL-MZmFSsdv#y}thsb0UZFh?U`7gidwb6=a)9|dOd1?~d61xna@!Iw zIG@`9@_tUg6lCNRze)%hE_S>TyJ4g;j2w854gzXnQ(xpNCrfWcT2arpA5Qw7!EwSM~W$A5-aD(XR=L%xI!mC8n4)he#B zQ+^B5R(EwR-uwvO(9Z~z@-}vMxvTfe0tW^lw-XL$6^n)cH$f-1cGm)Sv-@wYLg}ap zoZSSUK^1bY%q#Q7yu#6WR2BvGD`8PrjO3(xL7PKu0ft#VmpYt(?e?QEU|V~et9vno z$Ny=;o0XlYfL|Gwbdsr;Is$8VHggX<4;poHz2S6=crZZ2mWTQpdee2U%k-LNh~|0S zmYTA>+sGMo3&*TDC1O~xrza{v%8)DI*RtbqBj@evBr}iuC3+SMTfivRQ;_oHbniKr zldQQ&X5=ANduc~$q5SLW{jJDXqGDqDi%9&Hj_!?(jqf0Hl2gIFLOZEnF865I{(;M zKJ!vPF-kBt6~;zpUSNL}O8SrCI0=(@wi*q0bm zc`+>_h1HJ>l$M*AKT`AXP$7q=LrJ}E`meWWVE3e(my){#CVdHI0Q`UKco1VtE%gEj~65s3dedi`{nHUp97Ov<@#At--_EsY``(}zqzXNmwW%ZTo z7>WXwIYHTU^Qel#*(0TBNr11!8u`|TY(fw6>EsJE3sF*lK5+tkhDpW6+ZPDPE^LhQ zAZpPui&u>@_jro!u@vPXX)poxUn1Hr2j7!NlgCL2lE=P&Zh9W}eYrToj??|?ZaXyA zCU88fwwk;Ye5aMrQH|0W&EPPkXQ)%b@&1N^oq~s)j>y*FyPrxU*Ln zDc(zVMCo0%w;M!^i#-Z?y>Nx<7FD$mEg> zwPxO{@SasKH|aDn;phk`2x5zSvBS325ul7ZYleRAXfF-Bw5s1=s%ta5^p*a@WsbKg zl@v!w*v!z$6y)TQN+^V~ePyJ`a=mUcr>> zv71C$CJQo&%Yy^p-1D2BE3W_|n;^O*`yD9c`g?BbzeT6^8XOtv@Bl0s=K32+9cJqP z0B$2V$G13%qt)yA<=!f6zNLF7R08aylqH#zsSth;%sIOj5yjqU5_B1fL3w8;^|(y@ z{$ZR*{xn-112aVY7#5-cGmOgni+bHVe;ARvNFpLS`6)J*DS?N9`1%g)uX3$mFaKqq z4uyLcXv3w%MMXvR!Wq{`)Ej*7&^r=OW!|cwaJjh|Q9ai?C)#knU|*L{7yVc9Xx_?87#a61WM6@>ST2x{|wU`$fa{zrI#awOFNjB}!Is zrQ$KR6;dmHb|0~kD?6Z8)1ytB>*kUm528H6r{2XNq=^)H@t4%7DS3J&*Q`F$id?^c z|Guz`g5v0jEmW8sPheaiw@dT$cr8#wW>MDN5<+jCCq9OYBwY(a3nW9Kyh$q=dY%p! zV@dP9FgN?^*Y;vS;X!5tR^Ps_!*82Gj70-ODas7>XQjz#coG~bSp6sFBkDnyna#@) z-b@#ye(}+LZ$Z)Ornh7S((8eVwuI16;(2+aH%Fgkr|KHe@DoT3sA<M88?nh_k*1IgY-bp8<#2L`CEG&OiaEZ{XH( z@%Q^VUTCx!q`7#oT6@V{()3Cv=n^dQmMIM8;$a< z9$8{)Aa^@T9KnUrTa+vBS0-IDfQ%e%@kFB`L~4+ts6V8f8KLU8Cu8V|THQxkpbMk?gy9qpRvO1P}9 zAn0BB66$g+GrbV(>5&y$&G2{xKWd|1NhfhK9@8t-s7BX|*;_P5=@Jpon?L!ebNVVV zO-{uw??wYx;2lUg`lu{M5%DM^xi@YU+G?5fx*hIC7Ij&B+~_7B1N;3sd?j1%fmgEid}!HL8?vq<+B*kiRBvP+z49KvAIy<8t)NEg(}iqcP&2R@=Z zBzkYIVO#B*x1?th8_d>`ls6n(jl7YEr2u)5HWzKmO{_{rOgg>0DmL0k+z2^Ex^W1y ze2dcb0>3iMjU+&u;pwA9F8IztE&P9};ky4Aqd8mc1M>)1rJ&}sT* z+fi0d=2k2qBs8QVa2u-Q6nL_M!(RLz=ns(w!-o2bDr3njula=^_Nh2GvTLw=G?`J%EVfDWu;-jq(O3jR9>XeM|t6^Q!+UU(N-8bHNPZAmW1h z8GG(TdH9}cY{0S|Di672!%%cHNonC5q}PTv4-8o&@BYLR-s-F?H#X559?VlMFe*Oo z=e4(fV_6iBkQt?n+z6(pb!!ke@bczGSYD01{q?+C`MkJ!Xzm?S{M$Vu87^g#L2pO9 z@3NRRT9#g|9-Q(44 zQ9%?Do>c9?+)I-*9OdIw`P@gD3pupoE9u3c;Lbymo|isQHo4dA?raICbFrT75OHb0 zl|V|VaJXKH+D+id!*#fU^^}c_JCL9a#-ElGJmQ*t&!~#|?XTu}lH|$37-sJFXlntE zKh~BgBDiwkN7zsCx=8`AW0wNkId9!H!_nqOd3QAp?#qR6F@!v@cPpVk5v!()`GSHN z;;uh)5ipn$5fmCyeKIDwNM|FJ&wQ|JLqoB&iI6Z8{l1k7k)gWp%x}G3v zPW0-0$5Q8Z8+Z3(u3>I?QF-80M-k`P3GQQvU-?p9FqK8r&_+?w%?dgI;nSk+{;PBjG}$Q^Y!bmTu8hGpFXjxuWMhpq4Eq6ndiZdDLr`_;9&>Zn7R#*!g=H z(iMgg%C%b?6p5S!23>d+tdbUGQdfUnI%vyAh?X!t)Ul;Ad3u^<&WuZP&45v| zh&9q-a`og??=I7q&SryXB4hO55}CfqdsKBLSXnGWV$SL1+VG8PKyTkx=bJbN37R~4 zUe;iUlo;WnS`lL1H6j`7ev458wtB>qBIw9s7~4r|D_5M#Y?1$>#GS>U?JPlW9u)vc zm`b@X`Iw3z;kb?sBQmode: lines+markers"}, + "yaxis5": {"title": "groupnorm: percent"}, + "legend": {"traceorder": "reversed"}, + "grid": {"columns": 2, "rows": 3, "pattern": "independent", "roworder": "bottom to top"} + } +} diff --git a/test/image/mocks/stacked_area_horz.json b/test/image/mocks/stacked_area_horz.json new file mode 100644 index 00000000000..4d0342996c8 --- /dev/null +++ b/test/image/mocks/stacked_area_horz.json @@ -0,0 +1,83 @@ +{ + "data": [ + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "orientation": "h", "name": "bottom", "legendgroup": "b" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x2", "yaxis": "y2", + "stackgaps": "interpolate" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "orientation": "h", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "b", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers", + "groupnorm": "fraction" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "b", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "b", "orientation": "h", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "orientation": "h", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers", + "stackgaps": "interpolate", "groupnorm": "fraction" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "orientation": "h", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x5", "yaxis": "y5", + "groupnorm": "percent" + }, + + { + "y": [1, 3, 5, 7], "x": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "groupnorm": "percent" + }, { + "y": [2, 5, 6], "x": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x6", "yaxis": "y6" + }, { + "y": [3, 4 ,5], "x": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "orientation": "h", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "stackgaps": "interpolate" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": {"title": "stackgaps: infer zero"}, + "xaxis2": {"title": "stackgaps: interpolate"}, + "yaxis": {"title": "groupnorm: -"}, + "yaxis3": {"title": "groupnorm: fraction
mode: lines+markers"}, + "yaxis5": {"title": "groupnorm: percent"}, + "legend": {"traceorder": "reversed"}, + "grid": {"columns": 2, "rows": 3, "pattern": "independent", "roworder": "bottom to top"} + } +} diff --git a/test/image/mocks/stacked_area_log.json b/test/image/mocks/stacked_area_log.json new file mode 100644 index 00000000000..ec0965a01d3 --- /dev/null +++ b/test/image/mocks/stacked_area_log.json @@ -0,0 +1,86 @@ +{ + "data": [ + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x2", "yaxis": "y2", + "stackgaps": "interpolate" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x2", "yaxis": "y2" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "b", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers", + "groupnorm": "fraction" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "b", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "b", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x3", "yaxis": "y3", "mode": "lines+markers" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers", + "stackgaps": "interpolate", "groupnorm": "fraction" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x4", "yaxis": "y4", "mode": "lines+markers" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x5", "yaxis": "y5" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x5", "yaxis": "y5", + "groupnorm": "percent" + }, + + { + "x": [1, 3, 5, 7], "y": [2, 6, 4, 5], "line": {"color": "red"}, "stackgroup": "a", "name": "bottom", "legendgroup": "b", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "groupnorm": "percent" + }, { + "x": [2, 5, 6], "y": [1, 3, 4], "line": {"color": "green"}, "stackgroup": "a", "name": "middle", "legendgroup": "m", + "showlegend": false, "xaxis": "x6", "yaxis": "y6" + }, { + "x": [3, 4 ,5], "y": [1, 2, 1], "line": {"color": "blue"}, "stackgroup": "a", "name": "top", "legendgroup": "t", + "showlegend": false, "xaxis": "x6", "yaxis": "y6", + "stackgaps": "interpolate" + } + ], + "layout": { + "width": 800, + "height": 800, + "xaxis": {"title": "stackgaps: infer zero"}, + "xaxis2": {"title": "stackgaps: interpolate"}, + "yaxis": {"title": "groupnorm: -", "type": "log"}, + "yaxis2": {"type": "log"}, + "yaxis3": {"title": "groupnorm: fraction
mode: lines+markers", "type": "log"}, + "yaxis4": {"type": "log"}, + "yaxis5": {"title": "groupnorm: percent", "type": "log"}, + "yaxis6": {"type": "log"}, + "legend": {"traceorder": "reversed"}, + "grid": {"columns": 2, "rows": 3, "pattern": "independent", "roworder": "bottom to top"} + } +} diff --git a/test/jasmine/tests/scatter_test.js b/test/jasmine/tests/scatter_test.js index dffed81956d..e1711b395d9 100644 --- a/test/jasmine/tests/scatter_test.js +++ b/test/jasmine/tests/scatter_test.js @@ -832,6 +832,32 @@ describe('end-to-end scatter tests', function() { .then(done); }); + it('correctly autoranges fill tonext traces across multiple subplots', function(done) { + Plotly.newPlot(gd, [ + {y: [3, 4, 5], fill: 'tonexty'}, + {y: [4, 5, 6], fill: 'tonexty'}, + {y: [3, 4, 5], fill: 'tonexty', yaxis: 'y2'}, + {y: [4, 5, 6], fill: 'tonexty', yaxis: 'y2'} + ], {}) + .then(function() { + expect(gd._fullLayout.yaxis.range[0]).toBe(0); + // when we had a single `gd.firstscatter` this one was ~2.73 + // even though the fill was correctly drawn down to zero + expect(gd._fullLayout.yaxis2.range[0]).toBe(0); + }) + .catch(failTest) + .then(done); + }); + + it('correctly autoranges fill tonext traces with only one point', function(done) { + Plotly.newPlot(gd, [{y: [3], fill: 'tonexty'}]) + .then(function() { + expect(gd._fullLayout.yaxis.range[0]).toBe(0); + }) + .catch(failTest) + .then(done); + }); + it('should work with typed arrays', function(done) { function _assert(colors, sizes) { var pts = d3.selectAll('.point'); @@ -978,6 +1004,109 @@ describe('end-to-end scatter tests', function() { }); }); +describe('stacked area', function() { + var gd; + + beforeEach(function() { gd = createGraphDiv(); }); + afterEach(destroyGraphDiv); + var mock = require('@mocks/stacked_area'); + + it('updates ranges correctly when traces are toggled', function(done) { + function checkRanges(ranges, msg) { + for(var axId in ranges) { + var axName = axId.charAt(0) + 'axis' + axId.slice(1); + expect(gd._fullLayout[axName].range) + .toBeCloseToArray(ranges[axId], 0.1, msg + ' - ' + axId); + } + } + Plotly.newPlot(gd, Lib.extendDeep({}, mock)) + .then(function() { + // initial ranges, as in the baseline image + var xr = [1, 7]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 8.42], y2: [0, 10.53], + // TODO: for normalized data, perhaps we want to + // remove padding from the top (like we do from the zero) + // when data stay within the normalization limit? + // (y3&4 are more padded because they have markers) + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'base case'); + + return Plotly.restyle(gd, 'visible', 'legendonly', [0, 3, 6, 9, 12, 15]); + }) + .then(function() { + var xr = [2, 6]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 4.21], y2: [0, 5.26], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'bottom trace legendonly'); + + return Plotly.restyle(gd, 'visible', false, [0, 3, 6, 9, 12, 15]); + }) + .then(function() { + var xr = [2, 6]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 4.21], y2: [0, 5.26], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'bottom trace visible: false'); + + return Plotly.restyle(gd, 'visible', false, [1, 4, 7, 10, 13, 16]); + }) + .then(function() { + var xr = [3, 5]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 2.11], y2: [0, 2.11], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'only top trace showing'); + + return Plotly.restyle(gd, 'visible', true, [0, 3, 6, 9, 12, 15]); + }) + .then(function() { + var xr = [1, 7]; + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 7.37], y2: [0, 7.37], + y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + }, 'top and bottom showing'); + }) + .catch(failTest) + .then(done); + }); + + it('does not stack on date axes', function(done) { + Plotly.newPlot(gd, [ + {y: ['2016-01-01', '2017-01-01'], stackgroup: 'a'}, + {y: ['2016-01-01', '2017-01-01'], stackgroup: 'a'} + ]) + .then(function() { + expect(gd.layout.yaxis.range.map(function(v) { return v.slice(0, 4); })) + // if we had stacked, this would go into the 2060s since we'd be + // adding milliseconds since 1970 + .toEqual(['2015', '2017']); + }) + .catch(failTest) + .then(done); + }); + + it('does not stack on category axes', function(done) { + Plotly.newPlot(gd, [ + {y: ['a', 'b'], stackgroup: 'a'}, + {y: ['b', 'c'], stackgroup: 'a'} + ]) + .then(function() { + // if we had stacked, we'd calculate a new category 3 + // and autorange to ~[-0.2, 3.2] + expect(gd.layout.yaxis.range).toBeCloseToArray([-0.1, 2.1], 1); + }) + .catch(failTest) + .then(done); + }); +}); + describe('scatter hoverPoints', function() { afterEach(destroyGraphDiv); From 8547cf8db02aa5b74d6e360e56628bd130b7fbdb Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Tue, 4 Sep 2018 16:16:15 -0400 Subject: [PATCH 08/13] test duplicate position stacking and remove error check added just for debugging during dev --- src/traces/scatter/cross_trace_calc.js | 4 -- .../baselines/stacked_area_duplicates.png | Bin 0 -> 43678 bytes test/image/mocks/stacked_area_duplicates.json | 42 ++++++++++++++++++ 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 test/image/baselines/stacked_area_duplicates.png create mode 100644 test/image/mocks/stacked_area_duplicates.json diff --git a/src/traces/scatter/cross_trace_calc.js b/src/traces/scatter/cross_trace_calc.js index 4bff13e0e5f..64db8eaad7d 100644 --- a/src/traces/scatter/cross_trace_calc.js +++ b/src/traces/scatter/cross_trace_calc.js @@ -136,10 +136,6 @@ module.exports = function crossTraceCalc(gd, plotinfo) { sumj = cd0[j][valAttr] = cd0[j].s; for(i = 1; i < indices.length; i++) { cd = calcTraces[indices[i]]; - if(cd.length !== serieslen) { - // TODO: verify this never happens and remove - throw new Error('length mismatch!'); - } cd[0].trace._rawLength = cd[0].trace._length; cd[0].trace._length = serieslen; sumj += cd[j].s; diff --git a/test/image/baselines/stacked_area_duplicates.png b/test/image/baselines/stacked_area_duplicates.png new file mode 100644 index 0000000000000000000000000000000000000000..3b35f75ba3c071164e05fe448b1c7b9391efa84f GIT binary patch literal 43678 zcmeFZWl&tr-Y-gU34x#i0t5>VA!s1DCb&BUcOTr{0wh6$4({$A2(E*>+YA~U20JUy z-us;Q+^T!)emtk@O%-3Vq}S^8@9v-VL@FsrV`GwHA|N1Of0B_Yb3d(YP`UHv6J9y7GIg@ zke{D#mD*ms^DW7IOw~HJI6s1BEFvOm9U%x26LGDU$DoZS-R0!Nb!N1UFpeVX-eLQd zLzefG#Zmi}0oyI`Z@n8i1p)sHqFew5ANMn2B2XcPFi$4NyJv5IA*Teq`4u#VgZQt* z?*j2e0#MqKpHsUB{`)ur7QZkOaOFQ|e@1vlbb|1Ql9G}}hx651Eg(ijL_`Vir`vIVrTou? zZKr)?C5we%ND=pivN)9)Bqi18T?o8 zFi#SDDfO>=-W zIhh1MUcjcL(RZTRI~e?g-H-M3I{nD?TR>fL!jBOydt(@tXQ%y?{p(%98yg!`6`b_Y zT&Wnb(Nt~@uM225k3yDEOehxd=FREW8>&*JY{XTcbNP>F12j!8doTQ+9^4NXYSA<+ z^a5L31@>o3!;OB2QPI*O6SL|4x;yENOGqF zA#1F*n_Gj&hZIhW7d&>0wB}szIXRWvy<9m~R`NdK2Yb68&Qsaa>PDCaqhj~Cg4!!g zO-<2p?$`XEdPmcEl?&uZBqSsvh`&Q1N=O=w_A52>^z7{HMr5pJA8)tgLoa2k1N&n7 zewte(v1n5t<~!L;O_rJ|Q9qrOWsl_8=tfTe zj)2v|8B4mvf=)mWy}LdkK3G`uy(ZtEEoat+d=e>9FAbv-4~t;Dh^JTFEUoOoV@Kjj zWLJlbX9_a+v|CLTKo{#vabJ0fS}xSkF=>=VEHCTHrM!D)w^;X*9kIB$IECMpX(*97 z95|JVogK&hWR=iZTzI9$72huYk1|zSQRVM&9O7$AK1Y$ZZ{OZD*vyR`PUYZ(S~{fT zD2&TflUV#7E;Y+^8(-8~j7#kdCHA)4%vJPWulchtzD=`=@xI)j$ssqE{aPfK&i68z zO&^b)$yA^nmz*CYGxE*D%Zn7?e*lF<2YcIn+p{J*(Vqb-CxAE)j zmNXi`s^Fy@$>^`Yx*Kyr&=1a-kva z>%Rg~RgW)>MG&nIM<-c&BJt_}0HcYR5jy_y{HxZ~Ea92nV0^i9ZkUG^)%U^$tg|bt zK9MJWxId=-6v|t?gWb_IEbkFQms*ltxG4+N+4jx%0;e=#|BhFb`q{*Yn~G2Q?@jui zp9V>>GpY242)oIN8~}?(y^xq~mLy`YC)CNw$+#uCtyZI4XOIY#8k=ur_aHVkL@P!+ z$@RcyHk8rkjMw`N2~~z-6biMZDuSOr+wF;aRG8YenJr_~Lj_Cm*e^4*`M}%9;^!Rn z=u(+Vl^KH*7PM^n!;zWSELWIa=2 z=Ga~z#MY0BcY#gD^QAY65Y=wVxepk2y(2-5jg8Pb?~`_Vb9=ArW7dLgt7K&2x9cOo zD`a?HP&h9|<6m?>J(6YlUXjRvElJgnN%!3;=cAg)KMUlAf1kGR0)-UPKG?5b*IgrE;R-@vL%eVq9G zqJ=^*>O-qp)7!HhYQKO@BCpGRx}J>C2dXDyr_JM9u)yiM;9&tVJ(PBrgM-5uGwGv@ zY>>j#2yF|k5M0!WR_h|P(r|KevM0IYHBJU%n9>4IYc`4b>#6%E7`o{)I>NAB@u;}t!-I~b>nun z>N|?^X0k?kQ72Qf(KnDqFH_UJnZIA)Lr}#5SNpQuA{MPTvnQ8@%Xe2t%msIheDazMUYT${&ok4PAo_afM-XOMZn33) zc7&%6DVV{%CheoIbzBm0#CN~!r^0n!OlYl|<=d?ZY0BP%%1-;F#AYFqaf*TJE>h9C z1tFVR7Tj^zRH1C|z#PXj`Ilcr=cXO2IGoX;$Qg*gEJ+iQ)2LHn*94dHo6?0bFybid z0+=mk0@m~A1WTy}azCj*Dg%SHCn0C)Q^G)S!5dD@oE%HgqLh?m6nKh@3nf!IgipTp z?&jtV6_qHmopK0wyTms%*-ZXO;+ane6Lq2Th7g!!h@W&V5?8PM)s!3aSpW{jM+S2Q z%d}UCd3m(et|OCFT>KNXCmBgEEWKYzF2(oDt1iQpkCz(ke$N^Dv+frXBW%ij-)?n3 zAyU3+sdr9YExfX_&fKSC&oc0Xh6XkSY4fX(Hz}HSo;Gk7^T-f_yf$)w;?`tjl6$?7 z8GuQ~34%UkiFIhm{vGLDq_)v4h<(zXll%;lsZ$j8c*tAryJ{bfKD@2G8~9FRyhIRb z{q*=CSw-ME0H@$Dw-UabRyAh*DG`39K1D3#dFFhbJvA-txkB(&QuV%0^S-=s6)(`7 z06{v?4)lW*gFEuAWbG7}V7b}Bi_vDE+ZvBsK9}9E=pdT7A2}m1x`2w@hiy}OdH*Ra z^!AUh(Ar=K2gn(-S1_}HhUAwxQTDuzI2l(-Q#yj}HwjGYpAW?giE$r(@h)0)x*lk} zL=&0A)%D7T&R6I5CR4ij<~*h@g|qdd76&Pek2!Qcy!DvCqG*3TA&V`DwVT9XDwyKK zf$xY5U<9fZG5}eJ+x0Ye{y^6{yP#b; zL?$LA+&Mi+@kuO)%CL3z7b|37#g6YqbMeEb!SONT&>AYR$9Z$%2*N@Rr`wXHlFucSXj`|)1wIq35|VW zTN*%C1BO@yrpA%RP>_9RwUKBer4142u6j4APBs8Vztto+%8UhC@`YQM5v%1vs}{Tz z$K9Bx4~)Gz9nTjT|K!Ag_v#W)_?o$IZ|}XT^2j;EPnqxw zWAaHTOF+^8l*$6V${l3=zzobZ7UUn8k7jeg^s5RI#!}QdKXM#zugoA%Q=P1d){iq) z1^uMV81pAQfBVrK2WTgwJwKY5of^Q|>ZKa>-kPzL!m;jazQo7J$DwxY+BFi@_%E~} zM?!hAc98EuY?@87$xJcJZF<|gd!!-<_!DT9jra4_Z|LgAg4mw@5KFECGb5{r&!jKb z;`7E=zR7dbSF?g>aSZQ{{0xqWK(DizQ>f<8*QoQpwtvkJLI()d53lI511*TzhVx_e z5fyY6-5qT42C*GUxd23h?1e%-z>E%{Xsc5&xGB9Y$m%*Q5Syd+w;Zwus-@pMEyxkC z1n~YQ}aXc1ZcdQ=IZjYcfQ(0l=|T4C+-@>m?99#@X)PZu9-Z|SDzPZ_oo5+_X{`ho%9_oJ! zfE*E3I)EN;y05gl|K*eFB)Ij=>MD>#g5w-`h9mQ{gRydP2@&K+C_H>If}k`DMV}*~ zSEDD$fQ33-zsh}~vSzWv`HE{ZP9kl2>ZW*a{fJ$#IKe+Os_4lBE#9jGzRz3-AZ3Vn zA>&CRv!?M#3P)&;?^Yi+)d&?8l~~bWX(4553FUiJbOX;FLZ_#4-Nv5iuFHctfXZ6R zrSV{kii+OA4=Q^T{MI^ru@?;+Y)O*X4Pz(sWq(gisanbd4AS(Jao?Ee;tm9IFb4>6 zk!EFPAQ*?7U+wv~&dyHbb#nEW81T?iVq60by&8S$nl7$%8AivRM5XB0}9S28EupY8&6YflnEp@wfDM8tQzy`Fbb?S#Eip)6Pcq z39@H$owrm z{VTw?BiATDI3r^bvHY4YR>iK!B}Vkp_%wo#kADh?5K+m&0JD}kP~*_72CtzJP*SoN z81dN7znRqE_lB}}-oGbeH_(G-GmEW0OJosleO((jMwFvhs>k}(njce9!>RdE0>m9d!7CqA$d0bMi&BF)1B>U7jXH@{?DUju#}b z!>UohPSW5|oflFrOjyZUD6voGY1tRs2v2@CxeCda4ElBu6ncXkAaa@#CCZ<4MEr*+ z$c=uK@mP7qNMy_oHx`oF%5}8iiLD&)~Zdy9k;!%4jFT%Tn}~uwog5jG5ag>Hy|~vjGW@C-U#93SX;aVDZbMX0k##|i^Lcey@mTNcU+rYNwU^X`skvFDIw zzd|SY8}K3QNS$LbszuFuK#Cn}`F500y-U#Y>mFaYtlZ=?JOGG&=>& z6!vC1uqJ=pHgdT)?^*d8oSc@7zD=g&5RfF#Ru==zC%=3CuJO*gEgqXi%en;3t5bzv z7q~%^OmmiWEYMzb{&E*c3wn7e1VmwHm0OPS?AfC5e9tl`@4+9Id&g}w2~_DQN(%x%Neo{aZW_os2xP7Ox zv1lXC!S;yhVN(;5FU@ltxoX9O<wY}84f5OU!#G9BVJ2*24wx*QWzkhV zr}+)w9V%l{%`9%#g_uPi%Ke@bDO~oyqLo zc8lj0#sn5#GHN2wrFLiAquJ|LgLgAyK@~y{HaftJ7nX{@wq+Yc;X;Gj%67~|YcQM3 zVlK>0<~lq#bI$+(Foy^&$c%;H9`v=3J5&I;i?Z$t@E|kL^m8c-d{Bl7?_?}rW|7o!U<|;uaneF^@X#USV>LuAWktzNc(d3wsW(P+p(LG=2 z*u%)eZ!aQ{D`Wh(c<|II1nB^~2Wp->W2e-+2!m?!UnQO;3e?=+pO4SCd-Fm&KNAvx z@@4o%1<`)se7RperEb*;kVeR?c&xjroQ*!d(WK<1Y@6C7zleM{>QvS%^v?%264gw; zVJ2hiF_ef>=NgT3*T%3H*Gsn!&6tTiga1#L$%-ZzabS4c4-35zISdT z=^yX`OifMP55S+$WVwa$oZMVdPYCRUgoK3pnWl~osh++*hj9UK!Nf zziSNdg1sd#JYTj+n%bpebw63@Rpcnpo=H`+3^L4okUS3__;+oGUzQ*0Lfab}|BMN! z!2%)z&?mmV7G3LPQ%G_ebb`t7eK&Si40g-@bLNt)mu%?CKJ8idWAJkKEW1*#8PBBe zDDvFPKZwm!;ELIUTF!p1*IP6f}3)pG z#)Nwb54=3p%I|j+I{G-a@-h78!Xwz;`qMH%EUrmRMKv=o^B&@>pxe~1y!WPmyv7kc z{=>c81kz0kq`#)!)UXarQ7Kj$#o4$V9xloCihq-UbI#q|znmZ-D2#;mf?#fvi$C%X z@N$%!oy|~Ys5lh16MZKAv60#cfEDC~oxfGk zV)c+|fX<{=^rqB*mu;89J?$mGCdycoT@3o#U^@~oF>g~dk zEj49Uqv>rfOa$l_ZDsj@sNc$q$LYvRgVwS0af2Aj*czOK>^obg{pb2xy3_ALB11Nb zC9ngmT5_Bb`(_&H_a_1ARc2Qlb0+Q*EH$Tc-JMZnGh2BMj_ z_yPxq_%c5)?+qW{e9p>Y_ArG?M_09F?3*9BNu17Zy=lptTo@809(I-uY4Nk~ePp!3(u+H4EB9R?&P69b4L z()D1L&}-)($RNnUp^X0czc2%)Vp>Rg&KlbDR{?;n2h3Rf-+Vef5%I6(k>y(thG-Hg zM5CivKhv^FN8bqutUf!+DpVP&ClIo_#mKC@Y%9>Nx zS&js2WHX*Vqu_(8R7sJ2OOA_-3Cngpf2qScV|6$oED?5=nTEyhYA))Y8d%k>ld9OezLmUJP5P?2u*uBF|hsHlKqK7U|Tg11f`?WdiqM8q(UAu2Yn^i7H?8 zf`6e7@f2(<9#S1U*!g2E;Wwly-JBLvPB7&qzJ(piFGuq>v>6#M#j9ubxGNITZbOV= zLY*9&dS`NScjv`fxTI$hMDnwB@_o{6lggD1m@NeYdfi`5MA?mytcwLYGw%rvkDn&D z$1_UZQFn;_Uq$O|Rz$zxF>h(}7Nw@Q_-sT^jaNU^5X#zcklum5m6rN6KDWwvtqZo!dxk zDt+dBj&}$7Jrt5{b6H_Lj6y7q_&LIRd6e(@%6o#rpM#K=_j)=kpnJ8n_ca? zz4}{L$6q^aVfh6c;m(hn{1%(XmXMZnMg|d$&phIp&h8fx)!`MRFO?>k9&*X7gkiZ< zamK3mZ)weFBTZggJuKgVi3mrX;3Yc|cd+THR}E&bD$Ml7*Z6%ojwhTHCZ3*=p{@U! z`EC4m@0=%V>t_i{c(i5np#T>eB}HcJK?R$~k;dDPCp+lMg-04`UUrj*+D|%0I@2#J z53_B|67m+hC|bA_6x<1YWd=FvaWYn0yr&NX^9z$P74xbbp$gi9CY3_F*p@I zJWPC=7#Q{cR??tauW-|nv7y1kdLh0RR+uat!`xW;Dn;@RVkO+7F&yh(_+{GaH?mOW zid;WO+$7)n4x_o$fa;#{&wzYn7D)~h9Q`y!0<0FE{$BG^%hB}NF;`=S?vA@N`*^Rc z(yQ0q5AvLN3%0++)dC}%_K@D;r&iV6eICus=seow`MRosYmseeom?KXvyyD%#ud(L z8@VE-e4Nl>V$)3rs!$>MIY7J@d+yb8OEoRLsXq3T01yN3Wq@JlqGwxUy`1R;j!<6| z|D5?DlK+Uapjd6|%wv9wdIN*l4EC$1Rm!3gBpYVtl8Casq=&HDyrb+|;P>yI%5BYZ!-% zxoBaoA#7fANYnlVkDNTl(C-!{ncXlfJRGgX?Z}$PqNU!g8mud;kb4bl$o%FBcUT65 zu6akl;K&*FSZ>3VpP$xA?x zgeL#`GG-zRQuF0fPj(z;m!W5$`u}*&@ZYR(#{*CF{Qc-+d({=nDX|NNR+JapAr;i> zV2*~K>e;G%YBxZq(Z;dxKbS+1c*dAQZb~|fmn1P5^ie(q5D7L z)8)FF-wU)Lgk423pD!8yVBXOh{p7O36B8G&_J8sl$q>-oR&rQws>Zc} zdn@k%9=tT*$DQ`zE6y+TmH?y-hekeF>FkzGzh(V)kCJwh&lk?sal1?QU9u3ccBu>P zL;@PxbheJHlE%Ii*y?CbRZ^GPrVK=mNeUwRr#~WT)>dr#lRt&eW?zll(o6P~-fH5@ za<+(VwsZK=40$I=ueJDMuPeRqDv$DByOnqB<|Y>Q<`pyj@*A;Lu^it3-o-TfE)Ue= zLA7ytfykv2=bZU}6`fZ}GN#HFR}oG}+MX17+5% z=t8+QHs}86y{PFHXXqI&YtnnXDCB~9d)kKupdDD9CnLb$S5cq zfVoPf3irJu^$P>_L9UF3#-!L$FT`Pbi3}{zYsUT65lf~#gLbdbAO)nG{nE-!z!nsX zCSnyqQbZDU(9mJ*Tbdfl7nt_{_E9z7kr(_!VN&&5TFz6Q?baXRJVuZ&riTkOw_f>dWq+I`SO*{HTcl++$3srApkHx+pCAYg0 z#!(uCemij5Y>D6aK0i^HTwpg#V!7qX5SOGMamoUnTpqFeTAPMpBwn?kuSIUiJx6w|M>Ae!?A1IYdj2leSe3w znPP3WT zevgkU-V5>aYTg4{oJzLO{)O|O!`kspK$%TiuFPRG#aW3MYx6wsxd^u($_RQjK;wVX zevMg~*H{9e=%`hNKixIRN*d~$Qc*~3ZxeIzMgGtJU9NAySY-0rsL`S*)(h}Vd zu686rem28~P2TW2(8%qrjD9uZb;ZYKq7uh1jW*4FNhq!AT%*?kVg42(Ck*$q2h197NVA3drr{1CeXX$wyQ_VwL0 zD?eHr68#c{s4&ICwNt@dH#^zs@6Tm5DS@oWSK{M+qstPbk9n%8y3Lc&#kW9F~lNRHEm%gjI(pd1@m_^Z(=?pk;9H*hb z7R_{BTw49m#<{3&jmEz`kaV_xQtmW#+4W4QrG+Qa8!s?3aMORq_$lOIW{ZzxmVkL* zFm%UhI8@Mq*N=>S)@veZH{*DIW&RfBB~oDkcA)S=Hth~RhKj|g;;&?ajn+PaP*mcK4pkUivP zFX4(?3GG*~ecw#GCV=ahEEHol*Ri|TMfdRIQ+(u3sgb0Or$e_}{hgnQ%~<)%AfeXZ zwp^8vWhVRq{52;}G&en_n+f)v_MzaO?-Fy3b#}EZbq;>L&4h1xW?40fkGgHwR`Iha za2EMJA7?#-EpH>7Us8X9;Abmp(H)EX+l5*t2U#gUoVkaxG31&!(_`o7V44>ax%uEo zpRDv0V4-A%8VWpM)@&FtT(G$6FR7;!eHyWPE3M#ZH*9)ix{_tx7z`e+9$l_aLe9vU z?vJBnM_dNhhw!2z1|-qK7Rwl){#f!qXJ=wSu&>&FrA4grBO99na?M1-2aJCc!MEnl zR{I$M4_x{;4s-{2rl;!b~qr_V$Y(#-D1mATgQ9CZfXLS1cV5SGo{g zazY(47$7JUvFS0)E|M#QUY1NZOj~hwekEwTnNv%cY&V)3&D;r)4o74IH6%$57hj4@ zDkE(*@E(M!s$(^LvuxIC4KtVq@wYckxJe9^Dp({kYg^hS25nwol?P5WKYb>mE8Nkv z_omF!Teh@xvA6P3ZvW!%YBZrMyEc1|;-r9(LHy@kd7-XLPpOcY&ZD)*v7ciaK48+0 z*Uau4i}I4bG!ZR)!%i|iM~x9chr_RUcbR%#+Zhq zIU!AzH#W~Zns4asn_Ixcg6=-rxpBpVQZ}&0w&9KIsZL?81K2FZsr4V{>+8dy_325W zU-J@!agw`!{o4iXJ0}iq*!nda3LaGd2^jkn2wMZpDD#ef2fULTI{$P)# z;Lu9aPO;WhF*;rs*VCFAcNG=g!3L++&SA?O(b0ng52@6|bt$`H&Z3Ys3LnH8(UhSi zW8FvOG?%Z)J>OuyT=G3x;hxdxW&6Ni_lu9UJdemG&ST~jJaDD(^oZExiNGq2KrYN$ zT$J8o$O2V(@3UJ|s2yd=ULrews2i~#Ngn`i5%C?q`^p_kclyTB9DmYh$i%gk_uGbc z6}QCjj=`$n#F2V>?t*dv#vkOBK)ibo$l2eUY~xR_1<3Y!dfcGl{05jD&)jnM)%khmHWQsJwOCS zuL27U0x^P2se=Mv8aQeCFv;cgXw@L`x>2ZsD8_j7b*I)jF#qL7x&Yhvvl3qecni6f`H@EJ~t#d@Ytykxuk1o?6b1 zlx7-hZjV!dXz{*ROZlqjMwx-5I9MSW?V~n?`&QXVbZ)zf;Fa0v6_@NvvF|A^|7$I4 z_+9}Lg8z|%p~;Edo4cgI6^jzC-?O{s)IYi3C!zg#@x}j#mFWrdrD0%P>sB1rEc)BD zkqDUxsqMkeKlyRYvvAV)<$!Edp7ar9Jrk5{FgZJQ8Rt=N{&S2LHx_Xd6pFG^u%}s` z1{fgJHYV-xr72PrZp8AgMIHW!R@|A2bPpwY8C7t@Mi*K`L-x&sW-MYMW%?H>3rMBI zCBKT*Qic>3N>8~^Bk3T?U?`E03hZTFQPIRt+!$vrizI~s$pE4wk<-)PRcC%OESKvn zq2nvv5SokA9B(tAX30KJdbQL8<$x9}(v(Ub_%63RhXtB?KMgQgN3DeUO!H!0@)!4E zi^OpVUDyHq`rPy0oNwv+5$NZrXL!+v7du0jRV4Rb&3-QQ6SyT)IVspY9g55KyM^m; z3^N|RBXWi)pe?$QETg--oET35(@lmqTKVvtxVj+*rvgzMC`c7=cFO<5Db`zQd7@!~ zS=)Z*=OO3i2z9Sa;UmC9oVoM_Ra6@(TLZAm{!|EbhuvgP*}__lb5*O6#!5)H4JVqy zh`ms4xd>i9?!6iaN-f`+1)VKV zGd2ejBw;E)qkxyyNT5@ohu$`ejC@}2(_Us)CslS8Sa&QpE>KM*!A!IMkl{?)%625C zVDLh0IAn8hNU^)J?&^AcY1#_KA&F_b zTCki?HC+LsScY7Y`5rpE7Sl>q;8nWWvR~Dy8diPj6!vqN$wO1*WU-yxJieBTMRULo z57e>{l&s+I+;<7$->ko0T-`*Vv1vP}M%p-}h1Rv71M2=dWJWxcwL@>u%;y3s%_H2m z)acMZ@{@C8YYWNH(C{m{01=Qo32SWR{f~2#AbAe#A&}P5Ngenq)lEjCjVmqkzxg(_ z5~)8tM*l-vIT%KH9@>k}{-z%Epb5?Lk-+#ymPFZCvi8<-D&R{5@0lWc%eiRKCznPM zDn4hfD1C8v*MPO;$TahZF61jry_A>9e!`2o@`kYVr~n3~w$J1YDukU~9&CJ(zlTADMSVK_d&~5ST?L z`uH#6%o9=tM;G5_e1_CIAbDG)fG%|w-rb*W%h@%~Vde8aFZ(1QXmeS|Bw4hN zDp2)IH*^`$WH6)tOlDXK>I*-^Lg^kH?bEbh1nO1N(fm%jG!<3TQ;eL!?+jx6hGzlE_djs&&R$g1LR)^}-n;s>clTx#l{N8_ z1uKN&P_4p5u)xos)U5?~lgPDXiM&@7gZX1;CIF2uiR zZ48Vr4M-#YzPBHh%e}ang*rZT)UZ-13_8M%H4u#Yn*RK|VtR*OP+Rb!efTVC-bGq@ zT!rM9#YDuZi-xQP<5G1|Cpb3IM*ftUj^RIJ@>8Ir1}1zqq?|9_OX}>;Bq{$9Zu1YP zCz5B7cU4r2VS~djKGkN_56=KQDHawMUhz4Co01A9J}nn2X2k-VL}-|qv3%hdFN6Gc zM@Zy;zVGc3H|+5FprWeE;ZX&{3aNgU#$(rQ=>HJP-f@FSLE#mCDf8C!Rt(7GzR}U` z#j-I(@PvXI+~ZOO%RVb?{D?T5kIrv>WdLqQ%eX0jIKJV4wL>D9-f|mcTQ+E+UsX)QVsU_*_OkrAKApEs8O75G0_+{}CP0ngtH1Cj{DlC}W#tg*gz(~k%w`EICG zqERtn(&~qW0!51;rkQSTnN4W^XJ&9q-!;fk7%5!~dwT`n+>n_#3OlYnNDk-d1m?yg z>VVrwY!_F?=<^YeX|@ZlQK@rjxhOk8NC?6(Xdwas&4*2OjW>E2FF~agmh{a)1au53 zzf8KwbH6TDpLJsP# zS8anokymI0@GC2yMv!rOnFl@$^skCl6oFOEfL;SdCe8lSmfPPsMB(5rmf?}&5%7D+ zjiTEZO+_1tt>6_hA5e673v;fnxE|~$&>DR&DAAk!#_AgDv!02iE_@IAS|Bs<2@>IA;agBwyyuZiaM?xvTI4DsRt<* z``fSoyz5Mf2pOD>S~e*hM?*;HwUyA0d?s!= zdNWfH+k~w9HUN%Sn`Z(YS)e+P1q2O%k7yJzy_~607cqw_Gk`>cz>D*S9gXh_?Hef$ z@-zbJWwrPTp=A)_7S!>l3WZ279K|>CiA;uHL#vr6bY%fKyZDGtne{cQ zy>}w_D-nFE!fG&ALEmi+;VZWf>ho=OqfHzb2K+0VMVFwJmzA@8=o)C<)!<=IT5@Mr ztd^m9*QF_j9N#bPfl-It$#k224>VL?*RVqx8E>fFcEvIi!a`R_P%@CyW;O8tMVvwv z!?mgCU*dS@t)mQgNjixpL-SP|kJ>ZshhJ9mpa3@)xM5`P@Fcp}B+>Q_{joGs%31XCjveuMRYI?MU&gO2dXa#j_$l;= z6W8PX{c)mmf2Nea;}q|}ACXsh4%isY6;n}I{OT+dvW@0~f=BkGe*9PXu?E6XIy=_c z{wt3~`}C~B*U+QfYE~n%vdG?QM%-8w{qN%`sfktKQVGq-Bde&0rV9TLBqGz}2y`DO z2p21)mS#VHo`|SQZUMaz&)t2c^w3|(|3diT*VYX6nI?}yz%_aMD=c3cZl>)L%$Dcu z`o~^gYp%Xdn|+aD-5{dgGvMXdNtCv8jsAAR-yXI(HL>{uP;5+b)8Q*FNlCp$1y)!KIh=l`MBVoBnFw1jb_1!kIlU! z?UY<36mH*<|R`HoybzW*5Ef1sqQer&?(;QJA=^8#L_J z_TCsdw0XYJF-tkV&04ZVaJHUyf5quFHdIJQ{b!dD5^eHDC+Ef=-rlRSh-P`2^xHOR zvC2A#?YAtwZhl$elhZEF{dLw;D(L7EwQ}nz^(m{D?Z5!JEV5sj7Ple{3hUjgL2E5d&$u&@yLA|bM5YoKl;>^i4MPg;`_Ny* z*eJBLOF7>k2Ol8AY|T)q zv03;(SpdxRu=Owz^3Whob;1ju^*sfVpw+LNxekcq3O{BXT!>X0YJntccYi-xM@Ppi z0XG)6lT~a72L}mh>EJW))Eeje_kSL)*JxN-u`4PnfZf%|)HF1bi9k-tISI&^e-8<5 zI|5=>-`9MOmz$}>y@2JG!+M(G)crwhVPPywnEeM&xnA=Rl$G6=^*KQ}LN^G1)wq#w zQ|;dF@okMs4TT@{dSc*dS@DtSX`dMMJ22Px%~4|T9HTQr+E?IKMOhgk&GH7K3iT}- z!K!*q(KXwCB|1(Wo%kqnB}~vB*|21VWQW!&>_Qbq41oO8JMpruk>9^?G2UIThgWW7 z?4D@7CVUV#-QM+w*ohP9V(G>z*+*vsajnz*Hj69+rqSLziH;XHYTpcq+pBmy7q;P* z9dOKYoqDDV2%|4k?=5^97qlr*^~&(c=@L*Srtd@qH|P$tp-F7s^95l;qNZmGL-;1sX^M3YbE*Vfnm zRz6Zz9<4jsLDHhL+>%j4-K%cDL0nDVl0cwYy@~bNGzPz&jV;qSzM83AS($|E--5B& zGdEE`WCG;=SRhrk6+LU1av|4P?kbZ@R)!^UJ2fZ0vaap3;Zdkb83o?6N~J97{wP>&ge!%elki(b%! zSjZzZzbJDz`UyQ9T*L*i;Bo=&oR99;^5#ZUh969bKJz2MTC7@-}es zCjm9B#N$nRhpRL4L)=`zl4icJBrG{F;k;ljoCjsuH*Zcg7YQ;8+Wnm#4kX(>0fkug zq*S9E&wxKMCFNC_ek&1R&;Cy3ws~jNjf^C~fCC4h;l`fkx7nYW((u2DvysJNik1r_ zwfi9oL9Ylaf+z(b2>07+$%p3tH(Z7hpSX#3ftkLME9Rgq>+QFD&Co zA-BZ60h_zj+h*L~W)mXM9xN56-Wi5teNe42gd7^Oa`H#vLZEZvSBU_debY zIk`iOUj`>h8&w{-G;!#<7X)PX4@-2+l=$>%re^+A5ltlw-2ZgjV6({WzwAm_nQtil=)tOe;#@Rb^E zx|AoRdegzch9{HtUqP(F|DWM_Utou@jJ!Ozc2vFTJFJ$rY_$t(OjAI4$8*rXm~8;I z>UTez!Dx~86S^w&e!~t%Jwvo+Y}CkCQtbFZ9JN3!cb@65yoU%6(bFseM5MEqse&RIO+RcC(8yd+0=V)@9b%CtJ6emMEaez z-oRU5S~mb1j+ipdVqfhawYO=irD|)xtg52g%68KIvyQV!zk%nk`J~Hk*PA?1a4>{) z@Vw^_>Tj%rwjWL?g1kg^r^e;P8wbbC#eywG!+~o`G`F;8Ow;}CsTs6u^q1X}ivHA> zDk2TwwMzb5WJmh?bv0QXoMc@VbU08hJ!e*bBX}`&VHNDqPoF-$`ru4U#Hxd=sHn)I z-=a1G0eHvM3GgEdh^)UG>{m$hu(@2)GBf|#1oijFF}i>Mmh@$0WDJeXs)hmF3r)56 zfDsZ%{RRmM2}|(ebF=5X)(jVdxFn~ky5OA{iX1<_vGe$K%+^G4x4gD1qtj`A*`!R{ zR;<6u(E3@%B=~79ndu0t)a;iXi@m+nyTo^Lov{K|j`H(J$=gAeu1xgIyy9vSXnEdb zZ&@cg%daZvJm9;*Jsd5a`W4IAU0sQoA01-|lb19%yevB+)o&9?X)1R)No!}PUt?r%7Wpz>8hJMqQMhn15wkTGa#;*IiL zqWhB{u>jkVh{OW=N99|LK@(iBt&d*EKbg~`mIrv%o!CCR-o%-DmjQDyYf9&25Lh(< z{&)NR`TPHw3{;o;CmDzvtM?x}h#p|F3KGrqz%OoeW$`&tcXxM-P|K^H&~6i~2z~j5 z0NOWwG>bx6ne9^l^9WccCV(4G-J-mg-MORkLcF9Xo=6>Is&d(>f2!4HW42u-bY|wN zJ$lq`j6u1*mtUr6aO;u2mpHj*In?nf&DfK?>}#^X{l^vM=5*rwwq>WQeb)3&b3W{Q zyWD6fiE)22?oZWIdtwEXfi6!}Ik#QzKHBldD%!J;_sdufOjZ?;4=5mmK)>u?d}rUd z3=ZG#RG7SRVa>4TG*Ha)_YpF75b|K8JMmVJQ!j$*E7utVh_wWz8zzk8JPRqmgxLA+ zvY@w=&sg93327CiOk^KnU8uIY*>U7I+Ah35m6HA*tA_eN*n8`*xR&U9Fap66Ttcv5 z!66~IHy$KNaEF9o!QC}Ta8GavPUG5W&_D-wcW7LK>lE+Jo0-pdX3d&EVAksQ%L}(| z-KtZkPMx#&uA5P8g+xrrg?@J;sBeh)8E2{sC0~uT_k0;2YR<6Ik_StoMXwV zSq~e~VFVVNqf$2~$E6f^FWzGIw;qyocdA?yS+&GMmFWooK>UoRlvYy>P#h=}%b{?2eBnG1`fIu#q|pn>QB9y3!f^^eKk@;lCzCTB-tk0sd-<+8G3BeuWZkk!cPZ3b z+K*Xy%7%y}e;33<~9zP)k$oKU+LS zgP%b`Om$71N0w$yuD(e4#cZ1=Agk60p}(g=2;LU>wwqz)R;L$ykBHpXiLUOlv?|mo z>1IK>@IA-hiSWe!y1$NoP3Vdly~e(#lD${`IY1EJ`AqKu3-g!e{uqHtvNz)nPh8Zu zRFjer?=wvKPVQ%YDVZfDowT{9I6+JwJ#lvf>b!MWe0+w_Y|3ulom`pbB);F?jLV>n ztU;e=3-^0rcxWGLxC<;h6}8*1_MBp&cqll><3Hq z3$}mQ0y%##i%0azzY3Z$ghqW5d#DlTe5$~`g;7Q=TzZP=hAddo{dX{k= zSZHnT)95jcWva2v|6`9mO5gpBv&LqQKFkx%!f4{V$}MCS<$P_GEh8)(0NX^wMFKv> zVmw}In|ZKgNxNWj@^vRuJN$hg3E&*$Y}5GNP8Gm(qqUl7!jHrkvo&y>j&8OdlCCT2%C!a46SJV;=X}r=0RpiEhb5y_Y;MP59Utjh6NFh}R?Q*xuEiljHo(uL!fBE>2v%MX! zMt?6#qzjhdr`y)(iT2W!-52U(3sk0G6Vpaz$xHoF^y4lPqIt>6Mii9c>viGhJ^GxJk8YoeIHqPIh_woUNYaro4#wg!bga<%8EFlsk$ z=(2d@XJq|R)Z;gk5fjD=Y@>f#d|U~H#I<(kJB@C+_nshv&{5z&x+U~@LwLhcI$Z@m zus!EwJU7~G4*lH=@1$0JguS}qE8iX4K?q@7g?cM*{E{^+e@uDyh^f)R+^D;gjK_8b z37m3&?ZJ`Vs~INh>s5-@<=9aJEZ+QXro*ntfP2d9*a>35px;yF1|6>kwbj_LE^Pys z^F0yc!F56d-FL18^7bDAyrIDmN|U*6!29=mSkuv<-MmY#*XwHmj0iW*S}ff=L zEoL^FO^-c`4~926>Tcd$E&2InGy}?FhUXZ{8^TV(*G^agAcYfxoEqVk^HHBczrG2B z?EPswmaqW;A1=FS^sY`-Tc~&b0fZ}p96Yp37>)P!*(X|^hV4N1w7q4Fq2bLhHAYHX zUP%%2*s%c^-0X_eoD}Uv`qf(^qy?vwjLR^mM+(d$`*9RYAzwP`Bn{kC6{1NLwPT1$ znN5OwCYij8-CQ}KM&GNthkvnmC@*N|wZ|b8X*)yZ*lvz?;TexV(F>Y`8Z$u9CvG*; zOz}HQza;fJq!T;1%BkRa1Gxzhw7{fW7L|FDq>3i8oz%-qVZZ(dA})>uxUG5T9~E`J z0#;E60Eiu4Y^1LM{^NPe-IZ{3P!m9qbSHaq1XwkOq8`upG!@^{Ab6aUj7{Ub-vWN znb`UEnV%AO-Ag`g3tFZta<5rqw^56acg)3Je`>y1$b{AjH3TZ{XSdH;zT#;q6~f@9 zjFj&BLdq=lP_L@y_BB3(UOg!!&qDQVoYrmAM0sGb6vO++(~qBQXb^dI%lRU8ZrWRv zZ)+FV^dmA9u4Ly4N5s&$F|hQ8P2OY}tHzzN=#r+jwT$e1++WWP`TA!~jLwkk?Ps}6 z(+{_pxa(0-*p#EIVkd*Ugm3gjjcBY_0*> z@>+>OG6K}vYdhZPNrt;yw-!?PKkOtrY`MF^0y=I#^@ZGy^MB8pd8CdC zz0mLWvtr?$^L&Bl0MC-Z(+s3D7kv6*?-bYerdv9M!Fi=ySy&^Y#&8I~@$*QT*2RyQ z?Rae_ghRUdJPe6#E`h<>9i=Tg%9}(R@>6h}%?`sx`38p7jxPAyA|gbQZ+)o zoE$c+8Ylt1=6&^V|GxT{DqwOc_`e*qvtE zrL1!XO6j4SmrLywpJrmm-ereQiPe53pWA*3sa31G4R46>UQzBysE(4i*wR3#%-2F*X8kn#4(& zsULKnSqy>b@{N zBcp5#Q5WrS)cr}VvPrM1YulBrUvxFwDQn0O4BPx@cbwOc=lnBxTll>>8m#1*$+LtH zy-ey_fbY)NVLB4B+IIa=ZC^WaDTnBc;OFO;DLRyFXnuO6)+V<=-~gJP=a<36ungNH zP7f)$YI^(1WQc+t8d4{SoH}inYrvb+WCy$q_hV7GGMD={y6dJnQky2z>NqNFkLROy zi}~98{{EU3z};C1-V@nDgE>(dMU=~zx-+ipFEDAp?-}Nb;Gy#j8I{Kg#Va@06cD3A zU6vCj3wATNryTA{A5ZEDc#IsHmH_Y-2wL2(31ZQ-9$!~z=R zcjA4ft&l|Sdf`#|S_SQ(Cf?8d%)5n}koWB9=~kXNz3vNwFIR(h<%t=1{>S`hW$OpV z(NO_4m1b+7csZNws*!bZtmmGvr9N8Ho8%%R=XLgZb>mZ!yBV1ybSHzxivd$vj;N0S zZg!6yc`l90YPOp83NI?|)__Sm{H4BwWwE890Cu|HTsanIj*X)ur1Y~PDhreF*4RIG zBZ#a^CscJy;tXBP*O5wR&Z|+k!h+OJY1jUeRj0y!Z$@bXNxWh)Sl9-U;2H~Lkc?ru zYmVRU@Ks5!F%?HE(TQl4>uOPX9~#3C|+6q`!0dwBVWKs**L^zWEr5gjEx}4Y@ zBg0@}FaQbi{8pRalZMd6?h-R^pq9=m`B}x+f|^e4E9`zfQNR>kOY}{(`Ut7TaX1g! zmUvd}vA?`y*^c+C5aq(}QJp!`<>W~~MHZ}s92WkVb;U^vgYSoVqyevI>1=zSYKn+y zN~z8ht|C?zR?kA!c$vC)b~KIRV4@Z;EiYy4UZymCO+nUe6I*JP)flu4D8+No<R+WjdVAje^_k7I{E!xY?bv*bD~$(XNw)P$+4XeV?u7kRJd8b ztLy2l*h*jt}Qe)y3YX)#X@~2U)H7!0U9G{7T+x3Ty10 z9BiNe>?a^@def+ap;xblq-!EoK7Z-SCO9*P5t?@Kzz|3hFD-CBPP7Mz#EM0Wtbz2DJV9v-Wb$_bNx#4lf+LshGQ}6C7h6nzCip< z=)&1B*640;3X^6yT_sMe1IYB|r7)dErg33`EIyb5SMJmYL~mmVxiIO}?Q z;=iOj-Pbie+L8*S5W2Jo9V+^GG_0IPkOEwdi7+HB^y&$bn>4KF{1WHySryMVI7=bmNUfq`E(h?pUHzU7&3ttVOypX`K`d^PUX4Q zx$)8(Be%F@!<#pTMzXotRFgSj-?Ou3b0$AG*4)0U{@`-cYf`te9wL?_hONPeRc+N3 zDpI$$_GD#d61^@?)y74cn9W&0tw|v4Z?vqLdY{GWPX*Nx%#xX?2OyiH&{6Oq@8JG) zae2JCEQ2fFtIzL!>v4X54rHV0dZ`{l!Gg2VElYvl=&vr^m0}!4VW}T_XRe_q#9s?k z*BAdZhH!5{(~n#T(pUrGq-=E_{`tjz+25-fR{`(v3L_G^>HFan%(3X;_W}^@Y-5rN zfAJNtIRNX-4_S9+pjHfOPY9utMq$hSII-y$yLKE36m?3RGUm?W;bc7E^(DfqP<37| zJnQ;ftKrV3`jf-J85eoC)vm6JAl5Uq>VXrW>0vWpX80H|cRJ%5Nv{IIO46N&jkr zSG@x?w6?mA&Q8Ol)t)-H6UIW70;=2ve}8}4*`CDzM8V6jfKb?#jgt%0z1S|`{9%&v z+!Nx(B_;i`PBs^GMyavM$XN6q0BKw;m*>%LP{9;Vkj7mGyniIJ2NJ*1-hTdLFwQ7| zelN`nkEByb!-oV%3Z6cvPy5{|A>63&HLzZ$2Y^v%v+V%KI)%qqHjy<`EC_SC{a*Yz z3sfxbp`P~6a_!?LpFS;u+NcyD#JrME>Y&PQ(=h)0*$AAC0Pp3sR<(KOa@M1dy74VH zrzA14u@WM$J8{DS9umkjLmHfRRldX*B>)9RT}&vh!#~1Lad9+8kL&Wq40_`jOvj6f z0U^W>XgL8XCgeX3b}RSr!wh?+#0Px`$WNYR0T5FbWfEEeC@ZCTo@zRhtWVS4%ZP*( ze$thenz%0r00A*JO|lVbYty0?pc5IQAasEw7WmW+6`9Q6d@1xmX2`IQX$D#4l2O@9DPB6jl88oX%ikC-l-rPLg!|%1gTW&9lG?o{$n0;OUuA@=rCFTPSh~>%wAv_BN z8UKrQNA()j5_wEuJ-k&Z*IImS2?EcPa-X6xNI&`|;ra;ZaC3b>%4uZ*I@36E9kQgo zN4Z2JQWTz5gCBl2V%(ShjM^nMAC)$pCfOhX;zio3OI`xpzg4D@xx1~Eu!`;D4~Vki#8hdI3Kb0ocQfjD?%r<1yo?8tuH z*BCvOcZhmZf1u05)dg{6lKum9zs<@%>%kn%milbKq+`Hf9%hkuz?VxzSH~(n#KfoI#1mj>C zj-uWEpKd23Nam^;t|Z^KH2w97D5{%3r-QncCNS5(v$AV%8Z4)zq@hia~!HE9n=_sFSRK-E)7{zhmKTrE0IpAbuY`1lZ{`)kI0m~zBGB`nL zqWtISmk)K3=n=58a_s;A_5ZJfe~A_s7q=Kfm(~ho*`lMOeCq8ts9wKT^#02H?tWSx z&?7vaO1EM>x|dtIj{`Q+z4h!_N*j;RfxMf)`(8bYs;X*mXy}Me0`WUAuNn6fAw)v6 zi0s?gC~&V>^j*NUVqI&m=}Zr#htN0D+)LKk|483AP6p=CSv)vBR)ilZfkive`|fJN zJdSlUki_a<1n&^2LoW?xilL&Sw(@SI_+zlvJvcczaar_5DFd=|fY*DkQSUr!ivobc zKJv+2OJ9lf6sgZZ%1X!cWNd3A=JP;WIG}rF=H@;De9SaA;;6(&8^^$}7Z$j?$3)*T zNYTlMKv@4{PYi9{dXmMx1l;Pz z22*;6zF9XYD^gwnl>3F;{SZe1`}Ru}O}q{gvGCJVQ3;?+_rMi&J8oTS53-$eoLBc zxS)d{2u7;wIug7fA&I9@K3llEb-vqt=_d0?H~0Z^6NV#K@|OD}C>kv6Q)%5YdQf@G z&91e%0~7VhIMU5-?SfkNh49U$LIgXwFyS>2EDwjXwdkM~gryiGu~J_}#5BrHe&Lex zbe?ym^SasAXZlr>2NaALd?|!H>Tr(%nVMJfZ;S~b71x1N{%Dv_aP!aJUKt&a!_M=G zmfIXX*6+X%6oX}M1-;GS_L9tiGC1QXy1OAVgIQ~WKv)1c`m(qU>=-Xc)=z1ut$yqgMH4}UuXZYJ$2CoO zg%TMq!Q}^xhfeR`n)G)7BMAo5^p~0nL%O&;r)Y|UkvBr0F`m&3CS}0g>MIu=X%GMm zldnacSiLxIf6L$k{>qPM*F)oj2E0NzVh|i6HD7@9OSx~X+U^=+}f|F(5 zj)sl;@E%wVWi{M7vlF5#fz<@HGSOP*+?p8l0{H%elt*+j~=0L~<5c5VwoRCEJqb$myL!e}&?)W?I zMxJ{vU~*DJc#9GSEH4OH-u5x4w#@zdr?Gj8mytoyo(j+X*UdYSJ;FaO8JYOP@Q>SW zeIw`N=k?T?HCghXKOb}iquKCYzbHZGxB`j)FpzD9UoYZA{M#|t)B3|=3kwS+b@dG% zxo(%xDzKwagB?XL{rMIS@| zA;XD`>eXME zt0W}U9gh2K~%wO;@QsVf(=j#hi`oprN;MaU{)p>sXHE#}(KzDIdY<}(cAxl|w z<3B{dd^46x#vSN4|AyMyepF3$Sr}_RyuHDRuP`P$F|4&X#p`+?S>trUnT$2}({bn5 zGvUCf15~C4sK;MANGUTzS4whjc5}`6*X^80q42$%CmLy-WL5ve9vlmf^UfB!hOy?I z-a71t{>4uH{;BaXA9EbR>dFGQ&Qx#yp)%-F4xc$k?Qg98X5Ym!n@iA zPnT2|9jw6zva<5A4VB*T>>d@pSsfj59POZ@v55n#FI4auzQYRt^-a*-wg23&xdaxtcBi*nnB2^R+eq2*WN}s zE*GS3;e}rbgJpJimMO(@zzwn9jY{~ymK^cMBz;4vA^ZG-Y!?1%y;LATUTE1+bk4vDGimX2}crLU){l=6sIRyMk`7&&d&)t zCAQqn^h%OliOab|uWV&@+@F%0SA|AguF;;{S*7_V70M7Ld%Ij~I=~SYNfaCoJHX3Q zxO+}pg6n)1s6wsg3fCGZaC>t{LnZC|Fl3#vztAM-PR{Q9)tk34y{uP-O2QHS;* zr@rse!ZiK7kbJ4+k$)gDm;8cL9Dm+C^nm%I5)0qKdry$8SzBVz*bTE6b<%wwZae#!7uWj?`pKZO#Z+ib*cIEN!eqjqmKV z+Kn^2Sa&=(G$)%^|K*hIef}hUz|PxCq3+;}=k{9m+K)T6>J^wg&a2MXrGM}paJCu+ z8zSV~$-A26NfbX!G0*SP;z<3dNT}}2661}Eok)o-=8m}4-3W7WF4hRN)=OT&J_@em zaTId5pjx)}yB(jaT~a*7L^0P^e0_V+VJ|JWZ#MZCQS^=fMW*woyv!QRHQGMv^N8F{ ziAm!^y?qW(OJmygSr5)aI9z8Ib{(=Y7WxXUN16B92S5IP?XaDi z$ve5%IxY{~nTcYOJ8JYH+INRBM}+XLIE%b7Ij(8!1LPajq;sOH&qH+xL^Mi9J5-a7Hz}_a6u`}O95*;0_ zQD*QE#NE0`H{hnHPHpR^wda{v+p$$%LmL{WOWulVQ9&K#O{1r!w<{6OW)auF*!l(} z=J&pIBRYf_EsN$(hn&9HeZ&2NV->=YfKy%jE*DYDqMMaFXB;RVp%_0DHq_IMEU!mH z6B6aTFN|$=Q^`?VREeZJp&TS9R9!RCk5=W$!FN77;#rfnQ{=@VHmLn~OvtYm!vk)> ze=&z`Yh6!wo46)hZqv`K5}%O&p!Wk?18#S!Z9=I{SsJU1kKcUO%0_=`k>qm!hdm&r zDFMitg@uKKrTW4;-Zv-G@+YMhuh+u%oc9{qbE+Tu`aZvDVBl%Am#TE3Kszwsb%r3x zkB6p8%^Y>hbjp&6XSLQaT_-X5J&JEe}TtXE2gDKGB^wR zRQdWlUNAMU?$1G+&5IaE%}nj&EHs<1=FLqW554Ot-0yJS6yB7*m{;N}bEU?#TJXy_ zu&Ko`{)V|u-yng4#q)e>8~&V=kT|=G^5d#TfcSUs)2r+5{qA3u+EI?fW>GcTw49@3 znH<6jwy|$#;YWX`9W0NhHa_ambp#;{35L)-i@OI()B^oVAcNXM_(Zx6IC?Hi$TYOH z;KL@cCyhHP%v%n<)?O*n*qN*Sqslp6k6Z zHsSW8i+x_n4~KIjLsxY;u&+9#vHYdn-gni7_B*2(uWuVqOFREe!HCD=*M2Wl%7)a& z#kLll#@t9Sy(&o7dIAPj-4oFVpSWd7j;eHwMZYBR=-ouc#IP9q`Ypx?e}hzUnN@Tx zW%Vo5_Ro;tq=ITq&y%8WuMmQLeqKl7@U$+I4Fi+e82I^LwqGE){L{Kt9S+zYrP~I` z&2%D=2}%T@JhTI$BkVOgcZZx1yYM`njm?x*La0)UAc?Op*MhL7P~l->y0_^3{2Xg_ z>YEkGr+4vZ+u>TLG23Q=ND9z9H_ENTBGS&FyRF*i+-n}yXL|DS8)Rw=g1TG5n+bj| zT`$-T3aH&r&`GB+LfcL1cUJ30yw_^}X3*kYrR}vnzEb*Lxv=)}N76pq$kE5hiKaeT zSqcr~Ufs~r@bG6EO^bNHp&tEamv1X^(i2K@(AOz_)j&YPkA3Xt_vrV8&%?(rah8FU znh=0TWM<9ZuT(**CQ8VMs8&&ePtS?hDqBTayj0@j4f}}F z>x|_ocr^OdOyw)mwI6k$+n?4$8)kUnu!d3vBM=l4CE!xFSWZReGcrMRWEfXztIuqy ztBpPj-LEd!Ct6QB$%H(fM+zLFVv_L%05nQIb0FA7=w~NxLc9dwCWaSd2`5*zfNkyWL}9($xaCgFOg_8u9};kcNgSpVxhje z=Ds_CYICBQZR+X1pn@2&<55zdB|J1@%&^)y6sl+LTtLzlfsZS=zPhoTNn$QH4e35O z{qf0l0L>;~kN0g0>yovfo~D-HF5JtZc%*kIt>uSnvXtjbYFpyync9Vr@4b+hW;ZBq zDv{%VD#)AN+qG(UKIWxFE@E4h2#$}98+3N>L1H}v!$q_bnthrR9(*!y2HWfE-uz}w zkakT+Nb4EdTgXHLk2jtJFXWATpN#ZiO3H8NVcNuxe^%|Qg^W^TN?}=~`i%!1P9<6q z!Yv!*#nTM$hw?H0IXJz%mLKHys#KIfVI z$wY{{UeRf>HYW>MKEEqcX+XH*9^z-!=k?|f6F870^~w~R)AkD1t5fLQt`>6<_l%a@ z5OTP`!Wq%?j~wx!4`bsq=u=P6Ec}TCPBN(V-$p5vY|7F%JjOu5%kqA3XARoL7swaF_j z0(L(_--9vLi5j+(P5G--6}r)<7PM#DBvk!@my^@*geV<0TSI7CX}D_rs;J$kIEm(o z#G?xu+W@ORy{ruFO8uvQd+#mty26O~==2jchX5{KX`STFPz_!7X^i{G!-ff{WdAAD zO7%Cz&H>`Nb>ZHyG5Ah+8EqC}{Z z+-eoBEnmvpmiU+Pq< z?|&!cR;t}ZJ-|n@q%J%PJ zz-xZ;j`e*E8}D^Uj|(_VuMlsSgN;C}4-0;Ma4NujHz{b;xQ{rL?%A>EA*`;pWTEH4 z&-S*DD9|1}eh{NQRM-p0Nl*H=I5^J6JM@7KUI#Kh$yX|hgMDkzu@}g?Obo&UwMVg7 zhjYoLuxg{lLpthmDFxY@_gNj@w+K(}1*3)>gWm;t+QTM5&WVHsWOz{K<%~Vll?KC2 zcE0%fS+QC}$LSGT?=D=Mzh#O3X}FP0gtFUF{tni^86ReW>ows9IaxU$+P0qKjq0wc zDS$+eTdv&6`ZL1U;2E$(!mwKVYgsi+YWyS}MS?1DKZ`Y1}{jV!nZWlR_=g#%a zzo3eoUh>2dax54Ty_omW^OwaY)3<0mWWE2`zW%&>`}f#WJ>4QWM^IqF#`u>fTExV^ z6c6l{i{2-7K9qU8bJ(51$P-_Xt42cbj>5U;zk<{cbn4>XB0?3KVzSv=JT7>5=IZ*P z^Uc}aRJ4^X3cKYMpYJC)J%B|vR#6pa^)o$t4W=Q^2`ZYkVz#5UB3@f|WE#}E(WJWu z`TlH{c<<~EramQtrpK0BcalrDLxU_92j|0wdx_EC@==gE3!J_NaON|(5f9DykzAmi2+(HjmK>a$W7X^k>P(7TI%K6(?88 z8T%R}kpTZ)ZR-Alr{)3sbhSBSKZe*TjECqf#$AH?jUaA3ZMA8>HOLtdm@{oFeNbKa z{8oIBI%_NbH#}d63U;wTI#wGI2EK0r_5MpGV%6>LYJ<-s2xP~m){ng1W8gAIu?>`z z(7ctln516xFWRTny%;i^U=yMhC?siK!fc$kR^{TEvi?(BnZ$0Esf+s*`(mbDEemH4klivd=_^4|_7 z7cOCvDhcCtVOu1l1JjWSi6<8&JcW4~?$^OTl!0xbf8G!K{o;ImzgaEY=E^bi^ab9q z+sj;Sbli~zgYIAaX1R?ZZu&!ELR{eGnxw%#*h2b4#yai2bDB)z$w9!e zLkCS>{!ksu&kHO~se;8;uP;}d?zLaqy&VZllXpv2&S}!SJORWa_EPeEGCeE~;Q@Cls-+Vps zX3^Zgg3rg`T>PA=)0i1jHW0X2IKO>+e+m6h-^Apt*TgKbukO%7*cw`aYDG?#UO?`dr^N z?)1K9oa!%N4ZgnQ_QYO9$#U9eR5h;VFvNLtrd%gvgSe?1fVQfoz466C(+^wIP2xaSRTp-iMC^A())XIjk| zuxuPkRI-_R`AGwHqjKmss70Qa@MBqB-F4v9Jjq^`{df>8Ekf*4j z5e#lCnDsoHla{uLM74s38Z&w>Bs|;lNvs)fPpwTLzW6>mHkw}~4adNsG)m)o3759l zZMJFvH%YxMXU9ehEMjzCXnX!*+=r5GO>@doB_Y6I<5FXEY%*$Gm{9PE`PE#NL$(%= zvx8?dCVOFNsr8OcLuzyo0yy4_V^Cu{h65788-SPvI4u-#Q;`!YY=^e_sF%qW&Qfat zEzH6rdB%QZa>mH|9~J=5H#nm7!vd5L+T^N9 zW!@_`Xf21k{9$HccZuRAvrqOaUvGTJqUgnF{``oTg8=V~+5#MU2Gn-Vw~?4GRj$1{ zpRqyiGP4ofg$J-VMnFL-I3mIc^>Q4leSh8d(v(TMDsOU9k`1WA8i9*J7+VCZ10-6V3;#3GV-N1#hz8v?zCHGTxBR-p5MK04S95ah z=-};t*F{BrDzXsWBaPT|Gn6$sAD`m#6f8{q)!Khzn_pVK)Rjo*==9gLg#Z+p2o>+~ zD4;GClmQYh6XxPx-DJ)@c7U(lSGSp){Mu$w1msv#)FQPk2@lE1Em__kp|S9h2I`XN zME=HiujuCC8HH_VZ0v=Kh=n!{z1vhpaQ>d2DM*n*Xm;mOy&7`9$_jUTZ|6ivZDR4} z#Tu!@10`F-=N`(=leH#2(Ag^pJjb@ex?w?r|G*5qI<6#r* zyGg=SQ`y)GA*Y3+;$49m`;#@1icrQPDG8-#g}vKKN*eyt=4ZsQW%*j-9ct9fS%lHH zW2l%XH@E{4s+;*xyM?p_MvV*Ok0_(otx1jR9_`@XaS14O^z8x0_hrx7}nF}zRF|8|5 zr>XfoP;*d-_HeRB;9-1@l+@cp1{{PiSLg8U#x~bTM8s0RoVl!aJ>7Jt?IBolCDR5YenkzvXUD1 zx4Jmgr)72DXBs5OozAQol%vOPB=IT#U}gQ4J!&hn*2Xt4@?XUA)6>)O?~}Egy)B_R z3lr@+_>_L#6fM2e%dQzz3eogZEt>ezo3Gn1sBUqH2J#vXafNXI1NgMdsOrq%M@50* zOXWZOM!9EyE3#hTQxtZ%I)@EwBg2WML9){~1Ktf3(Oi~8=%SL7Ljg3PVDoHrRHX&a z!PaG>O9P(_UCM62^wU%47S@qg6M5&c(`bmsC&4H3^Z>%Tjo-NU%~PkWW;$@T35TBN z`5x}?4J<#_4{O>9Qk1f@7g=(!+#dFSfRtboV++i*#t%#(;JLmIEcQ;!Yd~6ZTdVUG^*P0%~|w}@tAnH zerEjBZp~{t($0&_2oT@!U>_DlOYh=kpQeJ)!T-qbMGKCDrtm^T{R4td&NAegs3e^5 z8bi?m$#O0 z%<-q#Pso#kXD)F*K@sNkw?_g(HN z5aDB@#6q+7oJns%hdHsQrrURK>EN%|>5)^!|QW$FX1k( z3*@j~NOY`xXd4@KlM3;h$D!O8PV~2_Vc`!B49xb8u^Y8A&%J^dosDbwrvhL>(!e9+ zIk?v$9V9Wgx28H~R*~kXMCO92MQDAK1?E2Eue9*5s3E4UK0{xVYS=e7)zEC1c<^&` zM^hiqQW=RxB@wT1<;+JvLwA!3@c3IlOPA)I@${tnnY47csDs}L*5RQ%oWGP1-EE`X zdH_%zz^k|+13eLKnLG3ZJ8?p-!l&EoyG-pRju%nYe~Zh%MnUD87R^b7|gB``hZ&y`ZHrYGq?09vMvR8Qw}}Ct%q1U!f%gOA03wXV1{9Sy{7uW?J2L) zRZaEjX&Bu}FvpJh2XvV2fFwK#04~Z2W$_*CT`j65Armr%;U3`q51kY}PSo91%VO|-2`!jGqj$lA!eO`Q<$)0Vedhyyu=iwJfiPBz0XYryzWfYvRUeFcHls^f%NoIz7 zn4B}Hf?7Gi(3J-r4c|6mgJ(N#Um^I%yD~Z0o}!uIAh@Teoik?|)(1*dH51YzOPx8@HsW`}Sx+=U8v}|?8aT*JV&X!5B9JqN z_vxx&bZ~Q8P~Cp{qV7yBd!fmW2kZsEtJv$&Dr%nf4}^_l#el9H&QV8=QcuJ6IC6QA z=bo29$7BGCrdlH_BN?t;#EA}5Q?^{Kgk{WRH~l@8$jTkQdBP&QP@|?9c@lb7AB}}x zZiwhH%Y9O}=_&`zAb*od3^LIzZ_R)X)3fVJ$j)%@nfM0oCpD@tmTgWMps|J)h`pB) z`;_7s`AWCJl)_wlHi(t_=nu|2z0;J#P6kBR+Zt_1B6O{xii1tG`Aq`Iy8KM~tE+JhZ1k7Sn85Po`baZp zCfa4~Bsz4h<70NUsGM-=32|mF!#{*S3qLnDW|cWA#7@M`l!VE3VWZObiwz!?`m~9e zZVBU_WYZCU46bGbd!9W75-{+_YOU-H3)(SBp=>};oU1JaHBY>&-aFYF|b4`R&$#yo~v}cqG&>yl_h1ye7PE{j(s#2 zWW~(5pW@%O>cGzK103pu{9ToI|7WW1DZaxG88)V;zQsZO=@8aeyW2~)1xtE!=rztC z9htEv9u|+f) zv!Bv>MKGfv7%CfbY|1!?cUC#EPU-DkpDnG`qH+AY;l0hFpn4IVU?Cjqj`;PvHI#~SeRRAszGywG2!cXpgRts9W0gb6AHX-l1 znc|7mvy1c54||lN1n1Fn(OG}oK#fUxT zhsK?#w};*$@41pLpF-x$HXi!!b^qGpGEn@Lp&B}7TKk3>_ZhWGKl4S&bZfgi z4%Y@b65&Sn-YP@>54+TTMiY4}Bpy-jvrMom|8)sZloR#b80Ou!S-Mf@>VIQQu&LdJ z%NIiaxAx9F9LoRQ;|wxHvM*(pIt&>-le<>zU_y=JVXo{kcEy_v?1mMvwcybGekd zxE;CrG{=9}S3#TE?jxJ&!`>gkO7oWuaqD!nbe|u}s;~>i> z>Y5BcD7lkVR97>AUgl0YNI)MlefN;({x>9xS~QxHBq&i+!9~*9N`+%%Una7i7r|`s zN@?falq34C7K??xC`5B}(7dMdI%{1v4w|;6(%{PBf*)q=sF!nySCT7{IOy)8ukHvM zH)jmp)v2t+UdN>MCJ$3;=jwNV;DUukz150#@Cu6BYs1>Ujx8!GGIr=oY({wp$LZXV zFW<^RQzC&n;|44?P80(bYg&h-q@z_bs`0t(WNjl1_GfmWNvv@BKN0b;1_? zL2F3k0V`X~`cu9>L;bL*e#DNMfh+CO)>gBVnytS;)`vuBNFa3<14d$m6ZWKYJ3n90 z%t{KySUl0aVyV;c&-aYZK5!RD0ow>@EPad0-_#I#khB`L?&z#bcpSXV5FT>$u`gw; zMpSKOk#(87*Pot#F*NVackc={1+T{pE*3pH=(0TRbELVs&|6wJ_1qbLPVp=*R&^-z zUB>vedaq123m$H2iVurZa^6z7vtvZaz1U>-u_Ei{lrPQuLNyANp%qe{q$@s)E2iH!V{t14>5JN zdd`G3wa-WUj_S+NW%6b|WzF!f>mfME_%UY;;B1{uvH2>jZXrghEg=E4@&RR7se|fi zzhW}iZt{|hir_A(G8g;{s>tW{v;)Y@@K?nqI~lp?Wd{d44KPvmq~nr{SA+SH6WgY! zt3!d5C>{_dczJU76;RACR}s}Af#yDUk9i`Se$$b!;i3-Wc}h~+s;?dIeZk*A7v=fA zwahFp`XtTaI-d7jZ5T0DH`*$lP`7if=qMUqVqVXp{q#{u%buufw{F~Q`_>GeF#-cx5u^rI;XAB~bR~i+ALZSY6&}3r>ofG1AJl2+ zyfRj|G7%cOw0UNv&Qf(;<1>_oHf$JZSl(eXjzY_7m+!Fo7p2bKl*B9+iJ1ZFnQ6;a0g&o#4UX#2|K9|%@kbn#?D1)g`cUM^Ws(tHT9J-#P zWJqUxC4Xfawg{!6a)o(u(YuK~eIPn%Xp(d^D%Lpnn(H$4(1=`K1FYt1RPZ)07_x)i zE+60-ZKzDgI_aGIx~eC;ByF8p=7S3hQh}x8YfNH#$#iDC>-J@`Hq>XCA4hqbK^zn7 z9b?y`I{7S41wAOgG^_$Ogi{l=h(x4-KGO&L@=X z43Bv_PEQ4}((1goyjQR~=%Mcc*0klg0!n76uZcbuHX?VuGlpCt<>67!mg6K^iwc*@=j8mKh(No)DmzZmq={LFWrfGj5pJ|Y|V{dr|$tXoH0WTUlkArkKlJMWH>Vt{n z9mGh%s@-w5{$GC#gXaUM_2Spu+l_QU>m|;cBtMBAer|B5?mlzKHa$nc8HKsZ6GT@D zSh!8Q;Mk7%?)}Q7?|9d4N|GzLe%|AL%_jc4E*qO}ttvyE38Jb$hY=0UUo$?p zz+i9R`0=l1|Ad;;Z}i4%X_H3mM4!pSN1R{==_eW`XL{tuGem1dFF=f$J)3jvIt<9> zhLswA>-D26yRjNtL`NE-S{@9Ih}PdExi4FmhQ~5%dTu&eJ5Od08k)o%jf(Urn_Nhx zRU6t#@*DNgbDn-*&hoy_rW9+4F%)+G;iTQ<7B$OeUU>@Jvd=Q~{Eqd_0+%BdR%d^n zUZ?2&M273bj9yL1BKIC|3wqese-q>v{ zzS@nY(T)~Mr`B&Y5Z1OUsyB37dh4w!aY@=k|6q=_WWR7)pnKCasp%R)fT)z?)do${sv=)iM5<-C`pESsI|2Q zXJt^|WdB-i{fi1x#!gm7*g2WuAs<~Yz~xXHR=UYm53?{vlo;qJs=t)8l5-WFWC5dR zld&ifiF*gD%;A3*0TEH!c^2OkOE}e76yE zek5=&YA6+CMoMeKhPWfo^3^Xv%Ls^@vusmkrM+rhb8Z=REgTNj)t2a|Sw_8!jXJdh zXBE7{u8Gcl%XBfMdEAt*!t#&RF^3!9V^M0JeXGdpQu_J++XvnE#F?0tRLickN-@^G z^A)3Fvu@fhf2~&&)OaH~fA<%A$+?gs^Aqp$wPQX0z5y24_}!*AZ|J?eyr8tS5@UuL zuV02ESNW1X2NLEv3M8~a5|(wjHs>?=SA%3HSPi;p;c!8aJ&Q|RyTQT8b}sHCR+J1< z(fG=u&XK;X9_h6h8nxY0#rb`4^QxcX(+8fqsP?KDfuc16X3pkvJ0710=&!iV(QszpMW2M z1B=za{4HoaOXLRiBUWob>OhD!S{i^dgn*XZXArolRJ+sldL{A^5`3UEGT~2di8U6o z*5w@G{G_;{#)YZ9_T$SXo0|2F*BxBJF_`T0tgU>V2`WF|ZTyc_04L_{UF2f5TVcP4 z(6bAxCY6?PvFVrk3@s~*e&y?AhV~wl$&`NBZldi_0pjytly^VzTz6+nlm{9xzh)pR zNs^$z-5Gvi3aSz}%hQ`Is!!z}l~Pm==hdM;=L(1gv3y&DeXeAyt<^)w(}7zvkGSb}$?VZ3W>79XLqLNP44J9beNcL( z>TL&AU%IeoX*r;*hDU|3c8geAVe(3^Q&=(zytKxePKoloP%JHIq*|y zW_v5rRgETJ{_TWyD+KXl^aqRy=mbcxSkPWajMU#WJA9Sra%wfP+ULr;UB#nxR`yX| zMlHK_Hi!VWji5r{SMe_uIt8cyZnaij53bVNe#)N5X@;Mi{FGBkrAG}=56$ZSxjjVV z)}I2-B&o=Le&AfX$qdQ@`5sWb*Zb7CY<8B0eD{7t8+~qCaNueC;E-GI0;9mCTGRbw zd~1O5ec^4>H!MAdK$B1s7CuQj1eyuY6lPd`0H)A#_gHQq>3y6j=>`KN^r!O66nqCA zRba^-^l~rH{8J?Ks{pRAKQ$lD-h+eX*F!N!iPEbNe>MU8=%WE`Nt@}mFeXpk7j>d2 zpqjCY{!e8h&R%n%XZQZED|&bP;++oOhUKE_0j6;BE{`2X*(0a6a`i0*-d(+-boKUgW3UD;gzHU9f0hIQYBl+7g ze;KdQnn0K8)4PI5@BtvMS>V)tsN6toBjmgJ`9kAQvUb(fKXz~6E3i~*wR3Qo1?FM} zBvKSK7A`EBGB7ZZNV8)BmP6up8Q1}F=X-LHg(W3WfZBTx=psf66Tr8~(|16Vc(u;i zxYE4PiUa^SWV>vXJI#Oj*Dn10c^6oZlgZHhBt#6~1!poCSwo>diVM(d^TK75zyFLr6ylN$0N6l-~m9dAUGS3UW>1KI@YM z6D@#yE6#S04Kp^Yy#O9SAO?%t3DBZ{%4_Y<+sU2(tom@;y(BVBC#!K+xMSTY)=-Tx3-3VcC zoRj?n{J`pUKgNio2v{TykWMEB(i}MOszvY31^r^72JJvcI zi%17s`OPs0p8O^ViimW$*5jg{1V3!IGg%U$_BUB_ZQw*=S!94|_m&Ij_0(v(-2LE{ z%Y(GN$W&c9GxncQ-1SvnAp}m&6R&4)2du-shb#3%43w#ERK%v%R1Hna%&e@lxzVuO z&UlCHM^SFHZ?56MO~>@@TPsR^Fjl>c(0+zO&4b^J(B$FuB+M(*goa(&-$~f`WpQSbNH@lVgJX4k7Y02RQC9p0d69 zdyNC#@iC#bTmrYf?b*K4*QO6SpL>oV4v^idIWvM-HN>3gP0^9_9)zg1XGBt7p0Hbgr8=uLPN z`?;Bb`D*)>hJ_dH?;|MF(R45wQ%iGZ4vwV&+Y0^vrzZR#U`9-bkOQ|5G5Ab36DE~z z-V8sH2!(;b`4%{adnhBxWw_TfT8}6ID?v07gfs0z&{;MH7;Qk;FcpJfzN>yhc;ii+ zx@g67@;NgE0gD?{Z~}iu0B;@1s;yI z89I{ZYwTg?knc!Y?>rf4d2#Ci1ThPa&nE78_ISHko<~k@vM&Z;q|OtAqPvGjA7~JA=TQgq^_@Y3 zp#>2&JRA=91=sV&d&N90BZJ5oENcNwhNWHH)vT}D5dLXR5FD-h?JT=w!cgJCQ$d7_ zVK1-PMlmda$Vg9l=6q;85{?6cuUl0)#S>dlkq6}feqiWP;Z`t}} z>8vOH?*UzT&f*+z4uJowvS~jBA0)yMhT;^Jl*nELA3R7)Pya!TI&&y7>%4jfpcE8*19ZsFR`q)~Cj!OVnbH=taUeVN)&B}if4pm052iLxxYLtb)?#;OVyKZY`zbKFd37vbh1rgFqL+Ot~NoN5Z(;j)=yM@v0C3K2Nh$R#I;r z#8}2fclvEW0JYX0uV>mGt#PmgsxxG`oX5Nt4LgDyK#3$kJA@&o=C6>qaJ+foT9z(_ zg*IfE8wdha<$F)d^Gufl+(VsK1lCwm1HpjW@iZfNvsf+6*TeA$hK$lcGlPt@)YN>{ zLr(36wTT9UQ4d%y78}__^Qj_~d_p6|jDkM65xu;D)5SbRrnFtr0IUKn?@QZBPg73jwdhy{(rg@$vCA%rOFamlPkSj4^Bz)r!OyS**XCi_1p? zUD?8=RIfk{L~O>(TAEnKE5Ihu6E6C61Ca;PGwc<=O*@yV7S3-nTQvNeI8nTRpk%D{ zGMtnFp9!qpwyIwhA!i^jz}I#akw?_pvHy;#)m~4e<45%Cyk+TcUns;5<5#PE5QT8 zT9O5_L8Y1Id-2ZBUXR*iKz!K(UFzbb>#fe3)S^f`If{eKXH z+SI`}e2dk{zmvx&AbI5P6<7L;4WR&01)1qNjSR0p321Vt26%r9gcY&>y?YAST^$2L z=AYwff%1+dm3TK`w-C3`r(k#0etR5|O98gK44`J9fd-znKfA|+`mkh*=(4~+_(G}R z(zGGkSO4CfAMF0r(@gRoyrE2DO_#wj>u($pAGqX%0xX7z$N^g$Ke(1ug@M26NNiy6 oAo(qaL0tRm=l_>4J?w Date: Tue, 4 Sep 2018 17:03:56 -0400 Subject: [PATCH 09/13] comment on log_lines_fills mock structure and purple points --- test/image/baselines/log_lines_fills.png | Bin 56846 -> 69048 bytes test/image/mocks/log_lines_fills.json | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/test/image/baselines/log_lines_fills.png b/test/image/baselines/log_lines_fills.png index 1602708971b9a35ce91c906b9f1e4268697daeab..9aa6c95be5b3db0456dc8f5e37f112b8d5c3c737 100644 GIT binary patch literal 69048 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"S8 z8b+s~)PtHn$$F7?#yR5v9gn+?Rl=F;kj$91)J1pfUO+pkG=}^X0rXkm#Ck!ZS>EMg za4UkaGxpSHg=s_V9t9;oc1P@Q$e0_QmVHuY&d@G4@nvV7hEYImP4@v=ck$(m2ZR&) zAB($=;=D4n$b`w2vc{8)ETC2#XVp}GYIR96nJZd~VV;qpp|FM4qlwPZd}|0ti5v)I z#ng?8y#Zx6`w zp})zNB?F;yu4P5C)Qr#pI)|*Eq_}OEF=s+Q#j&jL+6$=~4q`dMG?_67fkJ3r6h&H) zwSKsAl(Q?492kSuO5^+#Z?htl>RVnVyunQ~GMO;Corek|)1)+Tre?7KBgf~EQh*$x z{=BvUgO4V8v-{FIYA77{j(-8YpxcBQ0SM%CuEmf~zy|Z(%Ma1oXX=1`S9r^%F62S( zjMve$(Asw1&J|ijA;lgQ*g41LGOl^VyQ>LBS_3^H*5}YqFE}(;By!e5%9JzQWeg9oAn1| zJv+f~cyPz{`mX#+VFgxZTI$#B#ri)njZ*(w<9G^YElNY#p-V_QhVqH>Dc1uaM?4_> z%9`5eIOX55EP^5JL2U5UMv}Z}a!Jq^4nGehfSwV|voR7YQ**$TmC7U&e|JQQX3xTZiZnk}zooXwrDwNvVqBsd_GKE0%_V|?V zO3Try*%gct11N}~VTvU3O`v`$fwgXDIXy@5V#hIgEE*iC7vpjNRR7R`@j9oMqNB-h z0ThaWY15(Mlz-JqY4e4t%NtaiJ1aupgZa$K!EMOz_Tg=eTt58PjO5&rZzP_BZY>Vp zMA1+{A%1ainDDy?Q-_ofd4BTHrNUqn?c?|ZD72gBZBF*4S*svr_XT`uwtK0a63_=N z)_C6hfmTAq=;#A>5QqSImhXTc=8b0{FA*rwfS}SFqjM;3b$(a7L6nW3&*-XQbr9=M zqtlRqe+k+9y-W_XU<5W_Q@LgiAb_w+^WI@bLlHZ)Ds8}Jkd*w_lrln!W`5j=9#E{x z)X|29EwIL%#x~mYXiA+?`;cNB=Sd-wKGrzIM?8DG+h%Ol}0 zQK4a4bViwBOOvCOP$+dUa$d@zSDKPouygbR8Q_w4tU>^t&s~$9cWMwZDtCw=h~9b2 zT(eD;=`=6Wt$454*kY>CL&OCUOSdM|)-JUD5pO z7~j@Xd@33Tw}Kg^j8Vd@(Inpu$jP9E5jZ2x&uj12Z9#C8l@~$-(hc9D8!E=v{2wc5CZ zJh6y8+$@Jyy}n4T57dMYoa0l5~aR@DYC<8X!wpJ1TQw)tTTR(9T z^~T+$IMvq>ck8S=cVasly|yo!mhIrj@u)e@*02aFd?Esy7LboR3H6#L6e=}8-=-P$ zm{?1Uh_yD%;dIE$_wQL?R0IBMT9^|;_l|C&)c00D7=L?@AOn?yXiLmBqP@pQQSnr+ z7H&bD=)1KhV-sPD7xjYRml6ofey*o(#eJE`psyp3S$t|_^diG53u8y^Njf5G?|W1F zH*XDhH4$(JG)X-IR2DmN60qJ=*;BdwF0SuVR!nNrILgHI^CmAA(#{(wV3Y)ch&+~J z+~Olp*+Vu@cPGpa{rA*$qscP)MFKph0X)2!PHU5=kAh#t(>N(u-RoCN*>1TY_h~An z2M+lMu^RzZwp1H3kxb!G14#`Kz$TA`(bVU z5YBfZ+f1+&Eq*@CZOSL6yR~`kQ4K)V+BylJ5)BKBaky0@+DF97&lAp1d*6Cth{*T` zA;SMCizY8S9+$%zAeVfGQ_(0)j%s4e;Ml&vQgmj0+l=78J1(mxUz{+3Dm7yaJ{SMT zF&P9;vrz&o9{*Yv5vyr@X9Gak%V5~4O^`f@=P;Qr;xqmg5xyg)G;Y_|VJhe^F1{XP zIy#r*9M7LEf-GgBv!Rt`b8LJ73djx})((`hAyH~0r0x+y$Jcr;WgaX4jpg0!m;O7C z4AYC*m7nNcQ90xB4(;aO{CPVarPEACnhL{klt1~1kN&pM6+TVt*&GUxj&k;d9A=pt9WO5ZacIz4 z$WZG~dfqnF_M}H1mOf0}`pH({b7ZkK+9rr_1{F=%!8x=MWuHs=BR@WyVTHL9hS+~-VX*gvIN6r%G` zIxf1ic_ch1^>^V{97y@-I6BZBa#z5*O7AvND01|7IpM+Shu7RKi=K9HaGff`cP+Vs zv#7*nz=eCH^cxaEl)+y4vO>ds=Ld{UYs@+?j92(NJ;^@Ew zBZGMAe384yus?~vnU>RaDr?h+_`aCT(x{)ZR+R9y2s830%@qRt(%W9oN_d41rOd=9@_>(l7X*`jcW1pm6EsEE=R59Q05bjxD^~?1`au zWS-XAhglXZsP@b5aHo7rtkS(;IgA^ka}^o}on0p0@l5;txFY%S3Z9|ug?z~yT#u<2 zsAE#{eH(g%dnS9yp*ONg%k^0-1bOvUXRp&1o*YSMNZt$KiKh1W z5n>P{IWa^)$(6;tz=l}2GCtvqK~<9GL3<4I`N6}ns?1b5-z=W%ZKI&k(w&bW9Cod@ zb+e%A)xP?f*gF@71^3_>$J{6H?P5{UC>2#hhzg|8JWUJ^gJYibd;%W%09faf{KOq8 zK_Brxc|CatjRrpImrJSm95->mjV!3TKq1g>z=$ev<)eXKJQno`=l5L!eV`%ir|@CA zkdLdDgCb>EYSm>d$~K`ESz4~va2NX^{-1CBkN^FkAdL|4+E@66)a88OWVyfl|I2%U zw`B`jup!tG;&3xKX48rWxCnCKIKl(gBYCt@c^~LD_Jg@=)}*4SqUgx>4Y>KyE(kQY z^814>q>%o@=(7y$&#@n`Z-Ftuphr|*09}tV1IEz*S+@Wh&Hc$|#_#chMzch$;-WBf9_Dk%iE|0JUp{y-Jn+yp4e5>Mn45 z20Kl`1U)?jzcvr(4xAUME{u~(%w!Ep5>tVDPLM)sav|)H?ICK{*1KMZM=EXeJ^VT%QUxUzU4qjQ$`6eAp&F(_W2ACF$}1@mh97y24(G+3wH> zZ<38)jpOF>LHJI8r#_merJs5Si%dFCegAl91;{d^!^75Q-)t9|-pB=11KhBQzP|qL zE$sprbN}YZ$5&ok6XFRAnrTYvqJ4;3hnG6XG{AkZMv~xD?2hE+22iUg`1Z!T7&ugCsx!Gg&az6)v z4hQ`PJoZlkL9sd;Fq>EZHZU2N*=ewG$a0S~1IFYE&ysL?BRS?bcsdtOHUZp<9l@-c zBwG)%<)pH`s&p}4aX3)Qn}5&FEg>6x*JnG6o_O*7K-HeUef|E-`HOcCaw=M`E;>c@ zr$V~5vu&1mQ%Y{;&#Qm#2lcs-<~9}j?+ezmki<`jGi?O%_8nB z>Q|h3PS8w$NfMB9uXOX;PLq2PwmbFd=zM+pG|L`X4iRDCc1R6yYv;G0Y}gCnlHE9P zi@*iAJ?{80s;a@B7xI}(l3Ic~Q$DD#Mlf9xe0Jdo$i@%X2lQWSjPfYmzCM{(ad18j zJZ8Ii>hbxHHJY8)qBevqAjEpX{^;+Fb7Q@D{SMx-b6MJo!A{>?@RvMBfd^*JieITO zY$r@Fy5m?T+JsWIuB%VDzE9!?e95UDm-|W1 zjgrC>>DsI^c`{k{r^cK zXUQ2vk(_g;L6Ia`K(Zo8&N+*KBmv2ikt{h!fm`j&x4*sbK4+ir{J8(_!!x7f*wt0F zR;}>XT5l~t361dXWFE|+ZfGBMl0OH{l%F~ikN(&xI_9z?X@vBf471@?ACn+isUOxc zrf%%xHKQzpIWh;&vI6IDx3zT{->T@_`Fj>dqzL!giTLE=P%PZ7*;KbvIspB0t{P>iJ1MH1Nv#ZfE@|$FY(2EqtilZQX8M0O&s+apXi<+NBsIdRAby$n}-B zIn${K(`J<{r#_~y9I0Ni;M8ZMqMFk~Hxt#O8qz8+Ha&Zd9*MPJEZMz5O{|2v@8m&G zALwE*53s=01YXN2fV=T99nphu^D8ys2&$Ny_Cr4w*3ZHzBQq)`*h%~d+}35!Ud_L{;q3NN%r_Q)P8XaNY4 zAaft=&)Z=AfRcX^E*&hEIhBV+5k1T7`)bKE{OCvtgq0&2(VCf~P6H{I0?G#_Cjk+B z4g<2t(Kexh8$HZU2J}pt{MK6Uuw?t*4;XiVB`G2DUC~D1?g^Q3LAchK<2_?sd9s{n zQi$01@$eF?|G{?9`J-oz@geqpkVYlHII7i`&P=Z*#gA@}KJ$fxYJ)g)5K*bTSNlc} zi=}y&E)|OOfW;r!(7*+#-m|7Kz+yoYp(~n3U2v7c3`Dcv#1=nVD+z>PL-MFKmeRoU zzWmYzB~5n~^UMgKa>V_~K&RBW)(*7Guw>8B>3q;MPD|Y!ifrn#XnfE{K39)dw$y7? zldHu@?xTW(*e-JiUXpNshl*GyyP-Bc0KE#hs7SCu26S|3-{YVJ*@a-t+*pVvi5=p)j zxt(pLu^j!13->0fF%l@yc1~P^RWQu$Bw=`XVO^c8Z=VDKwA+se)j#{+!Bj;$w(PXY z)~@yBa`esDj!#-B?YM>3ah{-Dv8G`^YQox-U_yt?isKjX(1JG_>lve#zeUO)$7Uy5>y1F!7ABt z6X-0l5$ePL_|o_$88J^gYoY$+Zk6;wYaPHx+e$D#2Wx4K_QKO3L}nV<=4l z5hZh~5%{D>>szZ&Qt&>3rntqM8DbCT|Zx&?`77AH4sn1_?^3! zHUHD4d_SqV+Mv9c|5)a>UnWDmMZ7BYx=CyhpWsTw>C3{Zj9zlXk9ohD8HM@CxBOA^ ziS>vAu<`6(iG?vJ&FrS5H?hNyeuX3+0O9-pUUmV^948cb#Xpy`9cAR3=@^DrzZu`Y zFHDC=@VMs2iS5z5rAP5iwaaB(#MN>r1N|7E`Kk^a)!lzFe|eiCKsck0xs~Aj%H!L- z-|2k-cf`Z1$DnSNP-AwvrPBS`h^-EL25f^hToJk0 zHdDmrQb2+^-D@;WDoY}Xn8aQAeReRjjNaGR$3wO}WlU)eWL~b1OJyYyd|09@q*kPZ zItKqy1HYe)(!*7AzkJXiXc6nCaN{7UukvZ3tR^xs(7f~aobiCU>6T1IjidV?&y{Zm z4>a^;WHeiU-0s}!T!zjrQpj8`@OzQCZ$pmP=O!Sf08??Wmvn@VD77>De;a{+QM*H5 zN-SCORPi;ESLjY^tS-GVu{Y=Fnf`3!|HYKFVFW?%zO%{5)6YL(qO9+@pu>x$`=F0H zU39ll`jQk<0i^m6eD{AlwSSlDMi8=Hobr{O0Eb*m4Qfr#?Bm`x)$&BMqGAnGntqh6 zVExbfR$>m&q}v{Hfi-erL3VZ8)7~|eL3TjN{;x){=Y|nbkj~Qo{8R*Y*$6se_!>#M zDtmrpQNDc6YVtB+(*zuPp6`qd8)36h%MOL{UHUk(ooQ57b7o2e-4kb;5e5nW!Y_4@ zgX7Ad4bZ}3uOIak21O_%7LarXy`FN-jh@y^uPnn~SX*u{*iF;;6zHsJnW4p-Nc}PW z#C-oJ(=S8=4UL3hPS26^b)-`sl{E=D7Sl3x%+gc4SUb#7YWk;SX$}2#5+(@$%>ezY z57I%;a#bW@H?SDaQKHJ+~gXDeH=pe)V=JFe8n%lMuOq5 z^qBsf*AFO<{jW~zAG4H$Tqc>PTLLzwa?lhCjtJE5D1m1kx@Rf&L7&_%_|03dl&tvZ zL&kI7ZeV48FsQHUT|Y=JN@z!A@a-~Jz5O68<8^VQ`iEtC@HAOu!lp;Y%+UMYk@4uQ zVYMU>*-~pz`QL@^k>{XNO+db*v@uy#fMQahfv4AwKCgDdk~I*+p1J8Qk5aF@)817- z-Z#%|1>w?9vOND(NnCe6)MT@Ilu(5I_AfaK|BD>MK67sqSGZH2GfV6&e`~HT(M=@b zu(|bu0Gfx@JnaJ_{6|ED49bQfSXol#E8Twtb)Rg4%I?CqFa}qZ0i(OByD>7x4+dO1yx>x|F zh%#Lfi^2-&yqD&8{tHE~F?oZ`<|*KA&=rDlx~^+P5v+PT#%3-Z7s(w!bwD-qo)qgTrcR|t>n(5Ga!>0W!w6D^ zgbCXp83yTjo&GwU_S_Pw%6JAEakUS9=RtWn6Ezm9KC%ha@wtIA)P_`5Sm4n|)ge$| z_8fHCTW(l?JY=yHyElBF%S>lycEX#SU(D(AC&S1);?oLXIS(bu&o{|+xMbh1y~lLi{XU~#XI2>W54PY?gl$d;MfkX z3!NeKAF9+*Mk}kNt@aprd|hfkdTt}lfJH`szGMApr%wd?w?#ip`!rsGevkRO0z!yZiL&c%G zEUu!bBQ#M)k4rGtyVsZ2Z5jo2ncD6#>FMclstfyme+Mw3se*dfjg`2j1!3ovZ;t5b z(-pFtEsPf;UQ4Ue;%}WNM=Q(+Sm6#!FCDi>3$*Ev0!{!|UoTgeh*!b{SCJ8BVsd?o zt;>7esBC5{?>hAMbm5w+*@{@1V#OrR4#U0-DN{+Q`H{g+kaA(NtV88aJ&P;C0Z6J+ zgpFm(|NCp==FguQlRXMYr8B%b{err@j$5iwVyLAQaB<@biPouqL#O(>ApHwC8NQn& z;ufh}(`-gYX)&fI;0OYCt*-@|08f2vDup0`X$4OlAQ0?+hqeu;gYE{oN_szemv0B5 z4v&D7dbs@`WRlvQ2L9m5_5A&c4fjVI4S^FkFta!%f&2NabMP1-m!jxrmPldv*&Zqf zHaF@*i!CW*93e&JgnF|1sIl0Vit*Qppq8&x74vXWmOxcC7E_Wk`fWmD{#{y>y>q1w z&qJVs9ulW3V8ud5A7BovO{tVt_NISv=8^Zed zPK^pRQ`C=|o-!u~>hIAxf8cV~9$6@L25#zzWx#{ z?+;`u-z&G$@y9c>yWDJL#;JQ;D*t>$+!?g7d=H4)_zPGCThYWGiuz^%#d;!^pm{;l zJde|8;1LhQn2u0^3hIY0dztRw8EP?{cLhBW@)GR0vX*ZIE$)DR7Qx+pBoU=Y)2l0D zUN6in;#-DoDc3=2;8R&7YRtGH!eHbE>0EX6EPUxl*`i%&G^jt@M`l%~ni{=9$ztU( z0~oGr83hku_EE!z#4(L1@jMYelE#02S)#-BM18jvb?`p23+-Q5iy8_wrtCj2cOUuo zwE@_Nf0jrVA{4z8Kvt8!!uV0k+qhJ>3-tMZ+1Ha%~d#&T4sP{x13{zzOH^yb9A;RSs)Rw@Xy z{xti!#$D_b{^v$Q-NH`~h;0!i3E#3&P(RQhmWszHP2-fx$sCYGgnf3uWH)>DG-z0_ zA&IR?S?XOlQUl%CPLu@N-S=dqnHtEI7Eb$BrNU9&Y$~nfO~u7rYU#U&w<(6^PP+yF zIl2*){aVL zS)BQl4EP5m=r)^6x;M@&6g=GTva#PvDVd(D){z1kbA{v%QUm*}?3$;+E0~$M_!+qP z>7sxs6kAna;WAq#V984DF0VYtkDk6QwM7Q>{SGvV_u>}WuP!N;!FwyRovbH7i%Pcp z#v1f1*rpm%n$8F5^h-;9`!9J7TNAe99?tS$#KZ!Hlf;iEdc{;6qD$C!<*msaL`XOb zm}%04+?BH%)q)=Kp;%b__G7UyX{4L-@|fc2Ux;v^aL0CxTO{|y3>(~zx{VwuDSKX| z>g$zbcNgV0Yui0c;cfQK7@wZ7Nh;BN_43~)`v!?F`TR7|6iwxZ5ssfRBim?2hnKs3 zbwHDz&F94H$n>pyT#lar?nZavv2LU96k1%}Ew3;+*?V04*DZ*K=I$Th;lGjzCfIPH zoY{_u8SkE9MR60*AJghD<4q2133BLJ&#;_T5q4Nzfc@!(wt-_1ssZWlXP0*A5M(7N2}*6$ob(3gq(FBg z$2q`x{*Di!!tLHda1# z(;uZKZlJ?pGL#|R0(6Ds--lDwEkr&>@MDSE_WO`sz33WwhS^H{7!NNZfZa5|+b~$+ zR71hp?^#R1gBp~{8jWSsF8;T4^lvmy2W*(GdD@GerjvBv{ceWp5j6$2>dWy zfe6d~AQ3!vJ1bJnQG_76_T_xGUFuCL^i>2uwYo{BDnJ>Kf&VGl-FR^L2S@=s&b$@U zTtXfoOc=c@zH8~+>|k$xN{()Cxo&XyHIIL!$7q_FDsVa;jxzU}ABg@f6bJax->G8) z3v3@nn+n>uo-&FIR)Q`btx0WPV_1MN9$rYtp@4B^gJb>=aff=MW=H0Tm-DDRkP$$c zV8O)J{}K+PpgHvkZ_s|4zxc!wwPwCKp9;`|XIl*d-$`)M@&b@-*8|qyezX2mOTcHE zLgCa!9e=Djw;F;(=TlzZgL?q*3r!wCjX)nd08a3~#e+}+`_pih?p=)HJdWgFz(P?q z<4`ZQ0P?sp5G9rjHLqWg;zh5C@4|iZpQs1kZB5)6pTWw=?}$+UzgfmB9Ta`j*vQC; zG-7S~&3&#-aDC-Ai=Vwt^TZBI>lA)kIdL#Ebzc;-weBlPCcZmfW4#EQkr!AC8<}Bt zy%caq`E+_kHqQ=9{;L+C1C_e`Yu42>`w>6}6v6VhdU2ov`(3nKi7mggL06NN8)!_J z_z+CFekEc#L?^WN{^cg>Wh{-IL@`u>k@@wQK=<@fol> zi+Hc+4y4_yYhd5+aJ# zX8x!KLDASV6#ntQ!xfibBPE6QLAff5!rKf*X17(|%RW|RJuZKdze9^9i5u8*J&5k@ zu9p+YA7l(vd)vlxnm@i%9N-zf&&`=_;!rvgM5FQB`9CV*19-ff;+%gF;uOwrZ|)$9 zwy(;Ff!T^#AD#CpnH;@j`4sHZX!)RKzCLP~8^FG6W)vKdvg=$pI`{C)3VRC?=b+k21I)(>}^X zRRhMwro#ON(FL|QIkQ*a>UmtN?MoWou#MMvx0bi@DQElQ`2ad9-WT#)SY3@6;Wi_$ z@_3zRVRvVFYK@~t9xAIn0XiNlzfM3| zO3@LJS{XACXk>ztfV{|$e|eJxCa5m|9Ep-g8%ckXm0^OxMB!YRk!>N}@Ry)lICWN* z-2=;yq)yf>7yIa=csGWg@j9?o6f5|Q`U2!olKRNrSptEg;1|07eP9c?erf=kFtOco z?KeJQIsECqe*+*pRNwItz-R`)acjl6TYDlmBwN#T7<0KEd0j<3T2vQ4B6n*52l|r& zZ}$9iFCIOd%J1|8iXz_)G1*ygs}s>Jp{RJ5KNf1mR@cvClks_0yW_Wt@6OI7 z7pk1lla18KObLzLr+LeaqwHy%W4CG4!z%D^^5V2{fv7jZM-TG z@5a3h?)qLuPKb1#L7&iQkCi98`ijCou*R0tnCOmo`t_=4T^_Wi9wQ~HLM?KbsNN}2 zH0Z>U;7pDb=GD)Jj$J+!lO)5#idvniby(+idp8kyw)Kd#wwg`Pn(w3mB+ldcHE9AJ z<`z@S)Pk>M%G#{WipB@p)4C=wfzbjigvluKyW=*htI`N0-c|d?nuz!Dw+^00Kp&js z{SjS7$>9e22Ub3%RDpqJ*NO1540qdg)5}DQGN=N#en|rT#$3fjf?j5UI3hnD)!n@6 zI0>ll@-?Meop#RW7>@TU>ypL`ZU!L)uzq_Sw2n2^c{x8SR=W0ER8M*68fn;cU0>aO z)3?Xct-=1`@yNMbD~G7pL~_YQ@j`Ph1hlvd^22^~J=<&zuRp4)BO_n>{EK%}WxGW^ zk}U2XYlzufhr_KYK1YG`c@}iw-k)p_2&|IlKvY22sTSZeC*v}EQ&ir=?6#6*uGivs zX(edqaRW{z{I0h323givg6;KgR>YMLD3j2-|6{nh;mRp*^r!xlqQ|AP7cQ?wxEG$M z@U@J3-KC?yP}MK7F-$41YApSZXB3n3PJ8Z=qL8r+ZtM9t%i?C6T*YMTqn1MYm|)+#M{UXi%S7%ZFT&ZXWvc|-TX_2;>yE0bIUD%g%Vzk@2 zBRE*CVVo!77{|L^Dz{;QzcOXU=~H;@#q}4JulkeSmc|N9zaJcH!o5A_9BSMSUu{-& znP-1r!r3w8@clYV9+h}dfLECYoV%9sC+!s_TUl^H8uo1hP$rwx7ktBcL*%LUy6zD{ zTi>%V-7x;(@WV+*S4IQI3kI=x4L;3dsS4}Dn+v>JIq9@LooUQG{6NR3a4(W z=b6}>DzU?~uPR4fI9>Rh8%)_OKd_w-sJWBv168lG-Ty2 z_Mn=GcT5{UdZ8B>@H&t1KIVeVhZ1!wBqm zr`XjXisyDDxpJucq^>-2%I|2TM^Wzy3A!n$zBu09jhcBLlGPV{SQGBI%j3RfXA}!O zJQk(3K1$k5c8!)3!Pih?(QxmECeZO76BT@xnP|u@}-MpKZa<)cM zTrCZe>f8GXfSaBd`qMWpjl*}+(6i}i9nGeV_`L3(J$`g!-^lS+3<~(slg&ld>)pNG zn#pADdtacek13oFq%Rk(%xcf=u&`EHz(XGOcf5CNVz6aLHp<#26@*GKOG;KBg(6)H zV6b05PV!B7pZ(@0<9wg9bzC*p3ztOf^Q%iCGCu-z;@F89RY!+`-Gw>u&ag$HU=zskNnDQve9~2DqxLZ2y8qm;jjo-W3TRx1xjN;R5P)#AemrKJWW+?I`b1h&fShu=tXI?J8uuI7sE^3Zh> z=r0fSSJ5o}zR|nii<)dMSQr3|sPrM(6jdUS7c@Ug46XCz0GPfd?(m1GB%IkSxQnY4 z_M9`I#KN08ozIb7kE64;-fxME3lbFWt1w>QHEH|qY>3x0>Su(EOhxmeshGp9TW zo6wv(U)5FyK5a6Xa17`xWb4b-O)PmB;BoXyP8>GM zDZE7%+6e|u-8UPOcLp}%k*}zT&`laCbz5FMKK+L6-nebY9;P7d;4xkEdmsZqj^r?> zy^r=&9Z}7Tlw`sVYw`doSR2fbehBIjEH6_9`+??U17e|vhRMl=&N(GUMJn0zupl_0 z2Wj~}@9AL>?;f6s)|f{lLTBmYj_FxtRjRP=`0B9q@h!jdFHe7FN>x9-`n_aNz@}$$ zydu^|^38g#Xqk^s$aHTl0Iojs>L~`_Q^)ETFVPl)mBEcu7FVyjGproNbpn_&R*L7@ z5-2_C2x{Klmz>bhut!HP!Q@DiK*&~kJc<6E6i(&cS?p_8X)O_zK);B8W?7*x@%j8@ z(~8i%lD+y>z@~Bnx3|YX&YRu^WjBKSe;3I)P*yB| z=qki&ZS*`y&CG}|-$5gwyA6wt=S)3n?5Y=~`lkB*>=(GyQaKJgC>49u&&FnK82i(3 z&HUrHS>JY>?ZYt@LDxt6mG3o8<`(yVJX?Q_yxlOp*{c36L3hBW&rk}{7?kOD-&z^r zan$I2vdwGWpPI=SofD%jf*&2Tm@^T#<1=>rejepuJnok(GDc17NKT7}N^Fy{&y52> z$MLJd#^gu`ctXqbZSZSxzl5X;bvC)_vIn>6FQ8jWC zC_n;K^Q?y<(M6Ka@^qb5xcY+{-Qp&G*A>YN(a|}%WrFnnB|{2ML*_1y&Y>YC9!F9? zvw9!4tQJL|w+JwTnYcGsS~tX}uaq}fhqrr1YRgu%ioq4S#lZ@P%MvX=oGMWpJ!=me zE4cq-6b^|#EeNM815rsgD!l_maaxJ!bki00GyJ3;?^6C=YIdW`vcr;fKqHwY|5CaD zd{3gHd3@d{^rct@_Py<#;-5#a^Ecmol#VE8QvdX01!Pz{_e=b^C&0yOUf+glI3|Vw zqt6$LYp%y7uo4-jUe{V$yj%tuU#lJeF;Iz9u} z)65zfZ7{)e!LdJ*qKQQAM$fC;`lzf19p3u_-9sXyZyas>Y@`gj zb35^Im@^A*#A)q&K9Kr4V$1ISfQz6oWCgE&7#(QK<|*j;-GC*V^trd<|^L2e2u-%81MRfRo&+4TzV3P729aK{FQRoXtOqs zb2-t;kEdnj0J9Wt?gFS^9_;UGB%a&Q&{(|wz~4)v`VXJlrW~Egj9LGRZ`=*(Ll+P6 zPW<>JluL|DKXdo0x6fKVN4cum_o6ys-WiSLOcK#U)yC|@1XII!(#yoDf^OP1N%o_S zR+P7qijI6>JN5$+vq=dRx@FpZ?~kKf&H}GIif zDs8NEYh15Bm747$MMlQ&*f4MS?fBa=lZu_Aa zr^D|%k2reGCUS4C2mT58tl7q=-1NMYB(p=2bb-BM6<8r+T9g7(2w{Z0fPw^mH1buW zYsti_eF{&_J01=bUhCKiC$e|8{*e>WMVI)$O=~C6TC5&m8G0w%`n{T{>1X_XsW6@_ za*4@Ryh>SHJ>iy|#RQ9mc8O{(1t1#* zoZjMG+oUVK8@F=p+z_wTjCCdv^<|3>KJ}S3!)l~t3@^C7sk>fLe!Wep=Hnmh*#988 zp2xjxRe82Q!GI=(g+wgl(Relg$)k&Bt(k60b(dXiHpB7d-nYzi!mk&xp70x%j-R9I zhZ7^5*~D&(@t(en!1PYLz^VbKTmB;`UHq@|M4dML==b9#*J9r0Fe53~t84pXkym)p z=osKfRV%Sx1H*bIG4pDDAagYT{ga{vl`<>aA~o>m=mldK`c;?e?oSHdk3}evsOkpV zJpMvjZf|-fwqp=G?d@#8os`7oyh=Z}7{~DLBK;)wEZupf-+Z>B5w2Oek zc$Oc_>#;8Rv~wLXe2=#=vk#q^Nr3NjUj~&C4T#*|`o5NE`d@(?&z|rF6UIffvwvR!Q7MEO^XR zpVTc_Ncb~%4GnIHq}$8b;cpm^>C!x9319Qteg*exhU!w8l*227)k?l8u71M47}wgC z8tT{8)jemYd7JZOP);||@iNhBx%fBc?$@I&+h8NCL(-wEol$S(g8`s=6?_iE<6G}( zAPD&ySQO65gi9q_f(Jb^w<=9R3mq@UoeX<}D*ymoxm3Z2Hx;F!=tH z(;tD4yAJQk5gbMT(%S#LV|G(?ZYfc0J?e$Ne5swxgGd4HyL^#UrmWKLoM##Kv9b4} ze)`sbs5BF+-YIxg9ZE4%B6NP#v(v+w+5MdDATV5B564V6QkX;zXo@9Ma z^{45N+j02s^B>h9wvk=1i#8cA_xC1Z(XkkZ_puK}1%0k!BR=DX2khG-o})cHWu0Fw zsjR?-;Eht0{?UjRKqGnsgIW67AiC-rkx{qYYbY5{Q}$lMapPi94>)K;Bq?vc2xgi1 zB_GS`MCBNA4ckrJ z@u%gsJDIx8Mc(#$Gj_M;AP~z5Xu)+T;yO-n8}b#v z3e+9^{v)Ml64Td!!2N`|J|drHxm{&rJBTd!cYQzKV9`f0WaTM|hxhdqMKnbNohKV9 z4T7P;NRHDPScFM@gv$x*-OBQ z6+b2j!l>!Cj?h4jp?%gq7JO`~Eg%&g4^y&gVMq>woo+^lJMDz0@8Cp$_?>fKu5N#9 zdW&zhd^j<6o${9tAp?}|)Q7Of{hV`(PXa0%j_V&CH#0<;?(lX4Q}c##)V0Y=G0GA3 z-VgC=H=yk{1CDd)V4ECU#-ZrZX!#qja2=V*G<**1=khiQFt9P*jWUjPi%9gRA5!hUqd&enY1v~z_X|?FbmZ`$sEf=LJMQUNzn1` zc5LS|&Oiu+`_|l7Z%3TE>G2^wOp;?hCrTPGiR;Fu+B*%OMyec+;lNvke7ohQ%ljPU z)dFR_j8Cm3VbKYxUO6J`OAwfwza3=>KBFNyt0r-1+_Js z*l_e{i^DEZ^ z^Iji1G1Lc{q)PG zG~$~w*G)}A3J3xD5&v@w``+LdU0YIc{>s$|9jk2alTok#G)}k!!JhraLb{rwGddua zaUWvY&2SE$q>LQ12!WI$OV#CQ6wNP})!UjBp=8M=*LX^>5cQ&eo>@6$f!n8&yLHkX zNl_56NRK9V8MimC1<@5CJ3Uot{-qn^_Br+qI^I#_R^S6@J4TFVSScD@>(l*TH=^e) zr3ZBk*zD)UbXy8$&gjkNK2JfTp9uM;an|N+tfu513J{aAKxq6hLgudR7o+Of$rz~Vsq^_-ntmkPgYZEn}!o7tRqbAi4l6gZ<5~%(HPm}yP}I> z3=LV6XA8#ZsgLT7+Q{j(6%s?o>&zNmc?ae-IF_WyzwQKCp!cb)l;}-py!#C%{o7t2 zeQDI$XE5fGc7Zq^v|Vz*ZT2l>q4BHygLfEs4a09-AR)pIz2aU3m(fHKmeN3vx|EGu zgxud1xni0@>3~zUNVCrz8B`>lz`$ebe@9tc26)zEO)2`@2uH>iT{LDoMGbHRj15uS zL;`I$?FkO{MpahCzD2*RI&7LM1Slt*`ebNxDAel;Ulo%gKOD_;3CLS?MYp%YUV~H_jE*&f+Oul#mScSMrK_vg9zAjc|S6e!eoLf$8CQlzD zu;8Iy?>s#;Ew^PM3qc1;8pRU95rhz$BZ82(Xtz%^#_o^4Wqi%5rX3&~fSYv8Kt_@3 z?h+8$`)2JWgg`YjmkjUEHoZzCMOgKI|NUDxWa>=G<);K`b@go>?p}+96|xrTnT6Hp z`n5+#6s2^uP&!fxI-4YPyeMv&T9BcSNQ`sSa-qzr?5BIb{MMpIZUeKKBrr!8yE8w~ z25i@XlIglGD>~ zj8ZNciNdg;?M<^|T535Mc%JkAKW(1JxI4@9F1$7_to}aLEp0Iod-8T_u=MA1Iy?QW zW;CFK-3et&DUeL~6sW4)1@B0F%*sMXyK(z7cqBO{C8Z!*eTMEH%2RhQSOwt5^R=&M z-_X0E(t6X#fZ}x#=Raxz{`olMeuNO+MErI?kChr2Pl-w$Ag6kiLjNvRmO(GoDCl#0rZ19L~#Lxl(&;0yh#Y;3ks zGCYd|vCJ!xeB3-;%Qp{clQ`fkb=YFp811Q}5qhFIKL5kyB|2W3NT;tcYU&qFchck4TY>ihExdQ6Ls#^-Sk)Y-VK5Nm2Rs}~&T10{hfoI2?6CS_! zI&l;P0uBH=(|U`e5&7oL?Wu^fZ#iU+bB#RIm;3^Kj2ZzjcmW@YiR*cY79`g57&x?` z%@N6|@%(i-I9mUF1Isq>X8=0@|kkgI#pP)5}e91t-@Tey5tCWc}M;tH6SGKqF0SqC5?g=jHe)mf>2 zpF?^_lG7oXpW;BA9gX#vL#Om}h{rVOaW6^$2t&tPCiRElDL*1&;t8w#igewGq2$*P zs&4E(kHf%#dlL-93HB99JD20;I;C7VM}2#;${}stXincb_(luK^pExBt@h@WUVPQx zeY528d;N!xf#6W9x|YPqaRF7&UMFt#Q}gT+!^q7vlgc2)rgba1W)A`a0z9gn?J5Pa z)6(zmb|L=jY4L#-!Ru*PxkH~KA|j-_#F&`mI;QbcJgwzRKQ`V`x!QEFJ$W4nb0^sg zCT!on9G?TB(TUN@#jdu8Y3uuM$x#BLNlKluT=hmcy+saZgWy^78UG zd!wT_6TvCb?XDY3U5{vL>?Y@vD)!E{=g znek{V|AEwoH(clXgJr`b{!u=W8L^_`UqLukF~*99KYWW~w!)O|=5pI2Bg$6j)}*FU zz50{5T$M~9!T(MM8b(4MC?w3I-pK}NxhJO`cpLmSsH}1`wwh2InHxN#y}5gO{ibqD zza!v!VZBoFDZ&Xu`FhYIzHrheRdh}=I}?QZHe9SihH|9CHDt=k@1q;=ue5NoOAlnY`W zU;S-L+5P#gBqkkiK1ji}@r4%I(Ji>Xi4}X!Q_Hoza|1jCjfJj`P6+7lAgVAsJI+Yh zU44a3_z>JX(~_I>`RdhTsvGM@4y|9lX7T*&b$<8x_mbd>p9Z>1?6}kAU3#&s#oL1# zf%*GtP(DP`eb9__7_xv%)f9{toJI+uqKVCcNHSMmiM+Rv z(!Zc^Vtu&FU3E-{%>A_#OAMt8{7&H228#_ zS#)0)m&8S?&Ty7xDQl_ppMq6Q;-YZfLDm)#S6ol2-CIsgr^xuH=;i1VUDwnyZi?0~wx8!V(=i(Q8R zK_od_>qtxKvn#$iS#`_z;+W^t^P_Ewt5R-^MAb(z!F~c=MK6+LgdHyIcQ$Sy(KGD# zD+Vza-NP83ZV<4YB3i*5vEa7yGGqvssyaguYBt;y%*a6He$9zh9MtsCc4Slqa?%Mw zLuE2AQ9Kq0d3N-G`X6zD3QsUsJSzKC*X_SIMkZ1LJ2`SAMW7=y9h*a2@==i{3GhQ` zxH>c-g$tCSfwm`k$0?Vf{7?T?);h}y#Pk59AY$5qxG-6Lj_3($P=oDk`x0~X>Ta(a zdbEz6NKk!niWw1efjWf1=l%OBFl5yY8IdKQIIh=}uij=I>$?$vum&A3C?&j8@h{KN z{SJmFAoV+9!m=!2CUL{*dd#^yIg zuA8m`f)L3}%4^*U!nvJ%?y%_G;7tdfO1MK>P@Gdwa^kA!+#3+C+Y`mbCzvYM#HKZC z5CE-u3{kz$G+T~ZL*^i@2rm3;_tBEg`xDhqrq9sZ8Sa7w)u?jPBN@Awd}))+=wfg^ zPqmWFme7${E?7R5HboZzpK%xs4X$T40_cWQbErI+eC%J7A2lh+eu$d9f(+-c_F>2~ zLQ%<^s8uaRKjCFSGAb-9wSiz?hRAgBZJW1rs#z8xA`q8I*bRY8yYA?4!aXi|%e7f9 z7tEDe^3OhNNQc#cI0=$@f{4bTd zx~sgtKGB}qy>M^l8fyfWg-rhfmH+GgIpaQ zk70ClO^AP;8h3jCBbO8`dWP8bbiiE*-txfnCqmp%71y5vKoF=?B@`~yj9R_Bm)=vR zbZ9imsjMRO4w=1IO@YIt`^C^fv3e}{InU_&BadWNBeR=@?8T89WeyOU2EC%w z4@5BW*mD;Zu1v~$D5KgXD!_Dk|CG-ErzpdpZP1cYIo$s%M@p)M)+9a{nwFD@)SNlxfa*$yK?hP zO*dOIevkM*J|#ajDqcN8e0nb-!*)Hn@ZNy2;hVcH(?je9kq1iO#)5%ephmu<;33&M z8HY@@l)n>rsPF2^qo$@79X_Dg^23sKkB4z8``r(6SFrlq)h*>geDJ#Rz%gaN>o6-^zXjw*{Cg$Y84;T=CA>^) z_1M6!0OvRqJ#|L$@WLbU=JQ7y?+KY7?mNAoqK-7Yhx(ryt29Xd?83mgPxMbeQyfg{ z_KbWaQx-93eMuRoO=92CA2tawcjUy$_pVQe5jAcW6w4e1Fd1L1Xs0_cIvEI0Kk1?W zqvAJTY6W*kj(#pk{I&b)(1Fqkz|=oq;UpsqVTcg&BY`$4B0F9;Ba=8{6ZiUUAd4kogI2 z!qxpY@0HAIg<)8`W7OUoE)h}|o~}#LbMUR%Ec&v+QjPihY}Y7>{~{MAlxW7p0nJk4 zO?pPHuDG!H;)U9{5@+Az^B~2#P_1)+W81c4-%*dF$wh-X*i@Ny@$4;DPw8;)BtN>X zMJ?m_GV0-`>E!)vnpi~)f>Q@;y?0ZKU$*u&xD%O7_7_hpYs!m0hoLc~)@ZQqILvop zGmloE2dLz1=FKz%#zd*r`3YgSfo9yeIG; zF_pJKZ~A#fWc2h?E>V0H&e|L;S|`qk_xDUI5Z|Cj&o?gwVN$_lJ89oRV9(iLP{||Z zlFoh}NX&YI&12`moA0Y{JBr+Z1gG0b{!CRwSpxOTaFj8jzdUZ4;Un&inECWYlWjk@X;i;7G)DzeRy`_^ zLAtCPd&Uw@~MLP*e_lf&(g9kSgDg1()ZvonI{GEQ0lv5hhpbl?*Jarl?{aziDpg?_k7L&^%?fBKD%r}Ws$;rZFhrw=wI zbtun4z7+>Pu@9yRcIFKvlP*q+ws&q2{Mpvi@%zyB;=ts6LIgKUV57W)1vFp@@oXD=GTV-nG1O4nDHj^O3`_uv&Kw<_E&pgGJrZ0107 zs^yQ&%>HOj`hV0M8b%#e)qt8gKQi!U4RmODc<-d;nj(eQ_6y*Dd!Y@WHZ6=JfeIhz zVQq{74^%i#z6D_Q|DYa#=gR+D1eIL;1}}c`BylyK6)03M9FJ?ES$y@BIcY_vCr$dK zI9A%Byl%q6kLOW5aYe%udd+pNf)60D5I#s&Zsm=gLiWe5hO}2FKm2NUzR(KE*wZ2{ zY{6xhmOy+eKH{zEkd^5#A+G_i`4s<)b;ns_q^kD2{5WAUz{!W>=;-)qe~`ZshK?84 zv{+O#8;Iz#_d6hq6Oc%`J`>y6Yya{Ei95hw&KJ3sR@BjQp8*{&LodP3&g@krwLVPt z5GpypXx!_EwZ^j=#rS#gnv3(bm)g60pyAcj|9l8JFDaT9$)0Xa1-SBik~$=xE0VxM z#^|}h3?YR^O{84r{WdwpjsJ`5RL+v{}-( z>;>)v+K~xTx6shg>iwy{=~CYZ1Xr$ghI~aFccwQBjL69bbK|C7)ElPDuevlSr!@)B zBzJ0V!$>z^GxX-~e_mJT6TSGMp`}GbOG`Wd|FHJfaaC?@*XUX_qO^kKqLmaW=_Mc` zAkxy((jg(e5D}1WK|%rPkZzEW4(V=??(Q=ed++yo-u->&{B^d!AL>Tty6>6e8rQhS z6oic*D=c-m4TeEdMjsg)8)LZ3#dBkWo7LWQGbHw#Gv}H84Dh-Vk~lKa7tgVd3%&Ky zoBiw0nF5Lc0!*#YC`KkGanF>vBO5K>G*g8Tle@2Y?|wzmQSr_uS4-t*Q(s+MTC#j( zYh)s6S_Mis4S)JWQhrOL+y|}~tw1CCaUoPxm&UKE{ll2v>#-OQ==~PTKBAEX?w3;m zjGf@7Arx@6*3V}oI%(~OmQ`lv=IQj#qqnXUm=8y06iwNNd7G%X#H)p=| z%G|mymUP$jEA8wjNZ_ZWPKS^Xe^dV$8>VOtk^hA})yD2mB7-&n1*CJQJCXR~&4G?2 zXf+WsU-#!llr+RnY>4zw<|gvOf^oW@KjsaYrFF=M+Erf@!Y9=xTgdRqRhNia$>)9B zp9AK=tjm@D1|9-lqSl)L4%leP83sf}fdCzB%VJ9+0K{o3!HUT@2p*)zQp-6c;eg@$ z`yWA@J-QPgghS>(WOJ@X-XL#$xWU2EGw=iw-`BxM#{R!P8gjo*>30NLjLsJjJH59| z&*>3QzL^J|{qsPiwI0ZjOmVde4gc5}BykHWi5LKId&wi|@fSaWA{{i1j10pv9drQu zUql3-9GMIt#0J>td9n%uXnUC9=$R0((7|6ms30JXAy5D3?|*$0VQ~wYo{C3T{O^B@ z{2oM~`sU~UtC62P=vc6PneO-hwE55XV2B@h|NQx%ADWE^JN!tR$y1eoJqSL06!YH= z*vdmu{4JDe8Aq?$(!Gk_*XAMpdUQ`^%gIoBg8O71tSkm3bJ?q(+23~`4P-A zo0$+$w1Bgm@D>-i)uaq7fXW>|KWa}>1_lPwN3S8^O1O~8N$n%5f4{LD=z4zGXh$>) z=i5JW2ir5$;L0*9^sw}FMs1g+=o4^o2Xh*>%z_KLTKASZ?Ld)rd{q3Oe?0>jRonyb z?k{}c@IVFkJW8plsj(n(b*k@y!pat~n_Iu)<>OoUJK^(sl1rI*fGPWGY# z{GA1Q7_wxaAQaRcmk!yl4Q73QY* z0uttnLt@Y#!B7DzjkVao6?;MCHZ=s|A8&Kglpf2^00EKZSP?qm+-ir+@TH213TgO{ z{3K=;mhkxaPtDEE>}=0;bSTNl$-|S9roTJx?EUKeEH5kjHm{&#R9Z&nsghEJsSyZe zpK5C-aGFd>mzI{clo<6*1uy=xtMIz^l&*cu#WfWMxpU`Em{UyFyfuC0HaI+J1O+F8 z=c78pMAX&PJ|-kkFt|}le*gZxh08mLgHagtF)c(|U!R7`<3O=1o~QFiRKpYfMl|5^ z(ppN6NJ7!yBeA^9NMpFXV z^?k1d@VF?5wpMaJ>tF240+-y=GsQ7~ruPRe3z98uW zyYkl4=XA(T@1Fz3LZE0s zT9vvDc0Tn)0{mkh=M)JPf1>P`Oof|Z9|*PjCP={kP8gjp3wAv~d!NS(DgqK2Th(yz zuW*hA(Y&%52%an8`3TsGIRyXTp6dUHU3MBhjGEaKE@OoqvgP6sG_9YI$LriMPwQan z_Ug?x*mqUSZ^0bNdB0|r-7}M-GOOwr!k+pkjvREneRCN3^FbGn6l_{+g7j~zGP@;~BYXUA=CZ_kg?(9^?nAtj!g zlHU6R2VP0@QQx57o# zRaJevy5#P@-SF6QQSm%bL|BbyDz04biAL=O5#u*u>cPIbIWy28BkH)vAiR&rc}tF*^jE^#RG;f-_G@=}RhROLgnoAVRGL4w zsCQ^pQXS#6S(3w*{l^y|Ha5m@@!gEpMt_x(3ZF`Ob-D{lkNC_+9j8YgGWR`ks9d5g zuKbp0eqkQc7P_BRS&8i*=yS0gZ8RujZnQG%PWS*b9wcJ7-Sw3sI+wDvRk-568|0h8 zT={tT=%yLEr#KYk4{zwCoWtsm!qt7+depN|M1(1QV!ggAecl$)*8F5WRaMDb7R7R} z=_4BcuNJM6Hw3z_s|<@vOZUI^PFPpVbDC~^zC4}rlI+W;opkQ@kd{Aq;Xh%8&alY3 z-@asG$hYc_L#<81QR7>l6RLa~NfZ$t8=tYEyWy68eA|Meox1Onu>Pqr!+h~GAcjK%D+ zRjj6d`SH!cM{#xQ;nePID0Q>lX$B8r+AMXst#Ri>pfq>HQ5@LTHjdAKV8jo zOMD_Ot1i+qFOzYsYnBvVCg)5u6^A}2v2A7?#}h%J*|u?=@&BMLv|=#naWNI5oiPCf z9IgO)t_&&vB8LKrMlG)iRN{HTL@|_gQ$q*aC36+pxyg5?A z?YST4n*3P)_)`{NpKo8!P04R#)KN-;VNhvFY6S`J^hn*gW2k@j)>O!^u(q`-7s2(50DiCrkY`TD zCqAS)$ki$r;y?HrID<((3wc%D;^2z~OJ@lD><#2Sw8`GNp(mg?Cddnq;t77Nu4~rr zc2UveXL!>*g4ebCh2>5KOe~+{qReW1)#Zhi+&;VJBz=h>AJ{OSQr);hcJoA}aeVzwGDQ}lS_6`es%0k2FE%_@x62BiQB+K+ zPq8ZmN;}N^qgWsNf>il)I*q=s^JAuWM$iLEvWN*@(<%48*K1z=oNiS`oA>|~+AL<+ z6VHPKq6{HmyJlvoNV2}VcC8&eTY5`oSEj|=)MWTk<_i8=p2yB${A?Egsxz|_D$Q*O8d){^-NFd`(rcaKc}ib~jZ7ThGbsiLf0H+{)t!j|CM|4C_bXMo(czk%r? zvtbYGV0`%NOfyXW^Wl`Dx_<4a1i5t2bd(m9`sj+Ka$R&FJOL*584-o{xYE@RWP$F2)SmfB{k2ZJKprg_PRqb}nbjTsQdSn*5yqh` zqrgx1^iT7b@(w8z1WCbBIH2jJ3K&!re{;P;11U&hislK(iv0DdAJnssCbnPh_BE>c zq`h}vOmMF2B2WqE%>{gWjC)eM9AsBcS)!h{5CtX>wf2TNZgR42?C_5H7YnUGdjsaU zT*uv+GPU#wh8BkTiQ3KOjHKyp2a4%STgq7L4orYG46>U(bLY>LU<-OWhqh~f>n0~7 z3lGEJ)-=+j5?X@PoxF3#y;LU1DlC-gk#w-?j@fpnAO#taNp^*$_(ix7Kcqiz|F!!> zGan5n=hN@5Wmc@QBa=bdOP$^=EeL_MP%59Gg-xqn1xVpkZjvn=vMa&$E|pLR8!n)v zy##A?Qj9sf)#gfio%WV_Oi?(rF~H-6Lv1SZfPdjsHO^!4W3@3bf%QEoY`E+H9z~xw z;sXJC<%(&UIUu_kl1(2I!G#8h`w9TpJc7XtNl7ggW1H2hG31=Sy4rNwGM4Yz5jyVu zicADM930w;7~N897rpxS9jp92dtxcezgg#pib}u5!V$Zob*!mlYu2ANGH{GnIvHf( zl7GxqRwy09Lc`bEb7ACyHgm}nTz&$PI(nEbn~39_iu*-VYaVsycsRBX6HKHh(G2(M zaBp5*ja%{-$u}u+$G666Dk|_EUONk%@s5t?hB?;dWqPWLsp;u0pWnyC$7dT@Po$TX z4Uc|)1~g1VLqqqqrqhuKBSGnY(U#;|bX=CFZgj-LBT0LX2&Wh}{VC}bXCR9zDxPpk zQekr*LB%uJ-tR4sZ)IReJ?~`~6H7XSR(-DAf(ySSwFv5 z@H|2Ds6PA^ciAf;RwKCY;Uh=^ZO#ClH>4H*z431%Bc>`8IAn!|e2*;Va}wnw!qymD zacVe~UK#E#8fF9X-!g`S52z^qOz{om(J;h2Ot?v2g6~+42{~p@yFv*v|4x`!XIiF> z*zo#3((m!E{TJrfC#bl9uP;=eMnIpFbBXD(M#N6$wx2x8*`683w< z#jNu;LGo!d<~I>87A)xvhKnV2#@?{ef$6y_B%R`LY5YI5OdmANSTMHq zD9)?kns0jS{|G1K?N4RFnS{eT7=3=L_*+3;-xqwK(}~}H4c)Z+)aA?3}S`{ zdlvmHO!>EucOy0X`=?Eod=J_lyy=bzkMM4cXmn!lS@FWa_;Z_keY{K~KhY~82IgXm4sZAqCxZun|DfL8#m;|5u97bU*KlgEU$?5MxgYEIwAiLqHJ>3W z7_7ZP%3qsR3-jbGd;!5g3GOzkUpE~Q&O3awNh{-9Qb zKv48iVAfFYiSVc8oyvXMU!^@GA|qA1tR}E_qy;j5&1t#D_1s41TE~xS6Fz$-`;v2BWhvwulJnxUkOh?&uUe1(IT(<~ zkrmq!$z3`cwz~nRr_2$OC4g6pdcX+cF3vu=EtP&8$b3Caa55g-tKw0PoSOZ;q6l}U zHWMaOI+pL7GjZ*8k(QAQk>Pifja@_SiX8*ck=l{wc26V%V+TiH67w`tG`?C&1E3<8 zCiqLA(zMUg8U}vGJ)?73rf^Ish75q7lH4ii?3##1NU#z0n@su~KEAs%g+OTzgbZV* z0BQ~~{5RB8t50>o|2FOPV?7vRpx*EzN|X>$Q45>!y8Hko!xs6y5;r^m?orR3o)l12 ze^X2R*E4~P;s1W7!ZTzRaRS$=mHA8iJ*8LCEfuzB0 z%16X%BMPs=2HJ}949KU?uJRBYevY6{cJ-Jjhn;Pi4pAaAG6Y?$uAP}%pccVhkxj)V z^Ig~rEuO5;HK7OaiK2XNiMK|rH73#B8rpU>ZxD5LJ_A*a_FLa5?kQ8g^mj4DhBJ$v zqVeRYV`?iO-8Y3T?KB0~6ToSC%X2V5M$Dc=tL*k37ci!y%c!v{iu61vp#E0&jraF6 z3dl^^Sh`YZ36&L2k@Cc_+(|)l+lvls-@w<)>mvnH8XEUoLL9F**BYtsrTi$lgu2)E zyU}p6_eJ3f1c3t0@u4AQ^^vD#V$(CkPg)}9BW;I%&klSNc*ns~#s_*RpNv zYYp)ZoPPGc^&}hqITlKUsW8a9rLrz+voA!fPO{J*ncSS2l&VtfTN>#zFexC!rp;jP zv^D62|4j((mU{&{%sMusf7W_Lh6-h=l@04A^qtC9UYgkcS~%)#YYi_tX;fMo7x0mH zw`MP5lzYVfePcBvc*c*_LU2X>kZj5LEi$imR<>nY1c+-1#d2UqGT+XW{6Vgs@YZm2 zzUwtJnnJ3;<8A2#_nr2tPcM&(LHgB@;0(CS^|!wfo|C=zunylr5;xO zP(*!7SOEA;Ny(4)Nj>Hd1lq*2W2c`~WgRBiEYB`jc`N@g^5}O#?R{HJCaIC|eyDIU z;r*|Nuk!Jp|9pZzwHo<5Czkc;Pz1v!I|q#*xyRLB#b)F$!G8HVJY(~+o@J`)P5R$V z1Ocxh59-#f2W`d(XGJ^?9vD$v(=C9&#aP{?_7ofT$#vSklda`TQZDO^3n4H+XKx8A zte4ijS22Bhniy93C*sWbxat07FWjJ}m}cl@EZEP&&sax`AnQkYT-l5R?N{#_sqGAs ziSBAiC&x|NvM@9M&eP)acwsmgDRBabEXrivSyh+pBX#|8rhy#*mx7p&p0E23oF!s- z859f2#o?}67AJ%W2<+UJumwHQ#I-*D@`H8F$4Q4N#G7%G?4qN>? z-BvlucbLsU09VnR6b7)!P1E@mA&?z~hWO=nTt>Ia6^Za68^@-~)g?_9X!$5*?VL9> z%Uk2B1?mEkQDqer$Wy}w?P&MX<(`U_*&O*=dcu?qwM+~%2RTR63v+K{eaBD}2WjSx<%T>2RYjMb~G!7x${f<5+Jl}o$xqIn;4&q*|aTi;K{b+Q$ zX53#NM)o)+7#kMz9VagQueTI{&?^m!lOQZfy#$VIa3-yadg(%8=ecE$gbgD|ePL!0 zDhm*HvSjmz`9Tcu;GdWSZCmOmY|MmGMzCre{>Y|l2L120=@2W?Jw<%gkQBnh-%!|) zY^*^i2V+@vkM(j=;Cnx++isW00CuT?fQAm*{Lonbi~%u63`b0QHjmLo9Wg9OWM! z)9yIW%BO~@;60*v=y*cN3IbF>7wq9l61OdjMTg8%`0B$KuI*U;Laj=#(-_45P9vVt@T{RfY)i$nBpnQyW z%4GsO#46opVu2Ky{)x;peT}B4tTZETyE5tJhfWOyh@kXNMbd{K%s&2Fieg5@C}!BD z{JGsaQ@KIIFuL?7g~l){@gJ3zT+C}Mx0mZl&v4{KTpt%jcvJ^`kiAKiHWzB?APfP{ zNc;o|I_v1yP!pM`7Q_!(j##>ylQx&ta9)RwhpU*-N(63YJM0;MVI zB5$eW^nDk~0-_0!Z9qvcz}*Yo4OsNuH8b_W@J$c-gd{sQ{z8|^Q2c5|yldA?6y(~Z zVZqT@Xr;?iNJhv;xJK7rk&zv3aKh-Xua3e=LElOkQ@kn!(mBO$Zz0`xKLZY}-Zeq} zFFX{wsaPkgexI;qrM>~;V=GGJ;;@@_8d-|~^AzM{b%j-Ho}u7VD&m0}JBmYT!Lv7M z)Nfhml_SJ;LqtEcY0wd3?2X-V7-vo#40-AjlcXh%dO`{i@oT?aXoA@1WUX$Z~vB%}URAdaTy& z8{M29R z=wgf4I3|;!CCV?JE*+DH3!0SN=Yy7&u8+`h@{t6%xDa@7tE#7Z?wh1h*?~H8lK#5N z%KJb`)7IW@c3hc|Q}mz6{q~7FU}RgasSBOtn_bb!ZAn-MBA#`Dh53NshyBv?+vL2r z%cq>ktt;j*Q2gJUsL5}L7{x*Hvr;$0N?&)PATu_qTQhm}g>PfhHWn@0WY$P1J;R4O z3!`kd&MMz6=16HeZ&!IXAGU1iSf}@vd3`)5nF$4{s7Id?AH6~GbiUZ0%zd8$SdJ$H zK>Ao)1%h($`g!Q^d8h5N+NS8|E^L9niH38Z_8kbq`tHfBwo>>68HOm@5%jfCi)jWC zxgGp`>MSR9G-fK*HDmDd@K@~U?)glrXXm{I1%A=<`+M8xhNBly<+h^YzV%_Vw#t)v zClGlpG46mQVzb2lq{9HX8O#w#H9nY_$WLK}#hm4h*WL;YBuV|2^-U*w=6dWrY^r!t zdV;xZu4|;nQhl)7(7I)(X3kor;lV;osLfLuD;c;;Ipte&cF}qJk+s?H@3CM#B^Y24 z{>?Z}=;`>xe-BhFKO=9N+^D2tHa?jcjNWLp!gZ_Ave8(BZKQ87VpAEd-#0M1oF$QTVfvcHTa%)eX19gE(jXgzB`?R-bA4Fv( zJZPTvx?XOdw^!WGkuyo?R3>PRzoVpjsXBJy7j*J6Soe(@9k|%7tCX}YK4Y=kH`f#>QJc{@0u^)3%^VuX~~!>Bw#fJwSJ3C z@xbWq#m0GSr)D+6&P6o(;`wv)W9Pm%BaV?_pOZs_-uB)(sX-#x zYf+=Ie(7J#(XnxHW`CEqarTjmLH%!|P?`;P*7%EE!MHZG@YbY&kNEQTW^aV>Zt{bP9Jev zUu|~->uR#-E_!Ecr{M13QPtWU9m*d51B#2e6VX?-C7*ki!G7*+`N16VQg7CpR|OfX z2<|YBSXVygVW6RD;DOkI})YtSJ$7H3_#h(b$FbDoR~R4n}%J; z8ZT*aD@LWJOS`zxm~W^=xrqh*|MroA*Gf+%8lpGH(l zQtA9lUMV5%vMWdwkG?A7{JArhEEH(C9~zucNu&wdaLTG9Pua^_nZZ>12F%Qf ziuRMYXQPD=P6lp&Rp%HS8ZyJg4{+UZv1fd)n_w6M>prQmKe5crP)4f_s1h}T#-JU7xWD5AJO%Z5Ghii4qf!TY>emI8Z%^F zv>7cXH3d(4Jx&;K1dIyE=N6V zt8FZ=d&)fmj7*4kc{XnZtyT2q70`>qic_ z(O}O#cw1hJl)nkdxggJeW=sM}b9;~jq5%bZ3cHObB{<9BXCB<37-$9DyO5&ZYpWQV zCgP!q(~k|COQE_F)LzBFzXnxlvkY3Bw{}W^uYm$~5^9RGWdKNGddjo895kZhg6xC? zz-iJuu%pHkz=pV6M3?_AdN7zr8Mn5+9{lTfpDzAp!7XTW|AjFQsd_SrhMy6|vpNEzq8nHX$l$$USFBy; zybM!B;NaH(RMN7&z*~`(NGp&_cpPq(mf2FzpV|UEJAqFgXN6KnJV4ht!+AZ!IHf zVS=VD2(puWJ1_eX92h8WV35*Nkny8#k^9{k;ZPpYH^&%LrnNZ^e`W-hE!I0Mg!FTe zw%8bGr4eD7P|?al@lVYBD|@D_$<2s(Mf}2<_n#5DjQ{TunGr;e$f-y<`QalRm=m%K zvmpLcH$R=i8?m7QiXc`q*vd($Y;W{3(knEZzPm`3ro>qz4WP}!@-zLI5i6gNXgvSs z#|T$-Qy1Q%_~YK?IoUzZEhOrsLA9UKBjA-$r=g7-~2~lk* zuGjl}IRKKPAiFC8F)J`te#YM+sts|0$42p3Q|y^`!Nr_n?(O;j-?2<7DagFUO}l-M zpU^&`K|IK=dDBN*bI>o_*4ZiU>M8(CO?iJMm?LqvK3emLn)ZjS0dMdeiq&o!<+O-b zBkU?KP^7;y^W>;~b8Vj=&Xj5hy5B}7`XXoL3h-Bp0{aL0zHuLfK% zA2o9f9P72S4lp!6=;~?sek@Q=F7xcyz6Z;wzN z?u?Xeh*G~^PON{X{Or43zTZ#yc;DKx>u0Ns@om18wN&&s`8iVHNZhlofL5x@aj#2` z>2eq3=kx0R)ReIwKObhvmr#1@-5>vD?Yr#DTBC;`j(@GKl}YcBpOS(yHnv&*Xe+bk zMrJ@>^hajcT|0J(leH9`kVc z3)g-6rfya7{C?24p?Ao6;TU6?im9wiBjILOF{h)7#i(BVa~w#~MoH&gH?`T3(B9I3-py?GwEy#;R5zkhzhjbRshpbQY~^wb%<KS(+hVo zzs}Exb2k_YEs#T5CNeTIb)1n$(Ai*H)@wuw)8&EPzW3LqrN}SFl7t!dr zy6@?6-yf5nK6_iAOUc2VxFF9xn-i|TxDy(7-f3h=Fx$S=<2><$$gIs{Q04X`~It{D~dKLQG=jGDU;^OC{rrTCPc*%P3QKQ&o4qVpI+7|wY zI;`n#>%&(f#(*`+Xv&Q)2A7*jc;`yIXLVS2(s%;aIpJUHTq^nZrVrpon8#H!Uf;J6 z2DF5hsRVk$tM$1VC8&jPgmTzpSMDN7!Q*-M*~y45IU_wcw!MN{Nt(!oFCzJXdLcL2LvETioYOu51v8J^K!BFAHpJ z6f>-|2&EFX-7Fn3zjF-M_8t9WHV%?+EKYCGxsZYWw=biQX%M3k1v-E7(O}k6!q5M7 zH6+Dx(M)V~Xoe!Ar^mA|+fb`6R+4&1w@REemX(#2#UT$_#4{hhEW$AAY-R~l`Hjg> zf}XTr5 z2ia41A!&s*6goHm~2Y4|e#B*QaEDpo0Y-q4e{OYinUqQH$gGDn;ut z8@x-yA|vW_4D8=8f|N;rzA3blRYBo$YS|5&%OK|BhPNJwQ-UnKArxWHljo zV7s%UHY|T#UqKe&|Cc8vrHBWdp_4F@jiG z|BY<1Zkl);$#ga*62LD;TE~xZB__{o8GJq)Dv6}}jDX@5(eClDp zW~l9wM&f&8#+xQrwzhS5mhVHda&sk2(z!4(T%N8-JN~5+4VRQT5IMd$$}{z^KG< zd%CtIMPzKPjDby~2u(rcG_CM(Qidt9VcfWziP_t7yv`aa>;k>V#ljLAHK5U zLjkh^*<8Q6axSWLW~S71)I;gEqeS+6a(J$!a4rfknWD3pd_v*S>Ogj4E(j=EZ_ZRSg zcCuG@E%e9dB>jyfu61RRE2cUyuKW)%>wdgr6kQCI9!!R7S4Sj#@w*G*94=zjxb2NE zm{E#6C0)14`u6`kgj53mdrr@bcjCcFdz;g}rHZ8(En9G@4e2$97VFkzB~kt5rp@j~ zaj&ET59V`5#EC@dc}#5J??cBI;AMfO!>vt#7u4ro0qBFAMJaS^`WSGB?OCKKd8O7u zqW6m_WN}&anqL=)_8|=URcp*bXDg|nAL*lroXq+R_tMkuf%~AiT(kLKKE9bHc@OjT{1eu}>#)^^2!8+|(k zmv-3#Ktj$mW<6O!0ItPDN1kfHrwbGKmHgsgPVfm8Il}^}xC(GpP%13;?K4;KkzoDp zZqFgt(pzVtWK-b$z)XR2GaIXKsOVAQx9M|?e^IetG!H1VeBYPPInv%N0Esof!jno< zh(t3B8{04E84uG92Tu1BTcDvmtxF>#56*f8Zl}3_cDx-51hscgPfrUooks=0e%U|j z(FtDk>?1npWZ<0Wdn5rE&L6SRX7j-&X2f8=M&P_)x;V%f{fC<^{WOgN3veubaBT~v zAE%XZs_01OOm)QM(DAjubuZ)f>Y8ld(ZWMWKp81;pSXE1FKtx9?!M7F%bUG%i|v^Q zQc_@bx8U!2XeR)|942VknkvXyyYt7JuUl@~e(xto0^(>-LLA;ClrV5v329(wx#bv2 z+yc`;K6~AX0UcTYSR|P3;9MK&1hSh9RKPMjQzDm~bn6TXSc$bfFo6^*6G(Gjrj%@= zQJ&NoCUwfU%(jzAWndw30+e94k+lnueF6s#@+VY`SR@W-9j)QvYIWy zY1}OF*?!o_oG&KQvZT5GEwaMs#f-y!DCjJ8TA2Otv(4=2yo|UE-1`O;6-*g%6Ec*E zK=U&wp5O3lz0e_m;LyLbOCnkH5*twIW0gYRYmh^&BozRq13q4sm4YCrO+n<~6Y*OqM^BI?0RI^!5@6E@Z_~sIz?JU!Vvp+jA}(b~ z47i&$b_0_We8h8+D+F z4`i>x0yhp=tMFU`Aw_VpH1O{V%F-_qkL^MFlbjqg0TT`Ws*Ur#n|Sz0_4l?nSl|Od z8X+N^9m_7+-J#m@OlDC0o_+=ur^LiF3{+|ER4O*mBUdLzh6@Qm9d9)<7EXukzUYuY zVl+ume3!4+-8P;+1ay*U+GPnJMZi75nNskht*Jmz`qTXD*W6b1c1wxbKv-g8US0r* zS(_fds{6A@hM$ZZgebXV^Vc|+Yvn@&rpfR(#+P1!)jy;Kq4(@mQ+KK`e<*mO9coRY zjqus3Xd0b+{xuXr=xN!3fu_Z%>z#I!;cN8ol~a|Cf$upG^Dpqj2#kZUQF|e6;0lDD zMjQ^(jHGf3$p_0GU4Y1sWKw9UuljbspsQD;Zyivq|>8K(eJ2 zV^@mBpd3%n^Ot2=*ijK>HiZF;qWNFMEC5fD`iufk5{;HK)8y*N!mD&=K;y%~j~OZ)tuYtz`8y6?hl+|Sn#;;vthF`ZR(aEF$Jj2?rDrd{rFsS6LBopFb%*9( zP@$k_1McKuXRx1#syEuFgnZ?P34nxCo)JQPD0pZfgXpLPou8ZCGGPLy?!Rc|n( z3_NTWxVXaY#?7QzAK0cmm^nTxGS1W}>pCeHdU9NIj3<3(-+=vu-l3J*@n<2#AM!NQ z&xWZZW)DzHY`rJ=Y=K^mcL?`!!W=z~AOuqkp%ANMR1R040@<(9Nws27xYSbV!8dXB z{6}ojHI^|N99PFAiN&ww)H8{U00R;g74<;&!8%7uoYU5108_F%;p0nYVPPFNRj~6i zWlgzkO`^-{jVu!9^0EPJx*2lELs&eS30TNve1B)}dP{8wSDj4}FJl_5^B^&i%cLa9 zBuU`n0g{bh?7CgsNV#LOG)efPVXfjJXfQl~{9%IRUHA*pO9x{DV?Yh2Ygt$RdP2d; z!qS=9Qn{Rz!=p3{R$V@H_wW%CX(1znCmy{352%hlgkYC9-NoIsapzdWxJiWlO>SaE zeU9}5h~ImQU(yAXPrLe}2Kn|DK{S<=o@=j6BygA-v(a> zya~d}zWDq_YklDXg4%Kni9_zUI*@)v>Opkb%_N(@W21K0T zVIsHX)d@N}P!>`~4h_$gTFOXHvEC$0HCQ!lC9|N3I6J`BQ2Z7~y9;$_=jP0rRvJ_XMESHDP`XPF8a80!13$Be05=%2Kn!@-zM;Y$ zq=Z4T_A=&wzajF_==u3Kn5*Uo-AxD=sM7!?5vM#bwG=8RNHcKu!bP-c#&qEG$4vo4YIL&NOX{2H#l?w zEZC5}`~T4&t62X7eu3riWRUC0NWedH4iL~%#csX32P_;@IEBmOj9QOhQ-y1!NtFXE-VEQnNqm zinw(KJ3p}V@9h}2|JDGMP#?0? z8M`p;wrw?niKGHJ>Msb3mS(&8X5=7two!l2L^33*{?Br~$&Qx{R;1gD^0IPBDl2ng z1ouca%`4nF!N&q~zGc)fjCcM`9?1$GtS`tFA3pdc`medPQ3NRh8UC&$VRGcPwS9lO zySppEZ9Pbk00T9|U#WAoD+xhGZ82~p-!8r60UH_Nkl)(6M zVwV-rkc2phub!gjBByQrl~mcKV|CWle|mL;&&Dz6WKqa$7qc^d8_tkzf<%S@HqfXH zfAd_jM`~2uqXdkwkc8_Rfw)Re!BB_=Tp%VAl2Tgj$ZV=}4}OpJ)oTeM>)ONNVT?qO zo=%sGd*9%L>1Vn4#kvaH04#-`U}!a-28iY@$R*+9CG;SGSHDUEp`T-(uAcvzf{0jg zz(7~t;OwC&hm@ke8GP9K?w8$#l4s+9xb_{ip8Av>Dk28X^<7i2NxiTP1#){(sXumY zP`Lp{3e-}!e!N2-^zap%84$--Tc4CRHQksmr&XBu?An*HMvC=m7_Vy|h zX~<-9+`f{^`tSR=fR zmqz4=1`d=Nq{y!SXf-MK&-u}v1MtATV*4fO&?xpkG4N|~O?db&;QJmR?WEf8D2M&7 z=Iief5u6_yDtHxgw!{*4nv)amayX>F*<|)x(IwjJ{L5Uyajc$1uGEjGnR`{v+txSf z5BS^<$u3)(8^H~ z4$gRhX8cc1-W}c={Smc?gzm|2(&JTg01eA&^wde)gwb`%jl;h8BFj)U0{xFoUBw;a z`+jIq;gM>ATo~5tll2?$c>`n{cvD-D-lI4!Q#g=m$=wt8q)Ies^K$H!PmIz)oxV5LrwX2+OAW@%ND|{m(tyx zj3~_ga;WOBg$eOQZ?CSdj&~HU`z!wtQ2YH5LI49&7P~v}=d!YQX6?B8jmvFZg}q|Y z@v$>>{?DRv{nil5oA}SHKMiq22Obcpwb1aF-QrFOv0#6Al-t39te90B4D?YVEI8;u zH)e711YFxqiYHwK1%8zcg4#pWcDFqrMBmYhx05b6caY61cH*S5KLuW%XZ8i3-{cp3}6OYiX-w*Vajm3V7rnxmZ3 zRR-$GGDtzT&h3TKIr|-0_>x^OusV4nhYG;K{J~~8 zgivGdh8qG5BS>-LLO9=Q3WDzeX{dXz|6O3YBBl8WGH-!ZZR6sC>tBb9oF*&l^4~!I zQ$TIh-<4IzfTC`>9?+ZY)dXQheA7RB&bQS?x+mEYnE-bcM1!V~uu$EpR}|VToF~YN zJQa7hVUr(6fawDqnKIpMtSl!!9Qp_$tWxa)yp9CisLvUx8N&JaA9}Wbm!DG&lwg3f zkZ@G00^@`7kD7NJ_ht=R)!15`a0PM4#J1w)r%$rJpV{kTG$Yg&c{=1==^n~MXcew zAxYtbTVcgHYJG91`@kSmYFmVO=;-+~XMQ#m39CU=6f~6Pf%}D+5`70zB1CBZ^o$X6 zP)y|i^$>s~;E2y2F5qUi_#eZWernJZp0&B@Br@dhP$&xcWpEVzvJ!lHk+P7zjl>k>{v&e=Sa9>>F!y4vrq4Pe1 zX#PaEj}X$2IXN7~Ka!xiE`QXPNUX(ngerNS-M;Ht*L29U-`wDnC1akwUQK0gb?*&P z6@eli4@$FtCMFsd_~k#&@^q>V4@w)5X!P!910ib$*XzG~gaq^cA0{;a>p(}H3DidN zxAplyD=&;cTk$!Wwy0+H=v4tY@XXc1wHa$mq^$}Odj!>;Bbct-sSIlLIh*L#C_Qp zve``gp@fctA^DlZmljRg%0FnI_Y73_ z_UpK5P}I69cb0H>yJ@%|-Yvlw`$r3aoGNH25}T~ie4=RnViUP~^+`yEwrZY z=dU|EI*5m7MYZ+>+i9Ct)+Nc6l4G9ZQVB@|4l^nuBISDpjWI997@XJ2!UVt9RptEXy%cj=cw_Ck{JVFB~EwWddIZk2oY6bSlE_v0mb#$Rh3nQ0K8Y|z*V zKY2HWdYW4t`}0TFmxZg@&V&5xSqJ*2D#f)vOl$UYMuxi7lv*+e)Vbo3thtz_{?OMQ z@s=Zdm0^T5{Fqs>h8<(qyHr$Esb<~X-A1Tfo_j8yF)=aCjRK%pg|2j-P@I)@_qusg zj;S^|`>2cl$7>z;tb6v`dBK;7*uyU^iAW#fth!Fmt|fml^SnpHM?U<0d5ofnDVa7T zH1wQ*QPGt_O`-jiMO+mv9EiL>8K}dqEH>`O3R=j=hlGR(_i0rtN4Rukn6Ua>ZG3T1 zdh7AtnmIEv>Se$5p1p0SaeSEc!*q%kPMfKG!WRF+k!bI037;O&EAd$xYfp%J_fymC ze;_$&Er-QQ#d=pf-($Mk)hN^ZQHr1#KI(R#)#YJNJoVUI&7&Z@D0831B>Lp?P|!=^ zz@LHeh1s~NCB}H&KS~#fi1y|6Cd?t8NA|r|4gK611^yckp9- zuNnBw{y?)E^uN~)+z)0qI1v~S;%z9gD^#Kijyk?D-&~s0d^$_%GUh_rEAotG#;%@r z;89+lZu6%7GQ+lwq^D?$h`pWsHty0#a$epB3(f|PEwoOCh7}qIWs?c21a_y$1qIBA zJsf?d7)Cd{{VlF>(a!qiKhk_mkQs?UmYQ}($G-37aK60jab@D_CQaAE{^q$wSdc%1 z_W@kQo?}Jrt~{*9J6~$URjNe_wY0&I;iDZx`p?yW7m2<4Y~?_((8&Vf#n5D*C?^L* z*TtXetme@q~|I(b}b(C-(|VThm=fXT;aSO6CI62->yXL zC^xsZCP`JfYBm-$N<<@g@1ornb zR*pkG0{n3B<++@FgK#37cZ4J-&qk?v0S1S`-wQ;z@Ie~Q_V_zSResh#VVt3L+3t@P zcI8(v>+Kf4^)!`Hk?;i)MGAZII#UtaT)!lTe)YsQdy`5It!yC+gJ&`SA39dYgdD-J zJz41O;2N5fRK=w z24R%S=mEuyuf}561X`u|@5f&$^ z|L0jdfII&EX*jM76rdIa#1DoUj#Hv#J=+pVur(fOjCSWR$Eg%Db!Je(G z!VytJj1VXp_%K`ia}3(xE-W630nj)Sl0JPK_qfDPH@`5x+ILVcpBZwg$zC1+ru0l* zpmlu(p5dUbhstrDU5LOlodrfNi+zP56w{L(gn|SxeSMs%!TK;x=YGXQ%EA1EhbwhZ zOeEM_a1cbo3I4bJ0E4*+7P*ax>^^QPpsw`MkNRfX{q~)o%<`agYdO?EcUP14+mAHE z=f@jt)jCT=Qlf-0e3QEfk3eOZkoc=?~B0KxqqKTY%xPQxl}4&>L8_c>gw za!1V*+sdyKIAYytlZx;!C3NBKQ$m#yvMGlEx3QJ~*4Te$pLb4qAu{b&rDf3GYxl|~ z8E|L09Y5bupV56x5KD!Mpd$;W;LLIRu9qwRlJg`{-0g~pih2eH8k8w`o(Bp*CHZG1 z1QJ3<+^bv9yf@xGbrR3kksr*b{O6q8X%lF+1p| zX~cQoeL|5pR~kyQmBKJ;D)=TfZjlxi7QE}UCqq^W3g-ZNGwMl>QhY>I=&K4xsMc@^ zZz935cg1ceK#Cl!P>glp6`g+o+`Dj(wLR4xujP>?vaw=TkwoE03vF$#Yu84|=~=)T zRYoZJ{}B@?n?q0!)KAo5{3aP0Ss$n!M<-;3X^i?>f)ywL8YWzB_{`pPbTrv@AzCL| z&f#QAUDY;{oQNo}!ZsGWu~TYj1F&T-euKa{&&|tA1ZjSxxoyJCf&iy_{$aTt0YpAU zVsm4IOHdGXdlWR;Rsq2ZZ0u}oT)daW6NpH~u~lx550(o1YCU&9UJ~UF8V`Ec{xV+p z*Guzg$~bw~ih5%mfvXx;T6zzu!)ncW!Apdde}3)2bBYLiCjC73@8#XY!<{I1jquMFeS_`ZWm!L}+2IJfhx6A$v1>W+obrN?1UI#3 z3)EO@J_T*3SXGm+yJ}bykH6o&J)v`S<>>WPU|&{7R8tVCj*rg`P%qS;`=N4tSgUBy zm+6c)>&UvLNWYpKqRa8+|MRhjo|L!_y@6Z z_;%UXAzCbYtSP(qgXd!Zr4kuj7@SH`(qoG&|MrKdyX~)Jwio*;*oV2pl#|96*>Y)} zYITO7td}I+v|u1IX)<46Vy)?XafkQta$C0jWj}Oww2d)zm!IRLm8kSlm++$qS&3&7rBk2J7enp$FSUhbmvjs;1H@|Jx5#J*NuR`vX@$*M^6Nt8c>&gjhVgJH3Wa+8DXSb_(Mo!# z_n<_-ryiueOmks$IiIdyz3_cF_vOb|VoC!bA0>J+JLad?U5;bnEwXi)_JC?Ufl&UA zb~gT*&cWfIZusdH+~ z`!P4y<9Ch_6K57LxNdDQ{S?^w_W=CkyujO#TPObcigYnFZ-jANqtb4zohZcN`@r^N z<*5u4lqfX=XQq0FUuTcP$>(%EO7A5;%Hg6EZihO&I`iNLw0 z<@#RN8jc|NCIJEt)-$tI9d}nJ-c&u&Jq;Y!clv{14mq)QaARBA+>TZ}$<5?t&>rt1N+It{bk1KM(mmO8h2uJLZU@9t3758gAr5GH!d3buf z=D|&-)hkv?!fIe3*==F94(=dS&XI%|ODiObxfiO0;oxtXkfxo(0O;1ZT+2N=C3)Os zb4EgFP=gp4sq!bs7&HQ6Q9C%CrT_%+FBo`sdL=|WP(LczJ%=7EccyRir*@2UQT?%` z3n&VVZYHP_pC@@I$i{jOQwTtTzajx#3X8ZVJw(9_l^;nJt(2cBj{lBGxW`5C;;WyN z^U8bY=?l&p;p4SA)<$#+Y<=Tib^$o}l-pN~&=<+J(Kz@k>I?ulvsE%0xEf=j;FCWK z`Cm}*gaz?)_gBjF^Q3}oC2b=*iG!`3VfI>xyh>k_GM19SgEZe4*fx{?dssjM26i3B z(s&}DJK11$&rHo1PjvtaUW3`>8=b@cCWFZTvK}t>S0(*L)8CSruC-~~%XRQNyvos% z6!S13_cE5vKrIV%Az(m>O~d{tMEFSuogL;ePld2cWAp&)MN#v-gcyoJvBeDHf#pse zHGa{Xgacr}2?EIH*gFzQxc?9UXXkU77g?$(RZ8$1ys>rRn<|b4B9PBna%vc{BcC1j zON1lH570mZoee?fjFS4L#;$~XoSb~KC7$+{p|{0k$DHH?rvC@AFk|~%9J+~hIbgVkjsMPL>Ktckr3+ZTovwHCQLz*j7h@EE!Kif$io`p5oM)^2e7aHt~x|ijdjc~zh1LJ^crdE{L zftEsOkYLca%owa*y?H{3pwUQ9UmFrH1k{YD?G6V3Jdsyj=&0^lVHQ(I$}{%Hy}2ZF z>qZvsXLmV}e%O=N{Xo@(>P)viehcTn?}^(;+7EnRLP=7dv7pA78ff;H0V=*4addWe zX3>~=MUpUxBZ=vR->SUi=*HIa)~^Hg6?#AyLu6sy0S~D1*zqVX@{i?MjD=4`^ zDOosztbhXa*2E=$2WU4;utvsPJM1=|d+5h&3L7#)gWBsoT`6)4pbkS?fk}1G!S)jO z_3H_sN}LX1%jgHE9EDJ7VXM#Z=?m-FXu(pi{l|b~NX443ab`X$pwO?dUoU50@xEG&GxZy& zDn{lT#b37(D6^!fn*EIbU#Fv-8o}_*0F;uf-5IfOG@=nOO+Q?zj?jB&AOk!${Dd15 z7l`TP?FS2}{QP?X=$Mc2J!0LS@Aj`dIj|=qjt4#I!kDBPAG}T<=>ci z@~xvkPB9}E;bOK;??q5Q;6s9r1q#hGIa$e%4VSu=m@+`Q(JIiH&BXV*(;Si1$==M? zfU(1elk)q+LaNHjaK8*5M@IhDI%po~>kikP-_qkmb-r3^z4(U_tD)p$XID^jl>2&r z&m3=-a<;4FdmL(T&O~=G9#ix2wIz| zx3-gvAcD`yrYVvbi|S%0ibpX#OZP9Gp}HpeBMb)fc0_)4d-Jv_et!Ii_X8LC1xD4z z9%f&$Dhv`s>Uv6HA5xLE%&&%-e* z{duzFC}ZJ$OnCT!PFRX{TU%T3Ar(Eny-jT$&x}OVlk!}txo?dF#~JyrpC)&?VPdaO+HKG^P zCvJ(#%f&Lejwv(jhPq!8a3ow;5}7%cKh$Mq-`f*uBF@oNV{Z>Rr~LSFN$hlB^e`Z| zl6Y^ZY&s-sCM7uQnfzS2TFvdE#8ZZOAmd#)pI0SG^Z7=S`t8o5@Fu^z5wnMJy$Kh_ zDT%6tms4#SJP4DxZpb8rKS7{tMz#XCYF!8z^opvtoGg&wNP;X@pA^| zx!A&H*>-w7-{mCF8Df-4-t!RwK8Q=ZvFA|~oyv7wW5O4F#^qXyis#kig<2GBehn21 zgA&h+L&a%Jz-{Bs!n4tFeYNrgn`dv=mraHxbqngaAHsLi?lDysQwh#Mbl`OT^MFjRqO3}>jlxh3t*<{$x=y?_!@A;Tqk2Kso_w- z!^ALPz!=H`-b`Py?}tyL?!!F#g+mfj?R|xxk4yCM&uvu?NYi&e2kogmceEToX$+c@ zo)~!=M66gWpscLYQywhj5JBWgr5;!_BafW?ak}U9Q?$MgKmwk%tW7o9j#fGr=oEoE zN~b+)0<~<7m4)>u*N#CIbgD>_8>VrmZCQ66+0b!T>vvstU1Gt&H1T0@PRskUViSXX zrC6dU*4^FPdoWE%=(WZVCGFdkD2w|!=9eb3TY-}x`1|aSld>nK{v^2CEGrp;f+DP1 zfwUjfSjG=O3XtcIoW8YU!0K|RN3fuK&h7EN!@7Epg7?Yiw@@7r;WJVy{-^gNLGUpk8K#f55UA%A^r@Ae)2K=C{89?&k$DUwFy zEC{3QXNt7n313uMC}N4K3(X6BXG9gCWc5jb9cJois$cLd`IvXu7yY=m=k~-lW@RXH z`e9wh0KUE=KHL}ZP<2>)yhs|$F)5qWmY=Vl03NLJj~P4GZXdC33&%Gk*g-ecNhZhF zqjN>W6~!5T%=fnbL{%ul{-O04pTYphd}|M7`8Nsm8v+;OkBJ9iVS->sLSKI~DuSXn zll(MJr=3_#>wd+GPyG_$bGX9Jyi9H$LRjlQySj?ml?s?(Dqgr)O*ckWjBgSZ%#8}r zKI1}H$FqYyDhE?_(U@$dyXSRdqqPAmLt8uzPeHT__sk{`HWCMJe%OKW-XuTZ$7)$&;_-8$dh5}a3C~mC7Ei369 z=8xC#x3@5LB?TWMf2mOGD>3*;+22bBsKU!?Y70Ynq}jiLUhJKP-}6L*De{27W~fv@ zU>PA%Kmx!$CN?Z6s{Umz zvr%kniviH((eeT7Z8S%{IFvQ|NKp{IH5P}%E$tmhAU!d4@Y;QPvZ0SnB!-2YK{a<^yP!B62lqceFG2w{$RnuWr>sOqW}GTFh0ZeC(rc?ZmVoB4Q2sL)8k+vtL5~0O6B3q6cr{PeFY4Ep2UC--F&a^O*?`g-U(+Vn9Ypzz`E?g|i@5zfX*n zvPQX)c_Xi*3p zF;Y34+t(6GW80moP-@*q?a1sspAwYqdwNn%mlo9kqIm?iKG8d9>FH7T=jlg)klT3x zU8qi(a)Z4sr<;TOGS%r{Uon?ewg9mf%syR{mbv?iM?j?N0D4Wi1or8z^zoLCQL)82 z;MeM2_1V4d@vFF%OH#5%PycAvQrhQmxnkjXcOna{#S)z&3KeN1&A|}}nnNgoW(`>h z4t0k5Ns5#{D<6K^0HCROOE--~WH$&z9raF}p14j6f%Xler2<)+Z!$C069~FnNs|g| zHbPRi?Q?$3#+hY0&U^~KV179&(&t@zJdr9%-=@uw=(sD(b$6MmFeXk3Qb8FEaKi-{%)UNq7e%q z=4vy2Ij9k+V{OeYb@=Q3G>h1skLYU>jI7tbks8p_()Q)*=Dnaqw6wGcg9IBoL5l#l znXh6NY)h~;uOF}`pl7ndAcaAlW1vJ?$AGpGxi%%hBwbVoV$D(|>#fYmEN)GU6(7xA zmyj6F<`EgRjKx8D_}+Q?ku;}$27s49!WTSOyhdm%nq)bLf>+}^B{!e5k6r1Fh#|W3 zHJV%4etsm$p+1&YYJ&f5qick`5UJo4lfmi!-t67PIsBL~swqcPYvW_egwqL3`qs%ui(^oA$`>6yN6IFAs?b8kX zwx>e{LS|jP*qq+n@V@DNxpPLWDI#VMR!A`E3t|OPQDc3Q^rH9Qg4~;6(UCIydwV5f zzCQ1q`Ck!yRE+s&UmKUM?aO{u!_Vb^?DcYv-kyuor@H_BJ&aIbRF`wLMsq1<7 z=hGtWgbUcr0I@vg)F~ARgZn5?EwM^(iP;add%<~(?liOyI;F8d?N&*LhljVOf|y>j zAl>$f>o2;449Z(@LFvm%oNn&qS0h3~gvw-Cj}26m3~z0mB+y>Ht6aelZzewqLY4YH zINf8HL&dZvFy$o?=F$;0w8Ih1HqM>Q(x7QqDHeeZ6{YOif;={hZz2hnPu4Ugp;K3I|d{+(u8do29^nm-_;)^qp7h z1AKi)Y71_?Jw43{E1>5|zivRwXAl;yZ7Go$<)tW9xlZr%FyiO=)vzeO^_tmPgHa{c zsF6c|Lx|PSjwA~Su1*zNid8l9l_%r~5Io(b#Ap1h4iFl zTfLgn!PfjWH34FiK_xiuN9(OE8<*?8I39p{nKs{Eiv&uIK6~wub4j2cXHtsEYmtmI zTyhj7O_i}AR5xhZk$WlkzL!669=47PzOioP+$qIv*P0_HU1)4p<(%VY*yzcIZ4tNF zmEu2cr{G?;d*Lb+77@Jc16pcV$5t1^r(VABi{HD^fRdojs4>Il4vN)YSKKd-3V%$Q zm^M|jkU+tt(WFM}AMa*14LrH>^?N6hc70qrJ9F-vmSs-NuM!t!zrztO4XPZwkz(EJ z#bLTxsx=^4%!0z4YsFg}*e-5u-_#s(q48h#GV+p{iUtczma4ipHz0KjCZGfTG&5&3 zd1%+lShY@}X>D`Ser9tU#lAXc)IN02+&_*|cUfuX<>$SW2u*e;P1Oy<{mHvGXqSw% zJbkaop$){0_Kp3Rj4fHu7T=(^x9U3qRC%l{$y`cPQ-()*^lG zy<(A_Ee_<`J1bsK7~Il*V0Z*{8=EuI|JH^tK6=S6xaERC{-cS_2F}EbE_NCwv$S6! z0S`WL@~-1iWq||&h5NFkE#5K>8)i3H66-sg+8*tFmppnLK#J@3Gs$({_w?}1lAKlD zh75YXBC+rgk7=;ODb+5R0gCY%cxneoKKakDCcG6kzyOHM3eJI`r`T-#zcf1%fdjx< zB@Bkf`PUEH8o&Tvxv;?hAcHfMfIv>-A#fo7{)r_+;}jE#&_Vu%Edb5{kd5@OSK`17 z6mfu)tj`Aa_W*Dp&>Mfh5^;wXjHyj4jrl)t>V&QvO+_un@u?57KQ4b>>E-w5^EWn+`k|=r@46*{T0xcS+ zIrahC@+Ubve`s8A@`%tF9wY(-{^bW_QvV)@uEvq@J`i3W{qPbncK0T5Ev>Le@D4LL zCWPi`-0&+;!AtSAQ0%ZuLU<=V`{@%<>9{xRjgKm5JOv_ouh4Ww87QWy;f-(P=&d9IuleO5C)=ca8)gqm&_Mrr)B^_8&~DLAPZm# z(Q^oPYURw6?k0Q!0$CuWUk4Njp`xbN2GO_NA|f$>(p;k31RzL>$@fTb_UBI>8JVYh zhyD6y>Hzaq5YrGrp^F5#FktC%Z@t$b1A%!!{Ly%T!V&W&ZTx8FYK)&odY>!e(GBO!nWJyU$ zbJ#9W$(bO&8c-Ohr0JjzKkRLhh9pC*hD)qV?{zYsVfO8nmzpf(oEQ zLd`BwagEm)NIdpu;}#m95eh#T5k{ZKg~K3V&gUg(gq20Wo;yGS)9hV~ z{dscXm(CMGgn*!lY#^BTUxq=+5jD`I@arp&!VW>cRT{~qYh8Gt^ro$?ZRvyWq6DO* zuE!lLGeEV`qy{*YgEdP7EOZn|3z1I-C^2OA0-$(5z!41Q@j})i%as;DG(r#`!O%W; zN}t}uvH|J|qWx|QB>yWZCsr#{V{1G?pm@>~{;QUY86GdjWqWL_`LaeFbjU6rLC`PZ)~} zo1F0VI+LYZ91{1ggdZR75>9mkh*mtv&%?tLz-=*)fJ*|CtHClN_Q6eL1kRNDe2sL# zpfK>qnenzp87xVKr>!j0oBW61D>fYV7wk&%W0Wl{}}c zpzsV%?{z@MRNU6OwBb?-kaa4&{@s+lwW(=x9{I`g@Vz%wL9U3WKuxIuHDxqzL;Ocg zeUycGJ-V>EJ*fkASD~)&11>`H){TwR>Nnyx<`rF(umE9jFa@;BzQF|3`@eA$B5kAV(_27HbTA`JsT?y8K4` zGkv!Ms5wOF>7NN6dW8dp9sQS?4s3Mn4R1Bnd~-t`@YK`UPA7~y;9@+GdI;=xEAR!D zJnJrjzm#VYR#wu}QOW(Srw#Fu=+AbvTZDfmd-j$4%3uis6 literal 56846 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 diff --git a/test/image/mocks/log_lines_fills.json b/test/image/mocks/log_lines_fills.json index 059d3f59382..b42a1b41d10 100644 --- a/test/image/mocks/log_lines_fills.json +++ b/test/image/mocks/log_lines_fills.json @@ -28,6 +28,6 @@ "yaxis2": {"title": "log", "type": "log"}, "grid": {"columns": 2, "rows": 2}, "showlegend": false, - "title": "Lines to invalid log values" + "title": "Lines to invalid log values
4 copies of the same self-filled trace, on all combinations of log & linear axes
Purple points should lie exactly on an off-to-infinity log-log line to verify that its slope is 1" } } From 13b54daad8578286d5625cf2b47370078938ae0d Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Tue, 4 Sep 2018 17:11:42 -0400 Subject: [PATCH 10/13] include chrome/ff versions in Lib.sort docstring --- src/lib/search.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/search.js b/src/lib/search.js index 6e626712dbf..f28c3b69ec7 100644 --- a/src/lib/search.js +++ b/src/lib/search.js @@ -125,6 +125,7 @@ exports.roundUp = function(val, arrayIn, reverse) { * Here's how this plays out sorting a length-1e6 array: * * Calls to Sort FN | Chrome bare | FF bare | Chrome tweak | FF tweak + * | v68.0 Mac | v61.0 Mac| | * ------------------+---------------+-----------+----------------+------------ * ordered | 30.4e6 | 10.1e6 | 1e6 | 1e6 * reversed | 29.4e6 | 9.9e6 | 1e6 + reverse | 1e6 + reverse From 209235452b6dbe5dc57d255b06aa5995a32c328e Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Wed, 5 Sep 2018 12:00:41 -0400 Subject: [PATCH 11/13] convert some stacked area TODOs to Notes since we've discussed them --- src/traces/scatter/stack_defaults.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/traces/scatter/stack_defaults.js b/src/traces/scatter/stack_defaults.js index 75cdd99a5dc..26cf2178afc 100644 --- a/src/traces/scatter/stack_defaults.js +++ b/src/traces/scatter/stack_defaults.js @@ -65,20 +65,23 @@ module.exports = function handleStackDefaults(traceIn, traceOut, layout, coerce) } if(traceHasAttr) { - // TODO: this will show a value here even if it's invalid - // in which case it will revert to default. Is that what we - // want, or should we only take the first *valid* value? + // Note: this will show a value here even if it's invalid + // in which case it will revert to default. groupOpts[attrFound] = true; - // TODO: should we copy the new value to the first trace instead? - // if we did that, the editor could show controls in the - // first trace always; otherwise it would only show controls - // in a later trace, if that trace happens to already have a value... - // I think it's probably better to ignore the editor for this - // purpose though, as it's probably going to have to use some - // special logic anyway, it will likely want to just - // take the value out of layout._scatterStackOpts, set the - // new value into the first trace, and clear all later traces. + // Note: only one trace in the stack will get a _fullData + // entry for a given stack-wide attribute. If no traces + // (or the first trace) specify that attribute, the + // first trace will get it. If the first trace does NOT + // specify it but some later trace does, then it gets + // removed from the first trace and only included in the + // one that specified it. This is mostly important for + // editors (that want to see the full values to know + // what settings are available) and Plotly.react diffing. + // Editors may want to use fullLayout._scatterStackOpts + // directly and make these settings available from all + // traces in the stack... then set the new value into + // the first trace, and clear all later traces. if(!firstTrace) { delete groupOpts.traces[0][attr]; From 00d7d2255437fc803a6c4793478313794651a840 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Wed, 5 Sep 2018 15:18:43 -0400 Subject: [PATCH 12/13] clarify stacked area groupnorm description --- src/traces/scatter/attributes.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/traces/scatter/attributes.js b/src/traces/scatter/attributes.js index c2856da6def..c63a3e35631 100644 --- a/src/traces/scatter/attributes.js +++ b/src/traces/scatter/attributes.js @@ -112,7 +112,9 @@ module.exports = { 'Sets the normalization for the sum of this `stackgroup`.', 'With *fraction*, the value of each trace at each location is', 'divided by the sum of all trace values at that location.', - '*percent* is the same but multiplied by 100 to show percentages.' + '*percent* is the same but multiplied by 100 to show percentages.', + 'If there are multiple subplots, or multiple `stackgroup`s on one', + 'subplot, each will be normalized within its own set.' ].join(' ') }, stackgaps: { From 9fdf5226430c756a8844847e1f2471e76e60a72c Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 6 Sep 2018 22:12:50 -0400 Subject: [PATCH 13/13] remove "alwaysSupplyDefaults" so visible: false does not contribute to stack config --- src/plots/plots.js | 8 -------- src/traces/scatter/attributes.js | 9 ++++++--- src/traces/scatter/defaults.js | 4 ++-- src/traces/scatter/index.js | 2 +- test/jasmine/tests/scatter_test.js | 26 +++++++++++++++++++++++--- 5 files changed, 32 insertions(+), 17 deletions(-) diff --git a/src/plots/plots.js b/src/plots/plots.js index 7a97cfccdce..147f83a3914 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -1181,14 +1181,6 @@ plots.supplyTraceDefaults = function(traceIn, traceOut, colorIndex, layout, trac plots.supplyTransformDefaults(traceIn, traceOut, layout); } - else if(_module && Registry.traceIs(traceOut, 'alwaysSupplyDefaults')) { - // Some types need *something* from supplyDefaults always, even if - // visible: false. Looking at you scatter: stack options even from - // hidden traces can control other traces in the stack. - // These types should bail out ASAP if visible is false. - // But we don't need any other cross-module attrs ^^ in this case. - _module.supplyDefaults(traceIn, traceOut, defaultColor, layout); - } return traceOut; }; diff --git a/src/traces/scatter/attributes.js b/src/traces/scatter/attributes.js index c63a3e35631..6c5c2edf7f3 100644 --- a/src/traces/scatter/attributes.js +++ b/src/traces/scatter/attributes.js @@ -95,7 +95,8 @@ module.exports = { editType: 'calc', description: [ 'Only relevant when `stackgroup` is used, and only the first', - '`orientation` found in the `stackgroup` will be used. Sets the', + '`orientation` found in the `stackgroup` will be used - including', + 'if `visible` is *legendonly* but not if it is `false`. Sets the', 'stacking direction. With *v* (*h*), the y (x) values of subsequent', 'traces are added. Also affects the default value of `fill`.' ].join(' ') @@ -108,7 +109,8 @@ module.exports = { editType: 'calc', description: [ 'Only relevant when `stackgroup` is used, and only the first', - '`groupnorm` found in the `stackgroup` will be used.', + '`groupnorm` found in the `stackgroup` will be used - including', + 'if `visible` is *legendonly* but not if it is `false`.', 'Sets the normalization for the sum of this `stackgroup`.', 'With *fraction*, the value of each trace at each location is', 'divided by the sum of all trace values at that location.', @@ -125,7 +127,8 @@ module.exports = { editType: 'calc', description: [ 'Only relevant when `stackgroup` is used, and only the first', - '`stackgaps` found in the `stackgroup` will be used.', + '`stackgaps` found in the `stackgroup` will be used - including', + 'if `visible` is *legendonly* but not if it is `false`.', 'Determines how we handle locations at which other traces in this', 'group have data but this one does not.', 'With *infer zero* we insert a zero at these locations.', diff --git a/src/traces/scatter/defaults.js b/src/traces/scatter/defaults.js index 955a2a82d5f..5668c9ffd9d 100644 --- a/src/traces/scatter/defaults.js +++ b/src/traces/scatter/defaults.js @@ -27,13 +27,13 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout return Lib.coerce(traceIn, traceOut, attributes, attr, dflt); } - var stackGroupOpts = handleStackDefaults(traceIn, traceOut, layout, coerce); - var len = handleXYDefaults(traceIn, traceOut, layout, coerce); if(!len) traceOut.visible = false; if(!traceOut.visible) return; + var stackGroupOpts = handleStackDefaults(traceIn, traceOut, layout, coerce); + var defaultMode = !stackGroupOpts && (len < constants.PTS_LINESONLY) ? 'lines+markers' : 'lines'; coerce('text'); diff --git a/src/traces/scatter/index.js b/src/traces/scatter/index.js index 6df0d85ed7a..133b54ae32e 100644 --- a/src/traces/scatter/index.js +++ b/src/traces/scatter/index.js @@ -36,7 +36,7 @@ Scatter.name = 'scatter'; Scatter.basePlotModule = require('../../plots/cartesian'); Scatter.categories = [ 'cartesian', 'svg', 'symbols', 'errorBarsOK', 'showLegend', 'scatter-like', - 'zoomScale', 'alwaysSupplyDefaults' + 'zoomScale' ]; Scatter.meta = { description: [ diff --git a/test/jasmine/tests/scatter_test.js b/test/jasmine/tests/scatter_test.js index e1711b395d9..74817411abf 100644 --- a/test/jasmine/tests/scatter_test.js +++ b/test/jasmine/tests/scatter_test.js @@ -1049,11 +1049,16 @@ describe('stacked area', function() { var xr = [2, 6]; checkRanges({ x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, - y: [0, 4.21], y2: [0, 5.26], - y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] + // now we lose the explicit config from the bottom trace, + // which we kept when it was visible: 'legendonly' + y: [0, 4.21], y2: [0, 4.21], + y3: [0, 4.32], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 5.26] }, 'bottom trace visible: false'); - return Plotly.restyle(gd, 'visible', false, [1, 4, 7, 10, 13, 16]); + // put the bottom traces back to legendonly so they still contribute + // config attributes, and hide the middles too + return Plotly.restyle(gd, 'visible', 'legendonly', + [0, 3, 6, 9, 12, 15, 1, 4, 7, 10, 13, 16]); }) .then(function() { var xr = [3, 5]; @@ -1072,6 +1077,21 @@ describe('stacked area', function() { y: [0, 7.37], y2: [0, 7.37], y3: [0, 1.08], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 105.26] }, 'top and bottom showing'); + + return Plotly.restyle(gd, {x: null, y: null}, [0, 3, 6, 9, 12, 15]); + }) + .then(function() { + return Plotly.restyle(gd, 'visible', true, [1, 4, 7, 10, 13, 16]); + }) + .then(function() { + var xr = [2, 6]; + // an invalid trace (no data) implicitly has visible: false, and is + // equivalent to explicit visible: false in removing stack config. + checkRanges({ + x: xr, x2: xr, x3: xr, x4: xr, x5: xr, x6: xr, + y: [0, 4.21], y2: [0, 4.21], + y3: [0, 4.32], y4: [0, 1.08], y5: [0, 105.26], y6: [0, 5.26] + }, 'bottom trace *implicit* visible: false'); }) .catch(failTest) .then(done);