From d48a62a4e962466c291f119c26e3d91b9760a1c9 Mon Sep 17 00:00:00 2001 From: Jukka Kurkela Date: Wed, 10 Mar 2021 15:18:10 +0200 Subject: [PATCH] Add backgroundColor for scales (#8606) * Add backgroundColor for scales * Loosen the threshold --- docs/docs/axes/_common.md | 1 + src/core/core.scale.js | 15 +++ src/scales/scale.radialLinear.js | 113 ++++++++++-------- test/fixtures/core.scale/backgroundColor.js | 58 +++++++++ test/fixtures/core.scale/backgroundColor.png | Bin 0 -> 2122 bytes .../scale.radialLinear/backgroundColor.js | 37 ++++++ .../scale.radialLinear/backgroundColor.png | Bin 0 -> 28836 bytes .../circular-backgroundColor.js | 40 +++++++ .../circular-backgroundColor.png | Bin 0 -> 37714 bytes 9 files changed, 215 insertions(+), 49 deletions(-) create mode 100644 test/fixtures/core.scale/backgroundColor.js create mode 100644 test/fixtures/core.scale/backgroundColor.png create mode 100644 test/fixtures/scale.radialLinear/backgroundColor.js create mode 100644 test/fixtures/scale.radialLinear/backgroundColor.png create mode 100644 test/fixtures/scale.radialLinear/circular-backgroundColor.js create mode 100644 test/fixtures/scale.radialLinear/circular-backgroundColor.png diff --git a/docs/docs/axes/_common.md b/docs/docs/axes/_common.md index 9e3546461..1e9ba6450 100644 --- a/docs/docs/axes/_common.md +++ b/docs/docs/axes/_common.md @@ -5,6 +5,7 @@ Namespace: `options.scales[scaleId]` | Name | Type | Default | Description | ---- | ---- | ------- | ----------- | `type` | `string` | | Type of scale being employed. Custom scales can be created and registered with a string key. This allows changing the type of an axis for a chart. +| `backgroundColor` | [`Color`](../general/colors.md) | | Background color of the scale area. | `display` | `boolean`\|`string` | `true` | Controls the axis global visibility (visible when `true`, hidden when `false`). When `display: 'auto'`, the axis is visible only if at least one associated dataset is visible. | `gridLines` | `object` | | Grid line configuration. [more...](./styling.mdx#grid-line-configuration) | `min` | `number` | | User defined minimum number for the scale, overrides minimum value from data. [more...](./index.mdx#axis-range-settings) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 684916e7f..41606d91b 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1575,6 +1575,19 @@ export default class Scale extends Element { } } + /** + * @protected + */ + drawBackground() { + const {ctx, options: {backgroundColor}, left, top, width, height} = this; + if (backgroundColor) { + ctx.save(); + ctx.fillStyle = backgroundColor; + ctx.fillRect(left, top, width, height); + ctx.restore(); + } + } + /** * @protected */ @@ -1730,6 +1743,7 @@ export default class Scale extends Element { return; } + me.drawBackground(); me.drawGrid(chartArea); me.drawTitle(); me.drawLabels(chartArea); @@ -1758,6 +1772,7 @@ export default class Scale extends Element { return [{ z: gz, draw(chartArea) { + me.drawBackground(); me.drawGrid(chartArea); me.drawTitle(); } diff --git a/src/scales/scale.radialLinear.js b/src/scales/scale.radialLinear.js index 2d04d365f..17928a7e7 100644 --- a/src/scales/scale.radialLinear.js +++ b/src/scales/scale.radialLinear.js @@ -93,7 +93,7 @@ function fitWithPointLabels(scale) { const labelSizes = []; const padding = []; - const valueCount = scale.chart.data.labels.length; + const valueCount = scale.getLabels().length; for (i = 0; i < valueCount; i++) { const opts = scale.options.pointLabels.setContext(scale.getContext(i)); padding[i] = opts.padding; @@ -196,17 +196,11 @@ function adjustPointPositionForLabelHeight(angle, textSize, position) { } } -function drawPointLabels(scale) { - const ctx = scale.ctx; - const opts = scale.options; - const pointLabelOpts = opts.pointLabels; - - ctx.save(); - - ctx.textBaseline = 'middle'; +function drawPointLabels(scale, labelCount) { + const {ctx, options: {pointLabels}} = scale; - for (let i = scale.chart.data.labels.length - 1; i >= 0; i--) { - const optsAtIndex = pointLabelOpts.setContext(scale.getContext(i)); + for (let i = labelCount - 1; i >= 0; i--) { + const optsAtIndex = pointLabels.setContext(scale.getContext(i)); const plFont = toFont(optsAtIndex.font); const {x, y, textAlign} = scale._pointLabelItems[i]; renderText( @@ -218,45 +212,47 @@ function drawPointLabels(scale) { { color: optsAtIndex.color, textAlign: textAlign, + textBaseline: 'middle' } ); } - ctx.restore(); } -function drawRadiusLine(scale, gridLineOpts, radius) { +function pathRadiusLine(scale, radius, circular, labelCount) { + const {ctx} = scale; + if (circular) { + // Draw circular arcs between the points + ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); + } else { + // Draw straight lines connecting each index + let pointPosition = scale.getPointPosition(0, radius); + ctx.moveTo(pointPosition.x, pointPosition.y); + + for (let i = 1; i < labelCount; i++) { + pointPosition = scale.getPointPosition(i, radius); + ctx.lineTo(pointPosition.x, pointPosition.y); + } + } +} + +function drawRadiusLine(scale, gridLineOpts, radius, labelCount) { const ctx = scale.ctx; const circular = gridLineOpts.circular; - const valueCount = scale.chart.data.labels.length; - const lineColor = gridLineOpts.color; - const lineWidth = gridLineOpts.lineWidth; - let pointPosition; + const {color, lineWidth} = gridLineOpts; - if ((!circular && !valueCount) || !lineColor || !lineWidth || radius < 0) { + if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) { return; } ctx.save(); - ctx.strokeStyle = lineColor; + ctx.strokeStyle = color; ctx.lineWidth = lineWidth; ctx.setLineDash(gridLineOpts.borderDash); ctx.lineDashOffset = gridLineOpts.borderDashOffset; ctx.beginPath(); - if (circular) { - // Draw circular arcs between the points - ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU); - } else { - // Draw straight lines connecting each index - pointPosition = scale.getPointPosition(0, radius); - ctx.moveTo(pointPosition.x, pointPosition.y); - - for (let i = 1; i < valueCount; i++) { - pointPosition = scale.getPointPosition(i, radius); - ctx.lineTo(pointPosition.x, pointPosition.y); - } - } + pathRadiusLine(scale, radius, circular, labelCount); ctx.closePath(); ctx.stroke(); ctx.restore(); @@ -319,7 +315,7 @@ export default class RadialLinearScale extends LinearScaleBase { LinearScaleBase.prototype.generateTickLabels.call(me, ticks); // Point labels - me._pointLabels = me.chart.data.labels.map((value, index) => { + me._pointLabels = me.getLabels().map((value, index) => { const label = callCallback(me.options.pointLabels.callback, [value, index], me); return label || label === 0 ? label : ''; }); @@ -428,6 +424,24 @@ export default class RadialLinearScale extends LinearScaleBase { }; } + /** + * @protected + */ + drawBackground() { + const me = this; + const {backgroundColor, gridLines: {circular}} = me.options; + if (backgroundColor) { + const ctx = me.ctx; + ctx.save(); + ctx.beginPath(); + pathRadiusLine(me, me.getDistanceFromCenterForValue(me._endValue), circular, me.getLabels().length); + ctx.closePath(); + ctx.fillStyle = backgroundColor; + ctx.fill(); + ctx.restore(); + } + } + /** * @protected */ @@ -435,31 +449,31 @@ export default class RadialLinearScale extends LinearScaleBase { const me = this; const ctx = me.ctx; const opts = me.options; - const gridLineOpts = opts.gridLines; - const angleLineOpts = opts.angleLines; + const {angleLines, gridLines} = opts; + const labelCount = me.getLabels().length; + let i, offset, position; if (opts.pointLabels.display) { - drawPointLabels(me); + drawPointLabels(me, labelCount); } - if (gridLineOpts.display) { + if (gridLines.display) { me.ticks.forEach((tick, index) => { if (index !== 0) { - offset = me.getDistanceFromCenterForValue(me.ticks[index].value); - const optsAtIndex = gridLineOpts.setContext(me.getContext(index - 1)); - drawRadiusLine(me, optsAtIndex, offset); + offset = me.getDistanceFromCenterForValue(tick.value); + const optsAtIndex = gridLines.setContext(me.getContext(index - 1)); + drawRadiusLine(me, optsAtIndex, offset, labelCount); } }); } - if (angleLineOpts.display) { + if (angleLines.display) { ctx.save(); - for (i = me.chart.data.labels.length - 1; i >= 0; i--) { - const optsAtIndex = angleLineOpts.setContext(me.getContext(i)); - const lineWidth = optsAtIndex.lineWidth; - const color = optsAtIndex.color; + for (i = me.getLabels().length - 1; i >= 0; i--) { + const optsAtIndex = angleLines.setContext(me.getContext(i)); + const {color, lineWidth} = optsAtIndex; if (!lineWidth || !color) { continue; @@ -518,11 +532,12 @@ export default class RadialLinearScale extends LinearScaleBase { width = ctx.measureText(tick.label).width; ctx.fillStyle = optsAtIndex.backdropColor; + const {backdropPaddingX, backdropPaddingY} = optsAtIndex; ctx.fillRect( - -width / 2 - optsAtIndex.backdropPaddingX, - -offset - tickFont.size / 2 - optsAtIndex.backdropPaddingY, - width + optsAtIndex.backdropPaddingX * 2, - tickFont.size + optsAtIndex.backdropPaddingY * 2 + -width / 2 - backdropPaddingX, + -offset - tickFont.size / 2 - backdropPaddingY, + width + backdropPaddingX * 2, + tickFont.size + backdropPaddingY * 2 ); } diff --git a/test/fixtures/core.scale/backgroundColor.js b/test/fixtures/core.scale/backgroundColor.js new file mode 100644 index 000000000..47be5469f --- /dev/null +++ b/test/fixtures/core.scale/backgroundColor.js @@ -0,0 +1,58 @@ +const ticks = { + display: false +}; +const gridLines = { + display: false +}; +const title = { + display: true, + test: '' +}; +module.exports = { + config: { + type: 'line', + options: { + events: [], + scales: { + top: { + type: 'linear', + backgroundColor: 'red', + position: 'top', + ticks, + gridLines, + title + }, + left: { + type: 'linear', + backgroundColor: 'green', + position: 'left', + ticks, + gridLines, + title + }, + bottom: { + type: 'linear', + backgroundColor: 'blue', + position: 'bottom', + ticks, + gridLines, + title + }, + right: { + type: 'linear', + backgroundColor: 'gray', + position: 'right', + ticks, + gridLines, + title + }, + } + } + }, + options: { + canvas: { + height: 256, + width: 256 + }, + } +}; diff --git a/test/fixtures/core.scale/backgroundColor.png b/test/fixtures/core.scale/backgroundColor.png new file mode 100644 index 0000000000000000000000000000000000000000..5855420b93150a8ed707eb1799fcfc38a8d8cf44 GIT binary patch literal 2122 zc-rd>@N?(olHy`uVBq!ia0y~yU}OMc4mKbaQ?w$Dfq_HN)5S5QBJSm& zJ^$s-@3eouN3y={x#@U^7U2H46ox4{5}k{u;Jm)%Bs6Si#P0Z ze9tcpWVAhh{<4&rf#JX}w!QW_Kmmz)^Os-e1u|YsfBClo=+=aax_NQtK!G*+7lyha zjrSQE%AeOo9H{*Jv8ML_%bMuA=Ix;Hdid+t)9%@`!@IZF@2j+Yf9~-o=5y0OfBRGY zZ)RQdaZ`hg2j9MZTfchs>iz8g_V%0&slV^}nKLvjpMSre;ice|!$2#a{yv}1&cN_V zSwkFX-IVwC^JN(rPV_H`0rCR&{jVuwU{J7cDgye$;pe~4HyIfk{&1XPWf;{ss&Q1~ zsK$|}@ozcfgSubdf4)Dz{`qHr{^k4+JJ{HGW8&@i?AclQG3&#Z&y%M=eQbZPu7>Hw z*?-nGjcj$5%<|`U-ue3}{Qq|ahG}oBci&@R_`@D>-@(eBfnkE2gRKqF6+@l(N2cLD YpZ3B-DJ(2uz@TFAboFyt=akR{0P?T~sQ>@~ literal 0 Hc-jL100001 diff --git a/test/fixtures/scale.radialLinear/backgroundColor.js b/test/fixtures/scale.radialLinear/backgroundColor.js new file mode 100644 index 000000000..405877d3d --- /dev/null +++ b/test/fixtures/scale.radialLinear/backgroundColor.js @@ -0,0 +1,37 @@ +module.exports = { + threshold: 0.01, + config: { + type: 'radar', + data: { + labels: [1, 2, 3, 4, 5, 6], + datasets: [ + { + data: [3, 2, 2, 1, 3, 1] + } + ] + }, + options: { + plugins: { + legend: false, + tooltip: false, + filler: false + }, + scales: { + r: { + backgroundColor: '#00FF00', + min: 0, + max: 3, + pointLabels: { + display: false + }, + ticks: { + display: false, + stepSize: 1, + } + } + }, + responsive: true, + maintainAspectRatio: false + } + }, +}; diff --git a/test/fixtures/scale.radialLinear/backgroundColor.png b/test/fixtures/scale.radialLinear/backgroundColor.png new file mode 100644 index 0000000000000000000000000000000000000000..d61a1c9218d6fd3809277c06186971f4ae823b8a GIT binary patch literal 28836 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 literal 0 Hc-jL100001 diff --git a/test/fixtures/scale.radialLinear/circular-backgroundColor.js b/test/fixtures/scale.radialLinear/circular-backgroundColor.js new file mode 100644 index 000000000..5e21f244e --- /dev/null +++ b/test/fixtures/scale.radialLinear/circular-backgroundColor.js @@ -0,0 +1,40 @@ +module.exports = { + threshold: 0.05, + config: { + type: 'radar', + data: { + labels: [1, 2, 3, 4, 5, 6], + datasets: [ + { + data: [3, 2, 2, 1, 3, 1] + } + ] + }, + options: { + plugins: { + legend: false, + tooltip: false, + filler: false + }, + scales: { + r: { + backgroundColor: '#00FF00', + min: 0, + max: 3, + gridLines: { + circular: true + }, + pointLabels: { + display: false + }, + ticks: { + display: false, + stepSize: 1, + } + } + }, + responsive: true, + maintainAspectRatio: false + } + }, +}; diff --git a/test/fixtures/scale.radialLinear/circular-backgroundColor.png b/test/fixtures/scale.radialLinear/circular-backgroundColor.png new file mode 100644 index 0000000000000000000000000000000000000000..5da9a2d6213741d6d4430737e667898a3347a15e GIT binary patch literal 37714 zc-l03Wmr@H|M%JGMp7gVy1PS^?(Qz>?iwO3A>E*Kch{sFq`Mm=rDONLzw7=#*tI9y z=e+Y3J7*Efic(nUZ_oh%z><;vtO@{N;J+6tGW_kI*USR|PysTZKdO5fo@Ajd7-)E( z1)5}oLE_TlU>Ve4llWY!Vy$BLTn6{gwzD=G0+7bYPsfwCS*OgAjSM#e8hyG*HNVt< zmr7S~pqbEMg2cs<@%Ch@BX93>&dRG@T{>NFs^`{h|2|jl-)Em+{Ot(6^}p4HUB{?Z zTN1FL_euuQLy4e!kQZNc+FIrbOJvT}acp@j+rm1M>BV2SXO;4Y&nK96V`mFr>FtL0 z?0#E5!`8kt|Cune8~SV4w`Vu<{A}TfAv9j4Jy^Av4%>7N7~6gdUB7;LUM`-GCx8y}o`dzSdtAjiEdh ztrtEAoXl}V+2#MzSe{fFS8;4n6MQ!Hy=jYomURmLeJKI13o5BYUG3dVAG`zSY!v*QbxC<5j`J z=4}|w$X@kG$|lZn5eNM++Ye3e%L%|7*{oxGiH1VUG-v#TKs{K*8i^2>eX`fdgyXHwkr8e4L5nM z=MC*OE*t&=HZGmhK*=66F7C)_Zr)lDf;AS!t|Y~tvttuyz&6B2CjL8SaXXF=NG ziXFXIHb`6KLi^C{iUZwl=#SmRx)WWS3qf05D!CW>a_zpPgHOq%Ojzg1vyFiEE)O4f z-YX{upG%|#?n?>lN^G*HNJ61ril`)CT-d(0`E#XhW+<6ccV>%>EAl3La5>FvC z*)MDHWP)=sxv1v7k_ig7C26BYS-3-=MN4C4;Flx+Lyr6xVn8`T2`ZcxQ$Uic>5&_{ zhEEsgy{$sAXHvOC!LqNyvPHwP6{}+p$$i_oP_3d01;i5VYGh_5gF@`a=6y?_@)k0S z*prH?$*+9Y&h7cm>%Ps{>i}X3MlaaUFb_biOJo7&d^RKn71knE6T;pBg4&TOHhCy^ zTmnY=Rwh`zu(Ya2Gcko#ms@4OgOLF|vs8s94kWjpoRI`?(DFH%$3|ccmSDprl=4H8 zI*bEUeCTmT_NopL3v46y8FrobIJ8A)ND%poT?^SzIo*Eyk|A~fN{&A^rEY}_@zwcY zp)x7FBr}pWq{VOHwZ>Qoy1iub*lIahsXGuY!AE(a`n~%^YbC(Fcw4}rMT!VK1hS}# z!72>IH-k7x>MPK2r3I;U2W!qnST+n_5@IhoJJ+Yfv}3+DUaZX31;Im>f4w9L8v57h z7vawrE^168#hGMPjkSD@{ah*AuD`iMTUD4V;SD?X%D@B;jAyP+@1_MKF~4y5)nLoG z!-J;S{1`B<%d%nlk|1hnZNzH2h%WEWbHFyh6;ukSqsTkV^44Rybk1Ph8r47HlS6h_ix>zcT*MJ@4rUY-(VL>u- zxllMzntiKAfhk0{h9UiPfVVdJtS+*SFPYl^y|@;=>9Jz!e@(MAlq%|^?%I$pyl^SJ z0vFZ-1+@)4{77zJ=#O*K)$iJFVS+foWZvTKb=yJ36Ue~PCDAWVuQ}?>mDTD3lZA)2 zyAne}_m~%mBkF1uSRQMMhxIkKXOerrRa>m{M0J-TGzhu6y%yh~Nf&=0SSm^;1`c%6 zaP+UCzXM7~E3nRnKXZVP9da>NYBW{8pAEEhR7EmDK`6~hQg^(` zml`i|dgTPQXfodk*Z|!3TCGAwqLxx?LnEofwu=p($LsA@RgIc4;Kh>wo$EjqEC{JV zA);1}Qd^h{;&+C(`VMn{z2ts|bR7|Xeqp89F}i=fzIRND$KGTX-58k<#~Ui^n+D5E zy$iD#W1=c68deiQkJEzU2F)z+V!lY^E#>G#(W}s1P^z6dKf*Bmq{TuC35_}0<`F@7 z9tx;NsyVD7b4;LflwCi4s26vD%$_JK51#mVjZiw0<8Q0Qg!lLFEiYsXUE)d-5Y8)3{-y>%A%rBX)zlNQ*MJQEtuCgX#KK0tB3KhXT`lq%_0BI z`G=zd=${j)lsCQW{rkd;N4o){y;0(Dq*@6%gj^mbzbYm`Ik47!Kwq2>SEj>*k?ImAplt> z?(Z>HGnJ}|y9Odgw;SXwc-#KY_o9#wU%q&T)tSOjrtdV709{$lk=%7Prnma|axPf! zE1<#UR{TcWeu~?FR~$CKwa{7NB;~^EhWEKnt6$Zav2(zb=t9%-Qnis+^rD8~>KSq} z8VS=vKLC%c*0O%AoC1nj$)3B&{rJhb^NZ0!OW5)ZZ}T*B-YywpYgPSNdVwX-@-UHI`>R zI$^6n;jx^a3#`Z*jg7ZQ&vVA|*5NC0JO=Qo?jPycn3uo|)ONc}bnyMHffYUj`nQ=; zXdnvJgWYE)3#6QV_0Higd#4Lbwp8~;BzVOSz$u?9ErQhOvoGS>Q{z-DfN4>+S zw0_v$XTiJYA2YT}iy3#tZXKQQMKhuP)=}$XZiO#qOx<)5`-EV`L8VN2xXcj`f;2kS z#<;hC&GO=PG!+RPO!f(-S{7D%c%1wYSX(882uwC>iZ@eDGl-l*pe`aq zdiU?T7L@l&Ob2d!mj7eszhpNxokg5Ufm?`sS6cFBmE=z%;ctp#!+do1Xws+X8MR>M z%ml!s*Ww$*hgJAgn|c-M1$8~PBDdK{%k;9abHP$aCspD zDWmsC7}@dzixjBfz}@@7^OUk(0RW=YklsHC>qR!N9Gz4M5e$NZdhTtyQeCro|E9&L zz|nNzb+&7Zp0fz+jLU)zY%K99PjO)_b9L@) zid60ji1gO+El1)sM6?9VnF3H8^5vMJ;Nn&+PZts5%OW!<8Vy5MT2vUL99Feqq_}uW>SIiCq^kH^t8*c z=J;WE5X59N2wu^ESH6ks)nBVzuqn65I|zE_1QbEjfSW#$ihAfv?0ZF2cvD_KrtBak+~I#( zqP3k-@M`QHG-1k4X(1q$8f>J)A$gN+3fuixP&gVm4DeOXVgX!~jBkZv7_VOpa_xkP zUFZXQqFN>yaOUJ*3Z*!KNiLKlG8n?>rn_I_VtZ)C7%We53WZ#*VJGQXiMi^*Xo3d> za8)MZVl!YD2n2o~(D_Zwmw=+KoIPy3n9*<;JQ|l%wu~F(1dkR2>MS z&G*WNBFDtYaFjN!k5U`COZl@yvysM&YmmWZ&d zAVq`P=@?_(e1XR?il9Fb#{YF1d5S-TblRsf37(S;wI_41eg7fTp0{5l37O7FIFGa| z!Jy?5W4aA5GC(yJ@>Ty5r}K$hZ~qd(ar&sOCAs{;2*v8hvMVMarcbIVu5DYhN>7m%@O_{;P3fFSaTAOv zSkV9h-$XP(BA`T>eSe-PV1wgilQGnb4E?H9dd^DL8CKu@&9+fYK|uPfF`CIe`yiPy zGYk64hCr&}ii240oJK_(3|n@bywNjPmu-IV;NXSJlNt zC3NNCL)M7bEzvx`QrETV?68gDmv(y<$g`7U=ODu4Vhu+=I)zqLL!qeme4$mf7>^Qc zq#5F?1lkC66P@XqupLD0{61uW%aie~{ zMpU%^e+mgbp?s5g-2AQ7CF{v=&M}!%6GJZkCt?4jmOW*j2*q-^`hYKrf~;0eO+kom z-$ZjbuZz$~WQUy+uMC_<6jZwo7UaC%U-2hdx43o?lK;+D3IZ=V?LHexJXg8*V*=&h zoY3Q&FUZce101%^iLMI%(X5Y=kOI;{XZvhf{`c>EFT#jcQoudniHjed>H0nD7s;_C zz!!T>alUFQqyxi<5=|E#(S5A;-`z+E$_utB$Uu8MrKbvv9mdgNP@xA zfuvibd)P?*0thn4rBZQp2cLv?P$s_THGt|tcjNx z`jydj&V*aGhU!4iEY60SqkM=%pDL`4r!GghYLpD_?sZd=a9Mg*_tw4R)@ws?>R1CO z60wlW_Vz6}7sTKtU`OvEUJNn2BXYg#SP3yO)ejpR5=EjwR)1Eqw>6$e|CA2~>U+x< zKXo~x$d^@n_%=|W7pq^(j_-pFe`mxUmo|jc!FAR<%YTI~B2rEOtRIu8mxnt;36Vf~ z&CkBnMgVZfO}3{80Tq8_QB!u^uFh76D)cAH?uA*b12}jPq~JkZ40aQ+?0>%5CGap_ z_A0dCj0gn}rv+LC@;tZ{yi{Ex6(Ixl|LpGa0@jh3@FltM1bp7%TrehIC}Qu{kyOQe zrdc1i)?5@>lKDZSd5!L|ktfUw(;{Nno9flKAKjyi8;fsJfSs3dWDtNL-3SFpDt`fP z_*_bWj{>#)+M+qVC>^)-I@)9B-ux$Qkt5bgAB=Q*&s+uCT(zgwYA)UvLE1N0e>ZWe z&*2xK0=@4T-;%ZD?xn8jCZFRQj@UMf3{2lhQ^9uv_45MRszZO^1v=4{j>iE#M+KZs ziXh#aa~2LAB45STkbrl=Nw|tITkkmEmaknKI(}t1$5TdXri^eAfY{?<@wiwoB z8YQc_LSyM@#`6(GK6eUD4h!c3H1vkyBb~yT@A9tsd$>mYJB@;Z4x<=w*QV#npr{Mg z+0ch3mid$pjsL$KTNt#pjAz>;qdO9WzP0mhpF#Yv!@07(kqc&bfJ#>zZPUXK$(BD1 z=L%Wz_@jU=_kYBz@a+`qisWW1mM_D=%O$I4NjpMK%p-6SHp_GD3wzX7B?TY{akDW8 zx8x5<@qUwo55=+ITPN!EjlRs@zt>nxf8iW9(+6|q%d~Pq7G$rgd~2VXtV~4;JLLo^ z>H&}iKh|8lp~`!wc)N(Z4-MZRb;bj)WDR=@WX1&l47~x0gPn=5IIwr*>>M?oj;K73 z`v*&5N%u-5fPX!lbpG_nqCUn&?mc>iqcnfla>3l^7ESY*fJgr2#jxMVg(}C?c4VJ2 zeWv2XD8?buSL>?eMJv!A0f5uBa1J!@DgD@sROyf!tClDnUMBD>BEl=3VOpI*BOR9< z<kG0DHeY5w9d7J_~<Q0pmY{RHe4X=Q3MFGBiZs-5$h4O#guxwz}B>;+N z*nL4-YRn~Cl{^XsAdZrTqo<=gZ6|%NI@=mw1SCO8zuiBov<{t~dOzF4rzRl@_lAiH z%hOXZ#YuF)c`(#X8%wE}yoVGx9~v;Kh44S6rj6b%R$R}jps&oc2AA!Iq1xMW0=Q$f z1qs(}6R43fk>+_LhCLN4eXe||dZbxWQOLZ&MpT;UK5(-ecG6GL*;*eUpcqvC5XgIe zDmUc;P+bf?D8u{wXk5DeE9vBN-W6rUTO`cYpw>40%N8==$F{ASJ-qe=G4RpUg=c;Q zXTs(LEMLiM7T&|37=Tz5oI*g~ihi@4Sqe8@h-cfhfJlli_5os^!vW7<@r$tsaz#*@N9E3Yvi`^KpYQ)eY09h*+C?s?juVf~ z!d3)y5*_?g~+)p&roupO-n6YQN1 zkE@AKOumI&NN&MDZoASuN7J4IwRV|yUKob0a9vW>wnz+ z!h`Px-_L%5Bjan@w<%XV*n9YUr@S%BH@CwCgN2o=$de`nwIp!0+@S82`wnr2fTGyV zaBq!N^|JexIlyp0(2Juel#*%n6(;a~YZdP$QNk~%;_qorWjHO@)rq~jqP2@6#v&#l zuRISgcVg|{16(la4Cgr08QD4DImg-o#vCvDW2D-H`-^j@VCN_&Im@C?2jefgN6Ii; zIs`xobpo!Gc8%g_pdN$uqSaD&%)D1N*`sOJtRF^C6xzf7Tp|buyp;*F@=Y9XJkfIBgVX^|AZ~YDHO3rS z)HKDoW!^LyDML?ToOc0#GM$Mx5YF_GU}!Z?<@Y(4Li^;PQR#n|xNeb-#l zN)PZdR(5VH+yc-Cjoox4&kA+_I2ntyq@8*?xEV6)R~+4Vw|AMpw`jt7K!&vAU&-gj z-IvRFKha$HnU;eTmFu8uHK;Q1>Z#KC-|om-MWN}ZQ-fPx6x9CbN|#n2N$0DFCWSFs z)TW3G(kct;`K#AbwG+s%SJoP0v~`+5(6fcFdi*&^LUjo%O%l9Hpw(_d&<3`t225=_ zsQi=2V;+K0*KyfwP+5-_O!zd8;;BvVnhjq}h3#kO3fXn#-tOMsiyo}7bsEltdtE=2 zIh&JmY9Lme7N6b}E5Damb}Y>)p!~|RoiVzfRMFOQ_cP{N6$MH2TJ6t~)BI*tk8W6u zpuGE_6^?37ScxMgL@3wdwODcRxJJJhrgDU3g_3<)Kn#Szf2nN@z6>iaoxjBmSD(z& z(>{8FpjesR;I#<60Buh6nUA27#3WBcl*pH)qWkA(1jDf5lTj0+Fo9KG;I+gjtH#$e zHV2;m!Ma_3l>Z#bZCQsM;p!#P)LMuYe}zM2^xaxc|F`Gy+6-Xh&C6H+J3A*U#;*3- zHPt-mMo`uI>c^rU#nM2lFvnkH_E~^2!5JdB7Ag%;Ns7fq&rSLi-UO;9$Yq@M6L{69 zaNJ=r?ft9#QRoY7SP5nH@TL4cIbG*A!RcI6LFvS<{|)9WeJb*t@i<=p7OcdE65Sv8%R(_ql?=hEeK>TrbJ`;UIxYBX>y{WX8g>QdjFEZu<56LUwYh)QiORqfI-}pMx0?iR>saDnjwuyOnVe#ok zC|xhJl2sW-tM?SUa~9N6<;y)XpMVfE(AxzA;M&!^H(ps=S>dYN%BLN^_@Ln%(U!7^Zt*_Qvx!5 z)#0ElYHX2xq!QD<&7SjXH6Mw#1V;tOk1wdrUmdFjs~E~_uXquTOJvZCOS2v9R4Z)r zDyM5$CtA5hQ?%qQ!woLm3GPS`fP1t|cZwvxUFWsYbU&_mXwUe4SUv6ge29Ex**(LR zxBs^~Mxg=^0AkUeP2#sm01LU#dBG6)cl|y#zK-a{wCuk1f><8En4;y)n+ zk!o5z0e=+IX@)WaB)NA{;{00Y)K|l{7#nzL@*sCzF}&4rRr!kf|3J{|lODH#A%~7! z23v!l5C^SRl{N)FOPLszXI6f8K>5Y?ha&_bXUQ8;jMjE>av~KlzMoyrIBtpEB^%we zCdP{NUM6ET?=nMgawYMt@p|gH`OHX1l~FEqxSN%QzBB#t7<)N&28s+k`Qd?o#mfzC zSD$|jLgI%Uk#PTQo|B_M4=-xEG&&h$mtTyV=bXq;5l-NNPaaM!?O78J zJwqBgZ<;fyee;j9>vn9OW=!jCM-Bq^HarAi_AcGumy9jxP>c%N5;LS;KnAM0FTKl? ze)Nsc+m{s?6nQ#RC(d92?)a59sRDk-?A@f4p6_NixfVvgbz`~Bf5bU5j(avz$mnc` znOValbu~>a*F`gd{c~s?K)K`Qy~M=cPf<`R7`?LwLndnQS+`6rYXZ|GmIWh}jaMod zLM+U)pr(v?W&l+tqC#OsEnfHLmo;@e(XS!@_bk9fna=P4|92&aVy3AXdGy!}8lX97 zdNF05heFCAb>&9f0X@I;lu|#}6y|=Vw#?1ZRt18rY-u0;9smN4XWWRQy1~KgSqPPX%cZl&&+rHPQwUjw z%laVz!SE(m+ASmEQA^vuaLbLOvxl_a_r{S-&{`0@%Wo(t>G%6Cz=!~d@Eex1THqxH z7k7&npgH}|5xyoj^VRixq7Lj<$)s4G2_2)w0-WBsdUF$VMlaIi&hDiKgH@wPco+tn zwWn|QwEOd8>2!X~6&2crfca~<5r8q5-d$v6w{So3zqa(wu+;}>%_7Otfd!otYuP;b+UPrE7O;H?|aD5K_em!>J)c!(Z*$#Ueysr(&e5zO_I+z~Wo7Dh*% zG#GUz8{=nJ5^(^Wm;_w}wAiwc*zy1DCBsv8wn<1B7Ii2YsYzvzHScIMt9-Epas{gV zZ*rGmkpW|XmOfqK(kqeqrI60kEz6hmqVwzQCaFZ`(~3I=k@4S|WYoKMs`vD{`LwOG z^*Xyb1)*OdnG9Ovfm7h#h5vqKCv46;qoPwt(;cPaP(<(NEGy$r`s5`ggumoPa{-1p z)~0SZhui02WJe~YT#U&@IOSiSsqS)md&(i?(zJD*G}rJT05vY5h96qw!GgED(y&Hm zRT{&i$Bf1ILj8f4Zid~vF9O%|YUO}2qvn;GrE_9efv!@6s#sVQ08xK2uvuI>tD*H^ z2XL#*Tk*QVAO_NM>39~08av0{b@o7#fEL zP=Lfny<6q$ko~8A0f6o??K9nM_5D#Eq=}COU!H5Z6W~Ry7r&l3=5ZM6#sTrTogIhxLXuw3R7LApd>E;tC!InzX0@Z`R?m{G)DW&Xs;Z z4rQNsY$^bqE8ip@-Ko|NH@h1A2qJ$c@MK!%mST2fNcjqNs=u73sDgm&Ei%v^DRw^I z%R0dMT&52~27gUhJqB!BzUv6(;h?m87!=ld0Z^QKx$H6PKmGD4KOL6WRXTn9ZZn$t zzh!Ca;&S&nwtZ${AAx`%sV$s-4vQbuz*+Hi!c%&ZR#r?oF<1OQ_AeG+f5Aloyx6Dj z2 zI@KlZ_`^8H7E|f_Bh4fSU#XZktD1wmwy4G>wTdP6$d+da{l3v&Q6w@NBC76jt^V3d zHORw^baAp5L%&EUU0(W3&6{$fmMeX+M9+l)&^uXA^AD3KZw6IuO%ctWPSIN(6XM;DuVF5A%7XRcVr(_nsilu&Y42C19Bfc|Cr-| zv!?o6dexT3uGiy#7kb{%9OCsXoZ^)!Zw%r6V%~PUv2HYXsx$pn-Bomz_oKih>!H^> zy-hWZovnq@)oDoDe7Uia9jP{Zu|&fGZlyc9WMdTjQl}8_u>mO*k>K|K((-^D{~uL)xTf6?iDB6 z?^?a{QfRjGS#7SAV-(-FYf_JdT4BO~DiXkn-qC^`rp|vDOIEFa!wmw3;OLeq zg4*u)^L}Q&qYk#2iqA*>j0Nm$yD})X;B~XSlW1!jRRxz6qMZ*&_+Pb>MRbacXCap% z&EWtZR=$;0UXPUK1!N|Oh~|M6UwfY-q+5lDf}|JwNB2b2!@x3^P)#|N=PGYfK>AiN z%We-owFrgr3jBx+&M8nal?2;II(2)ApIj5SPK*;fxRq5}7|No+x%(q!zvLpcHNM_oh&0eNXCJv7F?fK@VpVdKYF`X3}@bJ)wEG@S(TL<6rky1k+;_ zc5zjD^V7DJcP zP%AxBe^$hV_r-Hq$pT-)ntTbxqIPOm`VGi7Lsg7x`nE#2=CqxH+ZJ?$0JyKcgrPME znOwgwWU%X5LPW}^nF)4r7P)#`xz}^i0 zvyftD)@JNmxUm4^=4#04#Ee{0 z&taHE>q5=}u_l<3D?;06FRjRryK0(VW$i_AL`6s?Q%dt|v!QRVyROQUuZ)I=iZB5; zxvwa4s3V(NG)!rd7X3%@G;AIT)%AeXg}K8@T*dqF@=z2&>rw=J>(if=m#`l-GDWde zcI1CbaJwL}Q{QwMC4U{QF;!0^bYBS%@J%JP!R!yDF$4IAl=R?Y7ZB{ZQ4jeF^avn$3) z;7?#kh4z@lsHro%gT$rV@-Q~Ws@})A%Wi7#xO6UGGlq3NGRHSScrcE_*t?7gao5S0 zT&Io3M8NTr%^kP?xLwT2fUQ?bq7$$|E0mIVXL89?pxj5TtnrUlkw@c?${CS8L;9|06T4pm2*jVnL6EVQBuCC1QB3y3rAPUe zlj_CivZ$!1Pdm?5g{+cmFnj4VICZqz<*)UaQ-7l-E!mZo@y?;3mTEdTAiA8AzkcPY zN{kHnMLc^^&)52oL@E`AGmV`ZJ)1cvL1z-$^Oxg=#{e<+#V?<5;6a=%v3h37ZsziQ zv7t>U2)oBx-xM<(iSF!U#sr$vC!BC;AF}PZo(oL%YPq@sKGS4KDD;j!8S&{)6v zpD8BP-w0pjPR^%-9GCqXXc7u+`J#jQhnkA-QGhBlt(OQ3`QzCv8_%f4Hg&^J@tYE& z(g+Ecd`CLyQ{T9BiV-kBw`3hwXYx2~*b7L>Ux}Q%-E8NjlhZ%WMJIY<291t+J|8v!7lqO^y{{Ut zyH%R*v$9z3;arFxbI+IZs6p=bs89E)NL|9~r>)rX|JA`UbZfiD6B^^vn~ZwrbXJF$+Hma^QRMGxd;`rb0I+QTubK>aqG zl<95x6AY^ z@)Gb_3MF6g!|vTYPZbdY5U`V9(P7?Tq??CsM6aW4pjfTh;I1~LJJfPA$sr?rK>hAab*;~pg6Beo5g-w`@ z%}D-YFRiTht?_3zq1QB)v;vp?(hG@c7BV2N++g63os8>IhM}=mVU2HdvVt#~eEAA{ z%U`7M2m`R|6G*Nhb@i7oZSeo*VyeRTtJ{5PCwHzM*PQ$(0l1+2i@hx}u+;yD?U)2! zwsi~at9ymsozLW0x{xxQ!+L@>Q#XG7G|*GoJ>!@4c-8kfcC5Cm5l1qb2DpOY~*<>;jM;ccxue_?+!fUTN9%`i3_^leKV|gE$tkPoV&-tKL@!gX1>13Jx zD@#z5>xVEW=S3t91fc00mfDlkF!iaGNy5LAH?3ln4Cbfmz1=wnv~CuUop0=tITX(N z!u?xTsKMz+-oU>SBM&lz<}rz)@iWtx7*0AeW@R51h_Z*!T)A`1L;?*xWOhMNy@m8H z3+}pKl|%-~EY2M%*U7U|RxyDlcL`YTaH|Vn0bT^ae$PSJc6!atLR2odlf+^q@lZZ2 zkb2imcv>kSadu^lICTtVco&fl2S~nPusn~}ER!~i$0lYy&U9ef&Ivp<$H*3VRy^(6wNv+GHlDR0|eWeJtx{pfV#HfdA zj&*V#+*$G0Jzsv}eQgcQBwi~m!c1+!0S`YCieF}hR{sk5((Pw?lHfzB7MvjJu0I~M zV2$jyriSSrhy1r=@qxXie7K}}jk4TDKqVJB|7T*d^!mhGXN8v8x<3|9{H)tlFC7O0BOpiye=ri6 zW72+PeA~{|Hpfd#efQFr>x-mqo1vkG4Q>!UHOzSpR{Aub7#qT)wdwVIpm}x$r8G}c z0@xNjiEyQDbHz1=b$)W|$R&U)<*OKx6OlZ?lS@UJ6XBx?$$9w{A{cI~!)YgKLflRl zd0Q=Z6Z1MFZfdakp4Co!AI+FQZeOI|=f<*Xpfr+={Cf%KVfmw=z&mHq5zE&4X*GA{ zXBBOO^AQviOI#cbIf-oeXzl;2E*$~k=e!mtsh;o(UxJxtaN(I$*ZyLiu0s7AVoze6 z3lGc71}vFTS1dy^fN9g>WI{*Nhlkj|Of(-yX|OH4Cnw(VOHUFHlzOLFB;n>JPQkvk zTh@J5f8}Q}X|3SDkt&92TO zQg8mKdygNWCOxAlWYt4%6xA|2w z1Cy{eaGN^iDafb}NOwuM1q0^R1)sXDMckAZOjOk4yM@oXW3HJ|31X+`Fu}l3y?FAq zuufSRnD>(VX5U=`nXz$JIIF}jR^vqVKt$JE}l zdtAgK$FC|%uu@4mWjt3hP7>Xz$$PHAnTvG^x)@5Jw_h~!NW(g>MtjNKYP_2F(_G0X zR%UTZrnMRDOG#TMXt08@bywZY+IIWFK<&SA8!5y@zrjwWfX0?82H##bAa^9Hv+CFG z*Jb(bINOAlJqE+y(|n9)Y!U#Jz+s~dE*`Hu940h!A=sE<-HdK^LuJ^j7^rUKgVw=# zgQ^%mUx+KNRr-%!k-rC=z-2ws#$vi8)B5)-AfCS?VaZOffk|nX%2|DCUV zRM5)@{An&1=6euS++&Bs!Ln%1N;)?9Ubc$f-3@iwU**w|jNn2PgPhGJRec(n8VeG; z_X}P83xVJ0#Pusqz{%CEzI>X0nl{?(l<}DM!-M9KA3q5&X_$woH)Rg5NszDhK;`H} z?}`@~fQ?0Yp|5jRU7ib_tiCA#ox4*h@a(ozbaFGb{CJC4TmP{H%}ygaRoSoJL8vyP z(8*Q-1n~Wii4eS zzY!S+Ws27)BI&R&HF?q-GD(7jaq{bAzn$|J0QTFpI1vqigYb$Zr@VT zs>_gXV=x&7up4^gU_#?M;BFaMB?ek$xPH~A{Yj71u5rfdh_|BrA;Io0v zR%`Kl!eX&(?6k&x%s3|7x)hQ!nJXznfQlpzSrMqPUsp4@%(5Z_Z4$PpJl}ochC`XC z1%(u8-KBEJ4yT3eOETH;vF(!AhcEO6gqpjeAQo;5T2gnhFZN5u$Jj&vhVx%#HK-uO z8B|_jd`Xz=ub3z}n_cP;S`gSNK?No|-~Ros5r{cJ611_KIRK7f#sSuT-?S&RrJ3Bq zoHCErUo4vB|1_RXMMR2$!R*U7Zn?I3s-#6P^S`T>12g^(*~3Sy?umzBYjNlA!v5Z? z<6BKcK- zAH877BSHR6w)}NPu!`>2cYi?Fa*Efl+5q4)b(+81w*2bMtGfOQQ~+1W{8IjUO6_^1 ztO#Xjh|cEF;I)GS~BS#<N-w&PJ2lUH-yj$aGy zw7Fe*)*r?rLo0OFGfocJGdxvC+f)dEa7u+DVVvd$sp;#il`(nC>)_A4X>&UwK#J3c zN7tVvU%<5-Aq#<&BaW>n)p6DBuJkIBDGzTEoey~LG`baOkd_BSspsl0K zp+g3kV1e42?%b@6jDjcFs{(ip(zA4~QR&z|RtTpIIIWc+r{mb4H$*>`#IH# z;=0}0lB46M{LN+(oF$XXcYQppOzP?!FAg4z-EfoWKP@BI&NN&MWiv?06}{vvdNwBp zCpkdvue%1{zc-iz_#WtV;>1kI#kfWiXdq4$X>^bBI>4kmu3_?;#G2j+hvh}Si90AX z15h+$sWRagY#it9Kwaz>E{in^i^tBZY?>@pD!D5-g~Rn!5GyU4y>`jIVKIXsGC)ID z4Cdy*m?eyuPNXj{ZU64m#RMqla3FkPt)GFK@cjc~uk80Oipt5zjQNIG_qoZS^8&tt zSUsV%KHU2$3iM>d_cFXft2eWWq=r03{D{M^s*g!yKoGQ+VvIQ6znG*hMrB~Y^lAWA zrikVtdBvcQ(d&)XE&?!rNkZgoy3aePJUaC=U%CGE*7m208u_lyo*cL7ltKxGunq^3 z$o2)IFJ=LEzqojTbHqOJ(qCriVayEgy>qI-z$jTt%J6PBKC~l7jX&HIj>menkr=6C zD!Y<(O_Hi&Vey$$i4o&VPUv^Ckarqo-NrL+8zYER4|+E>Xz8zk1??B{mCt5!;e<95 zC18My7UZ60Vp>U!7wO^tukCA2E%5~TKZMtXh^s-5IukJ-Qs~_&>Wna?xBaP#WrboI zozDEErS!{L4&DY$k5)1cfUz1VQ54ETf$rLui6_|Gq)!OAaT80S8e$$_1)N&Gxq1j% zAkAJN0Q_Q$F3DILwncHR+~}->+4D1Upcaw2n5D4YjoJRhk^7S7!vti2r$Apm&pOfVJ)e{6ziX4F1FkTAg$rk3G#*eN!W& z!FxjH;8F+*>dOB;3(zx0?zEI>0ZaM2zJyP}2C(VBAxL|d_G9|Xnx?wQ)lJ5*s|E-% zN58M1CV3p$FCEe-vPZ9Q!2RE?5ECw-Ia#SLJYf_xi871wfO`0az_?Y#BkeYnTBFi| zaA`DYOUn>8$MfGG;D@Ni8-4i?_dwAWTxzW?Fbr9nER6j14u1`!ZMlx|qMyBn!B00HT4ltGMUk{px^x`v%f-HqLgGwN zL*=$AgfH2T%HKe;l3U^JjMoA_*9kpP1*AI%9D#_?$=HJ^~IkvzT9` zvOkQENE(AL=HT2K@lYxhM>tV+ zS1K}nhXU6A&{7;grEj^SFHynYzRUvHFG_+D^jupwZNyBpZGGKtgR*k{emRd^KdyeG zOsuyU&DP|pb?DOVGH8_oakTrF7yb7lsUK8Rhc_yIw_q@i{{F7B0}>w3 zXx3Oo%a*zZ5g0aQO#|}`B$6r@Z&`?g&L6eh@iVqsLA0gj#w)81#w9EePbJEaL1<&Q zKDyVX6@Uacxs7fT5S)7=I8!nG(7~xY=p%TBQf|Awh%me809ip}`@X@=*VVfy@bY91 zP@1PLr~oVK0GdH+uuAD;DQNrd`B zHH#~AZ6AUjCc`wh$~z3yNweLM0L7?_c7m=%yasR25oo;y?Oun3OO|gdKG(B&$eR2H z_epPIfA*WWt0r!hTK67&wiEVcD`VyrWHDfs@A@z-%1QF~>}!ercc(!svdwAic1$wt zb>9C$d7pBQ-#%?P9ntlVegbO0Y;pxV$#xRM5sv{zbnL#39i-EZ7ujB6IXy91)+T(v zBM2CjvnMU$`=cw512+25M4J++L_=i@*Iv%BPdc*PI4%4IOQ!cbK-_UQoM z1yaDWN)_MN@cF8w=qdv~{c!hh2e=kTpJ zI>Hs-&9rKJAV7`5yPuK9uc!?^VF zw%*Ja13`(6H#%*xdBg!bnu>935O||R=E;xnwfDrkLFP#(XGteq%@Fvb2qRGU)0p|c zp)^_=0egz4oMA6Je$FiGx@dgjY4QlLShCu#KMqbU$IrJQj2%t8Pm8>}EbVj6E3|qF zMA3buaES5K2}URA7?vphr(ivrgA)Clxh!DnE6-f740F;-%1$=hnWWOwgUwfNpQ)aF zykkFa8p@`~=!cH5Rq`Mj_5pR~hn$af`e}}2R(g*_P1MzYg|Vv%c5;;P%(Yu1CJzK0 z%n}D&wfm6vtS?kbZt;W00}L477ew(SS!p+YD)^ne2Sri33pmj^HsC65zUFvaNespm zv(?j;&nSo;$^ESy5adw6pdfq3v!ADzy4ZoVH#3?bEC>NUtuIpBT$)105=Ah(Aqq(m z>uR|llx->xN|og6Bl_-{&Wn>Fw7tKQDj|--(b+UaQ|L|pZTGXNKwBjsQZx@wWy>`1 zOKQ43I!G5@kJhR#RWQHLnQ7rR(lf-dGaE++wcnpQ;%!>nXG^&llnu-h1gLEO5RK-A zP7-DB@Ltr5muLRN#~TiLFDfdG&RA0o;MpgF@m%^EfcknzYgfrw?%7QsTUOkOOz83^ zAy|@o;fKU!8ax#?9| zC)JdOeG%2wa(XuTH(gxgp(Jkuhspv;o54`oiIK~;7qpJMnv;L$K@saadb9S1Mh0w{ z;rkoSD3`1pYV-$GrpPUuHus2y;&N#Qc=Avf2y8U$1vWVnd-E*mNQ}(5x5GfH34@*W~XNZ3&iUx4zQHrFO+0T>+Pe`C3 zSFfNc{K1p$WbIjUpLXadZx!}#o&R=SZ!Qtp@7baHq#zu2t1HIv`H!zsg3?LPpd>a~ zkRPv+`~1>-_^1&w4tW5~m-DDY3P`PDy2t3TMWtraZuN|t>BS*{t86X9_g~IL#ZNNI zTvk`DgJoA&+p$DV=j&q;c8aXzPS;T1{D1ul0rk9|lkXc0s?Y129{TV;T17nB8qS{; zU_JCQLIcGzc6&YX?L z#O^N;168d`mL6loYYyKmxKjFy6N8+xq{W%fs~X3Qq|FHmeg@e(9*rHm0>l*as3Pbl zAw&!ziZ50Bx+sQ`^_Q5QpdD_$&MxaCk~3Bp?$t?gGdz|xrBR>1RXW4DkPUXYvp^ch zZuh$hG|k|q&&yIrz6_{z9TYp0Sc zKOMlMu=(4wzqEMXByBVv%Mu|mNregG*;N(g);x6=?{PKw{nCz|Nlu;ms-wef>(VrL z%fxgJ-Vu5#JRj@5NC`QQ8(qtN;>kGm&{ftp@90usankw&0?>y)&6mtJAAXfvy<9py z)KOOrfC3WPb!DlvEou0TSgN33fjb$N0JGHL42LxCVu2rONY1fwmUq{*r*hdtSO%Qn z83sD~9(Rmd?I$p-a=qZ-#dvd3d;|Fo1uFq;%1pVjpLh1l%ZXRsUTL$g`zhC^@^OZ- zCl<}Tj8Rro_I%aRUF;u&7$E#G&Z|{$>a6arHE-dU1O?>k6bk+L1SZYjs(VcF$-g55 z9ljExW$^{Gb*-{wK3M}sdakrE`gQv#w+Pv{W}(a(j3O|LMTgrUfqUP%xvo2%Z0x(S z1hraQurzYP)SeMS5|&>`2K@U#A|}w z-ehCFh#)?bB-5Dlu+QoN$wCS`PFdckKPO%F*URSxrh78*d&FycQuD9?za*Q9lMJo2 zAz8hkoy4v;q&3YjZ^-MR z5@s}2{O3QJ_mgr;icL_kia2pGKq805TEwsLA@rpnGoAi>G6L{DdNlk5&uMXlvv|!J z0(Y8@+Dr<_lC&i=oR5$1-OEm1hlzyMt{0YW?P4E^k zh67PL)qNVBl3M;yG>Ln*&&6v(31HCZ`H=MQ&#(v--m60EFF}W)W%i%uo&Wt}XV;~X zlZGaM2(lh&2Tp8yHR9LpV91P%DIb@JlKR*^H zFJ>x#-XRz?Nb?Gm{;`y(i#WWBVM%CbDmLLoTl4Hl?UjHC6l}L*J?l!b;=~qG$$TVl z+eP4yC1r^Aw82~TOfOqSpx~P9aB4TYhytR^t3v`qKO8eY!hIDrXbvCO=JVs3>z5(% zC;OGrl;0X+`7Nx^YVpI#lSlFpY*hJgu!<a zX$T2;U6NSi6$z(ZuetziAj3y8#3x&L`caNs?pBb z#ZNg43|LMNnJ2s5Gk_(one@F|WiNU7r^+adQfby#V9U|nI)?oQY zFtp&ybhDszdYVC&x63Iz;Q`;YBWq=OGWE}(Au3cLwno9gcgnrEW69h4xSz=3bxP`A z&EFefB7UB=X(Po-eV&_0GNbN=c;6?hTWFoSeUi^bp0 zd_W=EFiOM@v{JF6d2#{{d}vdZ836@2l2KTChhm<9(aLVnpbs6UqmOCCA>i@eyWSG# z<$_%PDoy~m!w%)T{m6KzAReQ&WloqH8!iC3rnR0;0p2kPRw)-JD2r5CNE#n~tL0hW zO|<~T9|A~F!quUtB9l(gN{-fBuJ=fq<2ixhc@SmeR)kl<{W zs#mccLU%>0ILxTg0SXdn7D@l(tKZM@l&HlZNJyL*Gb(rLhhJ%>hNAZnI586D%PK2X ztkz!04ZUqrFJyP3WVXdh@Dc^=*y_w{oDSDnCoBkc!pm3Vp3x7H&z$^>K|emciKtL0HpSx!~b++&_7~0c;$2yB_%(`KPtvsVL`P>HuH4BZ+sItR3d9P=o_rW9VuYiKF-&&K^IdRZQ`qpV* zojGQW1I;Oa`Bnqs79BJ5c{xdar5)LF#5GJ2y&=w{PU7&AWmJn8@Rx@M^P1ydb+KiI z;ItY&#eR%PoZ>ss;VObYk1gHx1mQ=o>*?UkUf7pNg~?znYuUPg>#T0Yj#>Bb9dkp{ zjOm@dNLrS6A6sr;kEmGm_BjgpGo*Nh+I#Y*>Y|>qn1ldqAxiFYF%~n%j5!XyXbWnb zzHo!ha{8e|o3n{q1yNTRZCBo`@9zXvV=>FJuVAU-N-pKJ7+mu!w4n_!YW!Y*nGJR9>_GcNTfPz{c zQ!5T1E1|XjgpPQ>0Gbpqk7Ij))OU@|JyD6DVJENXymCEEdZ-!UEzYUMV~;m$BOl8CQKaW}4wL7Q<7{(B%C#ZN=@-YX6a(UUF5vv-9~dMEsk}TcTJ8 zOeYVs6B?^#43#XAyu!I`^{lk|g`$Q^yJ?rId9vICBra}X?^TR7938`~cjzLZQ zN%aPkvh9i4jcCjgK6k$CRA$iqXKb;^lxZvdJBGApe8Q;RTLJqM7WD)coRCl!hiqG3X-C{#)%H({S2k`c zvqwud3bgjXD@_JnQ@{3Db58FEecLhK#YF-2$y&d9g#`|DzKqif8DTE2g3x76SJDgr zyCyso!)i2~Sj2dd1aCEwCeucYLFJfaPDe|iWl+ZkAri1Z4GQ6vXz`10x%h3xc(8 z!}=^Fkt0>Sm||iRWv;WW7{D;1n`+Ukdp0dOZ?VIf7A%C`)CQzPUeBGdRn%=7&S^h} z6{bSE&fA&1OGxcWosv<|U@s1taXX$~5bkM#>&vb)o+2N2xL4F;hmPcfsgikWsgtL`-;?w z%=}GeI|N>A@=#dMx8eO@tHzn)jRL9--cE9)_<1Z=Z8|DY)6J?{XL&n?+pWEPy@_OR z@;Qf2Uo-F-;HSY`8r4S0Hk3hq84?YoX1Sh)UNeYWfO^e`jGgBK2X}Akk`shM_Ygq_!+cp=LG!0Ft*MOfzhrquNF-AO zFnQ!a;^4SSrTmNd)sg+^pyi`8CO(LZG&^S?=_{nU(T_@H78E6J&i=;G8RW(Y1@we$ zMWs@*4?&E$)*P*(J2PGvY|>+hsToRcMHe()g3}#-^iJy!Q7HH|&p? z(XPECYxPL8goVJ~RW`4lKu(Wz({@J=6Sgucu-(V`&e;3g)~t_I)LfP9=-dY#Q2Uab zogDMX@1h|W7H_x+#gxbbxU@SBnuADM7IUb8n*6bH;wRx!Q585ke#F#2J8w&ny}>KhYss4ki zg+c6$bxA#A(3HytntE-T%0uxdo}yV_3au0z4Z%wzC((l5(P{uB0}5Z7KD%N~L>%Y! z`lcNQ0I;L1SzR5^>OImRr3Y1OSpxU)U3$>kW<7*5*EMLZn5F0G28Y(aminRE{X3Lb zV@Cb?w(Lyzu7;Dj2$qHNS=%4-uWEjOZID1H2^*2JCi^pLn#AcGzHCc$P+F{a{RZ(~ zfo6@_IPKy{E7X9#cw-p@0IgDgt%RPr@Kx9H!|~QVay8+?%EL4C#!PW`ok9JXpWaU+ zBj_Y*?x&)LResrNLEssI@T5w6ni0&tt`EO{FbevrMI`hrU_$^4G6!;wKDHZ2(p9S+ zC4kS?hI>$wnf}4K&F4Fl)M$MA z7S6Fje;a2qoMrRHhEp`EI~1_2{&z6=Z*v|;GM3}*BtAyCrG=gz(Z%``(v!biRz<=$ z+fZPCb^;6UNgm~m5nBZ5jA)i=i|RkUG4M*3o{${nzXM0O{p&h!t73V4iNZ0JEO!(_ z-5KK$=aMG5hL#Zn8awwIy=T{%eYwr`$bj;h*QIm3rJxWfB?kts5XiD>a{EG~rxCE{ z@@=ygrZ6eq=g7>>nG8?ev0>QX4aPFTEaxwA_@cWgjNCjyT%N}Em~F^gY$P9kjF1jv zw^9Ds%=@p#4jV3Cp-Xu7!$k(N#B)n~b2LPO1gCHpuHdhUIbM|D3?doz^sP|UlLU-U7){U)Dx zU+7Lg3bcax4GZ2|rlQj6Ec!T^G|;+5X^V!JR&2(e+7lE4fuAH58DMj1Q3*T`t&KY0 z8^zTxtt`P2>bw?N9)vwy8n6P<|7^&#} zcPAD4NLqSI(E&qI#JwJcvgJ)UUm7{6c(_^WJ`%S5@7Vt5&FbHaze$&rrvhy!5Y%*E zRT21O;l7e=dmr22plr(cLX=cpU*G;EZtIM312^Ch*hT%4fkWF9UA0Vfg!0HnD!KOe zv$I!1SXULxK%ddhOgKmLU>ykM?x2O=wK`wcO;vA;5bl=W`5^IkEtpR~v@k25Val0`2*0KT+T9fb@lJ8jlf`N*Nvo|*HYE3j7Hl-dFU%k9k=rFNiZT|P z!n&@g8;*PEq1|ZST{VW!`lbegpeV~?iXvd%FzecF*=Kf4TazChU&u|6>6f%>Met_c zhshKR@S)=U((F~ZaoXNzXr6(}=`xZ&;-OUQPYR0>9om_){`p^WWRO&rOjR*SsQcBx zY^-b{nDS$X)J=YUn%|8qy6i%9v8obsjgAmD__=XZnJ{hL zNEFWY7|Y>SS5JcZ|KTKp#_nCTrTh>9-k#AGtSs--@J4gRr#2%{WgVIGH=(JhfG$TN z!m&k%`314mfAl!$SzonC2YdbB%OuzGZSNDMh5o23A+1=dzJ=uPP>)+suRG($xtymo zq1p@_SIU3DL-MSEer;vXsh+6vV6}%9@m2qu5B)<|!yx`ngfhSdqu!s8|0nxTRAA=F z&%Q!nY*)RJ23@@c(JSgnVTnr#O1C78YAe2f2QIc&{Y_wVyz3bdxU9wRZ`$isZtRQ* z2_6;NfWU*Qe9*f0U;ty{x`V52AR(9CzKs<{nV^vOgM8wj@6NeB&GW>GBSb zo3Qn|N6NUJ4Fu|fuo5~dt{qrkLf`^Wf0NGdL5c#MDVDyEN@_j+CLs0w_q$1aGn>#4 z@*E4Gm9VmVH(hI^f>GJEwx3_NSs4YOA4!uG{k9;*ky`<|ZT@I6I)hgH@DiBR636Y9 z36WFk_TwJEcDuxG^O$AOn-@RqT`~se5EY zfk5iZ%ZVlK03^7t0UNuKz#GjEt<+w`FPxaz1yD>o?&{TMY63Z%e%JJK=nN5^0@64;nxiqT#XBUS!Gyieq`H?>0L}{QJKq~@pCHW1L+O1& zEekK$$XV+X49^#&;;Bmgy~?YTJsDCG(o!%0TE7bv2PWc2#XOT!CFz60!?WX5EVext ztYCjxQn}3^COM)uV;T~;rjk}!X~OMn&y;U4gSY9HEXQ`Kcf=0-;(42k?SysEfM8|y z;pPwYqlC?!atrEYt4M+8Ojw|wo*vDCS?Kp2f@IK`N>`vTt_K2-K`ja%pMS$d+^xHWwn6Fb3^cWZKEXLTtp zwJcwc-}~_5uXtM$z;Pav0O>q^7~C5(crM>Nu4D5!$$`KM6EthLQ#>)?|9=aRAm@Gh zVs z*m0pP`ScfopKsC&(njRSYdK7*Ls@JS+{|v@XnEPL={t?=NSU?Vw5IhBK8HT4b#`i69dKf zDh*IDW4LgvNL28{i^!vz0g$Q_6?IP`_Uth~>Q30R+&Jk9fFnrtD!azO&s;xleNg(UlhpWvIMID{f+3_D3D90e zFw%!f*5i8QRfJ7(+e!d90^35gVZ};0N4vI+Ztp>`A?z8?tvj%Pd1xRnJR<&Y;zU_= z;T|@Zm6RED`@~94Ib14lhR8bdN`UA36Ro9Uc_eSPxh*pYpOy`1X|AiLpA72U%ti;{ zs}+d){$ESV$^`rP)^PM$#EeID4smx))9pVT?LzaDd8qkM(9 z&$cHHk$UTg^%kGBGPtK-Ct3e3D#He%jyp=0vqg?Zp}{RD_~CzI$W5%_ zbpw3jyfL=pa?)Y67Yzvau-r$h?wJe1e<8cbNeYsVD5v(>1i}!r0f=ADC${Ea@+gA!djx%0m zDCC_S8~g8l)8-YM0Je9B(}enOdGu6zhJ0fR*w|#Hb!GrFZVHag(yRZCMGNIUy712qa4;j4?M$847+E zY%$m4n2yNE${EI&AlP)YE6r4!O3mM90Qh~jcNt@a>65c!E1a3pp-osLJZ+tfQv`&6 zJ+-wpieo?;KPenP`+G&9@4&is{h7V-kvweH!72FZsZKZ{pb;QBvm1emjJc5k^^q{@HS<+W1BS?8kV*pnskNt4S+y?t z;qHG=`0<<^D{fUjZGOsoU|;1=?Gf;x*LeacyHxJ|lBQ$kPjQCxH~+>U&YLv6!=aQW zigg>SNb@(k>Q8S7pHD7lQ^locO-*j5S(X7f%g2#ldg>?S4@5SSVRF(8`$h|u?HvGq z{SSq)YAar)&i(1`bjVxCyD!>Bmn4~ma2;->HP-#4;60S*O0RO3)D-1R_C29^8~m#9 ztuItAqN0|HcWd*;-tq+&fcnrrq5dpGT;u~+pj~3lh@PUzuXlhtAr{rilnKkWO^AN% zp@g|S@^=^J|FwvuRBZouFc{$TjQ5N)>#MitB}oK>C$9*K^HEQaY*G;%ZY$*it)c_) ziF_Wbea(UiYsB&`r}9OV$4fs{2%I}i?W9K7b~~v)BCaCd?kQO%KX7NAJ;j*doVOyf zh!B{3u#OmMrZKHSjgQGNii@V>)p82WbGydRYn}haAjZ#uH*>G^6p(7Cy*U#vDH#=8 z_c)fb;(=){zXR!ur+cu}oayOa7(pDMM z``rXT&KocVFhRcL!$m3ly`(c?N~5x})iX?dj(n1L1s-Ob78Y4ur-E7ZsJnjMi(A(| z)gnEymB;~^mFa&r^QCtjb^pG*_52qTjRfqBwC?>~`pwJ8M8%4Yg^Gz;_qC!4S5w_A z6o^T3dF5#NibZZbKNH#WS-MS0(Yefy6lsbav~+oo^IfD!ji-rb;`rFi-Tb5pOdYq; z6`47k_uXAA%x=fIJu@!o|C!R`V6yl{`GiKcb+A>tG}^)BhvrI(i_o8j>5!7Oi+i_> zpR-JKX#{bY(AY)bpl)i~S zSH;4s{ie~8YA-tV3EkbvvIl|ErImH(2(mcTxWo1@q_nc34|V={K>b zr>L`QBs?LROcZ{*6F#{wL&uWCI&AIIH|ftx7Mby@@}p%?)8r{8A91O3HrU6B^t@2+ ze2+(8Wv!;lNIjZqETw;n@VO(HzaKxdLtl)^cd{M5fgV_SVB9#kCYZ#a0XqY$``9<} ztqQ`Paq>ZpB6+?=DwZVK}b2LOOup~M20EK9)3ikre}p9 z&o8-bF^`z&A;r#<)k*8mWqW**{yDg$*R=tPC=CEwyi_=fnDB-&jSLx z`{<*M3}2WW(B)`Ox_W!6Fq}#z@rB~r@1N-fJ3|m^ILjwt6mHfwWzwsE5-$I*;}LEN zmY7oi>S~V#&F1p{*~?~VJBP71pa*DQ>k|JXRYNx!rYZfnh_JpTve!)A`*LV0|1-&Z z;{FiF>+a2Emh^f{{bB;It@K~6&~n5@4+FKCg+*lYhfkid%6HNdMGtnJUAKKa(r)|=x1ULEs)J*BQt#m1-gm39jf^=D0=b*cIpT9EoGQsVL*MEKkbCJ*a&+|O~( z_h=69-y8;sZ$P@=pn0;{V6NqbjnyvZ_c)@k}17r3Q^#^j=Mw(|7*3Z;an65ltcqZ7Mnpm5xaw2b}`Muqa zf_5aII%D;EPD!6~xlaZB5PJ=lqITzZrJ2n0u7eZ9=uT~Ro}=`YT-rY0!0KPOi`dlM z-q_4-h~S!vTa_OA9r$#YZU0T}hqz|-)CyIh>j9cljBO9Yex^Z>ozBi(Gu+$y_WdV- zoB0i6*g-i&EfCW8fsaQOpG)HT)(Z!$|Ar+N3VMrxB~IPesLL>8XYe8&M-HPb@$_qP zzS2MkHUt-=SvmpcBIAVKFYY2TG`5_)X_kHU`85a+lS7PU6NRs)ao(%Ww`lti?zh#W zkE8e~Z{%^eNPE!8FW;!fEu#Sj{4Gse(+gd;vP&)HEbpr2AP)lPG+{z0k=U?=s>88U zejOQ3#pKiDKP4;4>XZ4{U`%4$HRNTEg#|}}IU5>dWX+y^0|U&KXSep-{In;vk!)VG z7X;LXhLwpN{&?Q@SjeYL$opvqc?sx^pk;__8uPPs7DOLj(6INFF%q72-u~&YkAen}pB) z6mN4pCo$72oa{+^UYNKZHj@;}sG5lB(0{~pMS{ra(B+HU+ZX<@*;xP44y3b5)tDu_ zv=)C+&S)s_m>JD9F&8AXl9}`T@vvO5*YT<8PhU*Z&`S#}+f9+_C?lpJruS&yvb?jt zF4F!H^|rHvgw&%<{f4IMoA(ZSeEH)TW&3~J_^Ir65FyB}kY{gByID@(buJ&*TYVaMs_axZP%_X$^6j+AE0EmB&qAE?%>3rU)e{H&T_F#A-=eERuF;%;1qTEMULc zJEa@Nh!80G`Q-0y=zjyD2#4mp{BEx_A`Uq$shsjNaCMAJmUSq5yS#8VsX%h8v)nSB ztL1xGZfElEAQG_Myy0j>%IWs!EAH z+7Nux9{B-g#h-}tChN*2)KJNr*+L>_0@XNg`29a)OJXtOg(9U6-9Znzkdm{`lb+l} z`MJ?@!O4*S{jzEDEA3N3GBFd@0iHli+^pQZ6zjVB;d^+_i6dKqXv8NyY&1|=Rr0^1 zw;zFaBRPj7%{CRR7^E10D6f9KPk`NXDS*LBD;Qp7kB0-fE~x4oTlG!B#{hUaIOpj$Kmqr9;phmv@_56#P-*V zbv2V+bS14G0<_!S2=MD0Qv202YD>rlgo~*K`8QPwbd04trH*+PzdGiJaLeC15J}w} zqJoi)w4v!PQqDam@8Xhp&gxLjG`39j6E>XFq{|#1aP+}-nW)$-4xqfsnu$p1;!zD{ ziY)zYBanS6xM?vDMTOe&7W8@~Se4T=g@mc&OZavQqkM|a0BWhbr4B)@sq zMnz4hm83%vZJKX`W@#JK#4q(3lWvWrsaW<4zUcvKdFiHJ71d3lX9!0`#EveL$myS< zmpuEPkNR@suIVh1=Xv{7#}09&(TCGV>B;Kb6?LT$v%c<8^Bf#K-RlqV)C3|Hw9f9I zOxD})PGS)uG0Uqe?>hF*J)Bm;q@rde*3vc$wtBf9mAZXO6=#S7B1CeljO)YI`?c}PnW~>uED2xTjDM}Sdf|AGSy8{@J;NII^|%_N%P8T z-L-^)7?wR*Ln-wn^sx+Pa`i6FmEBswRkfT7ZZ}Cjb;PG{6^C*=KH(-d04pCRvLNto zQUZHH)0I>4Ifc$;^4hyMCiPV9MBD313%!Q-7KJ3DI9`H3?|nVZpe7P78^=`LBeLR1 zBMj8kZ`c@KkUEe_4ADdB$r?8O{Up5W(NiwF!wk z;aGSW!@W$o)Farkd^gF5|Ky*`vfJf-cCj0ONIjJsbsle8ytuJ#x+!VMR_@5~?%=;K z8&0@LZ&&pEQ)(7T;zr%?k%Ajhb-VSjpS&kFvKu_!${9 zh0o-wsZZkP%EaxH-iP9q3lLv4zukS)C@I0!1hB&pRmb=JT>IY?4E+ZG49&e}zdO7& zTAoPRE@MAOt|gA6E{Xu?k=aQe(@DOQ*8|OSmBV@kBh3AKot2G%PuK`T{KTrX#0ElU z>TAUfZQb(>J|$~Q2^n0mJ1}4L3f-2KAGG495Scx`&ZXZpp&HUJQIQud71HUGg|=4x zK(-2Ny3*<}W~Y~0#xH$qx(6#?0JF-pamF?yGHm*<+}0hn6ed5=18bZIPTd@|jB2Os zvJ7vVBH#Lk#m~^hq!8E^ZylT5AQsci)mla>+$;CWAq*K#<zY<5P2PSHuMFUo!Z=_e`lZ$CAI9nUuSzsPQ30Mdfvx z_l>06ByO@aCW=3Zz%YHe$?#TjIsy3=SW%}MVfNU|${Q}*zWj%=m~mF!{&!)fV8hk0 zism~Xe`HxBX|q8{99|LN5Q-6!qmq*=N~$R$-4EePk&%F{MhTZ@hjZ<%atN^JYetfo zRsZbXK;8rrw9DO@)x=lXuIuJj(ZI1yvOcR_zrRvfOroWZs{Jn|;ce@vtc0Ki( za)ZI;e>J9EUEzV1{g}_HWSK9( zxjHVs``_Hb*U?AGTL~ia>^6#!3V4*=!$bG_^j+8+6a>o4-|30L3>;5hU;z4#$QVVs z<|6em|CQ)lnxogF+dXaA*$tAWzGKkV-Wo1QA(P#T7|tr@LAIN*kcz!9@)&jkZq?Rd z1o$D0dZm%RT;r81;TwiM-uPFMvIpxQMaB461{6`cZ)c5n=lz@b*A79Wa}4^ z1Fqv&5E#^Hi4y~$eGSjR;Dt>3&+WNu(zc+pEMZ)8HT!72p|^IE0M_3e*u@0`x1)`i z8DhL%==br&P0BCzyVA3y-3BKW5rF&mV++ss2NroRd*+@DP~k?}Snyc6C*BDJd$4`6 zmj|RNZgr6c+8Nkp+WAZZQ-+@5Nnm)bl`>tzJ`Y(GdH9rJWW_itW4s|2O$g1lY~8n_ zHt4SQFT|>vt4$U%97d3RME92LfShAGiWZVIVbK9aWUZUB_Kif4>d`@#TSFdh+L#QD2JqOX?=*Z97W+3sCV61}fMX@x~QagFAF+<%h3#s$%$ z(eFdC36QL@N*RiFs?dQ_^XVGs*(6~(8f>u ziFG@!TbEq5$};rwvmw}D>?fPoW5o<|^diV`8m}lU(w@Wdw;Rshy#xF=&`MP(uRtkx zjh2fGcyww|c)S@&6|otaXRF9@)i*Yw@$yh$ zoAuP}bxQG>eIt2yqc+AA^1BikX`=UYMD2vp z*FdCspxlt?>3cFC3~=hslvBA*PI(>r`N~@65E`KT-yBk^)8^-%|HtiZbd4#i5T2_{<*{9ILwd zx?Ah?c`!b#d_ZhYYKXwqd*mVdKNeSj{|WiJAaiR0d0bc-IZ1bbX5Ym}P}$Eg$vifn z#{9aaq{I-(i9a4GVI$+^JtoL_8fs>2+i&w^+g8BXEfkrXCHy4^27C$56A@K^BQCk84XJKf zgz9FA1dR6X&)+8+ZPoyeAycmJwlY}_Bw+#<;omJ3K5MkPDprI&@Ce9ghHMr+hu zA?e>1_UTpJoNjLIrlcu#dilRjq;0O(ckNoWs)%%&_7fTD*;MF8G@?(rwj;{cRq2o` z3p5d=w4mH9rg_A*r1IKyv}t68>q6T(U*R-E95AE;; zQ$o(li#)0=B{Q=7^W&W{-IShB2=(qHteCPsHN4I-Yl4hLqM#5$90${M8LknYd^4`_?~81b-{&!#XiO+#;F!h@@0uq@gHR%YPE4Hct`rI2Hukf z#hB74Zd!&tEeYA2`6B-5u3Y{zE?jo6!hdliL}MsiErRIMzVi%$()dXP2jS7=s~izn z0N`d@1CYjdC{0G1tm|qt$kx`A6ZSc7hjPJRCj5+drkg$y0attJ`hPX{u(>|NTc$Nw zjPu|eF^d6e23eQn;4}&R-7zsh-BiUfL1tIXZi9mzDX)rdFT%c(m{Zu z%uH-Zn8a%Lyo{8-YLoupT#(^mqBO!y;H&RyReHHIYnnS2$hdnRSN@c5%fPK@N5C>H z7*SDk*t_3jo3Pe{TV-u_d(WasKLnsqezUS$8sg*NJ1BTi-V0VZ7?*ym7CS zDV|lZC^)UK18d<{q36bUIcQRH37u)8a}?qHnDAE^wU;7a{(0~Rcus$F+Ijl*gPCME zE&V&tisHOMPFI1YhnbL59`^D}tt(BJ1kkAQsh_0#B+l>PHKBcEA@Hyy6}lp~cl%Ex z#~2-8Ex$cmCeqDjMlyP)DDadGq9qZ2pjPeQ#rvbo*5qb;Hom+B+FCoygyT6|lU8ji z5*WqbQMBFDf9E8;MuxL#-GY17!|UFI4?e63_&edTE6LSZL$(F+%_HFh4Dx(ph|xb^ z8Oi0l5KC$ET_6>DLV`rw^H^|NRx#i`lY6?Bfi}7R#!A&<>J-zh(e38pz6qQ z@>{^1Qr?^J=;w>p#1PAF0*kv>*gZsmq_XZd(nmYn2Mk%2%5U%yAy8t*EBqVA3q`g zrXJSFFvrde^vnM9PC?#g7}}~P&27Cj+LDxR(NFc(Q*lf%#sYb7TI)~8lck@TP>h{| zKk`0W<{e%OnIbRmoJG~TV&Od5vVllWg7g1h1y&vp<@bf(8Dkkswq%5iJ+ciZOK7ZP z@Qv^*O4d-JtWmZZ`wTL6vhQRUS<)C=XtIRt%3ji9&64=Ny??%+d!BplJ?A{y}3jEygsaYtK_bm zh(!ZEJ~Bv($K6r-4IjDxJhJSssC~RoTRL*y%=Pk=EP7$B9uB?2(wX!l^3ne7cLta# z^nGoIt7DJ$dl9cTQnX1eQ0~#Z{Jrwa{CNy$@6}suz%%ycY?>=JBTk z-*c;)P6kmR&l$R&DQmdIKC0HFfWyI-j6v~1sZVvCB-{5!g zI{$iyL-5V){2jmBum-Txk~J^gS(hiE-S5KfoJ=q5PZB+4(t&%V4VfWlAT(bY-DeF# zVnN6dR4R6s+lpqe=A+epkUa9;5ChF`y@g7S<$GUyPo6VBS~3ch4vq-R)?IpnpZi+y zkZb5q&eXS{-;I_^pB4jImnYA&-h-!{{1k-1fnPcj;V;GPXWfU_IuJvH)}IplX<|SF z{Etb&6M{OI=ls&t4oeOdmJlz4GiuD^!@W>8l(v`CLBPCRz52)VDO+UW*x8Q~6t}*%+ zKB2Js*)@XKQ@C0?$|7mMar{Lwk#o*Ez-54@4b3NKbo9X(HnHjtW*2l6zI}=T!=(qa z?PbuhXWKX+KT^zQq#KYYWEuiz&+q!H5$2y{$oXDWzBDfn)fY!X%q-`mWiZgnatC48 zIw4cW47a6*B!Ed|<(EPfrNRQ{m*UBxk&5*KQO`!dG=is5jb0qYBu}Sz&}VsVdnW@- z(rZ3yaWxwH^f}@0%nxHQ<)EuNy_N5Ek#*S*v>XKfD9A?4ai^ESFl6Dpz7yXSwWlMR z{qCvhOc6R@Zk(-prz{4hx;7hDDWh3eTG(sa2!IK0_p%o9$k*||X3S~Y<|bgkyMmD{ zG9&fuSvEO+2+Qlb&W0soinrl-g)T}8^S2B=J4&&Bm;-PlmjDKy309;CPozrNqb#Q1 ze_$<^?n&axY=U8|96syZ)>_ay@>cigmexBYVIZKp%=og~x{`HTduyjmf7P;XOxcDS zLAXH_#Md*^gNqVJ-f(dT-r{3@Bo>s{YS6J&eNi(;nZ-%g35dIcVmiQ-{80T@W>7R_ zPKR-Zr${wb7;4Q)2Kt$k<)jq}=PxVd#ZE>K}R#SK@4O2y- zgIr|5jNU6AgU&-`De(>7oivFp(&PeqRq!>Gj{2nJ_pA;V)ri`d1|n~WMSlaeJ@oKIty-Y7U>yDm24ki2}*rwy+p#{>U5z< z(#3=VQGYL$zX#_%3KcNUBmfD?f53r;WX*Pvqt)_u0wU4ZvyvOP#eu@ufJ>!HiNbRj zY&B<$94lPT8j9@f^r!Bj$5H7t#DE9hW53AqF6fg!14Y+sSn2uSfE4DZSP#-WQv?K# zkD#9u_P<#dks0SIVmba}_%Pv1q`r(2I2_dD&UztV%uBHy)=n)sOX**v!_Z3ppI zq}JUuzn%-Az=Bz-GkW!R*KW0$t;J3^j5&bUeTK15ckIUXZpD!IwsT7bdqibxD7Crn zYTu{tgF@@QkjCGG0n;02LD;gc#cEWR#iPHc_Gi9$i~S1Rz(U#5flbuczR_GePqc1J z3YUlAiW5^#9SA{G2=LI8H07aXgl#+#OZ3r&QuoQBu{np3$*}~Mao&YMg;;m68zmC@id)#+9fbXN zSVH=RtoXQVxz?j#7>zCpcc?RK^cMePm)d|9F?pSTC|Dm zLbMpLbaoTvyQp$Z77j}IeM~3fxRKd6Xw$RT-u1%jC<9XluIAmH zm>Xt#yJh^?+5LDf8A|}`fr-_*O6e#g{Rxq#8r!TLeb6H{!3B7c)_zk`w*7~kLTd`+ zNC$0F!`on($trDnb1hNB8J)wb5mz9yOIRtFe;w-Fh~QjnE+l*4w2pt-uitYnJf|r1 zA0-&~uU>9AyL%!y8N|kL`D^o} zntZ{=E#vHimyS&{y14)x^MU_VWNd3(h)Hq8s939<9l!9u;!Kn#NTcqTsg3` zPtpcSlh12t*IP2AFE^X|zg>F`58t=;+b=M0`nUih+h5*ikM6Pv?I28dEKb6wZ_T7v zNee^BRROL~XLBVH-37=&P^unA6L>)v&vma)RG??k##rUdhZ6{@S{y7_HupET zU*(31*KRT2^j5dPvu!=L`m|~U8nkj5PwbVnQ*qyECEwp)gcCC8?Vv~($b8LW-q6+7 zL{amNL$~Gi@^WUr10jKH!Cgrm0nVeoR^kjXx->H zpGpqI(Ej>6$T!YSjS(&&mr-Fk{?w-w6>e9tn1D5mU5$ic>J9rU1>gkL9t$Y-*TotB zj`JZMPKf$FE`XDfy0g>_C*-JM+!!=sOJR6dNTtf;+Gg!Ie@9-Y5A6XQXkJ>ZL}-v0r~aerF~CXTBA>1paUsZA1o$f@kU5o0n4P9I$bMSjEqWv_Uyq+v&309$2zeML-DrbhMn!%;>+opFp$NR6-nED3Oo@s!Sc=B-3d8YB z_1DrHOG18zpnVP^7&E$pZTdy*ownky6LFIHwX?;OfXeZszKytoFrW3exRmP#ME)S+(p9Y(Rfr)ydp*W<{6Vc=6e*3 zYAPrY1!~r9s-M_pouAD!V%y*5{rN?*in-ZrRSr50iiiH()Eb$~gh@UFb_!04`>Ww_ z3gVuHyQrfLs2Vpro1O)^?YdbR$g*#t_C1+ihRGYMkuZz@)QD@jK$nCk#N$v7`+-nv z{&vf^_=+IrHajnq?Z5Z2z2@18_KB~x4r*uw>%y{$#17@{9!vO(*ReQIi)S?c??xT$ z=z14jTtW8M_jg_u4$%KDyw9zNVSZPQ-kiBhLCY+2=Q^MhP=s{r{OTt@j1^aGkYGF1 zIeS-^17`Fj67{|7{_cXR(K;?r_LBR#Dj0^gH`KQ8p=c*dJIHV~58M_SqN&G}Is3MC z1%plOXP@D@H3RB5Uq%U3l5J2X^O+*gWHuv5nih&;ENUwtC6RGu$Umh5Yr0U-5y{E27QalpZ;SkdX z?p{7X%j8GhcfTuLnc4Nx|=dPrTEqML8DLhB4gzy9>YbbAk9UQ5g5d- zqwTC2XAB9CKKyZr;t}X%Qh%v(2Vuk)Xx3#mW1h=Jziw)I!^NUT9!h<_x$8>zzwvGP z35Dp7?@LLc+ZsxT^t6q#or=z3iQjDoFpUuZ>zjI1acFhNy=@^!e}+1C!Ktjr-*Hlb z=3NWpB0VM!_HP)kOQyr{Z+ahn9;q#Q_N3x%2;DCWnv8U2FQ3f&meF%Rq=